:root{--c-bone: #f7f7f2;--c-ink: #0a0a0a;--c-surface: #ececE7;--c-surface-hi: #e2e2da;--c-muted: #70706a;--c-accent: #ff5a1f;--c-accent-deep: #c63c05;--c-ink-lift: #141412;--c-ink-lift-hi: #1e1e1a;--c-muted-dark: #9a9a93;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif;--fs-display: clamp(1.85rem, 1.1rem + 2.6vw, 3rem);--fs-title: clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem);--fs-lead: clamp(1.0625rem, 1rem + .35vw, 1.25rem);--fs-body: 1.0625rem;--fs-sm: .9375rem;--fs-xs: .8125rem;--fs-micro: .6875rem;--lh-display: 1.06;--lh-tight: 1.25;--lh-text: 1.6;--ls-display: -.03em;--ls-caps: .1em;--fw-display: 720;--fw-strong: 600;--fw-medium: 500;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 72px;--page-pad: 20px;--page-max: 1160px;--measure: 42rem;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 999px;--dur-fast: .14s;--dur-base: .22s;--dur-slow: .32s;--ease: cubic-bezier(.2, .7, .3, 1);--shadow-sticky: 0 -8px 20px -12px rgba(10, 10, 10, .3);--z-topbar: 20;--z-footer: 15;--tap: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--pad-left: calc(var(--page-pad) + var(--safe-left));--pad-right: calc(var(--page-pad) + var(--safe-right))}.app{--ui-bg: var(--c-bone);--ui-fg: var(--c-ink);--ui-muted: var(--c-muted);--ui-lead: var(--c-muted);--ui-surface: var(--c-surface);--ui-surface-hi: var(--c-surface-hi);--ui-line: rgba(10, 10, 10, .12);--ui-line-strong: rgba(10, 10, 10, .32);--ui-line-control: rgba(10, 10, 10, .46);--ui-accent: var(--c-accent);--ui-accent-text: var(--c-accent-deep);--ui-on-accent: var(--c-ink);--ui-wash: rgba(255, 90, 31, .1)}.app--dark{--ui-bg: var(--c-ink);--ui-fg: var(--c-bone);--ui-muted: var(--c-muted-dark);--ui-lead: rgba(247, 247, 242, .88);--ui-surface: var(--c-ink-lift);--ui-surface-hi: var(--c-ink-lift-hi);--ui-line: rgba(247, 247, 242, .16);--ui-line-strong: rgba(247, 247, 242, .36);--ui-line-control: rgba(247, 247, 242, .42);--ui-accent-text: var(--c-accent);--ui-wash: rgba(255, 90, 31, .14)}.result--stop{--ui-accent: var(--ui-fg);--ui-accent-text: var(--ui-fg);--ui-on-accent: var(--c-ink);--ui-wash: rgba(247, 247, 242, .08)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--c-bone)}body{color:var(--c-ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-text);overflow-x:clip;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-wrap:break-word}body.is-dark{background:var(--c-ink)}button{font:inherit;color:inherit;margin:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1,h2,p,ol,ul{margin:0}:focus-visible{outline:3px solid var(--ui-fg, var(--c-ink));outline-offset:3px}#root{min-height:100vh;min-height:100dvh}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--ui-bg);color:var(--ui-fg);transition:background-color var(--dur-slow) var(--ease),color var(--dur-slow) var(--ease)}.topbar{position:sticky;top:0;z-index:var(--z-topbar);background:var(--ui-bg)}.topbar__inner{width:100%;max-width:var(--page-max);margin:0 auto;padding:calc(var(--space-2) + var(--safe-top)) var(--pad-right) var(--space-3) var(--pad-left)}.topbar__row{display:flex;align-items:center;gap:var(--space-3);min-height:48px}.back{display:inline-flex;align-items:center;gap:var(--space-1);min-height:48px;padding:0 var(--space-3) 0 var(--space-2);margin-left:calc(var(--space-2) * -1);border:0;border-radius:var(--r-md);background:transparent;color:var(--ui-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.back:hover:not(:disabled){color:var(--ui-fg)}.back--empty{width:0;padding:0;margin:0}.back:disabled{opacity:.6;cursor:default}.back__icon{width:18px;height:18px}.progress{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.progress__meta{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.progress__label{color:var(--ui-muted);font-size:var(--fs-micro);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase;line-height:1.2}.progress__value{flex:none;color:var(--ui-accent-text);font-size:var(--fs-xs);font-weight:var(--fw-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.progress__track{height:3px;border-radius:var(--r-pill);background:var(--ui-line);overflow:hidden}.progress__bar{display:block;height:100%;border-radius:var(--r-pill);background:var(--ui-accent);transition:width var(--dur-slow) var(--ease)}.pending{height:2px;background:transparent;overflow:hidden}.pending--active{background:linear-gradient(90deg,transparent,var(--ui-accent),transparent);background-size:38% 100%;background-repeat:no-repeat;animation:pending-slide 1.05s ease-in-out infinite}@keyframes pending-slide{0%{background-position:-40% 0}to{background-position:140% 0}}.stage{display:flex;flex-direction:column;flex:1;width:100%;max-width:var(--page-max);margin:0 auto;padding:var(--space-5) var(--pad-right) calc(var(--space-7) + var(--safe-bottom)) var(--pad-left)}.stage--footer{padding-bottom:0}.stage__inner{display:flex;flex-direction:column;flex:1;gap:var(--space-6)}.stage__ask{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;animation:rise var(--dur-slow) var(--ease) both}.stage__answer{display:flex;flex-direction:column;flex:1;gap:var(--space-4);min-width:0;animation:fade-in var(--dur-slow) var(--ease) 60ms both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.title{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-display);text-wrap:balance}.subtitle{max-width:var(--measure);color:var(--ui-lead);font-size:var(--fs-lead);line-height:var(--lh-text)}.footnote{max-width:var(--measure);padding-left:var(--space-4);border-left:1px solid var(--ui-line-strong);color:var(--ui-muted);font-size:var(--fs-sm)}.notice{max-width:var(--measure);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);background:var(--ui-surface);color:var(--ui-fg);font-size:var(--fs-sm)}.hint{max-width:var(--measure);padding-left:var(--space-4);border-left:3px solid var(--ui-accent);color:var(--ui-fg);font-size:var(--fs-sm);animation:rise var(--dur-base) var(--ease) both}.demo{padding:var(--space-2) var(--pad-right) var(--space-2) var(--pad-left);border-bottom:1px solid var(--ui-line);color:var(--ui-muted);font-size:var(--fs-xs);text-align:center}.options{display:flex;flex-direction:column;gap:var(--space-2)}.option{position:relative;display:flex;align-items:center;gap:var(--space-4);width:100%;min-height:var(--tap);padding:var(--space-4) var(--space-5);border:0;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--ui-line-control);background:var(--ui-surface);color:var(--ui-fg);text-align:left;font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-tight);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.option:hover:not(:disabled){background:var(--ui-surface-hi);box-shadow:inset 0 0 0 1px var(--ui-fg)}.option:active:not(:disabled){background:var(--ui-surface-hi);transform:scale(.988)}.option:disabled{opacity:.72;cursor:default}.option--selected:disabled{opacity:1}.option--selected,.option--selected:hover:not(:disabled){background:var(--ui-wash);box-shadow:inset 0 0 0 2px var(--ui-accent);font-weight:var(--fw-strong)}.option__label{flex:1;min-width:0}.option__next{flex:none;color:var(--ui-muted);font-size:var(--fs-sm);opacity:.55;transition:transform var(--dur-base) var(--ease),opacity var(--dur-base) var(--ease)}.option:hover:not(:disabled) .option__next{opacity:1;transform:translate(4px)}.option__mark{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:var(--r-sm);background:var(--ui-accent);color:var(--ui-on-accent);opacity:0;transform:scale(.7);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-base) var(--ease)}.option--selected .option__mark{opacity:1;transform:none}.option__check{width:17px;height:17px}.footer{position:sticky;bottom:0;z-index:var(--z-footer);display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5);padding:var(--space-4) 0 calc(var(--space-4) + var(--safe-bottom));background:var(--ui-bg);box-shadow:var(--shadow-sticky)}.stage__answer--sticky>.options{padding-bottom:var(--space-5)}@media (max-width: 899px){.footer:not(.footer--result):not(.footer--lead){margin-left:calc(var(--pad-left) * -1);margin-right:calc(var(--pad-right) * -1);padding-left:var(--pad-left);padding-right:var(--pad-right)}}.footer:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:var(--space-5);background:linear-gradient(to top,var(--ui-bg),transparent);pointer-events:none}.footer__count{color:var(--ui-muted);font-size:var(--fs-xs);letter-spacing:.02em}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:var(--tap);padding:var(--space-4) var(--space-5);border:0;border-radius:var(--r-lg);font-size:var(--fs-body);font-weight:var(--fw-strong);letter-spacing:-.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.button:active:not(:disabled):not([aria-disabled=true]){transform:scale(.985)}.button--primary{background:var(--ui-accent);color:var(--ui-on-accent)}.button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-fg);color:var(--ui-bg)}.button--ghost{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ui-line-strong);color:var(--ui-fg);font-weight:var(--fw-medium)}.button--ghost:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--ui-fg)}.button:disabled,.button[aria-disabled=true]{background:transparent;box-shadow:inset 0 0 0 2px var(--ui-line-strong);color:var(--ui-fg);opacity:.7;cursor:default}.button--waiting:disabled,.button--waiting[aria-disabled=true]{background:var(--ui-accent);color:var(--ui-on-accent);box-shadow:none;opacity:.6}.result{display:flex;flex-direction:column;flex:1}.result .stage{padding-top:var(--space-7)}.result__title{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-display);animation:rise var(--dur-slow) var(--ease) both}.result__title:after{content:"";display:block;width:56px;height:4px;margin-top:var(--space-4);border-radius:var(--r-pill);background:var(--ui-accent)}.panels{display:flex;flex-direction:column;max-width:var(--measure)}.panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) 0;border-top:1px solid var(--ui-line)}.panel:first-child{border-top:0;padding-top:0}.panel__heading{color:var(--ui-accent-text);font-size:var(--fs-micro);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase}.text{font-size:var(--fs-body);line-height:var(--lh-text)}.panel:first-child .text{font-size:var(--fs-lead);color:var(--ui-fg)}.list{display:flex;flex-direction:column;gap:var(--space-4);padding:0;margin:0;list-style:none;counter-reset:stoplist}.list__item{position:relative;padding-left:46px;min-height:30px;font-size:var(--fs-body);line-height:var(--lh-text);counter-increment:stoplist}.list__item:before{content:counter(stoplist);position:absolute;left:0;top:2px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1.5px var(--ui-accent);color:var(--ui-accent-text);font-size:var(--fs-xs);font-weight:var(--fw-display);line-height:1}.footer--lead{position:static;flex:none;margin-top:var(--space-6);padding-bottom:calc(var(--space-7) + var(--safe-bottom));background:none;box-shadow:none}.footer--lead:before{content:none}.footer--lead .button{max-width:22rem}.footer--result{position:static;max-width:22rem;margin-top:var(--space-6);padding:0 0 calc(var(--space-7) + var(--safe-bottom));background:none;box-shadow:none}.footer--result:before{content:none}@media (max-width: 899px){@supports (height: 100dvh){.app--solo{height:100dvh}.app--solo .stage,.app--solo .stage__inner{min-height:0}.app--solo .stage__ask{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.app--solo .stage__answer{flex:none}.app--solo .footer--lead{margin-top:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom))}}}@media (max-width: 899px){@supports (height: 100dvh){.app--dock{height:100dvh}.app--dock .stage{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.app--dock .stage__inner{min-height:0}}}@media (max-width: 899px){.app--dock .footer:not(.footer--result):not(.footer--lead){position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:var(--space-3) var(--pad-right) calc(var(--space-3) + var(--safe-bottom)) var(--pad-left);background:var(--ui-bg);border-top:1px solid var(--ui-line);box-shadow:0 -8px 20px -12px #0a0a0a4d}.app--dock .footer:not(.footer--result):not(.footer--lead):before{content:none}.app--dock .options{padding-bottom:calc(var(--footer-h, 168px) + var(--space-4))}.app--dock .option{scroll-margin-bottom:calc(var(--footer-h, 168px) + var(--space-4))}@supports (height: 100dvh){.app--dock{position:relative}.app--dock .footer:not(.footer--result):not(.footer--lead){position:absolute}.app--dock .stage{scroll-padding-bottom:calc(var(--footer-h, 168px) + var(--space-4))}}}@media (max-height: 500px){:root{--fs-display: clamp(1.35rem, 1rem + 1.6vw, 1.9rem);--tap: 48px}.topbar__inner{padding-top:var(--space-1);padding-bottom:var(--space-2)}.progress{margin-top:var(--space-1)}.stage{padding-top:var(--space-3)}.stage__inner{gap:var(--space-4)}.stage__ask{gap:var(--space-2)}.option{padding-top:var(--space-3);padding-bottom:var(--space-3)}.footer{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);padding-bottom:calc(var(--space-3) + var(--safe-bottom))}}@media (max-height: 500px) and (min-width: 560px){.stage__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-5);align-items:start}.stage__answer{align-self:stretch}.footer--lead .button,.footer .button{max-width:none}}.boot{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8) var(--page-pad)}.boot__label{color:var(--ui-muted);font-size:var(--fs-micro);font-weight:var(--fw-strong);letter-spacing:var(--ls-caps);text-transform:uppercase}.spinner{display:block;width:30px;height:30px;border:2px solid var(--ui-line);border-top-color:var(--ui-accent);border-radius:50%;animation:spin .85s linear infinite}.spinner--inline{width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.failure{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);max-width:var(--measure);padding:var(--space-4) var(--space-5);border-left:3px solid var(--ui-fg);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--ui-surface)}.failure__text{font-size:var(--fs-sm)}.failure .button{width:auto;min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--fs-sm)}@media (min-width: 600px){:root{--page-pad: 40px}.options{gap:var(--space-3)}}@media (min-width: 900px){:root{--page-pad: 56px}.topbar__inner{padding-top:var(--space-4);padding-bottom:var(--space-4)}.stage{padding-top:var(--space-7)}.stage__answer .footer:not(.footer--result):not(.footer--lead){margin-top:var(--space-5);padding:var(--space-3) 0 calc(var(--space-5) + var(--safe-bottom));box-shadow:none}.footer .button{max-width:22rem}.stage--split .stage__inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--space-8);align-items:start;align-content:safe center}.stage--split .stage__answer{flex:none}.stage:not(.stage--split) .stage__inner{justify-content:safe center}.stage:not(.stage--split) .stage__answer{flex:none}.result .stage{padding-top:var(--space-8)}.result .stage__ask{align-self:stretch}.result .result__title{position:sticky;top:var(--space-8)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
