:root{--bg:#0b1222;--bg2:#121b33;--ink:#eaf1ff;--muted:#9fb0d0;--blue:#6fa8ff;--blue2:#cfe2ff;--purple:#9b7bff;--line:rgba(207,226,255,0.14);--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink)}body{font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:100dvh}a{color:inherit;text-decoration:none}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(14px + var(--safe-t)) calc(20px + var(--safe-r)) 14px calc(20px + var(--safe-l));border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(11,18,34,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{font-weight:800;letter-spacing:.08em}.brand span{color:var(--blue2);font-weight:400}.site-header nav{display:flex;gap:16px;font-size:14px;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}.site-header nav a:hover{color:var(--ink)}.site-header .login{color:var(--ink);border:1px solid var(--line);padding:4px 10px;border-radius:999px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 22px;border-radius:12px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-weight:700;font-size:16px;font-family:inherit}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn.big{padding:16px 28px;font-size:17px}.btn small{opacity:.8;font-weight:400}.hero{position:relative;overflow:hidden;min-height:calc(100dvh - 60px);padding:12vh 24px 48px;text-align:center;background:radial-gradient(ellipse at 50% 0,#22325e 0,var(--bg) 65%)}.snow{position:absolute;inset:0;pointer-events:none;opacity:.6;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(1.5px 1.5px at 120px 80px,#fff,transparent),radial-gradient(2px 2px at 220px 160px,#fff,transparent),radial-gradient(1px 1px at 320px 40px,#fff,transparent);background-size:360px 220px;animation:snow 18s linear infinite}@keyframes snow{to{background-position:60px 880px}}@media (prefers-reduced-motion:reduce){.snow{animation:none}}.kicker{color:var(--blue2);letter-spacing:.3em;font-size:14px}.hero h1{font-size:clamp(44px,9vw,96px);line-height:1;margin:12px 0 20px;letter-spacing:.04em}.hero h1 span{font-weight:300;color:var(--blue2)}.lead{color:var(--muted);max-width:520px;margin:0 auto 32px;line-height:1.6}.cta{display:flex;justify-content:center;flex-wrap:wrap}.cta,.factions{gap:12px;position:relative}.factions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;max-width:640px;margin:56px auto 0}.faction{padding:18px;border-radius:14px;border:1px solid var(--line);text-align:left;display:grid;grid-gap:6px;gap:6px}.faction span{color:var(--muted);font-size:14px}.faction.blue{background:linear-gradient(160deg,rgba(111,168,255,.18),rgba(255,255,255,.04))}.faction.purple{background:linear-gradient(160deg,rgba(155,123,255,.22),rgba(0,0,0,.2))}.page{max-width:760px;margin:0 auto;padding:40px 24px calc(40px + var(--safe-b));line-height:1.7}.badge{display:inline-block;font-size:13px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--blue2)}.muted{color:var(--muted)}.small{font-size:12px}.game-page{height:100dvh;background:#000}.player{position:relative;width:100%;height:100%;background:#05080f;overflow:hidden}.player.pseudo-full{position:fixed;inset:0;z-index:100;height:100dvh}.unity-canvas{display:block;width:100%;height:100%;background:#05080f;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 20%,#1c2a52,#05080f 70%)}.overlay-card{width:min(440px,100%);text-align:center;display:grid;grid-gap:14px;gap:14px;justify-items:center}.overlay-card h2{margin:6px 0 0;font-size:20px}.logo{font-weight:800;letter-spacing:.12em;font-size:22px}.logo span{display:block;font-weight:300;color:var(--blue2);font-size:15px;letter-spacing:.4em}.bar{width:100%;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.bar>div{height:100%;background:linear-gradient(90deg,var(--blue),var(--purple));transition:width .2s}.reasons{text-align:left;color:#ffc9c9;margin:0;padding-left:20px}.warn{color:#ffe3a3;font-size:13px;margin:0}.err{white-space:pre-wrap;text-align:left;font-size:12px;background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.3);padding:10px;border-radius:8px;max-height:30vh;overflow:auto;width:100%}.row{display:flex;gap:10px}.toolbar{position:absolute;z-index:40;display:flex;gap:6px;align-items:center;top:calc(8px + var(--safe-t));right:calc(8px + var(--safe-r))}.chip,.toolbar button{font:inherit;font-size:12px;color:var(--ink);cursor:pointer;background:rgba(10,16,32,.6);border:1px solid var(--line);border-radius:999px;padding:6px 10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chip{cursor:default;color:#a8f0c0}.log{z-index:20;left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));font:11px/1.4 ui-monospace,monospace;color:#b8c7e8;background:rgba(0,0,0,.45);padding:6px 8px;border-radius:8px;max-width:min(90vw,520px);pointer-events:none}.log,.rotate{position:absolute}.rotate{inset:0;z-index:30;display:grid;place-content:center;text-align:center;grid-gap:8px;gap:8px;background:rgba(5,8,15,.92)}.rotate-icon{font-size:48px;animation:spin 2.4s ease-in-out infinite}@keyframes spin{50%{transform:rotate(90deg)}}