*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;user-select:none;-webkit-user-select:none}.app{height:100dvh;display:flex;flex-direction:column;background:var(--ui-bg);color:var(--ui-text)}.stage{position:relative;flex:1;min-height:0}.stage canvas{touch-action:none;display:block}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;padding:calc(8px + env(safe-area-inset-top)) 10px 10px}.hud-top{display:flex;align-items:center;height:34px;gap:4px;white-space:nowrap;min-width:0;max-width:100%}.hud-top>*{min-width:0;flex-shrink:0}.hud-top .btn{padding:8px 7px;font-size:12px}.hud-top .turn,.hud-top .multiplier{padding:7px;font-size:12px}.hud-top>.turn,.hud-top>.btn:last-child{flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.btn{pointer-events:auto;font:inherit;font-size:13px;padding:8px 12px;border-radius:10px;border:1px solid var(--ui-line);background:var(--ui-panel);color:var(--ui-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn.toggle{opacity:.6}.btn.toggle.on{opacity:1;border-color:var(--ui-accent);color:var(--ui-accent)}.btn:disabled{opacity:.4;filter:saturate(.4)}.btn.primary:disabled{background:transparent;color:var(--ui-sub);border:1.5px dashed color-mix(in srgb,var(--ui-text) 40%,transparent);opacity:.5;filter:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.btn:active{transform:scale(.97)}.turn,.multiplier{font-size:13px;font-weight:600;padding:7px 12px;border-radius:10px;background:var(--ui-panel);border:1px solid var(--ui-line)}.turn.mine,.multiplier{background:var(--ui-accent);color:var(--ui-accent-text);border-color:transparent}.multiplier{font-size:16px}.big{pointer-events:auto;margin:auto;font:inherit;font-size:18px;font-weight:600;width:132px;height:132px;border-radius:50%;border:2px solid var(--ui-line);background:var(--ui-panel);color:var(--ui-text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:breathe 2.2s ease-in-out infinite}.big.low{margin:auto auto 10px;width:92px;height:92px;font-size:15px}.big{position:relative}.ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg);pointer-events:none}.ring circle{fill:none;stroke:var(--ui-accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:100;animation:drain-ring linear both}@keyframes drain-ring{0%{stroke-dashoffset:0}to{stroke-dashoffset:100}}.cta{position:relative;overflow:hidden}.timebar{position:absolute;left:0;right:0;bottom:0;height:4px;background:currentColor;opacity:.7;transform-origin:left;animation:drain-bar linear both}@keyframes drain-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.big:active{transform:scale(.95)}@keyframes breathe{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--ui-accent) 22%,transparent)}}.hint{margin:auto auto 0;max-width:100%;font-size:14px;padding:8px 14px;border-radius:12px;background:var(--ui-panel);border:1px solid var(--ui-line);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes hint-fade{to{opacity:0;visibility:hidden}}.hint.top{animation:hint-fade .6s ease 7s forwards;position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 68px);transform:translate(-50%);z-index:6;pointer-events:auto;cursor:pointer;width:max-content;max-width:calc(100% - 24px);margin:0;font-size:13px}.offer{pointer-events:auto;order:2;margin:auto auto 0;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 14px;border-radius:12px;background:var(--ui-panel);border:1px solid var(--ui-line);font-size:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.offer .btn{min-width:84px;min-height:40px;text-align:center}.first-pick{margin:auto;display:flex;flex-direction:column;align-items:center;gap:18px;pointer-events:none}.first-ring{position:relative;width:230px;height:230px}.first-pick .who{position:absolute;left:50%;top:50%;padding:8px 14px;border-radius:999px;background:var(--ui-panel);border:1px solid var(--ui-line);color:var(--ui-text);font-size:15px;font-weight:600;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .55s cubic-bezier(.2,.9,.3,1.2),opacity .4s,background .3s}.first-pick.landed .who{opacity:.35}.first-pick.landed .who.winner{z-index:2;opacity:1;transform:translate(-50%,-50%) scale(1.9)!important;background:var(--ui-accent);border-color:transparent;color:var(--ui-accent-text);box-shadow:0 10px 30px #00000073}.first-pick p{margin:0;padding:8px 16px;border-radius:12px;background:var(--ui-panel);border:1px solid var(--ui-line);font-size:16px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.offer.talk{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.offer.talk span{flex:1 1 100%}.slot.trading .rack-tile{transform:translateY(-7px);box-shadow:0 0 0 2px var(--ui-accent),0 6px 10px #00000073}.slot.out .rack-tile{opacity:.35;outline:2px dashed var(--ui-accent);outline-offset:-2px}.slot.paired .rack-tile{position:relative}.slot.paired .rack-tile:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--ui-accent)}.cta{margin:auto auto 10px;font-size:16px;padding:12px 26px}.cta.low{order:2;margin:auto auto 8px}.cta+.hint{margin-top:0}.big+.hint{margin-top:0}.rack{position:relative;flex:none;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--rack-bg);border-top:1px solid var(--ui-line)}.rack-grid{display:grid;gap:3px;max-width:900px;margin:0 auto}.slot{position:relative;aspect-ratio:5 / 7;padding:0 0 5px;border:0;border-radius:var(--tile-radius);background:var(--rack-slot);font:inherit;display:flex;flex-direction:column}.rack-tile{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;border-radius:var(--tile-radius);background:var(--tile-bg);box-shadow:0 var(--tile-depth) 0 var(--tile-edge);font-family:var(--tile-font);font-weight:800;font-size:clamp(16px,5.6vw,32px);line-height:1;text-shadow:0 0 var(--tile-glow) currentColor;transition:transform .12s ease-out}.rack-jolly{width:72%}.rack-ring{width:22%;aspect-ratio:1;border-radius:50%;border:2px solid currentColor}.slot.selected .rack-tile{transform:translateY(-7px);outline:2px solid var(--ui-accent)}.slot.selected:empty,.slot.selected{background:color-mix(in srgb,var(--ui-accent) 25%,transparent)}.rack-grid,.slot{touch-action:none}.slot.fresh .rack-tile{position:relative}.slot.fresh .rack-tile:after{content:"★";position:absolute;top:78%;left:50%;transform:translate(-50%,-50%);z-index:2;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ui-accent);color:var(--ui-accent-text);font-size:10px;line-height:1;pointer-events:none}.slot.target .rack-tile{opacity:.45}.slot.pushed .rack-tile{outline:2px dashed var(--ui-accent);outline-offset:-2px}.carried{position:fixed;z-index:9;display:flex;gap:3px;padding-bottom:5px;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.45))}.carried .rack-tile{flex:1}.slot.arriving .rack-tile{visibility:hidden}.flyer{position:fixed;z-index:10;display:flex;pointer-events:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.4))}.btn.primary{background:var(--ui-accent);color:var(--ui-accent-text);border-color:transparent;font-weight:600}.slot.lifted .rack-tile{opacity:.25}.slot.target{background:color-mix(in srgb,var(--ui-accent) 40%,transparent);outline:2px solid var(--ui-accent)}.slot.wild .rack-tile{background:var(--tile-edge);opacity:.75;outline:2px dashed var(--ui-accent);outline-offset:-2px}.notes{min-height:28px;display:flex;justify-content:flex-end;align-items:center;gap:8px;max-width:900px;margin:0 auto 6px}.note{font-size:12px;color:var(--ui-sub)}.call.claim{background:var(--ui-accent);border-color:transparent;color:var(--ui-accent-text);font-weight:600}.note.todrop{flex:1;text-align:center;color:var(--ui-accent);font-weight:600}.note.called{font-weight:700}.call{font:inherit;font-size:12px;padding:5px 12px;border-radius:999px;border:1px solid var(--ui-line);background:transparent;color:var(--ui-sub)}.scores{z-index:30;pointer-events:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;width:min(calc(100vw - 20px),420px);animation:panel-in .22s ease-out both;padding:14px;border-radius:14px;background:var(--ui-panel);border:1px solid var(--ui-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px}.scores h2{margin:0 0 10px;font-size:16px;font-weight:600}.scores table{width:100%;border-collapse:collapse;table-layout:fixed}.scores th,.scores td{padding:5px 4px;text-align:right;font-weight:400;border-top:1px solid var(--ui-line)}.scores th:first-child,.scores td:first-child{text-align:left;color:var(--ui-sub)}.scores thead th{border-top:0;font-weight:600}.scores .winner{color:var(--ui-accent)}.scores tr.total td{font-weight:600;font-size:15px}.scores .btn{margin-top:12px;width:100%}.scores p{margin:0 0 4px;color:var(--ui-sub)}.scores tr.match td{border-top:2px solid var(--ui-line)}.scores .champion{margin:12px 0 0;text-align:center;font-size:17px;font-weight:700;color:var(--ui-accent)}.chooser .btn{display:flex;flex-direction:column;gap:3px;padding:12px;font-size:16px;text-align:left;white-space:normal}.chooser .btn small{font-size:12px;font-weight:400;opacity:.85}.setting{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--ui-line);font-size:15px}.setting>span:first-child{flex:1;display:flex;flex-direction:column;gap:3px}.setting small{font-size:12px;color:var(--ui-sub)}.choice{display:flex;border:1px solid var(--ui-line);border-radius:10px;overflow:hidden}.choice button{font:inherit;font-size:13px;padding:8px 10px;border:0;background:transparent;color:var(--ui-text)}.choice button+button{border-left:1px solid var(--ui-line)}.choice button.on{background:var(--ui-accent);color:var(--ui-accent-text);font-weight:600}.setting input[type=checkbox]{width:22px;height:22px;accent-color:var(--ui-accent)}.landing{position:absolute;top:0;right:0;bottom:5px;left:0;display:flex;opacity:.45;pointer-events:none}.slot.target .rack-tile{transition:none}.drag-ghost{position:fixed;z-index:10;pointer-events:none;display:flex;padding-bottom:5px;transform:scale(1.25) rotate(-4deg);filter:drop-shadow(0 10px 8px rgba(0,0,0,.45))}.formed-bar{position:absolute;left:8%;right:8%;bottom:0;height:3px;border-radius:2px}.slot.formed .formed-bar{background:#5fd16a}.staging{position:absolute;left:8px;right:8px;bottom:100%;margin:0 auto 6px;padding:6px 8px;display:flex;align-items:center;gap:6px;max-width:900px;box-sizing:border-box;background:var(--rack-bg);border:1px solid var(--ui-line);border-radius:12px;z-index:5}.staging-total{flex:1;min-width:0;font-size:13px;color:var(--ui-text)}.staging .btn{-webkit-backdrop-filter:none;backdrop-filter:none;padding:7px 10px}.drag-ghost{gap:2px}.drag-ghost .rack-tile{flex:1}.rack-actions{display:flex;gap:6px;max-width:900px;margin:8px auto 0}.rack-actions .btn{flex:1;-webkit-backdrop-filter:none;backdrop-filter:none}@media(orientation:landscape){.rack-tile{font-size:clamp(15px,2.6vw,30px)}}.settings>.btn{position:sticky;bottom:0}.closed-banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:max-content;max-width:88%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 34px;border-radius:18px;background:var(--ui-panel);border:1px solid var(--ui-accent);box-shadow:0 14px 40px #00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;animation:banner-in .45s cubic-bezier(.2,1.1,.3,1) both}.closed-banner strong{white-space:nowrap;font-size:30px;letter-spacing:.02em;color:var(--ui-accent)}.closed-banner span{font-size:16px;color:var(--ui-text)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-42%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--ui-sub);font-size:16px}.rack-actions .swap-in{animation:swap-in 1.1s cubic-bezier(.2,1.2,.4,1) both}.rack-actions .swap-in:nth-child(3){animation-delay:.16s}.rack-actions .swap-in:not(:disabled){animation:swap-in 1.1s cubic-bezier(.2,1.2,.4,1) both,swap-glow 1.6s ease-out both}.rack-actions .swap-in:not(:disabled):nth-child(3){animation-delay:.16s,.16s}.rack-actions.leaving .btn.primary{transform:scale(.7);opacity:0;transition:transform .7s ease-in,opacity .7s ease-in}@keyframes swap-in{0%{transform:scale(.55);opacity:0}60%{opacity:1}to{transform:scale(1);opacity:1}}@keyframes swap-glow{0%,35%{box-shadow:0 0 #f0b45a00}55%{box-shadow:0 0 0 7px #f0b45a8c}to{box-shadow:0 0 #f0b45a00}}.call.undo{margin-right:auto;padding:3px 10px;opacity:.75}.call.undo:disabled{opacity:.5}.history{pointer-events:auto;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ui-panel) 97%,#000);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ui-text);overflow-y:auto;overscroll-behavior:contain}.history-bar{display:flex;align-items:center;gap:8px}.history-bar h2{flex:1;margin:0;font-size:16px;font-weight:600}.history-empty{color:var(--ui-sub);margin:12px 0}.history-list{display:flex;flex-direction:column;gap:8px}.game-row{display:flex;align-items:stretch;gap:6px}.game-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--ui-line);background:transparent;color:inherit}.game-title{font-weight:600}.game-title em{font-style:normal;color:var(--ui-accent)}.game-when,.game-note{font-size:12px;color:var(--ui-sub)}.game-scores{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}.game-scores .win{color:var(--ui-accent);font-weight:600}.star,.trash{font:inherit;width:40px;border-radius:12px;border:1px solid var(--ui-line);background:transparent;color:var(--ui-sub)}.star.on{color:var(--ui-accent)}.replay-bar{pointer-events:auto;flex:none;display:flex;flex-direction:column;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--ui-panel);border-top:1px solid var(--ui-line);color:var(--ui-text);box-shadow:0 -8px 24px #00000040}.rb-head{display:flex;align-items:center;gap:6px}.rb-title{flex:1;text-align:center;font-weight:600;font-size:15px}.rb-text{font:inherit;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:var(--ui-sub)}.rb-text.star.on{color:var(--ui-accent)}.rb-caption{min-height:2.6em;font-size:14px;line-height:1.3}.rb-track{position:relative;height:28px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:pointer}.rb-track:before{content:"";position:absolute;top:-10px;right:0;bottom:-10px;left:0}.rb-rail,.rb-done{position:absolute;left:0;top:11px;height:6px;border-radius:3px}.rb-rail{right:0;background:var(--ui-line)}.rb-done{background:var(--ui-accent)}.rb-knob{position:absolute;top:4px;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--ui-accent);border:3px solid var(--ui-panel);box-shadow:0 0 0 1px var(--ui-accent)}.rb-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.rb-btn{flex:1;display:flex;align-items:center;justify-content:center;height:44px;border-radius:12px;border:1px solid var(--ui-line);background:transparent;color:var(--ui-text)}.rb-btn:active{transform:scale(.94)}.rb-btn.main{flex:1.5;background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-accent-text)}.rb-row.options{font-size:13px;flex-wrap:wrap}.rb-row.options .rb-pill{padding:6px 10px}.rb-speeds{display:flex;border:1px solid var(--ui-line);border-radius:10px;overflow:hidden}.rb-speeds button{font:inherit;padding:6px 12px;border:0;background:transparent;color:var(--ui-sub)}.rb-speeds button.on{background:var(--ui-accent);color:var(--ui-accent-text)}.rb-pill{font:inherit;padding:6px 12px;border-radius:10px;border:1px solid var(--ui-line);background:transparent;color:var(--ui-sub)}.rb-pill.on{border-color:var(--ui-accent);color:var(--ui-accent)}.mode{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.chooser-sep{height:1px;margin:6px 0 12px;background:var(--ui-line)}.mode-pick.players{margin-bottom:4px}.fold-head{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 6px;padding:8px 2px;font:inherit;font-size:15px;font-weight:600;background:none;border:0;color:var(--ui-text)}.fold-head i{font-style:normal;font-size:20px;line-height:1;color:var(--ui-sub);transition:transform .2s ease}.fold-head.open i{transform:rotate(90deg)}.fold-body{margin-bottom:10px}.mode-pick{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px;font-size:14px;color:var(--ui-sub)}.rack-actions.away .btn.primary{animation:slide-away .55s cubic-bezier(.55,0,.8,.4) both;pointer-events:none}.rack-actions.away .btn.primary:nth-child(3){animation-delay:.14s}@keyframes slide-away{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(260%);opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;pointer-events:auto;background:#28180a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:scrim-in .22s ease-out both}.botmark{width:1.1em;height:1.1em;margin-right:.35em;vertical-align:-.2em}.name-input{min-width:0;width:9.5em;padding:8px 10px;border-radius:10px;border:1px solid var(--ui-line);background:var(--ui-bg);color:var(--ui-text);font:inherit}.name-note{margin:8px 0 0;font-size:.85em;color:var(--ui-sub)}.name-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.turn-mid{position:absolute;left:50%;top:calc(env(safe-area-inset-top) + 8px);height:34px;display:flex;align-items:center;transform:translate(-50%);max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;animation:turn-in .45s cubic-bezier(.3,1.5,.5,1) both}@keyframes turn-in{0%{opacity:0;transform:translate(-50%) translateY(-10px) scale(.8)}}.hud-top .score-text.under-clock{position:fixed;top:calc(env(safe-area-inset-top) + 42px);left:10px;padding:2px 4px}.hud-top .score-text{font-size:15px;font-weight:700;color:var(--ui-text);text-shadow:0 1px 3px rgba(0,0,0,.55);padding:7px 4px;font-variant-numeric:tabular-nums}.mascot{position:absolute;right:62px;top:calc(env(safe-area-inset-top) + 70px);width:0;height:0;z-index:5}.mascot.above-panel{z-index:31}.mascot-count{position:absolute;left:0;top:62px;transform:translate(-50%);padding:3px 11px;border-radius:14px;background:#fff;border:1.5px solid #999;color:#7a3fa0;font:700 15px ui-rounded,system-ui,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;z-index:3;animation:count-bump .3s cubic-bezier(.3,1.6,.5,1)}@keyframes count-bump{0%{transform:translate(-50%) scale(1.5)}}.mascot-art{position:absolute;left:-71px;top:-72px;width:124px;height:124px;pointer-events:none;z-index:2;transform-origin:100% 0;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));will-change:transform}.mascot-art svg{width:100%;height:100%;overflow:visible;display:block}.mascot-hit{position:absolute;left:-34px;top:-40px;width:68px;height:80px;border:0;padding:0;background:transparent;pointer-events:auto;z-index:3;border-radius:12px;-webkit-tap-highlight-color:transparent}.hud-top .multiplier.mult-x{background:none;border:0;padding:0 4px;font-size:24px;font-weight:800;line-height:1;color:var(--ui-accent);text-shadow:0 0 10px color-mix(in srgb,var(--ui-accent) 70%,transparent),0 1px 3px rgba(0,0,0,.55);font-variant-numeric:tabular-nums;animation:x-pop .6s cubic-bezier(.3,1.8,.5,1) both,x-glow 2.4s ease-in-out .6s 5}@keyframes x-glow{50%{transform:scale(1.14);text-shadow:0 0 18px var(--ui-accent),0 1px 3px rgba(0,0,0,.55)}}@keyframes x-pop{0%{transform:scale(.2) rotate(-25deg);opacity:0}}.mascot-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:auto;background:#0000002e;animation:scrim-in .25s ease both}@keyframes scrim-in{0%{opacity:0}}.mm-item{z-index:1;position:absolute;left:0;top:0;width:66px;height:70px;margin:-35px 0 0 -33px;padding:4px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;color:var(--ui-text);background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 4px 10px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;opacity:0;visibility:hidden;transform:translate(0) scale(.2) rotate(-120deg);transition:transform .28s cubic-bezier(.5,0,.8,.4) calc((var(--n) - var(--i)) * 28ms),opacity .2s ease calc((var(--n) - var(--i)) * 28ms),visibility 0s linear .5s}.mascot.open .mm-item{pointer-events:auto;opacity:1;visibility:visible;transform:translate(var(--x),var(--y)) scale(1) rotate(0);transition:transform .5s cubic-bezier(.2,1.7,.45,1) calc(var(--i) * 55ms),opacity .2s ease calc(var(--i) * 55ms),visibility 0s}.mascot.open .mm-item:active{transform:translate(var(--x),var(--y)) scale(.92);transition-duration:.1s;transition-delay:0s}.mm-item.toggle,.mascot.open .mm-item.toggle{opacity:.7}.mascot.open .mm-item.toggle.on{opacity:1;border-color:var(--ui-accent);color:var(--ui-accent)}.mm-icon{font-size:22px;line-height:1;display:flex}.mm-icon svg{display:block}.mm-label{font-size:10.5px;line-height:1.1;max-width:100%;text-align:center;font-weight:600}.mm-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--ui-accent);animation:dot-pulse 1.2s ease-in-out infinite}@keyframes dot-pulse{50%{transform:scale(1.5)}}@media(prefers-reduced-motion:reduce){.mm-item,.mascot.open .mm-item{transition-duration:.01s}.turn-mid,.hud-top .multiplier.mult-x{animation:none}}.tg{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.05em;height:1.4em;margin:0 .08em;border-radius:.2em;vertical-align:middle;position:relative;top:-.26em;background:var(--glyph-tile);box-shadow:0 .08em #00000052,inset 0 0 0 1px #00000024;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-weight:800;font-size:.92em;line-height:1;letter-spacing:-.04em}.tg.two{width:1.63em;height:1.57em;margin:0 .09em;top:-.29em;font-size:.82em;letter-spacing:-.07em}.tg.joker{color:var(--glyph-jolly)}.tg.joker svg{width:.9em;height:.9em}.online-panel h2,.chooser h2{padding-right:64px}.online-panel{animation:menu-in .3s cubic-bezier(.2,.9,.3,1.25) both}@keyframes menu-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.online-panel>*,.online-panel .seat-list>*,.online-panel .game-list>*{animation:item-in .34s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(60ms + var(--i, 0) * 45ms)}@keyframes item-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.menu-row{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0;padding:12px;border-radius:14px;border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 70%,var(--ui-text) 6%);color:var(--ui-text);font:inherit;text-align:left;transition:transform .12s ease,box-shadow .16s ease}.menu-row.primary{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}.menu-row:active,.game-row:active{transform:scale(.97)}.menu-row:disabled{opacity:.5}.menu-icon{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;font-size:22px;background:color-mix(in srgb,var(--ui-accent) 18%,transparent);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.menu-row:active .menu-icon{transform:rotate(-8deg) scale(1.12)}.menu-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.menu-text b{font-size:15px;font-weight:600}.menu-text small{font-size:12px;color:var(--ui-sub);overflow:hidden;text-overflow:ellipsis}.menu-badge,.mm-count,.mascot-turns{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:11px;background:#d8432f;color:#fff;font-size:12px;font-weight:700;animation:badge-pop .42s cubic-bezier(.3,1.8,.5,1) both}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.mm-count{position:absolute;top:-4px;right:-4px}.mascot-turns{position:fixed;right:calc(env(safe-area-inset-right) + 6px);top:calc(env(safe-area-inset-top) + 6px);z-index:5;pointer-events:none;box-shadow:0 2px 6px #0000004d}.menu-link{display:block;margin:-2px 0 6px auto;padding:4px 6px;border:0;background:none;color:var(--ui-accent);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}.menu-back{display:inline-block;margin:-4px 0 4px -4px;padding:4px 8px;border:0;background:none;color:var(--ui-sub);font:inherit;font-size:13px}.menu-field{display:flex;flex-direction:column;gap:4px;margin:6px 0 10px;font-size:12px;color:var(--ui-sub)}.menu-field input,.menu-code{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 60%,var(--ui-text) 8%);color:var(--ui-text)}.menu-code{display:block;width:100%;box-sizing:border-box;margin:4px 0 10px;text-align:center;font-size:30px;font-weight:700;letter-spacing:.35em;text-transform:uppercase}.menu-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0;font-size:13px;color:var(--ui-sub)}.menu-pick.wrap{flex-wrap:wrap}.menu-pick.wrap .choice button{padding:8px}.menu-note{margin:6px 0 10px;font-size:12px;line-height:1.4;color:var(--ui-sub);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-note.waiting{justify-content:center;animation:breathe-text 2.4s ease-in-out infinite}@keyframes breathe-text{50%{opacity:.45}}.menu-sub{margin:-6px 0 10px;font-size:12px;color:var(--ui-sub)}.online-panel .btn.menu-go{display:block;width:100%;margin:8px 0 0;padding:12px;font-size:15px}.menu-two{display:flex;gap:8px;margin-top:8px}.menu-two .btn{flex:1;margin:0}.btn.quiet,.mini.quiet{background:transparent;color:var(--ui-sub)}.lobby-code{display:flex;align-items:baseline;justify-content:center;gap:10px;margin:4px 0 10px;padding:8px;border-radius:12px;border:1.5px dashed var(--ui-line);color:var(--ui-sub)}.lobby-code b{font-size:30px;letter-spacing:.25em;color:var(--ui-text)}.seat-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.seat-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 70%,var(--ui-text) 5%)}.seat-line.open{border-style:dashed;background:transparent}.seat-line.mine{border-color:var(--ui-accent)}.seat-dot{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--ui-sub) 50%,transparent)}.seat-dot.on{background:#3fae5f;box-shadow:0 0 0 3px color-mix(in srgb,#3fae5f 25%,transparent);animation:dot-live 2s ease-in-out infinite}@keyframes dot-live{50%{box-shadow:0 0 0 6px color-mix(in srgb,#3fae5f 0%,transparent)}}.seat-name{flex:1;display:flex;align-items:center;gap:6px;min-width:0;font-size:14px;font-weight:600}.seat-name i{font-weight:400;color:var(--ui-sub)}.seat-name em{font-style:normal;font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;background:color-mix(in srgb,var(--ui-accent) 22%,transparent);color:var(--ui-text)}.seat-name .botmark{width:15px;height:15px}.mini{font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:9px;border:1px solid var(--ui-line);background:var(--ui-accent);color:var(--ui-accent-text)}.mini:active{transform:scale(.94)}.seat-link{display:flex;gap:6px;width:100%;justify-content:flex-end;animation:item-in .3s ease both}.game-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}.game-row{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--ui-line);background:color-mix(in srgb,var(--ui-panel) 70%,var(--ui-text) 5%);color:var(--ui-text);font:inherit;text-align:left;transition:transform .12s ease}.menu-heading{margin:6px 2px 4px;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ui-sub)}.game-item{display:flex;align-items:stretch;gap:6px}.game-item .game-row{flex:1;min-width:0}.game-x{flex:none;width:34px;font:inherit;font-size:14px;border:1px solid var(--ui-line);border-radius:12px;background:transparent;color:var(--ui-sub)}.game-ask{flex:1}.game-row.turn{border-color:#d8432f;box-shadow:inset 4px 0 #d8432f}.game-row.over{opacity:.7}.pill{flex:none;font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px;background:color-mix(in srgb,var(--ui-sub) 22%,transparent)}.pill.turn{background:#d8432f;color:#fff;animation:dot-pulse 1.6s ease-in-out infinite}.pill.playing{background:color-mix(in srgb,#3fae5f 30%,transparent)}.online-bar{position:fixed;top:calc(env(safe-area-inset-top) + 8px);left:10px;z-index:6;display:flex;gap:8px;align-items:center;pointer-events:none}.online-bar .clock{padding:2px 4px;font-size:15px;font-weight:700;color:var(--ui-text);text-shadow:0 1px 3px rgba(0,0,0,.55);font-variant-numeric:tabular-nums}.online-bar .nudge-chip{pointer-events:auto;font:inherit;font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;border:1px solid var(--ui-accent);background:var(--ui-panel);color:var(--ui-accent);animation:badge-pop .42s cubic-bezier(.3,1.8,.5,1) both}.online-bar .clock.low{color:#ff5b45;animation:dot-pulse 1s ease-in-out infinite}.railbirds{display:flex;align-items:flex-end;gap:2px;padding:4px 8px;border-radius:12px;background:var(--ui-panel);border:1px solid var(--ui-line)}.railbirds i{width:10px;height:14px;border-radius:5px 5px 3px 3px;background:var(--ui-sub);animation:bob 3s ease-in-out infinite;animation-delay:calc(var(--i) * .4s)}.railbirds small{font-size:11px;margin-left:3px}@keyframes bob{0%,80%,to{transform:none}88%{transform:translateY(-4px)}}.react-bar{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 14px);transform:translate(-50%);z-index:8;display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:24px;background:var(--ui-panel);border:1px solid var(--ui-line);box-shadow:0 4px 16px #00000040}.react-bar span{font-size:12px;color:var(--ui-sub);margin-right:4px}.react-bar button{display:grid;place-items:center;color:var(--ui-text);font-size:24px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;transition:transform .16s cubic-bezier(.3,1.8,.5,1)}.react-bar button:active{transform:scale(1.35) rotate(-10deg)}.toasts{position:fixed;top:calc(env(safe-area-inset-top) + 46px);left:50%;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;width:min(92vw,380px)}.toast{padding:8px 14px;border-radius:14px;background:var(--ui-panel);border:1px solid var(--ui-line);box-shadow:0 4px 14px #00000040;font-size:13px;text-align:center;animation:toast-in 3.4s ease both}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px) scale(.96)}8%,88%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px)}}.reactions{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;pointer-events:none;overflow:hidden}.reaction{position:absolute;bottom:18%;display:flex;flex-direction:column;align-items:center;font-size:40px;animation:float-up 2.6s cubic-bezier(.2,.7,.4,1) both}.reaction small{font-size:11px;padding:1px 6px;border-radius:8px;background:var(--ui-panel);color:var(--ui-text)}@keyframes float-up{0%{opacity:0;transform:translateY(20px) scale(.4)}12%{opacity:1;transform:translateY(0) scale(1.15)}25%{transform:translateY(-30px) scale(1) rotate(-6deg)}60%{transform:translateY(-160px) rotate(6deg);opacity:1}to{transform:translateY(-300px) rotate(-4deg);opacity:0}}@media(prefers-reduced-motion:reduce){.online-panel,.online-panel>*,.online-panel .seat-list>*,.online-panel .game-list>*,.reaction,.toast,.railbirds i{animation-duration:1ms!important;animation-delay:0ms!important}}.mr-ring{animation:mr-hue 6s linear infinite;stroke:var(--c1)}.mr-star{fill:var(--c1);animation:mr-twink 1.5s ease-in-out infinite,mr-hue-fill 6s linear infinite;transform-box:fill-box;transform-origin:center}.mr-dust{opacity:0;animation:mr-dust 1.7s ease-out infinite;transform-box:fill-box;transform-origin:center}.mr-glint{opacity:0;animation:mr-glint 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes mr-hue{0%,to{stroke:var(--c1)}25%{stroke:var(--c2)}50%{stroke:var(--c3)}75%{stroke:var(--c4)}}@keyframes mr-hue-fill{0%,to{fill:var(--c1)}25%{fill:var(--c2)}50%{fill:var(--c3)}75%{fill:var(--c4)}}@keyframes mr-twink{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.45) rotate(60deg);opacity:.6}}@keyframes mr-dust{0%{transform:translate(0) scale(1);opacity:.95}to{transform:translate(var(--dx),var(--dy)) scale(.15);opacity:0}}@keyframes mr-glint{0%,to{transform:scale(.2);opacity:0}45%{transform:scale(1) rotate(45deg);opacity:1}70%{opacity:.2}}@media(prefers-reduced-motion:reduce){.mr-ring,.mr-star,.mr-dust,.mr-glint{animation:none}}.hx-note{margin:0 0 8px;font-size:12px;color:var(--ui-sub)}.hx-meta b{font-weight:700;color:var(--ui-accent)}.hx-tree{display:flex;flex-direction:column;gap:6px}.hx-branch{display:flex;flex-direction:column;gap:4px}.hx-match,.hx-leaf{display:flex;align-items:flex-start;gap:2px;border:1px solid var(--ui-line);border-radius:10px;padding:2px 4px 2px 0}.hx-match{background:color-mix(in srgb,var(--ui-accent) 8%,transparent)}.hx-head,.hx-open{flex:1;min-width:0;display:flex;gap:8px;text-align:left;font:inherit;color:inherit;background:transparent;border:0;padding:7px 8px 7px 10px}.hx-head{align-items:flex-start}.hx-open{flex-direction:column;gap:1px}.hx-headtext{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.hx-chevron{flex:none;margin-top:4px;color:var(--ui-sub);transition:transform .18s ease}.hx-chevron.open{transform:rotate(90deg)}.hx-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.hx-title{font-weight:600;font-size:14px}.hx-title em{font-style:normal;color:var(--ui-accent)}.hx-result,.hx-count{font-size:11px;color:var(--ui-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hx-scores{display:flex;flex-wrap:wrap;gap:0 10px;font-size:12px}.hx-scores .win{color:var(--ui-accent);font-weight:600}.hx-meta{font-size:11px;color:var(--ui-sub)}.hx-games{display:flex;flex-direction:column;gap:4px;margin-left:14px;padding-left:10px;border-left:1px solid var(--ui-line)}.hx-leaf.nested{position:relative}.hx-leaf.nested:before{content:"";position:absolute;left:-10px;top:18px;width:9px;border-top:1px solid var(--ui-line)}.hx-icon{flex:none;width:28px;height:28px;margin-top:4px;display:flex;align-items:center;justify-content:center;font:inherit;font-size:13px;border:0;border-radius:8px;background:transparent;color:var(--ui-sub)}.hx-icon.star.on{color:var(--ui-accent)}.hx-icon.sure{width:auto;padding:0 8px;font-size:12px;background:#b3382c;color:#fff}.hx-icon:active,.hx-open:active,.hx-head:active{opacity:.6}.offer.ask-card{position:fixed;left:50%;bottom:calc(var(--rack-h, 190px) + 16px);transform:translate(-50%);width:min(92vw,440px);margin:0;z-index:40;box-shadow:0 10px 30px #00000040;animation:ask-in .32s cubic-bezier(.2,1.3,.4,1) both}@keyframes ask-in{0%{opacity:0;transform:translate(-50%,12px) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}.offer.ask-card span{flex:1 1 100%}.imback{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);max-width:92%;z-index:25;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.imback-btn{pointer-events:auto;font:inherit;font-size:26px;font-weight:800;letter-spacing:.04em;padding:22px 34px;border-radius:28px;border:3px solid var(--ui-accent-text, #fff);background:var(--ui-accent);color:var(--ui-accent-text);box-shadow:0 10px 30px #00000073;animation:breathe 1.6s ease-in-out infinite}.imback-note{padding:6px 12px;border-radius:12px;background:var(--ui-panel);color:var(--ui-text);font-size:14px;text-align:center}.closed-banner.time-up{top:28%;z-index:24}.closed-banner.time-up span{text-align:center;white-space:normal}.hud-top .score-btn{pointer-events:auto;font:inherit;font-size:15px;font-weight:700;background:none;border:0;display:inline-flex;align-items:center;gap:3px;padding:4px}.hud-top .score-btn i{font-style:normal;font-size:18px;line-height:1;color:var(--ui-accent)}.matchsheet .game-row small{display:block}.matchsheet .game-row .win{font-weight:700;color:var(--ui-accent)}.matchsheet table{width:100%}
