.app-header{text-align:center;padding-block:clamp(2rem,1.5rem + 2vw,3.5rem) 0}.app-header h1{font-size:var(--step-4)}.app-header .lede{color:var(--ink-soft);margin-top:.5rem;max-width:55ch;margin-inline:auto}.last-updated{font-size:var(--step--1);color:var(--ink-soft);min-height:1.4em;margin-top:.75rem}.segmented{background:var(--card);border:1px solid var(--line);border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.segmented label{font-size:var(--step--1);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-weight:600;transition:background-color .13s,color .13s;display:inline-flex;position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented label:has(input:checked){background:var(--vault);color:var(--paper)}.segmented label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.tab-bar{border-bottom:2px solid var(--line);flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.tab-btn{font-weight:600;font-size:var(--step-0);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.7rem 1rem;transition:color .13s,border-color .13s}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--ink);border-bottom-color:var(--gold)}.price-section{display:none}.price-section.active{display:block}.metal-content{display:none}.metal-content.active{display:block}.hidden{display:none!important}.controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.rate-controls{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}#plannerMetalToggle{justify-content:center}.rate-field{font-size:var(--step--1);color:var(--ink-soft);flex-direction:column;gap:.3rem;font-weight:600;display:flex}.rate-field input{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);font-variant-numeric:tabular-nums;width:7.5rem;color:var(--ink);padding:.55rem .75rem;font-weight:600}.rate-field input:focus-visible{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold)}@media (width<=40rem){.controls-row{justify-content:center}.rate-controls{justify-content:center;width:100%}.rate-field{flex:1;min-width:8rem}.rate-field input{width:100%}}.status-loading{color:var(--ink-soft);padding:2rem 0;font-weight:600}.status-error{border-radius:var(--radius);color:#86271c;background:#fdf1ef;border:1px solid #c0392b;margin-top:1.5rem;padding:1rem 1.25rem;font-weight:600}.notice{border-left:4px solid var(--gold);background:color-mix(in srgb, var(--gold) 9%, var(--card));border-radius:0 var(--radius) var(--radius) 0;margin-top:1.5rem;padding:1.1rem 1.3rem}.notice strong{margin-bottom:.3rem;display:block}.category-label{font-size:var(--step-1);margin-top:2rem;margin-bottom:.75rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);overflow-x:auto}.price-table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.price-table.wide{min-width:34rem}@media (width<=40rem){.price-table.wide{min-width:0}.price-table.wide th{white-space:normal}.price-table.wide th,.price-table.wide td{padding-inline:.45rem}}.price-table th:first-child,.price-table td:first-child{background:var(--card);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.price-table th:first-child{background:color-mix(in srgb, var(--vault) 5%, var(--card))}.price-table tbody tr:hover td:first-child{background:color-mix(in srgb, var(--gold) 6%, var(--card))}.price-table th:not(:first-child),.price-table td:not(:first-child){text-align:right}.price-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:color-mix(in srgb, var(--vault) 5%, var(--card));border-bottom:1px solid var(--line);white-space:nowrap;padding:.7rem 1rem;font-size:.72rem;font-weight:600}.price-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:.65rem 1rem}.price-table tbody tr:last-child td{border-bottom:none}.price-table tbody tr:hover{background:color-mix(in srgb, var(--gold) 6%, var(--card))}.price-table td.price{font-variant-numeric:tabular-nums;font-weight:600}.analysis{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);margin-top:2rem;padding:1.4rem}.analysis h3{font-size:var(--step-1);margin-bottom:.8rem}.analysis dl{font-size:var(--step--1);gap:.35rem;display:grid}.analysis dt{color:var(--ink-soft);font-weight:600}.analysis dd{margin:0 0 .5rem}.analysis img{border-radius:var(--radius);width:100%;height:auto;margin-top:1rem}.tab-content{display:none}.tab-content.active{display:block}.calc-card{margin-top:1.5rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:34rem;margin-inline:auto;padding:clamp(1.4rem,1.1rem + 1.5vw,2.2rem)}@media (width>=48rem){.calc-card{grid-template-columns:1fr 1fr;column-gap:clamp(2rem,1rem + 2.5vw,3.5rem);max-width:56rem;display:grid}.calc-card>h2,.calc-card>p{grid-column:1/-1}.calc-card .result-container{border-top:none;border-left:1px solid var(--line);align-self:start;margin-top:1.2rem;padding-top:0;padding-left:clamp(2rem,1rem + 2.5vw,3.5rem)}}.calc-card>p{color:var(--ink-soft);font-size:var(--step--1);margin-top:.3rem}.calc-card h2{font-size:var(--step-2)}.input-group{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;margin-top:1.2rem;display:flex}.input-group label,.input-group .label{font-weight:600;font-size:var(--step--1)}.input-group>label,.input-group>.label{flex:1 1 0;min-width:0}.input-group input[type=number],.input-group input[type=text]{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);font-variant-numeric:tabular-nums;width:8rem;padding:.55rem .8rem;font-weight:600}.input-group input[type=number]:focus-visible,.input-group input[type=text]:focus-visible{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold)}@media (width>=48rem){.input-group{flex-direction:column;align-items:stretch}.input-group>label,.input-group>.label{flex:none}.input-group input[type=number],.input-group input[type=text]{width:100%}}.input-group .hint,.input-group .radio-row{flex-basis:100%}.input-group .hint{color:var(--ink-soft);font-size:.78rem}.radio-row{flex-wrap:wrap;gap:.5rem;display:flex}.radio-row label{border:1px solid var(--line);font-size:var(--step--1);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .9rem;font-weight:600;display:inline-flex}.radio-row label:has(input:checked){background:var(--vault);border-color:var(--vault);color:var(--paper)}.radio-row input{opacity:0;pointer-events:none;position:absolute}.radio-row label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.result-container{border-top:1px solid var(--line);gap:.7rem;margin-top:1.6rem;padding-top:1.2rem;display:grid}.result-grid{grid-template-columns:1fr;gap:.6rem;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--vault) 3%, var(--card));align-content:start;gap:.3rem;padding:.75rem .9rem;display:grid}.stat .label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:600}.stat .value{font-size:var(--step-1);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;column-gap:.35rem;font-weight:700;display:flex}.stat .value>span{white-space:nowrap}.stat.highlight{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--card))}.pct-return{color:var(--ink-soft);font-size:.85em;font-weight:600}.years-summary{font-size:var(--step--1);color:var(--ink-soft)}.conversion-note{color:var(--ink-soft);font-size:.78rem}.progress-bar-bg{background:color-mix(in srgb, var(--vault) 10%, var(--card));border-radius:999px;height:.6rem;overflow:hidden}.progress-bar-fill{background:var(--gold);border-radius:999px;width:0%;height:100%;transition:width .3s}.progress-bar-fill.progress-mid{background:color-mix(in srgb, var(--gold) 70%, var(--vault))}.progress-bar-fill.progress-complete{background:var(--vault)}.progress-text{font-size:var(--step--1);color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-top:.35rem}.notes{margin-top:var(--space-section);border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--vault) 4%, var(--card));font-size:var(--step--1);padding:1.5rem}.notes h2{font-size:var(--step-1);margin-bottom:.8rem}.notes ul{color:var(--ink-soft);gap:.45rem;padding-left:1.2rem;display:grid}
