.shell{width:100%;max-width:1180px;padding:clamp(24px, 5vw, 64px) var(--gutter) 40px;margin:0 auto}.loading{place-items:center;min-height:50vh;display:grid}.spinner{border:2px solid var(--rule-strong);border-top-color:var(--sig);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;display:inline-block}.spinner.sm{border-color:color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.enter{animation:.45s cubic-bezier(.2,.8,.2,1) both enter}@keyframes enter{0%{opacity:0;transform:translateY(12px)}}h1{letter-spacing:-.025em;text-wrap:balance;margin:14px 0 0;font-size:clamp(36px,6.4vw,72px);font-weight:800;font-stretch:88%;line-height:.98}h1 .hi{color:var(--sig)}.lede{max-width:54ch;color:var(--ink-2);margin:20px 0 0;font-size:clamp(17px,1.6vw,19px)}.lede b{color:var(--ink);font-weight:650}.intro{grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(24px,5vw,80px);min-height:calc(100dvh - 240px);display:grid}.meta{font-family:var(--mono);color:var(--ink-2);flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.meta b{color:var(--sig);margin-right:8px;font-weight:600}.intro-cta{margin-top:32px}.btn.big{min-height:58px;padding:0 30px;font-size:17px}.intro-art{aspect-ratio:1;place-items:center;display:grid}.chip{aspect-ratio:1;width:min(78%,320px);animation:6s ease-in-out infinite float;position:relative}@keyframes float{50%{transform:translateY(-8px)rotate(-1deg)}}.chip-body{color:#ecebe3;background:#121512;border-radius:10px;flex-direction:column;justify-content:space-between;padding:22px;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f,0 30px 60px -30px #0009}.chip-body:before{content:"";background:#ffffff24;border-radius:50%;width:9px;height:9px;position:absolute;top:16px;left:16px}.chip-id{font-family:var(--mono);letter-spacing:.1em;color:var(--gold);align-self:flex-end;font-size:13px}.chip-body .leds{align-self:center;gap:10px}.chip-body .leds i{background:#2a2d29;width:22px;height:22px}.chip-body .leds i.on{animation:2.6s ease-in-out infinite ledon}.chip-body .leds i:nth-child(2){animation-delay:.15s}.chip-body .leds i:nth-child(3){animation-delay:.3s}.chip-body .leds i:nth-child(4){animation-delay:.45s}.chip-body .leds i:nth-child(5){animation-delay:.6s}@keyframes ledon{0%,12%{box-shadow:none;background:#2a2d29}24%,80%{background:var(--sig);box-shadow:0 0 0 4px #ff4f1f2e, 0 0 18px var(--sig)}to{box-shadow:none;background:#2a2d29}}.chip-sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8a877c;font-size:11px}.pin{background:linear-gradient(var(--gold), #b8933f);border-radius:1px;width:8%;height:9%;position:absolute}.pin.t,.pin.b{left:calc(14% + var(--i) * 16.5%);width:6%}.pin.t{top:-8%}.pin.b{bottom:-8%}.pin.l,.pin.r{top:calc(14% + var(--i) * 16.5%);width:9%;height:6%}.pin.l{left:-8%}.pin.r{right:-8%}.flow{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.panel{border:1px solid var(--rule-strong);background:var(--card);min-width:0;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:clamp(20px,3.2vw,40px);display:flex}.side{flex-direction:column;gap:14px;min-width:0;display:flex;position:sticky;top:88px}.ghostcard{opacity:.6}.ghostcard blockquote{color:var(--ink-2);font-style:italic}.trace{counter-reset:s;grid-template-columns:repeat(4,1fr);margin:0 0 32px;padding:0;list-style:none;display:grid}.trace li{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:relative}.trace li:not(:last-child):after{content:"";background:var(--rule-strong);height:2px;position:absolute;top:13px;left:30px;right:4px}.trace li.done:not(:last-child):after{background:var(--sig)}.node{z-index:1;border:1.5px solid var(--rule-strong);background:var(--card);width:28px;height:28px;font-family:var(--mono);color:var(--ink-3);border-radius:50%;place-items:center;font-size:12px;font-weight:600;transition:all .3s;display:grid;position:relative}.trace li.done .node{background:var(--sig);border-color:var(--sig);color:var(--sig-ink)}.trace li.now .node{border-color:var(--sig);color:var(--sig);box-shadow:0 0 0 5px var(--sig-soft)}.tname{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px}.trace li.now .tname,.trace li.done .tname{color:var(--ink)}.step h2{letter-spacing:-.015em;outline:none;margin:0;font-size:clamp(26px,3.4vw,36px);font-weight:750;font-stretch:92%;line-height:1.08}.step .sub{color:var(--ink-2);margin:8px 0 24px}.step fieldset{border:0;min-width:0;margin:0;padding:0}.label em{text-transform:none;letter-spacing:0;color:var(--ink-3);font-style:normal}.field{flex-direction:column;gap:6px;min-width:0;margin-top:20px;display:flex}.field>span{font-size:14px;font-weight:600}.field b{color:var(--sig)}.field input,.write textarea{border:1.5px solid var(--rule-strong);border-radius:var(--radius);background:var(--field);width:100%;min-height:50px;padding:12px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field input::placeholder,.write textarea::placeholder{color:var(--ink-3)}.field input:focus,.write textarea:focus{border-color:var(--sig);box-shadow:0 0 0 4px var(--sig-soft);outline:none}.grid2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.grid2 .field:first-child,.grid2 .field:nth-child(2){margin-top:0}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.tile input,.chipbox input,.segs input,.dopt input,.rled input{opacity:0;pointer-events:none;position:absolute}.tile-in{border:1.5px solid var(--rule-strong);background:var(--field);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:14px;height:100%;min-height:96px;padding:14px;font-size:15px;font-weight:600;line-height:1.25;transition:border-color .2s,background .2s,transform .15s;display:flex}.tile-in svg{color:var(--ink-2);transition:color .2s}.tile:hover .tile-in{border-color:var(--ink)}.tile input:checked+.tile-in{border-color:var(--sig);background:var(--sig-soft)}.tile input:checked+.tile-in svg{color:var(--sig)}.tile input:focus-visible+.tile-in{outline:2px solid var(--sig);outline-offset:2px}.tile:active .tile-in{transform:scale(.98)}.rate{flex-direction:column;align-items:flex-start;display:flex}.rate-leds{background:#121512;border-radius:14px;gap:clamp(8px,2vw,14px);padding:14px;display:flex}.rled{cursor:pointer}.rled i{background:radial-gradient(circle at 35% 30%,#3a3e39,#222521);border-radius:50%;width:clamp(40px,9vw,54px);height:clamp(40px,9vw,54px);transition:background .2s,box-shadow .25s,transform .15s;display:block;box-shadow:inset 0 -3px 6px #00000080}.rled:hover i{transform:scale(1.06)}.rled.lit i{background:radial-gradient(circle at 35% 30%, #ffb28f, var(--sig) 55%, #c9370f);box-shadow:0 0 0 4px #ff4f1f33, 0 0 24px var(--sig)}.rled input:focus-visible+.sr+i{outline-offset:3px;outline:2px solid #fff}.rate-leds.pulse .rled.lit i{animation:.35s pop}.rate-leds.pulse .rled.lit:nth-child(2) i{animation-delay:40ms}.rate-leds.pulse .rled.lit:nth-child(3) i{animation-delay:80ms}.rate-leds.pulse .rled.lit:nth-child(4) i{animation-delay:.12s}.rate-leds.pulse .rled.lit:nth-child(5) i{animation-delay:.16s}@keyframes pop{50%{transform:scale(1.14)}}.rate-word{letter-spacing:-.01em;min-height:1.3em;margin:14px 0 0;font-size:clamp(24px,3vw,30px);font-weight:800;font-stretch:90%}.rate-word[data-r="5"]{color:var(--sig)}.detail{border-top:1px dashed var(--rule-strong);flex-direction:column;gap:14px;margin-top:30px;padding-top:24px;display:flex}.subrate{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.subrate legend{float:left;padding:0;font-size:15px;font-weight:600}.segs{border:1.5px solid var(--rule-strong);border-radius:var(--radius);background:var(--field);display:inline-flex;overflow:hidden}.segs label{cursor:pointer}.segs label+label span{border-left:1px solid var(--rule-strong)}.segs span{min-width:44px;min-height:42px;font-family:var(--mono);place-items:center;padding:0 10px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:grid}.segs.wide span{min-width:72px;font-family:var(--display);font-weight:600}.segs label:hover span{background:var(--sig-soft)}.segs input:checked+span{background:var(--sig);color:var(--sig-ink)}.segs input:focus-visible+span{outline:2px solid var(--sig);outline-offset:-3px}.subrate.again{margin-top:6px}.write{position:relative}.write textarea{resize:vertical;min-height:170px;line-height:1.55}.write-foot{align-items:center;gap:12px;margin-top:10px;display:flex}.meter{background:var(--rule-strong);border-radius:3px;flex:1;height:3px;overflow:hidden}.meter i{background:var(--ink-3);width:0;height:100%;transition:width .25s,background .25s;display:block}.meter i.ok{background:var(--ok)}.count{font-family:var(--mono);color:var(--ink-3);white-space:nowrap;font-size:12px}.count.ok{color:var(--ok)}.starters{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 28px;font-size:13px;display:flex}.starter{border:1px dashed var(--rule-strong);color:var(--ink-2);background:0 0;border-radius:6px;padding:6px 10px;font-size:13px;transition:border-color .2s,color .2s}.starter:hover{border-color:var(--sig);color:var(--ink)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips legend{width:100%;margin-bottom:12px}.chipbox span{border:1.5px solid var(--rule-strong);background:var(--field);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:14px;font-weight:550;transition:all .15s;display:inline-flex}.chipbox span:before{content:"+";font-family:var(--mono);color:var(--ink-3)}.chipbox:hover span{border-color:var(--ink)}.chipbox input:checked+span{border-color:var(--sig);background:var(--sig);color:var(--sig-ink)}.chipbox input:checked+span:before{content:"✓";color:inherit}.chipbox input:focus-visible+span{outline:2px solid var(--sig);outline-offset:2px}.display{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;margin-top:28px!important}.display legend{margin-bottom:12px}.dopt{cursor:pointer}.dopt>span{border:1.5px solid var(--rule-strong);background:var(--field);border-radius:10px;flex-direction:column;gap:2px;height:100%;padding:14px;transition:border-color .2s,background .2s;display:flex}.dopt b{font-size:15px}.dopt small{color:var(--ink-2);font-size:13px}.dopt:hover>span{border-color:var(--ink)}.dopt input:checked+span{border-color:var(--sig);background:var(--sig-soft);box-shadow:inset 0 0 0 1px var(--sig)}.dopt input:focus-visible+span{outline:2px solid var(--sig);outline-offset:2px}.consent{color:var(--ink-2);align-items:flex-start;gap:10px;margin:20px 0 0;font-size:13.5px;display:flex}.consent svg{color:var(--ok);flex:none;margin-top:2px}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.actions{border-top:1px solid var(--rule-strong);align-items:center;gap:12px;margin-top:36px;padding-top:24px;display:flex}.actions .err{color:var(--sig);text-align:center;flex:1;margin:0;font-size:14px}.actions #next{min-width:170px;margin-left:auto}.actions #next[aria-disabled=true]{opacity:.4}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.finish{text-align:left;max-width:720px;margin:0 auto;padding-top:clamp(8px,4vw,40px);position:relative}.finish h1{font-size:clamp(36px,6vw,64px)}.done-card{margin-top:28px;animation:.6s cubic-bezier(.2,.8,.2,1) .4s both enter}.done-cta{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.stamp{border:3px solid var(--ok);color:var(--ok);font-family:var(--mono);text-transform:uppercase;border-radius:8px;flex-direction:column;align-items:center;margin-bottom:24px;padding:10px 18px;animation:.5s cubic-bezier(.3,1.6,.5,1) .1s both stamp;display:inline-flex;position:relative;transform:rotate(-6deg)}.stamp span{letter-spacing:.12em;font-size:22px;font-weight:600}.stamp small{letter-spacing:.1em;font-size:11px}@keyframes stamp{0%{opacity:0;transform:rotate(-6deg)scale(2.2)}}.sparks{pointer-events:none;position:absolute;top:50%;left:50%}.sparks i{background:var(--sig);border-radius:1px;width:6px;height:6px;margin:-3px;animation:1.1s cubic-bezier(.2,.7,.3,1) both spark;position:absolute}.sparks i.g{background:var(--gold)}@keyframes spark{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--x), var(--y)) scale(.3)}}.foot{padding:0 var(--gutter) 32px;text-align:center;font-family:var(--mono);color:var(--ink-3);margin:0;font-size:12px}@media (width<=900px){.intro{grid-template-columns:1fr;min-height:0}.intro-art{aspect-ratio:auto;order:-1;height:190px}.chip{width:150px}.chip-body{padding:14px}.chip-body .leds{gap:6px}.chip-body .leds i{width:13px;height:13px}.flow{grid-template-columns:1fr}.side{display:none}.flow:has(.display) .side{display:flex}}@media (width<=600px){.shell{padding-top:20px;padding-bottom:120px}.panel{border-radius:12px;padding:20px 16px 0}.tname{letter-spacing:.02em;font-size:10px}.trace{margin-bottom:26px}.tiles{grid-template-columns:1fr 1fr}.tile-in{min-height:88px}.grid2{grid-template-columns:1fr}.grid2 .field:nth-child(2){margin-top:20px}.display{grid-template-columns:1fr}.subrate{flex-direction:column;align-items:flex-start;gap:8px}.segs{width:100%}.segs label{flex:1}.segs span,.segs.wide span{min-width:0}.intro-cta .btn{width:100%}.actions{z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--card) 94%, transparent);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--rule-strong);margin:0;position:fixed;bottom:0;left:0;right:0}.actions .err{background:var(--card);border-top:1px solid var(--rule-strong);padding:8px;position:absolute;bottom:100%;left:16px;right:16px}.actions .err:empty{display:none}.actions #back{background:var(--card);min-width:0;padding:0 16px}.actions #next{flex:1;min-width:0}.done-cta .btn{width:100%}}
