.hud{position:fixed;top:8px;left:8px;right:8px;display:flex;flex-direction:column;gap:5px;pointer-events:none;z-index:10}.hud__row{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%}.hud__box{background:#0f172aeb;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:5px 8px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:6px;box-shadow:0 4px 14px #0000008c;pointer-events:auto;white-space:nowrap}.hud__stat{display:inline-flex;align-items:center;gap:2px}.hud__badge{padding:3px 6px;border-radius:6px;font-size:11px}.hud__badge--light{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e1b4b}.hud__badge--dark{background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff}.hud__connection{display:inline-flex;width:12px;height:12px;line-height:12px;font-size:12px;text-align:center;border-radius:50%;box-shadow:0 0 8px #0006}.hud__btn{background:#334155;border:none;color:#fff;padding:3px 6px;border-radius:6px;cursor:pointer;font-size:12px;line-height:1}.tug-bar{width:100%;max-width:420px;margin:0 auto;height:10px;background:#312e81;border-radius:999px;overflow:hidden;border:1.5px solid rgba(255,255,255,.25);box-shadow:0 3px 10px #00000080;display:flex}.tug-bar__fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fde047);transition:width .25s ease}@media (width <= 380px){.hud{top:6px;left:6px;right:6px}.hud__box{padding:4px 6px;font-size:11px;gap:4px}.hud__badge{padding:2px 5px;font-size:10px}.hud__btn{padding:2px 5px;font-size:11px}}.role-banner{position:fixed;top:52px;left:8px;right:8px;display:flex;justify-content:center;pointer-events:none;z-index:25;animation:banner-fade 3.2s ease forwards}.role-banner__card{width:100%;max-width:520px;background:linear-gradient(135deg,#1e293bf0,#0f172af0);border:1.5px solid rgba(255,255,255,.2);border-radius:12px;padding:6px 12px;box-shadow:0 6px 20px #0009;display:flex;flex-direction:column;gap:2px}.role-banner__card--light{border-color:#fde047;background:linear-gradient(135deg,#451a03eb,#1e1b4beb)}.role-banner__card--dark{border-color:#818cf8;background:linear-gradient(135deg,#1e1b4beb,#0f172aeb)}.role-banner__row{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap}.role-banner__role{font-size:12px;font-weight:900;color:#fff;overflow:hidden;text-overflow:ellipsis}.role-banner__room{font-size:11px;font-weight:700;color:#fde047;flex-shrink:0}.role-banner__layout{font-size:11px;font-weight:800;color:#38bdf8;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes banner-fade{0%{opacity:0;transform:translateY(-10px)}12%{opacity:1;transform:translateY(0)}85%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.dash-btn{position:fixed;right:22px;bottom:24px;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fb7185,#e11d48);border:3.5px solid rgba(255,255,255,.9);color:#fff;font-weight:900;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 25px #e11d48a6;z-index:15;cursor:pointer;transition:transform .1s;touch-action:none}.dash-btn:active{transform:scale(.9)}.dash-btn--cooldown{background:#334155;border-color:#64748b;box-shadow:none;opacity:.8}.dash-btn__icon{font-size:22px}.virtual-joystick{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:116px;height:116px;border-radius:50%;background:#0f172a73;border:2px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none;z-index:35;transition:background .15s ease,border-color .15s ease}.virtual-joystick.is-active{background:#1e293ba6;border-color:#fde0478c}.virtual-joystick.is-active .virtual-joystick__knob{background:radial-gradient(circle at 35% 35%,#fef08a,#f59e0b);box-shadow:0 0 16px #fde04799;transition:none}.virtual-joystick__knob{width:48px;height:48px;border-radius:50%;background:#ffffff8c;border:2px solid rgba(255,255,255,.85);box-shadow:0 4px 12px #0006;pointer-events:none;transition:transform .14s ease-out,background .15s ease}.character-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.character-cards__item{border-radius:12px;padding:8px 10px;text-align:left;border:1px solid rgba(255,255,255,.12)}.character-cards__item--light{background:linear-gradient(135deg,#facc1524,#d9770614);border-color:#fde04759}.character-cards__item--dark{background:linear-gradient(135deg,#6366f129,#312e811f);border-color:#818cf859}.character-cards__title{font-size:12px;font-weight:900;color:#fff;margin-bottom:3px}.character-cards__desc{font-size:11px;line-height:1.3;color:#cbd5e1}.floor-progress-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px 10px;margin-bottom:10px}.floor-progress-card__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;font-size:12px;margin-bottom:6px;color:#fde047}.floor-progress-card__next{color:#94a3b8;font-size:11px}.floor-progress-card__bar{width:100%;height:6px;background:#0f172a;border-radius:999px;overflow:hidden}.floor-progress-card__fill{height:100%;background:linear-gradient(90deg,#38bdf8,#fde047);transition:width .3s ease}.floor-progress-card__perk{margin-top:6px;font-size:11px;color:#38bdf8;font-weight:700}.language-switcher{display:inline-flex;gap:4px;background:#0f172acc;padding:3px;border-radius:10px;border:1px solid rgba(255,255,255,.15)}.language-switcher__btn{background:transparent;border:none;color:#94a3b8;font-size:11px;font-weight:800;padding:4px 8px;border-radius:7px;cursor:pointer;transition:all .15s ease}.language-switcher__btn:hover{color:#f8fafc}.language-switcher__btn--active{background:#4f46e5;color:#fff}.role-picker{margin-bottom:12px}.role-picker__label{font-size:12px;font-weight:700;color:#94a3b8;margin-bottom:6px;text-align:center}.role-picker__btns{display:flex;gap:8px}.role-picker__btn{flex:1;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.14);border-radius:12px;padding:9px 6px;font-size:12px;font-weight:800;color:#cbd5e1;cursor:pointer;transition:all .2s ease}.role-picker__btn:hover{background:#ffffff1f;color:#fff}.role-picker__btn--active{background:linear-gradient(135deg,#4f46e5,#38bdf8);border-color:#38bdf8;color:#fff;box-shadow:0 4px 14px #38bdf852}.role-picker__btn--light.role-picker__btn--active{background:linear-gradient(135deg,#d97706,#eab308);border-color:#fde047;box-shadow:0 4px 14px #facc1552}.role-picker__btn--dark.role-picker__btn--active{background:linear-gradient(135deg,#312e81,#6366f1);border-color:#818cf8;box-shadow:0 4px 14px #6366f159}.social-auth{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.social-auth__label{font-size:11px;color:#94a3b8;margin-bottom:6px;font-weight:700}.social-auth__btns{display:flex;gap:6px}.social-auth__btn{flex:1;padding:7px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#f8fafc;font-size:11px;font-weight:800;cursor:pointer;transition:background .15s ease}.social-auth__btn:hover:not(:disabled){background:#ffffff24}.social-auth__btn:disabled{opacity:.5;cursor:wait}.start-game-btn{width:100%;padding:13px 18px;border:none;border-radius:14px;background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff;font-size:15px;font-weight:900;letter-spacing:.4px;cursor:pointer;box-shadow:0 8px 25px #ea580c8c;transition:transform .15s ease,opacity .15s ease}.start-game-btn:hover:not(:disabled){transform:translateY(-1px)}.start-game-btn:active:not(:disabled){transform:translateY(1px)}.start-game-btn:disabled{opacity:.65;cursor:wait}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:12px;z-index:40;overflow-y:auto}.overlay__card{width:100%;max-width:430px;background:linear-gradient(160deg,#1e293b,#0f172a);border:1.5px solid rgba(255,255,255,.15);border-radius:20px;padding:14px 16px;color:#f8fafc;text-align:center;box-shadow:0 18px 45px #000000bf}.overlay__top-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.overlay__profile{display:flex;align-items:center;gap:6px}.overlay__username{font-size:12px;font-weight:800;color:#e2e8f0;background:#ffffff14;padding:4px 10px;border-radius:999px}.overlay__title{font-size:20px;font-weight:900;margin:0 0 4px;color:#fff}.overlay__desc{font-size:12px;color:#cbd5e1;margin:0 0 10px;line-height:1.35}.overlay__install{margin-top:10px;width:100%;padding:8px 12px;border-radius:10px;border:1px solid #38bdf8;background:#38bdf81f;color:#38bdf8;font-size:12px;font-weight:800;cursor:pointer}.round-summary{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:12px;z-index:45;overflow-y:auto}.round-summary__card{width:100%;max-width:430px;background:linear-gradient(160deg,#1e293b,#0f172a);border:1.5px solid rgba(255,255,255,.15);border-radius:20px;padding:14px 16px;color:#f8fafc;text-align:center;box-shadow:0 18px 45px #000000bf}.round-summary__title{font-size:18px;font-weight:900;margin:0 0 4px;color:#fde047}.round-summary__sub{font-size:12px;color:#cbd5e1;margin:0 0 10px}.round-summary__table-wrap{background:#0f172abf;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;margin-bottom:12px}.round-summary__table{width:100%;border-collapse:collapse;font-size:12px}.round-summary__table th{background:#ffffff0f;color:#94a3b8;font-weight:800;padding:7px 8px;text-align:center}.round-summary__table th:first-child{text-align:left}.round-summary__table td{padding:7px 8px;border-top:1px solid rgba(255,255,255,.06);text-align:center;color:#e2e8f0}.round-summary__table td:first-child{text-align:left}.round-summary__row-me td{background:#4f46e538;font-weight:800;color:#fde047}.round-summary__name{display:flex;align-items:center;gap:5px}.round-summary__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.round-summary__delta{font-weight:800;color:#4ade80!important}.game-canvas{display:block;width:100vw;height:100vh}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{width:100%;height:100%;overflow:hidden;background:#070a12;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#fff;touch-action:none}
