:root{color-scheme:dark;--ink:#eaf2ff;--muted:#a8b9d2;--panel:#121e31;--line:#ffffff18;--mint:#a6ebcf;--orange:#f3c49d}
body{margin:0;background:#0b1424;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
.planner-shell{max-width:1240px;margin:32px auto 64px;padding:0 24px}.planner-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 24px}.planner-head h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;letter-spacing:-.045em;margin:6px 0 12px}.planner-head p{max-width:650px;color:var(--muted);line-height:1.65;margin:0}.planner-kicker{color:var(--mint);font-size:.74rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.quiet-link{font-size:.87rem;white-space:nowrap;color:var(--mint)}
.result-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:24px 0}.result-item{background:#122538;padding:22px 24px;min-width:0}.result-item:first-child{background:#17332f}.result-item small{display:block;color:#bdd0dd;line-height:1.5;font-size:.79rem}.result-item strong{display:block;font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.2;margin:8px 0;letter-spacing:-.035em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.result-item span{font-size:.78rem;color:#b8cadd;line-height:1.6;display:block}.result-item:first-child strong{color:var(--mint)}
.planner-grid{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:start;gap:24px}.plan-panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:24px;margin-bottom:20px}.plan-panel h2{font-size:1.17rem;letter-spacing:-.02em;margin:0 0 10px}.plan-panel h3{font-size:1rem;margin:22px 0 12px}.plan-panel p{color:var(--muted);font-size:.9rem;line-height:1.75;margin:10px 0}.plan-panel a,.planner-guide a{color:#abd4ff;text-underline-offset:4px}.plan-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:20px}.plan-field{min-width:0}.plan-field.wide{grid-column:1/-1}.plan-field label{font-size:.79rem;color:#c4d1e4;display:block;margin-bottom:7px;font-weight:600;line-height:1.45}.plan-field input,.plan-field select,.scenario-name{width:100%;box-sizing:border-box;background:#091422;border:1px solid #627b9b66;border-radius:9px;padding:12px 11px;color:var(--ink);font:inherit;font-size:1rem;min-height:46px;font-variant-numeric:tabular-nums}.plan-field small{display:block;font-size:.72rem;line-height:1.6;color:#9bafc9;margin-top:6px}.plan-field input:invalid{border-color:#edb497}.plan-fields input[type=checkbox]{width:18px;min-height:18px;margin-right:8px;vertical-align:middle}.plan-fields .checkbox-label{display:flex;align-items:center;gap:8px}.plan-details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.plan-details summary{cursor:pointer;color:#d2dff0;font-size:.9rem;font-weight:650;padding:8px 0;line-height:1.5}.plan-details summary small{font-size:.72rem;display:block;color:var(--muted);font-weight:400;margin-top:4px}.plan-details[open] summary{color:var(--mint)}
.plan-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.plan-button{border-radius:9px;padding:12px 16px;min-height:44px;cursor:pointer;background:#233b50;border:1px solid #91abc033;color:var(--ink);font:inherit;font-weight:650;font-size:.82rem;text-decoration:none;text-align:center}.plan-button.primary{background:var(--mint);color:#123229;border-color:var(--mint)}.plan-button:disabled{opacity:.5;cursor:default}.plan-button.small{padding:8px 12px;min-height:40px;font-size:.76rem}.plan-button.danger{color:#f4b7a5}.plan-note{font-size:.78rem!important;line-height:1.65!important;color:var(--muted)!important}.plan-status{padding:14px 16px;border-left:3px solid var(--mint);background:#17312e;color:#cfebdf;margin:16px 0;border-radius:4px 10px 10px 4px;line-height:1.65;font-size:.88rem}.plan-status.warning{border-color:var(--orange);background:#34281e;color:#f3d7bc}.plan-error{color:#ffd5c2;line-height:1.6;margin:15px 0;padding:14px;background:#3b221c;border-radius:10px}.plan-error:empty{display:none}.plan-banner{color:#cee7dc;background:#16342e;padding:12px 16px;border-radius:10px;margin:12px 0;font-size:.85rem}
.plan-chart{width:100%;height:auto;display:block;margin-top:18px}.plan-chart text{fill:#aabdd3;font-size:12px;font-family:inherit}.chart-legend{display:flex;gap:20px;flex-wrap:wrap;font-size:.77rem;color:#b6c8dd;margin:8px 0 0}.legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px;background:var(--mint)}.legend-dot.blue{background:#7db7ff}.legend-dot.orange{background:#e6b992}.plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.plan-summary strong{display:block;font-size:1.15rem;margin:6px 0;font-variant-numeric:tabular-nums}.plan-summary small{color:var(--muted);font-size:.74rem}.table-scroll{width:100%;overflow:auto;margin-top:16px;border:1px solid var(--line);border-radius:10px}.plan-table{width:100%;border-collapse:collapse;text-align:right;font-size:.78rem;font-variant-numeric:tabular-nums}.plan-table th{background:#0c192b;font-weight:600;color:#c7d6e9;position:sticky;top:0}.plan-table th,.plan-table td{padding:12px 14px;white-space:nowrap;border-bottom:1px solid #ffffff0a}.plan-table th:first-child,.plan-table td:first-child{text-align:left}.plan-table tr:last-child td{border:0}.plan-table tbody tr:hover{background:#ffffff04}.plan-table caption{text-align:left;padding:12px;line-height:1.5;color:var(--muted)}.table-limit{max-height:390px}.scenario-row{display:flex;gap:10px;align-items:center;margin:12px 0;padding:12px;background:#0c1828;border-radius:10px}.scenario-row span{flex:1;min-width:0;overflow-wrap:anywhere;font-size:.83rem}.event-row{border:1px solid var(--line);border-radius:12px;padding:14px;margin:14px 0;background:#0b1726}.event-row .plan-fields{margin-top:10px}.event-row .plan-button{margin-top:12px}.empty-note{font-size:.8rem;color:var(--muted)}
.planner-guide{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.planner-guide .plan-panel{margin:0}.planner-guide ul,.planner-guide ol{padding-left:21px;color:var(--muted);line-height:1.85;font-size:.88rem}.planner-guide li+li{margin-top:8px}.planner-guide .full{grid-column:1/-1}.method-stamp{font-size:.76rem;color:#99afc8;margin-top:24px;line-height:1.7}.plan-notice{display:none}.ad-safe-content{margin-top:32px}button,input,summary,select,a{touch-action:manipulation}.planner-shell [hidden]{display:none!important}
@media(max-width:1000px){.planner-grid{grid-template-columns:320px minmax(0,1fr)}.plan-panel{padding:20px}.result-item{padding:18px}.plan-summary{gap:8px}}
@media(max-width:780px){.planner-shell{padding:0 16px;margin-top:22px}.planner-head{align-items:start;gap:14px}.planner-head p{font-size:.88rem;line-height:1.65}.quiet-link{font-size:.76rem}.result-strip{margin:18px 0;grid-template-columns:1.2fr 1fr}.result-item{padding:17px 15px}.result-item:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;align-items:center}.result-item:last-child strong{grid-column:2;grid-row:1/3;font-size:1.45rem;text-align:right}.result-item strong{font-size:1.65rem}.result-item span{font-size:.71rem}.planner-grid{grid-template-columns:1fr}.plan-panel{padding:20px}.plan-fields{gap:14px 12px}.planner-guide{grid-template-columns:1fr}.planner-guide .full{grid-column:auto}.planner-head .quiet-link{display:none}.plan-panel h2{font-size:1.1rem}.plan-summary strong{font-size:1rem}.plan-chart text{font-size:13px}}
@media(max-width:380px){.planner-shell{padding:0 12px}.plan-panel{padding:17px}.result-item strong{font-size:1.42rem}.plan-summary{grid-template-columns:1fr 1fr}.plan-button{padding:11px 12px}.scenario-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{body{background:white!important;color:#142335!important}.site-topnav,.site-footer,.plan-buttons,.plan-details,.plan-inputs,#scenarioPanel,#cookieConsentBanner,iframe{display:none!important}.planner-shell{max-width:none;margin:0;padding:0}.planner-grid{display:block}.plan-panel,.result-strip,.result-item{background:white!important;color:#142335!important;border-color:#ccd3dc!important;break-inside:avoid}.plan-panel p,.result-item strong,.result-item span,.result-item small,.planner-head p,.plan-note{color:#25374d!important}.planner-guide{display:block}.table-limit{max-height:none}.plan-chart text{fill:#25374d}.plan-chart{max-height:300px}.plan-table th{background:#eef1f5!important;color:#142335}.table-scroll{overflow:visible}.plan-notice{display:block}.method-stamp{color:#25374d}}

/* Grid tracks must shrink around wide annual tables on small screens. */
.planner-grid>*{min-width:0}.planner-grid{width:100%}.planner-guide>*{min-width:0}.plan-panel li{line-height:1.8;color:var(--muted)}
@media(max-width:780px){.planner-grid{grid-template-columns:minmax(0,1fr)}}

.plan-file-input{display:block;max-width:205px;margin-top:8px;font-size:.75rem}.print-only{display:none}@media print{.print-only{display:block;font-size:10px;line-height:1.6;overflow-wrap:anywhere}}
