@import url("https://fonts.googleapis.com/css2?family=Luckiest+Guy&display=swap");.home-hero{background:transparent}:root{color-scheme:dark;--bg:#070c16;--bg-strong:#0c1524;--panel:hsla(0,0%,100%,.05);--panel-strong:hsla(0,0%,100%,.08);--text:#eef2ff;--muted:#cbd5e1;--accent:#ffd52d;--accent-strong:#fee45f;--stroke:hsla(0,0%,100%,.14);--shadow:0 18px 70px rgba(0,0,0,.45);--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--touch-min:48px;--radius-sm:12px;--radius-md:16px;--radius-lg:18px;--font-body:16px;--font-small:14px;--font-title:clamp(1.35rem,5vw,1.75rem);--font-subtitle:clamp(1.1rem,4vw,1.35rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:after,:before{box-sizing:border-box}body,html{margin:0;min-height:100vh;min-height:100dvh;font-family:Luckiest Guy,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);line-height:1.45;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--bg);color:var(--text);position:relative;overflow-x:hidden;width:100%;max-width:100vw}body:before{background:url(/background.png) 50%/cover no-repeat;opacity:.1;mix-blend-mode:screen;filter:grayscale(100%);z-index:0}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{background:radial-gradient(circle at 50% 20%,hsla(0,0%,100%,.06),transparent 40%),linear-gradient(145deg,rgba(33,34,45,.8),rgba(7,12,22,.9));z-index:-1}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5{margin:0;letter-spacing:-.01em}p{margin:0;color:var(--muted)}main{width:100%}.app-shell{max-width:1120px;width:100%;min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(var(--space-md),var(--safe-top)) max(var(--space-md),var(--safe-right)) max(72px,calc(var(--space-lg) + var(--safe-bottom))) max(var(--space-md),var(--safe-left));display:flex;flex-direction:column;gap:var(--space-md)}.card{background:rgba(10,14,24,.88);border:1px solid var(--stroke);border-radius:18px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn{background:var(--accent);color:#0a0f1a;border:2px solid rgba(250,204,21,.4);border-radius:14px;font-weight:700;font-family:Luckiest Guy,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body);padding:12px 16px;min-height:var(--touch-min);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .08s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 0 rgba(250,204,21,.28)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.32),0 0 0 3px rgba(250,204,21,.25)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px rgba(0,0,0,.28)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-compact{display:inline-flex;align-items:center;justify-content:center;height:var(--touch-min);min-height:var(--touch-min);padding:0 18px;width:auto;min-width:auto;line-height:1.15;border-radius:14px}.btn-ghost{background:transparent;color:var(--text);border:1.5px dashed rgba(250,204,21,.7);box-shadow:none}.input,select{width:100%;padding:14px 12px;min-height:var(--touch-min);border-radius:var(--radius-sm);border:1px solid hsla(0,0%,100%,.14);background:hsla(0,0%,100%,.05);color:var(--text);font-size:16px;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.input:focus,select:focus{border-color:rgba(250,204,21,.8);box-shadow:0 0 0 3px rgba(250,204,21,.18);background:hsla(0,0%,100%,.08)}.tooltip{position:relative;gap:6px}.tooltip,.tooltip-icon{display:inline-flex;align-items:center}.tooltip-icon{width:20px;height:20px;border-radius:50%;border:1px solid hsla(0,0%,100%,.7);justify-content:center;font-size:12px;cursor:pointer;background:hsla(0,0%,100%,.16);color:#fff}.tooltip-content{position:absolute;top:120%;left:0;background:rgba(7,12,22,.98);border:1px solid hsla(0,0%,100%,.1);border-radius:12px;padding:12px 14px;color:var(--text);min-width:240px;box-shadow:0 10px 40px rgba(0,0,0,.3);z-index:10}hr{border:none;border-top:1px dashed hsla(0,0%,100%,.12);margin:8px 0}.muted{color:var(--muted)}.tag{display:inline-flex;align-items:center;gap:6px;background:rgba(250,204,21,.18);border-radius:999px;padding:6px 10px;border:1px solid rgba(250,204,21,.35);font-size:13px;color:#0f0a00}.panel{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:12px}.audio-floating{position:fixed;right:max(12px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;margin:0;width:-moz-fit-content;width:fit-content;z-index:40}@keyframes popFade{0%{transform:translateY(8px) scale(.98);opacity:0}60%{transform:translateY(0) scale(1.01);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.result-pop{animation:popFade .6s ease}.winner-role-bling{color:#ffe564;text-shadow:0 0 12px rgba(255,213,45,.75),0 0 24px rgba(255,213,45,.4);animation:winnerGlow 1.6s ease-in-out infinite alternate}@keyframes winnerGlow{0%{text-shadow:0 0 10px rgba(255,213,45,.55),0 0 18px rgba(255,213,45,.3)}to{text-shadow:0 0 14px rgba(255,239,164,.9),0 0 26px rgba(255,213,45,.55);transform:translateY(-1px)}}.confetti-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:60}.confetti-piece{position:absolute;top:-10%;left:var(--left);width:8px;height:14px;border-radius:2px;animation:confettiFall var(--duration) linear var(--delay) 1 forwards;opacity:.9}@keyframes confettiFall{0%{transform:translate3d(0,-10%,0) rotate(0deg)}to{transform:translate3d(0,120vh,0) rotate(320deg)}}canvas,img,svg,video{max-width:100%;height:auto;display:block}.game-page,.home-page,.room-shell{display:grid;grid-gap:var(--space-md);gap:var(--space-md);width:100%;min-width:0}.game-page h2,.page-title,.room-shell h2{font-size:var(--font-title);line-height:1.15;letter-spacing:.01em}.game-page h3,.game-page h4{font-size:var(--font-subtitle);line-height:1.2}.game-page li,.game-page p,.room-shell p{font-size:var(--font-body);line-height:1.5}.room-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);position:relative;z-index:3000;padding:14px 16px!important}.room-header__code{color:#facc15;font-weight:800;letter-spacing:.08em;font-size:clamp(1rem,4.5vw,1.2rem)}.home-panel{width:100%;max-width:520px;justify-self:center}.home-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.home-tagline{margin:-36px 0 0;color:hsla(0,0%,100%,.55);font-size:var(--font-small);letter-spacing:1.5px;text-transform:uppercase}.game-timer{font-weight:700;text-align:center;font-size:clamp(1.25rem,5vw,1.5rem);padding:14px 16px!important;background:linear-gradient(135deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.02));border:1px solid hsla(0,0%,100%,.14)}.vote-panel{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);padding:16px!important}.vote-option{display:flex;gap:12px;align-items:center;padding:14px;min-height:var(--touch-min);border-radius:var(--radius-sm);background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);cursor:pointer;touch-action:manipulation}.vote-option input{width:24px;height:24px;min-height:auto;flex-shrink:0}.vote-option span{font-weight:600;font-size:var(--font-body)}.player-list{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);border:1px solid rgba(250,204,21,.6)}.player-list__item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;min-height:var(--touch-min);border-radius:10px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08)}.mobile-sticky-actions{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);margin-top:var(--space-xs)}.mobile-sticky-actions .btn,.mobile-sticky-actions .btn-compact{width:100%}@media (max-width:640px){.mobile-sticky-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:20;padding-top:var(--space-sm);padding-bottom:max(var(--space-xs),var(--safe-bottom));background:linear-gradient(0deg,rgba(7,12,22,.98) 70%,rgba(7,12,22,0))}}@media (min-width:641px){.mobile-sticky-actions .btn,.mobile-sticky-actions .btn-compact{width:auto;justify-self:start}}.draw-countdown-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:50;pointer-events:none;padding:max(16px,var(--safe-top)) 16px max(16px,var(--safe-bottom))}.draw-countdown-number{font-size:clamp(3.5rem,18vw,5rem);font-weight:900;color:#facc15;text-shadow:0 8px 24px rgba(0,0,0,.5);animation:popCount .8s ease}@keyframes popCount{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.reveal-grid{display:grid;grid-gap:var(--space-sm);gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr))}.form-field{text-align:left;display:grid;grid-gap:6px;gap:6px}.form-field>span{font-weight:600;font-size:var(--font-body)}.error-text{color:#f87171;font-size:var(--font-body);margin:0}@media (max-width:640px){.app-shell{padding:max(12px,var(--safe-top)) max(12px,var(--safe-right)) max(64px,calc(20px + var(--safe-bottom))) max(12px,var(--safe-left));gap:var(--space-sm)}.card{padding:14px;border-radius:var(--radius-sm)}.card,.panel{margin-inline:0}.panel{width:100%;padding:12px}.btn,.btn-compact{width:100%;min-height:var(--touch-min);height:auto;padding:14px 16px}.home-actions{flex-direction:column;align-items:stretch}.home-actions .btn-compact{width:100%}.room-header{padding:12px 14px!important}.room-header .btn-compact{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.tooltip-content{left:50%;transform:translateX(-50%);min-width:min(280px,calc(100vw - 32px));max-width:calc(100vw - 32px)}.audio-floating{left:max(12px,var(--safe-left));right:max(12px,var(--safe-right));align-items:flex-end}.drawing-card{gap:10px;padding:12px!important}.drawing-controls{flex-direction:column;align-items:stretch;gap:10px}.drawing-controls .color-swatch{width:36px;min-width:36px;height:36px;flex:0 0 36px;border-width:2px}.drawing-controls .size-slider{width:100%;max-width:100%;min-height:var(--touch-min)}.drawing-card canvas{max-height:min(62vh,420px);width:100%!important;touch-action:none}.reveal-grid{grid-template-columns:1fr}.results-summary strong{font-size:16px!important}.results-summary span{font-size:14px!important}.results-winners-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:8px!important}.results-winners-grid img{width:64px!important;height:64px!important}}