:root{--hub-menu-clear: 64px;--felt: #0d3b2e;--felt-2: #145c46;--gold: #e9c46a;--gold-2: #c9962e;--ink: #1d2a24;--ivory: #fbf6ea;--red: #d64545;--green: #2fa36b;--ui: "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--serif: "Baloo 2 Variable", "Arial Rounded MT Bold", Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden}body{font-family:var(--ui);color:#fff;user-select:none;-webkit-user-select:none;background:radial-gradient(ellipse at 50% 38%,var(--felt-2) 0%,var(--felt) 62%,#082a21 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1.2px);background-size:34px 34px}canvas{display:block;position:fixed;inset:0}button{font:inherit;color:inherit}[hidden]{display:none!important}#topbar{position:fixed;top:0;left:0;right:0;z-index:20;height:56px;display:flex;align-items:center;gap:12px;padding:8px var(--hub-menu-clear) 0 12px;padding-top:max(8px,env(safe-area-inset-top))}.iconbtn{width:42px;height:42px;border-radius:14px;border:0;cursor:pointer;background:#ffffff24;display:grid;place-items:center}.iconbtn svg{width:22px;height:22px}#roundPill{background:#03140e80;padding:6px 14px;border-radius:999px;display:flex;gap:10px;align-items:baseline;font-size:16px;white-space:nowrap;overflow:hidden;min-width:0}#roundPill b,#roundPill span{overflow:hidden;text-overflow:ellipsis}#roundPill b{flex-shrink:0;max-width:100%}#roundPill b{font-size:18px;color:var(--gold);font-family:var(--serif)}#roundPill span{opacity:.9;font-size:14px}#bottombar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;padding:6px 10px calc(6px + env(safe-area-inset-bottom));background:#03140e8c}.barbtn{border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;min-width:64px;padding:4px 6px;border-radius:12px}.barbtn .e{font-size:22px;font-family:var(--serif);color:var(--gold);line-height:1.1}.barbtn:active{background:#ffffff1f}#prompt{position:fixed;z-index:15;transform:translate(-50%,-50%);padding:8px 16px;border-radius:999px;background:#03140e99;font-size:17px;font-weight:700;white-space:nowrap;pointer-events:none}#prompt.me{background:var(--gold);color:var(--ink)}#actions{position:fixed;left:0;right:0;z-index:18;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;transform:translateY(-50%);pointer-events:none;padding:0 10px}#actions .act.small{padding:10px 14px;min-width:46px}#actions .act{pointer-events:auto;border:0;border-radius:999px;padding:12px 22px;cursor:pointer;font-size:17px;font-weight:800;background:var(--ivory);color:var(--ink);box-shadow:0 5px #0000004d}#actions .act:active{transform:translateY(4px);box-shadow:0 1px #0000004d}#actions .act:disabled{opacity:.45;cursor:default}#actions .gold{background:var(--gold)}#chipLayer{position:fixed;inset:0;pointer-events:none;z-index:12}.chip{position:absolute;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#03140ea8;border:2px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 10px 4px 4px;font-size:14px;font-weight:700;white-space:nowrap;pointer-events:none;transition:transform .2s,box-shadow .2s,border-color .2s}.chip.turn{border-color:var(--gold);box-shadow:0 0 0 4px #e9c46a59}.chip.laid{border-color:#e9c46a99}.chip .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:16px;overflow:hidden;flex:none}.chip .dot svg{width:100%;height:100%;display:block}.chip .dot.face{width:40px;height:40px;margin:-7px 0 -7px -3px;box-shadow:0 0 0 2px #ffffffd9}.dot .dg-avatar{width:100%;height:100%}.chip .nm{max-width:96px;overflow:hidden;text-overflow:ellipsis}.chip .tg{background:var(--ivory);color:var(--ink);border-radius:999px;padding:0 7px;font-size:13px;font-family:var(--serif);font-weight:900}.chip .ph{background:#e9c46a33;color:var(--gold);border-radius:6px;padding:0 6px;font-size:12px;font-family:var(--serif)}.screen{position:fixed;inset:0;overflow:auto;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:max(20px,env(safe-area-inset-top))}.title-wrap{width:min(440px,100%);text-align:center}.fan{position:relative;height:130px;margin-bottom:4px}.fanCard{position:absolute;left:50%;top:10px;width:70px;height:98px;transform:translate(-50%) rotate(calc((var(--i) - 4.5) * 7deg)) translateY(calc((var(--i) - 4.5) * (var(--i) - 4.5) * 1.1px - 6px));filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));margin-left:calc((var(--i) - 4.5) * 17px);animation:fanIn .5s ease-out both;animation-delay:calc(var(--i) * .07s)}@keyframes fanIn{0%{opacity:0;transform:translate(-50%) translateY(30px) rotate(0)}}.logo{font-family:var(--serif);font-size:72px;margin:0;line-height:1;letter-spacing:1px;color:var(--ivory);text-shadow:0 5px 0 #04201a,0 10px 18px rgba(0,0,0,.35)}.logo .ten{color:var(--gold)}.tag{font-size:17px;opacity:.92;margin:10px 0 18px}.label{margin:0 0 6px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.note{font-size:14px;opacity:.8;margin:8px 0 12px}.menu{display:grid;gap:12px}.seg{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.seg button{border:2px solid rgba(255,255,255,.2);background:#ffffff14;border-radius:14px;padding:12px 0;font-size:20px;font-family:var(--serif);font-weight:900;cursor:pointer}.seg button.on{background:var(--gold);color:var(--ink);border-color:var(--gold-2)}.btn{border:0;border-radius:16px;padding:14px 18px;cursor:pointer;font-size:17px;font-weight:800;background:var(--ivory);color:var(--ink);box-shadow:0 5px #00000047}.btn.gold{background:var(--gold);box-shadow:0 5px 0 var(--gold-2)}#modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:16px;background:#0000}#modal.open{display:flex}#modal .sheet{background:var(--ivory);color:var(--ink);width:min(440px,100%);max-height:88vh;overflow:auto;padding:18px 20px 20px;border-radius:24px}#modal h2{margin:0 0 10px;font-family:var(--serif);font-size:28px}#modal h3{margin:14px 0 6px;font-family:var(--serif);font-size:18px}#modal p{margin:6px 0;line-height:1.35}#modal .big{font-family:var(--serif);font-size:26px;font-weight:900;color:var(--gold-2)}#modal ul,#modal ol{padding-left:20px;margin:6px 0}#modal li{margin:5px 0;line-height:1.3;font-size:15px}#modal .phases{list-style:none;padding-left:0}#modal .phases li{display:flex;gap:10px;align-items:baseline}#modal .pn{flex:none;width:26px;height:26px;border-radius:50%;background:var(--felt);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:14px}#modal .sheetRow{display:flex;gap:10px;margin-top:14px;justify-content:flex-end;flex-wrap:wrap}.scores{width:100%;border-collapse:collapse;margin-top:8px;font-size:15px}.scores th,.scores td{padding:6px 4px;text-align:left;border-bottom:1px solid rgba(0,0,0,.1)}.scores th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.scores .who{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.scores .dot{width:28px;height:28px;border-radius:50%;overflow:hidden;flex:none;line-height:0}.scores td.tot{font-family:var(--serif);font-weight:900}.scores tr.me td{color:#8a5a00;font-weight:800}#toast{position:fixed;left:50%;bottom:80px;transform:translate(-50%) translateY(20px);z-index:70;background:var(--ivory);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}.screenTitle{font-family:var(--serif);font-size:36px;margin:0 0 14px}.screenTitle span{color:var(--gold);letter-spacing:2px}.codeRow{display:flex;gap:8px}.codeRow input{flex:1;min-width:0;border-radius:14px;border:2px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;padding:12px 14px;font-size:20px;letter-spacing:4px;text-transform:uppercase;font-weight:800}.codeRow .btn{flex:none}.err{color:#ffb4a8;min-height:20px;font-size:15px}.seatList{display:grid;gap:8px;margin:8px 0 14px}.seatRow{display:flex;gap:10px;align-items:center;justify-content:space-between;text-align:left;background:#03140e80;border-radius:14px;padding:10px 14px;font-size:17px}.seatRow .ok{color:#9fe8b6;font-weight:800}button:focus,input:focus{outline:none}html[data-hub-input=keys] button:focus-visible,html[data-hub-input=keys] input:focus-visible{box-shadow:0 0 0 var(--hub-focus-gap, 2px) var(--hub-focus-inner, rgba(13, 15, 20, .85)),0 0 0 calc(var(--hub-focus-gap, 2px) + var(--hub-focus-width, 3px)) var(--hub-focus-color, #fff)}html[data-hub-input=touch] :focus{box-shadow:none}.headRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.headRow .screenTitle{margin:0;font-size:30px}.headRow .iconbtn{font-size:22px;flex:none}.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.title-wrap{min-width:0}.menu>*{min-width:0}.btn small,.btn span{display:block}.btn small{font-size:13px;font-weight:600;opacity:.75;margin-top:2px}#continueBtn small:empty{display:none}.codeRow input{width:0}.mini{border:0;border-radius:10px;padding:6px 10px;cursor:pointer;font-weight:800;background:#ffffff29;color:#fff;min-width:34px;min-height:32px}.label .mini{margin-left:6px;vertical-align:middle}.roomList{display:grid;gap:8px}.roomItem{display:flex;gap:10px;align-items:center;border:0;cursor:pointer;text-align:left;background:#03140e80;color:#fff;border-radius:14px;padding:12px 14px;font-size:16px;min-height:48px}.roomItem b{font-size:18px;letter-spacing:2px;color:var(--gold)}.roomItem span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roomItem .go{font-weight:800}.roomList .empty{opacity:.75;font-size:15px;padding:8px}.seatRow .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;flex:none;color:#fff;overflow:hidden}.seatRow .nm{flex:1;text-align:left;background:none;border:0;font:inherit;color:inherit;padding:4px 0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seatRow .tag{font-size:14px;opacity:.85}.seatRow .tag.ok{color:#9fe8b6;font-weight:800}.seatRow .kick{border:0;background:#ff786e40;color:#fff;border-radius:10px;width:34px;height:34px;cursor:pointer;font-size:18px;flex:none}.seatRow.empty{justify-content:center;opacity:.65;background:transparent;border:2px dashed rgba(255,255,255,.25)}.chip.person{pointer-events:auto;cursor:pointer}.chip .sk,.chip .bot{display:none;border-radius:6px;padding:0 6px;font-size:12px;font-family:var(--serif)}.chip.skipped .sk{display:inline;background:#ff8a7a;color:var(--ink)}.chip.covered .bot{display:inline;background:#fff3}.chip .bubble{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);z-index:3;background:var(--ivory);color:var(--ink);padding:4px 10px;border-radius:12px;font-size:14px;max-width:200px;white-space:normal;text-align:center;box-shadow:0 4px 10px #0000004d}.chatBox{background:var(--ivory);color:var(--ink);border-radius:16px;padding:10px;display:grid;gap:8px;margin-top:12px;text-align:left}.chatLog{max-height:140px;min-height:36px;overflow:auto;font-size:15px;display:grid;gap:3px;align-content:start}.chatLog:empty:before{content:"Say hi!";opacity:.5}.chatLog .ln{overflow-wrap:anywhere}.chatLog .ln b{cursor:pointer}.chatLog .sys{opacity:.6;font-style:italic}.chatChips{display:flex;flex-wrap:wrap;gap:6px}.chatChips button{border:0;background:#fff;color:var(--ink);border-radius:999px;padding:7px 11px;font-weight:800;cursor:pointer;box-shadow:0 2px #d8cfb5}.chatTextRow{display:flex;gap:8px}.chatTextRow input{flex:1;min-width:0;font:inherit;padding:8px 10px;border-radius:12px;border:2px solid #d8cfb5}.chatTextRow input.shake{animation:shake .4s;border-color:var(--red)}.chatTextRow .mini{background:var(--gold);color:var(--ink)}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.chatStatus{font-size:13px;color:#b3261e;font-weight:700}.chatStatus.ok{color:#6d5310}.chatStatus:empty{display:none}#chatDock{position:fixed;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:40;width:min(340px,calc(100vw - 20px));background:#03140eeb;border-radius:18px;padding:10px;box-shadow:0 10px 30px #0006}#chatDock .dockHead{display:flex;justify-content:space-between;align-items:center;padding:0 4px 2px}#chatDock .chatBox{margin-top:4px}#chatBtn{position:relative}#chatDot{position:absolute;top:4px;right:calc(50% - 20px);width:10px;height:10px;border-radius:50%;background:#ff4d4d}.screen{padding-top:max(72px,calc(env(safe-area-inset-top) + 64px))}.chip{max-width:calc(50vw - 10px)}.chip .nm{min-width:0;flex-shrink:1}@media(max-width:420px){.chip{font-size:13px;gap:4px;padding-right:7px}.chip .dot{width:26px;height:26px}.chip .dot.face{width:36px;height:36px;margin:-6px 0 -6px -2px}.barbtn{min-width:0;flex:1;padding:4px 2px;font-size:12px}.headRow .screenTitle{font-size:26px}}.screen{align-items:flex-start}.title-wrap{margin:auto 0}#dailyInfo{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 58px);transform:translate(-50%);width:min(620px,calc(100vw - 32px));z-index:6;padding:7px 12px;border-radius:14px;background:#0e1e28d1;border:2px solid #5ce1ff;color:#eef8ff;text-align:center;font:700 13px/1.3 "Baloo 2 Variable",system-ui,sans-serif}#dailyInfo b{display:block;font-size:14px}#dailyInfo small{display:block;opacity:.82;font-weight:600}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-devanagari-wght-normal-B4j4n2PV.woff2) format("woff2-variations");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-latin-ext-wght-normal-Dz43yst_.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-2-latin-wght-normal-B_TVFhwJ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--p-panel-a: rgba(30, 118, 86, .62);--p-panel-b: rgba(4, 34, 24, .86);--p-btn-a: rgba(40, 136, 98, .94);--p-btn-b: rgba(14, 78, 55, .97);--p-btn-hi-a: rgba(52, 158, 116, .97);--p-btn-hi-b: rgba(20, 96, 68, .97);--p-edge: rgba(160, 240, 200, .3);--p-accent: #ffc94a;--p-accent-glow: rgba(255, 201, 74, .38);--p-muted: #b9e6cf;--p-tile: rgba(3, 32, 22, .62);--p-display: "Arial Black", "Helvetica Neue", system-ui, sans-serif;--p-mono: ui-monospace, "Cascadia Mono", Menlo, monospace;--p-bouncy: cubic-bezier(.2, 1.6, .4, 1);--p-settle: cubic-bezier(.2, .9, .3, 1.1)}.btn{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-rows:auto;align-content:center;align-items:center;column-gap:12px;row-gap:1px;min-height:56px;padding:8px 30px 8px 8px;border-radius:14px;text-align:left;cursor:pointer;font:900 16px/1.15 var(--p-display);letter-spacing:.02em;color:#fff;border:1px solid var(--p-edge);background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 4px #00000059,inset 0 1px #ffffff24;text-shadow:0 2px 0 rgba(0,0,0,.25);transition:transform .12s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.btn:before{content:attr(data-ico);grid-column:1;grid-row:1 / span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font:900 17px/1 var(--p-display);color:#fff;text-shadow:none;background:var(--p-tile);box-shadow:inset 0 -3px #00000059;transition:transform .18s var(--p-bouncy),background .15s ease,color .15s ease}.btn:not([data-ico]):before{content:"▸"}.btn>*{grid-column:2;min-width:0}.btn span,.btn small{display:block}.btn small,.btn .sub{margin:0;font:400 11.5px/1.3 var(--p-mono);letter-spacing:0;color:var(--p-muted);opacity:1;text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn small:empty{display:none}.btn:after{content:"◀";position:absolute;right:12px;top:50%;font-size:12px;color:var(--p-accent);opacity:0;transform:translate(8px,-50%);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.btn:hover,.btn:focus-visible,.btn.hub-nav-focus{transform:translateY(-2px);background:linear-gradient(180deg,var(--p-btn-hi-a) 0%,var(--p-btn-hi-b) 100%);border-color:var(--p-accent);box-shadow:0 6px #00000059,0 0 0 3px #ffc94a33,0 0 22px var(--p-accent-glow)}.btn:hover:before,.btn:focus-visible:before,.btn.hub-nav-focus:before{transform:scale(1.12) rotate(-6deg);background:var(--p-accent);color:#3a2400}.btn:hover:after,.btn:focus-visible:after,.btn.hub-nav-focus:after{opacity:1;animation:p-pointer .6s ease-in-out infinite alternate}.btn:active{transform:translateY(2px) scale(.985);box-shadow:0 1px #00000059,inset 0 1px #ffffff1a;transition-duration:.05s}.btn:active:before{transform:scale(.88) rotate(4deg)}.btn:disabled{opacity:.5;cursor:default}.btn.gold{min-height:64px;padding-top:10px;padding-bottom:10px;font-size:19px;color:#fff;border-color:#ffe08a;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.4) 50%,transparent 58%) 160% 0 / 250% 100% no-repeat,linear-gradient(180deg,#ffd45e,#ec9f1c 55%,#a8600a);box-shadow:0 4px #00000059,0 0 18px #ffbe3c61,inset 0 1px #ffffff73;text-shadow:0 2px 0 rgba(110,56,0,.7);animation:p-sheen 3.6s 1.2s ease-in-out infinite}.btn.gold small{color:#fff3cf}.btn.gold:before{width:42px;height:42px;border-radius:50%;color:#3a2400;font-size:18px;background:radial-gradient(circle at 40% 35%,#fff,#fff4c2 40%,#ffd04a 78%,#b87800);box-shadow:0 3px #00000059,0 0 14px #ffdc6eb3}.btn.gold:hover,.btn.gold:focus-visible,.btn.gold.hub-nav-focus{border-color:#fff;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.4) 50%,transparent 58%) 160% 0 / 250% 100% no-repeat,linear-gradient(180deg,#ffde7a,#f4ac2a 55%,#b86c0e);box-shadow:0 6px #00000059,0 0 0 3px #ffffff40,0 0 28px #ffbe3c99}.btn.gold:hover:before,.btn.gold:focus-visible:before,.btn.gold.hub-nav-focus:before{background:radial-gradient(circle at 40% 35%,#fff 0% 30%,#ffe27a 80%,#c88a10);color:#3a2400}.btn.gold:after{color:#fff}.btn.daily{border-color:#cdb4ff73;background:linear-gradient(180deg,#845cf0f5,#4e2caaf7);box-shadow:0 4px #00000059,0 0 16px #8c64ff4d,inset 0 1px #fff3}.btn.daily small{color:#e3d8ff}.btn.daily:hover,.btn.daily:focus-visible,.btn.daily.hub-nav-focus{background:linear-gradient(180deg,#9670fffa,#5c38befa)}.j-in{animation:p-btn-in .42s calc(var(--i, 0) * .06s) var(--p-settle) backwards}.btn.gold.j-in{animation:p-btn-in .42s calc(var(--i, 0) * .06s) var(--p-settle) backwards,p-sheen 3.6s 1.2s ease-in-out infinite}.kicker{margin:4px 0 2px;font:700 12px var(--p-mono);letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--p-accent);text-shadow:0 0 10px rgba(255,201,74,.5);animation:p-fade-up .6s .55s ease-out backwards}.logo{margin-top:4px}.logo .j-lt{opacity:1}.tag{font:500 15px/1.4 system-ui,Segoe UI,sans-serif;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7);margin:8px 0 14px;animation:p-fade-up .6s .7s ease-out backwards}.panel{display:grid;gap:10px;padding:14px;border-radius:20px;text-align:left;background:linear-gradient(160deg,var(--p-panel-a) 0%,var(--p-panel-b) 100%);border:1px solid var(--p-edge);box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:p-panel-in .55s .25s var(--p-settle) backwards}.panel .label,.panel .note{text-align:center}.label{font:700 11px var(--p-mono);letter-spacing:.22em;color:var(--p-accent);opacity:1;margin:2px 0 0}.note{font:500 14px/1.35 system-ui,Segoe UI,sans-serif;color:var(--p-muted);opacity:1}.screenTitle,.headRow .screenTitle{font:900 28px/1.1 var(--p-display);letter-spacing:.03em;background:linear-gradient(180deg,#fff,#fff2c4 35%,#ffc94a 62%,#c07a08);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #3d2600) drop-shadow(0 0 14px rgba(255,201,74,.35));animation:p-title-bounce .6s .05s var(--p-bouncy) backwards}.seg button{position:relative;border:1px solid var(--p-edge);border-radius:14px;padding:12px 0;cursor:pointer;font:900 20px var(--p-display);color:#fff;background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 4px #00000059,inset 0 1px #ffffff24;transition:transform .18s var(--p-bouncy),box-shadow .15s ease,border-color .15s ease}.seg button:hover,.seg button:focus-visible,.seg button.hub-nav-focus{transform:translateY(-3px);border-color:var(--p-accent);box-shadow:0 7px #00000059,0 0 18px var(--p-accent-glow)}.seg button:active{transform:translateY(2px) scale(.92);box-shadow:0 1px #00000059}.seg button.on{color:#3a2400;border-color:#ffe08a;background:linear-gradient(180deg,#ffe07a,#f2b02a 60%,#c27a0c);box-shadow:0 4px #7a4800,0 0 18px #ffbe3c8c,inset 0 1px #ffffff80;animation:p-pick .4s var(--p-bouncy)}.iconbtn{border:1px solid var(--p-edge);color:#fff;font-family:var(--p-display);background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 4px #00000059,inset 0 1px #ffffff24;transition:transform .18s var(--p-bouncy),box-shadow .15s ease,border-color .15s ease}.iconbtn:hover,.iconbtn:focus-visible,.iconbtn.hub-nav-focus{transform:translateY(-2px) rotate(-4deg) scale(1.06);border-color:var(--p-accent);box-shadow:0 6px #00000059,0 0 18px var(--p-accent-glow)}.iconbtn:active{transform:translateY(2px) scale(.9);box-shadow:0 1px #00000059}#menuBtn{animation:p-drop .55s .1s var(--p-bouncy) backwards}#roundPill{border:1px solid var(--p-edge);background:linear-gradient(160deg,var(--p-panel-a) 0%,var(--p-panel-b) 100%);box-shadow:0 4px #0000004d,inset 0 1px #ffffff14;animation:p-drop .6s .18s var(--p-bouncy) backwards}#roundPill span{font-family:var(--p-mono);font-size:12.5px;color:var(--p-muted)}.mini{border:1px solid var(--p-edge);font-family:var(--p-display);font-weight:900;background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 3px #00000059;transition:transform .18s var(--p-bouncy)}.mini:hover,.mini:focus-visible,.mini.hub-nav-focus{transform:translateY(-2px) rotate(-8deg);border-color:var(--p-accent)}.mini:active{transform:translateY(2px) scale(.9)}.roomItem{position:relative;border:1px solid var(--p-edge);font-weight:700;background:linear-gradient(180deg,#145a40d9,#062e20e6);box-shadow:0 3px #0000004d,inset 0 1px #ffffff14;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;animation:p-btn-in .42s calc(var(--i, 0) * .06s) var(--p-settle) backwards}.roomItem .go{padding:5px 12px;border-radius:999px;font:900 13px var(--p-display);color:#3a2400;background:linear-gradient(180deg,#ffe07a,#f2b02a 60%,#c27a0c);box-shadow:0 2px #7a4800;transition:transform .18s var(--p-bouncy)}.roomItem:hover,.roomItem:focus-visible,.roomItem.hub-nav-focus{transform:translateY(-2px);border-color:var(--p-accent);box-shadow:0 5px #0000004d,0 0 18px var(--p-accent-glow)}.roomItem:hover .go,.roomItem:focus-visible .go,.roomItem.hub-nav-focus .go{transform:scale(1.12) rotate(-4deg)}.roomItem:active{transform:translateY(2px)}.roomList .empty{font:400 12.5px var(--p-mono);color:var(--p-muted);text-align:center}.seatRow{border:1px solid var(--p-edge);background:linear-gradient(180deg,#145a40b3,#062e20cc);animation:p-btn-in .42s var(--p-settle) backwards}.seatRow.empty{border:2px dashed rgba(160,240,200,.3);background:transparent;font:400 13px var(--p-mono);color:var(--p-muted)}.seatRow .kick{transition:transform .18s var(--p-bouncy)}.seatRow .kick:hover{transform:rotate(90deg) scale(1.1)}.codeRow input{border:1px solid var(--p-edge);background:var(--p-tile);box-shadow:inset 0 2px 6px #00000059}.err{font-family:system-ui,Segoe UI,sans-serif;font-weight:600}#actions .act{position:relative;overflow:hidden;border:1px solid var(--p-edge);border-radius:999px;padding:12px 22px;font:900 15.5px var(--p-display);letter-spacing:.02em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.3);background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 5px #00000061,0 8px 18px #0000004d,inset 0 1px #ffffff29;transition:transform .15s var(--p-bouncy),box-shadow .15s ease,border-color .15s ease;animation:p-act-in .45s var(--p-bouncy) backwards}#actions .act:hover:not(:disabled),#actions .act:focus-visible,#actions .act.hub-nav-focus{transform:translateY(-3px) scale(1.04);border-color:var(--p-accent);box-shadow:0 8px #00000061,0 0 22px var(--p-accent-glow),inset 0 1px #ffffff29}#actions .act:active:not(:disabled){transform:translateY(4px) scale(.97);box-shadow:0 1px #00000061;transition-duration:.05s}#actions .act:disabled{opacity:.5;filter:saturate(.5)}#actions .gold{color:#fff;border-color:#ffe08a;text-shadow:0 2px 0 rgba(110,56,0,.7);background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.45) 50%,transparent 58%) 160% 0 / 250% 100% no-repeat,linear-gradient(180deg,#ffd45e,#ec9f1c 55%,#a8600a);box-shadow:0 5px #6a3a00,0 0 20px #ffbe3c80,inset 0 1px #ffffff73;animation:p-act-in .45s var(--p-bouncy) backwards,p-sheen 2.8s .8s ease-in-out infinite,p-breathe 1.8s .6s ease-in-out infinite}#actions .gold:hover:not(:disabled){box-shadow:0 8px #6a3a00,0 0 30px #ffbe3cbf,inset 0 1px #ffffff73}#bottombar{background:linear-gradient(180deg,#062e20d1,#02160ff0);border-top:1px solid var(--p-edge);box-shadow:0 -8px 24px #0000004d}.barbtn{font:700 11.5px var(--p-mono);letter-spacing:.04em;color:var(--p-muted);transition:color .15s ease}.barbtn .e{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font:900 18px/1 var(--p-display);color:var(--p-accent);background:var(--p-tile);box-shadow:inset 0 -3px #00000059,0 0 0 1px #a0f0c829;transition:transform .2s var(--p-bouncy),background .15s ease,color .15s ease,box-shadow .15s ease}.barbtn:hover,.barbtn:focus-visible,.barbtn.hub-nav-focus{color:#fff}.barbtn:hover .e,.barbtn:focus-visible .e,.barbtn.hub-nav-focus .e{transform:translateY(-3px) scale(1.12) rotate(-6deg);background:var(--p-accent);color:#3a2400;box-shadow:inset 0 -3px #00000040,0 0 16px var(--p-accent-glow)}.barbtn:active{background:transparent}.barbtn:active .e{transform:translateY(2px) scale(.86)}#bottombar:not([hidden]) .barbtn{animation:p-tool-in .5s calc(.15s + var(--i, 0) * .06s) var(--p-bouncy) backwards}#prompt{border:1px solid var(--p-edge);background:linear-gradient(160deg,var(--p-panel-a) 0%,var(--p-panel-b) 100%);box-shadow:0 6px 18px #00000059}#prompt.me{border-color:#ffe08a;color:#3a2400;background:linear-gradient(180deg,#ffe07a,#f2b02a);box-shadow:0 4px #7a4800,0 0 22px #ffbe3c80;animation:p-pick .45s var(--p-bouncy)}#modal{overflow:hidden}#modal.open{background:radial-gradient(ellipse at 50% 45%,#001e1259,#000000a8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#modal .sheet{position:relative;color:#fff;border-radius:20px;padding:18px 16px 16px;background:linear-gradient(160deg,#1e7656f2,#042218fa);border:1px solid var(--p-edge);box-shadow:0 0 0 3px #e9b03c8c,0 20px 50px #0009,inset 0 1px #ffffff1a}#modal.open .sheet{animation:p-card-in .34s var(--p-bouncy) both}#modal h2{text-align:center;margin:0 0 12px;font:900 clamp(26px,7vw,34px)/1.1 var(--p-display);letter-spacing:.03em;background:linear-gradient(180deg,#fff,#fff2c4 35%,#ffc94a 62%,#c07a08);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #3d2600) drop-shadow(0 0 14px rgba(255,201,74,.35));animation:p-title-bounce .6s .05s var(--p-bouncy) backwards}#modal h3{font:900 16px var(--p-display);color:var(--p-accent);letter-spacing:.02em}#modal .sheetBody{font:500 15px/1.4 system-ui,Segoe UI,sans-serif;animation:p-fade-up .4s .12s ease-out backwards}#modal .sheetBody:empty{display:none}#modal .big{text-align:center;font:900 24px var(--p-display);color:var(--p-accent);text-shadow:0 0 16px rgba(255,201,74,.45);animation:p-title-bounce .6s .2s var(--p-bouncy) backwards}#modal .pn{background:var(--p-tile);color:var(--p-accent);box-shadow:inset 0 -2px #0000004d,0 0 0 1px #ffc94a59}#modal .phases li,#modal li{animation:p-fade-up .35s calc(.12s + var(--i, 0) * .04s) ease-out backwards}#modal .sheetRow{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;margin-top:16px}#modal .sheetRow .btn{color:#fff}#modal .sheetRow .btn:not(.gold):not(.daily){background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 4px #00000059,inset 0 1px #ffffff24}#modal .sheetRow .btn:not(.gold):not(.daily):hover,#modal .sheetRow .btn:not(.gold):not(.daily).hub-nav-focus,#modal .sheetRow .btn:not(.gold):not(.daily):focus-visible{background:linear-gradient(180deg,var(--p-btn-hi-a) 0%,var(--p-btn-hi-b) 100%);box-shadow:0 6px #00000059,0 0 0 3px #ffc94a33,0 0 22px var(--p-accent-glow)}.scores th,.scores td{border-bottom:1px solid rgba(160,240,200,.16)}.scores th{font:700 11px var(--p-mono);letter-spacing:.14em;color:var(--p-muted);opacity:1}.scores td.tot{font-family:var(--p-display);color:var(--p-accent)}.scores tr.me td{color:#ffe08a}.scores tbody tr{animation:p-row-in .4s calc(.18s + var(--i, 0) * .07s) var(--p-settle) backwards}.chatBox{color:#fff;border:1px solid var(--p-edge);background:linear-gradient(160deg,var(--p-panel-a) 0%,var(--p-panel-b) 100%)}.chatLog .sys{color:var(--p-muted)}.chatChips button{color:#fff;border:1px solid var(--p-edge);font-family:var(--p-display);font-weight:900;font-size:13px;background:linear-gradient(180deg,var(--p-btn-a) 0%,var(--p-btn-b) 100%);box-shadow:0 3px #00000059;transition:transform .18s var(--p-bouncy),border-color .15s ease}.chatChips button:hover,.chatChips button:focus-visible,.chatChips button.hub-nav-focus{transform:translateY(-2px) scale(1.06) rotate(-2deg);border-color:var(--p-accent)}.chatChips button:active{transform:translateY(2px) scale(.92)}.chatTextRow input{border:1px solid var(--p-edge);background:var(--p-tile);color:#fff}.chatTextRow .mini{color:#3a2400;background:linear-gradient(180deg,#ffe07a,#f2b02a);box-shadow:0 3px #7a4800}.chatStatus{color:#ffb4a8}.chatStatus.ok{color:var(--p-accent)}#chatDock{border:1px solid var(--p-edge);background:linear-gradient(160deg,#145a40f5,#031a12fa)}#toast{color:#fff;font:600 15px system-ui,Segoe UI,sans-serif;border-radius:14px;border:1px solid var(--p-edge);border-left:4px solid var(--p-accent);background:linear-gradient(160deg,#1e7656f7,#042218fa);box-shadow:0 10px 28px #00000073}#toast.show{animation:p-toast .45s var(--p-bouncy)}.j-lt,.j-sp{display:inline-block}.j-lt{transform-origin:50% 100%;animation:j-letter-drop .7s calc(var(--d) + var(--i) * 75ms) var(--p-bouncy) backwards,j-letter-bob 2.8s calc(var(--d) + 1s + var(--i) * .14s) ease-in-out infinite}@keyframes j-letter-drop{0%{opacity:0;transform:translateY(-120%) scale(.6,1.4)}60%{opacity:1;transform:translateY(6%) scale(1.15,.85)}to{opacity:1;transform:none}}@keyframes j-letter-bob{0%,to{transform:none}25%{transform:translateY(-6px) rotate(-3deg)}50%{transform:none}75%{transform:translateY(-2px) rotate(2deg)}}.j-confetti{position:fixed;top:-24px;z-index:80;pointer-events:none;border-radius:2px;animation:j-fall linear forwards}.j-confetti.suit{background:none;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.j-confetti.suit.red{color:#ff5a5f}@keyframes j-fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--sx),112vh) rotate(var(--r));opacity:.9}}@keyframes p-pointer{0%{transform:translateY(-50%)}to{transform:translate(-6px,-50%)}}@keyframes p-sheen{0%{background-position:160% 0,0 0}35%,to{background-position:-60% 0,0 0}}@keyframes p-btn-in{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes p-fade-up{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes p-row-in{0%{opacity:0;translate:-18px 0}to{opacity:1;translate:0 0}}@keyframes p-panel-in{0%{opacity:0;translate:0 22px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes p-card-in{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}@keyframes p-title-bounce{0%{opacity:0;transform:translateY(-40%) scale(.6,1.4)}60%{opacity:1;transform:translateY(4%) scale(1.12,.88)}to{opacity:1;transform:none}}@keyframes p-pick{0%{scale:.8}60%{scale:1.12}to{scale:1}}@keyframes p-drop{0%{opacity:0;translate:0 -140%}to{opacity:1;translate:0 0}}@keyframes p-act-in{0%{opacity:0;scale:.5;translate:0 18px}to{opacity:1;scale:1;translate:0 0}}@keyframes p-tool-in{0%{opacity:0;translate:0 40px;scale:.6}to{opacity:1;translate:0 0;scale:1}}@keyframes p-breathe{0%,to{scale:1}50%{scale:1.05}}@keyframes p-toast{0%{opacity:0;scale:.7;rotate:-3deg}to{opacity:1;scale:1;rotate:0deg}}@media(prefers-reduced-motion:reduce){.btn,.btn.gold,.btn.gold.j-in,.j-in,.j-lt,.kicker,.tag,.panel,.screenTitle,.seg button.on,#menuBtn,#roundPill,.roomItem,.seatRow,#actions .act,#actions .gold,.barbtn,#prompt.me,#modal.open .sheet,#modal h2,#modal .big,#modal .sheetBody,#modal li,.scores tbody tr,#toast.show,.btn:after{animation:none!important}}@media(max-width:520px){.pair{grid-template-columns:minmax(0,1fr)}}
