:root{--void:#0b0a1f;--space:#15123a;--space2:#1e1a4d;--space3:#2c2766;--gold:#f6cc50;--gold2:#ffe9a3;--lav:#b9a8ff;--paper:#fff8e6;--ink:#0a0818;--muted:#9c94c9;--rose:#ff8fa3;
--fd:"Lilita One",system-ui,sans-serif;--fm:"Space Mono",monospace;--fb:"Nunito",system-ui,sans-serif;--stroke:3px;--spring:cubic-bezier(.34,1.56,.64,1)}
*{box-sizing:border-box}html,body{margin:0}
body{background:radial-gradient(ellipse at 20% 0%,#2a1f6b 0%,transparent 55%),radial-gradient(ellipse at 90% 100%,#4a2a5e 0%,transparent 50%),var(--void);color:var(--paper);font-family:var(--fb);min-height:100svh;overflow-x:hidden}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0}
.stars i{position:absolute;width:3px;height:3px;background:var(--gold2);animation:twinkle 3s infinite ease-in-out;image-rendering:pixelated}
@keyframes twinkle{50%{opacity:.15;transform:scale(.6)}}
.mono{font-family:var(--fm);text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,4vw,48px)}
.nav__brand{display:flex;gap:10px;align-items:center;font-family:var(--fd);font-size:22px;color:var(--paper);text-decoration:none}
.nav__brand img{width:40px;height:40px;border:var(--stroke) solid var(--ink);border-radius:10px;image-rendering:pixelated;box-shadow:2px 2px 0 var(--ink)}
.nav__links{display:flex;gap:4px;border:1px solid #ffffff22;border-radius:99px;padding:6px;background:#0b0a1f99;backdrop-filter:blur(8px)}
.nav__links a{color:var(--paper);text-decoration:none;padding:8px 14px;border-radius:99px}.nav__links a:hover{background:var(--space3)}
.nav__right{display:flex;gap:10px;align-items:center}
.nav__x{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ffffff33;border-radius:50%;color:var(--paper);text-decoration:none;font-weight:800}
.btn{font-family:var(--fd);font-size:18px;border:var(--stroke) solid var(--ink);background:var(--gold);color:var(--ink);padding:12px 24px;border-radius:99px;box-shadow:4px 4px 0 var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:transform .2s var(--spring),box-shadow .2s}
.btn:hover{transform:translate(-2px,-2px) rotate(-1deg);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn--ghost{background:transparent;color:var(--paper);border-color:#ffffff44;box-shadow:none}.btn--sm{font-size:15px;padding:8px 16px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
/* apply */
.apply-page{position:relative;z-index:1;min-height:100svh;padding:120px clamp(16px,4vw,48px) 60px}
.apply{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,80px);max-width:1240px;margin:0 auto;align-items:start}
.apply__side{position:sticky;top:110px}
.eyebrow{color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:24px;height:2px;background:var(--gold)}
.apply__title{font-family:var(--fd);font-weight:400;font-size:clamp(48px,6.4vw,100px);line-height:.92;margin:14px 0 34px}
.apply__title em{font-style:normal;color:var(--gold);text-shadow:0 5px 0 #b07d1a,0 0 30px #f6cc5066;display:inline-block;animation:float 4s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-6px) rotate(-1.5deg)}}
.steps{list-style:none;padding:0;margin:0 0 36px;display:grid;gap:8px}
.steps li{display:flex;align-items:center;gap:14px;font-family:var(--fd);font-size:20px;color:var(--muted);transition:color .3s}
.orb{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--fm);font-size:12px;border:2px solid var(--space3);background:var(--space);transition:all .4s var(--spring)}
.steps li.cur{color:var(--paper)}.steps li.cur .orb{background:var(--gold);color:var(--ink);border:var(--stroke) solid var(--ink);box-shadow:0 0 0 5px #f6cc5033,3px 3px 0 var(--ink);transform:scale(1.1)}
.steps li.done .orb{background:var(--lav);color:var(--ink);border-color:var(--lav)}
.guard{display:flex;align-items:flex-end;gap:10px}
.guard__img{width:170px;flex:none;position:relative;animation:bob 3s ease-in-out infinite}
.guard__img img{width:100%;border:var(--stroke) solid var(--ink);border-radius:18px;image-rendering:pixelated;box-shadow:6px 6px 0 var(--ink);display:block}
.guard__img:before{content:"";position:absolute;left:50%;top:-18px;width:70%;height:14px;transform:translateX(-50%);border:4px solid var(--gold2);border-radius:50%;box-shadow:0 0 18px var(--gold);animation:halo 2.4s ease-in-out infinite}
@keyframes halo{50%{transform:translateX(-50%) translateY(-4px)}}
@keyframes bob{50%{transform:translateY(-8px)}}
.speech{font-family:var(--fm);font-size:13px;background:var(--paper);color:var(--ink);border:var(--stroke) solid var(--ink);border-radius:14px 14px 14px 2px;padding:12px 14px;max-width:240px;min-height:3.6em;box-shadow:4px 4px 0 var(--ink);margin-bottom:90px}
.caret{display:inline-block;width:8px;height:1em;background:var(--ink);vertical-align:-2px;animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}
.panel{border:var(--stroke) solid var(--ink);background:linear-gradient(to bottom,var(--space2),var(--space));box-shadow:10px 10px 0 var(--ink),0 0 0 1px #b9a8ff22 inset;border-radius:24px;padding:clamp(22px,3.4vw,40px);position:relative;overflow:hidden}
.panel__head{display:flex;align-items:center;gap:16px;color:var(--muted);margin-bottom:28px}
.meter{flex:1;height:6px;border-radius:6px;background:var(--space3);overflow:hidden}.meter i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--lav),var(--gold));transition:width .6s var(--spring)}
.step{display:none;animation:pop .45s var(--spring)}.step.on{display:block}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.step h2{font-family:var(--fd);font-weight:400;font-size:clamp(30px,3.4vw,44px);line-height:1;margin:0 0 10px}
.hint{color:var(--muted);margin:0 0 24px;max-width:34em}
.field{display:flex;align-items:center;gap:6px;background:var(--paper);border:var(--stroke) solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 var(--gold);padding:0 18px;margin-bottom:18px;transition:box-shadow .2s,transform .2s}
.field:focus-within{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--gold)}
.field span{font-family:var(--fd);color:#8a7fc0;font-size:22px}
.field input,.field textarea{flex:1;border:0;background:transparent;font-family:var(--fd);font-size:22px;color:var(--ink);padding:16px 0;outline:none;width:100%;resize:vertical}
.field textarea{font-family:var(--fb);font-weight:700;font-size:17px;min-height:110px}
.field input::placeholder,.field textarea::placeholder{color:#b9b2d8}
.field.bad{box-shadow:6px 6px 0 var(--rose);animation:shake .4s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
label.lbl{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lav);margin:0 0 8px}
.err{color:var(--rose);font-weight:700;min-height:1.4em;margin:-6px 0 10px}
.quests{display:grid;gap:12px;margin-bottom:10px}
.quest{display:flex;align-items:center;gap:14px;border:2px solid var(--space3);background:#0b0a1f66;border-radius:16px;padding:14px 16px;transition:all .3s var(--spring)}
.quest b{font-family:var(--fd);font-weight:400;font-size:19px;display:block}.quest small{color:var(--muted)}
.quest .q-ico{width:44px;height:44px;flex:none;border-radius:12px;background:var(--space3);display:grid;place-items:center;font-size:22px}
.quest .q-go{margin-left:auto}
.quest.done{border-color:var(--gold);background:#f6cc5014}.quest.done .q-ico{background:var(--gold);animation:stamp .4s var(--spring)}
@keyframes stamp{from{transform:scale(1.8) rotate(-20deg);opacity:0}}
.nav-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;flex-wrap:wrap}
.review{display:grid;gap:10px;margin-bottom:10px}.review div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--space3);padding:8px 0}.review dt{color:var(--muted)}.review dd{margin:0;font-weight:800;word-break:break-all;text-align:right}
.done-box{text-align:center;padding:10px 0}
.done-box img{width:150px;border:var(--stroke) solid var(--ink);border-radius:18px;image-rendering:pixelated;box-shadow:6px 6px 0 var(--ink);animation:ascend 1.2s var(--spring)}
@keyframes ascend{from{transform:translateY(80px) scale(.4) rotate(-10deg);opacity:0}}
.stamp{display:inline-block;font-family:var(--fd);font-size:26px;color:var(--gold);border:4px solid var(--gold);border-radius:12px;padding:6px 16px;transform:rotate(-8deg);margin:18px 0;animation:stamp .6s .5s var(--spring) both}
.confetti{position:fixed;width:10px;height:10px;top:-20px;z-index:50;pointer-events:none;animation:fall linear forwards}
@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}
/* landing */
.hero{position:relative;z-index:1;min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 20px 60px}
.hero h1{font-family:var(--fd);font-weight:400;font-size:clamp(56px,10vw,150px);line-height:.88;margin:12px 0}
.hero p{color:var(--muted);font-size:19px;max-width:36em;margin:0 auto 30px}
.marquee{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:40px auto 0;max-width:1000px}
.marquee img{width:110px;border:var(--stroke) solid var(--ink);border-radius:16px;image-rendering:pixelated;box-shadow:5px 5px 0 var(--ink);transition:transform .3s var(--spring)}
.marquee img:nth-child(odd){transform:rotate(-4deg)}.marquee img:nth-child(even){transform:rotate(3deg) translateY(10px)}.marquee img:hover{transform:scale(1.15) rotate(0)}
.facts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.facts span{border:1px solid #ffffff22;border-radius:99px;padding:8px 14px;font-family:var(--fm);font-size:12px}
@media (max-width:900px){.apply{grid-template-columns:1fr}.apply__side{position:relative;top:0}.steps{display:flex;gap:10px;margin-bottom:10px}.steps li span.t{display:none}.guard{display:none}.nav__links{display:none}.apply__title{margin-bottom:18px}.apply-page{padding-top:96px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
