*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,system-ui,sans-serif}html,body{background:#080808}button{font-family:inherit;border:none;background:none;cursor:pointer}input{font-family:inherit}:root{--bg: #080808;--surface: rgba(255,255,255,.055);--surface-hi: rgba(255,255,255,.1);--surface-act: rgba(255,255,255,.16);--border: rgba(255,255,255,.08);--border-hi: rgba(255,255,255,.2);--text: #ffffff;--text-muted: rgba(255,255,255,.45);--accent: #ff3b6b;--green: #00d47e;--red-tint: rgba(255,60,60,.18);--red-border: rgba(255,60,60,.35);--radius: 18px;--radius-sm: 10px;--gap: 12px}.audience{min-height:100dvh;background:var(--bg);color:var(--text);display:flex;flex-direction:column;align-items:center;padding:32px 20px 24px;gap:28px;overflow:hidden;position:relative;isolation:isolate}.audience-floaters{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.audience>header,.audience>section,.audience>.tip-btn,.audience>.audience__footer{position:relative;z-index:2}.tip-modal-backdrop{z-index:1000}.audience__header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.audience__title{font-size:26px;font-weight:800;letter-spacing:-.8px;color:#fff;display:inline-block;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:6px 18px}.audience__meta{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 14px}.audience__room-label{font-weight:500}.status-dot{width:7px;height:7px;border-radius:50%;background:#ffffff40;flex-shrink:0;transition:background .4s}.status-dot--live{background:var(--green);box-shadow:0 0 0 0 var(--green);animation:dot-pulse 2.2s ease-in-out infinite}@keyframes dot-pulse{0%{box-shadow:0 0 #00d47e99}60%{box-shadow:0 0 0 7px #00d47e00}to{box-shadow:0 0 #00d47e00}}.emoji-grid{width:100%;max-width:380px;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.emoji-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:var(--bg);background-image:linear-gradient(var(--surface),var(--surface));border:1px solid var(--border);border-radius:var(--radius);transition:transform .1s cubic-bezier(.34,1.56,.64,1),background-color .15s ease,background-image .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.emoji-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;background:radial-gradient(circle at center,rgba(255,255,255,.2) 0%,transparent 70%);transition:opacity .3s}.emoji-btn:hover:not(:disabled){background-image:linear-gradient(var(--surface-hi),var(--surface-hi));border-color:var(--border-hi);box-shadow:0 0 24px #ffffff0f,inset 0 1px #ffffff1a}.emoji-btn:active:not(:disabled){transform:scale(.88);background-image:linear-gradient(var(--surface-act),var(--surface-act))}.emoji-btn:active:after{opacity:1}.emoji-btn:disabled{background-image:linear-gradient(#ffffff05,#ffffff05);border-color:#ffffff0d;filter:grayscale(.5);cursor:default}.emoji-btn:disabled .emoji-btn__icon{opacity:.4}.emoji-btn__icon{font-size:clamp(28px,8vw,40px);line-height:1;display:block;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.emoji-btn:active:not(:disabled) .emoji-btn__icon{transform:scale(.85)}.emoji-btn--cooldown .emoji-btn__icon{transform:scale(1.22);filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.emoji-btn--selected{background-image:linear-gradient(#ffc4411a,#ffc4411a);border-color:#ffc4418c;box-shadow:0 0 18px #ffb43c2e,inset 0 0 0 1px #ffc44140}.emoji-btn__shake-tag{position:absolute;top:4px;right:4px;font-size:11px;line-height:1;opacity:.8;pointer-events:none}.shake-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:13px;margin-left:4px;padding:4px 6px;border-radius:999px;background:#ffc4411a;border:1px solid rgba(255,196,65,.28);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:shake-pulse 2s ease-in-out infinite;transition:background .15s,border-color .15s,opacity .15s}.shake-indicator:hover{background:#ffc4412e}.shake-indicator:active{transform:scale(.94)}.shake-indicator--off{background:#ffffff0a;border-color:var(--border);opacity:.45;filter:grayscale(1);animation:none;position:relative}.shake-indicator--off:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(to top right,transparent calc(50% - .6px),currentColor calc(50% - .6px),currentColor calc(50% + .6px),transparent calc(50% + .6px));opacity:.55;pointer-events:none}@keyframes shake-pulse{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.shake-enable{margin-top:8px;padding:9px 16px;background:#ffc4411f;border:1px solid rgba(255,196,65,.4);border-radius:999px;color:#ffd97a;font-size:13px;font-weight:600;letter-spacing:-.1px;white-space:nowrap}.shake-enable:hover{background:#ffc44133}.shake-enable:active{transform:scale(.97)}.audience-lobby{justify-content:center;gap:14px}.lobby-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:32px 20px;width:min(440px,90%)}.lobby-hero__live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1.2px;color:#6fffba;background:#00d47e1f;border:1px solid rgba(0,212,126,.4);border-radius:999px;padding:4px 10px}.lobby-hero__live-dot{width:6px;height:6px;border-radius:50%;background:#00d47e;box-shadow:0 0 #00d47eb3;animation:dot-pulse 2s ease-in-out infinite}.lobby-hero__name{font-size:clamp(34px,9vw,56px);font-weight:900;letter-spacing:-1.5px;line-height:1.05;color:#fff;background:linear-gradient(160deg,#fff,#fff9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase;word-break:break-word}.lobby-hero__count{font-size:16px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:8px 18px}.lobby-hero__count strong{font-size:18px;color:var(--text);font-feature-settings:"tnum";margin-right:2px}@keyframes pulse-dot{0%,to{transform:scale(.6);opacity:.4}50%{transform:scale(1);opacity:1}}.lobby-hero__pulse{display:flex;gap:10px;margin-top:12px}.lobby-hero__pulse>span{width:14px;height:14px;border-radius:50%;background:#ff3b6b;box-shadow:0 0 16px #ff3c6e99;animation:pulse-dot 1.4s ease-in-out infinite}.lobby-hero__pulse>span:nth-child(2){animation-delay:.2s;background:#ffc945}.lobby-hero__pulse>span:nth-child(3){animation-delay:.4s;background:#635bff}.lobby-hero__msg{margin-top:6px;font-size:14px;color:var(--text-muted);letter-spacing:.2px}.audience-countdown{justify-content:center;gap:16px}.countdown-screen__title{font-size:clamp(20px,5vw,30px);font-weight:800;text-align:center;letter-spacing:-.4px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:12px 18px;max-width:560px;z-index:2}@keyframes countdown-pop{0%{transform:scale(.4);opacity:0;filter:blur(8px)}35%{transform:scale(1.18);opacity:1;filter:blur(0)}70%{transform:scale(.98)}to{transform:scale(1);opacity:1}}.countdown-screen__num{z-index:2;font-size:clamp(140px,36vw,280px);font-weight:900;line-height:1;letter-spacing:-8px;color:#fff;text-shadow:0 8px 40px rgba(255,60,110,.5),0 4px 16px rgba(0,0,0,.4);background:linear-gradient(180deg,#fff,#ffd97a,#ff3b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:countdown-pop .55s cubic-bezier(.34,1.56,.64,1);font-feature-settings:"tnum"}.countdown-screen__hint{z-index:2;font-size:13px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.audience-farewell{justify-content:center;gap:14px}.audience-farewell__icon{font-size:80px;line-height:1;filter:drop-shadow(0 6px 20px rgba(255,196,65,.4));animation:counter-pop .5s cubic-bezier(.34,1.56,.64,1)}.audience-farewell__title{font-size:clamp(28px,6vw,38px);font-weight:900;letter-spacing:-.6px;text-align:center;background:linear-gradient(180deg,#fff,#ffd97a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.audience-farewell__sub{font-size:14px;color:var(--text-muted)}.overlay-lobby{z-index:40}.overlay-lobby.overlay-zone--center{width:min(560px,calc(100vw - var(--safe-margin) * 2))}.overlay-lobby__card--compact{flex-direction:row!important;align-items:center;gap:24px;padding:18px 24px!important;width:100%;max-width:900px;margin:0 auto}.overlay-lobby__card--compact .overlay-lobby__qr-wrap{flex-shrink:0;margin-top:0!important;padding:10px;border-radius:12px}.overlay-lobby__info{flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.overlay-lobby__card--compact .overlay-lobby__name{font-size:clamp(22px,3.5vw,36px)!important;text-align:left!important;letter-spacing:-1px!important}.overlay-lobby__card--compact .overlay-lobby__count,.overlay-lobby__card--compact .overlay-lobby__cta,.overlay-lobby__card--compact .overlay-lobby__url{font-size:12px}.overlay-lobby__card--compact .overlay-lobby__cta{font-size:14px}.overlay-lobby__card--compact .overlay-lobby__live{padding:3px 8px}.overlay-lobby__card{background:#08080adb;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:32px 40px 30px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 24px 80px #00000080,inset 0 1px #ffffff12}.overlay-lobby__live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:1.5px;color:#6fffba;background:#00d47e1f;border:1px solid rgba(0,212,126,.4);border-radius:999px;padding:4px 12px}.overlay-lobby__live-dot{width:6px;height:6px;border-radius:50%;background:#00d47e;box-shadow:0 0 12px #00d47e;animation:dot-pulse 2s ease-in-out infinite}.overlay-lobby__name{font-size:clamp(36px,5vw,60px);font-weight:900;letter-spacing:-1.5px;text-transform:uppercase;text-align:center;line-height:1;background:linear-gradient(160deg,#fff,#ffffffa6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;word-break:break-word;max-width:100%}.overlay-lobby__count{font-size:15px;color:#ffffffb3;font-feature-settings:"tnum";background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 14px}.overlay-lobby__count strong{color:#fff;font-size:17px;font-weight:800;margin-right:3px}.overlay-lobby__qr-wrap{background:#fff;border-radius:16px;padding:16px;box-shadow:0 12px 40px #00000080;margin-top:4px;animation:counter-pop .45s ease-out .1s backwards}.overlay-lobby__cta{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:#fff;letter-spacing:-.2px;margin-top:2px}.overlay-lobby__cta-icon{font-size:22px}.overlay-lobby__url{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;color:#fff9;letter-spacing:.3px;text-align:center;padding:5px 12px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff08;word-break:break-all;max-width:100%}.eg-overlay__card--countdown{display:flex;flex-direction:column;align-items:center;gap:16px;padding:36px 40px 40px}.eg-overlay__title--center{text-align:center;width:100%;margin-bottom:4px}@keyframes overlay-countdown-pop{0%{transform:scale(.5);opacity:0;filter:blur(12px)}40%{transform:scale(1.12);opacity:1;filter:blur(0)}to{transform:scale(1);opacity:1}}.eg-countdown-num{font-size:clamp(120px,22vw,280px);font-weight:900;letter-spacing:-10px;line-height:.95;background:linear-gradient(180deg,#fff,#ffd97a 45%,#ff3b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(255,100,130,.4);animation:overlay-countdown-pop .55s cubic-bezier(.34,1.56,.64,1);font-feature-settings:"tnum"}.eg-countdown-hint{font-size:14px;color:#fff9;letter-spacing:1.5px;text-transform:uppercase}.seg-control__label .seg-control__hint{font-weight:400;font-size:11px;color:var(--text-muted);margin-left:6px;text-transform:none;letter-spacing:0}@keyframes mode-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.audience-mode-fade{animation:mode-fade-in .32s cubic-bezier(.22,.9,.32,1) both}.vote{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;gap:14px;padding:0 4px}.vote__header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px}.vote__title{font-size:clamp(20px,5vw,30px);font-weight:800;letter-spacing:-.5px;color:var(--text);text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:12px 18px;max-width:680px;line-height:1.2}.vote__timer{position:relative;width:min(380px,90%);height:8px;background:#ffffff14;border-radius:999px;overflow:hidden;display:flex;align-items:center}.vote__timer-bar{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#22c55e,#eab308 60%,#ef4444);transform-origin:left center;transition:transform 1s linear}.vote__timer-num{position:relative;font-size:11px;font-weight:700;color:#000000b3;margin:0 auto;z-index:1}.vote__options{flex:1;display:grid;gap:12px;width:100%;max-width:680px;margin:0 auto;align-content:stretch}.vote--quiz .vote__options{grid-template-columns:1fr 1fr;grid-auto-rows:1fr}.vote--quiz .vote__options--3{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:1fr}.vote--poll .vote__options{grid-template-columns:1fr;grid-auto-rows:minmax(72px,1fr)}.vote--poll .vote__options--2{grid-auto-rows:minmax(110px,1fr)}.vote--poll .vote__options--3{grid-auto-rows:minmax(90px,1fr)}.vote-option{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background-color:var(--vote-color, #444);background-image:linear-gradient(160deg,#ffffff29,#0000002e);color:#fff;border:none;border-radius:18px;font-weight:700;cursor:pointer;transition:transform .12s cubic-bezier(.34,1.56,.64,1),filter .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;text-shadow:0 2px 6px rgba(0,0,0,.35);box-shadow:0 6px 20px #0006,inset 0 2px #ffffff2e}.vote-option:active:not(:disabled){transform:scale(.96)}.vote-option--picked{filter:brightness(1.12) saturate(1.1);box-shadow:0 0 0 3px #ffffffa6,0 8px 32px #00000080,inset 0 2px #ffffff40;z-index:1}@keyframes vote-pulse{0%{transform:scale(.96)}60%{transform:scale(1.06)}to{transform:scale(1)}}.vote-option--pulse{animation:vote-pulse .32s cubic-bezier(.34,1.56,.64,1)}.vote-option--dim{filter:grayscale(.6) brightness(.6);box-shadow:0 4px 12px #0000004d}.vote-option--correct{filter:brightness(1.15);box-shadow:0 0 0 4px #22c55e,0 0 32px #22c55e99,inset 0 2px #ffffff40;animation:vote-correct-pulse 1.2s ease-out}@keyframes vote-correct-pulse{0%,to{transform:scale(1)}20%{transform:scale(1.04)}}.vote-option__letter{font-size:clamp(36px,8vw,56px);font-weight:900;line-height:1;letter-spacing:-2px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.vote-option__label{font-size:clamp(15px,3.5vw,20px);text-align:center;line-height:1.2;word-wrap:break-word;overflow-wrap:anywhere;max-width:100%}.vote-option__count{font-size:13px;font-weight:700;background:#0006;border-radius:999px;padding:3px 10px;letter-spacing:.3px}.vote-option__check{position:absolute;top:8px;right:10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff;color:#000;border-radius:50%;font-weight:900;font-size:14px;box-shadow:0 2px 8px #0006}.vote-option__fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#ffffff40,#ffffff0d);transform-origin:left center;transition:transform .5s cubic-bezier(.34,1.06,.64,1);pointer-events:none;opacity:0}.vote--results .vote-option__fill{opacity:1}.clicker,.team-clicker,.team-pick{position:relative;z-index:2;width:100%;height:100%;flex:1;display:flex;flex-direction:column;align-items:center;gap:16px}.clicker__header,.team-clicker__header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px;width:100%}.clicker__title{font-size:clamp(18px,4.5vw,26px);font-weight:800;letter-spacing:-.4px;color:var(--text);text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:10px 18px;max-width:680px;line-height:1.2}.clicker__btn{flex:1;width:min(420px,90%);max-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 50% 35%,#f57,#c91a3e);color:#fff;border:none;border-radius:28px;font-weight:800;cursor:pointer;transition:transform .07s ease,filter .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-shadow:0 12px 40px #ff3c6480,inset 0 4px #ffffff40,inset 0 -8px #0003}.clicker__btn:active:not(:disabled){transform:scale(.93);filter:brightness(1.18)}.clicker__btn--done{background:radial-gradient(circle at 50% 35%,#777,#444);cursor:default}.clicker__btn-icon{font-size:clamp(72px,18vw,140px);line-height:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4))}.clicker__btn-hint{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.85}.clicker__stats{display:flex;gap:12px;width:min(420px,90%);margin-bottom:16px}.clicker__stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:14px}.clicker__stat-num{font-size:clamp(20px,5vw,28px);font-weight:800;font-feature-settings:"tnum";letter-spacing:-.5px;color:var(--text)}.clicker__stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}@keyframes clicker-burst{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(-50%,-180%) scale(1.4);opacity:0}}.clicker__burst{position:fixed;font-size:32px;pointer-events:none;animation:clicker-burst .7s ease-out forwards;z-index:50;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.team-pick__title{font-size:clamp(18px,4.5vw,26px);font-weight:800;text-align:center;margin-top:32px;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:10px 18px;letter-spacing:-.3px}.team-pick__sub{font-size:13px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 14px;margin-bottom:16px}.team-pick__grid{display:grid;gap:14px;width:min(420px,90%);flex:1;max-height:70vh}.team-pick__grid--2{grid-template-columns:1fr 1fr}.team-pick__grid--3{grid-template-columns:1fr 1fr 1fr}.team-pick__grid--4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.team-pick__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--team-color, #444);background-image:linear-gradient(160deg,#ffffff2e,#00000038);color:#fff;border:none;border-radius:24px;padding:24px;font-weight:800;cursor:pointer;transition:transform .12s cubic-bezier(.34,1.56,.64,1);text-shadow:0 2px 6px rgba(0,0,0,.4);box-shadow:0 8px 28px #0006,inset 0 2px #fff3;-webkit-tap-highlight-color:transparent}.team-pick__btn:active{transform:scale(.96)}.team-pick__name{font-size:clamp(22px,6vw,36px);letter-spacing:-.5px}.team-clicker__crest{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}.team-clicker__crest-dot{width:10px;height:10px;border-radius:50%;background:var(--team-color);box-shadow:0 0 12px var(--team-color)}.team-clicker__btn{flex:1;width:min(420px,90%);max-height:55vh;background:var(--team-color);background-image:radial-gradient(circle at 50% 35%,rgba(255,255,255,.3),transparent 60%);color:#fff;border:none;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .07s ease,filter .15s ease;box-shadow:0 12px 40px var(--team-color),inset 0 4px #ffffff40,inset 0 -8px #0003}.team-clicker__btn:active:not(:disabled){transform:scale(.93);filter:brightness(1.18)}.team-clicker__btn--done{filter:grayscale(.5) brightness(.7)}.team-clicker__btn-icon{font-size:clamp(72px,16vw,120px);line-height:1}.team-clicker__btn-hint{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;opacity:.9}.team-clicker__switch{font-size:12px;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 14px}.team-clicker__switch:hover{color:var(--text)}.overlay-zone{position:absolute;z-index:50;pointer-events:none;animation:eg-overlay-in .45s cubic-bezier(.22,.9,.32,1.05)}@keyframes eg-overlay-in{0%{transform:var(--zone-enter-from);opacity:0}to{transform:var(--zone-enter-to);opacity:1}}.overlay-zone--center{top:50%;left:50%;transform:translate(-50%,-50%);width:min(900px,calc(100vw - var(--safe-margin) * 2));max-height:calc(100vh - var(--safe-margin) * 2);--zone-enter-from: translate(-50%, -50%) scale(.92);--zone-enter-to: translate(-50%, -50%) scale(1)}.overlay-zone--left-third{top:var(--safe-margin);left:var(--safe-margin);bottom:var(--safe-margin);width:calc(33.33vw - var(--safe-margin) * 1.5);display:flex;align-items:center;justify-content:stretch;--zone-enter-from: translateX(-12px) scale(.96);--zone-enter-to: translateX(0) scale(1)}.overlay-zone--right-third{top:var(--safe-margin);right:var(--safe-margin);bottom:var(--safe-margin);width:calc(33.33vw - var(--safe-margin) * 1.5);display:flex;align-items:center;justify-content:stretch;--zone-enter-from: translateX(12px) scale(.96);--zone-enter-to: translateX(0) scale(1)}.overlay-zone--left-half{top:var(--safe-margin);left:var(--safe-margin);bottom:var(--safe-margin);width:calc(50vw - var(--safe-margin) * 1.5);display:flex;align-items:center;justify-content:stretch;--zone-enter-from: translateX(-16px) scale(.96);--zone-enter-to: translateX(0) scale(1)}.overlay-zone--right-half{top:var(--safe-margin);right:var(--safe-margin);bottom:var(--safe-margin);width:calc(50vw - var(--safe-margin) * 1.5);display:flex;align-items:center;justify-content:stretch;--zone-enter-from: translateX(16px) scale(.96);--zone-enter-to: translateX(0) scale(1)}.overlay-zone--bottom-third{bottom:var(--safe-margin);left:var(--safe-margin);right:var(--safe-margin);height:calc(33vh - var(--safe-margin) * 1.5);display:flex;align-items:center;justify-content:center;--zone-enter-from: translateY(16px) scale(.96);--zone-enter-to: translateY(0) scale(1)}.overlay-zone--full{inset:var(--safe-margin);display:flex;align-items:center;justify-content:center;--zone-enter-from: scale(.96);--zone-enter-to: scale(1)}.overlay-zone:not(.overlay-zone--center)>.eg-overlay__card,.overlay-zone:not(.overlay-zone--center)>.overlay-lobby__card{width:100%;max-width:100%;max-height:100%;overflow:auto}.eg-overlay{z-index:50}.eg-overlay__card{background:#08080adb;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px 32px 32px;box-shadow:0 24px 80px #00000080,inset 0 1px #ffffff12}.eg-overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.eg-overlay__title{font-size:clamp(22px,3vw,36px);font-weight:800;letter-spacing:-.6px;line-height:1.15;color:#fff;flex:1;text-shadow:0 2px 8px rgba(0,0,0,.4)}.eg-overlay__meta{display:flex;align-items:center;gap:14px;flex-shrink:0}.eg-overlay__total{font-size:14px;font-weight:700;color:#ffffffe6;font-feature-settings:"tnum"}.eg-overlay__voters{font-size:13px;color:#ffffff8c}.countdown-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#22c55e;flex-shrink:0}.countdown-ring--urgent{color:#ef4444;animation:countdown-flash 1s ease-in-out infinite}@keyframes countdown-flash{0%,to{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 12px currentColor)}}.countdown-ring__num{position:absolute;font-size:18px;font-weight:800;color:#fff;font-feature-settings:"tnum"}.bar-race{display:flex;flex-direction:column;gap:12px}.bar-race__row{display:flex;align-items:center;gap:14px;position:relative}.bar-race__label{flex:0 0 180px;display:flex;align-items:center;gap:10px;min-width:0}.bar-race__letter{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bar-color);color:#fff;font-weight:900;font-size:18px;border-radius:10px;flex-shrink:0;box-shadow:0 2px 8px #0000004d}.bar-race__text{font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-race__track{position:relative;flex:1;height:44px;background:#ffffff0f;border-radius:10px;overflow:hidden}.bar-race__fill{position:absolute;inset:0 auto 0 0;background:var(--bar-color);border-radius:10px;transition:width .35s cubic-bezier(.34,1.06,.64,1);box-shadow:inset 0 1px #ffffff40}.bar-race__num{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6);font-feature-settings:"tnum"}.bar-race__correct{position:absolute;right:-36px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#22c55e;color:#000;font-weight:900;border-radius:50%;box-shadow:0 0 24px #22c55eb3;animation:correct-pop .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes correct-pop{0%{transform:scale(0)}to{transform:scale(1)}}.bar-race__row--correct .bar-race__fill{box-shadow:inset 0 1px #ffffff40,0 0 24px var(--bar-color);animation:correct-glow 1.4s ease-in-out infinite}@keyframes correct-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.bar-race__row--wrong .bar-race__fill,.bar-race__row--wrong .bar-race__letter{opacity:.45}@keyframes counter-pop{0%{transform:scale(1.18)}to{transform:scale(1)}}.counter{display:inline-block;animation:counter-pop .18s ease-out;font-feature-settings:"tnum"}.counter--big{font-size:clamp(72px,14vw,180px);font-weight:900;letter-spacing:-4px;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.5)}.tug{display:flex;flex-direction:column;gap:22px;padding:12px 0}.tug__tie{text-align:center;font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:-1px;color:#fff;background:linear-gradient(180deg,#ffd97a,#ffaa1a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 24px rgba(255,196,65,.4);animation:tug-winner-pop .5s cubic-bezier(.34,1.56,.64,1);margin-top:-8px;margin-bottom:-4px}.tug__bar{display:flex;height:70px;background:#ffffff0a;border-radius:14px;overflow:hidden;box-shadow:inset 0 2px 8px #0006}.tug__seg{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.5);transition:width .3s cubic-bezier(.34,1.06,.64,1);min-width:0;overflow:hidden;white-space:nowrap;position:relative}.tug__seg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 40%);pointer-events:none}.tug__seg-name{font-size:14px}.tug__seg-count{font-size:22px;font-weight:900}.tug__teams{display:flex;gap:14px}.tug__team{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;background:#ffffff08;border:1px solid var(--team-color);border-radius:14px}.tug__team-name{font-size:14px;font-weight:700;color:var(--team-color);letter-spacing:.3px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:6px}.tug__team--winner{border-width:2px;box-shadow:0 0 0 2px var(--team-color),0 0 24px var(--team-color);animation:tug-winner-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes tug-winner-pop{0%{transform:scale(.96)}60%{transform:scale(1.04)}to{transform:scale(1)}}.tug__team-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#22c55e;color:#000;font-weight:900;font-size:13px;box-shadow:0 0 12px #22c55eb3}.tug__team-count{font-size:clamp(28px,5vw,44px);font-weight:900;color:#fff}.tug__team-pct{font-size:13px;color:#fff9;font-feature-settings:"tnum"}.big-counter{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 0 8px}.big-counter__icon{font-size:clamp(48px,8vw,80px);line-height:1;filter:drop-shadow(0 4px 16px rgba(0,0,0,.4));animation:big-counter-bob 2.4s ease-in-out infinite}@keyframes big-counter-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.big-counter__num{line-height:1}.big-counter__rate{display:flex;align-items:center;gap:12px;width:min(420px,80%)}.big-counter__rate-bar{flex:1;height:10px;background:#ffffff14;border-radius:999px;overflow:hidden}.big-counter__rate-fill{height:100%;background:linear-gradient(90deg,#f57,#ffaa1a);transition:width .25s ease-out;box-shadow:0 0 12px #ff648280}.big-counter__rate-label{font-size:14px;font-weight:700;color:#ffffffb3;font-feature-settings:"tnum";flex-shrink:0}.eg-admin__presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.eg-admin__presets-label{color:var(--text-muted);margin-right:4px}.eg-admin__preset{padding:6px 10px;background:#ffc4411a;border:1px solid rgba(255,196,65,.3);border-radius:999px;color:#ffd97a;font-size:12px;font-weight:600}.eg-admin__preset:hover{background:#ffc44133}.eg-admin__opts{display:flex;flex-direction:column;gap:6px}.eg-admin__opt-row{display:flex;align-items:center;gap:6px}.eg-admin__opt-input{flex:1}.eg-admin__opt-color{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;cursor:pointer;padding:2px}.eg-admin__correct{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border);cursor:pointer;transition:background .15s,border-color .15s}.eg-admin__correct input{display:none}.eg-admin__correct span{color:var(--text-muted);font-weight:800;font-size:16px;line-height:1}.eg-admin__correct:has(input:checked){background:#22c55e33;border-color:#22c55e99}.eg-admin__correct:has(input:checked) span{color:#22c55e}.eg-admin__opt-remove{width:28px;height:28px;border-radius:50%;background:transparent;color:var(--text-muted);font-size:18px}.eg-admin__opt-remove:hover{background:#ff3c3c2e;color:#ff8a9a}.eg-admin__opt-add{align-self:flex-start;font-size:12px;color:var(--text-muted);padding:6px 10px;border-radius:6px}.eg-admin__opt-add:hover{background:var(--surface-hi);color:var(--text)}.eg-admin__status{text-transform:uppercase;letter-spacing:.5px}.eg-admin__status--live{background:#00d47e33;color:#6fffba}.eg-admin__status--results{background:#ffc44133;color:#ffd97a}.eg-admin__status--waiting{background:#ffffff14;color:var(--text-muted)}.eg-admin__active{background:#635bff14;border:1px solid rgba(120,110,255,.3);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.eg-admin__active-title{font-size:15px;font-weight:700}.eg-admin__active-meta{font-size:12px;color:var(--text-muted)}.eg-admin__totals{display:flex;flex-direction:column;gap:4px;margin-top:4px}.eg-admin__totals-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-top:1px solid rgba(255,255,255,.05)}.eg-admin__totals-row--correct .eg-admin__totals-label:before{content:"✓ ";color:#22c55e}.eg-admin__live-actions{display:flex;gap:8px}.eg-admin__live-actions>button{flex:1}@keyframes shake-flash{0%{box-shadow:inset 0 0 #ff3c6e00}30%{box-shadow:inset 0 0 80px #ff3c6e2e}to{box-shadow:inset 0 0 #ff3c6e00}}.audience--shake-flash{animation:shake-flash .4s ease-out}.chat-section{width:100%;max-width:380px;display:flex;flex-direction:column;gap:6px}.chat-form{display:flex;gap:8px}.chat-input{flex:1;background-color:var(--bg);background-image:linear-gradient(var(--surface),var(--surface));border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;padding:13px 16px;outline:none;transition:border-color .2s,background-color .2s;min-width:0}.chat-input:focus{border-color:var(--border-hi)}.chat-input::placeholder{color:var(--text-muted)}.chat-input--cooldown{border-color:var(--red-border);background:var(--red-tint)}.chat-send{background-color:var(--bg);background-image:linear-gradient(var(--surface-hi),var(--surface-hi));border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-weight:600;padding:13px 20px;white-space:nowrap;transition:background-image .15s,opacity .15s;flex-shrink:0}.chat-send:hover:not(:disabled){background-image:linear-gradient(var(--surface-act),var(--surface-act))}.chat-send:disabled{color:#ffffff4d;background-image:linear-gradient(#ffffff05,#ffffff05);border-color:#ffffff0d;cursor:default}.chat-hint{font-size:12px;color:var(--text-muted);text-align:right;height:16px;transition:color .2s;align-self:flex-end}.chat-hint:not(:empty){background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 8px;height:auto;line-height:1.3}.tip-btn{width:100%;max-width:380px;display:flex;align-items:center;gap:12px;padding:14px 18px;background-color:var(--bg);background-image:linear-gradient(135deg,#ffc4412e,#ff91001f);border:1px solid rgba(255,196,65,.35);border-radius:var(--radius);color:#ffd97a;font-size:15px;font-weight:600;cursor:pointer;transition:transform .1s ease,background .15s ease,box-shadow .15s ease;box-shadow:0 0 24px #ffb43c0f,inset 0 1px #ffffff0f}.tip-btn:hover:not(:disabled){background-image:linear-gradient(135deg,#ffc44142,#ff91002e);box-shadow:0 0 32px #ffb43c2e,inset 0 1px #ffffff1a}.tip-btn:active:not(:disabled){transform:scale(.985)}.tip-btn:disabled{background-image:linear-gradient(#ffffff05,#ffffff05);color:#ffd97a59;border-color:#ffc44126;cursor:default}.tip-btn__icon{font-size:22px;line-height:1}.tip-btn__label{flex:1;text-align:left;letter-spacing:-.2px}.tip-btn__chev{font-size:22px;color:#ffd97a99;font-weight:400}@keyframes tip-modal-in{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes tip-backdrop-in{0%{opacity:0}to{opacity:1}}.tip-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:tip-backdrop-in .2s ease-out}.tip-modal{width:100%;max-width:440px;max-height:92dvh;background:#101010;border:1px solid rgba(255,255,255,.08);border-bottom:none;border-radius:22px 22px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:tip-modal-in .28s cubic-bezier(.32,.72,.35,1);box-shadow:0 -12px 48px #0009}@media (min-width: 600px){.tip-modal-backdrop{align-items:center}.tip-modal{border-radius:22px;border-bottom:1px solid rgba(255,255,255,.08);margin:16px}}.tip-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.06);position:relative}.tip-modal__title{flex:1;text-align:center;font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.3px}.tip-modal__close,.tip-modal__back{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:50%;color:var(--text-muted);font-size:22px;line-height:1;flex-shrink:0}.tip-modal__close:hover,.tip-modal__back:hover{background:#ffffff1f;color:var(--text)}.tip-modal__back{font-size:24px}.tip-modal__body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.tip-modal__footer{padding:16px 20px 22px;border-top:1px solid rgba(255,255,255,.06)}.tip-label{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.3px;text-transform:uppercase;margin-top:8px}.tip-label__hint{text-transform:none;letter-spacing:0;font-weight:400;margin-left:4px}.tip-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tip-preset{padding:14px 0;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;font-weight:700;transition:all .15s ease}.tip-preset:hover{background:var(--surface-hi)}.tip-preset--active{background:linear-gradient(135deg,#ffc44140,#ff91002e);border-color:#ffc441b3;color:#ffd97a;box-shadow:0 0 16px #ffb43c33}.tip-custom{position:relative;display:flex;align-items:center}.tip-custom__prefix{position:absolute;left:16px;color:var(--text-muted);font-size:16px;pointer-events:none}.tip-custom__input{width:100%;padding:14px 16px 14px 30px;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.tip-custom__input::-webkit-outer-spin-button,.tip-custom__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tip-custom__input:focus{border-color:#ffc44180}.tip-input,.tip-textarea{width:100%;padding:12px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-size:15px;outline:none;resize:none;font-family:inherit}.tip-input:focus,.tip-textarea:focus{border-color:#ffffff40}.tip-counter{font-size:11px;color:var(--text-muted);text-align:right}.tip-toggle{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-top:6px;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,border-color .15s}.tip-toggle:hover{background:var(--surface-hi)}.tip-toggle input{position:absolute;opacity:0;pointer-events:none}.tip-toggle__box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-hi);background:#0000004d;flex-shrink:0;position:relative;transition:background .15s,border-color .15s}.tip-toggle input:checked+.tip-toggle__box{background:linear-gradient(135deg,#ffc945,#ff8a00);border-color:#ffc945}.tip-toggle input:checked+.tip-toggle__box:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#000;font-weight:800;font-size:14px;line-height:1}.tip-toggle__label{font-size:14px;font-weight:600;color:var(--text)}.tip-cta{width:100%;padding:16px;background:linear-gradient(135deg,#ffc945,#ff8a00);color:#000;font-size:16px;font-weight:700;border-radius:14px;letter-spacing:-.2px;transition:transform .1s,filter .15s,box-shadow .15s;box-shadow:0 4px 20px #ffaa3c4d}.tip-cta:hover:not(:disabled){filter:brightness(1.05)}.tip-cta:active:not(:disabled){transform:scale(.98)}.tip-cta:disabled{opacity:.4;cursor:default;box-shadow:none}.tip-cta--pay{background:linear-gradient(135deg,#635bff,#4f46e5);color:#fff;box-shadow:0 4px 20px #635bff66}.stripe-card{margin-top:4px;border:1px solid #2b2b2b;border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 1px 3px #0006}.stripe-card__row{display:flex}.stripe-card__row+.stripe-card__row{border-top:1px solid #e6e6e6}.stripe-card__row--split>*+*{border-left:1px solid #e6e6e6}.stripe-input{flex:1;width:100%;padding:14px;background:transparent;border:none;color:#1a1a1a;font-size:15px;outline:none;font-family:inherit;letter-spacing:.3px}.stripe-input::placeholder{color:#888}.stripe-input:focus{background:#fafafa}.stripe-input--num{font-feature-settings:"tnum"}.stripe-disclaimer{margin-top:14px;padding:12px 14px;background:#635bff14;border:1px solid rgba(99,91,255,.2);border-radius:10px;font-size:12px;color:#ffffffb3;line-height:1.55}.stripe-disclaimer strong{color:#ffd97a;font-weight:600}.stripe-lock{margin-right:6px}.stripe-brand{margin-top:12px;text-align:center;font-size:11px;color:var(--text-muted);letter-spacing:.3px}.stripe-brand span{color:#635bff;font-weight:700;font-style:italic;font-family:Helvetica Neue,system-ui,sans-serif}.tip-modal__state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:56px 20px;text-align:center}.tip-modal__state h3{font-size:18px;font-weight:700;color:var(--text)}.tip-modal__state p{color:var(--text-muted);font-size:14px}.tip-spinner{width:44px;height:44px;border:3px solid rgba(99,91,255,.2);border-top-color:#635bff;border-radius:50%;animation:tip-spin .8s linear infinite}@keyframes tip-spin{to{transform:rotate(360deg)}}.tip-modal__state--success{animation:tip-modal-in .35s cubic-bezier(.34,1.56,.64,1)}.tip-check{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffc945,#ff8a00);color:#000;font-size:36px;font-weight:700;border-radius:50%;box-shadow:0 8px 32px #ffaa3c80}.audience__footer{margin-top:auto;padding-top:8px}.overlay-link{font-size:12px;color:var(--text-muted);text-decoration:none;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 12px;transition:color .15s,background .15s;display:inline-block}.overlay-link:hover{color:var(--text);background:var(--surface-hi)}.debug-bar{margin-top:16px;padding:10px 14px;background-color:var(--bg);background-image:linear-gradient(#ffffff08,#ffffff08);border:1px solid var(--border);border-radius:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;color:var(--text-muted);line-height:1.6;word-break:break-all;max-width:380px;width:100%;box-sizing:border-box}.admin{min-height:100dvh;background:var(--bg);color:var(--text);padding:16px 14px 80px;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.admin--gate{align-items:center;justify-content:center;padding:0 20px}.admin-gate{width:100%;max-width:360px;margin:auto;padding:36px 28px;background:var(--surface);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.admin-gate__icon{font-size:42px;line-height:1}.admin-gate__title{font-size:22px;font-weight:700;letter-spacing:-.5px}.admin-gate__sub{font-size:13px;color:var(--text-muted)}.admin-gate__form{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:10px}.admin-gate__input{padding:14px 18px;background:#0006;border:1.5px solid var(--border);border-radius:12px;color:var(--text);font-size:18px;text-align:center;letter-spacing:4px;outline:none}.admin-gate__input:focus{border-color:#ffffff4d}.admin-gate__submit{padding:14px;background:var(--surface-hi);border:1px solid var(--border-hi);border-radius:12px;color:var(--text);font-size:14px;font-weight:600}.admin-gate__submit:hover:not(:disabled){background:var(--surface-act)}.admin-gate__submit:disabled{opacity:.4;cursor:default}.admin-gate__error{font-size:13px;color:#ff6b8a;background:#ff3c5a1a;padding:8px 12px;border-radius:8px;width:100%}.admin-gate__hint{font-size:11px;color:var(--text-muted);margin-top:6px}.admin__header{display:flex;align-items:center;gap:12px;padding:4px 4px 0}.admin__title-block{flex:1;min-width:0}.admin__title{font-size:20px;font-weight:700;letter-spacing:-.4px}.admin__room{font-size:12px;color:var(--text-muted);display:block;margin-top:2px}.admin__logout{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text-muted);font-size:12px;font-weight:600}.admin__logout:hover{background:var(--surface-hi);color:var(--text)}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px}.admin-section__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.admin-section__title{font-size:15px;font-weight:700;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.admin-section__count{margin-left:4px;font-size:12px;color:var(--text-muted);background:#ffffff0f;padding:2px 8px;border-radius:999px;font-weight:600}.admin-section__hint{font-size:11px;color:var(--text-muted);margin-left:auto}.admin-section__action{margin-left:auto;font-size:12px;color:#ff6464e6;background:transparent;padding:4px 8px;border-radius:6px}.admin-section__action:hover{background:#ff3c3c1a}.admin-empty{padding:16px;font-size:13px;color:var(--text-muted);text-align:center;background:#0003;border-radius:10px}.admin-list{display:flex;flex-direction:column;gap:8px}.admin-list--compact{gap:4px}.req-card{background:linear-gradient(135deg,#ffc4411a,#ff91000d);border:1px solid rgba(255,196,65,.3);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.req-card--done{background:#ffffff08;border-color:var(--border);opacity:.6}.req-card__top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.req-card__amount{font-size:22px;font-weight:800;color:#ffd97a;letter-spacing:-.5px;font-feature-settings:"tnum"}.req-card--done .req-card__amount{color:var(--text-muted)}.req-card__name{font-size:13px;color:#ffffffbf;font-weight:600}.req-card__time{margin-left:auto;font-size:11px;color:var(--text-muted)}.req-card__msg{font-size:16px;line-height:1.4;color:var(--text);font-weight:500}.req-card--done .req-card__msg{text-decoration:line-through;text-decoration-color:#ffffff4d;color:var(--text-muted)}.req-card__actions{display:flex;gap:8px;margin-top:4px}.btn-action{flex:1;padding:10px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid transparent}.btn-action--done{background:#00d47e26;border-color:#00d47e66;color:#6fffba}.btn-action--done:hover{background:#00d47e40}.btn-action--remove{background:#ff3c3c1a;border-color:#ff3c3c4d;color:#ff8a9a}.btn-action--remove:hover{background:#ff3c3c2e}.btn-action--pin{background:#ffc4411a;border-color:#ffc4414d;color:#ffd97a}.btn-action--pin:hover{background:#ffc4412e}.btn-action--pin-active{background:#ffc44147;border-color:#ffc4418c;color:#fff}.req-card--pinned{border-color:#ffc4418c;box-shadow:0 0 0 1px #ffc44159}.req-card__badge{font-size:13px;margin-right:2px}.req-card--song{background:linear-gradient(135deg,#635bff1a,#635bff0a);border-color:#786eff52}.req-card__song{font-size:16px;font-weight:700;color:#c9c2ff;line-height:1.3;letter-spacing:-.2px}.tip-row--logged{opacity:.55}.admin-completed{margin-top:6px;border-top:1px dashed var(--border);padding-top:10px;display:flex;flex-direction:column;gap:8px}.admin-completed__toggle{font-size:12px;color:var(--text-muted);text-align:left;padding:4px 0}.admin-completed__toggle:hover{color:var(--text)}.admin-clear-all{align-self:flex-end;font-size:11px;color:#ff6464d9;padding:6px 10px;border-radius:6px;margin-top:4px}.admin-clear-all:hover{background:#ff3c3c1a}.tip-row,.chat-row{display:flex;align-items:baseline;gap:10px;padding:8px 10px;background:#0003;border-radius:8px;font-size:13px;flex-wrap:wrap}.tip-row__amount{font-weight:700;color:#ffd97a;font-feature-settings:"tnum";flex-shrink:0}.tip-row__name{color:#fffc;font-weight:500;flex-shrink:0}.tip-row__msg{flex:1;min-width:0;color:#ffffffb3}.tip-row__time{font-size:11px;color:var(--text-muted);margin-left:auto;flex-shrink:0}.tip-row__remove,.chat-row__remove{width:22px;height:22px;border-radius:50%;background:transparent;color:var(--text-muted);font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tip-row__remove:hover,.chat-row__remove:hover{background:#ff3c3c2e;color:#ff8a9a}.chat-row__user{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-muted);flex-shrink:0}.chat-row__text{flex:1;min-width:0;color:var(--text)}.chat-row__time{font-size:11px;color:var(--text-muted);margin-left:auto;flex-shrink:0}.admin-toggles{display:flex;flex-direction:column;gap:6px}.toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#0003;border-radius:10px;cursor:pointer}.toggle__label{font-size:14px;font-weight:500}.toggle__switch{position:relative;display:inline-block;width:44px;height:26px;background:#ffffff1a;border-radius:999px;transition:background .2s}.toggle__switch input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;margin:0}.toggle__knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 4px #0006}.toggle__switch--on{background:#00d47e}.toggle__switch--on .toggle__knob{transform:translate(18px)}.seg-control{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#0003;border-radius:10px;gap:12px}.seg-control__label{font-size:14px;font-weight:500}.seg-control__group{display:flex;background:#ffffff0f;border-radius:8px;padding:3px;gap:2px}.seg-control__btn{padding:7px 12px;font-size:12px;font-weight:600;color:var(--text-muted);border-radius:6px;transition:background .15s,color .15s}.seg-control__btn:hover{color:var(--text)}.seg-control__btn--active{background:var(--surface-act);color:var(--text);box-shadow:0 1px 3px #0000004d}.seg-control--stacked{flex-direction:column;align-items:stretch;gap:8px}.seg-control__group--wrap{flex-wrap:wrap;justify-content:stretch}.seg-control__group--wrap>.seg-control__btn{flex:1 0 auto;min-width:50px}.layout-picker{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#0003;border-radius:10px}.layout-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}.zone-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:#ffffff0a;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.zone-tile:hover{background:#ffffff14;border-color:var(--border-hi)}.zone-tile--active{background:#635bff2e;border-color:#786eff99;box-shadow:0 0 12px #635bff4d}.zone-tile__screen{position:relative;width:100%;aspect-ratio:16 / 9;background:#0006;border-radius:4px;overflow:hidden}.zone-tile__zone{position:absolute;background:#635bffb3;border-radius:2px}.zone-tile--active .zone-tile__zone{background:#b07cff;box-shadow:0 0 8px #b07cff99}.zone-tile__zone--emoji{background:#ff466eb3;background-image:radial-gradient(circle at 30% 60%,rgba(255,255,255,.4) 1px,transparent 2px),radial-gradient(circle at 70% 30%,rgba(255,255,255,.4) 1px,transparent 2px);background-size:20% 30%}.zone-tile--active .zone-tile__zone--emoji{background-color:#f57}.zone-tile__label{font-size:10px;font-weight:700;color:var(--text-muted);letter-spacing:.2px}.zone-tile--active .zone-tile__label{color:var(--text)}.zone-tile--off{background:#ff3c3c0d;border-color:#ff505040}.zone-tile--off:hover{background:#ff3c3c1f;border-color:#ff646466}.zone-tile--off.zone-tile--active{background:#ff3c3c38;border-color:#ff6464b3;box-shadow:0 0 12px #ff506459}.zone-tile__off{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#ff64648c;font-family:ui-monospace,monospace}.zone-tile--off.zone-tile--active .zone-tile__off{color:#ff6b8a}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;overflow:hidden;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--safe-margin: 5vmin}.qr-wrapper,.qr-toggle{pointer-events:auto}@keyframes rise{0%{transform:translateZ(0) rotate(0);opacity:1}90%{opacity:1}to{transform:translate3d(var(--drift, 0),-98vh,0) rotate(var(--rotation, 0deg));opacity:0}}@keyframes sway{0%{transform:translate3d(calc(var(--sway, 28px) * -1),0,0)}to{transform:translate3d(var(--sway, 28px),0,0)}}@keyframes pop{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}.float-rise{position:absolute;bottom:6vh;line-height:1;animation:rise var(--rise-dur, 6s) cubic-bezier(.45,0,.55,1) forwards;will-change:transform,opacity;pointer-events:none;-webkit-user-select:none;user-select:none}.float-sway{animation:sway var(--sway-dur, 1.8s) cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}.float-pop{display:inline-block;animation:pop .25s cubic-bezier(.34,1.56,.64,1) both;will-change:transform,opacity;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}@media (prefers-reduced-motion: reduce){.float-sway{animation:none}.float-pop{animation:none;opacity:1;transform:none}}.chat-stack{position:absolute;bottom:240px;display:flex;flex-direction:column;gap:6px;max-height:28vh;overflow:hidden;width:min(360px,32vw);pointer-events:none;z-index:5}.chat-stack--right{right:var(--safe-margin);align-items:flex-end}.chat-stack--left{left:var(--safe-margin);align-items:flex-start}@keyframes bubble-in{0%{transform:translateY(16px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes bubble-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.chat-bubble{background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:5px 10px 6px;color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px;animation:bubble-in .22s cubic-bezier(.34,1.56,.64,1) both;max-width:100%}.chat-bubble--fading{animation:bubble-out .4s ease-out forwards}.chat-bubble__user{font-size:10px;font-weight:700;letter-spacing:.4px;color:#ffd97ab3;text-transform:lowercase;flex-shrink:0}.chat-bubble__text{font-size:13px;font-weight:500;line-height:1.3;color:#ffffffeb;text-shadow:0 1px 4px rgba(0,0,0,.7);word-wrap:break-word;overflow-wrap:anywhere;flex:1;min-width:0}.tip-stack{position:absolute;top:var(--safe-margin);max-height:60vh;display:flex;flex-direction:column;gap:10px;max-width:380px;width:min(380px,36vw);pointer-events:none;z-index:10;overflow:hidden;padding:4px}.tip-stack--right{right:var(--safe-margin);align-items:flex-end;--slide-from: 120%}.tip-stack--left{left:var(--safe-margin);align-items:flex-start;--slide-from: -120%}@keyframes tip-slide-in{0%{transform:translate(var(--slide-from)) scale(.96);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes tip-slide-out{0%{transform:translate(0) scale(1);opacity:1;max-height:240px;margin-bottom:0}to{transform:translate(var(--slide-from)) scale(.94);opacity:0;max-height:0;margin-bottom:-10px}}@keyframes tip-shine{0%,to{background-position:-150% 0}50%{background-position:250% 0}}.tip-card{position:relative;width:100%;border-radius:12px;overflow:hidden;animation:tip-slide-in .55s cubic-bezier(.22,.9,.32,1.05) both;box-shadow:0 12px 36px #00000073;will-change:transform,opacity;backface-visibility:hidden}.tip-card--exit{animation:tip-slide-out .5s cubic-bezier(.4,0,.6,1) forwards;pointer-events:none}.tip-card__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;font-weight:700;letter-spacing:-.2px;position:relative;background-size:200% 100%;animation:tip-shine 4s ease-in-out infinite}.tip-card__name{font-size:14px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.18)}.tip-card__amount{font-size:17px;font-weight:900;font-feature-settings:"tnum";letter-spacing:-.5px;flex-shrink:0;text-shadow:0 1px 2px rgba(0,0,0,.18)}.tip-card__msg{padding:12px 14px 14px;font-size:15px;font-weight:500;line-height:1.4;color:#fff;background:#0f0f12e0;word-wrap:break-word;overflow-wrap:anywhere}.tip-card__song{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;font-size:16px;font-weight:700;line-height:1.25;color:#fff;background:#0f0f12eb;letter-spacing:-.2px}.tip-card__song-icon{font-size:18px;flex-shrink:0}.tip-card__song-title{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:anywhere}.tip-card__song+.tip-card__msg{padding-top:4px}.tip-card--ephemeral .tip-card__header{padding:12px 16px}@keyframes tip-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.tip-card__countdown{position:absolute;left:0;right:0;bottom:0;height:2px;transform-origin:left center;background:#ffffff59;animation-name:tip-countdown;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none}.tip-card--pinned .tip-card__countdown{animation-play-state:paused}.tip-card__pin,.tip-card__check{font-size:14px;flex-shrink:0;line-height:1}.tip-card__check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#00000059;color:#fff;font-weight:800;font-size:13px}.tip-card--pinned{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}.tip-card--completed .tip-card__msg{opacity:.78}.tip-card--bronze .tip-card__header{background-image:linear-gradient(110deg,#cd7f32,#e8a36b,#cd7f32);color:#2a1605}.tip-card--bronze .tip-card__amount{color:#fff}.tip-card--silver .tip-card__header{background-image:linear-gradient(110deg,#b8b8c2,#f0f0f5,#b8b8c2);color:#1a1a22}.tip-card--gold .tip-card__header{background-image:linear-gradient(110deg,#ffaa1a,#ffd97a,#ffaa1a);color:#2a1a00}.tip-card--platinum .tip-card__header{background-image:linear-gradient(110deg,#5e44d8,#b07cff 35%,#f8e4ff,#b07cff 65%,#5e44d8);color:#fff}.overlay-meta{position:absolute;bottom:44px;left:44px;pointer-events:none}.user-count{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:#ffffffd1;text-shadow:0 2px 12px rgba(0,0,0,.6);letter-spacing:-.3px}.user-count__dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 #00d47eb3;animation:dot-pulse 2.2s ease-in-out infinite;flex-shrink:0}.qr-wrapper{position:absolute;bottom:36px;right:44px;cursor:pointer;animation:qr-appear .4s cubic-bezier(.34,1.56,.64,1)}@keyframes qr-appear{0%{transform:scale(.7) translateY(16px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.qr-code{background:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 12px 48px #00000080,0 2px 8px #0000004d}.qr-code__label{font-size:11px;color:#555;font-weight:600;text-align:center;letter-spacing:.2px}.qr-toggle{position:absolute;bottom:44px;right:44px;background:#0000008c;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff9;font-size:11px;font-weight:700;padding:6px 10px;letter-spacing:.5px;cursor:pointer;pointer-events:auto}html.overlay-mode,html.overlay-mode body,html.overlay-mode #root,html.overlay-mode .overlay{background:transparent!important;background-color:transparent!important}html.overlay-mode{color-scheme:light dark}
