@font-face{font-family:Bricolage;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/pistivo/assets/bricolage-grotesque-latin-ext-standard-normal-qp-RdZgh.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:Bricolage;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/pistivo/assets/bricolage-grotesque-latin-standard-normal-C5Lc8Qmc.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}@font-face{font-family:Jakarta;font-style:normal;font-display:swap;font-weight:200 800;src:url(/pistivo/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.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:Jakarta;font-style:normal;font-display:swap;font-weight:200 800;src:url(/pistivo/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.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{--night: #241d45;--night-2: #2f2758;--plum: #5a2f5c;--ink: #1d2a44;--ink-2: #33415f;--coral: #e8553f;--coral-lo: #b83b29;--amber: #f2a33a;--gold: #f6c453;--rose: #c64a6e;--sea: #1f6f8b;--teal: #14505f;--teak: #a8673a;--paper: #fbf5e8;--paper-2: #f3e8d2;--line: #dccbaa;--muted: #6c6470;--me: #e8553f;--top-h: 54px;--display: "Bricolage", "Jakarta", system-ui, sans-serif;--ui: "Jakarta", system-ui, -apple-system, "Segoe UI", sans-serif;--stripes: linear-gradient(180deg, var(--coral) 0 33%, var(--amber) 33% 66%, var(--gold) 66% 100%);--ticket: linear-gradient(175deg, #fffaf0 0%, #f6ecd8 100%);color-scheme:light}*{box-sizing:border-box;font-variant-numeric:lining-nums tabular-nums}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);color:var(--ink);font-family:var(--ui);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2.5px solid var(--gold);outline-offset:2px}svg.suit{width:1em;height:1em;display:inline-block;vertical-align:-.12em}#app{position:fixed;inset:0;display:flex;flex-direction:column}main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 316px}.topbar{height:var(--top-h);flex:none;display:flex;align-items:center;gap:12px;padding:0 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));background:linear-gradient(180deg,#1c1638,var(--night-2));color:var(--paper);position:relative;z-index:5}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:6px;background:var(--stripes);box-shadow:0 4px 12px #14081e59}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--paper);font:800 26px/1 var(--display);letter-spacing:-.01em;flex:none}.brand svg{width:38px;height:38px;overflow:visible}.b-sun{fill:var(--amber)}.b-cut{stroke:var(--night-2);stroke-width:2.2}.b-card{fill:var(--paper);stroke:var(--ink);stroke-width:1.4;transition:transform .3s cubic-bezier(.3,1.6,.5,1);transform-box:fill-box;transform-origin:50% 90%}.b-2{fill:var(--coral)}.brand:hover .b-card{transform:rotate(-8deg)}.brand:hover .b-2{transform:rotate(10deg)}.scoreboard{display:flex;align-items:center;gap:8px;min-width:0}.deal-tag{font:700 13px/1 var(--ui);color:var(--gold);border:1px solid rgba(246,196,83,.5);padding:6px 10px;border-radius:999px;white-space:nowrap;background:#0000002e}.score-chips{display:inline-flex;gap:6px}.score-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 5px;border-radius:999px;background:#fffaf01a;font:800 15px/1 var(--display);white-space:nowrap}.score-chip i{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fffaf0cc}.score-chip.me{background:#e8553f47}.identity{margin-left:auto;display:flex;align-items:center;gap:6px;position:relative;min-width:0}.identity-dot{width:30px;height:30px;border-radius:50%;border:2px solid var(--paper);background:var(--me);padding:0;flex:none;box-shadow:2px 2px 0 var(--coral-lo)}.identity-dot i{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5) 0 14%,transparent 22%)}#playerName{width:140px;min-width:0;background:#ffffff14;border:1px solid rgba(251,245,232,.28);border-radius:9px;color:var(--paper);padding:7px 10px;font-weight:700}#playerName:focus{border-color:var(--gold);outline:none;background:#ffffff24}.color-picker{position:absolute;top:44px;left:0;background:var(--ticket);border:2px solid var(--ink);border-radius:14px;padding:12px;box-shadow:5px 5px 0 var(--ink);z-index:30}.color-grid{display:grid;grid-template-columns:repeat(5,32px);gap:9px}.color-grid button{width:32px;height:32px;border-radius:50%;border:2px solid #fff;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.45) 0 12%,transparent 20%),var(--c);box-shadow:0 1px 3px #0000004d}.color-grid button.selected{transform:scale(1.12);box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--ink)}.color-grid button:disabled{opacity:.25;cursor:not-allowed}.toolbar{display:flex;gap:6px;flex:none}.icon-button{width:36px;height:36px;border-radius:10px;border:1px solid rgba(251,245,232,.22);background:#ffffff12;color:var(--paper);display:grid;place-items:center;padding:0;font:800 17px/1 var(--display);transition:transform .12s,border-color .12s,background .12s}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover{border-color:var(--gold);background:#ffffff24}.icon-button:active{transform:translateY(1px)}#soundButton[aria-pressed=true]{color:#ffb3a8}#aidButton[aria-pressed=true]{color:var(--night);background:var(--gold);border-color:var(--gold)}.lang-button{font-size:13px;letter-spacing:.04em}#menuButton{display:none}.arena{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--teak);touch-action:none;user-select:none;-webkit-user-select:none}#table{position:absolute;inset:0;width:100%;height:100%;display:block}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 22px;border-radius:12px;font:800 16px/1 var(--display);letter-spacing:.01em;transition:transform .1s,box-shadow .1s,filter .12s}.primary{border:2px solid var(--ink);color:#fffaf0;background:linear-gradient(180deg,#f06a50,var(--coral) 60%,#d94a35);box-shadow:inset 0 1px #ffffff59,3px 3px 0 var(--ink)}.primary:hover{filter:brightness(1.06)}.primary:active{transform:translate(2px,2px);box-shadow:inset 0 1px #ffffff59,1px 1px 0 var(--ink)}.primary:disabled{filter:grayscale(.7) opacity(.6);cursor:default}.secondary{border:2px solid var(--ink);color:var(--ink);background:#fffaf0;box-shadow:3px 3px 0 var(--ink)}.secondary:hover{background:#fff}.secondary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.text-button{border:none;background:none;color:var(--coral-lo);font-weight:800;padding:6px 8px;border-radius:8px}.text-button:hover{background:#e8553f1a}.plates{position:absolute;inset:0;pointer-events:none}.plate{position:absolute;width:max-content;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:5px 14px 5px 6px;min-width:128px;max-width:184px;border-radius:12px;background:var(--ticket);border:2px solid var(--ink);box-shadow:3px 3px #1d2a44d9;transition:box-shadow .25s,transform .25s;-webkit-mask:radial-gradient(circle at 0 50%,transparent 6px,#000 6.5px) left / 51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 6px,#000 6.5px) right / 51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,transparent 6px,#000 6.5px) left / 51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 6px,#000 6.5px) right / 51% 100% no-repeat}.plate.turn{background:linear-gradient(175deg,#fff3cf,#ffd98a);transform:translate(-50%,-50%) translateY(-3px);box-shadow:3px 6px #1d2a44d9}.plate.away{filter:grayscale(.8);opacity:.8}.plate.bump{animation:bump .45s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{40%{transform:translate(-50%,-50%) scale(1.12)}}.avatar{--c: #e8553f;--p: 0;position:relative;width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 17px/1 var(--display);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.42) 0 14%,transparent 26%),var(--c);box-shadow:0 0 0 2px var(--ink);text-shadow:0 1px 1px rgba(0,0,0,.35)}.plate.mine .avatar{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--gold)}.avatar .ring{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--ring, var(--sea)) calc(var(--p) * 1turn),transparent 0);-webkit-mask:radial-gradient(circle,transparent 20px,#000 21px);mask:radial-gradient(circle,transparent 20px,#000 21px)}.avatar.urgent .ring{--ring: var(--coral)}.avatar .dealer{position:absolute;left:-6px;top:-5px;width:17px;height:17px;border-radius:50%;background:var(--gold);color:var(--ink);font:800 10px/15px var(--display);text-align:center;border:1px solid var(--ink);text-shadow:none}.plate .info{display:grid;gap:3px;min-width:0}.plate .name{font:800 14px/1.1 var(--ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}.plate .meta{display:flex;align-items:center;gap:7px;font:700 12px/1 var(--ui);color:var(--muted);white-space:nowrap}.plate .score{font:800 15px/1 var(--display);color:var(--ink);display:inline-flex;align-items:center;gap:4px}.plate .score:before{content:"";width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4 0 18%,var(--gold) 45%,#c98a1c 100%);box-shadow:0 0 0 1px #1d2a4466}.plate .gain{font:800 13px/1 var(--display);color:var(--coral-lo);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}.plate .gain.show{opacity:1;transform:none}.plate .tag{font:800 10px/1 var(--ui);letter-spacing:.05em;text-transform:uppercase;padding:3px 5px;border-radius:5px;background:var(--paper-2);color:var(--muted)}.plate .tag.partner{background:#d5ecf2;color:var(--sea)}.plate.team0{border-left-color:var(--coral)}.plate.team1{border-left-color:var(--sea)}.float{position:absolute;transform:translate(-50%,-50%);pointer-events:none;font:800 18px/1 var(--display);color:#fffaf0;text-shadow:2px 2px 0 var(--ink);animation:floatUp 1.3s ease-out forwards;white-space:nowrap}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.1)}to{opacity:0;transform:translate(-50%,-190%) scale(1)}}.hint{position:absolute;left:50%;bottom:var(--hint-b, 180px);transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#1d2a44c7;color:var(--paper);font:700 13.5px/1.2 var(--ui);white-space:nowrap;pointer-events:none;transition:opacity .2s;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}.hint:empty{opacity:0}.hint.mine{background:var(--coral);box-shadow:2px 2px 0 var(--ink)}.tracker{position:absolute;left:var(--tr-x, 10px);top:var(--tr-y, 120px);display:grid;grid-template-columns:repeat(var(--tr-cols, 13),auto);gap:3px;padding:6px;border-radius:10px;background:#1d2a44b8;pointer-events:none;z-index:2}.tracker b{display:grid;justify-items:center;gap:3px;min-width:24px;padding:3px 2px 2px;border-radius:5px;background:#fffaf0;color:var(--ink);font:800 12px/1 var(--display)}.tracker b.top{background:var(--gold)}.tracker i{display:flex;gap:1.5px}.tracker i:before,.tracker i:after{content:none}.tracker s{display:block;width:4.5px;height:4.5px;border-radius:50%;background:#d6c8ad}.tracker s.on{background:var(--coral)}.tracker b.done{opacity:.5}.banner{position:absolute;left:50%;top:var(--banner-y, 40%);transform:translate(-50%,-50%);padding:10px 20px;border-radius:999px;background:var(--ink);color:var(--paper);font:800 17px/1.2 var(--display);white-space:nowrap;box-shadow:3px 3px #00000059;z-index:4;pointer-events:none;animation:bannerIn 2.2s ease forwards;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-30%) scale(.8)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}20%{transform:translate(-50%,-50%) scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)}}.stamp{position:absolute;left:50%;top:var(--stamp-y, 45%);transform:translate(-50%,-50%);z-index:6;pointer-events:none;display:grid;place-items:center}.stamp:before{content:"";position:absolute;width:150%;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(rgba(246,196,83,.55) 0 8deg,transparent 8deg 18deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 68%);mask:radial-gradient(circle,#000 25%,transparent 68%);animation:rays 2.2s linear forwards}@keyframes rays{0%{transform:rotate(0) scale(.4);opacity:0}15%{opacity:1;transform:rotate(20deg) scale(1)}to{transform:rotate(90deg) scale(1.15);opacity:0}}.stamp .word{position:relative;font:800 clamp(48px,11vw,132px)/.9 var(--display);letter-spacing:-.02em;color:var(--coral);-webkit-text-stroke:3px #fffaf0;paint-order:stroke fill;text-shadow:6px 6px 0 var(--ink);transform:rotate(-7deg) skew(-6deg);animation:slam 2.1s cubic-bezier(.2,1.5,.4,1) forwards;white-space:nowrap}.stamp.jack .word{color:var(--gold);text-shadow:6px 6px 0 var(--coral-lo),10px 10px 0 var(--ink)}.stamp .sub{position:relative;margin-top:10px;padding:6px 14px;border-radius:999px;background:var(--ink);color:var(--gold);font:800 clamp(15px,2.4vw,22px)/1 var(--display);animation:subIn 2.1s ease forwards;white-space:nowrap}@keyframes slam{0%{opacity:0;transform:rotate(-7deg) skew(-6deg) scale(2.6)}14%{opacity:1;transform:rotate(-7deg) skew(-6deg) scale(.92)}22%{transform:rotate(-5deg) skew(-6deg) scale(1.05)}30%{transform:rotate(-7deg) skew(-6deg) scale(1)}82%{opacity:1}to{opacity:0;transform:rotate(-7deg) skew(-6deg) scale(1.1) translateY(-20px)}}@keyframes subIn{0%,18%{opacity:0;transform:translateY(10px)}28%{opacity:1;transform:none}82%{opacity:1}to{opacity:0}}.pause-note{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);padding:14px 22px;border-radius:14px;background:var(--ticket);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:800 16px/1.4 var(--display);text-align:center;z-index:5}.pause-note small{font:600 13px/1.3 var(--ui);color:var(--muted)}.result{position:absolute;inset:0;display:grid;place-items:center;padding:12px;background:#241d4561;z-index:7;animation:fadeIn .35s ease}@keyframes fadeIn{0%{opacity:0}}.result-card{width:min(520px,100%);max-height:100%;overflow:auto;border-radius:18px;background:var(--ticket);border:2.5px solid var(--ink);box-shadow:6px 6px 0 var(--ink);animation:cardIn .5s cubic-bezier(.3,1.5,.5,1)}@keyframes cardIn{0%{transform:translateY(30px) rotate(-2deg) scale(.92);opacity:0}}.result-head{position:relative;padding:16px 20px 14px;background:linear-gradient(180deg,#3b2f6b,var(--night));color:var(--paper);overflow:hidden}.result-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--stripes)}.result-head .sun{position:absolute;right:18px;bottom:-26px;width:92px;height:92px;border-radius:50%;background:repeating-linear-gradient(180deg,transparent 0 55%,transparent 55% 100%),linear-gradient(var(--gold),var(--coral));-webkit-mask:linear-gradient(#000 0 38%,transparent 38% 43%,#000 43% 52%,transparent 52% 58%,#000 58% 64%,transparent 64% 71%,#000 71%);mask:linear-gradient(#000 0 38%,transparent 38% 43%,#000 43% 52%,transparent 52% 58%,#000 58% 64%,transparent 64% 71%,#000 71%);opacity:.9}.result-head h2{margin:0 0 4px;font:800 30px/1.05 var(--display);letter-spacing:-.01em;position:relative}.result-head h2.gold{color:var(--gold)}.result-head p{margin:0;font:600 13.5px/1.35 var(--ui);opacity:.9;position:relative;max-width:75%}.result-body{padding:12px 16px 16px;display:grid;gap:12px}.tally{width:100%;border-collapse:collapse;font:600 13.5px/1.2 var(--ui)}.tally th{font:800 12px/1.1 var(--ui);text-align:right;padding:6px;color:var(--muted)}.tally th:first-child{text-align:left}.tally th .who{justify-content:flex-end}.tally td{padding:5px 6px;text-align:right;border-top:1px dashed var(--line)}.tally td:first-child{text-align:left;color:var(--ink-2);font-weight:700;white-space:nowrap}.tally tr{opacity:0;animation:rowIn .3s ease forwards;animation-delay:calc(var(--i) * .12s + .25s)}@keyframes rowIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.tally td.pts{font:800 15px/1 var(--display)}.tally td.pts.zero{color:#b9ae9c;font-weight:600}.tally td .n{color:var(--muted);font:600 12px/1 var(--ui);margin-right:6px}.tally tr.sum td{border-top:2px solid var(--ink);font:800 18px/1 var(--display);color:var(--coral-lo)}.tally tr.total td{border-top:none;font:800 15px/1 var(--display);color:var(--ink)}.tally tr.win td.pts,.tally td.win{color:var(--sea)}.who{display:inline-flex;align-items:center;gap:6px;max-width:120px}.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:11px;height:11px;flex:none;border-radius:50%;background:var(--c);box-shadow:0 0 0 1.5px var(--ink);display:inline-block}.race{display:grid;gap:6px}.race .lane{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:8px;font:700 12.5px/1 var(--ui)}.race .bar{position:relative;height:12px;border-radius:999px;background:var(--paper-2);border:1.5px solid var(--ink);overflow:hidden}.race .bar i{position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--c);transition:width 1.2s cubic-bezier(.2,.9,.3,1)}.race .bar i.from{width:var(--w0)}.race b{font:800 15px/1 var(--display);text-align:right}.countdown,.waiting{margin:0;text-align:center;font:700 13px/1.3 var(--ui);color:var(--muted)}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.welcome{position:absolute;inset:0;display:grid;place-items:center;padding:16px;z-index:8;background:radial-gradient(ellipse at 50% 60%,#241d451a,#241d4580)}.welcome-card{width:min(420px,100%);text-align:center;display:grid;gap:10px;justify-items:center;padding:22px 24px 24px;border-radius:20px;background:var(--ticket);border:2.5px solid var(--ink);box-shadow:7px 7px 0 var(--ink);animation:cardIn .6s cubic-bezier(.3,1.5,.5,1);position:relative;overflow:hidden}.welcome-card:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--stripes)}.welcome-card h1{margin:2px 0 0;font:800 48px/1 var(--display);letter-spacing:-.02em;color:var(--ink);text-shadow:3px 3px 0 var(--amber)}.welcome-kicker{margin:0;font:800 13px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--coral-lo)}.welcome-card p{margin:0;font:600 15px/1.45 var(--ui);color:var(--ink-2)}.welcome-card button{width:100%}.welcome-fan{height:86px;position:relative;width:210px;margin-top:6px}.welcome-fan canvas{position:absolute;left:50%;bottom:0;transform-origin:50% 120%;filter:drop-shadow(2px 3px 0 rgba(29,42,68,.35));transition:transform .4s cubic-bezier(.3,1.6,.5,1)}.panel{background:var(--ticket);border-left:2.5px solid var(--ink);overflow:auto;padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;position:relative;z-index:3}.panel>*{flex-shrink:0}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2{margin:0;font:800 22px/1 var(--display)}.panel-head .icon-button{color:var(--ink);border-color:var(--line);background:#fff;display:none}.panel-name{display:none;gap:5px;font:700 12px/1 var(--ui);color:var(--muted)}.panel-name input{border:1.5px solid var(--line);border-radius:9px;padding:9px 10px;font-weight:700;background:#fff}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--ink);border-radius:12px;overflow:hidden}.mode-switch button{border:none;padding:11px 8px;background:#fff;font:800 14px/1 var(--display);color:var(--ink-2)}.mode-switch button.active{background:var(--ink);color:var(--gold)}.mode-switch button:disabled{cursor:default}.row{display:grid;gap:6px;font:700 12.5px/1 var(--ui);color:var(--muted)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.segmented button{border:none;padding:9px 4px;background:none;font:700 13px/1 var(--ui);color:var(--ink-2);white-space:nowrap}.segmented button+button{border-left:1.5px solid var(--line)}.segmented button.active{background:var(--coral);color:#fff}.rules{border:1.5px dashed var(--line);border-radius:12px;padding:8px 10px 10px;display:grid;gap:10px}.rules[open]{display:block}.rules[open]>*+*{margin-top:10px}.rules summary{font:800 14px/1 var(--display);cursor:pointer;color:var(--ink)}.rules.locked .segmented,.rules.locked .switch{pointer-events:none;opacity:.55}.toggles{display:grid;gap:8px}.toggle{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;cursor:pointer}.toggle b{font:700 13px/1.2 var(--ui);color:var(--ink)}.toggle small{grid-row:2;font:500 11.5px/1.3 var(--ui);color:var(--muted)}.switch{grid-row:span 2;width:42px;height:24px;border-radius:999px;border:2px solid var(--ink);background:#e8dcc6;position:relative;padding:0}.switch:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000004d;transition:transform .2s}.switch[aria-checked=true]{background:var(--sea)}.switch[aria-checked=true]:after{transform:translate(18px)}.aid-toggle{padding:2px}.invite-row{display:grid;grid-template-columns:1fr auto;gap:6px}.invite-row input{min-width:0;border:1.5px solid var(--line);border-radius:9px;padding:9px 10px;font:600 12px/1 var(--ui);background:#fff}.player-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.player-list li{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;background:#fff;border:1.5px solid var(--line)}.player-list .pname{flex:1;min-width:0;font:700 13.5px/1.25 var(--ui);overflow:hidden;text-overflow:ellipsis}.player-list small{color:var(--muted);font-weight:600;font-size:11.5px}.player-list b{font:800 16px/1 var(--display)}.player-list button{border:1.5px solid var(--line);background:#fff;border-radius:8px;width:28px;height:28px;padding:0;font:800 15px/1 var(--ui);color:var(--ink-2)}.add-bot{justify-self:start}.note{margin:0;font:500 12.5px/1.45 var(--ui);color:var(--muted)}.sheet h3{margin:0 0 6px;font:800 15px/1 var(--display)}.sheet-scroll{max-height:220px;overflow:auto;border:1.5px solid var(--line);border-radius:10px;background:#fff}.sheet table{width:100%;border-collapse:collapse;font:600 12.5px/1 var(--ui)}.sheet th,.sheet td{padding:6px 5px;text-align:right;border-bottom:1px solid #f0e6d4}.sheet th:first-child,.sheet td:first-child{text-align:left}.sheet tr.total td{font:800 14px/1 var(--display);border-top:2px solid var(--ink)}.panel-foot{margin-top:auto;display:flex;align-items:center;gap:8px;font:600 12px/1 var(--ui);color:var(--muted)}.connection:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#b9ae9c;margin-right:6px}.connection.online:before{background:#2f9a7a}.connection.trouble:before{background:var(--coral)}#leaveButton{margin-left:auto}dialog{border:2.5px solid var(--ink);border-radius:18px;padding:16px 18px;background:var(--ticket);color:var(--ink);width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);box-shadow:7px 7px 0 var(--ink)}dialog::backdrop{background:#241d458c}dialog .icon-button{color:var(--ink);border-color:var(--line);background:#fff}.help-body ol{padding-left:20px;margin:10px 0;display:grid;gap:8px;font:500 14px/1.5 var(--ui)}.keys-help{font:600 12.5px/1.45 var(--ui);color:var(--muted)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;max-width:calc(100% - 24px);padding:10px 16px;border-radius:12px;background:var(--ink);color:var(--paper);border:2px solid var(--coral);font:700 14px/1.35 var(--ui);box-shadow:3px 3px #0000004d;animation:toastIn .3s cubic-bezier(.3,1.6,.5,1)}.toast .suit{width:15px;height:15px;filter:drop-shadow(0 0 1px #fff)}@keyframes toastIn{0%{transform:translate(-50%,16px);opacity:0}}@media(max-width:899px){main{grid-template-columns:minmax(0,1fr)}.panel{position:fixed;top:0;right:0;bottom:0;width:min(340px,92vw);transform:translate(105%);transition:transform .3s cubic-bezier(.3,1,.4,1);z-index:20;box-shadow:-8px 0 #1d2a4433}.panel.open{transform:none}.panel-head .icon-button,.panel-name,#menuButton{display:grid}#playerName,.scoreboard{display:none}}@media(max-width:520px),(max-height:520px){:root{--top-h: 46px}.brand{font-size:21px}.brand svg{width:32px;height:32px}.toolbar{gap:4px}.icon-button{width:32px;height:32px;border-radius:9px}#fullscreenButton{display:none}.plate{min-width:0;max-width:132px;padding:3px 10px 3px 4px;gap:6px}.avatar{width:28px;height:28px;font-size:14px}.avatar .ring{-webkit-mask:radial-gradient(circle,transparent 16px,#000 17px);mask:radial-gradient(circle,transparent 16px,#000 17px)}.plate .name{font-size:12.5px}.plate .meta{font-size:11px;gap:5px}.plate .score{font-size:13px}.hint{font-size:12.5px;padding:6px 12px}.result-head{padding:12px 16px}.result-head h2{font-size:24px}.result-body{padding:10px 12px 12px;gap:8px}.tally td,.tally th{padding:3px 5px}.welcome-card{padding:16px 18px 18px;gap:8px}.welcome-card h1{font-size:38px}.welcome-fan{height:64px}}@media(max-height:520px){.welcome-fan{display:none}.result{padding:6px}.result-card{width:min(600px,100%)}.result-head{padding:8px 14px 10px}.result-head h2{font-size:21px;margin:0}.result-head .sun{width:60px;height:60px;bottom:-18px}.result-body{padding:6px 12px 10px;gap:6px}.tally td,.tally th{padding:2px 5px}.race .lane{font-size:11.5px}.race .bar{height:9px}.result .primary,.result .secondary{min-height:38px;padding:8px 18px;font-size:15px}.welcome-card p{font-size:13.5px}.tally{font-size:12px}.tally td.pts{font-size:13px}.tally tr.sum td{font-size:15px}}@media(max-width:520px)and (orientation:portrait){.result-head h2{font-size:23px}.result-head .sun{width:64px;height:64px;bottom:-20px;right:12px;opacity:.6}.tally th .who span{max-width:92px}.tally{font-size:13px}.stamp .word{font-size:16vw;-webkit-text-stroke:2px #fffaf0;text-shadow:4px 4px 0 var(--ink)}}
