.main-container{max-width:1400px;margin:0 auto;padding:40px 20px}.page-title{font-family:var(--calc-font-headline);color:var(--calc-text-primary);margin:0 0 .5rem;font-size:clamp(1.6rem,4vw,2.4rem)}.page-subtitle{color:var(--calc-text-faded);max-width:760px;margin:0 0 2rem;line-height:1.5}.input-card,.result-card,.viz-card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-lg);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.card-title{font-family:var(--calc-font-headline);text-transform:uppercase;letter-spacing:.05em;color:var(--calc-text-faded);margin:0 0 1rem;font-size:1rem}.input-hint{color:var(--calc-text-dim);margin:0 0 1rem;font-size:.8rem}.mode-chips{flex-wrap:wrap;gap:8px;margin-bottom:1rem;display:flex}.chip{background:var(--calc-cyan-dim);color:var(--calc-text-dim);cursor:pointer;font-size:.84rem;font-weight:600;font-family:var(--calc-font-headline);border:1px solid #22d3ee33;border-radius:20px;padding:7px 16px;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}.chip:hover{background:var(--calc-cyan-dim);color:var(--calc-cyan);border-color:#22d3ee73}.chip.active{background:var(--calc-cyan-dim);color:var(--calc-cyan);box-shadow:var(--calc-shadow-sm);border-color:#22d3ee80}.example-chips{flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;display:flex}.example-chip{font-family:var(--calc-font-mono);border:1px solid var(--calc-border-default);background:var(--calc-bg-glass,#ffffff08);color:var(--calc-text-dim);cursor:pointer;border-radius:100px;padding:6px 14px;font-size:.74rem;font-weight:700;transition:color .2s,border-color .2s,background .2s}.example-chip:hover{border-color:var(--calc-cyan);color:var(--calc-cyan);background:#22d3ee14}.loc-input-grid{grid-template-columns:repeat(4,1fr);gap:1rem 1.25rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--calc-text-faded);font-size:.85rem}.field-hint{color:var(--calc-text-dim);font-size:.72rem;font-weight:400}.form-group input{background:var(--calc-bg-input);border:1px solid var(--calc-border-strong);border-radius:var(--calc-radius-md);color:var(--calc-text-primary);font-family:var(--calc-font-mono);padding:.65rem .85rem;font-size:1.05rem;transition:border-color .15s,box-shadow .15s,opacity .2s}.form-group input:focus{border-color:var(--calc-cyan);outline:none;box-shadow:0 0 0 3px #22d3ee26}.mode-tabs{flex-wrap:wrap;gap:8px;margin-bottom:1.25rem;display:flex}.mode-tab{font-family:var(--calc-font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--calc-border-default);background:var(--calc-bg-glass,#ffffff08);color:var(--calc-text-dim);cursor:pointer;border-radius:100px;padding:9px 20px;font-size:.78rem;font-weight:700;transition:color .2s,border-color .2s,background .2s,box-shadow .2s}.mode-tab:hover{color:var(--calc-text-primary);border-color:var(--calc-border-strong)}.mode-tab.active{border-color:var(--calc-cyan);color:var(--calc-cyan);box-shadow:var(--calc-shadow-sm);background:#22d3ee14}.calc-panel{display:none}.calc-panel.active{display:block}.result-value{font-family:var(--calc-font-mono);color:var(--calc-cyan);overflow-wrap:break-word;margin-bottom:.3rem;font-size:clamp(1.2rem,3.4vw,1.7rem)}.result-detail{color:var(--calc-text-faded);line-height:1.5}.alert-info{border-radius:var(--calc-radius-md);color:var(--calc-text-primary);background:#22d3ee14;border:1px solid #22d3ee4d;margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.result-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.25rem;display:grid}.result-grid--3col{grid-template-columns:repeat(3,1fr)}.stat-cell{background:var(--calc-bg-glass,#ffffff08);border:1px solid var(--calc-border-subtle,#ffffff12);border-radius:var(--calc-radius-md);text-align:center;padding:12px 14px}.stat-label{font-family:var(--calc-font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--calc-text-dim);margin-bottom:4px;font-size:.62rem;font-weight:700;display:block}.stat-value{color:var(--calc-cyan);font-size:1.05rem;font-weight:700;font-family:var(--calc-font-headline);overflow-wrap:break-word}.interp-text{color:var(--calc-text-faded);margin:0 0 1.25rem;font-size:.88rem;line-height:1.6}.interp-text:empty{display:none}.viz-title{font-family:var(--calc-font-headline);text-transform:uppercase;letter-spacing:.05em;color:var(--calc-text-faded);margin:0 0 .75rem;font-size:.9rem}.viz-wrap{justify-content:center;display:flex}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--calc-text-primary);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";font-family:var(--calc-font-mono);color:var(--calc-text-dim);flex-shrink:0;margin-left:16px;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--calc-cyan)}.faq-item__question:hover{color:var(--calc-cyan)}.faq-item__answer{color:var(--calc-text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}.page-sections-outer{max-width:1400px;margin:0 auto;padding:0 20px 3rem}@media (width<=760px){.loc-input-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.result-grid--3col{grid-template-columns:1fr 1fr}}@media (width<=420px){.loc-input-grid,.result-grid--3col{grid-template-columns:1fr}}[data-theme=light] .input-card,[data-theme=light] .result-card,[data-theme=light] .viz-card{background:#fff;border-color:#0000001f;box-shadow:0 1px 4px #0000000f}[data-theme=light] .form-group input{background:#f0f4f9;border-color:#00000026}[data-theme=light] .result-value{color:#0891b2}[data-theme=light] .chip{color:#475569;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .chip:hover{color:#0891b2;background:#0891b214;border-color:#0891b24d}[data-theme=light] .chip.active{color:#0891b2;box-shadow:none;background:#0891b21f;border-color:#0891b266}[data-theme=light] .example-chip{color:#334155;background:#edf2f9;border-color:#0000001a}[data-theme=light] .example-chip:hover{color:#0891b2;background:#0891b21a;border-color:#0891b2}[data-theme=light] .mode-tab{color:#475569;background:#edf2f9;border-color:#0000001a}[data-theme=light] .mode-tab:hover{color:#0f172a;background:#e2e8f0;border-color:#00000026}[data-theme=light] .mode-tab.active{color:#fff;background:#0891b2;border-color:#0891b2;box-shadow:0 2px 8px #0891b240}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#0000001a}[data-theme=light] .stat-value{color:#0891b2}[data-theme=light] .alert-info{color:#0f172a;background:#eff9fb;border-color:#0891b259}[data-theme=light] .faq-item{border-radius:var(--calc-radius-md);background:#fff;border:1px solid #0000001a;margin-bottom:8px;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item:hover{border-color:#0e749059;box-shadow:0 2px 10px #0e749014}[data-theme=light] .faq-item[open]{border-color:#0e749066 #0e749066 #0e749066 #0e7490;border-left-style:solid;border-left-width:3px;box-shadow:0 2px 12px #0e74901a}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:#0e7490}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}.derivation-card{color:var(--calc-text-faded);margin:0 0 1.25rem}.derivation-card summary{cursor:pointer;color:var(--calc-cyan);font-weight:700}.derivation-content{line-height:1.7;font-family:var(--calc-font-mono);overflow-wrap:anywhere;padding:.75rem 0}@media (width<=640px){.action-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.action-bar .action-btn{width:100%;min-height:44px}.action-bar .action-btn--reset{grid-column:1/-1}}.mode-tab:focus-visible,.chip:focus-visible,.example-chip:focus-visible{outline:3px solid var(--calc-cyan);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}