:root{--paper:#faf6f2;--card:#fff;--ink:#231f20;--ink-soft:#5e5657;--line:#eadfd9;--line-strong:#d4c3bb;--accent:#c93f39;--brand-coral:#f05d57;--accent-hover:#a9332e;--accent-ink:#fff;--accent-soft:#fde4e2;--highlight:#fbeeb4;--danger:#9b2c2c;--danger-soft:#f6dcd8;--warn-soft:#fbeed0;--c1:#fbecc9;--c2:#dcebdc;--c3:#dae5f2;--c4:#f3dde1;--shadow:0 1px 2px #28200c0f, 0 6px 18px #28200c0d;--font-display:"Fraunces", "Source Serif 4", Georgia, "Times New Roman", serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius:10px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#171613;--card:#201f1b;--ink:#ece7db;--ink-soft:#a8a190;--line:#37342d;--line-strong:#4b473d;--accent:#f46f69;--brand-coral:#f05d57;--accent-hover:#f78c87;--accent-ink:#231f20;--accent-soft:#3d2322;--highlight:#4a4020;--danger:#f0a5a0;--danger-soft:#402522;--warn-soft:#3b3220;--c1:#3b3320;--c2:#233428;--c3:#22303f;--c4:#3d2a2f;--shadow:0 1px 2px #0006}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.55;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.2}p{margin:0 0 .75em}a{color:var(--accent);text-underline-offset:2px}code{font-family:var(--font-mono);background:var(--accent-soft);overflow-wrap:anywhere;border-radius:4px;padding:.1em .35em;font-size:.9em}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{font:inherit;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;min-height:42px;padding:.6em 1.1em;font-size:.95rem;font-weight:500;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--ink-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}@media (prefers-color-scheme:dark){.btn--danger{color:#2a0f0d}}.btn--quiet{color:var(--ink-soft);background:0 0;border-color:#0000}.btn--quiet:hover:not(:disabled){color:var(--ink);border-color:var(--line-strong)}.btn--small{min-height:36px;padding:.35em .8em;font-size:.875rem}.link{font:inherit;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}input[type=text],textarea,select,.code-input{font:inherit;width:100%;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:8px;min-height:42px;padding:.6em .75em}textarea{resize:vertical;field-sizing:content;min-height:5.5em;max-height:60vh;line-height:1.5}input::placeholder,textarea::placeholder{color:var(--ink-soft);opacity:.8}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:1px}label{font-weight:500}.error{color:var(--danger);background:var(--danger-soft);border-radius:8px;margin:.75em 0 0;padding:.6em .8em;font-size:.95rem}.error--with-sticker{align-items:center;gap:10px;display:flex}.error--with-sticker p{min-width:0;margin:0}.notice{background:var(--warn-soft);border-radius:8px;padding:.6em .8em}.join{min-height:100dvh;padding:24px var(--gutter);place-items:center;display:grid}.join__card{width:100%;max-width:460px}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:1rem;font-size:.75rem}.join h1{margin-bottom:.5rem;font-size:clamp(2.2rem,8vw,3.2rem)}.join__hero{justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:.5rem;display:flex}.join__title{min-width:0}.join__title h1{margin-bottom:0}.join__sub{color:var(--ink-soft);margin-bottom:1.75rem;font-size:1.1rem}.join form label{margin-bottom:.4rem;font-size:.9rem;display:block}.join__row{gap:10px;display:flex}.code-input{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;min-height:50px;font-size:1.25rem}.join__row .btn{min-height:50px;padding-inline:1.5em}.join__safe{color:var(--ink-soft);border-left:3px solid var(--highlight);margin-top:1.5rem;padding-left:.8em;font-size:.9rem}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar__inner{padding:10px var(--gutter);align-items:center;gap:12px;max-width:1480px;margin:0 auto;display:flex}.brand{font-family:var(--font-display);flex:1;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:600;display:flex}.topbar__status{align-items:center;gap:6px;display:flex}.topbar__progress{font-family:var(--font-mono);color:var(--ink-soft);background:var(--accent-soft);border-radius:999px;margin:0;padding:.2em .7em;font-size:.85rem}.topbar__actions{gap:6px;display:flex}.mobilebar{padding:0 var(--gutter) 10px;gap:8px;display:grid}.progress{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.progress__fill{background:var(--accent);height:100%;transition:width .3s}.layout{flex:1;width:100%;max-width:1480px;margin:0 auto;display:block}.rail{display:none}.main{padding:20px var(--gutter) 40px;outline:none;gap:24px;min-width:0;display:grid}.main__content,.main__coach,.pager{min-width:0}.pager{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:16px;display:flex}.pager .btn--primary:only-child{margin-left:auto}.footer{padding:20px var(--gutter);color:var(--ink-soft);border-top:1px solid var(--line);text-align:center;font-size:.85rem}.footer p{margin:0}@media (width>=900px){.mobilebar{display:none}.layout{grid-template-columns:220px minmax(0,1fr);gap:8px;display:grid}.rail{padding:24px 0 24px var(--gutter);align-self:start;display:block;position:sticky;top:62px}.main{padding:24px 32px 48px 24px}}@media (width>=1100px){.layout{grid-template-columns:230px minmax(0,1fr)}.main{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"content coach""pager coach";align-items:start;gap:24px 32px}.main__content{grid-area:content}.main__coach{grid-area:coach;max-height:calc(100vh - 96px);position:sticky;top:74px;overflow:auto}.pager{grid-area:pager}}.rail ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rail__item{font:inherit;text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:9px 10px;display:flex}.rail__item:hover{background:var(--accent-soft)}.rail__item.is-current{background:var(--card);box-shadow:var(--shadow);outline:1px solid var(--line-strong)}.rail__num{border:1.5px solid var(--line-strong);width:28px;height:28px;font-size:.8rem;font-weight:600;font-family:var(--font-mono);color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;display:grid}.is-current .rail__num{border-color:var(--accent);color:var(--accent)}.is-done .rail__num{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rail__text{line-height:1.25;display:grid}.rail__title{font-size:.95rem;font-weight:500}.rail__min{color:var(--ink-soft);font-size:.78rem}.step-head__num{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.35rem;font-size:.78rem}.step-head__row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:.9rem;display:flex}.step-head h2{min-width:0;font-size:clamp(1.7rem,5vw,2.25rem)}.step-head h2:focus{outline:none}.step-head__row .sticker{margin-left:auto}.chip{background:var(--highlight);color:var(--ink);border-radius:999px;padding:.15em .75em;font-size:.8rem;font-weight:500}.why{max-width:62ch;font-size:1.05rem}.disclosure{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 1rem}.disclosure>summary{cursor:pointer;align-items:center;gap:8px;padding:.65em .9em;font-size:.95rem;font-weight:500;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"▸";color:var(--accent);transition:transform .15s}.disclosure[open]>summary:before{transform:rotate(90deg)}.disclosure>:not(summary){margin-left:.9em;margin-right:.9em}.video{aspect-ratio:16/9;background:#000;border-radius:8px;margin-top:4px;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.credit{color:var(--ink-soft);margin:.6em .9em .8em;font-size:.85rem}.disclosure--hints{margin-top:1rem}.hints{gap:.6em;margin:0 .9em .9em;display:grid}.hints dt{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.85rem;font-weight:600}.hints dd{margin:0}.step-fields{gap:16px;display:grid}.field{gap:6px;min-width:0;display:grid}.field label{font-size:.95rem}.optional{color:var(--ink-soft);font-weight:400}.field__help{color:var(--ink-soft);margin:0;font-size:.875rem}.field--main input,.field--main textarea{border-color:var(--ink-soft);border-width:1.5px}.field--main>label:after{content:"Main box";color:var(--accent);background:var(--accent-soft);vertical-align:.1em;border-radius:999px;margin-left:.5em;padding:.1em .5em;font-size:.75rem;font-weight:500}.inline-hint{color:var(--ink-soft);margin:-4px 0 0;font-size:.9rem;font-style:italic}.chain{border-left:2px solid var(--line-strong);gap:10px;margin:0;padding:0 0 0 14px;list-style:none;display:grid}.fourcs{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media (width>=640px){.fourcs{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{border-radius:var(--radius);border:1px solid var(--line);padding:14px}.card--c1{background:var(--c1)}.card--c2{background:var(--c2)}.card--c3{background:var(--c3)}.card--c4{background:var(--c4)}.card--c1 label,.card--c2 label,.card--c3 label,.card--c4 label{font-family:var(--font-display);font-size:1.1rem}.card--c1 textarea,.card--c2 textarea,.card--c3 textarea,.card--c4 textarea{background:var(--card)}.callout{border-left:4px solid var(--highlight);background:var(--card);border-radius:0 var(--radius) var(--radius) 0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 16px}.callout p:last-child{margin-bottom:0}.callout__title{margin-bottom:.25em;font-weight:600}.callout--warn{background:var(--warn-soft);border-left-color:var(--accent)}.missing{margin:0;padding-left:1.2em}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions__hint{color:var(--ink-soft);font-size:.875rem}.check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:.3em}.prompt-box{font-family:var(--font-mono);min-height:16em;font-size:.85rem;line-height:1.55}.checklist{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.checklist h3{margin-bottom:.5rem;font-size:1.15rem}.checklist__score{font-family:var(--font-mono);color:var(--ink-soft);margin-left:.4em;font-size:.85rem}.checklist ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:baseline;gap:10px;font-size:.95rem;display:flex}.checklist__mark{flex:none;width:1.2em;font-weight:700}.checklist .is-pass .checklist__mark{color:var(--accent)}.checklist .is-fail{color:var(--ink-soft)}.card--grill{background:var(--card)}.card--grill h3{margin-bottom:.4rem;font-size:1.2rem}.grill-prompt{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);border-radius:8px;max-height:20em;margin:0 0 12px;padding:12px;font-size:.8rem;overflow:auto}.coach{background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.coach--empty{box-shadow:none;background:0 0;border-style:dashed;display:none}@media (width>=1100px){.coach--empty{display:block}}.coach__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.coach__head h3{font-size:1.15rem}.coach__empty{color:var(--ink-soft);align-items:center;gap:12px;font-size:.95rem;display:flex}.coach__empty p{margin:0}.tabs{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:flex}.tab{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.25em .75em;font-size:.85rem}.tab.is-on{background:var(--accent);color:var(--accent-ink)}.thinking{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0;display:flex}.grill-intro{color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:12px;font-size:.9rem;display:flex}.grill-intro p{margin:0}.dots{gap:4px;display:inline-flex}.dots i{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite pulse}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dots i{opacity:.7;animation:none}.progress__fill{transition:none}}.md{overflow-wrap:anywhere;font-size:.95rem}.md p{margin:0 0 .6em}.md ul,.md ol{margin:0 0 .7em;padding-left:1.25em}.md li{margin-bottom:.3em}.md hr{border:0;border-top:1px solid var(--line);margin:.8em 0}.md h1,.md h2,.md h3,.md h4{margin:.8em 0 .3em;font-size:1.05rem}.md pre{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:.85rem;overflow:auto}.md>:last-child{margin-bottom:0}.suggestion{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin-top:14px;padding:12px 14px}.suggestion__title{margin-bottom:.4em;font-size:.9rem;font-weight:600}.suggestion__text{white-space:pre-wrap;margin-bottom:.8em}.suggestion__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.suggestion__note{color:var(--ink-soft);margin:0;font-size:.85rem}.chat{gap:12px;display:grid}.bubble{border-radius:12px;min-width:0;padding:10px 12px}.bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.bubble--coach{background:var(--paper);border:1px solid var(--line)}.bubble--you{background:var(--accent-soft);justify-self:end;max-width:92%}.chat__form{gap:8px;margin-top:4px;display:grid}.chat__actions{flex-wrap:wrap;gap:8px;display:flex}.dialog{border:1px solid var(--line-strong);background:var(--card);color:var(--ink);border-radius:14px;max-width:min(440px,100vw - 32px);padding:22px;box-shadow:0 20px 60px #0000004d}.dialog::backdrop{background:#14100880}.dialog h2{margin-bottom:.5rem;font-size:1.4rem}.dialog__actions{justify-content:flex-end;gap:8px;margin-top:1rem;display:flex}.brand,.topbar__progress,.topbar__actions .btn{white-space:nowrap}.sticker{-webkit-user-select:none;user-select:none;flex:none;max-width:none;height:auto;display:block}.sticker--join{width:132px;margin-bottom:-6px}.sticker--brand{width:28px}.sticker--done{width:34px}.sticker--step{width:64px}.sticker--point{width:72px}.sticker--thinking{width:48px}.sticker--avatar,.sticker--error{width:44px}@media (prefers-color-scheme:dark){.sticker{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff)}}@media (width<=520px){.sticker--join{width:92px}.sticker--step{width:44px}.sticker--point{width:56px}.hide-narrow,.topbar__progress{display:none}.topbar__inner{justify-content:space-between}.topbar__actions .btn--quiet{padding-inline:.5em}.join__row{flex-direction:column}}@media (width<=360px){.sticker--step{display:none}}
