.ff-retirement{--ret-blue:#78dced;--ret-green:#c8ef80;--ret-amber:#efc58c;--ret-line:var(--ff-line,rgba(154,177,188,.2));--ret-muted:var(--ff-muted,#9aaeb5);margin:0 0 38px;padding:30px;border:1px solid var(--ret-line);border-radius:24px;background:radial-gradient(ellipse at 95% 0,rgba(0,212,255,.075),transparent 55%),var(--ff-surface,var(--card-bg));color:var(--text);font-family:'Space Grotesk',system-ui,sans-serif;box-sizing:border-box}
.ff-retirement *{box-sizing:border-box}.ff-retirement[hidden],.ff-retirement [hidden]{display:none!important}.ff-retirement button,.ff-retirement input{font:inherit}.ff-retirement button,.ff-retirement summary{cursor:pointer}.ff-retirement :is(button,input,summary):focus-visible{outline:2px solid var(--ret-blue);outline-offset:4px}.ff-ret-heading{display:flex;align-items:center;gap:18px;position:relative}.ff-ret-heading-icon{color:var(--ret-green);width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--ret-green) 25%,transparent);border-radius:19px;background:color-mix(in srgb,var(--ret-green) 5%,transparent);flex-shrink:0}.ff-ret-heading-icon svg{width:34px;height:34px;animation:ff-ret-sun 32s linear infinite}.ff-ret-eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--ret-blue);margin-bottom:7px}.ff-ret-heading h2{margin:0;font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:-.055em;line-height:1.15}.ff-ret-heading p{font-size:13px;line-height:1.6;color:var(--ret-muted);margin:8px 0 0}.ff-ret-preview{margin-left:auto;align-self:flex-start;flex-shrink:0;font-size:10px;color:var(--ret-muted);border:1px solid var(--ret-line);padding:6px 9px;border-radius:30px}
.ff-ret-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:27px 0}.ff-ret-modes button{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--ret-line);border-radius:14px;padding:15px 18px;color:var(--text);background:var(--ff-soft,rgba(154,177,188,.05));transition:background .2s,border-color .2s;min-height:77px}.ff-ret-modes button[aria-pressed=true]{border-color:color-mix(in srgb,var(--ret-blue) 60%,transparent);background:color-mix(in srgb,var(--ret-blue) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ret-blue) 10%,transparent)}.ff-ret-modes svg{height:24px;width:24px;flex-shrink:0;color:var(--ret-blue)}.ff-ret-modes span{font-size:15px;font-weight:500}.ff-ret-modes small{display:block;font-weight:400;font-size:11px;line-height:1.5;color:var(--ret-muted);margin-top:4px}
.ff-ret-layout{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:30px}.ff-ret-controls{min-width:0;border-right:1px solid var(--ret-line);padding-right:28px}.ff-retirement h3{font-size:14px;font-weight:500;margin:0 0 16px}.ff-ret-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.ff-ret-field{display:block;min-width:0}.ff-ret-field>span:first-child{display:block;font-size:11px;line-height:1.4;color:var(--ret-muted);min-height:31px}.ff-ret-input{position:relative;display:flex;align-items:center;min-width:0;border:1px solid var(--ret-line);background:var(--bg,#0a1620);border-radius:9px;overflow:hidden}.ff-ret-input:focus-within{border-color:var(--ret-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--ret-blue) 10%,transparent)}.ff-ret-input input{width:100%;min-width:0;height:46px;border:0!important;box-shadow:none!important;background:transparent!important;color:var(--text)!important;outline:none!important;padding:10px 40px 10px 10px;font-size:16px;font-weight:500;-moz-appearance:textfield}.ff-ret-input input::-webkit-inner-spin-button,.ff-ret-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ff-ret-input>span{position:absolute;right:9px;pointer-events:none;font-size:10px;color:var(--ret-muted)}.ff-ret-input:has(input:disabled){opacity:.4}.ff-ret-input:has([aria-invalid=true]){border-color:var(--ff-negative,#f397a3)}.ff-ret-help{font-size:11px;line-height:1.65;color:var(--ret-muted);margin:12px 0}.ff-ret-use{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;margin:18px 0 8px;border:1px solid var(--ret-line);border-radius:10px;background:var(--ff-soft);color:var(--ret-blue);font-size:12px;font-weight:500}.ff-ret-use svg{width:17px;height:17px}.ff-ret-use:hover{border-color:var(--ret-blue)}.ff-ret-assumptions{border-top:1px solid var(--ret-line);margin-top:18px}.ff-ret-assumptions summary{font-size:12px;line-height:1.5;padding:16px 2px;min-height:48px}.ff-ret-assumptions summary::marker{color:var(--ret-blue)}.ff-ret-check{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5;margin-top:17px;cursor:pointer}.ff-ret-check input{width:17px;height:17px;accent-color:var(--ret-blue);flex-shrink:0;margin:2px 0 0}.ff-ret-reset{border:0;background:none;color:var(--ret-muted);font-size:11px;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0}.ff-ret-local{font-size:10px;line-height:1.7;color:var(--ret-muted);margin:16px 0 0}.ff-ret-error{display:block;font-size:10px;line-height:1.45;color:var(--ff-negative,#f397a3);margin-top:6px}
.ff-ret-results{min-width:0}.ff-ret-basis{display:flex;justify-content:flex-end;gap:4px;margin-bottom:23px}.ff-ret-basis button{min-height:36px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ret-muted);font-size:11px;padding:8px 12px}.ff-ret-basis button[aria-pressed=true]{color:var(--text);background:var(--ff-soft);border-color:var(--ret-line)}.ff-ret-capital{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.ff-ret-capital>div{min-width:0}.ff-ret-capital span{font-size:12px;color:var(--ret-muted)}.ff-ret-capital strong{display:block;font-size:clamp(27px,3.7vw,48px);font-weight:500;letter-spacing:-.055em;line-height:1.2;margin:6px 0;overflow-wrap:anywhere}.ff-ret-capital small{font-size:10px;color:var(--ret-muted)}.ff-ret-target{text-align:right}.ff-ret-target strong{font-size:clamp(21px,2.5vw,32px);color:var(--ret-green)}.ff-ret-progress{margin:23px 0 27px;color:var(--ret-amber)}.ff-ret-progress.is-funded{color:var(--ff-positive,#a6df94)}.ff-ret-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:10px}.ff-ret-progress strong{font-size:17px;font-weight:500;white-space:nowrap}.ff-ret-progress strong small{font-size:10px;font-weight:400;color:var(--ret-muted)}.ff-ret-track{height:5px;border-radius:6px;background:var(--ff-soft);overflow:hidden}.ff-ret-track i{display:block;height:100%;background:currentColor;border-radius:6px;transition:width .25s ease}
.ff-ret-chart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ff-ret-chart-header h3{font-size:13px;margin:0}.ff-ret-chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--ret-muted)}.ff-ret-chart-legend span{display:inline-flex;align-items:center;gap:6px}.ff-ret-chart-legend span::before{content:'';width:15px;border-top:2px solid var(--ret-blue)}.ff-ret-chart-legend span+span::before{border-top:2px dashed var(--ret-green)}.ff-ret-chart,.ff-ret-dynamic-chart{width:100%;color:var(--ret-blue);min-width:0}.ff-ret-chart svg,.ff-ret-dynamic-chart svg{display:block;width:100%;height:auto;overflow:visible}.ff-ret-chart text,.ff-ret-dynamic-chart text{fill:var(--ret-muted);font-family:inherit;font-size:11px}.ff-ret-gridline{stroke:var(--ret-line);stroke-dasharray:3 6;stroke-width:1}.ff-ret-line{fill:none;stroke:var(--ret-blue);stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.ff-ret-goal{fill:none;stroke:var(--ret-green);stroke-width:1.8;stroke-dasharray:6 5}.ff-ret-crosshair{stroke:var(--ret-muted);opacity:.35;stroke-width:1;stroke-dasharray:2 4}.ff-ret-inspect{display:flex;align-items:baseline;justify-content:center;gap:10px;padding:8px 10px;background:var(--ff-soft);border:1px solid var(--ret-line);border-radius:9px;flex-wrap:wrap}.ff-ret-inspect span{font-size:12px;color:var(--ret-muted)}.ff-ret-inspect strong{font-size:19px;font-weight:500;letter-spacing:-.03em}.ff-ret-inspect small{font-size:10px;color:var(--ret-muted)}.ff-ret-scrubber{display:flex;align-items:center;gap:18px;justify-content:space-between;margin:8px 0 18px}.ff-ret-scrubber span{font-size:10px;color:var(--ret-muted)}.ff-ret-scrubber input{height:32px;min-width:100px;width:45%;accent-color:var(--ret-blue);cursor:ew-resize}
.ff-ret-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ff-ret-actions article{padding:16px;border:1px solid var(--ret-line);border-radius:12px;background:var(--ff-soft);min-width:0}.ff-ret-actions article>span{font-size:11px;color:var(--ret-muted)}.ff-ret-actions strong{display:block;font-size:25px;font-weight:500;letter-spacing:-.04em;margin:9px 0;overflow-wrap:anywhere}.ff-ret-actions strong small{font-size:11px;margin-left:6px;font-weight:400;letter-spacing:0;color:var(--ret-muted);white-space:nowrap}.ff-ret-actions p{font-size:10px;line-height:1.6;margin:0;color:var(--ret-muted)}.ff-ret-actions .ff-ret-action-main{border-color:color-mix(in srgb,var(--ret-blue) 30%,transparent);background:color-mix(in srgb,var(--ret-blue) 5%,transparent)}.ff-ret-action-main strong{color:var(--ret-blue)}.ff-ret-income{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--ret-line);padding:18px 0}.ff-ret-income span{font-size:12px}.ff-ret-income small{display:block;font-size:10px;color:var(--ret-muted);margin-top:5px}.ff-ret-income strong{font-size:25px;font-weight:500;letter-spacing:-.04em;white-space:nowrap}.ff-ret-dynamics{margin:5px 0 0}.ff-ret-dynamics summary{font-size:12px;padding:14px 0;min-height:44px}.ff-ret-dynamics summary::marker{color:var(--ret-blue)}.ff-ret-dynamics>p{font-size:11px;line-height:1.65;color:var(--ret-muted)}.ff-ret-dynamic-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px;background:var(--ff-soft);border-radius:10px}.ff-ret-dynamic-summary span{display:block;font-size:10px;color:var(--ret-muted)}.ff-ret-dynamic-summary strong{display:block;font-size:22px;font-weight:500;letter-spacing:-.04em;margin-top:7px}.ff-ret-table-scroll{overflow:auto;max-height:280px;border:1px solid var(--ret-line);border-radius:10px}.ff-ret-table-scroll table{width:100%;border-collapse:collapse;font-size:11px}.ff-ret-table-scroll caption{padding:10px;color:var(--ret-muted);text-align:left}.ff-ret-table-scroll th,.ff-ret-table-scroll td{padding:10px;text-align:right;border-bottom:1px solid var(--ret-line);white-space:nowrap}.ff-ret-table-scroll th{font-weight:500}.ff-ret-table-scroll thead th{font-size:10px;color:var(--ret-muted)}.ff-ret-method{border-top:1px solid var(--ret-line);margin-top:24px}.ff-ret-method summary{font-size:12px;min-height:44px;padding:15px 0}.ff-ret-method p{font-size:12px;line-height:1.7;color:var(--ret-muted);max-width:900px}.ff-ret-method a{color:var(--ret-blue);text-underline-offset:3px}.ff-ret-caution{font-size:11px;line-height:1.65;color:var(--ret-muted);margin:7px 0 0;max-width:950px}.ff-ret-empty{min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;color:var(--ret-muted)}.ff-ret-empty svg{height:50px;width:50px;color:var(--ret-blue);margin-bottom:22px}.ff-ret-empty h3{font-size:20px;line-height:1.4;color:var(--text)}.ff-ret-empty p{font-size:13px;line-height:1.6;max-width:320px}
[data-theme=light] .ff-retirement,[data-theme=lpink] .ff-retirement{--ret-blue:#087b91;--ret-green:#4c752b;--ret-amber:#8a5b1b}
@keyframes ff-ret-sun{to{transform:rotate(360deg)}}
@media(max-width:1100px){.ff-retirement{padding:23px}.ff-ret-layout{grid-template-columns:minmax(230px,290px) minmax(0,1fr);gap:23px}.ff-ret-controls{padding-right:22px}.ff-ret-preview{position:absolute;right:0;top:-6px;font-size:9px}.ff-ret-heading{padding-top:18px}.ff-ret-capital{align-items:flex-start;flex-direction:column;gap:14px}.ff-ret-target{text-align:left;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ff-ret-target strong{font-size:24px;margin:0}.ff-ret-target small{display:none}.ff-ret-actions strong{font-size:22px}}
@media(max-width:760px){.ff-ret-layout{grid-template-columns:1fr;gap:25px}.ff-ret-controls{border-right:0;padding-right:0;border-top:1px solid var(--ret-line);padding-top:24px;order:2}.ff-ret-results{order:1}.ff-ret-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ff-ret-field>span:first-child{min-height:0;margin-bottom:7px}.ff-ret-capital{flex-direction:row;align-items:flex-end}.ff-ret-target{display:block;text-align:right}.ff-ret-target strong{margin-top:8px}.ff-ret-capital strong{font-size:36px}.ff-ret-target strong{font-size:26px}.ff-ret-heading h2{font-size:28px}.ff-ret-empty{min-height:160px;padding:15px}.ff-ret-empty svg{width:30px;height:30px;margin-bottom:12px}.ff-ret-empty h3{font-size:18px}.ff-ret-assumptions .ff-ret-fields{max-width:600px}}
@media(max-width:600px){.ff-retirement{padding:19px 15px;border-radius:18px;margin-bottom:28px}.ff-ret-heading{gap:12px;padding-top:23px}.ff-ret-heading-icon{width:43px;height:43px;border-radius:14px;align-self:flex-start}.ff-ret-heading-icon svg{width:27px;height:27px}.ff-ret-heading h2{font-size:25px;line-height:1.18}.ff-ret-heading p{font-size:12px}.ff-ret-eyebrow{font-size:9px;letter-spacing:.1em}.ff-ret-preview{top:0;right:0;font-size:9px;padding:3px 7px}.ff-ret-modes{gap:7px;margin:23px 0 19px}.ff-ret-modes button{padding:11px 9px;gap:7px;align-items:flex-start;min-height:64px;border-radius:10px}.ff-ret-modes span{font-size:12px;line-height:1.45}.ff-ret-modes svg{width:18px;height:18px;margin-top:1px}.ff-ret-modes small{display:none}.ff-ret-basis{justify-content:flex-start;margin-bottom:18px}.ff-ret-basis button{min-height:44px;font-size:11px;padding:8px 10px}.ff-ret-capital{align-items:flex-start;flex-direction:column;gap:12px}.ff-ret-capital>div:first-child strong{font-size:39px}.ff-ret-target{display:flex;align-items:baseline;gap:10px;text-align:left;flex-wrap:wrap}.ff-ret-target strong{font-size:25px;margin:0}.ff-ret-progress{margin:19px 0 22px}.ff-ret-progress>div:first-child{align-items:flex-start;font-size:10px;gap:8px}.ff-ret-progress strong{font-size:15px}.ff-ret-progress strong small{display:block;font-size:9px;text-align:right;margin-top:3px}.ff-ret-chart-header{gap:9px}.ff-ret-chart-legend{font-size:9px;gap:11px}.ff-ret-actions article{padding:12px}.ff-ret-actions article>span{font-size:10px;line-height:1.5;display:block;min-height:30px}.ff-ret-actions strong{font-size:22px}.ff-ret-actions strong small{display:block;margin:4px 0 0;font-size:10px}.ff-ret-income strong{font-size:23px}.ff-ret-income span{font-size:11px}.ff-ret-scrubber{gap:10px}.ff-ret-scrubber input{min-height:44px}.ff-ret-scrubber span{max-width:160px}.ff-ret-method p{font-size:11px}.ff-ret-local{font-size:10px}.ff-ret-table-scroll{max-width:100%}.ff-ret-dynamic-summary{gap:10px;padding:12px}.ff-ret-dynamic-summary strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.ff-ret-heading-icon svg{animation:none}.ff-ret-track i,.ff-ret-modes button{transition:none}}

/* Review pass: actionable figures precede the chart; mobile inputs are one expandable row. */
.ff-ret-controls-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:1.5;min-height:44px;margin-bottom:12px;list-style:none}
.ff-ret-controls-summary::-webkit-details-marker{display:none}.ff-ret-controls-summary small{font-size:11px;color:var(--ret-muted);white-space:nowrap}.ff-ret-controls-summary::after{content:'−';color:var(--ret-blue);font-size:20px}.ff-ret-controls:not([open])>.ff-ret-controls-summary::after{content:'+'}
.ff-ret-actions{margin-bottom:24px}.ff-ret-field>span:first-child{font-size:12px}.ff-ret-help{font-size:12px}.ff-ret-chart-legend{font-size:11px}.ff-ret-chart text,.ff-ret-dynamic-chart text{font-size:12px}.ff-ret-actions article>span{font-size:12px}.ff-ret-actions p{font-size:11px}.ff-retirement h3{font-size:15px}
@media(min-width:761px){.ff-ret-controls-summary small{display:none}}
@media(max-width:760px){.ff-ret-controls{order:0;border-top:0;border-bottom:1px solid var(--ret-line);padding-top:0;padding-bottom:12px}.ff-ret-controls-summary{border:1px solid var(--ret-line);border-radius:10px;padding:10px 12px;background:var(--ff-soft);margin:0}.ff-ret-controls-body{padding-top:20px}.ff-ret-layout{gap:20px}}
@media(max-width:600px){.ff-ret-field>span:first-child{font-size:12px;min-height:31px}.ff-ret-help{font-size:12px}.ff-ret-chart-legend{font-size:10px}.ff-ret-actions article>span{font-size:11px}.ff-ret-actions{margin-bottom:22px}.ff-ret-controls-summary{font-size:12px}.ff-ret-controls-summary small{font-size:10px}}

.ff-ret-allocation{grid-column:1/-1;padding:16px;border:1px solid color-mix(in srgb,var(--ret-blue) 30%,var(--ret-line));border-radius:12px;background:color-mix(in srgb,var(--ret-blue) 4%,transparent)}
.ff-ret-allocation .ff-ret-field{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:center;gap:10px}.ff-ret-allocation .ff-ret-field>span:first-child{min-height:0;color:var(--text)}.ff-ret-allocation .ff-ret-error{grid-column:1/-1}
.ff-ret-allocation-shared{font-size:10px;color:var(--ret-blue);margin:8px 0 15px}.ff-ret-allocation-summary>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:9px 0;font-size:11px;line-height:1.5}.ff-ret-allocation-summary span{color:var(--ret-muted)}.ff-ret-allocation-summary strong{font-weight:500;white-space:nowrap}.ff-ret-allocation-summary>div:nth-child(2) strong{color:var(--ret-blue)}.ff-ret-allocation-summary>div:nth-child(3) strong{color:var(--ret-amber)}.ff-ret-allocation .ff-ret-help,.ff-ret-allocation-summary>p{font-size:11px;line-height:1.6;color:var(--ret-muted);margin:12px 0 0}.ff-ret-contribution-help{display:block;margin-top:7px;font-size:10px;line-height:1.5;color:var(--ret-muted)}

/* Self-paced introduction; the guide inherits the planner's access and theme. */
.ff-ret-heading-copy{flex:1;min-width:0}.ff-ret-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ff-ret-guide-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--ret-amber) 60%,transparent);border-radius:10px;color:var(--ret-amber);background:color-mix(in srgb,var(--ret-amber) 18%,var(--ff-surface,var(--bg,#0b1822)));font-size:12px;font-weight:500;white-space:nowrap}.ff-ret-guide-open:hover{background:color-mix(in srgb,var(--ret-amber) 26%,var(--ff-surface,var(--bg,#0b1822)))}.ff-ret-guide-open svg{width:20px;height:20px}
.ff-ret-guide-open{animation:ff-ret-guide-glow 4.8s ease-in-out infinite}
@keyframes ff-ret-guide-glow{
  0%,100%{border-color:color-mix(in srgb,var(--ret-amber) 50%,transparent);box-shadow:0 0 2px color-mix(in srgb,var(--ret-amber) 5%,transparent),inset 0 0 2px color-mix(in srgb,var(--ret-amber) 2%,transparent)}
  50%{border-color:color-mix(in srgb,var(--ret-amber) 100%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--ret-amber) 35%,transparent),inset 0 0 8px color-mix(in srgb,var(--ret-amber) 10%,transparent)}
}
@media(prefers-reduced-motion:reduce){.ff-ret-guide-open{animation:none}}


/* Field tour: the ring is transparent to pointer events, so the real input stays editable. */
.ff-ret-tour{padding:0;border:1px solid var(--ret-line);border-radius:22px;background:var(--ff-surface,var(--card-bg,#10212b));color:var(--text,#edf4f4);font-family:inherit;box-shadow:0 22px 85px #0006;overflow:auto;overscroll-behavior:contain;color-scheme:normal}
.ff-ret-tour:not([open]){display:none}.ff-ret-tour::backdrop{background:#030e17cf;backdrop-filter:blur(7px)}
.ff-ret-tour header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 7px}
.ff-ret-tour header>span{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ret-blue)}
.ff-ret-tour header button{display:grid;place-items:center;flex:0 0 44px;min-width:44px;min-height:44px;border:1px solid var(--ret-line);border-radius:50%;background:transparent;color:var(--ret-muted);font-size:25px;line-height:1}
.ff-ret-tour h2{margin:0;font-size:24px;font-weight:500;line-height:1.17;letter-spacing:-.045em;outline:none}
.ff-ret-tour p{font-size:14px;line-height:1.65;color:var(--ret-muted)}
.ff-ret-tour button{cursor:pointer;transition:background .18s}.ff-ret-tour button:hover{filter:brightness(1.12)}
.ff-ret-tour footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--ret-line);padding:15px 20px;background:var(--ff-surface,var(--card-bg,#10212b))}
.ff-ret-tour footer button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:10px 17px;border:1px solid var(--ret-line);border-radius:11px;color:var(--text);background:transparent;font-size:13px;font-weight:500;white-space:nowrap}
.ff-ret-tour footer .ff-ret-tour-next{background:var(--ret-blue);border-color:transparent;color:#08202b}.ff-ret-tour-next span{font-size:18px}
.ff-ret-tour footer small{font-size:11px;line-height:1.5;color:var(--ret-muted);max-width:250px}
.ff-ret-tour-intro{width:min(790px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;background:radial-gradient(ellipse at 5% 45%,#3e967e22,transparent 65%),var(--ff-surface,var(--card-bg,#10212b))}
.ff-ret-tour-intro header{padding:18px 25px 0}.ff-ret-tour-welcome{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:26px;padding:25px 28px 35px}
.ff-ret-tour-portrait{display:block;width:100%;height:auto;aspect-ratio:16/9;max-width:340px;justify-self:center;border-radius:16px;border:1px solid var(--ret-line);box-shadow:0 12px 32px #0003;animation:ff-ret-image-arrive 1.2s ease-out both}
.ff-ret-tour-intro h2{font-size:clamp(27px,3vw,38px);letter-spacing:-.055em;line-height:1.12}
.ff-ret-tour-intro-copy>p{margin:17px 0 22px;max-width:375px}.ff-ret-tour-intro ol{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}
.ff-ret-tour-intro li{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text)}.ff-ret-tour-intro li b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:var(--ret-green);font-size:10px;font-weight:500;border:1px solid color-mix(in srgb,var(--ret-green) 25%,transparent)}
.ff-ret-tour-intro footer{padding:19px 28px}.ff-ret-tour-ring{position:fixed;pointer-events:none;z-index:100002;border:2px solid var(--ret-blue);border-radius:14px;box-shadow:0 0 0 9999px #030e17b8,0 0 24px #78dced22}
.ff-ret-tour-step{position:fixed;inset:auto;margin:0;z-index:100003;border-color:color-mix(in srgb,var(--ret-blue) 38%,var(--ret-line));border-radius:18px}
.ff-ret-tour-step header{padding:10px 16px 7px}.ff-ret-tour-step header>span{letter-spacing:.08em}.ff-ret-tour-step header button{min-height:36px;min-width:36px;flex-basis:36px;font-size:22px}
.ff-ret-tour-meter{height:2px;background:var(--ret-line);margin:0 20px}.ff-ret-tour-meter i{height:100%;display:block;background:var(--ret-blue)}
.ff-ret-tour-body{padding:17px 22px 19px}.ff-ret-tour-body>small:first-child{display:block;color:var(--ret-blue);font-size:11px;margin-bottom:10px;font-variant-numeric:tabular-nums}.ff-ret-tour-body h2{font-size:24px}
.ff-ret-tour-body p{margin:13px 0;font-size:13px;line-height:1.65}.ff-ret-tour-body .ff-ret-tour-tip{padding:10px 12px;background:color-mix(in srgb,var(--ret-green) 6%,transparent);border-left:2px solid var(--ret-green);border-radius:0 8px 8px 0;font-size:12px;line-height:1.6;color:var(--text)}
.ff-ret-tour-edit{display:inline-flex;gap:10px;align-items:center;padding:7px 0;min-height:40px;background:transparent;border:0;color:var(--ret-blue);font-size:12px}.ff-ret-tour-hint{display:block;font-size:10px;color:var(--ret-muted);line-height:1.5}
@keyframes ff-ret-image-arrive{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
[data-theme=light] .ff-ret-tour-next,[data-theme=lpink] .ff-ret-tour-next{color:white!important}
@media(max-width:600px){
  .ff-ret-title-row{gap:9px}.ff-ret-title-row h2{flex-basis:100%}.ff-ret-guide-open{font-size:11px;padding:8px 11px;min-height:42px}
  .ff-ret-tour-intro{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.ff-ret-tour-intro header{padding:10px 15px 0}.ff-ret-tour header>span{font-size:9px;letter-spacing:.08em}
  .ff-ret-tour-welcome{grid-template-columns:1fr;gap:0;padding:0 24px 16px}.ff-ret-tour-portrait{max-width:340px;margin:10px 0 21px;border-radius:12px}.ff-ret-tour-intro-copy{text-align:center}.ff-ret-tour-intro h2{font-size:29px}.ff-ret-tour-intro-copy>p{font-size:13px;margin:13px auto 16px}.ff-ret-tour-intro ol{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.ff-ret-tour-intro li{flex-direction:column;font-size:10px;gap:7px}.ff-ret-tour-intro footer{padding:14px 18px;flex-direction:column-reverse;gap:10px}.ff-ret-tour-intro footer button{width:100%}.ff-ret-tour-intro footer small{text-align:center;font-size:10px;max-width:none}
  .ff-ret-tour-body{padding:12px 18px}.ff-ret-tour-body h2{font-size:22px}.ff-ret-tour-body p{font-size:12px;line-height:1.55;margin:10px 0}.ff-ret-tour-body .ff-ret-tour-tip{font-size:11px;padding:8px 10px}.ff-ret-tour-hint{display:none}.ff-ret-tour-step footer{padding:11px 16px}.ff-ret-tour-step header{padding:8px 14px 6px}
}
@media(max-height:650px){.ff-ret-tour-portrait{max-width:240px;margin-bottom:12px}.ff-ret-tour-intro-copy>p{margin:10px 0}.ff-ret-tour-intro ol{margin-bottom:9px}.ff-ret-tour-intro footer{padding:10px 18px}}
@media(prefers-reduced-motion:reduce){.ff-ret-tour *{animation:none!important;transition:none!important}}

/* The target-crossing label stays visible without hovering or changing the chart selection. */
.ff-ret-goal-marker{pointer-events:none}
.ff-ret-goal-marker>line{stroke:var(--ret-green);stroke-width:1;stroke-dasharray:4 4;opacity:.65}
.ff-ret-goal-marker rect{fill:var(--ff-surface,var(--bg,#0b1822));stroke:var(--ret-green);stroke-width:1}
.ff-ret-goal-halo{fill:var(--ret-green);opacity:.15}
.ff-ret-goal-dot{fill:var(--ret-green);stroke:var(--bg,#0b1822);stroke-width:2}
.ff-ret-chart .ff-ret-goal-age{fill:var(--ret-green);font-size:11px;font-weight:600}
.ff-ret-chart .ff-ret-goal-amount{fill:var(--text);font-size:14px;font-weight:600}
.ff-ret-chart .ff-ret-goal-time{fill:var(--ret-muted);font-size:10px}
.ff-ret-goal-pension-note{margin:9px 0 0;color:var(--ret-muted);font-size:11px;line-height:1.6}
