.main-container{max-width:1400px;margin:0 auto;padding:40px 20px}.page-title{font-family:var(--calc-font-headline);text-align:center;color:var(--calc-text-primary);margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.page-subtitle,.section-desc{color:var(--calc-text-faded,#88a);max-width:720px;margin:0 auto 2rem;line-height:1.6}.text-center{text-align:center}.fsa-step,.fsa-analysis-title{color:var(--calc-text-primary);margin:1.5rem 0 .85rem;font-size:1.05rem;line-height:1.4}.fsa-step{scroll-margin-top:calc(var(--nav-header-height,120px) + 1rem)}.fsa-check{color:var(--calc-text-primary);align-items:start;gap:.6rem;margin:.85rem 0;line-height:1.5;display:flex}.fsa-check input{width:1.15rem;height:1.15rem;accent-color:var(--calc-sky);flex:none;margin-top:.3rem}.fsa-analysis-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.fsa-marker-label{margin:1rem 0 .5rem;display:block}#electionMarker{width:100%;min-height:44px;accent-color:var(--calc-sky)}.fsa-analysis-chart{height:330px;margin:1rem 0;position:relative}.fsa-ledger{border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-md);margin:1.25rem 0}.fsa-ledger table{min-width:650px;display:table}.fsa-ledger caption{text-align:left;color:var(--calc-text-primary);padding:.85rem;font-weight:700}.fsa-samples summary{cursor:pointer;padding:.75rem 0}.fsa-private{margin:1.5rem auto 0}.fsa-private-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.fsa-private-controls .action-btn{flex:0 auto}#fsaNotice{overflow-wrap:anywhere;line-height:1.6}#fsaPrintDetail{max-width:35rem;margin-top:.5rem}#fsaShareDialog{background:var(--calc-bg-card);width:min(90vw,680px);max-height:85vh;color:var(--calc-text-primary);border:1px solid var(--calc-border-strong);border-radius:var(--calc-radius-lg);padding:1.5rem;line-height:1.6;overflow:auto}#fsaShareDialog::backdrop{background:#0009}#fsaSharePreview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--calc-bg-input);max-height:14rem;padding:.75rem;overflow:auto}.fsa-paper{display:none}@media (width<=650px){.fsa-analysis-inputs{grid-template-columns:minmax(0,1fr);gap:0}.fsa-analysis-chart{height:360px}.stats-row{grid-template-columns:minmax(0,1fr)}.stat-value,.rec-value,.value-hero-amount{overflow-wrap:anywhere}}@media print{body[data-fsa-paper-ready="1"]{color:#111;background:#fff}body[data-fsa-paper-ready="1"]>:not(#main-content),body[data-fsa-paper-ready="1"] #main-content>:not(.fsa-paper){display:none}body[data-fsa-paper-ready="1"] #main-content{width:auto;max-width:none;margin:0;padding:0;display:block}body[data-fsa-paper-ready="1"] .fsa-paper{color:#111;background:#fff;font:10pt/1.4 Arial,sans-serif;display:block}.fsa-paper h1{font-size:19pt}.fsa-paper h2{break-after:avoid;margin:1rem 0 .5rem;font-size:12pt}.fsa-paper table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:8pt;display:table}.fsa-paper thead{display:table-header-group}.fsa-paper tr{break-inside:avoid;display:table-row}.fsa-paper th,.fsa-paper td{color:#111;text-align:left;overflow-wrap:anywhere;background:#fff;border:1px solid #aaa;padding:.4rem;display:table-cell}.fsa-paper caption{text-align:left;margin-bottom:.35rem}.fsa-paper svg{break-inside:avoid;width:100%;height:auto;max-height:105mm;display:block}}.dashboard-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.5rem;display:grid}.dashboard-grid-single{max-width:900px;margin:0 auto;display:block}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.card{background:var(--calc-bg-card);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-lg);padding:1.5rem}.card-header-cyan,.card-header-purple{font-family:var(--calc-font-headline);text-transform:uppercase;letter-spacing:.06em;color:var(--calc-cyan);margin-bottom:1rem;font-size:.85rem;font-weight:700}.card-header-purple{color:var(--calc-purple)}.section-divider{background:var(--calc-border-subtle);height:1px;margin:1.5rem 0}.input-group{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.input-row{gap:1rem;display:flex}.input-group--flex{flex:1;min-width:0}.input-label{color:var(--calc-text-faded);font-size:.85rem;font-weight:600}.glass-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);width:100%;padding:.65rem .85rem;font-size:1.05rem;transition:border-color .15s}.glass-input:focus{border-color:var(--calc-cyan);outline:none;box-shadow:0 0 0 3px #22d3ee2e}.glass-select{cursor:pointer;appearance:none}.field-hint{color:var(--calc-text-dim);font-size:.78rem}.field-hint--warn{color:var(--calc-amber,#f59e0b)}.accent-text{color:var(--calc-cyan);font-weight:700}.preset-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;display:flex}.preset-chip{background:var(--calc-bg-glass);border:1px solid var(--calc-border-default);color:var(--calc-text-primary);cursor:pointer;border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:border-color .15s,background .15s,color .15s}.preset-chip:hover{border-color:var(--calc-cyan);color:var(--calc-cyan)}.value-hero{text-align:center;padding:.5rem 0 1rem}.value-hero-label{font-family:var(--calc-font-mono);letter-spacing:.1em;color:var(--calc-text-dim);text-transform:uppercase;font-size:.75rem}.value-hero-amount{font-family:var(--calc-font-mono);color:var(--calc-cyan);margin:.3rem 0;font-size:clamp(2.4rem,7vw,3.4rem);font-weight:800;line-height:1.1}.value-hero-sub{color:var(--calc-text-faded);font-size:.9rem}.stats-row{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.5rem;display:grid}.stat-box{background:var(--calc-bg-glass);border:1px solid var(--calc-border-subtle);border-radius:var(--calc-radius-md);text-align:center;padding:.75rem .5rem}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--calc-text-dim);margin-bottom:.25rem;font-size:.7rem}.stat-value{font-family:var(--calc-font-mono);color:var(--calc-text-primary);font-size:1.1rem;font-weight:700}.interp-note{color:var(--calc-text-faded);background:var(--calc-bg-glass);border-left:3px solid var(--calc-cyan);border-radius:0 var(--calc-radius-md) var(--calc-radius-md) 0;margin-top:1rem;padding:.7rem .9rem;font-size:.85rem;line-height:1.6}.rec-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}@media (width<=700px){.rec-grid{grid-template-columns:repeat(2,1fr)}}.rec-box{background:var(--calc-bg-glass);border:1px solid var(--calc-border-subtle);border-radius:var(--calc-radius-md);text-align:center;padding:.85rem .6rem}.rec-box--primary{border-color:var(--calc-cyan);background:#22d3ee14}.rec-label{text-transform:uppercase;letter-spacing:.04em;color:var(--calc-text-dim);margin-bottom:.3rem;font-size:.7rem}.rec-value{font-family:var(--calc-font-mono);color:var(--calc-text-primary);font-size:1.25rem;font-weight:700}.rec-box--primary .rec-value{color:var(--calc-cyan)}.risk-meter{background:var(--calc-bg-glass);border:1px solid var(--calc-border-subtle);border-radius:999px;width:100%;height:26px;margin-bottom:.75rem;display:flex;overflow:hidden}.risk-seg{height:100%;transition:flex-basis .25s}.risk-seg--covered{background:var(--calc-emerald,#34d399)}.risk-seg--protected{background:var(--calc-sky,#60a5fa)}.risk-seg--risk{background:var(--calc-rose,#fb7185)}.risk-legend{color:var(--calc-text-faded);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.risk-key{align-items:center;gap:.4rem;display:flex}.risk-key strong{font-family:var(--calc-font-mono);color:var(--calc-text-primary)}.risk-key:before{content:"";border-radius:3px;width:12px;height:12px;display:inline-block}.risk-key--covered:before{background:var(--calc-emerald,#34d399)}.risk-key--protected:before{background:var(--calc-sky,#60a5fa)}.risk-key--risk:before{background:var(--calc-rose,#fb7185)}.table-overflow{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;font-size:.88rem}.comparison-table th,.comparison-table td{text-align:left;border-bottom:1px solid var(--calc-border-subtle);padding:.6rem .7rem}.comparison-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--calc-text-dim);font-size:.72rem}.comparison-table td:first-child{color:var(--calc-text-primary);font-weight:600}.section-desc-sm{color:var(--calc-text-faded);margin-bottom:1rem;font-size:.9rem;line-height:1.55}.table-note{color:var(--calc-text-dim);margin-top:.85rem;font-size:.8rem;line-height:1.5}.action-bar{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.action-btn{background:var(--calc-bg-glass);border:1px solid var(--calc-border-default);border-radius:var(--calc-radius-md);min-width:90px;color:var(--calc-text-primary);cursor:pointer;flex:1;padding:.6rem .5rem;font-size:.85rem;font-weight:600;transition:border-color .15s,color .15s}.action-btn:hover{border-color:var(--calc-cyan);color:var(--calc-cyan)}.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-faded);padding:0 4px 14px;font-size:.85rem;line-height:1.75}[data-theme=light] .card{background:#fff;border-color:#0000001f;box-shadow:0 1px 4px #0000000f}[data-theme=light] .glass-input{color:#0f172a;background:#f0f4f9;border-color:#00000026}[data-theme=light] .glass-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b226}[data-theme=light] .card-header-cyan,[data-theme=light] .accent-text,[data-theme=light] .value-hero-amount{color:#0891b2}[data-theme=light] .card-header-purple{color:#7c3aed}[data-theme=light] .preset-chip,[data-theme=light] .stat-box,[data-theme=light] .rec-box,[data-theme=light] .action-btn{color:#0f172a;background:#f0f4f9;border-color:#0000001f}[data-theme=light] .rec-box--primary{background:#0891b214;border-color:#0891b2}[data-theme=light] .rec-box--primary .rec-value{color:#0891b2}[data-theme=light] .preset-chip:hover,[data-theme=light] .action-btn:hover{color:#0891b2;border-color:#0891b2}[data-theme=light] .stat-value,[data-theme=light] .comparison-table td:first-child,[data-theme=light] .rec-value,[data-theme=light] .risk-key strong{color:#0f172a}[data-theme=light] .interp-note{color:#475569;background:#eef2f9;border-left-color:#0891b2}[data-theme=light] .risk-meter{background:#eef2f9;border-color:#0000001f}[data-theme=light] .risk-seg--covered,[data-theme=light] .risk-key--covered:before{background:#047857}[data-theme=light] .risk-seg--protected,[data-theme=light] .risk-key--protected:before{background:#2563eb}[data-theme=light] .risk-seg--risk,[data-theme=light] .risk-key--risk:before{background:#e11d48}[data-theme=light] .field-hint--warn{color:#b45309}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item[open]{border-color:#0891b266 #0891b266 #0891b266 #0891b2;border-left-style:solid;border-left-width:3px}[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:#0891b2}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}