.snowball-page{width:min(1200px,94vw);margin:calc(var(--app-header-offset,120px)) auto 80px;flex-direction:column;gap:24px;display:flex}.hero-card{background:var(--brand-surface,#ffffffe6);border:1px solid var(--brand-border,#ffffff59);border-radius:var(--brand-radius,18px);box-shadow:var(--brand-shadow,0 10px 30px #00000014);justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 32px;display:flex}.hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--brand-subtle-text,#7f8c8d);margin:0;font-size:.8rem;font-weight:800}.hero-card h1{color:var(--brand-heading,#2d3e50);margin:6px 0 10px;font-size:clamp(2rem,3vw,2.9rem)}.hero-subtitle{color:var(--brand-subtle-text,#7f8c8d);margin:0;line-height:1.6}.hero-meta{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.status-pill{background:var(--brand-accent-muted,#3498db26);color:var(--brand-accent,#3498db);border-radius:999px;padding:8px 16px;font-weight:700}.ghost-btn{border:1px dashed var(--brand-border,#dde4eb);color:var(--brand-accent,#3498db);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-weight:700;transition:transform .2s}.mimic-grid{grid-template-columns:minmax(280px,340px) 1fr;gap:24px;display:grid}.controls-card{background:var(--brand-surface,#ffffffe6);border:1px solid var(--brand-border,#ffffff59);border-radius:var(--brand-radius,18px);height:max-content;box-shadow:var(--brand-shadow,0 10px 30px #00000014);flex-direction:column;align-self:start;gap:24px;padding:24px;display:flex}.player-identity{border-bottom:1px solid var(--brand-border,#dde4eb);padding-bottom:20px}.name-setup{gap:8px;margin-top:12px;display:flex}.name-setup input{border:1px solid var(--brand-border,#dde4eb);border-radius:8px;flex:1;padding:8px 12px;font-size:.95rem}.room-actions{flex-direction:column;gap:16px;display:flex}.host-controls{border-top:1px solid var(--brand-border,#dde4eb);flex-direction:column;gap:16px;padding-top:18px;display:flex}.host-controls h3{letter-spacing:.02em;color:var(--brand-heading,#2d3e50);margin:0;font-size:1.1rem}.host-btns{gap:12px;display:grid}.host-btns .btn{width:100%}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn--small{width:auto;padding:8px 16px;font-size:.9rem}.btn--secondary{color:var(--brand-accent,#3498db);border:1px solid var(--brand-accent,#3498db);background:#fff}.alert-notice{background:var(--brand-accent-muted,#3498db1a);border:1px solid var(--brand-border,#dde4eb);text-align:center;border-radius:12px;padding:16px}.info-card{background:var(--brand-surface,#ffffffe6);border:1px solid var(--brand-border,#ffffff59);border-radius:var(--brand-radius,18px);box-shadow:var(--brand-shadow,0 10px 30px #00000014);padding:24px}.card-header{border-bottom:1px solid var(--brand-border,#dde4eb);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.card-header h3{color:var(--brand-heading,#2d3e50);margin:0;font-size:1.1rem}.player-count{background:var(--brand-accent-muted,#3498db1a);color:var(--brand-accent,#3498db);border-radius:99px;padding:2px 10px;font-size:.85rem;font-weight:800}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.2rem;transition:background .2s}.players-list,.death-order-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.players-list li{background:#f8fafc;border:1px solid #0000;border-radius:10px;padding:10px 14px;font-weight:600;transition:all .2s}.players-list li:hover{border-color:var(--brand-border,#dde4eb);background:#fff}.player-dead{opacity:.5;filter:grayscale()}.game-section{grid-template-columns:1fr 320px;align-items:start;gap:2rem;margin-bottom:2rem;display:grid}.game-container{background:var(--brand-surface,#ffffffe6);border-radius:var(--brand-radius,16px);border:1px solid var(--brand-border,#ffffff59);box-shadow:var(--brand-shadow,0 4px 12px #0000001a);padding:1.5rem;position:relative}#gameCanvas{border:5px solid var(--brand-surface-light,#5d4e37);background:var(--brand-background,#e8f4f8);width:100%;max-width:1200px;height:auto;image-rendering:pixelated;border-radius:12px;margin:0 auto;display:block;box-shadow:0 10px 24px #0006,inset 0 0 30px #fff9,inset 0 2px 4px #fffc}.game-ui{background:var(--glass-bg,#ffffff1a);border:1px solid var(--glass-border,#fff3);backdrop-filter:blur(10px);border-radius:12px;margin-top:1.5rem;padding:1.25rem}.game-status{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1rem;display:flex}.game-status span{background:var(--brand-surface,#fff);border:2px solid #0000;border-radius:24px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:1.125rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000001a}.game-status span:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}#healthDisplay{border-color:var(--brand-accent,#27ae60);color:var(--brand-accent,#27ae60)}#killsDisplay{border-color:var(--brand-accent-strong,#2c3e50);color:var(--brand-text,#2c3e50)}.game-message{text-align:center;min-height:2.5rem;color:var(--accent-color,#ff6b6b);text-shadow:2px 2px 4px #0003;font-size:1.75rem;font-weight:700;animation:.5s pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-controls{text-align:center;margin-top:1.25rem}.controls-hint{color:var(--brand-subtle-text,#666);background:var(--glass-bg,#ffffff1a);border:1px solid var(--glass-border,#ffffff26);border-radius:24px;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #00000014}.game-sidebar{max-height:calc(100vh - 4rem);padding:1.5rem;position:sticky;top:2rem;overflow-y:auto}.game-sidebar h3{text-transform:uppercase;color:var(--text-primary,#333);letter-spacing:.5px;border-bottom:2px solid var(--accent-color,#ff6b6b);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700}.active-players-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.active-players-list li{background:var(--glass-bg,#ffffff1a);border:1px solid var(--glass-border,#ffffff26);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:0;padding:.875rem 1rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000014}.active-players-list li:hover{transform:translate(4px);box-shadow:0 4px 10px #0000001f}.active-players-list .player-dead{opacity:.4;background:linear-gradient(135deg,#9696964d,#78787833);text-decoration:line-through}.victory-section{text-align:center;margin-bottom:2rem;padding:3rem}.victory-section h2{color:var(--accent-color,#4caf50);margin-bottom:1rem;font-size:2.5rem}.victory-message{margin-bottom:2rem;font-size:1.5rem;font-weight:600}.final-results{text-align:left;max-width:500px;margin:0 auto 2rem}.final-results h3{text-align:center;margin-bottom:1rem}.final-results .pip-trigger{width:100%;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem}@media (width<=900px){.lobby-grid,.game-section{grid-template-columns:1fr}.lobby-header{flex-direction:column;align-items:flex-start}.name-setup{width:100%}.name-setup input{width:100%;min-width:0}}.final-results-list{margin:1.5rem 0;padding:0;list-style:none}.final-results-list li{border:1px solid var(--brand-border,#dde4eb);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:12px 18px;font-weight:600;display:flex;box-shadow:0 2px 5px #00000008}@media (width<=1024px){.game-section{grid-template-columns:1fr;gap:1.5rem}.game-sidebar{max-height:none;position:static}.lobby-section{grid-template-columns:1fr}}@media (width<=768px){.game-container{padding:1rem}#gameCanvas{border-width:3px}.game-status{flex-direction:column;gap:.75rem}.game-status span{justify-content:center;width:100%}.game-message{font-size:1.25rem}.controls-hint{padding:.75rem 1rem;font-size:.8rem}}.instructions{margin-bottom:2rem;padding:2rem}.instructions h2{margin-bottom:1rem}.instructions ol{padding-left:1.5rem}.instructions li{margin-bottom:.75rem;line-height:1.6}.btn{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary-color,#4285f4);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary-hover,#3367d6);transform:translateY(-2px)}.btn--secondary{background:var(--secondary-color,#6c757d);color:#fff}.btn--secondary:hover:not(:disabled){background:var(--secondary-hover,#5a6268);transform:translateY(-2px)}.btn--accent{background:var(--accent-color,#ff6b6b);color:#fff}.btn--accent:hover:not(:disabled){background:var(--accent-hover,#ff5252);transform:translateY(-2px)}.btn--danger{background:var(--danger-color,#dc3545);color:#fff}.btn--danger:hover:not(:disabled){background:var(--danger-hover,#c82333);transform:translateY(-2px)}@media (width<=1200px){.game-section{grid-template-columns:1fr}.game-sidebar{display:none}}@media (width<=768px){.lobby-section{grid-template-columns:1fr}.hero-card h1{font-size:2rem}.room-controls{flex-direction:column}.room-controls button{width:100%}#gameCanvas{border-width:2px}}.glass-card{background:var(--glass-bg,#ffffffe6);backdrop-filter:blur(10px);border:1px solid var(--glass-border,#ffffff80);box-shadow:var(--glass-shadow,0 8px 32px #0000001a)}