:root{--bg-deep:#14102b;--bg-mid:#1c1740;--bg-soft:#251d54;--accent:#ffd83d;--accent-deep:#f5b800;--coral:#ff8a6b;--team-a:#62e1ff;--team-b:#ff7ad9;--text:#f5f1fa;--text-muted:#d4cce6;--text-dim:#9890b0;--surface:#ffffff09;--surface-strong:#ffffff0f;--border:#ffffff17;--border-strong:#ffffff2e;--pixel-black:#0a0717;--font-pixel:"Press Start 2P", ui-monospace, Consolas, monospace;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg-deep);width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}#root{isolation:isolate;width:100vw;height:auto;min-height:100svh;overflow-x:hidden}.app-root{width:100vw;height:100svh;position:relative;overflow:hidden}.pixelated,img{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}::selection{background:var(--accent);color:var(--pixel-black)}:root,:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{width:100%;height:100%;margin:0;padding:0}.main-menu{isolation:isolate;flex-direction:column;justify-content:center;align-items:center;gap:clamp(28px,5vh,48px);width:100vw;min-height:100svh;padding:clamp(48px,8vh,96px) clamp(20px,4vw,56px) clamp(56px,8vh,96px);display:flex;position:relative;overflow:hidden}.main-menu__bg{z-index:0;background-color:var(--bg-deep);pointer-events:none;background-image:radial-gradient(circle,#ffffff29 1.2px,#0000 1.6px);background-position:0 0;background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 0% 55%,#0000 100%);mask-image:radial-gradient(#000 0% 55%,#0000 100%)}.main-menu__bg:after{content:"";background:radial-gradient(60% 40% at 50% 25%,#ffd83d1f 0%,#0000 70%);position:absolute;inset:0}.main-menu__head{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.main-menu__title{font-family:var(--font-pixel);letter-spacing:8px;color:var(--accent);text-shadow:2px 2px 0 var(--pixel-black), 0 0 22px #ffd83d40;margin:0;font-size:clamp(28px,5.5vw,56px)}.main-menu__sub{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:clamp(13px,1.3vw,16px)}.main-menu__grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,2vw,24px);width:min(1100px,100%);display:grid;position:relative}.main-menu__foot{z-index:1;font-family:var(--font-pixel);letter-spacing:3px;color:var(--text-dim);font-size:10px;position:relative}.unit-card{appearance:none;text-align:left;font-family:var(--font-body);color:var(--text);border:1px solid var(--border-strong);cursor:pointer;background:linear-gradient(#ffffff0a 0%,#ffffff04 100%);border-radius:4px;flex-direction:column;gap:14px;min-height:200px;padding:clamp(22px,2.4vw,28px);transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.unit-card:before{content:"";background:var(--accent);opacity:.85;width:4px;transition:width .18s,opacity .18s;position:absolute;top:0;bottom:0;left:0}.unit-card:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(#ffd83d0f 0%,#ffd83d04 100%);transform:translateY(-3px);box-shadow:0 12px 30px -10px #0009,0 0 0 1px #ffd83d2e}.unit-card:hover:not(:disabled):before{opacity:1;width:6px}.unit-card:active:not(:disabled){transform:translateY(-1px)}.unit-card--locked,.unit-card:disabled{cursor:not-allowed;opacity:.55}.unit-card__tag{font-family:var(--font-pixel);letter-spacing:3px;color:var(--accent);background:#ffd83d0d;border:1px solid #ffd83d66;border-radius:2px;align-self:flex-start;padding:4px 8px;font-size:10px}.unit-card__title{font-family:var(--font-pixel);letter-spacing:4px;color:var(--text);margin:0;font-size:clamp(16px,1.6vw,20px)}.unit-card__sub{color:var(--text-muted);flex:1;margin:0;font-size:13px;line-height:1.5}.unit-card__cta{font-family:var(--font-pixel);letter-spacing:3px;color:var(--accent);align-items:center;gap:6px;margin-top:auto;font-size:11px;transition:transform .18s,letter-spacing .18s;display:inline-flex}.unit-card:hover:not(:disabled) .unit-card__cta{letter-spacing:4px;transform:translate(4px)}.unit-card--cyan{--accent:var(--team-a)}.unit-card--cyan:before,.unit-card--cyan .unit-card__tag,.unit-card--cyan .unit-card__cta{color:var(--team-a);border-color:#62e1ff66}.unit-card--cyan .unit-card__tag{background:#62e1ff14}.unit-card--cyan:hover:not(:disabled){border-color:var(--team-a);background:linear-gradient(#62e1ff0f,#0000);box-shadow:0 12px 30px -10px #0009,0 0 0 1px #62e1ff33}.unit-card--red{--accent:var(--coral)}.unit-card--red:before,.unit-card--red .unit-card__tag,.unit-card--red .unit-card__cta{color:var(--coral);border-color:#ff8a6b66}.unit-card--red .unit-card__tag{background:#ff8a6b14}.unit-card--red:hover:not(:disabled){border-color:var(--coral);background:linear-gradient(#ff8a6b0f,#0000);box-shadow:0 12px 30px -10px #0009,0 0 0 1px #ff8a6b33}.unit-card--amber{--accent:var(--accent)}@media (width<=520px){.main-menu{padding:64px 18px 72px}.main-menu__title{letter-spacing:5px}.main-menu__sub{letter-spacing:2px}}@media (prefers-reduced-motion:reduce){.unit-card,.unit-card__cta,.unit-card:before{transition:none!important}.unit-card:hover:not(:disabled){transform:none}}.unit-page{z-index:2;width:100vw;height:auto;min-height:100svh;position:absolute;inset:0;overflow:hidden auto}.unit-page>.dossier{height:auto;min-height:100svh}.home-btn{z-index:1000;letter-spacing:2px;color:var(--accent);border:2px solid var(--accent);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14102bd9;padding:10px 14px;font-family:"Press Start 2P",monospace;font-size:11px;transition:background .12s,transform .12s;position:fixed;top:clamp(12px,1.6vh,20px);left:clamp(12px,1.6vw,22px)}.home-btn:hover{background:#ffd83d2e}.home-btn:active{transform:translate(1px,1px)}.unit-loading{letter-spacing:2px;min-height:60vh;color:var(--accent);justify-content:center;align-items:center;gap:14px;font-family:"Press Start 2P",monospace;font-size:12px;display:flex}.unit-loading__dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.1s ease-in-out infinite unitDot}.unit-loading__dot:nth-child(2){animation-delay:.18s}.unit-loading__dot:nth-child(3){animation-delay:.36s}@keyframes unitDot{0%,80%,to{opacity:.35;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.gate{color:#d8d2eb;isolation:isolate;background:radial-gradient(at 50% 30%,#1a1430 0%,#0c0820 55%,#04030c 100%);grid-template-rows:auto 1fr auto;gap:clamp(16px,2.5vh,28px);width:100vw;height:100svh;padding:clamp(22px,3.2vh,36px) clamp(22px,4vw,64px);font-family:ui-monospace,JetBrains Mono,Courier New,monospace;display:grid;position:relative;overflow:hidden}.gate__scanlines{pointer-events:none;mix-blend-mode:multiply;opacity:.5;z-index:1;background:repeating-linear-gradient(#00000038 0 1px,#0000 1px 3px);position:absolute;inset:0}.gate__vignette{pointer-events:none;z-index:1;background:radial-gradient(#0000 45%,#000000b3 100%);position:absolute;inset:0}.gate.is-glitching .gate__panel{animation:.11s steps(4,end) gate-glitch}@keyframes gate-glitch{0%{transform:translate(0)}25%{transform:translate(-3px,1px)skew(-1deg)}50%{transform:translate(2px,-1px)skew(1deg)}75%{transform:translate(-1px)}to{transform:translate(0)}}.gate__head{z-index:2;letter-spacing:3px;color:#d8d2ebb3;border-bottom:1px solid #d8d2eb1f;justify-content:space-between;align-items:center;padding-bottom:14px;font-size:13px;display:flex;position:relative}.gate__brand{align-items:center;gap:12px;display:inline-flex}.gate__brand-mark{color:var(--accent,#ffd83d);text-shadow:0 0 12px #ffd83d80;font-size:16px}.gate__brand-text{letter-spacing:6px;color:var(--accent,#ffd83d);text-shadow:0 0 12px #ffd83d40;font-weight:600}.gate__status{letter-spacing:2px;align-items:center;gap:8px;font-size:11px;display:inline-flex}.gate__status-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite gate-status-blink;box-shadow:0 0 8px #4ade80b3}@keyframes gate-status-blink{0%,to{opacity:1}50%{opacity:.35}}.gate__panel{z-index:2;text-align:center;background:linear-gradient(#140e238c 0%,#0a0717b3 100%);border:1px solid #ffd83d38;flex-direction:column;justify-content:center;align-self:center;align-items:center;gap:clamp(18px,2.4vh,26px);width:min(560px,100%);margin:0 auto;padding:clamp(24px,4vh,40px);display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffd83d0f,inset 0 0 80px #00000080,0 0 0 4px #140e2380,0 18px 0 -6px #0000008c,0 0 40px #ffd83d0f}.gate__kicker{letter-spacing:4px;color:#ff8a6bd9;text-shadow:0 0 8px #ff8a6b40;margin:0;font-size:11px}.gate__title{letter-spacing:8px;color:#f5f1fa;text-shadow:2px 2px #1a1006,0 0 18px #ffd83d2e;margin:0;font-size:clamp(22px,3.2vw,36px);font-weight:700}.gate__input-wrap{background:#04030cd9;border:1px solid #ffd83d4d;border-radius:2px;align-items:center;gap:12px;width:min(420px,100%);padding:14px 18px;transition:border-color .12s,box-shadow .12s;display:inline-flex;position:relative;box-shadow:inset 0 0 18px #000000b3,0 0 0 1px #0006}.gate__input-wrap:focus-within{border-color:var(--accent,#ffd83d);box-shadow:inset 0 0 18px #000000b3,0 0 0 1px #ffd83d4d,0 0 22px #ffd83d2e}.gate__input-wrap.is-shake{border-color:#ff5a5a;animation:.42s cubic-bezier(.36,.07,.19,.97) gate-shake}@keyframes gate-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.gate__prompt{color:var(--accent,#ffd83d);text-shadow:0 0 10px #ffd83d80;font-size:22px;font-weight:700}.gate__input{appearance:none;color:#f5f1fa;letter-spacing:8px;min-width:0;caret-color:var(--accent,#ffd83d);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:22px}.gate__input::placeholder{color:#d8d2eb40;letter-spacing:10px}.gate__caret{background:var(--accent,#ffd83d);pointer-events:none;width:10px;height:22px;display:inline-block;box-shadow:0 0 10px #ffd83db3}.gate__submit{appearance:none;border:2px solid var(--accent,#ffd83d);color:var(--accent,#ffd83d);letter-spacing:6px;cursor:pointer;background:#ffd83d14;border-radius:2px;align-items:center;gap:10px;padding:14px 28px;font-family:inherit;font-size:14px;font-weight:600;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex;box-shadow:0 0 0 4px #ffd83d0a,0 8px 0 -2px #ffd83d40,inset 0 0 0 1px #ffffff0d}.gate__submit:hover:not(:disabled){background:#ffd83d29;box-shadow:0 0 0 6px #ffd83d0f,0 6px 0 -2px #ffd83d4d,inset 0 0 0 1px #ffffff14}.gate__submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 4px #ffd83d0a,0 2px 0 -2px #ffd83d40}.gate__submit:disabled{opacity:.4;cursor:not-allowed}.gate__error{letter-spacing:3px;color:#ff5a5a;text-shadow:0 0 8px #ff5a5a80;opacity:0;margin:0;font-size:11px;transition:opacity .16s}.gate__error.is-shown{opacity:1;animation:.42s ease-out gate-error-flash}@keyframes gate-error-flash{0%{opacity:0}20%{opacity:1}to{opacity:1}}.gate__wipe{pointer-events:none;z-index:5;clip-path:inset(0 0 100%);background:#04030c;transition:clip-path .9s cubic-bezier(.7,0,.85,.15);position:absolute;inset:0}.gate__wipe-scan{opacity:.4;background:repeating-linear-gradient(#ffffff0a 0 2px,#0000 2px 4px);position:absolute;inset:0}.gate.is-revealing .gate__wipe{clip-path:inset(0)}.gate.is-revealing .gate__head,.gate.is-revealing .gate__panel{opacity:0;transition:opacity .2s}@media (height<=620px){.gate{padding:16px 22px}.gate__panel{gap:12px;padding:18px 22px}.gate__title{letter-spacing:6px;font-size:22px}.gate__input{font-size:18px}}@media (width<=520px){.gate__head{letter-spacing:2px;font-size:11px}.gate__status{display:none}.gate__title{letter-spacing:5px}.gate__submit{letter-spacing:4px;padding:12px 20px;font-size:12px}}@media (prefers-reduced-motion:reduce){.gate__scanlines,.gate__status-dot,.gate.is-glitching .gate__panel,.gate__input-wrap.is-shake,.gate__wipe{transition:none!important;animation:none!important}.gate__wipe{clip-path:inset(0)}}
