@theme{ --font-sans: var(--font-REPLACE-body, ui-sans-serif, system-ui, sans-serif); --font-serif: var(--font-REPLACE-display, ui-serif, Georgia, serif); --font-mono: var(--font-geist-mono, ui-monospace, "SF Mono", monospace); --text-xs: .75rem; --text-sm: .875rem; --text-base: 1rem; --text-lg: 1.125rem; --text-xl: 1.25rem; --text-2xl: 1.5rem; --text-3xl: 1.875rem; --text-4xl: 2.25rem; --text-5xl: 3rem; --text-6xl: 3.75rem; --text-7xl: 4.5rem; --leading-tight: 1.15; --leading-snug: 1.3; --leading-normal: 1.5; --leading-relaxed: 1.65; --tracking-tight: -.02em; --tracking-normal: 0; --tracking-wide: .08em; --measure: 65ch; --color-neutral-50: oklch(.985 .002 250); --color-neutral-100: oklch(.967 .003 250); --color-neutral-200: oklch(.922 .004 250); --color-neutral-300: oklch(.85 .006 250); --color-neutral-400: oklch(.68 .008 250); --color-neutral-500: oklch(.556 .01 250); --color-neutral-600: oklch(.44 .01 250); --color-neutral-700: oklch(.355 .009 250); --color-neutral-800: oklch(.26 .008 250); --color-neutral-900: oklch(.19 .007 250); --color-neutral-950: oklch(.13 .006 250); --color-accent-300: oklch(.82 .11 255); --color-accent-400: oklch(.72 .15 255); --color-accent-500: oklch(.62 .19 255); --color-accent-600: oklch(.55 .19 255); --color-accent-700: oklch(.48 .16 255); --radius-sm: .25rem; --radius-md: .5rem; --radius-lg: .75rem; --radius-xl: 1rem; --radius-full: 9999px; --shadow-sm: 0 1px 1px oklch(0 0 0 / .04), 0 2px 2px oklch(0 0 0 / .04); --shadow-md: 0 1px 1px oklch(0 0 0 / .04), 0 2px 2px oklch(0 0 0 / .04), 0 4px 4px oklch(0 0 0 / .04), 0 8px 8px oklch(0 0 0 / .04); --shadow-lg: 0 1px 1px oklch(0 0 0 / .03), 0 2px 2px oklch(0 0 0 / .03), 0 4px 4px oklch(0 0 0 / .03), 0 8px 8px oklch(0 0 0 / .03), 0 16px 16px oklch(0 0 0 / .03), 0 32px 32px oklch(0 0 0 / .03); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-out-strong: cubic-bezier(.16, 1, .3, 1); --ease-in-out: cubic-bezier(.65, 0, .35, 1); --ease-in: cubic-bezier(.4, 0, 1, 1); --duration-fast: .12s; --duration-base: .2s; --duration-slow: .32s; }:root{--surface-0: var(--color-neutral-950);--surface-1: var(--color-neutral-900);--surface-2: var(--color-neutral-800);--text-primary: var(--color-neutral-100);--text-secondary: var(--color-neutral-400);--text-muted: var(--color-neutral-500);--border-subtle: oklch(1 0 0 / .08)}@layer base{html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-0)}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}p{text-wrap:pretty}.measure{max-width:var(--measure)}:focus-visible{outline:2px solid var(--color-accent-500);outline-offset:2px}button,[role=button],a{transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}button:active,[role=button]:active{transform:scale(.97)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--paper: #fbfbf9;--ink: #16170f;--ink-soft: #5b5c52;--line: #e6e6df;--paak: #16a34a;--paak-bright: #39ff6e}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Mona Sans,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.wrap{max-width:44rem;margin:0 auto;min-height:100dvh;padding:1.5rem clamp(1.25rem,5vw,2.5rem) 2rem;display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;align-items:baseline}.mark{font-weight:800;letter-spacing:.02em;font-size:1.05rem}.counter{font-family:Space Mono,ui-monospace,monospace;font-size:.8rem;color:var(--ink-soft);letter-spacing:.05em}.rail{height:3px;background:var(--line);border-radius:3px;margin:.9rem 0 0;overflow:hidden}.rail-fill{display:block;height:100%;width:0;background:var(--paak-bright);border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}form{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2rem 0}.step{animation:rise .4s cubic-bezier(.22,1,.36,1)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.qnum{font-family:Space Mono,ui-monospace,monospace;font-size:.75rem;color:var(--paak);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem}.prompt{display:block;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5rem}.help{color:var(--ink-soft);font-size:.95rem;margin:0 0 1.5rem;max-width:34rem}.field{width:100%;font:inherit;font-size:1.15rem;padding:.7rem 0;border:none;border-bottom:2px solid var(--line);background:transparent;color:var(--ink);border-radius:0;outline:none;transition:border-color .15s ease}.field::placeholder{color:#b6b6ac}.field:focus{border-bottom-color:var(--ink)}textarea.field{resize:vertical;border:2px solid var(--line);border-radius:10px;padding:.75rem .9rem}textarea.field:focus{border-color:var(--ink)}.options{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.opt{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:2px solid var(--line);border-radius:12px;cursor:pointer;font-size:1.05rem;transition:border-color .15s ease,background .15s ease}.opt:hover{border-color:#cfcfc6}.opt input{accent-color:var(--paak);width:1.1rem;height:1.1rem}.opt:has(input:checked){border-color:var(--ink);background:#f3f3ee}.opt:has(input:focus-visible){outline:3px solid var(--paak-bright);outline-offset:2px}.err{color:#c02626;font-size:.9rem;margin:.75rem 0 0}.nav{display:flex;gap:.75rem;align-items:center;margin-top:2rem}.btn{font:inherit;font-weight:600;font-size:1rem;padding:.7rem 1.5rem;border:2px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .12s ease,opacity .15s ease}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:3px solid var(--paak-bright);outline-offset:2px}.btn[disabled]{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.done{flex:1;display:flex;flex-direction:column;justify-content:center;animation:rise .5s ease}.foot{font-size:.8rem;color:var(--ink-soft);padding-top:1rem;border-top:1px solid var(--line)}.foot a{color:var(--ink-soft)}@media (prefers-reduced-motion: reduce){.step,.done,.rail-fill{animation:none;transition:none}}
