*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#14141e;color:#eee;font-family:Apple SD Gothic Neo,Pretendard,Noto Sans KR,sans-serif;touch-action:none;overscroll-behavior:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none}#ui-root{position:fixed;inset:0;pointer-events:none}#ui-root>*{pointer-events:auto}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#232336,#14141e 70%);overflow-y:auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:26px 30px;max-width:420px;width:calc(100% - 32px);display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 40px #0006}.card.wide{max-width:640px}h1.logo{font-size:44px;text-align:center;letter-spacing:6px;background:linear-gradient(180deg,#b9ffb0,#5fc46a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 24px rgba(95,196,106,.25)}.subtitle{text-align:center;color:#9a9ab0;font-size:13px}input[type=text]{background:#00000059;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px 14px;color:#fff;font-size:15px;outline:none;width:100%;text-align:center}input[type=text]:focus{border-color:#7ad87a}input.code{text-transform:uppercase;letter-spacing:6px;font-weight:700;font-size:18px}button{border:none;border-radius:12px;padding:13px 18px;font-size:15px;font-weight:700;cursor:pointer;color:#14141e;background:linear-gradient(180deg,#9be88a,#5fc46a);transition:transform .06s,filter .15s}button:hover{filter:brightness(1.08)}button:active{transform:scale(.97)}button:disabled{filter:grayscale(.8) brightness(.6);cursor:default}button.secondary{background:#ffffff1f;color:#eee}button.danger{background:linear-gradient(180deg,#ff8a7a,#e05a5a)}button.small{padding:7px 12px;font-size:13px;border-radius:8px}.row{display:flex;gap:10px;align-items:center;justify-content:center}.divider{display:flex;align-items:center;gap:10px;color:#666;font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.look-picker{display:flex;align-items:center;justify-content:center;gap:14px}.look-picker canvas{width:64px;height:80px;image-rendering:pixelated}.arrow-btn{width:38px;height:38px;border-radius:50%;background:#ffffff1a;color:#fff;font-size:17px;padding:0}.room-code{font-size:38px;font-weight:800;letter-spacing:10px;text-align:center;color:#ffd24a;text-shadow:0 2px 14px rgba(255,210,74,.35);user-select:all}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px}.player-slot{background:#0000004d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:124px;position:relative}.player-slot.me{border-color:#ffd24a;cursor:pointer}.player-slot.empty{opacity:.3;justify-content:center;color:#777;font-size:12px}.player-slot canvas{width:48px;height:60px;image-rendering:pixelated}.player-slot .pname{font-size:11px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-slot .badge{font-size:10px;color:#8ee08a;height:13px}.player-slot .crown{position:absolute;top:3px;right:6px;font-size:12px}.player-slot .bot-remove{position:absolute;top:2px;right:2px;padding:1px 7px;font-size:11px;border-radius:6px}.duration-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.duration-row button{background:#ffffff1a;color:#ccc;padding:8px 14px;font-size:13px;border-radius:9px}.duration-row button.active{background:linear-gradient(180deg,#9be88a,#5fc46a);color:#14141e}.duration-row button:disabled{opacity:.55}.hint{text-align:center;color:#8a8aa0;font-size:12px}#feed{position:absolute;top:12px;left:14px;display:flex;flex-direction:column;gap:4px;pointer-events:none}#feed div{background:#00000073;border-radius:7px;padding:4px 10px;font-size:12px;animation:feedIn .25s ease-out}@keyframes feedIn{0%{opacity:0;transform:translate(-12px)}}#feed div.fading{opacity:0;transition:opacity .8s}#toast{position:absolute;top:70px;left:50%;transform:translate(-50%);background:#000000a6;border:1px solid rgba(255,210,74,.5);color:#ffd24a;font-weight:700;font-size:15px;padding:9px 22px;border-radius:12px;pointer-events:none;animation:feedIn .25s ease-out}#banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;padding:14px 26px;border-radius:12px;font-size:15px;font-weight:700;pointer-events:none}#touch-controls{position:absolute;right:0;bottom:0;left:0;pointer-events:none}.tbtn{position:absolute;pointer-events:auto;border-radius:50%;background:#ffffff24;border:2px solid rgba(255,255,255,.3);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.tbtn:active{background:#ffffff4d}#btn-attack{width:76px;height:76px;right:22px;bottom:26px;font-size:14px}#btn-use{width:58px;height:58px;right:110px;bottom:86px;font-size:12px;background:#9fe8d233;border-color:#9fe8d280}#btn-jump{width:60px;height:60px;right:26px;bottom:116px;font-size:12px;background:#ffd24a2e;border-color:#ffd24a80}table.stats{border-collapse:collapse;width:100%;font-size:13px}table.stats th,table.stats td{padding:7px 10px;text-align:center}table.stats th{color:#9a9ab0;font-weight:600;border-bottom:1px solid rgba(255,255,255,.15)}table.stats tr.me td{color:#ffd24a;font-weight:700}.win-title{font-size:42px;font-weight:900;text-align:center}.win-title.human{color:#7ab8ff;text-shadow:0 0 30px rgba(122,184,255,.4)}.win-title.zombie{color:#8ee08a;text-shadow:0 0 30px rgba(142,224,138,.4)}.modal-backdrop{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center}
