:root{--gist-blue:#24587f;--gist-orange:#f2863a;--gist-navy:#344051;--muted:#50617c;--secondary:#7589a6;--highlight:#035982;--slate:#6a809f;--white:#fff;--bg:#f7f8fa;--surface:#fff;--surface2:#f0f4f8;--border:#e3e8ef;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(52,64,81,.05);--shadow-md:0 4px 16px rgba(52,64,81,.07);--font-body:"Aptos","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--font-display:"Aptos Display","Aptos","Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;--font-mono:Consolas,"SF Mono",Menlo,"DejaVu Sans Mono",monospace}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:var(--font-body);font-size:15px;color:var(--gist-navy);line-height:1.55;-webkit-font-smoothing:antialiased}.auth-wrap,body{background:var(--bg)}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px}.auth-card{width:100%;max-width:460px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px 28px;box-shadow:var(--shadow-md)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-brand img{display:block;width:40px;height:40px}.auth-brand .brand-text{font-size:16px}.auth-brand .brand-text,.auth-card h1{font-family:var(--font-display);font-weight:700;color:var(--gist-blue);letter-spacing:-.01em}.auth-card h1{font-size:26px;margin-bottom:6px}.auth-card .auth-sub{color:var(--muted);font-size:14px;margin-bottom:24px}.field-group{margin-bottom:16px}.field-label{display:block;margin-bottom:6px;font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.field-input{width:100%;font-family:var(--font-body);font-size:15px;padding:11px 13px;background:var(--white);color:var(--gist-navy);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--gist-blue);box-shadow:0 0 0 3px rgba(36,88,127,.12)}.field-error{margin-top:10px;padding:10px 12px;background:#fff0eb;border:1px solid #f6b89a;color:#8c3c18;font-size:13px}.btn-primary,.field-error{border-radius:var(--radius)}.btn-primary{width:100%;font-family:var(--font-body);font-size:15px;font-weight:600;padding:12px 20px;background:var(--gist-orange);color:var(--white);border:none;cursor:pointer;box-shadow:0 1px 2px rgba(242,134,58,.3);transition:background .15s,transform .05s}.btn-primary:hover{background:#e07528}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-alt{margin-top:18px;text-align:center;font-size:13px;color:var(--muted)}.auth-alt a{color:var(--gist-blue);font-weight:600;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:8px;gap:8px;margin-top:10px}.avatar-btn{aspect-ratio:1;border-radius:14px;background:var(--surface2);border:1.5px solid var(--border);font-size:28px;cursor:pointer;transition:border-color .15s,background .15s,transform .05s;display:flex;align-items:center;justify-content:center}.avatar-btn:hover{border-color:var(--gist-blue);background:#eef3f8}.avatar-btn.active{border-color:var(--gist-orange);background:#fdecdb;box-shadow:0 1px 4px rgba(242,134,58,.3)}.tab-bar{display:flex;align-items:stretch;background:var(--white);border-bottom:1px solid var(--border);padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:40;gap:2px}.tab-brand{display:flex;align-items:center;gap:10px;padding:0 22px 0 0;margin-right:8px;border-right:1px solid var(--border);font-family:var(--font-display);font-weight:700;color:var(--gist-blue);font-size:14px;letter-spacing:-.01em;text-decoration:none}.tab-brand:hover{color:var(--highlight)}.tab-brand img{display:block;width:28px;height:28px}.tab-btn{font-family:var(--font-body);font-size:13px;font-weight:600;padding:16px 18px;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;text-decoration:none;margin-bottom:-1px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:6px}.tab-btn.active,.tab-btn:hover{color:var(--gist-blue)}.tab-btn.active{border-bottom-color:var(--gist-orange)}.tab-count{font-size:11px;font-weight:600;color:var(--muted);background:var(--surface2);border:1px solid var(--border);padding:1px 7px;border-radius:10px}.tab-btn.active .tab-count{color:var(--gist-orange);background:#fdecdb;border-color:#f6c79a}.user-badge{margin-left:auto;margin-right:10px;gap:10px;padding:6px 12px 6px 6px;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--gist-blue);background:var(--surface2);border:1px solid var(--border);border-radius:28px;text-decoration:none}.user-badge,.user-badge .ub-avatar{display:inline-flex;align-items:center}.user-badge .ub-avatar{width:28px;height:28px;border-radius:50%;background:var(--white);border:1px solid var(--border);justify-content:center;font-size:18px}.user-badge .ub-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-badge .ub-logout{font-size:11px;color:var(--muted);margin-left:4px;background:none;border:none;cursor:pointer;padding:0;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.score-badge,.user-badge .ub-logout:hover{color:var(--gist-blue)}.score-badge{margin-right:10px;display:inline-flex;align-items:center;padding:6px 14px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.04em;background:var(--surface2);border:1px solid var(--border);border-radius:20px;cursor:default;white-space:nowrap;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.score-badge.bump{animation:score-bump .55s ease-out}@keyframes score-bump{0%{transform:scale(1)}25%{transform:scale(1.18);background:var(--gist-orange);color:#fff;border-color:var(--gist-orange);box-shadow:0 4px 16px rgba(242,134,58,.35)}70%{transform:scale(1.05)}to{transform:scale(1)}}.score-pop{position:fixed;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--gist-orange);pointer-events:none;animation:score-pop .9s ease-out forwards}@keyframes score-pop{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.lang-switch{display:flex;align-items:center;gap:0;padding-left:12px;border-left:1px solid var(--border)}.lang-btn{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 12px;color:var(--muted);background:transparent;border:1px solid var(--border);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.lang-btn:first-of-type{border-radius:6px 0 0 6px;border-right:none}.lang-btn:last-of-type{border-radius:0 6px 6px 0}.lang-btn:hover{color:var(--gist-blue)}.lang-btn.active{color:var(--white);background:var(--gist-blue);border-color:var(--gist-blue)}.home-wrap{max-width:1040px;margin:0 auto;padding:48px 32px 60px}.hero{display:grid;grid-template-columns:6px 1fr;grid-gap:28px;gap:28px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--border)}.hero-rule{background:var(--gist-orange);border-radius:3px;min-height:140px}.hero-body .eyebrow{font-family:var(--font-display);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--gist-orange);margin-bottom:14px}.hero-body h1{font-family:var(--font-display);font-weight:700;color:var(--gist-blue);font-size:40px;line-height:1.08;letter-spacing:-.012em;margin-bottom:10px}.hero-body .hero-sub{font-family:var(--font-display);font-size:20px;color:var(--gist-orange);font-weight:600;margin-bottom:16px}.hero-body .hero-lede{font-size:16px;max-width:640px;margin-bottom:22px}.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}.cta-primary,.cta-secondary{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:600;padding:11px 22px;border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none}.cta-primary{background:var(--gist-orange);color:var(--white);box-shadow:0 1px 2px rgba(242,134,58,.3)}.cta-primary:hover{background:#e07528}.cta-secondary{background:var(--white);color:var(--gist-blue);border:1.5px solid var(--gist-blue)}.cta-secondary:hover{background:var(--gist-blue);color:var(--white)}.home-section-title{font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);margin-bottom:16px;display:flex;align-items:center;gap:12px}.home-section-title:after{content:"";flex:1 1;height:1px;background:var(--border)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;margin-bottom:40px}@media (max-width:980px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.menu-grid{grid-template-columns:1fr}}.menu-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 26px 22px;position:relative;text-align:left;cursor:pointer;text-decoration:none;transition:border-color .15s,box-shadow .15s}.menu-card:hover{border-color:var(--gist-blue);box-shadow:var(--shadow-md)}.menu-card .card-index{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--gist-orange);font-weight:600;margin-bottom:12px}.menu-card h3{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--gist-blue);margin-bottom:8px;letter-spacing:-.01em}.menu-card p{font-size:14px;line-height:1.55;margin-bottom:16px;color:var(--gist-navy)}.menu-card .card-cta{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--gist-orange)}.menu-card .card-cta:after{content:" →";transition:transform .15s}.menu-card .card-stats{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--muted);position:absolute;top:22px;right:24px}.leaderboard{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;margin-bottom:32px}.leaderboard-title{font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);margin-bottom:14px}.leaderboard ol{list-style:none;padding:0;display:flex;gap:16px;flex-wrap:wrap}.leaderboard li{flex:1 1;min-width:200px;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface2);border-radius:var(--radius);border:1px solid var(--border);position:relative}.leaderboard li.rank-1{background:#fff5e8;border-color:#f6c79a}.leaderboard li.rank-2{background:#f0f4f8}.leaderboard li.rank-3{background:#f7f8fa}.leaderboard .rank-medal{font-size:20px;line-height:1;width:32px;text-align:center}.leaderboard .lb-avatar{width:40px;height:40px;border-radius:50%;background:var(--white);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:22px}.leaderboard .lb-name{font-family:var(--font-display);font-weight:700;color:var(--gist-blue);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard .lb-pts{margin-left:auto;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--gist-orange)}.leaderboard .lb-empty{color:var(--muted);font-size:13px;padding:8px 0}.rev-wrap{max-width:920px;margin:0 auto;padding:48px 32px 80px}.rev-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--border)}.rev-header .eyebrow{font-family:var(--font-display);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--gist-orange);margin-bottom:10px}.rev-header h1{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--gist-blue);letter-spacing:-.012em;margin-bottom:6px}.rev-header .rev-sub{font-size:14px;color:var(--muted)}.rev-stats{display:flex;gap:24px}.rev-stats .stat{display:flex;flex-direction:column;align-items:flex-end}.rev-stats .stat-val{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--gist-blue);letter-spacing:-.01em;line-height:1}.rev-stats .stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:6px}.rev-controls{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px;margin-bottom:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;grid-gap:18px;gap:18px;align-items:end;box-shadow:var(--shadow-sm)}@media (max-width:820px){.rev-controls{grid-template-columns:1fr}}.rev-field label{display:block;font-family:var(--font-body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.rev-field select{width:100%;font-family:var(--font-body);font-size:14px;background:var(--white);color:var(--gist-navy);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;outline:none;cursor:pointer}.rev-field select:focus{border-color:var(--gist-blue);box-shadow:0 0 0 3px rgba(36,88,127,.12)}.btn-draw{font-family:var(--font-body);font-size:14px;font-weight:600;padding:11px 22px;border-radius:var(--radius);background:var(--gist-orange);color:var(--white);border:none;cursor:pointer;box-shadow:0 1px 2px rgba(242,134,58,.25)}.btn-draw:hover{background:#e07528}.q-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 30px;box-shadow:var(--shadow-sm)}.q-tag-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}.q-tag{display:inline-block;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:20px;background:var(--gist-orange);color:var(--white)}.q-meta{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.q-body{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.5;color:var(--gist-blue);margin-bottom:22px}.q-body p:first-child{margin-top:0}.q-body p:last-child{margin-bottom:0}.math-prompt{font-size:15.5px;line-height:1.65;color:var(--gist-navy);margin-bottom:22px}.math-prompt p{margin:.55em 0}.math-prompt strong{color:var(--gist-blue)}.q-actions{display:flex;gap:10px;flex-wrap:wrap}.btn-reveal{font-family:var(--font-body);font-size:14px;font-weight:600;padding:10px 20px;border-radius:var(--radius);background:var(--white);color:var(--gist-blue);border:1.5px solid var(--gist-blue);cursor:pointer}.btn-reveal:hover{background:var(--gist-blue);color:var(--white)}.btn-next{font-family:var(--font-body);font-size:14px;font-weight:600;padding:10px 20px;border-radius:var(--radius);background:transparent;color:var(--muted);border:none;cursor:pointer}.btn-next:hover{color:var(--gist-blue)}.q-answer{margin-top:22px;padding-top:22px;border-top:1px dashed var(--border)}.q-answer-label{display:block;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gist-orange);margin-bottom:12px}.q-answer-body{font-size:14px;line-height:1.7;color:var(--gist-navy)}.q-answer-body p{margin:.6em 0}.q-answer-body ol,.q-answer-body ul{padding-left:22px;margin:.6em 0}.q-answer-body strong{color:var(--gist-blue)}.q-answer-body em{color:var(--highlight);font-style:italic}.q-answer-body code{font-family:var(--font-mono);background:var(--surface2);border:1px solid var(--border);padding:1px 6px;border-radius:3px;font-size:.9em;color:var(--gist-blue)}.q-answer-body blockquote{border-left:3px solid var(--gist-orange);background:#fff7ee;padding:10px 14px;margin:10px 0}.q-answer-body table{border-collapse:collapse;margin:10px 0;font-size:13px}.q-answer-body td,.q-answer-body th{border:1px solid var(--border);padding:6px 12px;text-align:left}.q-answer-body th{background:var(--surface2);color:var(--gist-blue);font-weight:700}.rating-row{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.rating-question{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.rating-buttons{display:flex;gap:10px;flex-wrap:wrap}.rate-btn{font-family:var(--font-body);font-size:13px;font-weight:600;padding:7px 16px;border-radius:20px;background:var(--white);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .15s,color .15s,border-color .15s}.rate-btn:hover{border-color:var(--gist-blue);color:var(--gist-blue)}.rate-btn .rate-emoji{font-size:16px;line-height:1}.rate-btn.rate-up.active{background:var(--gist-orange);color:var(--white);border-color:var(--gist-orange)}.rate-btn.rate-down.active{background:var(--slate);color:var(--white);border-color:var(--slate)}.empty-state{background:var(--white);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:10px;align-items:center}.empty-state strong{color:var(--gist-orange)}.empty-state .hint{color:var(--slate)}.empty-state .hint,kbd{font-family:var(--font-mono);font-size:11px}kbd{background:var(--surface2);border:1px solid var(--border);border-radius:3px;padding:1px 6px;color:var(--gist-blue)}.site-footer{max-width:1040px;margin:40px auto 0;padding:20px 32px 28px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.site-footer a{color:var(--gist-blue);text-decoration:none;font-weight:500}.site-footer a:hover{text-decoration:underline}.site-footer .sep{color:var(--border)}.site-footer.auth-footer{margin:24px auto 0;max-width:460px;padding:16px 12px 0;justify-content:center;text-align:center;border-top:none}.sim-stub{max-width:720px;margin:0 auto;padding:60px 32px;text-align:center}.sim-stub h2{font-family:var(--font-display);color:var(--gist-blue);font-size:24px;margin-bottom:12px}.sim-stub p{color:var(--muted);margin-bottom:20px;line-height:1.6}.app{display:grid;grid-template-columns:420px 1fr;min-height:calc(100vh - 49px)}.panel{background:var(--white);border-right:1px solid var(--border);padding:24px 26px;overflow-y:auto;max-height:calc(100vh - 49px)}.panel::-webkit-scrollbar{width:10px}.panel::-webkit-scrollbar-track{background:transparent}.panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;border:2px solid var(--white)}.panel::-webkit-scrollbar-thumb:hover{background:var(--slate)}.panel .header-row{display:flex;align-items:center;justify-content:space-between}.panel h1{font-family:var(--font-display);font-size:22px;color:var(--gist-blue);font-weight:700;letter-spacing:-.012em}.panel .subtitle{color:var(--muted);font-size:13px;margin-bottom:20px}.section-title{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--slate);margin:20px 0 10px;display:flex;align-items:center;gap:10px}.section-title:after{content:"";flex:1 1;height:1px;background:var(--border)}.eq-block{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}.eq-label{font-size:13px;font-weight:700;color:var(--gist-blue);margin-bottom:8px;display:flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.term-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.term-row input,.term-row select{font-family:var(--font-mono);font-size:13px;background:var(--white);color:var(--gist-navy);border:1px solid var(--border);border-radius:4px;padding:5px 7px;outline:none;transition:border-color .15s}.term-row input:focus,.term-row select:focus{border-color:var(--gist-blue)}.term-row input.coeff{width:50px}.term-row select.var-select{width:80px}.term-row select.sign-select{width:48px}.term-row input.custom-name{width:90px}.btn-sm{font-family:var(--font-body);font-size:12px;font-weight:600;padding:5px 12px;border-radius:4px;border:1px solid var(--border);background:var(--white);color:var(--gist-blue);cursor:pointer;transition:all .15s}.btn-sm:hover{background:var(--gist-blue);color:var(--white);border-color:var(--gist-blue)}.btn-remove{background:none;border:none;color:#b83a2c;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.eq-preview{font-family:var(--font-mono);font-size:13px;color:var(--gist-blue);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);word-break:break-all}.yn-input{display:flex;align-items:center;gap:8px;margin-top:6px}.yn-input label{color:var(--gist-blue)}.yn-input input,.yn-input label{font-family:var(--font-mono);font-size:13px}.yn-input input{background:var(--white);color:var(--gist-navy);border:1px solid var(--border);border-radius:4px;padding:5px 8px;width:60px;outline:none}.shock-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.shock-row select{font-family:var(--font-mono);font-size:13px;background:var(--white);color:var(--gist-navy);border:1px solid var(--border);border-radius:4px;padding:5px 7px;outline:none;width:140px}.actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.sim-btn{font-family:var(--font-body);font-size:13px;font-weight:600;padding:9px 18px;border-radius:var(--radius);border:none;cursor:pointer;transition:all .15s}.sim-btn.primary{background:var(--gist-orange);color:var(--white)}.sim-btn.primary:hover{background:#e07528}.sim-btn.secondary{background:var(--white);color:var(--gist-blue);border:1px solid var(--gist-blue)}.sim-btn.secondary:hover{background:var(--gist-blue);color:var(--white)}.sim-btn.lt{background:#035982;color:var(--white)}.sim-btn.lt:hover{background:#024a6c}.graph-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:var(--bg)}canvas{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.legend{display:flex;gap:20px;margin-top:18px;font-size:12px;color:var(--muted);flex-wrap:wrap;justify-content:center}.legend-item{display:flex;align-items:center;gap:6px}.legend-line{width:24px;height:3px;border-radius:2px}.legend-line.dashed{background:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 10px);height:2px}.info-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-top:16px;font-size:13px;line-height:1.65;max-width:700px;width:100%;box-shadow:var(--shadow-sm)}.info-box .label{font-weight:700}.ambiguity-note{background:#fff4e5;border:1px solid #f5c28f;border-radius:var(--radius);padding:14px 16px;margin-top:12px;font-size:13px;line-height:1.55;color:#8f4a0e;max-width:700px;width:100%}.ambiguity-note strong{color:#6e3809}.btn-ambiguity{font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 14px;border-radius:4px;border:1px solid #f5c28f;background:#fdecdb;color:#8f4a0e;cursor:pointer;margin-top:8px;transition:background .15s}.btn-ambiguity:hover{background:#f8d9b4}.btn-help{font-family:var(--font-body);font-size:13px;font-weight:700;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--gist-blue);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-help:hover{background:var(--gist-blue);color:var(--white);border-color:var(--gist-blue)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(52,64,81,.45);z-index:1000;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-overlay.open{display:flex}.modal{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 34px;max-width:640px;width:92%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 18px 48px rgba(36,88,127,.18)}.modal h2{font-size:20px;color:var(--gist-blue);font-weight:700;margin-bottom:16px;letter-spacing:-.01em}.modal h2,.modal h3{font-family:var(--font-display)}.modal h3{font-size:14px;color:var(--gist-orange);margin:18px 0 8px;letter-spacing:-.005em}.modal li,.modal p{font-size:14px;line-height:1.7;color:var(--gist-navy)}.modal ul{padding-left:20px;margin-bottom:8px}.modal .close-modal{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1}.modal .close-modal:hover{color:var(--gist-blue)}@media (max-width:900px){.app{grid-template-columns:1fr}.panel{max-height:none;border-right:none;border-bottom:1px solid var(--border)}}