:root{color:#1c1917;background:#f4f1ea;font-family:Segoe UI,sans-serif;font-size:16px;--ink: #1c1917;--paper: #f4f1ea;--surface: #ffffff;--line: #e4dfd6;--accent: #1f4e46;--muted: #5f5a52}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid transparent;border-radius:8px;background:var(--accent);color:var(--on-accent, white);padding:.7rem 1rem;min-height:44px;font-weight:650}button.secondary{background:transparent;color:var(--ink);border-color:#d6d1c7}button:disabled{opacity:.45}a.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:8px;border:1px solid #d6d1c7;color:var(--ink);font-weight:650;text-decoration:none}.join-qr{display:grid;justify-items:start;gap:8px}input,select{width:100%;border:1px solid #d6d1c7;border-radius:8px;padding:.7rem .8rem;background:#fff}.app{max-width:980px;margin:0 auto;padding:16px}.stack{display:grid;gap:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.home-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.home-actions+form{align-items:end}.home-actions+form label{flex:1 1 200px}button.link-button{justify-self:center;background:none;border:0;color:var(--accent);text-decoration:underline;font-weight:600;min-height:0;padding:4px 8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}h1,h2,p{margin:0}.muted{color:#57534e}.banner{background:#ffedd5;border-radius:12px;padding:10px 12px}.number-hero{font-size:clamp(4.5rem,18vw,9rem);line-height:.9;font-weight:760;text-align:center;color:var(--accent-ink, var(--accent));font-variant-numeric:tabular-nums}.pop{animation:rise .45s ease}@keyframes rise{0%{transform:translateY(28px);opacity:.2}to{transform:none;opacity:1}}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px;background:#1c1915;color:#fff;font-weight:700}.zoom-btn{width:36px;min-height:36px;padding:0}.ticket-fit{display:flex;justify-content:center;overflow-x:auto}.claim-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.claim-buttons button{min-height:48px;white-space:normal}.claim-buttons button:only-child{grid-column:1 / -1}.player-shell .ticket{width:min(100%,calc(520px * var(--ticket-zoom)));padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.player-shell .cell.empty{background:#f4f1ea;border-color:#e7e2d8}.ticket{--ticket-zoom: 1;width:min(calc(100% * var(--ticket-zoom)),calc(420px * var(--ticket-zoom)));display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;flex:0 0 auto}.cell{aspect-ratio:1;border-radius:8px;border:1px solid #e7e5e4;background:#fafaf9;color:#1c1915;padding:0;min-height:0;font-size:calc(.7rem + .35rem * var(--ticket-zoom, .85));font-weight:700}.cell.crossed{background:#166534;color:#fff}.cell.auto{background:#86a892;color:#1c1915}.cell.picked,.cell.picked.crossed,.cell.picked.auto{background:#38bdf8;color:#0c4a6e;border-color:#0369a1;box-shadow:inset 0 0 0 2px #0369a1}.eligibility{background:#ffedd5;border-radius:12px;padding:10px 12px;font-weight:700}.eligibility.closed{background:#fee2e2;color:#991b1b}.chip.picked,.number-hero.picked{background:#38bdf8;color:#0c4a6e;box-shadow:inset 0 0 0 3px #0369a1}.number-hero.picked{display:inline-block;border-radius:24px;padding:.02em .18em}.cell.empty{background:transparent;border-color:transparent}.ticket.claimed{padding:6px;border-radius:12px;background:#fef3c7;box-shadow:0 0 0 3px #d97706}.ticket.claimed .cell:not(.crossed):not(.empty){background:#fffbeb}.boggy{outline:3px solid #b91c1c}.panels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.panel{min-width:100%;scroll-snap-align:start}.tabs{display:flex;gap:8px;overflow-x:auto}.tabs button{background:transparent;color:var(--ink);border-color:var(--line)}.tabs button.active{background:var(--accent);color:var(--on-accent, white);border-color:var(--accent)}.show button.secondary{color:#fafaf9;border-color:#57534e}.show .ticket{width:min(92vw,920px)}.show section{width:min(92vw,920px)}.show{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:16px;padding:24px;background:#1c1915;color:#fafaf9}.show .number-hero{color:var(--show-hero, #fdba74)}.show .chip{background:var(--show-hero, #fdba74);color:#1c1915}.show .chip.called{background:#4ade80;color:#1c1915}.show .chip.picked,.show .number-hero.picked{background:#38bdf8;color:#0c4a6e}.show-screen{width:100vw;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;align-content:stretch;justify-items:stretch;grid-template-columns:minmax(0,7fr) minmax(220px,3fr);grid-template-rows:minmax(0,1fr);padding:12px 16px;gap:12px;box-sizing:border-box}.show-screen.side-collapsed{grid-template-columns:minmax(0,1fr) 40px}.show-screen .show-stage{width:auto;height:100%}.show-stage,.show-side{min-width:0;min-height:0;align-self:stretch;overflow:hidden}.show-stage{display:flex;flex-direction:column;text-align:center;gap:8px}.show-toolbar{display:flex;justify-content:flex-start}.board-toggle{min-height:32px;padding:.25rem .75rem;font-size:.85rem}.show-call{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.show-call .number-hero{font-size:clamp(6.5rem,22vh,15rem)}.show-hint{font-size:clamp(1rem,2.4vh,1.6rem)}.show-recent{justify-content:center}.show-recent .chip{min-width:clamp(72px,8vw,120px);min-height:clamp(72px,10vh,120px);font-size:clamp(1.8rem,4.2vh,3rem);border-radius:16px}.show-stage.board-on{justify-content:stretch}.number-board{flex:1;min-height:0;width:100%;display:grid;grid-template-rows:repeat(9,minmax(0,1fr));gap:6px}.number-board .chips{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;min-height:0}.show-stage .number-board .chip{width:100%;height:100%;min-width:0;min-height:0;border-radius:8px;font-size:clamp(.85rem,2.1vh,1.7rem)}.player-board{width:100%;gap:4px;flex:none;min-height:auto;grid-template-rows:repeat(9,auto)}.player-board .chips{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.player-board .chip{min-width:0;min-height:28px;height:auto;background:#fdba74;color:#1c1915;border-radius:6px;font-size:.75rem}.player-board .chip.called{background:#4ade80;color:#1c1915}.player-board .chip.picked{background:#38bdf8;color:#0c4a6e;box-shadow:inset 0 0 0 2px #0369a1}.show-side{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;border-left:1px solid #44403c;padding-left:10px}.show-screen.side-collapsed .show-side{align-items:center;border-left:0;padding-left:0}.side-toggle{width:32px;height:32px;min-height:32px;padding:0;border-radius:8px;display:grid;place-items:center;background:transparent;color:#fafaf9;border:1px solid #57534e}.side-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.show-info{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;overflow:hidden}.show-info h2{font-size:.95rem}.show-info p{font-size:.9rem;line-height:1.25}.show-winners{min-height:0;overflow:hidden}.show-join{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.show-passkey{font-size:clamp(1.3rem,3vh,2rem);font-weight:800;letter-spacing:.08em}.show-join img{width:min(100%,150px);height:auto;max-height:18vh;object-fit:contain}@media(max-width:800px){.show-screen,.show-screen.side-collapsed{grid-template-columns:1fr;height:auto;max-height:none;overflow:auto}.show-side{border-left:0;padding-left:0}}.bench{min-height:100vh;display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:12px;padding:12px}.bench-board{align-content:start}.bench .show{min-height:0;justify-items:stretch;padding:16px;border-radius:18px}.bench-board .number-hero{font-size:clamp(3.5rem,8vw,6rem)}.bench-players{align-content:start}.bench-players .row input{flex:1;width:auto;min-width:180px}.player-window-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.player-window-row{border:1px solid #e7e5e4;border-radius:12px;padding:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.player-window-row.claim-ready{border-color:#9a3412;box-shadow:0 0 0 2px #fed7aa}.player-window-row button{min-height:36px;padding:.45rem .75rem}.prize-result{border-left:4px solid #d6d3d1;padding:8px 10px;background:#fafaf9}.prize-result.won{border-color:#15803d;background:#dcfce7;color:#14532d;font-weight:700}.dialog-backdrop{position:fixed;inset:0;background:#1c191573;display:grid;place-items:center;padding:12px;z-index:20}.dialog{width:min(760px,100%);max-height:min(82vh,760px);overflow:hidden;background:#fff;border-radius:18px;padding:16px}.setup-page{display:grid;gap:14px}.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-items:start}.setup-box{display:grid;gap:10px;align-content:start}.setup-box h3{margin:0;font-size:1rem}.setup-pair{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:end}.setup-pair>label{flex:1 1 160px}.setup-save{display:flex;justify-content:flex-end}.line-table{overflow:auto;max-height:min(58vh,520px)}.line-table table{width:100%;border-collapse:collapse}.line-table th,.line-table td{text-align:left;padding:4px;border-bottom:1px solid #e7e5e4}.line-table th{position:sticky;top:0;background:#fff}.line-table td:first-child,.line-table th:first-child{width:72px}.file-button{position:relative;overflow:hidden;border-radius:999px;background:#44403c;color:#fff;min-height:44px;padding:.75rem 1rem}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.audit-line{display:grid;grid-template-columns:92px 1fr;gap:8px}button:active{transform:translateY(1px)}.claim-hint{border:2px solid #d97706;border-radius:12px;padding:10px;background:#fef3c7}@media(max-width:900px){.bench{grid-template-columns:1fr}}label{display:grid;gap:6px;font-weight:600}.check{display:flex;gap:8px;align-items:center;font-weight:600}.check input{width:auto}@media(max-width:720px){.app{padding:12px}}.workspace{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);background:var(--paper)}.workspace-side{background:var(--ink);color:#f6f3ee;padding:20px 14px;display:flex;flex-direction:column;gap:18px}.brand{display:grid;gap:2px}.brand strong{font-size:1.05rem;letter-spacing:.04em}.brand span,.side-note{color:#c8c2b8;font-size:.82rem}.workspace-nav{display:grid;gap:4px}.workspace-nav button,.player-nav button{background:transparent;color:inherit;border:0;border-radius:8px;text-align:left;min-height:40px;font-weight:600}.workspace-nav button.active{background:#31403d;color:#fff}.workspace-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.workspace-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.workspace-content{padding:20px;display:grid;gap:16px;align-content:start}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:4px}.metric b{font-size:1.4rem;font-variant-numeric:tabular-nums}.metric span,.table-note{color:var(--muted);font-size:.82rem}.data-table{width:100%;border-collapse:collapse;background:var(--surface)}.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--ink)}.auth-card{width:min(420px,100%);background:var(--surface);border-radius:16px;padding:24px;display:grid;gap:12px}.positive{color:#1f6b45}.negative{color:#9f2d2d}.host-shell{min-height:100vh;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:var(--paper)}.host-command{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 16px;background:var(--ink);color:#f6f3ee}.host-command .number-hero{color:#f3d7a1;font-size:clamp(3rem,8vw,5.5rem)}.host-command .pending-line{max-width:34rem;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:650;line-height:1.35}.host-command button{min-width:148px}.host-command button.secondary{color:#f6f3ee;border-color:#8a847a}.host-command .banner{color:#1c1917}.host-command .banner button.secondary{color:#1c1917;border-color:#1c1917;background:#fff}.host-tabs{display:flex;gap:8px;padding:10px 16px 0;overflow-x:auto}.host-body{padding:16px;display:grid;gap:12px;align-content:start}.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start}.setup-grid h3{margin:0;font-size:1rem}.setup-wide{grid-column:1 / -1}.setup-grid .indent{margin-left:18px}.prize-head{display:flex;justify-content:flex-start;align-items:center;gap:16px}.prize-groups{display:grid;gap:8px}.prize-group{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:8px;background:#f7f4ee;border-radius:10px}.prize-item{display:flex;align-items:center;gap:6px}.prize-item input:not([type=checkbox]){width:5.5rem;min-height:34px}.unlucky-tie{display:flex;align-items:center;gap:6px;font-size:.85rem;white-space:nowrap}.unlucky-tie select{min-height:34px;width:auto}.player-shell{min-height:100dvh;padding:12px 12px 84px;display:grid;gap:12px;align-content:start}.player-nav{position:fixed;left:0;right:0;bottom:0;display:flex;overflow-x:auto;background:var(--surface);border-top:1px solid var(--line);z-index:5}.player-nav button{flex:0 0 auto;text-align:center;border-radius:0;color:var(--muted);padding:0 16px;white-space:nowrap}.show-stage{position:relative;overflow:hidden}.joined-count{font-size:1.35rem;font-weight:750}.emoji-fly,.message-fly{position:absolute;bottom:8px;z-index:5;pointer-events:none;will-change:transform,opacity}.emoji-fly{font-size:3.2rem;animation:emojiRise 4.2s cubic-bezier(.2,.6,.4,1) forwards}.message-fly{max-width:min(34vw,30rem);padding:.35em .9em;border-radius:999px 999px 999px 6px;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:clamp(1.1rem,2.4vw,1.9rem);font-weight:800;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 8px 24px #00000059;animation:messageRise 5.6s cubic-bezier(.2,.6,.4,1) forwards}.announce-overlay{position:fixed;inset:0;z-index:19;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:2vh;padding:6vh 8vw;text-align:center;background:#0c0a09f7;animation:announceShow 7s linear forwards;cursor:pointer}@keyframes announceShow{0%{opacity:0}4%{opacity:1}95%{opacity:1}to{opacity:0}}.announce-overlay p{margin:0}.announce-kicker{color:#f6c445;font-size:clamp(1rem,3vh,1.8rem);font-weight:800;letter-spacing:.2em;text-transform:uppercase}.announce-text{color:#fff;font-size:clamp(2rem,8vh,6rem);font-weight:850;line-height:1.15;max-width:80vw;overflow-wrap:anywhere}@keyframes emojiRise{0%{transform:translate(-50%,20px) scale(.7);opacity:0}8%{transform:translate(-50%) scale(1.1);opacity:1}30%{opacity:1}to{transform:translate(-50%,-40vh) scale(.9);opacity:0}}@keyframes messageRise{0%{transform:translate(-50%,24px) scale(.9);opacity:0}8%{transform:translate(-50%) scale(1);opacity:1}35%{opacity:1}to{transform:translate(-50%,-38vh);opacity:0}}@keyframes noteFade{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}.player-nav button.active{color:var(--accent-ink, var(--accent));background:#e7f0ee}.brand-logo{max-height:48px;max-width:180px;object-fit:contain}.show .brand-logo{max-height:9vh;max-width:22vw}.show-brand{display:flex;align-items:center;justify-content:center;gap:16px;min-height:0}.brand-head{display:flex;align-items:center;gap:12px}.brand-band{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--brand-accent, var(--accent)))}.rehearsal-badge{display:inline-block;padding:4px 12px;border-radius:999px;background:#7c3aed;color:#fff;font-weight:750;font-size:.9rem;letter-spacing:.04em}.winner-overlay{position:fixed;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:1.2vh;padding:3vh 4vw;background:#100e0cf0;color:#fafaf9;text-align:center;animation:winnerIn .5s ease}.winner-prize{font-size:clamp(1.4rem,4vh,2.6rem);font-weight:800;color:var(--show-hero, #fdba74)}.winner-name{font-size:clamp(2.4rem,10vh,6rem);font-weight:850;line-height:1}.winner-code{font-size:clamp(1rem,3vh,1.6rem);letter-spacing:.1em;color:#d6d3d1}.show .winner-ticket,.winner-ticket{width:min(86vw,96vh,900px);margin-top:1vh}.winner-ticket .cell{display:grid;place-items:center;font-size:clamp(1rem,4vh,2.4rem)}.winner-ticket .cell.crossed{background:#4ade80;color:#1c1915}@keyframes winnerIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.check-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:0}.check-ok{color:#166534;font-weight:750}.check-bad{color:#b91c1c;font-weight:750}.check-wait{color:var(--muted)}.shortcut-hint{color:var(--muted);font-size:.85rem}.report{max-width:820px;margin:0 auto;padding:24px;background:#fff}.report table{width:100%;border-collapse:collapse}.report th,.report td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-metrics div{border:1px solid var(--line);border-radius:10px;padding:10px}.report-metrics strong{display:block;font-size:1.6rem}@media print{.no-print{display:none!important}body,:root{background:#fff}.report{padding:0}}.ticket-head{display:flex;justify-content:space-between;align-items:end;gap:8px}.ticket-code{font-variant-numeric:tabular-nums;letter-spacing:.08em;font-weight:760}.recent-three{display:flex;gap:6px}.recent-three b{min-width:42px;min-height:42px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-variant-numeric:tabular-nums}.recent-three b:first-child{background:var(--accent);transform:scale(1.08)}.recent-three b.picked,.recent-three b.picked:first-child{background:#f6c445;color:#1c1917}.join-float{position:fixed;left:8vw;top:18vh;pointer-events:none;font-weight:800;animation:joinPop 2.6s ease forwards}.room-float{position:fixed;right:6vw;bottom:12vh;max-width:28rem;font-weight:750;animation:joinPop 3s ease forwards}.announce-hero{font-size:clamp(1.6rem,4vw,3rem);color:#b45309;font-weight:800}@keyframes joinPop{0%{transform:translateY(18px);opacity:0}20%{opacity:1}to{transform:translateY(-24px);opacity:0}}.sign-in-kicker{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:900px){.workspace{grid-template-columns:1fr}.workspace-side{padding:12px}.workspace-nav{grid-auto-flow:column;overflow-x:auto}.workspace-nav button{white-space:nowrap}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.host-command{align-items:stretch;flex-direction:column}}.loadtest{max-width:1400px;margin:0 auto;padding:16px;display:grid;gap:16px}.loadtest h1,.loadtest h2{margin:0}.lt-head{align-items:center;flex-wrap:wrap;gap:12px}.lt-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.lt-inline{display:flex;align-items:center;gap:8px}.lt-inline select{width:auto}.lt-latest{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}.lt-checks{display:flex;flex-wrap:wrap;gap:8px 16px}.lt-pass{color:#166534;font-weight:700}.lt-miss{color:#b91c1c;font-weight:700}.lt-dots{display:flex;flex-wrap:wrap;gap:4px}.lt-dot{width:14px;height:14px;min-height:0;padding:0;border-radius:50%;border:2px solid transparent;background:#22c55e}.lt-dot.behind{background:#ef4444}.lt-dot.here{border-color:var(--ink, #1c1917)}.lt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.lt-tile{border:2px solid var(--line);border-radius:12px;padding:8px;display:grid;gap:6px;align-content:start;background:var(--surface, white)}.lt-tile.behind{border-color:#ef4444}.lt-tile header{display:flex;align-items:center;gap:6px;font-size:.85rem}.lt-tile header b{flex:1}.lt-tile header button{min-height:0;padding:2px 8px;font-size:.75rem}.lt-live{color:#166534;font-size:.75rem}.lt-off{color:#b91c1c;font-size:.75rem}.lt-last{font-weight:800;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.lt-ticket{--ticket-zoom: .55;width:100%;gap:2px}.lt-ticket .cell{border-radius:4px;font-size:.7rem}.lt-ticket .cell.lt-fresh{background:#f59e0b;color:#1c1915;animation:lt-pop .6s ease-out}@keyframes lt-pop{0%{transform:scale(1.35)}to{transform:scale(1)}}.slide-card{aspect-ratio:16 / 9;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.6em;padding:5% 7%;text-align:center;overflow:hidden;border-radius:12px;container-type:inline-size}.slide-card p{margin:0}.slide-heading{font-size:7cqw;line-height:1.1;overflow-wrap:anywhere}.slide-body{font-size:3.2cqw;line-height:1.35;max-width:80%;white-space:pre-line}.slide-kicker{font-size:3cqw;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.slide-caption{font-size:4.2cqw}.slide-small{font-size:2.4cqw;opacity:.85}.slide-pic{max-width:70%;max-height:45%;min-height:0;object-fit:contain;border-radius:8px}.slide-card.slide-image .slide-pic{max-width:92%;max-height:72%}.slide-list{list-style:none;margin:0;padding:0;display:grid;gap:1.2cqw;text-align:left;font-size:3.4cqw}.slide-list li{display:flex;gap:2cqw;align-items:baseline}.slide-list span{font-weight:800;min-width:1.4em}.slide-overlay{position:fixed;inset:0;z-index:15;display:grid;place-items:center;background:#0d0b09;animation:winnerIn .4s ease}.slide-full{width:min(100vw,177.78vh);border-radius:0}.slide-page{padding:0;background:#0d0b09}.slide-page img{width:100%;height:100%;object-fit:contain;display:block}.slide-next{position:fixed;right:3vw;bottom:4vh;z-index:16;min-height:0;padding:.7em 1.4em;border-radius:999px;font-size:clamp(1rem,1.8vw,1.4rem);background:#ffffffeb;color:#1c1917;box-shadow:0 10px 30px #0006;opacity:.35;transition:opacity .2s}.slide-next:hover,.slide-next:focus-visible{opacity:1}.slide-preview{width:100%;box-shadow:0 6px 24px #0000002e}.slide-live{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;border-left:4px solid #dc2626}.on-air-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#dc2626;margin-right:6px;box-shadow:0 0 #dc262699;animation:airPulse 1.6s infinite;vertical-align:middle}@keyframes airPulse{70%{box-shadow:0 0 0 8px #dc262600}to{box-shadow:0 0 #dc262600}}.studio{--st-ink: #17212b;--st-soft: #f6f7f9;--st-line: #e3e6ea;--st-muted: #64707d;--st-accent: var(--accent);position:relative;display:grid;gap:0;background:#fff;border:1px solid var(--st-line);border-radius:16px;box-shadow:0 1px 2px #1018280a,0 8px 24px #1018280f;overflow:hidden;color:var(--st-ink);font-size:.92rem}.studio h2,.studio h3{margin:0}.studio-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 20px;background:linear-gradient(120deg,#fbfaf7,#f1f5f4);border-bottom:1px solid var(--st-line)}.studio-head>div:first-child{flex:1 1 260px}.studio-head h2{font-size:1.08rem;font-weight:700}.studio-kicker{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--st-accent);font-weight:800;margin-bottom:2px}.studio-meter{display:grid;gap:4px;min-width:180px;font-size:.78rem;color:var(--st-muted)}.meter{display:block;height:6px;border-radius:99px;background:#e7eaee;overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--st-accent),#22a38b);transition:width .3s}.studio button,.studio select,.studio input,.studio textarea{font:inherit}.studio button{min-height:0}.studio-primary{background:var(--st-accent);color:var(--on-accent, #fff);border-radius:10px;padding:.5rem 1rem;font-weight:700;box-shadow:0 1px 2px #0000001f}.studio .mini{width:auto;min-height:32px;padding:.3rem .6rem;font-size:.85rem;border-radius:8px;border:1px solid var(--st-line);background:#fff;color:var(--st-ink);font-weight:600}.studio button.mini{background:var(--st-ink);color:#fff;border-color:var(--st-ink)}.studio button.mini.ghost{background:transparent;color:var(--st-ink);border-color:var(--st-line)}.studio button.mini.air{background:#dc2626;border-color:#dc2626}.studio .mini.danger,.studio .icon-btn.danger:hover{color:#b91c1c}.studio input.mini.num{width:7.5rem}.studio .mini.wide{width:100%}.studio .mini.bad{border-color:#dc2626;background:#fef2f2}.studio textarea.mini{resize:vertical;font-weight:500}.icon-btn{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border-radius:8px;background:transparent;color:var(--st-muted);border:1px solid transparent;font-size:.95rem}.icon-btn:hover{background:var(--st-soft);border-color:var(--st-line);color:var(--st-ink)}.on-air-strip{display:flex;align-items:center;gap:8px;padding:8px 20px;background:#fef2f2;color:#7f1d1d;border-bottom:1px solid #fecaca}.on-air-strip .mini{margin-left:auto}.studio-tabs{display:flex;gap:4px;padding:8px 12px;border-bottom:1px solid var(--st-line);overflow-x:auto;background:#fff}.studio-tabs button{display:inline-flex;align-items:center;gap:6px;padding:.45rem .8rem;border-radius:10px;background:transparent;color:var(--st-muted);font-weight:650;white-space:nowrap;border:1px solid transparent}.studio-tabs button:hover{background:var(--st-soft);color:var(--st-ink)}.studio-tabs button.on{background:var(--st-soft);color:var(--st-ink);border-color:var(--st-line);box-shadow:inset 0 -2px 0 var(--st-accent)}.studio-tabs.grouped{gap:6px 18px;flex-wrap:wrap}.tab-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tab-group+.tab-group{padding-left:18px;border-left:1px solid var(--st-line)}.tab-group-label{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--st-muted);margin-right:4px}.library-strip{display:grid;gap:8px;padding:10px 12px;border:1px dashed var(--st-line);border-radius:12px;background:var(--st-soft)}.library-strip header{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.library-items{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.library-item{flex:none;display:flex;align-items:center;gap:8px;max-width:260px;padding:6px 10px 6px 6px;border-radius:10px;border:1px solid var(--st-line);background:#fff;color:var(--st-ink);font-weight:600;min-height:0}.library-item span:not(.thumb){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-item b{margin-left:auto;color:var(--st-accent);font-size:1.2rem}.studio-tabs em{font-style:normal;font-size:.72rem;min-width:1.4em;padding:0 .4em;border-radius:99px;background:var(--st-accent);color:var(--on-accent, #fff);text-align:center}.tab-icon{font-size:.9rem;opacity:.8}.pro-tag{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:1px 6px;border-radius:6px;background:linear-gradient(120deg,#f59e0b,#d97706);color:#fff;font-weight:800}.pro-tag.big{font-size:.75rem;padding:3px 10px}.studio-body{padding:16px 20px 20px;min-height:260px}.studio .hint{color:var(--st-muted);font-size:.82rem}.studio .warn,.studio .hint.warn{color:#b45309}.studio-toast{position:absolute;right:16px;bottom:16px;z-index:3;max-width:360px;padding:10px 14px;border-radius:12px;background:var(--st-ink);color:#fff;font-size:.85rem;box-shadow:0 10px 30px #00000040;cursor:pointer;animation:rise .25s ease}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpis div{padding:10px 12px;border-radius:12px;background:var(--st-soft);border:1px solid var(--st-line);display:grid}.kpis strong{font-size:1.4rem;line-height:1.1}.kpis span{color:var(--st-muted);font-size:.78rem}.timeline{padding:18px 8px 4px}.track{position:relative;height:8px;border-radius:99px;background:repeating-linear-gradient(90deg,#e7eaee 0 calc(11.11% - 2px),#fff calc(11.11% - 2px) 11.11%)}.timeline.big .track{height:12px}.track-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#99d5c9,var(--st-accent))}.tick{position:absolute;top:14px;transform:translate(-50%);font-size:.7rem;color:var(--st-muted)}.mark{position:absolute;top:50%;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:#4f46e5;border:2px solid #fff;box-shadow:0 2px 6px #4f46e566;display:grid;place-items:center}.mark b{position:absolute;bottom:120%;font-size:.7rem;color:#4338ca}.mark.late{background:#d97706;box-shadow:0 2px 6px #d9770666}.mark.late b{color:#b45309}.timeline-note{margin-top:22px;color:var(--st-muted);font-size:.78rem}.studio-table{border:1px solid var(--st-line);border-radius:12px;overflow:hidden}.st-head,.st-row{display:grid;grid-template-columns:minmax(170px,1.2fr) minmax(220px,2fr) 110px 130px 120px;gap:10px;align-items:center;padding:8px 12px}.st-head{background:var(--st-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--st-muted);font-weight:700}.st-row{border-top:1px solid var(--st-line)}.st-row:hover{background:#fafbfc}.st-row.air{background:#fef2f2}.st-slide{display:flex;align-items:center;gap:8px;min-width:0}.st-name{display:inline-flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.st-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.order-btns{display:grid}.order-btns button{padding:0 4px;height:14px;line-height:1;font-size:.55rem;background:transparent;color:var(--st-muted);border:0}.order-btns button:disabled{opacity:.25}.kind-dot{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef2ff;color:#4338ca;font-weight:800}.badge{font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:99px}.badge.air{background:#dc2626;color:#fff}.badge.due{background:#e0e7ff;color:#3730a3}.badge.done{background:#dcfce7;color:#166534}.when{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.when-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 9px;border-radius:99px;font-size:.78rem;font-weight:700;border:1px solid transparent}.when-chip button{width:18px;height:18px;padding:0;border-radius:50%;background:transparent;color:inherit;opacity:.6;font-size:.85rem;line-height:1}.when-chip button:hover{opacity:1;background:#00000014}.when-chip.count{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.when-chip.count.late{background:#fffbeb;color:#92400e;border-color:#fcd34d}.when-chip.number{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.when-chip.prize{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.when-chip.between{background:#fdf2f8;color:#9d174d;border-color:#fbcfe8}.when-hand{color:var(--st-muted);font-size:.8rem;font-style:italic}.when-plus{width:24px;height:24px;padding:0;border-radius:50%;background:#fff;color:var(--st-muted);border:1px dashed #c3c9d0;font-weight:700;line-height:1}.when-plus:hover{color:var(--st-accent);border-color:var(--st-accent)}.when-add{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center;padding:4px;border-radius:10px;background:var(--st-soft);border:1px solid var(--st-line)}.row-actions{display:flex;gap:2px;justify-content:flex-end;align-items:center}.row-actions .mini{margin-right:4px}.empty-state{display:grid;justify-items:center;gap:8px;padding:28px 16px;border:1px dashed #cfd5dc;border-radius:14px;color:var(--st-muted);text-align:center;background:repeating-linear-gradient(135deg,#fafbfc 0 12px,#fff 12px 24px)}.empty-state span{font-size:1.4rem;color:var(--st-accent)}.empty-state p{max-width:46ch}.template-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.template-tile{display:grid;gap:2px;justify-items:start;text-align:left;padding:10px 12px;border-radius:12px;background:#fff;color:var(--st-ink);border:1px solid var(--st-line);transition:border-color .15s,transform .15s}.template-tile:hover{border-color:var(--st-accent);transform:translateY(-1px)}.template-tile small{color:var(--st-muted);font-weight:500;font-size:.74rem;line-height:1.3}.tile-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--st-soft);font-weight:800;margin-bottom:4px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.gallery-card{margin:0;border:1px solid var(--st-line);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .15s}.gallery-card:hover{box-shadow:0 8px 24px #1018281a}.gallery-card.air,.page-tile.air{border-color:#dc2626;box-shadow:0 0 0 2px #fecaca}.gallery-thumb{display:block;width:100%;padding:0;border:0;border-radius:0;background:#000}.gallery-thumb .slide-card{border-radius:0}.gallery-card figcaption{display:grid;gap:4px;padding:8px 10px 10px}.gallery-card small{color:var(--st-muted);font-size:.74rem}.thumb{flex:none;width:76px;display:block;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px #0003}.thumb .slide-card{border-radius:0}.planner-add{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--st-soft);border:1px solid var(--st-line);font-weight:600}.cue-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.cue{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid var(--st-line);border-radius:12px;background:#fff}.cue .st-name{flex:1}.cue.past{opacity:.6}.cue-at{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#3730a3;font-weight:800;font-size:1.05rem}.cue-at.late{background:#fffbeb;color:#92400e}.number-planner{display:grid;grid-template-columns:minmax(0,440px) minmax(220px,1fr);gap:20px;align-items:start}.mini-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-width:440px}.cell-btn{position:relative;aspect-ratio:1.15;min-height:0;padding:0;border-radius:8px;background:var(--st-soft);color:var(--st-ink);border:1px solid var(--st-line);font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}.cell-btn:hover{border-color:var(--st-accent)}.cell-btn.has{background:#fff7ed;border-color:#fdba74;color:#9a3412}.cell-btn.called{background:#e5e7eb;color:#9ca3af}.cell-btn.called.has{background:#fde68a;color:#78350f}.cell-btn.picked{outline:2px solid var(--st-accent);outline-offset:1px}.cell-btn i{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;border-radius:99px;background:#ea580c;color:#fff;font-style:normal;font-size:.62rem;display:grid;place-items:center}.number-side{position:sticky;top:8px}.number-big{font-size:3rem;font-weight:800;line-height:1;display:flex;align-items:baseline;gap:10px;color:#9a3412}.number-big small{font-size:.8rem;color:var(--st-muted);font-weight:600}.prize-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.prize-card{display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--st-line);background:linear-gradient(180deg,#fff,#fbfcfc)}.prize-card header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.prize-card header strong{font-size:1rem}.prize-card header small{color:var(--st-muted)}.prize-slides{display:grid;gap:6px}.prize-slides .mini{width:100%}.inline-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;font-size:.8rem;color:var(--st-muted);font-weight:600}.inline-field .mini{width:100%}.pro-lock{display:grid;justify-items:center;gap:10px;text-align:center;padding:36px 20px;border-radius:16px;background:radial-gradient(circle at top,#fff7e6,#fff 70%);border:1px solid #fde68a}.pro-lock p{max-width:52ch}.dropzone{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;border:2px dashed #c3c9d0;background:var(--st-soft);cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--st-accent);background:#f1f7f5}.dropzone.busy{cursor:progress}.dropzone input{position:absolute;inset:0;opacity:0;cursor:inherit}.drop-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--st-line);font-size:1.3rem;color:var(--st-accent)}.pdf-group{display:grid;gap:10px;padding:12px;border:1px solid var(--st-line);border-radius:14px}.pdf-group header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pdf-group header .mini{margin-left:auto}.page-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.page-tile{margin:0;display:grid;gap:4px;border:1px solid var(--st-line);border-radius:10px;overflow:hidden;padding-bottom:4px}.page-tile figcaption{display:flex;gap:6px;align-items:center;padding:0 8px;font-size:.78rem;font-weight:700}.page-tile .row-actions{padding:0 4px}.drawer-backdrop{position:fixed;inset:0;z-index:40;background:#0f172a73;display:flex;justify-content:flex-end;animation:fadeIn .15s ease}.drawer{width:min(980px,100vw);height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;box-shadow:-20px 0 50px #0003;animation:drawerIn .22s ease;color:var(--st-ink);font-size:.92rem}.drawer-head,.drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;border-bottom:1px solid var(--st-line)}.drawer-foot{border-top:1px solid var(--st-line);border-bottom:0;justify-content:flex-end;background:var(--st-soft)}.drawer-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px;padding:16px 20px;overflow:auto}.drawer-form{display:grid;gap:12px;align-content:start}.drawer-preview{position:sticky;top:0;display:grid;gap:8px;align-content:start}.field{display:grid;gap:4px}.field>span,.field-label{font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--st-muted)}.field.check{display:flex;align-items:center;gap:8px}.field.check input{width:auto}.field.check span{text-transform:none;letter-spacing:0;font-size:.88rem;color:var(--st-ink);font-weight:600}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.seg-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.seg-tiles button{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;background:#fff;color:var(--st-ink);border:1px solid var(--st-line);font-weight:650;font-size:.84rem}.seg-tiles button span{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--st-soft)}.seg-tiles button.on{border-color:var(--st-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--st-accent) 25%,transparent)}.swatches{display:flex;gap:6px}.font-swatch,.colour-swatch{width:40px;height:34px;padding:0;border-radius:8px;background:#fff;color:var(--st-ink);border:1px solid var(--st-line);font-size:1rem}.font-swatch.on,.colour-swatch.on{outline:2px solid var(--st-accent);outline-offset:1px}.seg{display:inline-flex;border:1px solid var(--st-line);border-radius:9px;overflow:hidden;width:max-content}.seg button{padding:5px 12px;border-radius:0;background:#fff;color:var(--st-ink);border:0;border-right:1px solid var(--st-line);font-weight:650;font-size:.84rem}.seg button:last-child{border-right:0}.seg button.on{background:var(--st-ink);color:#fff}.when-box{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin:0;padding:12px;border:1px solid var(--st-line);border-radius:12px;background:var(--st-soft)}.when-box legend{padding:0 6px;font-weight:800;font-size:.82rem}.when-box .mini{width:100%}.when-box .hint{grid-column:1 / -1}.contrast{font-size:.82rem;padding:6px 10px;border-radius:8px}.contrast.ok{background:#ecfdf5;color:#065f46}.contrast.bad{background:#fef2f2;color:#991b1b}.file-btn{position:relative;display:inline-flex;align-items:center;cursor:pointer;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.unshown{display:grid;gap:8px;padding:12px 16px;border-radius:14px;background:#fffbeb;border:1px solid #fde68a}.unshown header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.unshown .hint{color:#92400e;font-size:.85rem}.unshown-list{display:flex;flex-wrap:wrap;gap:8px}.unshown-item{display:inline-flex;gap:8px;align-items:center;padding:4px 4px 4px 12px;border-radius:99px;background:#fff;border:1px solid #fde68a;font-weight:650}.unshown-item .mini{width:auto;min-height:28px;padding:.2rem .7rem;font-size:.8rem;border-radius:99px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@media(max-width:900px){.st-head{display:none}.st-row{grid-template-columns:1fr 1fr}.st-row .when{grid-column:1 / -1}.number-planner,.drawer-body{grid-template-columns:1fr}.drawer-preview{position:static;order:-1}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.break-banner{border-left:4px solid var(--accent);font-weight:700}.sponsor-note{display:inline;color:var(--muted);font-style:italic;font-size:.92em}.show .sponsor-note{color:#d6d3d1}.winner-sponsor{font-size:clamp(1rem,3vh,1.8rem);font-style:italic;color:#e7e5e4}.game-badge{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent);color:var(--on-accent, white);font-weight:750}@media(max-width:560px){.studio-head,.studio-body{padding-left:12px;padding-right:12px}.when-box,.pair{grid-template-columns:1fr}.seg-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.unshown-item{width:100%;justify-content:space-between}}@media(max-width:480px){.host-shell{padding-bottom:76px}.host-command{padding:10px 12px;gap:8px}.host-command .row{flex-wrap:wrap;gap:6px}.host-command button{min-width:0;flex:1 1 auto;min-height:40px;padding:0 10px;font-size:.9rem}.host-command .number-hero{font-size:3.4rem}.host-command button.call-main{position:fixed;left:12px;right:12px;bottom:12px;z-index:10;min-height:56px;font-size:1.2rem;box-shadow:0 6px 20px #00000059}.host-tabs{padding:8px 12px 0;gap:6px}.host-tabs button{min-width:0;flex:0 0 auto;padding:0 12px;white-space:nowrap}.host-body{padding:10px}.host-body .row{flex-wrap:wrap}.host-body input,.host-body select{min-width:0;max-width:100%}.data-table{display:block;overflow-x:auto}}.slide-card.slide-quiz{justify-content:flex-start;gap:2.2cqw;padding:3.5% 5%}.qz-top{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:6cqw}.qz-kicker{font-size:2.4cqw;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.qz-chip{font-size:2cqw;font-weight:700;padding:.3em .8em;border-radius:99px;background:#ffffff29}.qz-question{font-size:5.2cqw;line-height:1.12;max-width:92%;overflow-wrap:anywhere}.qz-options{width:100%;flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:1.6cqw;align-content:center}.qz-options.four{grid-template-rows:1fr 1fr}.qz-option{position:relative;overflow:hidden;display:flex;align-items:center;gap:2cqw;padding:1.6cqw 2.4cqw;border-radius:1.4cqw;color:#fff;text-align:left;font-weight:750;box-shadow:inset 0 -.5cqw #0000002e;transition:opacity .4s ease,transform .4s ease,filter .4s ease}.qz-fill{position:absolute;inset:0 auto 0 0;background:#ffffff38;transition:width .6s cubic-bezier(.2,.8,.2,1)}.qz-shape{position:relative;font-size:3cqw;opacity:.9}.qz-label{position:relative;flex:1;font-size:3.1cqw;line-height:1.15;overflow-wrap:anywhere}.qz-count{position:relative;font-size:3.4cqw;font-variant-numeric:tabular-nums}.qz-tick{position:relative;width:4.6cqw;height:4.6cqw;display:grid;place-items:center;border-radius:50%;background:#fff;color:#15803d;font-size:3cqw}.qz-option.right{transform:scale(1.03);box-shadow:0 0 0 .5cqw #fff,0 1cqw 3cqw #00000059;z-index:1}.qz-option.wrong{opacity:.38;filter:saturate(.4)}.qz-foot{font-size:2cqw;opacity:.8}.qz-timer{position:relative;width:7cqw;height:7cqw;display:grid;place-items:center}.qz-timer svg{position:absolute;inset:0;transform:rotate(-90deg)}.qz-timer circle{fill:none;stroke-width:3.2}.qz-timer-track{stroke:#fff3}.qz-timer-fill{stroke:currentColor;stroke-dasharray:97.4;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.qz-timer b{font-size:2.8cqw;font-variant-numeric:tabular-nums}.qz-timer.urgent{color:#fca5a5;animation:qzPulse 1s ease infinite}.qz-rating{width:80%;flex:1;min-height:0;display:grid;grid-template-columns:repeat(5,1fr);gap:2cqw;align-items:end;position:relative}.qz-rate{display:grid;gap:1cqw;height:100%;grid-template-rows:1fr auto}.qz-rate-bar{display:flex;align-items:flex-end;height:100%;border-radius:1cqw;background:#ffffff1a;overflow:hidden}.qz-rate-bar i{display:block;width:100%;border-radius:1cqw 1cqw 0 0;transition:height .6s cubic-bezier(.2,.8,.2,1)}.qz-rate b{font-size:3cqw}.qz-average{position:absolute;top:0;right:-14%;display:grid;font-size:1.8cqw}.qz-average strong{font-size:5cqw;line-height:1}.qz-board{justify-content:flex-start}.qz-leaders{list-style:none;margin:0;padding:0;width:76%;display:grid;gap:.9cqw}.qz-leaders li{display:flex;align-items:center;gap:2cqw;padding:.9cqw 2cqw;border-radius:1.2cqw;background:#ffffff1a;font-size:2.5cqw;animation:qzRise .5s ease both}.qz-leaders li.top{font-size:3cqw;background:#ffffff2e}.qz-leaders li.top-1{background:linear-gradient(90deg,#f6c453,#e7a325);color:#3b2604}.qz-rank{width:4cqw;font-weight:900;text-align:center}.qz-name{flex:1;text-align:left;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qz-gain{font-size:.75em;font-weight:800;color:#86efac}.qz-leaders li.top-1 .qz-gain{color:#14532d}.qz-leaders strong{font-variant-numeric:tabular-nums}.qz-empty{justify-content:center;opacity:.7}@keyframes qzPulse{50%{transform:scale(1.08)}}@keyframes qzRise{0%{opacity:0;transform:translateY(1.5cqw)}to{opacity:1;transform:none}}.answer-pad{display:grid;gap:12px;padding:14px;border-radius:18px;background:#16130f;color:#fff;box-shadow:0 10px 30px #00000040;animation:winnerIn .3s ease}.pad-head{display:flex;justify-content:space-between;align-items:center}.pad-kind{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#f6c453}.pad-time{min-width:44px;text-align:center;padding:2px 10px;border-radius:99px;background:#ffffff24;font-weight:800;font-variant-numeric:tabular-nums}.pad-time.urgent{background:#dc2626;animation:qzPulse 1s ease infinite}.pad-question{margin:0;font-size:1.2rem;font-weight:750;line-height:1.25}.pad-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pad-option{position:relative;min-height:96px;display:grid;justify-items:start;align-content:space-between;gap:6px;padding:12px;border-radius:14px;border:0;color:#fff;text-align:left;font-size:1rem;box-shadow:inset 0 -5px #0003;transition:transform .12s ease}.pad-option:active{transform:scale(.97)}.pad-option span{font-size:1.3rem;opacity:.9}.pad-option strong{font-size:1.02rem;line-height:1.2;overflow-wrap:anywhere}.pad-option i{position:absolute;top:8px;right:10px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#15803d;font-style:normal;font-weight:900}.pad-option.on{box-shadow:0 0 0 3px #fff,inset 0 -5px #0003}.pad-send{min-height:52px;border-radius:14px;background:#f6c453;color:#3b2604;font-weight:800;font-size:1.05rem}.pad-rating{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.pad-rating button{min-height:64px;border-radius:14px;background:#ffffff1f;color:#fff;font-size:1.5rem;font-weight:800;border:0}.pad-rating button.on{background:#f6c453;color:#3b2604}.pad-locked{display:grid;justify-items:center;gap:4px;padding:18px;border-radius:14px;text-align:center}.pad-locked span{font-size:1.6rem}.pad-locked small{opacity:.85}.pad-wait{margin:0;text-align:center;color:#d6d3d1;font-size:.9rem}.pad-result{display:grid;justify-items:center;gap:2px;padding:18px;border-radius:14px;text-align:center;animation:winnerIn .35s ease}.pad-result strong{font-size:1.5rem}.pad-result.right{background:#15803d}.pad-result.wrong{background:#7f1d1d}.champion-banner{font-weight:750;border-left:4px solid #e7a325}.champion-overlay{position:fixed;inset:0;z-index:18;display:grid;place-content:center;justify-items:center;gap:1.5vh;text-align:center;color:#fff;background:radial-gradient(circle at 50% 40%,#3b2a0a,#0d0b09 70%);animation:winnerIn .5s ease;cursor:pointer}.champion-overlay p{margin:0}.champion-kicker{font-size:clamp(1rem,3.4vh,2rem);font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#f6c453}.champion-name{font-size:clamp(2.4rem,12vh,8rem);font-weight:900;line-height:1.05;background:linear-gradient(180deg,#fff6d6,#f6c453);-webkit-background-clip:text;background-clip:text;color:transparent}.champion-points{font-size:clamp(1rem,4vh,2.4rem);font-weight:700}.champion-prize{font-size:clamp(1rem,3.4vh,2rem);font-style:italic;color:#e7e5e4}.quiz-live{display:grid;gap:10px}.quiz-live-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.quiz-live-body{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px;align-items:start}.quiz-live-card{width:100%}.quiz-live-count{margin:0;font-size:1.05rem}.quiz-live-count strong{font-size:1.8rem}.quiz-crown{display:grid;gap:6px;padding:10px;border-radius:12px;background:#fffbeb;border:1px solid #fde68a}.quiz-crown p{margin:0}.quiz-crown .row{flex-wrap:wrap;gap:6px}.quiz-crown input{flex:1 1 160px;min-width:0}.quiz-hero{display:grid;grid-template-columns:1fr 1fr minmax(0,1.1fr);gap:10px;align-items:stretch}.quiz-new{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;text-align:left;padding:14px;border-radius:14px;border:0;color:#fff;box-shadow:0 6px 16px #0000001f;transition:transform .12s ease,box-shadow .12s ease}.quiz-new:hover{transform:translateY(-2px);box-shadow:0 10px 22px #00000029}.quiz-new.quiz{background:linear-gradient(135deg,#4338ca,#7c3aed)}.quiz-new.poll{background:linear-gradient(135deg,#0f766e,#0891b2)}.quiz-new-icon{grid-row:1 / span 2;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#ffffff2e;font-size:1.3rem;font-weight:900}.quiz-new small{opacity:.85;font-size:.78rem;line-height:1.3}.kpis.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.quiz-list{display:grid;gap:10px}.quiz-card{display:grid;grid-template-columns:168px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px;border-radius:14px;border:1px solid var(--st-line);background:#fff}.quiz-card.air{border-color:#dc2626;box-shadow:0 0 0 2px #dc262626}.quiz-thumb{padding:0;border:0;background:none;min-height:0;border-radius:10px;overflow:hidden}.quiz-thumb .slide-card{width:100%;border-radius:10px}.quiz-info{display:grid;gap:6px;min-width:0}.quiz-tags{display:flex;flex-wrap:wrap;gap:4px}.tag{padding:2px 8px;border-radius:99px;background:var(--st-soft);border:1px solid var(--st-line);font-size:.74rem;font-weight:700;color:var(--st-muted)}.tag.quiz{background:#eef2ff;border-color:#c7d2fe;color:#4338ca}.tag.poll{background:#ecfeff;border-color:#a5f3fc;color:#0e7490}.tag.right{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.seg.wide{width:100%}.seg.wide button{flex:1;padding:8px 12px}.answer-grid{display:grid;gap:6px}.answer-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px;align-items:center}.answer-row .mini{width:100%}.answer-key{width:36px;height:34px;min-height:0;padding:0;border-radius:8px;border:0;color:#fff;font-weight:900;opacity:.75}.answer-key:disabled{cursor:default}.answer-row.right .answer-key{opacity:1;box-shadow:0 0 0 2px #fff,0 0 0 4px #15803d}.answer-row.right .mini{border-color:#15803d;background:#f0fdf4}@media(max-width:900px){.quiz-hero{grid-template-columns:1fr 1fr}.quiz-hero .kpis{grid-column:1 / -1}.quiz-live-body{grid-template-columns:1fr}}@media(max-width:560px){.quiz-hero,.quiz-card{grid-template-columns:1fr}.pad-option{min-height:84px}}.claim-countdown.big{position:absolute;top:50%;right:3vw;transform:translateY(-50%);z-index:6;display:grid;justify-items:center;gap:1.2vh;padding:2.4vh 2vw;border-radius:24px;background:#100e0ce0;color:#fafaf9;text-align:center;box-shadow:0 18px 48px #00000059;animation:countdownIn .4s ease}@keyframes countdownIn{0%{opacity:0}to{opacity:1}}.claim-countdown-label{font-size:clamp(1.2rem,3.4vh,2.2rem);font-weight:850;letter-spacing:.04em;text-transform:uppercase;color:#fdba74}.claim-countdown-note{font-size:clamp(.95rem,2.2vh,1.4rem);color:#e7e5e4;max-width:18em}.claim-countdown-ring{--share: 1;width:clamp(8rem,26vh,16rem);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#f6c453 calc(var(--share) * 360deg),#ffffff1f 0)}.claim-countdown-ring span{width:82%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#1c1917;font-size:clamp(3rem,12vh,7.5rem);font-weight:850;font-variant-numeric:tabular-nums;line-height:1}.claim-countdown.small{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fdba74}.claim-countdown-pill{min-width:3.2em;padding:4px 10px;border-radius:999px;background:#b45309;color:#fff;font-weight:850;text-align:center;font-variant-numeric:tabular-nums}.show-complete{font-size:clamp(1.1rem,3vh,2rem);font-weight:800;color:var(--show-hero, #b45309)}.complete-banner{background:#dcfce7}@media(max-width:900px){.claim-countdown.big{top:auto;bottom:3vh;right:50%;transform:translate(50%)}}.testwall{height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,26vw,360px);overflow:hidden}.testwall-tiles{display:grid;gap:8px;padding:8px;overflow-y:auto;align-content:start;background:#e7e2d8}.testwall-tile{width:100%;height:clamp(230px,31vh,300px);border:2px solid transparent;border-radius:10px;background:var(--surface, #fff)}.testwall-tile.chosen{border-color:var(--accent)}.testwall-controls{display:grid;gap:10px;align-content:start;padding:10px;overflow-y:auto;border-left:1px solid var(--line);background:var(--surface, #fff)}.testwall-controls fieldset{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0}.testwall-controls legend{font-weight:700;padding:0 4px}.testwall-controls button{min-height:36px;padding:.45rem .7rem}.testwall-board{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.testwall-waiting{border:2px solid #d97706;border-radius:10px;padding:8px;background:#fef3c7;display:grid;gap:6px}.testwall-log{font-size:.8rem;color:#57534e;display:grid;gap:2px}.tile-shell{padding:6px 8px;display:grid;gap:6px;align-content:start}.tile-shell .ticket{width:min(100%,340px);padding:4px;gap:3px;background:#fff;border:1px solid var(--line);border-radius:10px}.tile-shell .ticket .cell{font-size:.8rem;border-radius:5px}.tile-shell .ticket-head{display:flex;justify-content:space-between;align-items:center}.tile-shell .ticket-head .ticket-code{font-size:.7rem}.tile-shell .recent-three b{min-width:28px;min-height:28px;font-size:.8rem}.tile-shell .claim-buttons{margin-top:2px;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr))}.tile-shell .claim-buttons button{min-height:30px;padding:.25rem .4rem;font-size:.78rem}.tile-name,.tile-message{margin:0;font-size:.85rem}@media(max-width:900px){.testwall{grid-template-columns:1fr;height:auto;overflow:visible}}.host-winner{display:grid;gap:6px}.host-winner-head{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.host-ticket{width:min(100%,360px)}.host-ticket .cell{font-size:.8rem}.latest-winner{position:relative;display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#fef3c7;border:2px solid #f59e0b;animation:winnerFlash 1.2s ease-out 2}.latest-close{position:absolute;top:6px;right:6px;width:28px;height:28px;min-height:0;padding:0;border-radius:8px;background:transparent;color:#92400e;border:1px solid transparent;font-size:1.2rem;line-height:1}.latest-close:hover{background:#fde68a;border-color:#f59e0b}.latest-kicker{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#92400e}.who-badge{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:99px}.who-badge.real{background:#166534;color:#fff}.who-badge.test{background:#e5e7eb;color:#374151}@keyframes winnerFlash{0%{box-shadow:0 0 #f59e0bcc}to{box-shadow:0 0 0 14px #f59e0b00}}.pz-board{display:grid;gap:2px;aspect-ratio:1;background:#d6d1c7;border:3px solid #d6d1c7;border-radius:10px;padding:2px;overflow:hidden}.pz-cell{aspect-ratio:1;background:#f4f1ea;border-radius:3px;background-repeat:no-repeat;min-width:0;min-height:0;padding:0;border:0}.pz-cell.tap{cursor:pointer;position:relative}.pz-cell.shared{outline:2px solid #f59e0b;outline-offset:-2px}.pz-cell.shared.mine{outline-color:#2563eb}.pz-cell.frozen{outline:3px solid #16a34a;outline-offset:-3px}.pz-cell.frozen:after{content:"✓";position:absolute;left:2px;top:1px;font-size:.7rem;font-weight:900;color:#fff;background:#16a34a;border-radius:4px;padding:0 3px;line-height:1.2}.pz-cell.try{opacity:.55;outline:2px dashed #57534e;outline-offset:-2px}.pz-cell.target{box-shadow:inset 0 0 0 3px #7c3aed}.pz-cell.picked{box-shadow:inset 0 0 0 3px #7c3aed,0 0 0 2px #7c3aed;z-index:1}.pz-reveal .pz-cell.solved{animation:pzReveal .5s ease}.pz-owner{position:absolute;right:2px;bottom:2px;font-size:.65rem;font-weight:800;background:#0009;color:#fff;border-radius:4px;padding:0 3px;line-height:1.2}@keyframes pzReveal{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.pz-dot{width:12px;height:12px;border-radius:99px;display:inline-block;flex:none}.pz-team-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pz-clock{font-variant-numeric:tabular-nums;font-weight:750}.pz-clock.big{font-size:2rem}.pz-clock.low{color:#b91c1c}.pz-standings{list-style:none;padding:0;margin:0;display:grid;gap:6px}.pz-standings li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.pz-standings li.winner{border-color:#f59e0b;background:#fef3c7}.pz-rank{min-width:2rem;font-weight:800}.pz-play{max-width:560px}.pz-play-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:3px solid var(--line);padding-bottom:8px}.pz-play-head .brand-logo{max-height:32px}.pz-play-stats{margin-left:auto;display:flex;gap:12px;align-items:center;font-weight:700}.pz-offline{color:#dc2626}.pz-play-board{width:min(100%,62vh);justify-self:center}.pz-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pz-note{font-size:.9rem}.pz-hand{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}.pz-tile{aspect-ratio:1;min-height:0;padding:0;border-radius:6px;border:2px solid transparent;background-repeat:no-repeat;background-origin:border-box}.pz-tile.tried{opacity:.6;border-style:dashed;border-color:#57534e}.pz-tile.picked{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed;opacity:1}.pz-reference{width:100%;border-radius:10px}.pz-play-board,.pz-hand-zone{user-select:none;-webkit-user-select:none}.pz-cell.grab,.pz-tile.grab{touch-action:none;cursor:grab}.pz-cell.lifted,.pz-tile.lifted{opacity:.25}.pz-cell.drop{box-shadow:inset 0 0 0 3px #16a34a,0 0 0 2px #16a34a;background-color:#dcfce7;z-index:1}.pz-cell.drop-no{box-shadow:inset 0 0 0 3px #dc2626;z-index:1}.pz-hand-zone{border:2px dashed transparent;border-radius:12px;padding:4px;transition:border-color .12s,background-color .12s}.pz-hand-zone.drop{border-color:#2563eb;background:#eff6ff}.pz-hand-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pz-hand-head button.pz-small{width:auto;min-height:0;padding:.35rem .8rem;font-size:.85rem}.pz-ghost{position:fixed;z-index:50;pointer-events:none;border-radius:4px;background-repeat:no-repeat;box-shadow:0 10px 24px #00000059;transform:scale(1.08);cursor:grabbing}.pz-ghost.snapping{box-shadow:0 0 0 3px #16a34a,0 10px 24px #0000004d}.pz-ghost.settling{transition:left .14s ease-out,top .14s ease-out,transform .14s ease-out;transform:scale(1);box-shadow:none}.pz-wall-tiles{height:100dvh;grid-auto-rows:calc((100dvh - 24px)/2)}.pz-wall-seat{position:relative;border:3px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface, #fff);min-height:0}.pz-wall-seat.focused{position:fixed;inset:0;z-index:60;border-radius:0;border-width:4px}.pz-wall-zoom{position:absolute;top:4px;right:4px;z-index:1;opacity:.85}.pz-wall-seat.focused .pz-wall-zoom{opacity:1}.pz-wall-frame{width:100%;height:100%;border:0;display:block}.pz-wall-gone{height:100%;display:grid;place-content:center;justify-items:center;gap:8px}.pz-play.tile{padding:6px;gap:6px;max-width:none}.pz-play.tile .pz-play-head{padding-bottom:4px;font-size:.85rem}.pz-play.tile .pz-play-head .brand-logo{display:none}.pz-play.tile .pz-play-board{width:min(100%,56vh)}.pz-play.tile .pz-hand{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:4px}.pz-play.tile .pz-note,.pz-play.tile .muted{font-size:.8rem}.pz-play.tile button{min-height:32px;padding:.3rem .6rem;font-size:.85rem}.pz-cell.pending:before{content:"?";position:absolute;right:2px;top:1px;font-size:.7rem;font-weight:900;color:#fff;background:#7c3aed;border-radius:4px;padding:0 3px;line-height:1.2}.pz-cell.review,.pz-cell.asked{box-shadow:inset 0 0 0 3px #db2777,0 0 0 2px #db2777;z-index:1}.pz-requests{border-color:#db2777}.pz-request{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pz-request .pz-tile{width:56px;flex:none}.pz-request>span:not(.pz-tile){flex:1 1 160px}.pz-vote{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pz-vote button.chosen{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed}.pz-team .pz-member{flex-wrap:wrap}.pz-link{word-break:break-all;font-size:.85rem;margin:0}.pz-pick{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0}.pz-pick .pz-check{border-left:4px solid transparent;padding-left:8px}.pz-member button.pz-small{width:auto;min-height:0;padding:.3rem .6rem;font-size:.85rem}.pz-members .link-button{padding:0 4px;font-size:.85rem}.pz-team .pz-member button{margin-left:auto;padding:.35rem .7rem}.pz-host-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.pz-place{background:#f59e0b;color:#1c1917;font-weight:800;border-radius:99px;padding:0 8px}.pz-finished{border:2px solid #f59e0b;background:#fffbeb}.pz-live-picture{max-width:320px}.pz-confirm{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:#0f172a8c}.pz-confirm .card{max-width:360px;width:100%}.pz-size{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pz-host-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start}.pz-host-picture{width:100%;max-width:320px;border-radius:10px}.pz-file input{margin-top:6px}.pz-check{display:flex;gap:8px;align-items:center}.pz-check input{width:auto}.pz-host-teams{grid-column:1 / -1}.pz-host-team{border-left:4px solid var(--line);padding-left:10px}.pz-member{display:flex;align-items:center;gap:8px}.pz-member select{width:auto;margin-left:auto;padding:.35rem .5rem}.pz-members{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.9rem}.pz-online,.pz-away{width:9px;height:9px;border-radius:99px;display:inline-block;flex:none}.pz-online{background:#16a34a}.pz-away{background:#d6d3d1}.pz-host-boards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pz-host-boards .pz-board{width:min(100%,360px)}.pz-show{position:relative;height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr;gap:1.5vh;padding:2vh 2vw;background:#0f172a;color:#f8fafc}.pz-show .muted{color:#cbd5e1}.pz-show-wait{font-size:2rem;text-align:center;margin-top:30vh}.pz-show-head{display:flex;align-items:center;gap:2vw}.pz-show-head h1{font-size:clamp(1.4rem,3.4vh,2.6rem)}.pz-show-head .brand-logo{max-height:6vh}.pz-show-sub{color:#94a3b8}.pz-show-head .pz-clock{margin-left:auto;font-size:clamp(1.6rem,6vh,4rem)}.pz-show-lobby{display:grid;grid-template-columns:auto 1fr;gap:4vw;align-items:center;min-height:0}.pz-show-join{display:grid;justify-items:center;gap:1.5vh;font-size:clamp(1rem,2.6vh,1.6rem)}.pz-show-join img{width:min(40vh,30vw);height:auto;border-radius:12px;background:#fff;padding:8px}.pz-show-count{font-size:clamp(1.4rem,4vh,2.4rem);font-weight:800}.pz-show-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2vw}.pz-show-team{display:grid;gap:1vh;border:3px solid;border-radius:16px;padding:2vh 1.5vw;background:#1e293b;font-size:clamp(1rem,2.6vh,1.6rem)}.pz-show-team strong{font-size:clamp(1.6rem,5vh,3rem)}.pz-show-play{display:grid;grid-template-columns:auto 1fr;gap:2vw;min-height:0;align-items:center}.pz-show-ref{display:grid;gap:1vh;justify-items:center;color:#94a3b8}.pz-show-ref img{width:min(38vh,24vw);border-radius:12px}.pz-show-boards{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:1.5vh 2vw;min-height:0;height:100%;align-items:center}.pz-show-board{display:grid;gap:1vh;justify-items:center}.pz-show-board .pz-team-score{font-size:clamp(1rem,3vh,1.8rem)}.pz-show-board .pz-board{width:var(--board, min(66vh, 34vw));background:#334155;border-width:4px}.pz-show-board .pz-cell{background:#1e293b}.pz-show-board.winner .pz-board{box-shadow:0 0 0 6px #f59e0b}.pz-show-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0f172a99;font-size:clamp(2rem,10vh,6rem);font-weight:800}.pz-show-overlay.ended{background:#0f172a73;font-size:1rem}.pz-show-final{display:grid;gap:2vh;min-width:min(640px,80vw);padding:3vh 3vw;background:#f8fafc;color:var(--ink);border-radius:20px;font-size:clamp(1rem,2.8vh,1.6rem)}.pz-show-final h2{font-size:clamp(1.4rem,4.5vh,2.6rem)}.pz-show-final .muted{color:#57534e}.pz-show-cheer{position:absolute;left:50%;bottom:5vh;transform:translate(-50%);background:#f59e0b;color:#1c1917;font-weight:800;font-size:clamp(1.4rem,4.5vh,2.6rem);padding:1.5vh 3vw;border-radius:99px;animation:rise .45s ease}@media(max-aspect-ratio:4/3){.pz-show-play{grid-template-columns:1fr}.pz-show-ref{display:none}}.card-face{font-variant-numeric:tabular-nums;white-space:nowrap}.chip .card-face.card-red,.chip.card-red{color:#fca5a5}.chip{position:relative}.chip .heat,.mini-card .heat{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:#f59e0b;color:#1c1917;font-size:.65rem;font-weight:800;font-family:system-ui,sans-serif;display:grid;place-items:center}.mini-card{position:relative;display:grid;place-items:center;align-content:center;gap:0;min-width:0;min-height:0;border-radius:8px;background:#fff;color:#111827;border:1px solid #d6d3d1;font-family:Georgia,Times New Roman,serif;font-weight:800;line-height:1;container-type:size}.mini-card.card-red{color:#c81e1e}.mini-card.card-joker{color:#6d28d9}.mini-card b{font-size:min(44cqh,62cqw)}.mini-card i{font-style:normal;font-size:min(36cqh,52cqw)}.mini-card.picked{box-shadow:0 0 0 3px #38bdf8}.mini-card.latest{box-shadow:0 0 0 4px #f59e0b}.mini-card.pending{background:transparent;border:2px dashed rgba(120,113,108,.45);color:#78716c99;box-shadow:none}.show .mini-card.pending{border-color:#d6d3d147;color:#d6d3d159}.deck-board{flex:1;min-height:0;width:100%;display:grid;grid-auto-rows:auto;align-content:center;gap:clamp(4px,1vh,10px)}.deck-summary{margin:0;display:flex;justify-content:center;gap:1.5em;font-weight:600;font-size:clamp(.85rem,2.2vh,1.3rem)}.deck-summary b{font-size:1.25em}.deck-row{display:grid;grid-template-columns:clamp(58px,9vw,130px) minmax(0,1fr);gap:clamp(4px,.8vw,12px);min-height:0}.deck-suit{display:grid;place-items:center;align-content:center;gap:0;min-height:0;padding:4px;border-radius:10px;background:#fff;color:#111827;font-weight:700;line-height:1.1;font-size:clamp(.65rem,1.6vh,1rem)}.deck-suit.card-red{color:#c81e1e}.deck-suit.card-joker{color:#6d28d9}.deck-suit-symbol{font-size:2.2em;line-height:1}.deck-suit small{color:#57534e;font-weight:600}.deck-cards{display:grid;grid-template-columns:repeat(var(--per-suit, 13),minmax(0,1fr));gap:clamp(3px,.6vw,10px);min-height:0}.deck-cards .mini-card{width:100%;aspect-ratio:5 / 7;max-height:calc((100dvh - 320px)/5)}.play .deck-cards .mini-card{max-height:none}.play .deck-board{flex:none}.play .deck-suit-name{display:none}.show-recent-cards{display:flex;justify-content:center;gap:clamp(8px,1.2vw,18px)}.show-recent-cards .mini-card{width:clamp(56px,7vw,104px);height:clamp(78px,13vh,146px)}.show-recent-cards .mini-card:last-child{box-shadow:0 0 0 4px #f59e0b}.recent-cards{display:flex;gap:6px}.recent-cards .mini-card{width:34px;height:46px}.recent-cards .mini-card:first-child{box-shadow:0 0 0 3px var(--accent)}.card-hero.card-spin{width:clamp(120px,34vh,300px);aspect-ratio:5 / 7;perspective:1400px}.card-spin-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;will-change:transform}.card-spin-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;box-shadow:0 10px 28px #0000004d;overflow:hidden}.card-spin-face.back{transform:rotateY(180deg)}.card-back-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:16px;background:#fff}.card-hero-name.hidden-name{visibility:hidden}.card-back-setting{display:flex;gap:14px;align-items:flex-start}.card-back-preview{flex:0 0 auto;width:84px;aspect-ratio:5 / 7;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000026}.card-back-preview .card-back-image{border-radius:10px}.card-hero-wrap{display:grid;justify-items:center;gap:6px;font-size:1rem}.playing-card{display:block;width:100%;height:auto}.card-hero.card-flip{width:clamp(110px,30vh,260px);aspect-ratio:5 / 7;border-radius:16px;box-shadow:0 10px 28px #00000038;animation:card-flip .6s ease both}.host-card-hero .card-hero.card-flip{width:clamp(90px,18vh,160px)}.host-card-hero .card-hero-name{font-size:.95rem}.card-hero-name{margin:0;font-weight:700;font-size:clamp(.9rem,2.6vh,1.4rem);text-align:center}@keyframes card-flip{0%{transform:perspective(600px) rotateY(90deg);opacity:.2}to{transform:perspective(600px) rotateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.card-hero.card-flip{animation:none}}.show-heat{margin:0;font-weight:700;font-size:clamp(.9rem,2.4vh,1.3rem);opacity:.85}.card-ticket{display:grid;gap:6px;width:min(100%,640px)}.card-row{display:flex;gap:6px;align-items:center}.card-cell{position:relative;flex:1 1 0;min-width:0;aspect-ratio:5 / 7;min-height:0;padding:0;border-radius:8px;border:1px solid #d6d3d1;background:#fff;color:#1c1915;display:grid;place-items:center;align-content:center;gap:0;font-weight:800;line-height:.95;font-family:Georgia,Times New Roman,serif;container-type:inline-size}.card-cell.card-red{color:#b91c1c}.card-cell b{font-size:58cqi;letter-spacing:-.04em}.card-cell i{font-style:normal;font-size:60cqi}.card-cell.empty{background:transparent;border-color:transparent}.card-cell.crossed{background:#166534;color:#fff;border-color:#166534}.card-cell.crossed.card-red{background:#991b1b;border-color:#991b1b}.card-cell.auto{background:#86a892;color:#1c1915}.card-cell.auto.card-red{background:#e7a3a3;color:#450a0a}.card-cell.picked{background:#38bdf8;color:#0c4a6e;border-color:#0369a1;box-shadow:inset 0 0 0 2px #0369a1}.card-ticket.full{width:min(100%,760px)}.card-ticket.full .card-cell{aspect-ratio:5 / 7;padding:0;background:transparent;border:0;border-radius:10px;overflow:hidden;opacity:.35}.card-ticket.full .card-cell.crossed{opacity:1;background:transparent;box-shadow:0 0 0 3px #16a34a}.flower-ticket{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,2vw,18px);width:min(100%,600px)}.flower-ticket.winner-ticket{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,900px)}.flower{position:relative;aspect-ratio:1}.petal{position:absolute;width:40%;height:40%;padding:0;min-height:0;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #e7e5e4;box-shadow:0 2px 6px #00000014;line-height:1;color:#111827;transition:transform .15s ease,background .15s ease;container-type:inline-size}.petal-suit{font-size:72cqi}.petal.top{left:30%;top:0}.petal.bottom{left:30%;bottom:0}.petal.left{left:0;top:30%}.petal.right{right:0;top:30%}.petal.card-red{color:#c81e1e}.petal.empty{background:transparent;border-style:dashed;box-shadow:none}button.petal:active{transform:scale(.94)}.petal.crossed{background:#111827;border-color:#111827;color:#fff}.petal.crossed.card-red{background:#c81e1e;border-color:#c81e1e}.petal.auto{background:#e5e7eb;color:#111827}.petal.auto.card-red{background:#fecaca;color:#7f1d1d}.petal.picked{box-shadow:0 0 0 3px #0369a1}.flower-centre{position:absolute;left:32%;top:32%;width:36%;height:36%;border-radius:50%;z-index:1;display:grid;place-items:center;background:#fde68a;border:3px solid #f59e0b;color:#1c1917;font-family:Georgia,Times New Roman,serif;font-weight:800;container-type:inline-size}.flower-centre>span{font-size:62cqi;line-height:1;letter-spacing:-.04em}.flower.bloomed .flower-centre{background:#16a34a;border-color:#14532d;color:#fff;box-shadow:0 0 0 6px #16a34a40}.card-picker{display:grid;gap:10px}.picker-suits{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.picker-suit{display:grid;justify-items:center;gap:2px;padding:8px 6px;min-height:0;background:#fff;color:#111827;border:2px solid #e7e5e4;border-radius:12px;font-weight:700}.picker-suit.card-red{color:#c81e1e}.picker-suit.card-joker{color:#6d28d9}.picker-suit small{color:#57534e;font-weight:500;font-size:.72rem}.picker-suit-symbol{font-size:2rem;line-height:1}.picker-suit.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#f0fdf4}.picker-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.picker-card{aspect-ratio:5 / 7;min-height:0;padding:0;display:grid;place-items:center;align-content:center;background:#fff;color:#111827;border:1px solid #d6d3d1;border-radius:7px;font-family:Georgia,serif;line-height:1.05}.picker-card.card-red{color:#c81e1e}.picker-card b{font-size:1rem}.picker-card i{font-style:normal;font-size:.9rem}.picker-card.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}.picker-card.used{opacity:.3;text-decoration:line-through}.picker-call{justify-self:start}.segmented{display:inline-flex;border:1px solid #d6d3d1;border-radius:10px;overflow:hidden;background:#fff}.segmented button{min-height:36px;padding:6px 12px;border:0;border-radius:0;background:transparent;color:#44403c;font-weight:600}.segmented button+button{border-left:1px solid #d6d3d1}.segmented button.active{background:var(--accent);color:var(--on-accent, #fff)}.segmented button:disabled{opacity:.5}.segmented.small button{min-height:30px;padding:4px 10px;font-size:.85rem}.draw-mode{align-items:center;gap:10px}.switch{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 auto}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch span{position:absolute;inset:0;border-radius:99px;background:#d6d3d1;transition:background .15s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:disabled+span{opacity:.5}.prize-panel{display:grid;gap:12px}.prize-panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px}.prize-panel-head h3{margin:0}.prize-panel-head p{margin:2px 0 0}.prize-table{border:1px solid #e7e5e4;border-radius:12px;overflow:hidden;background:#fff}.prize-row{display:grid;grid-template-columns:48px minmax(150px,1.3fr) minmax(140px,1.4fr) 104px minmax(170px,auto);align-items:center;gap:12px;padding:8px 14px;border-top:1px solid #f1efeb}.prize-row-head{border-top:0;background:#f7f5f1;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#57534e}.prize-section-title{padding:10px 14px 6px;border-top:1px solid #e7e5e4;background:#fbfaf8;font-size:.78rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.prize-name{display:grid;gap:1px;min-width:0}.prize-name small{color:#78716c;font-size:.76rem;line-height:1.25}.prize-row.off .prize-name,.prize-row.off .prize-reward,.prize-row.off .prize-points{opacity:.5}.prize-reward{width:100%;min-width:0}.prize-points{display:flex;align-items:center;gap:6px}.prize-points .points-input{width:70px;text-align:right}.prize-points span{color:#78716c;font-size:.85rem}.prize-rule select{width:100%}.prize-foot{margin:0;font-size:.85rem}@media(max-width:760px){.prize-row{grid-template-columns:48px 1fr;gap:6px 10px}.prize-row-head{display:none}.prize-reward,.prize-points,.prize-rule{grid-column:2}}.swap-dot{position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:#f59e0b}.swap-note{font-size:.85rem}.card-ticket.winner-ticket,.card-ticket.host-ticket{width:min(100%,420px)}.points-input{width:5.5em}[hidden]{display:none!important}.song-ticket{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:min(100%,720px)}.song-ticket.boggy{opacity:.55}.song-ticket.claimed{outline:3px solid #f59e0b;outline-offset:3px;border-radius:12px}.song-cell{min-height:88px;padding:8px 6px;display:flex;flex-direction:column;justify-content:center;gap:4px;border:2px solid var(--line);border-radius:10px;background:var(--surface);text-align:center;overflow-wrap:anywhere}.song-cell .song-hint{font-weight:750;font-size:clamp(.85rem,3.4vw,1.1rem);line-height:1.15}.song-cell .song-hint-more{font-size:clamp(.72rem,2.8vw,.9rem);color:var(--muted);line-height:1.15}.song-cell .song-title{font-size:clamp(.72rem,2.8vw,.92rem);line-height:1.1}.song-cell.music .song-hint{color:#7c3aed}.song-cell.sung{background:#166534;border-color:#166534;color:#fff}.song-cell.sung .song-hint,.song-cell.sung .song-hint-more{color:#dcfce7;text-decoration:line-through;text-decoration-thickness:1px}.song-ticket.winner-ticket{width:min(90vw,900px)}.recent-songs{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;max-width:60%}.song-latest{font-size:1.4rem;font-weight:750}.round-banner{margin:0;padding:6px 12px;border-radius:999px;background:#7c3aed;color:#fff;font-weight:700;display:inline-block}.team-names{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.team-name{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#e0f2f1;color:var(--accent);font-weight:700}.team-name.winner{background:#f59e0b;color:#1c1917}.team-name .link{border:0;background:transparent;color:inherit;padding:0 2px;min-height:0;font-size:1.1rem;cursor:pointer}.song-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;width:100%}.song-board.compact .song-board-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.song-chip{padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:.9rem;display:flex;flex-direction:column;gap:2px;text-align:left}.song-chip.sung{background:#dcfce7;border-color:#86efac}.song-chip.sung span{text-decoration:line-through;color:var(--muted)}.show .song-board{width:100%;max-height:72vh;overflow:auto}.show .song-board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.show .song-chip{font-size:1.05rem}.show-songs{gap:14px}.song-hero{font-size:clamp(2.4rem,6vw,5.5rem);font-weight:800;line-height:1.05;max-width:90%;animation:song-in .5s ease-out}.host-song-hero{font-size:clamp(1.5rem,3.6vw,2.8rem);color:#fff;max-width:100%}@keyframes song-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.show-teams .team-name{font-size:1.4rem;padding:6px 18px}.song-recent{font-size:1.1rem;padding:6px 14px}.song-history{margin:0;padding:0;list-style:none;display:grid;gap:4px;max-height:40vh;overflow:auto;width:min(100%,720px)}.song-history-row{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:4px 8px;border-bottom:1px solid var(--line);text-align:left}.song-history-row:not(.accepted) strong{color:var(--muted)}.song-history-row select,.song-history-row button{width:auto;min-height:0;padding:.3rem .6rem;font-size:.9rem}.song-history-row:has(select){align-items:center}.ant-desk{gap:12px}.ant-mark{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:10px;align-items:end}.ant-mark input{font-size:1.15rem}@media(max-width:640px){.ant-mark{grid-template-columns:1fr}}.ant-results{display:grid;gap:6px}.ant-result{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;background:var(--surface);color:var(--ink);border:2px solid var(--accent)}.ant-result span{grid-column:1;color:var(--muted);font-weight:400;font-size:.9rem}.ant-result small{grid-column:2;grid-row:1 / span 2;align-self:center;font-weight:600}.ant-result.sung,.ant-result.off{border-color:var(--line);opacity:.8}.ant-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.ant-team-score{display:grid;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.ant-team-score span{font-size:1.3rem;font-weight:800}.ant-team-score.leading{border-color:#f59e0b;background:#fffbeb}.ant-panel{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface)}.ant-panel summary{cursor:pointer;font-weight:700}.ant-music{margin:0;padding-left:18px;display:grid;gap:4px}.ant-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;max-height:50vh;overflow:auto}.ant-song{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-align:left;font-weight:400}.ant-song input{width:auto;flex:0 0 auto;margin-top:3px}.ant-song.picked{border-color:var(--accent);background:#ecfdf5}
