.product-concept{position:relative;min-width:0;padding:var(--space-6);overflow:hidden;border:1px solid color-mix(in srgb,var(--pc-accent) 24%,transparent);border-radius:var(--radius-md);background:radial-gradient(ellipse at 85% 0%,color-mix(in srgb,var(--pc-accent) 10%,transparent),transparent 62%),var(--c-surface);box-shadow:inset 0 1px color-mix(in srgb,var(--c-mist) 5%,transparent);color:var(--c-mist);isolation:isolate}.product-concept button:focus-visible,.product-concept input:focus-visible{outline:2px solid var(--pc-accent);outline-offset:4px}.product-concept button{cursor:pointer}.product-concept button:disabled,.product-concept input:disabled{cursor:default}.pc-topline{display:flex;justify-content:space-between;align-items:start;gap:var(--space-4)}.pc-topline>div{display:grid;gap:var(--space-1);min-width:0}.pc-wordmark{font-size:var(--t-h4);font-weight:650;letter-spacing:var(--track-tight);line-height:1}.pc-wordmark span{color:var(--pc-accent)}.pc-wordmark-spark{letter-spacing:var(--track-meta-tight)}.pc-wordmark-spark span{display:inline-block;margin-left:var(--space-2)}.pc-kicker{font-size:var(--t-xs);color:var(--c-muted)}.pc-reset{display:inline-flex;gap:var(--space-2);align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--t-xs);border:1px solid var(--c-rule);background:transparent;border-radius:var(--radius-sm)}.pc-reset:hover:not(:disabled){border-color:var(--pc-accent);background:color-mix(in srgb,var(--pc-accent) 6%,transparent)}.pc-disclosure,.pc-fallback{color:var(--c-muted);font-size:var(--t-xs);line-height:1.5;margin:var(--space-4) 0 0;max-width:78ch}.pc-fallback{padding-top:var(--space-3);border-top:1px solid var(--c-rule)}.retfi-question{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between;align-items:baseline;margin-top:var(--space-6)}.retfi-question p{font-size:var(--t-h3);font-weight:500;line-height:1.05;letter-spacing:var(--track-snug);text-wrap:balance;margin:0}.retfi-question>span{font-size:var(--t-xs);color:var(--pc-accent)}.retfi-summary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-6)}.retfi-summary>div{display:flex;flex-direction:column}.retfi-summary>div+div{border-left:1px solid var(--c-rule);padding-left:var(--space-4)}.retfi-summary span{font-size:var(--t-xs);color:var(--c-ink-body)}.retfi-summary strong{font-size:var(--t-h3);font-weight:500;font-variant-numeric:tabular-nums;color:var(--pc-accent);white-space:nowrap}.retfi-summary small{font-size:var(--t-xs);font-weight:400;color:var(--c-ink-body);white-space:normal}.retfi-plot{position:relative;margin-top:var(--space-4);background:linear-gradient(110deg,color-mix(in srgb,var(--pc-accent) 3%,transparent),transparent);border:1px solid var(--c-rule);border-radius:var(--radius-sm);padding:var(--space-4)}.retfi-plot-labels{display:flex;justify-content:space-between;gap:var(--space-4);color:var(--c-muted);font-size:var(--t-xs)}.retfi-chart{position:relative;height:140px;margin-top:var(--space-3);color:var(--pc-accent)}.retfi-chart svg{height:100%;width:100%;overflow:visible}.retfi-grid{fill:none;stroke:var(--c-rule);stroke-width:1;vector-effect:non-scaling-stroke}.retfi-work-line{fill:none;stroke:currentColor;stroke-width:2.5;vector-effect:non-scaling-stroke}.retfi-marker-line{stroke:currentColor;stroke-width:1;stroke-dasharray:3 5;opacity:.6;vector-effect:non-scaling-stroke}.retfi-point{fill:currentColor}.retfi-drag-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--t-xs);margin-top:var(--space-2)}.retfi-drag-label svg{flex:0 0 auto;color:var(--pc-accent)}.retfi-drag-label output{margin-left:auto;color:var(--pc-accent);font-variant-numeric:tabular-nums}.retfi-range-wrap{position:absolute;left:calc(8.333% - 22px);right:calc(8.333% - 22px);top:calc(20% - 22px)}.retfi-range-wrap input{display:block;width:100%;height:44px;margin:0;padding:0;appearance:none;background:transparent;cursor:ew-resize;touch-action:pan-y;accent-color:var(--pc-accent)}.retfi-range-wrap input::-webkit-slider-runnable-track{height:2px;background:transparent}.retfi-range-wrap input::-moz-range-track{height:2px;background:transparent}.retfi-range-wrap input::-webkit-slider-thumb{appearance:none;width:44px;height:44px;margin-top:-21px;border:1px solid var(--pc-accent);border-radius:50%;background:radial-gradient(circle,var(--pc-accent) 0 3px,var(--c-surface-raised) 4px);box-shadow:0 0 18px color-mix(in srgb,var(--pc-accent) 10%,transparent)}.retfi-range-wrap input::-moz-range-thumb{width:42px;height:42px;border:1px solid var(--pc-accent);border-radius:50%;background:radial-gradient(circle,var(--pc-accent) 0 3px,var(--c-surface-raised) 4px);box-shadow:0 0 18px color-mix(in srgb,var(--pc-accent) 10%,transparent)}.retfi-age-ticks{display:flex;justify-content:space-between;padding:var(--space-3) 8.333% 0;font:500 var(--t-meta) var(--font-concept-mono);color:var(--c-muted)}.retfi-pace{border:0;padding:0;margin:var(--space-4) 0 0;min-width:0}.retfi-pace legend{font-size:var(--t-xs);color:var(--c-ink-body);padding:0;margin-bottom:var(--space-2)}.retfi-pace>div{display:flex;gap:var(--space-2)}.retfi-pace button{display:flex;flex:1;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--c-rule);border-radius:var(--radius-sm);background:var(--c-surface);text-align:left;font-size:var(--t-xs)}.retfi-pace button[aria-pressed=true]{color:var(--pc-accent);border-color:var(--pc-accent);background:color-mix(in srgb,var(--pc-accent) 8%,var(--c-surface))}.retfi-stages{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-top:var(--space-4);color:var(--c-ink-body);font-size:var(--t-xs)}.retfi-stages>span{display:flex;align-items:center;gap:var(--space-2)}.retfi-stages i{font:500 var(--t-meta) var(--font-concept-mono);color:var(--pc-accent)}.spark-canvas{position:relative;min-width:0;height:340px;margin-top:var(--space-4);border:1px solid var(--c-rule);border-radius:var(--radius-sm);background:radial-gradient(ellipse at center,color-mix(in srgb,var(--pc-accent) 8%,transparent),transparent 72%),radial-gradient(circle,color-mix(in srgb,var(--pc-accent) 19%,transparent) 1px,transparent 1px);background-size:auto,20px 20px;touch-action:pan-y}.spark-connections{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.spark-connections path{fill:none;stroke:color-mix(in srgb,var(--pc-accent) 28%,transparent);stroke-width:1;vector-effect:non-scaling-stroke}.spark-connections path.is-active{stroke:var(--pc-accent);stroke-width:2}.spark-centre{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.spark-centre span,.spark-centre b{display:block}.spark-centre span{color:var(--pc-accent);font-size:var(--t-h3);font-weight:400;line-height:1}.spark-centre b{margin-top:var(--space-2);font:500 var(--t-meta) var(--font-concept-mono);text-transform:uppercase;letter-spacing:var(--track-meta);white-space:nowrap;color:var(--c-ink-body)}.spark-centre i{display:block;margin:var(--space-3) auto 0;width:4px;height:4px;background:var(--pc-accent);border-radius:50%;box-shadow:-10px 0 color-mix(in srgb,var(--pc-accent) 40%,transparent),10px 0 color-mix(in srgb,var(--pc-accent) 40%,transparent)}.spark-node{position:absolute;transform:translate(-50%,-50%);width:132px;min-height:72px;padding:var(--space-3);border:1px solid color-mix(in srgb,var(--pc-accent) 30%,transparent);border-radius:var(--radius-sm);background:var(--c-surface-raised);text-align:left;touch-action:pan-y;user-select:none;-webkit-user-select:none}.product-concept .spark-node{cursor:grab}.product-concept .spark-node:active{cursor:grabbing}.spark-node[aria-pressed=true]{border-color:var(--pc-accent);background:color-mix(in srgb,var(--pc-accent) 12%,var(--c-surface));box-shadow:0 0 24px color-mix(in srgb,var(--pc-accent) 8%,transparent)}.spark-node-index{display:flex;align-items:center;justify-content:space-between;color:var(--pc-accent);font:500 var(--t-xs) var(--font-concept-mono);margin-bottom:var(--space-2)}.spark-node strong{font-size:var(--t-sm);font-weight:500}.spark-help{font-size:var(--t-xs);color:var(--c-muted);margin:var(--space-3) 0;max-width:75ch}.spark-inspector{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:var(--space-2) var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--c-rule)}.spark-inspector>span{font:500 var(--t-meta) var(--font-concept-mono);color:var(--pc-accent);text-transform:uppercase;letter-spacing:var(--track-meta)}.spark-inspector>strong{font-size:var(--t-body);font-weight:500}.spark-inspector p{grid-column:1/-1;max-width:68ch;min-height:3em;color:var(--c-ink-body);font-size:var(--t-sm);line-height:1.5;margin:0}.spark-flow{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-4)}.spark-flow>button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:44px;flex:0 0 auto;border:1px solid var(--pc-accent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--t-xs);background:color-mix(in srgb,var(--pc-accent) 10%,transparent);color:var(--pc-accent)}.spark-flow>p{font-size:var(--t-xs);margin:0;color:var(--c-ink-body)}.product-concept-compact{padding:var(--space-4)}.product-concept-compact .spark-canvas{height:300px}.concept-page-intro{padding-top:var(--hero-y-top);padding-bottom:var(--section-y-sm)}.concept-page-back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--t-sm);color:var(--c-ink-body);margin-bottom:var(--space-6)}.concept-page-back:hover{color:var(--c-mist)}.concept-page-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:var(--gap-major)}.concept-page-intro h1{margin:var(--space-3) 0 0;font-size:var(--t-h2);line-height:.95;font-weight:var(--weight-display);letter-spacing:var(--track-tight);word-spacing:var(--word-display);text-wrap:balance}.concept-page-intro h1>span{color:var(--c-signal)}.concept-page-intro-grid>p{font-size:var(--t-body);line-height:1.5;color:var(--c-ink-body);max-width:42ch;margin:0;text-wrap:pretty}.concept-page-demo{padding-bottom:var(--section-y)}.concept-page-story{padding-block:var(--section-y);border-top:1px solid var(--c-rule)}.concept-page-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-major);margin-top:var(--space-4)}.concept-page-story h2{font-size:var(--t-h3);font-weight:var(--weight-display);line-height:1.05;letter-spacing:var(--track-snug);max-width:20ch;margin:0;text-wrap:balance}.concept-page-story p{margin:0 0 var(--space-4);font-size:var(--t-body);line-height:1.5;color:var(--c-ink-body);max-width:52ch;text-wrap:pretty}.concept-page-points{margin:var(--space-8) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.concept-page-points>div{border-top:1px solid var(--c-rule);padding-top:var(--space-4)}.concept-page-points dt{margin-bottom:var(--space-2);color:var(--c-signal);font-size:var(--t-body)}.concept-page-points dd{margin:0;font-size:var(--t-sm);color:var(--c-ink-body)}.concept-page-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);align-items:center;padding-block:var(--section-y);border-top:1px solid var(--c-rule)}.concept-page-end p{font-size:var(--t-h3);margin:0;letter-spacing:var(--track-snug);max-width:24ch;line-height:1.1;text-wrap:balance}.concept-page-end a{display:inline-flex;align-items:center;gap:var(--space-4);min-height:48px;border:1px solid var(--c-rule);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--t-sm)}.concept-page-end a:hover{border-color:var(--c-signal)}@media(max-width:800px){.concept-page-intro-grid,.concept-page-story-grid{grid-template-columns:1fr}.concept-page-points{grid-template-columns:1fr;gap:var(--space-4)}.concept-page-intro-grid>p{max-width:55ch}}@media(max-width:560px){.product-concept{padding:var(--space-4)}.pc-reset{padding-inline:var(--space-2)}.retfi-summary{margin-top:var(--space-4)}.retfi-chart{height:100px}.retfi-plot{padding:var(--space-3)}.retfi-plot-labels{font-size:var(--t-meta)}.retfi-question{margin-top:var(--space-4)}.retfi-pace button{padding-inline:var(--space-2)}.retfi-stages{gap:var(--space-2) var(--space-4)}.spark-canvas,.product-concept-compact .spark-canvas{height:270px}.spark-node{width:94px;min-height:66px;padding:var(--space-2)}.spark-node strong{font-size:var(--t-xs)}.spark-inspector{grid-template-columns:1fr}.spark-flow{align-items:stretch;flex-direction:column;gap:var(--space-2)}.spark-flow>button{align-self:start}}@media(forced-colors:active){.spark-connections path,.retfi-grid,.retfi-work-line,.retfi-marker-line{stroke:CanvasText}.retfi-point{fill:CanvasText}.spark-node[aria-pressed=true],.retfi-pace button[aria-pressed=true]{outline:2px solid Highlight}}@media(prefers-reduced-motion:reduce){.product-concept *{animation:none!important;transition:none!important}}
