:root{--ink: #0a0e1a;--ink-2: #111728;--ink-3: #182036;--line: rgba(160,180,225,.14);--line-2: rgba(160,180,225,.28);--text: #f1f3f9;--soft: #b4bdd0;--mute: #8590a7;--tang: #ff8a3d;--tang-soft: #ffc9a3;--on-tang: #1c0d02;--scope: #57d9c8;--good: #5fe0a5;--good-tint: rgba(95,224,165,.13);--bad: #ff9486;--bad-tint: rgba(255,120,105,.14);--warn: #ffcf6b;--warn-tint: rgba(255,207,107,.12);--primary: var(--tang);--on-primary: var(--on-tang);--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ink);color:var(--soft);font:16px/1.5 var(--sans)}h1,h2,h3{color:var(--text);line-height:1.2;margin:0}p{margin:0 0 8px}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--tang)}img{display:block}:focus-visible{outline:2px solid var(--tang);outline-offset:2px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page{max-width:640px;margin:0 auto;padding:24px 16px 96px}.muted{color:var(--mute)}.note{padding:9px 12px;border-radius:10px;background:#57d9c81a;color:var(--scope);font-size:.875rem}.back{display:inline-block;margin-top:12px;font-size:.9rem}.kicker{margin:0 0 12px;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tang)}.card{margin-bottom:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--ink-2)}.button{min-height:46px;padding:0 20px;border:0;border-radius:12px;background:var(--tang);color:var(--on-tang);font-weight:700;transition:transform .1s,filter .15s}.button:hover:not(:disabled){filter:brightness(1.08)}.button:active:not(:disabled){transform:scale(.98)}.button.quiet{background:#ffffff14;color:var(--text);flex:0 1 34%}.button:disabled{opacity:.4;cursor:default}.lab-wrap{width:100%;max-width:1160px;margin:0 auto;padding-inline:16px}.home{min-height:100vh;background:radial-gradient(1100px 620px at 78% -8%,rgba(255,138,61,.13),transparent 62%),radial-gradient(800px 520px at 8% 8%,rgba(87,217,200,.07),transparent 60%),linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 100% 44px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 44px 100%,var(--ink);background-size:auto,auto,44px 44px,44px 44px,auto;background-repeat:no-repeat,no-repeat,repeat,repeat,no-repeat;background-attachment:scroll}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:16px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--text);font-weight:600;text-decoration:none;letter-spacing:-.01em}.brand svg{color:var(--tang)}.brand b{color:var(--tang)}.who{font-size:.875rem;color:var(--soft)}.hero{display:grid;gap:24px;padding-block:20px 28px}.hero h1{font-size:clamp(2.5rem,9.5vw,4.5rem);font-weight:800;letter-spacing:-.035em;line-height:1;text-wrap:balance}.lead{max-width:34em;margin:16px 0 20px;font-size:clamp(1rem,2.4vw,1.15rem);color:var(--soft)}.search{width:100%;max-width:480px;height:52px;padding:0 18px;border:1px solid var(--line-2);border-radius:14px;background:var(--ink-2);color:var(--text);transition:border-color .15s,box-shadow .15s}.search::placeholder{color:var(--mute)}.search:focus{outline:0;border-color:var(--tang);box-shadow:0 0 0 3px #ff8a3d33}.stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:16px 0 0;font-size:.9rem;color:var(--mute)}.stats b{font-family:var(--mono);font-weight:600;color:var(--text)}.stats i{width:3px;height:3px;margin:0 4px;border-radius:50%;background:var(--mute)}.showcase{position:relative;display:block;aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#0a0e1a;color:var(--text);text-decoration:none;box-shadow:0 30px 70px #00000073}.showcase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 5.4s ease-out}.showcase img.on{opacity:1;transform:scale(1)}.showcase:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 56%,#0a0e1ae6)}.tick{position:absolute;z-index:1;width:16px;height:16px;border:0 solid var(--tang)}.tick.tl{top:14px;left:14px;border-width:2px 0 0 2px}.tick.tr{top:14px;right:14px;border-width:2px 2px 0 0}.tick.bl{bottom:14px;left:14px;border-width:0 0 2px 2px}.tick.br{bottom:14px;right:14px;border-width:0 2px 2px 0}.showcase-tag{position:absolute;z-index:1;top:20px;left:40px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tang-soft)}.showcase-name{position:absolute;z-index:1;left:40px;right:40px;bottom:24px;display:grid;gap:2px}.showcase-name b{font-size:1.3rem;letter-spacing:-.02em}.showcase-name small{font-size:.85rem;color:var(--soft)}.shelf{padding-block:8px 72px}.shelf-title{margin-bottom:14px;font-size:1.35rem;letter-spacing:-.02em}.resume{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding:14px 18px;border:1px solid rgba(255,138,61,.45);border-radius:14px;background:#ff8a3d1a;color:var(--text);text-decoration:none}.resume span{display:grid;min-width:0}.resume small{color:var(--tang-soft);font-size:.78rem}.resume em{flex:none;font-style:normal;font-size:.85rem;color:var(--soft)}.benches{display:grid;gap:14px}.bench{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--ink-2);color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s,box-shadow .2s}.bench:hover{transform:translateY(-3px);border-color:#ff8a3d8c;box-shadow:0 18px 40px #0006}.bench img{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--ink);transition:transform .5s ease}.bench:hover img{transform:scale(1.04)}.bench-field{position:absolute;top:12px;left:12px;padding:5px 9px;border-radius:99px;background:#0a0e1ac7;font:500 11px/1 var(--mono);color:var(--tang-soft)}.bench-body{position:relative;display:flex;flex:1;flex-direction:column;padding:16px 18px;background:var(--ink-2)}.bench h3{margin-bottom:6px;font-size:1.25rem;letter-spacing:-.02em}.bench p{color:var(--soft);font-size:.94rem}.bench-meta{display:flex;align-items:center;margin-top:auto;padding-top:10px;font:500 12px var(--mono);color:var(--mute)}.bench-meta em{margin-left:auto;font:700 .9rem var(--sans);color:var(--tang)}.bench-meta em:after{content:" →"}.bench-bar{position:absolute;left:0;bottom:0;height:3px;background:var(--tang)}.does{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}.does span{display:block;margin-bottom:8px;font:500 12px var(--mono);color:var(--tang)}.does b{display:block;margin-bottom:4px;font-size:1.05rem;color:var(--text)}.does p{margin:0;font-size:.9rem;color:var(--soft)}.found{display:grid;gap:8px}.found-row{display:flex;align-items:center;gap:12px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);color:inherit;text-decoration:none}.found-row:hover{border-color:#ff8a3d8c}.found-row img{flex:none;width:64px;height:48px;border-radius:8px;object-fit:cover}.found-row span{display:grid;min-width:0}.found-row b{color:var(--text);font-weight:600}.found-row small{color:var(--mute)}@media(min-width:640px){.benches{grid-template-columns:repeat(6,1fr)}.bench{grid-column:span 3}.bench:not(.wide){grid-column:span 2}}@media(min-width:900px){.hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:48px;padding-block:36px 48px}.does{grid-template-columns:repeat(4,1fr)}.found{grid-template-columns:repeat(2,1fr)}}.lessons-head{margin-bottom:16px}.lessons-head h2{margin-bottom:4px;font-size:18px;letter-spacing:-.01em}.lessons-head p{margin:0;font-size:13.5px;color:var(--soft)}.lessons h3{margin:16px 0 6px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tang)}.meter{position:relative;height:4px;margin:12px 0 22px;border-radius:2px;background:#ffffff1a}.meter i{position:absolute;inset:0 auto 0 0;border-radius:2px;background:var(--tang)}.meter span{position:absolute;top:8px;left:0;font:500 11px var(--mono);color:var(--mute)}.atlas .lesson-row,.lesson-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;width:100%;padding:9px 8px;border-radius:10px;text-align:left;transition:background .12s}.lesson-row{border:0;background:none}.lesson-row:hover{background:#ffffff0f}.lesson-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);font:500 11px var(--mono);color:var(--soft)}.lesson-row.done .lesson-no{border-color:var(--good);background:var(--good-tint);color:var(--good)}.lesson-row.going .lesson-no{border-color:var(--tang);color:var(--tang)}.lesson-text{display:grid;min-width:0}.lesson-text b{color:var(--text);font-size:14px;font-weight:600;line-height:1.3}.lesson-text small{overflow:hidden;color:var(--mute);font-size:12.5px;white-space:nowrap;text-overflow:ellipsis}.lesson-end{font:500 11px var(--mono);color:var(--mute)}.lesson-row.going .lesson-end{color:var(--tang)}.atlas .panel-back,.panel-back{display:inline-flex;gap:6px;margin-bottom:10px;padding:4px 0;border:0;background:none;color:var(--soft);font-size:13px}.panel-back:before{content:"←"}.panel-back:hover{color:var(--text)}.panel-title{margin-bottom:12px;font-size:20px;letter-spacing:-.02em}.steps{display:flex;gap:3px;margin-bottom:14px}.steps i{flex:1;height:4px;border-radius:2px;background:#ffffff1a;transition:background .2s}.steps i.past{background:#ff8a3d80}.steps i.now{background:var(--tang)}.card .eyebrow{display:flex;justify-content:space-between;margin-bottom:8px;font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tang)}.card .eyebrow span{color:var(--mute);letter-spacing:0;text-transform:none}.card h2{margin-bottom:8px;font-size:17px;letter-spacing:-.01em;line-height:1.3}.card h3{margin-top:12px;font-size:14px}.card p,.card li{color:var(--soft);font-size:14.5px}.goals{margin:6px 0 0;padding-left:20px}.goals li{margin-bottom:4px}.draft{padding:6px 10px;border-radius:8px;background:var(--warn-tint);color:var(--warn)!important;font-size:12.5px!important}.card.step-safety .eyebrow{color:var(--bad)}.options{display:grid;gap:8px;margin-top:4px}.atlas .option,.option{min-height:46px;padding:10px 13px;border:1px solid var(--line-2);border-radius:11px;background:#ffffff0a;color:var(--text);text-align:left;font-size:14px;transition:border-color .12s,background .12s}.option:hover:not(:disabled){border-color:var(--tang)}.option:disabled{cursor:default}.atlas .option.right,.option.right{border-color:var(--good);background:var(--good-tint)}.atlas .option.wrong,.option.wrong{border-color:var(--bad);background:var(--bad-tint)}.card .feedback,.feedback{margin:10px 0 0;padding:9px 11px;border-radius:10px;background:#57d9c81a;color:var(--scope);font-size:13.5px}.card .feedback.good,.feedback.good{background:var(--good-tint);color:var(--good)}.card .feedback.bad,.feedback.bad{background:var(--bad-tint);color:var(--bad)}.card .waiting{display:flex;align-items:center;gap:9px;margin:12px 0 0;color:var(--tang-soft);font-size:13px}.waiting i{width:9px;height:9px;border-radius:50%;background:var(--tang);animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}.actions{display:flex;gap:8px}.actions .button{flex:1}.numeric{display:flex;align-items:center;gap:8px;margin:10px 0}.numeric input{width:120px;min-height:44px;padding:0 10px;border:1px solid var(--line-2);border-radius:10px;background:#ffffff0d}.hint{margin:8px 0;font-size:13.5px}.hint summary{cursor:pointer;color:var(--tang-soft)}.result{text-align:center}.score{display:grid;place-content:center;width:112px;height:112px;margin:6px auto 12px;border-radius:50%;background:radial-gradient(closest-side,var(--ink-2) 80%,transparent 81%),conic-gradient(var(--tang) var(--score),rgba(255,255,255,.1) 0);animation:rise .4s ease-out}.score b{font:600 1.5rem/1 var(--mono);color:var(--text)}.score span{margin-top:3px;font-size:.68rem;color:var(--mute)}.review{margin:12px 0;text-align:left;font-size:.9rem}.result .actions{margin-top:14px}.next-up{margin:10px 0 0;font-size:12.5px;color:var(--mute)!important}.cue{position:fixed;z-index:61;top:108px;left:calc(50% - 186px);transform:translate(-50%);padding:8px 15px;border-radius:99px;background:var(--tang);color:var(--on-tang);font-size:13px;font-weight:700;white-space:nowrap;pointer-events:none;animation:cue 3s ease both}@keyframes cue{0%{opacity:0;translate:0 -8px}8%,88%{opacity:1;translate:0 0}to{opacity:0}}@media(max-width:1000px){.cue{top:96px;left:50%;max-width:calc(100vw - 16px);overflow:hidden;text-overflow:ellipsis}}.start{position:fixed;inset:0;display:grid;place-items:end start;overflow:auto;background:var(--ink)}.start img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.start>div{position:relative;width:100%;padding:24px 20px 32px;background:linear-gradient(transparent,var(--ink) 34%)}.start h1{font-size:clamp(2rem,7vw,3rem);letter-spacing:-.03em}.start p{max-width:30em;margin:10px 0 18px}.start p.start-note{margin:12px 0 0;font-size:.85rem;color:var(--mute)}.start .back{display:block}.atlas-loader{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:var(--ink);color:var(--text);text-align:center}.atlas-loader-title{margin:0 0 14px;font-size:16px;font-weight:600}.atlas-loader-bar{width:min(260px,70vw);height:3px;overflow:hidden;border-radius:2px;background:#ffffff1f}.atlas-loader-bar i{display:block;height:100%;background:var(--tang);transition:width .2s}.atlas-loader-bar i.run{width:40%;animation:atlas-load 1.2s ease-in-out infinite}.atlas-loader-stage{margin:12px 0 0;font-size:13px;color:var(--mute)}@keyframes atlas-load{0%{transform:translate(-100%)}to{transform:translate(250%)}}.gate{display:grid;min-height:100vh;min-height:100dvh;background:var(--ink)}.gate-hero{display:flex;flex-direction:column;gap:12px;padding:24px 20px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 44px 44px,var(--ink-2);color:var(--text)}.gate-brand,.gate-hero h1,.gate-hero ul{position:relative;margin:0;color:inherit}.gate-brand{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tang)}.gate-hero h1{font-size:clamp(1.9rem,6vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.04}.gate-hero ul{display:none;padding:0;list-style:none}.gate-hero li{margin-top:8px;color:var(--soft)}.gate-hero li b{display:block;color:var(--text)}.gate-form{display:flex;flex-direction:column;justify-content:center;gap:14px;width:100%;max-width:400px;margin:0 auto;padding:24px 20px}.gate-form h2,.gate-form p{margin:0}.gate-form h2{font-size:1.5rem;letter-spacing:-.02em}.gate-form label{display:grid;gap:6px;font-weight:600;color:var(--text)}.gate-form input{min-height:48px;padding:0 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--ink-2);font-size:16px;font-weight:400}.gate-form input:focus{outline:2px solid var(--tang);outline-offset:1px}.gate-form a{text-align:center;color:var(--tang)}@media(min-width:820px){.gate{grid-template-columns:1.15fr 1fr}.gate-hero{padding:48px}.gate-hero ul{display:block}}.gate-scene{position:relative;flex:1;min-height:240px}.gate-scene canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}.gate-live{position:absolute;top:0;left:0;display:flex;gap:8px;pointer-events:none}.gate-live div{min-width:86px;padding:6px 10px;border-radius:10px;background:#ffffff14;font-family:var(--mono)}.gate-live span{display:block;font-size:.72rem;color:var(--soft)}.gate-stages{position:absolute;bottom:0;left:0;display:flex;gap:6px;pointer-events:none}.gate-stages span{padding:3px 9px;border-radius:99px;font-size:.75rem;opacity:.55;transition:background .3s,opacity .3s}.gate-stages span.on{background:var(--tang);color:var(--on-tang);opacity:1}.google{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid var(--line-2);border-radius:12px;background:var(--ink-2);color:var(--text);font-weight:700}.google:disabled{opacity:.6}.gate-form .gate-or{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:.85rem}.gate-or:before,.gate-or:after{content:"";flex:1;height:1px;background:var(--line)}.gate-challenge{min-height:65px}
