:root{--ink:#ecf8f4;--muted:#9fb7b2;--bg:#061116;--panel:rgba(7,24,29,.9);--aqua:#5cf2ce;--gold:#ffc75c;--coral:#ff7866;--line:rgba(180,255,235,.16)}
    *{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Inter,sans-serif}
    button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
    #world{position:fixed;inset:0}canvas{display:block}body.reduce-motion *{scroll-behavior:auto!important;animation-duration:.01ms!important}
    .screen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:linear-gradient(120deg,rgba(2,10,14,.96),rgba(5,30,31,.9));transition:.45s}
    .screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro{width:min(920px,100%);position:relative}
    .eyebrow{color:var(--aqua);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}
    h1,h2,h3,p{margin-top:0}.intro h1{font:700 clamp(3rem,9vw,7.5rem)/.82 Space Grotesk;margin:.35em 0 .25em;letter-spacing:-.075em}
    .intro h1 span{display:block;color:transparent;-webkit-text-stroke:1px rgba(236,248,244,.55)}
    .lead{max-width:670px;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;color:var(--muted)}
    .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{border:1px solid var(--line);border-radius:100px;background:rgba(255,255,255,.06);padding:13px 20px;font-weight:800;cursor:pointer;transition:.2s}
    .btn:hover{transform:translateY(-2px);border-color:var(--aqua)}.btn.primary{background:var(--aqua);color:#04201a;border-color:var(--aqua)}
    .btn.small{padding:9px 13px;font-size:.8rem}.intro-foot{display:flex;gap:24px;flex-wrap:wrap;margin-top:38px;color:#78938e;font-size:.75rem}
    #hud{position:fixed;inset:0;z-index:10;pointer-events:none;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:none}
    #hud.active{display:block}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
    .brand,.stats,.mission-box,.map,.help{background:var(--panel);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 16px 45px rgba(0,0,0,.24)}
    .brand{border-radius:16px;padding:13px 16px}.brand strong{font-family:Space Grotesk}.brand span{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
    .stats{border-radius:16px;padding:11px 14px;display:flex;gap:18px;text-align:right}.stat b{display:block;color:var(--aqua);font:700 1.25rem Space Grotesk}.stat small{color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}
    .mission-box{position:absolute;left:18px;top:92px;width:min(330px,calc(100vw - 36px));border-radius:16px;padding:15px}
    .mission-box .chapter{color:var(--gold);font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.mission-box h2{font:600 1rem Space Grotesk;margin:6px 0}.mission-box p{font-size:.78rem;color:var(--muted);margin:0;line-height:1.4}
    .progress{height:4px;background:rgba(255,255,255,.08);margin-top:12px;border-radius:10px;overflow:hidden}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--aqua),var(--gold));width:0;transition:.4s}
    .map{position:absolute;right:18px;top:92px;width:88px;height:190px;border-radius:44px;padding:16px 0}.map-line{height:100%;width:2px;background:var(--line);margin:auto;position:relative}
    .map-dot{position:absolute;left:50%;translate:-50% -50%;width:12px;height:12px;border:2px solid #617a76;background:#102429;border-radius:50%;transition:.3s}.map-dot.done{background:var(--aqua);border-color:var(--aqua)}.map-dot.current{width:17px;height:17px;border-color:var(--gold);box-shadow:0 0 18px var(--gold)}
    .bottom{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:end}.speed{font:700 clamp(2.2rem,7vw,4rem)/.8 Space Grotesk;text-shadow:0 6px 30px #000}.speed span{font:600 .65rem Inter;color:var(--muted);letter-spacing:.15em}
    .help{border-radius:14px;padding:11px 15px;color:var(--muted);font-size:.7rem}.key{border:1px solid #617a76;border-bottom-width:3px;border-radius:5px;padding:3px 6px;color:white;margin:0 2px}
    #prompt{position:fixed;z-index:13;left:50%;bottom:26%;transform:translateX(-50%) translateY(12px);opacity:0;transition:.25s;background:rgba(2,13,16,.9);border:1px solid var(--gold);border-radius:100px;padding:11px 18px;font-size:.8rem;font-weight:800;pointer-events:none}
    #prompt.show{opacity:1;transform:translateX(-50%) translateY(0)}
    #toast-stack{position:fixed;z-index:20;top:20px;left:50%;translate:-50%;display:grid;gap:8px;pointer-events:none}.toast{background:#0a2024;border:1px solid var(--line);border-radius:50px;padding:10px 16px;box-shadow:0 10px 30px #0008;animation:toast-in .35s ease;font-size:.8rem;font-weight:700}@keyframes toast-in{from{opacity:0;transform:translateY(-15px)}}
    .overlay{position:fixed;z-index:25;inset:0;background:rgba(2,9,12,.78);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.3s}.overlay.open{opacity:1;visibility:visible}
    .card{width:min(740px,100%);max-height:90vh;overflow:auto;background:#0a1b20;border:1px solid var(--line);border-radius:28px;padding:clamp(22px,5vw,46px);box-shadow:0 30px 100px #000b}
    .card-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.card h2{font:700 clamp(1.8rem,5vw,3.5rem)/1 Space Grotesk;margin:10px 0}.company{color:var(--aqua);font-weight:800}.story{color:#bed0cc;line-height:1.7}.result{border-left:3px solid var(--gold);padding:10px 16px;background:rgba(255,199,92,.06);margin:22px 0}.result b{display:block;color:var(--gold);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}
    .tags{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:7px 10px;border:1px solid var(--line);border-radius:100px;color:var(--muted);font-size:.75rem}.challenge{margin-top:24px;padding:18px;border-radius:18px;background:#071418}.challenge h3{font:600 1rem Space Grotesk}.challenge-options{display:grid;gap:8px}.option{text-align:left;border:1px solid var(--line);background:#0d252a;border-radius:12px;padding:12px;cursor:pointer}.option:hover{border-color:var(--aqua)}.option.correct{background:rgba(92,242,206,.12);border-color:var(--aqua)}.option.wrong{border-color:var(--coral)}
    .close{border:0;background:transparent;color:var(--muted);font-size:1.6rem;cursor:pointer}.recruiter{position:fixed;z-index:40;inset:0;background:#f1f4ef;color:#15231f;overflow:auto;padding:clamp(20px,5vw,70px);display:none}.recruiter.open{display:block}
    .cv{max-width:1000px;margin:auto}.cv-nav{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:60px}.cv h1{font:700 clamp(3rem,8vw,7rem)/.85 Space Grotesk;letter-spacing:-.07em}.cv h2{font:600 1.3rem Space Grotesk;margin-bottom:18px}.cv-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px}.cv-intro{font-size:1.15rem;line-height:1.7;color:#50615c}.job{border-top:1px solid #b8c5c0;padding:22px 0;display:grid;grid-template-columns:120px 1fr;gap:20px}.job time{color:#60716c;font-size:.8rem}.job h3{margin-bottom:5px}.job p{color:#50615c;line-height:1.55}.cv-tags{display:flex;gap:7px;flex-wrap:wrap}.cv-tags span{background:#dae6e1;padding:6px 9px;border-radius:40px;font-size:.72rem}
    #mobile{position:fixed;z-index:16;bottom:max(18px,env(safe-area-inset-bottom));left:18px;right:18px;display:none;justify-content:space-between;pointer-events:none}.pad,.pedals{display:grid;gap:7px;pointer-events:auto}.pad{grid-template-columns:55px 55px}.pedals{grid-template-columns:60px}.touch{height:55px;border:1px solid var(--line);border-radius:16px;background:rgba(7,24,29,.8);backdrop-filter:blur(10px);font-weight:800;touch-action:none}.touch.active{background:rgba(92,242,206,.3)}
    .settings{position:fixed;z-index:18;right:18px;bottom:18px;display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);cursor:pointer}
    .complete{text-align:center}.complete .score{font:700 clamp(4rem,15vw,9rem) Space Grotesk;color:var(--aqua)}.complete p{color:var(--muted);max-width:520px;margin:0 auto 25px;line-height:1.6}
    @media(max-width:720px){.help,.map{display:none}.mission-box{top:84px}.stats{gap:10px}.stat b{font-size:1rem}.brand span{display:none}.bottom{bottom:105px}.settings{bottom:auto;top:84px}.cv-grid{grid-template-columns:1fr;gap:25px}.job{grid-template-columns:1fr}.intro h1{font-size:clamp(3rem,17vw,5rem)}#mobile{display:flex}}
    @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
    @media print{.cv-nav{display:none}.recruiter{position:static;display:block;padding:0}.cv-grid{display:block}.cv-intro{margin-bottom:30px}}
