*{box-sizing:border-box}body{margin:0;min-height:100%;background:var(--tyde-canvas);color:var(--tyde-ink);font-family:var(--tyde-font)}.shell{max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem 5rem}.top{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem}.brand{color:var(--tyde-ink);font-size:1.65rem;font-weight:700;letter-spacing:.055em;text-decoration:none}.current-view{color:var(--tyde-ink-secondary);font-size:.82rem;font-weight:600}.eyebrow{margin:0 0 .45rem;color:var(--tyde-accent-strong);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:.5rem;font-size:clamp(2.1rem,5vw,3.45rem);line-height:1.04;letter-spacing:-.05em}h2{margin-bottom:.55rem;font-size:clamp(1.35rem,2.8vw,1.85rem);line-height:1.18;letter-spacing:-.025em}p{color:var(--tyde-ink-secondary);line-height:1.55}.plan-header{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:1.5rem 0 2rem;border-bottom:1px solid var(--tyde-border)}.plan-meta{margin:0;font-size:.9rem}.plan-meta i{margin:0 .35rem;font-style:normal}.plan-actions{display:flex;gap:.65rem;flex-wrap:wrap}.primary-button,.secondary-button{display:inline-flex;min-height:var(--tyde-touch);align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--tyde-radius-sm);padding:.65rem 1rem;font:600 .9rem var(--tyde-font);text-decoration:none;cursor:pointer}.primary-button{background:var(--tyde-accent-strong);color:#fff}.secondary-button{background:var(--tyde-surface);border-color:var(--tyde-border);color:var(--tyde-ink)}.secondary-button:disabled{color:var(--tyde-ink-secondary);cursor:not-allowed;opacity:.68}.primary-button:focus-visible,.secondary-button:focus-visible,summary:focus-visible,.horizon-control button:focus-visible{outline:3px solid var(--tyde-seafoam);outline-offset:3px}.stale-notice{display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-top:1.25rem;padding:1.1rem 1.25rem;border:1px solid var(--tyde-border);border-radius:var(--tyde-radius-sm);background:var(--tyde-surface)}.stale-notice h2{font-size:1rem}.stale-notice p{margin-bottom:0;font-size:.88rem}.stale-notice a{color:var(--tyde-ink);font-size:.86rem;font-weight:700;white-space:nowrap}.plan-answer{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.7fr);gap:clamp(2rem,7vw,6rem);align-items:center;min-height:360px;padding:clamp(2.5rem,7vw,5.5rem) 0;border-bottom:1px solid var(--tyde-border)}.answer-copy h2{max-width:19ch;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;letter-spacing:-.045em}.answer-copy>p{max-width:62ch;font-size:1.05rem}.confidence-reading{display:grid;gap:.35rem;align-content:center;padding-left:clamp(1.25rem,4vw,3rem);border-left:1px solid var(--tyde-border)}.confidence-reading>span,.answer-next>span,.lifestyle-primary>span{color:var(--tyde-ink-secondary);font-size:.82rem;font-weight:600}.confidence-reading strong{font-size:clamp(3.8rem,8vw,6.4rem);line-height:1;letter-spacing:-.065em}.confidence-reading small{color:var(--tyde-ink-secondary)}.confidence-reading small+span{margin-top:.6rem;color:var(--tyde-attention);font-size:.78rem;font-weight:700}.answer-next{display:grid;gap:.6rem;padding:1.5rem;border:1px solid var(--tyde-border);border-radius:var(--tyde-radius);background:var(--tyde-surface)}.answer-next strong{font-size:1.25rem}.answer-next a{color:var(--tyde-accent-strong);font-size:.88rem;font-weight:700}.result-note{max-width:640px;margin-top:1rem;padding-left:1rem;border-left:3px solid var(--tyde-attention)}.result-note strong{font-size:.9rem}.result-note p{margin:.25rem 0 0;font-size:.86rem}.lifestyle-section,.evolution-section,.drivers-section{padding:clamp(2.5rem,6vw,4.5rem) 0;border-bottom:1px solid var(--tyde-border)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:1.5rem}.section-heading>div>p:last-child{max-width:62ch;margin-bottom:0}.today-dollars{color:var(--tyde-ink-secondary);font-size:.78rem;font-weight:600;white-space:nowrap}.lifestyle-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:clamp(2rem,7vw,6rem);align-items:end;margin-top:2.2rem}.lifestyle-primary{display:grid;gap:.45rem}.lifestyle-primary strong{font-size:clamp(2.7rem,6vw,4.5rem);line-height:1;letter-spacing:-.055em}.lifestyle-primary p{max-width:56ch;margin:.35rem 0 0}.lifestyle-context{display:grid;gap:1rem;margin:0}.lifestyle-context div{display:flex;justify-content:space-between;gap:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--tyde-border)}.lifestyle-context dt{color:var(--tyde-ink-secondary);font-size:.85rem}.lifestyle-context dd{margin:0;font-weight:700}.section-unavailable,.chart-empty{max-width:680px;margin-top:1.5rem;padding:1.25rem;border:1px solid var(--tyde-border);border-radius:var(--tyde-radius-sm);background:var(--tyde-surface)}.section-unavailable p,.chart-empty p{margin:.35rem 0 0}.partial-copy{color:var(--tyde-attention);font-size:.88rem;font-weight:600}.horizon-control{display:inline-flex;padding:3px;border:1px solid var(--tyde-border);border-radius:var(--tyde-radius-sm);background:var(--tyde-surface)}.horizon-control button{min-height:38px;border:0;border-radius:7px;padding:.45rem .75rem;background:transparent;color:var(--tyde-ink-secondary);cursor:pointer;font:600 .8rem var(--tyde-font)}.horizon-control button[aria-pressed=true]{background:var(--tyde-seafoam);color:var(--tyde-ink)}#plan-chart{margin-top:1.5rem}.plan-chart{display:block;width:100%;height:auto;overflow:visible}.chart-axis{stroke:var(--tyde-border)}.chart-area{fill:var(--tyde-seafoam);opacity:.55}.chart-line{fill:none;stroke:var(--tyde-accent-strong);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.endpoint{fill:var(--tyde-accent-strong);stroke:var(--tyde-surface);stroke-width:3}.today-point{fill:var(--tyde-ink)}.event-marker{fill:var(--tyde-attention);stroke:var(--tyde-surface);stroke-width:3}.retirement-marker line{stroke:var(--tyde-ink-secondary);stroke-dasharray:4 6;opacity:.65}.retirement-marker text,.chart-label,.chart-value{fill:var(--tyde-ink-secondary);font:600 13px var(--tyde-font)}.trajectory-table{margin-top:1rem}.trajectory-table summary,.methodology summary{color:var(--tyde-accent-strong);cursor:pointer;font-size:.88rem;font-weight:700}.table-scroll{margin-top:1rem;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.83rem;font-variant-numeric:tabular-nums}th,td{padding:.7rem .6rem;border-bottom:1px solid var(--tyde-border);text-align:right;white-space:nowrap}th:first-child,td:first-child,td:nth-child(2){text-align:left}thead th{color:var(--tyde-ink-secondary);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.driver-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin-top:1.5rem}.driver{border-top:1px solid var(--tyde-border)}.driver summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:64px;cursor:pointer;list-style-position:inside}.driver summary span{color:var(--tyde-ink);font-weight:700}.driver summary small{color:var(--tyde-ink-secondary);text-align:right}.driver>p{margin:0 0 1rem;font-size:.86rem}.methodology{max-width:760px;margin-top:2rem;padding:1.15rem;border-radius:var(--tyde-radius-sm);background:var(--tyde-surface-soft)}.methodology p{font-size:.86rem}.methodology p:last-child{margin-bottom:0}.change-section{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:clamp(2.5rem,6vw,4rem) 0}.change-section>div{max-width:680px}.change-section p{margin-bottom:0}.quiet-state{padding:1rem 0}.plan-loading,.plan-error{display:grid;min-height:440px;align-content:center;max-width:680px}.plan-loading p,.plan-error p{max-width:55ch}@media(max-width:760px){.shell{padding:1rem 1rem 6rem}.plan-header,.plan-answer,.lifestyle-layout,.change-section{display:grid;grid-template-columns:1fr;align-items:start}.plan-header{gap:1.25rem}.plan-actions{width:100%}.plan-actions>*{flex:1}.plan-answer{gap:2rem;min-height:0;padding:2.75rem 0}.confidence-reading{padding:1.5rem 0 0;border-left:0;border-top:1px solid var(--tyde-border)}.confidence-reading strong{font-size:4.5rem}.lifestyle-layout{gap:2rem}.section-heading{display:grid}.horizon-control{width:100%}.horizon-control button{flex:1;min-height:var(--tyde-touch)}.driver-list{grid-template-columns:1fr}.driver summary{grid-template-columns:1fr;gap:.2rem;padding:.75rem 0}.driver summary small{text-align:left}.stale-notice{align-items:start;flex-direction:column;gap:.8rem}.change-section .secondary-button{width:100%}}
.plan-loading {
  min-height: min(70vh, 620px);
  max-width: none;
  justify-items: center;
  text-align: center;
}
.plan-loading-brand {
  position: relative;
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin-bottom: 2rem;
  color: var(--tyde-ink);
  font-weight: 700;
  letter-spacing: .08em;
}
.plan-loading-orbit {
  position: absolute;
  inset: 0;
  border: 2px solid var(--tyde-seafoam);
  border-top-color: var(--tyde-accent-strong);
  border-radius: 50%;
  animation: plan-orbit 1.4s linear infinite;
}
#plan-chart { position: relative; }
.plan-chart { cursor: crosshair; touch-action: pan-y; border-radius: var(--tyde-radius-sm); }
.plan-chart:focus-visible { outline: 2px solid var(--tyde-accent-strong); outline-offset: 6px; }
.chart-reveal { clip-path: inset(0); }
.is-entering .chart-reveal { animation: plan-reveal 2s cubic-bezier(.22,.61,.36,1) both; }
.chart-crosshair { stroke: var(--tyde-ink-secondary); stroke-width: 1; stroke-dasharray: 4 5; opacity: .5; }
.chart-selected-point { fill: var(--tyde-accent-strong); stroke: var(--tyde-surface); stroke-width: 3; }
.chart-inspection { pointer-events: none; }
.plan-chart-tooltip {
  position: absolute;
  z-index: 2;
  width: max-content;
  max-width: min(270px, 100%);
  padding: .9rem 1rem;
  border: 1px solid var(--tyde-border);
  border-radius: var(--tyde-radius-sm);
  background: var(--tyde-surface);
  color: var(--tyde-ink-secondary);
  box-shadow: var(--tyde-shadow);
  pointer-events: none;
  font-size: .75rem;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
}
.plan-chart-tooltip[hidden] { display: none; }
.plan-chart-tooltip strong { display: block; color: var(--tyde-ink); font-size: 1.5rem; letter-spacing: -.035em; }
.tooltip-year { display: block; margin-bottom: .3rem; font-weight: 600; }
.tooltip-detail { margin-top: .6rem; padding-top: .6rem; border-top: 1px solid var(--tyde-border); }
.tooltip-detail b { margin-left: .75rem; color: var(--tyde-ink); }
.tooltip-detail small { display: block; }
.tooltip-event { margin-top: .5rem; color: var(--tyde-attention); overflow-wrap: anywhere; }
.chart-help { margin: .6rem 0 0; font-size: .75rem; }
.primary-button,.secondary-button,.horizon-control button { transition: background-color .18s ease, box-shadow .18s ease; }
.primary-button:hover { box-shadow: var(--tyde-shadow); }
.secondary-button:hover,.horizon-control button:hover { background: var(--tyde-surface-soft); }
.horizon-control button[aria-pressed=true]:hover { background: var(--tyde-seafoam); }
@keyframes plan-orbit { to { transform: rotate(360deg); } }
@keyframes plan-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
@media (max-width: 760px) {
  .plan-chart { min-height: 220px; }
  .plan-chart-tooltip { padding: .6rem .75rem; }
  .plan-chart-tooltip strong { font-size: 1.25rem; }
  .chart-help { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .plan-loading-orbit,.is-entering .chart-reveal { animation: none; }
  .primary-button,.secondary-button,.horizon-control button { transition: none; }
}
