@font-face{font-family:Schoolbell;font-style:normal;font-weight:400;font-display:swap;src:url(/app-assets/assets/schoolbell-v18-latin-D_Z2-wWK.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-display:"Schoolbell", ui-rounded, "Comic Sans MS", cursive;--bg:#fff;--ink:#000;--ink-2:color-mix(in srgb, var(--ink) 65%, transparent);--ink-3:color-mix(in srgb, var(--ink) 35%, transparent);--muted:var(--ink-2);--card:color-mix(in srgb, var(--ink) 5%, var(--bg));--card-border:color-mix(in srgb, var(--ink) 14%, transparent);--line:var(--card-border);--skeleton-base:color-mix(in srgb, var(--ink) 4%, transparent);--skeleton-sheen:#ffffff80;--accent:var(--ink);--accent-ink:var(--bg);--error:#c0392b;--app-col:520px;--plate:#2456d6;--plate-dark:#1a3fa6;--plate-edge:#16348a;--p1:#e0454a;--p1-dark:#a82f33;--p2:#f2b134;--p2-dark:#c08a1e;--p3:#67c587;--p3-dark:#3f9a63;--p4:#8a7cf0;--p4-dark:#5f4fd0}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--ink:#fff;--error:#ff6b6b;--skeleton-sheen:#ffffff12}}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}input,textarea,select{font-size:16px}.shell{min-height:var(--visual-viewport-height,100dvh);justify-content:center;display:flex}.routeHost{display:contents}.routeHost[hidden]{display:none}.screen{width:100%;max-width:480px;padding:24px 16px max(32px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex}.screen.center{text-align:center;justify-content:center;align-items:center}.appHeader{text-align:center}.appHeader h1{font-family:var(--font-display);margin:0 0 4px;font-size:1.65rem;font-weight:400}.gameTitleHeading{font-family:var(--font-display);font-size:2.25rem;font-weight:400}.sub{color:var(--muted);margin:0}.muted{color:var(--muted)}.error{color:var(--error);margin:0}.center{text-align:center}.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:18px}.segmentedWrap{justify-content:center;display:flex}.segmented{-webkit-tap-highlight-color:transparent;gap:2px;padding:3px;display:inline-flex;position:relative;overflow:visible}.segmentedTrack{z-index:0;background:color-mix(in srgb, var(--ink) 6%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;position:absolute;inset:0}.segmentedThumb{z-index:1;background:var(--ink);will-change:transform, width;border-radius:999px;transition:transform .34s cubic-bezier(.34,1.56,.64,1),width .34s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;bottom:3px;left:0;box-shadow:0 1px 3px #0000002e}.segmentedBtn{z-index:2;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;line-height:1.2;transition:color .2s;display:inline-flex;position:relative}.segmentedBtn.isActive{color:var(--bg)}.segmentedBtn:has(.segmentedCount){padding-right:6px}.segmentedCount{background:var(--ink);min-width:18px;height:18px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:.72rem;font-weight:700;line-height:1;transition:background .2s,color .2s;display:inline-flex}.segmentedBtn.isActive .segmentedCount{background:var(--bg);color:var(--ink)}@media (prefers-reduced-motion:reduce){.segmentedThumb{transition:none}}.historySection{flex-direction:column;gap:12px;display:flex}.sectionTitle{color:var(--muted);margin:4px 0 0;font-size:.95rem;font-weight:600}.emptyState{text-align:center;margin:8px 0}.gameCardTime{color:var(--muted);white-space:nowrap;flex:none;font-size:.8rem}.catalog{flex-direction:column;gap:12px;display:flex}.gameCard{text-align:left;font:inherit;color:inherit;cursor:pointer;background:#fff;border:none;border-radius:22px;align-items:center;gap:14px;padding:16px;transition:transform .15s;display:flex;box-shadow:0 3px 12px #0000000d}@media (prefers-color-scheme:dark){.gameCard{background:#ffffff0f;box-shadow:0 3px 12px #00000040}}.gameCard:active{transform:scale(.985)}.gameCardArt{width:48px;color:var(--ink);flex:none;justify-content:center;align-items:center;font-size:2.2rem;line-height:1;display:flex}.gameCardArt--image{width:52px;height:52px}.gameCardArt--image img{object-fit:contain;width:100%;height:100%;display:block}.gameCardArrow{color:var(--muted);flex:none;align-items:center;margin-left:auto;font-size:1.7rem;line-height:1;display:inline-flex}.gameCardBody{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gameCardTurn{color:var(--accent);font-weight:600}.hapticBtn{position:relative}.hapticBtnSwitch{opacity:0;width:100%;height:100%;cursor:inherit;border:0;margin:0;padding:0;position:absolute;inset:0}.gameGrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.gameTile{text-align:left;aspect-ratio:1/1.72;font:inherit;color:inherit;cursor:pointer;background:#fff;border:none;border-radius:22px;flex-direction:column;align-items:stretch;gap:10px;padding:18px;transition:transform .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #0000000d}.gameTile--image{gap:0;padding:0}@media (prefers-color-scheme:dark){.gameTile{background:#ffffff0f;box-shadow:0 3px 12px #00000040}}.gameTile:active{transform:scale(.985)}.gameTileArt{min-height:0;color:var(--ink);flex:1;justify-content:flex-start;align-items:center;font-size:3rem;line-height:1;display:flex}.gameTileArt--image{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.gameTileArt--image img{object-fit:contain;max-width:100%;max-height:100%;display:block}.gameTileBody{flex-direction:column;flex:none;gap:4px;min-width:0;display:flex}.gameTile--image .gameTileBody{flex:none;padding:12px 16px 16px}.gameTileTitle{font-family:var(--font-display);font-size:1.3rem;font-weight:400;line-height:1.1}.gameTileDesc{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.35;display:-webkit-box;overflow:hidden}.gameTilePlays{z-index:1;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;opacity:.5;background:#0000008c;border-radius:999px;align-items:center;gap:3px;padding:2px 7px 2px 6px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:8px;right:8px}.skeletonBlock{background:var(--skeleton-base);border-radius:22px;position:relative;overflow:hidden}.skeletonBlock:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-sheen) 50%, transparent 100%);animation:1.4s ease-in-out infinite skeletonShimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeletonShimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeletonBlock:after{animation:none}}.skeletonTile{aspect-ratio:1/1.72}.skeletonCard{height:80px}.activeView{flex-direction:column;gap:16px;display:flex}@keyframes gamesEnter{0%{opacity:0}to{opacity:1}}.gamesEnter{animation:.2s both gamesEnter}@media (prefers-reduced-motion:reduce){.gamesEnter{animation:none}}.gameTileNew{z-index:1;color:var(--p3-dark);letter-spacing:.04em;pointer-events:none;align-items:center;padding:2px 7px 2px 6px;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:8px;left:8px}.pill{border:1px solid var(--card-border);color:var(--muted);border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.78rem}.form{flex-direction:column;gap:14px;display:flex}.form h2{margin:0;font-size:1.15rem}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.92rem;display:flex}.form input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--card-border);border-radius:10px;padding:12px}.form input:focus{outline:2px solid var(--accent);border-color:#0000}button.primary{font:inherit;background:var(--accent);color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;padding:14px;font-weight:600;transition:transform .12s,opacity .12s}button.primary:active{transform:scale(.98)}button.primary:disabled{opacity:.55;cursor:default}.shareCard{flex-direction:column;align-items:stretch;gap:12px;width:100%;display:flex}.shareNote{text-align:center;margin:0}.shareUrl{background:var(--bg);word-break:break-all;border-radius:10px;margin:0;padding:10px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85rem}.shareActions{gap:10px;display:flex}.shareBtn{font:inherit;cursor:pointer;background:var(--bg);color:var(--ink);border:1px solid var(--card-border);border-radius:999px;flex:1;padding:13px;font-weight:600;transition:transform .12s,opacity .12s}.shareBtn:active{transform:scale(.98)}.shareBtn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.topBar{align-items:center;gap:8px;margin:-8px -4px 0;display:flex}.topBarBack,.topBarSpacer{flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.topBarTitle{text-align:center;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.45rem;font-weight:400;overflow:hidden}.howTo{flex-direction:column;align-items:center;display:flex}.howToSurface{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.howToSurface--closed{text-align:center;cursor:pointer;align-self:center;padding:11px 22px;font-weight:600}.howToSurface--open{align-self:stretch;padding:18px}.howToLabel{white-space:nowrap;display:inline-block}.howToContent{flex-direction:column;gap:10px;display:flex}.howToSurface .howToCollapse{background:color-mix(in srgb, var(--ink) 6%, transparent);width:30px;height:30px;box-shadow:none;color:var(--ink);opacity:1;border:0;transition:opacity .16s;position:absolute;top:14px;right:14px}.howToSurface .howToCollapse--hidden{opacity:0;pointer-events:none}.howToTitle{margin:0;padding-right:36px;font-size:1.05rem}.howToList{color:var(--ink);flex-direction:column;gap:8px;margin:0;padding-left:1.2em;display:flex}.howToList li{line-height:1.4}.inviteScreen{min-height:var(--visual-viewport-height,100dvh)}.inviteMeta{color:var(--muted);margin:0;font-size:.95rem}.inviteSpacer{flex:1;min-height:12px}.gameHeader{top:var(--visual-viewport-top,0px);z-index:100;width:100%;max-width:var(--app-col);min-height:var(--header-bar-h,56px);box-sizing:border-box;padding:env(safe-area-inset-top) 8px 0;background:var(--bg);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.gameHeaderTitle{text-align:center;font-family:var(--font-display);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:20px;font-weight:400;overflow:hidden}.gameHeaderTimer{font-variant-numeric:tabular-nums;color:var(--ink);opacity:.65}.gameHeaderTimer.urgent{color:var(--error);opacity:1}.iconBtn{color:#111;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #0000000f;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .45s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 2px 6px #0000000a,0 6px 16px #00000008}.iconBtn:active{transition-duration:80ms;transform:scale(.86)}.iconBtn:disabled{opacity:.35;cursor:default}@media (prefers-color-scheme:dark){.iconBtn{box-shadow:none;color:#fff;background:#ffffff0f;border-color:#ffffff1a}}@media (prefers-reduced-motion:reduce){.iconBtn{transition:none}}.gameHeaderBtn{flex:none;width:44px;height:44px}.gameMenuWrap{flex:none;position:relative}.gameMenu{z-index:200;transform-origin:100% 0;background:#fff;border:1px solid #0000000f;border-radius:16px;flex-direction:column;min-width:200px;padding:6px;animation:.16s cubic-bezier(.34,1.56,.64,1) gameMenuIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f}@keyframes gameMenuIn{0%{opacity:0;transform:scale(.92)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.gameMenuItem{color:#111;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:11px;align-items:center;gap:12px;width:100%;padding:12px 14px;font-size:15px;font-weight:600;transition:background .12s;display:flex}.gameMenuItem:active{background:#0000000f}.gameMenuItem.destructive{color:#d63a3a}.gameMenuItem.destructive:active{background:#d63a3a1a}@media (prefers-color-scheme:dark){.gameMenu{background:#1c1c1e;border-color:#ffffff1a;box-shadow:0 8px 24px #00000080}.gameMenuItem{color:#fff}.gameMenuItem:active{background:#ffffff14}.gameMenuItem.destructive{color:#ff6b6b}.gameMenuItem.destructive:active{background:#ff6b6b26}}@media (prefers-reduced-motion:reduce){.gameMenu{animation:none}}.c4{flex-direction:column;gap:14px;display:flex}.playersBar{justify-content:center;gap:10px;display:flex}.playerChip{background:var(--card);border:1px solid var(--card-border);opacity:1;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:.92rem;transition:opacity .18s;display:flex}.playerChip.backgrounded{opacity:.3}.playerChip.winner{border-color:var(--p2);box-shadow:0 0 0 2px color-mix(in srgb, var(--p2) 40%, transparent)}.chipDisc{border-radius:50%;width:14px;height:14px;display:inline-block}.chipDisc.seat1{background:var(--p1)}.chipDisc.seat2{background:var(--p2)}.chipDisc.seat3{background:var(--p3)}.chipDisc.seat4{background:var(--p4)}.turnBanner{text-align:center;min-height:1.6em;margin:0;font-size:1.25rem}.turnBanner.mine{color:var(--accent)}.hint{text-align:center;color:var(--muted);margin:0;font-size:.88rem}.c4Frame{background:linear-gradient(180deg, var(--plate-dark), var(--plate-edge));border-radius:22px;padding:10px;transition:box-shadow .3s;box-shadow:0 18px 36px #0a143c59,inset 0 2px #ffffff14}.c4Frame.yourTurn{box-shadow:0 18px 36px #0a143c59, 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}.c4Board{aspect-ratio:7/6;border-radius:14px;position:relative;overflow:hidden}.c4Back{background:linear-gradient(#101a3c,#0b1228);position:absolute;inset:0}.c4Discs{position:absolute;inset:0}.c4DiscCell{justify-content:center;align-items:center;width:14.2857%;height:16.6667%;display:flex;position:absolute}.c4Disc{border-radius:50%;width:82%;height:82%;transition:opacity .4s}.c4Disc.seat1{background:radial-gradient(circle at 35% 28%, #f08a8e, var(--p1) 55%, var(--p1-dark) 95%);box-shadow:inset 0 2px 4px #0006}.c4Disc.seat2{background:radial-gradient(circle at 35% 28%, #ffd980, var(--p2) 55%, var(--p2-dark) 95%);box-shadow:inset 0 2px 4px #00000059}.c4Disc.dimmed{opacity:.4}.c4Disc{position:relative;overflow:hidden}.c4Disc.hasOverlay{box-shadow:0 0 0 3px var(--p2-dark) inset, 0 2px 4px #0006 inset}.c4Disc.seat1.hasOverlay{box-shadow:0 0 0 3px var(--p1-dark) inset, 0 2px 4px #0006 inset}.c4DiscOverlay{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.c4Disc.winning{animation:.9s ease-in-out infinite winPulse}@keyframes winPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.25);transform:scale(1.08)}}.c4Plate{pointer-events:none;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0}.c4Hole{background:radial-gradient(circle at 50% 50%, transparent 0 40%, #00000059 41% 43.5%, var(--plate) 44.5%, var(--plate-dark) 100%)}.c4Hits{grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0}.c4Hit{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}.c4Hit:disabled{cursor:default}.endCard{text-align:center;flex-direction:column;gap:12px;display:flex}.endCard h3{margin:0;font-size:1.2rem}.gameStack{flex-direction:column;gap:14px;display:flex}.gameContainer{--bg:#111315;--ink:#f4f4f5;--ink-2:color-mix(in srgb, var(--ink) 65%, transparent);--ink-3:color-mix(in srgb, var(--ink) 35%, transparent);--muted:var(--ink-2);--card:color-mix(in srgb, var(--ink) 5%, var(--bg));--card-border:color-mix(in srgb, var(--ink) 14%, transparent);--line:var(--card-border);--accent:var(--ink);--accent-ink:var(--bg);--error:#c0392b;background:var(--game-bg,var(--bg));min-height:0;color:var(--game-ink,var(--ink));border-radius:24px;flex:auto;margin:0;position:relative;overflow:hidden}.gameContainer.isFullscreen{flex-direction:column;display:flex}.gameFullscreen{flex-direction:column;flex:auto;min-height:0;padding:12px;display:flex}.gameFullscreen>.gameStack{flex-direction:column;flex:auto;gap:10px;width:100%;min-height:0;display:flex}.gameFullscreen .playersBar,.gameFullscreen .turnBanner,.gameFullscreen .hint,.gameFullscreen .endCard{flex:none}.boardArea{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex;container-type:size}.boardArea>*{width:min(100cqw, calc((100cqh - 8px) * var(--ar,1)));flex:none;max-width:100%}.boardSurface{flex:auto;min-height:0}.gameContainer.isScrollable{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.gameScroll{flex-direction:column;min-height:100%;display:flex}.gameScrollInner{flex-direction:column;flex:auto;gap:12px;width:100%;max-width:500px;margin:0 auto;padding:16px;display:flex}.gameError{text-align:center;color:var(--error,#ff6b6b);margin:8px 12px 0}.gameSpectating{text-align:center;color:var(--muted,var(--ink-2));margin:4px 12px 8px}.board-connect_four{--game-bg:#0b1224;--game-ink:#f4f1e6;--bg:var(--game-bg);--ink:var(--game-ink);--card:#141d36;--card-border:#f4f1e624;--line:var(--card-border);--accent:#ffd23f;--accent-ink:#1b1402;--error:#ff7a7d;--p1:#ff5a5f;--p1-dark:#c43b40;--p2:#ffce3a;--p2-dark:#c79a1f;--plate:#2a55d8;--plate-dark:#1c3da6;--plate-edge:#142c7a}.board-connect_four .c4Frame{--ar:calc(7 / 6)}.board-tic_tac_toe{--game-bg:#161a1d;--game-ink:#f3f1ea;--bg:var(--game-bg);--ink:var(--game-ink);--card:#1d2226;--card-border:#f3f1ea24;--line:var(--card-border);--accent:#7bdff2;--accent-ink:#06222a;--error:#ff7a7d;--p1:#ff6b6b;--p1-dark:#c64a4a;--p2:#7bdff2;--p2-dark:#3fa6bd}.board-tic_tac_toe .tttFrame{--ar:1;background:linear-gradient(#20262b,#161a1d)}.board-tic_tac_toe .tttCell{background:linear-gradient(#11161a,#0b0f12)}.board-reversi{--game-bg:#0c2c22;--game-ink:#f3efe3;--bg:var(--game-bg);--ink:var(--game-ink);--card:#123a2c;--card-border:#f3efe324;--line:var(--card-border);--accent:#e6c473;--accent-ink:#241a05;--error:#ff8a8d}.board-reversi .reversiFrame{--ar:1}.board-mancala{--game-bg:#241710;--game-ink:#f3e6d2;--bg:var(--game-bg);--ink:var(--game-ink);--card:#2f1f14;--card-border:#f3e6d224;--line:var(--card-border);--accent:#d9a441;--accent-ink:#241402;--error:#ff8a8d}.board-mancala .mancalaBoard{--ar:1.85}.board-dots_and_boxes{--game-bg:#fbf8ee;--game-ink:#1d2a3a;--bg:var(--game-bg);--ink:var(--game-ink);--card:#fff;--card-border:#d9d2c2;--line:#c9d4e2;--accent:#ff5470;--accent-ink:#fff;--error:#c0392b;--p1:#ff5470;--p1-dark:#d23a55;--p2:#2f7fe0;--p2-dark:#225fb0}.board-dots_and_boxes .dotsFrame{--ar:1;border-color:var(--card-border);background:#fff}.board-ghost{--game-bg:#100e1c;--game-ink:#ece8f6;--bg:var(--game-bg);--ink:var(--game-ink);--card:#1a1730;--card-border:#ece8f629;--line:#ece8f629;--accent:#b69bff;--accent-ink:#14102a;--error:#ff7a9c;--p1:#ff7a9c;--p1-dark:#d2557a;--p2:#7ad7ff;--p2-dark:#3f9ec9}.board-scattergories{--game-bg:#fbf6ea;--game-ink:#22262e;--bg:var(--game-bg);--ink:var(--game-ink);--card:#fff;--card-border:#e6ddc9;--line:#e6ddc9;--accent:#ff7a30;--accent-ink:#2a1402;--error:#c0392b}.chipDetail{color:var(--muted);font-size:.85em}.throwResult{text-align:center;color:var(--muted);margin:-6px 0 0;font-size:.92rem}.throwResult.hit{color:var(--accent);font-weight:600}.tttFrame{background:linear-gradient(180deg, var(--plate-dark), var(--plate-edge));border-radius:22px;padding:12px;transition:box-shadow .3s;box-shadow:0 18px 36px #0a143c59,inset 0 2px #ffffff14}.tttFrame.yourTurn{box-shadow:0 18px 36px #0a143c59, 0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}.tttBoard{aspect-ratio:1;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tttCell{aspect-ratio:1;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#101a3c,#0b1228);border:0;border-radius:14px;justify-content:center;align-items:center;font-size:clamp(2.4rem,16vw,5rem);font-weight:700;line-height:1;transition:transform .12s,opacity .4s,box-shadow .2s;display:flex}.tttCell:active:not(:disabled){transform:scale(.97)}.tttCell:disabled{cursor:default}.tttCell.seat1{color:var(--p1)}.tttCell.seat2{color:var(--p2)}.tttCell.last{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent) inset}.tttCell.dimmed{opacity:.4}.tttCell.winning{animation:.9s ease-in-out infinite winPulse}.dotsFrame{background:var(--card);border:1px solid var(--card-border);border-radius:18px;padding:8px}.dotsBoard{touch-action:manipulation;width:100%;height:auto;display:block}.dotsDot{fill:var(--ink)}.dotsEdge{stroke-width:9px;stroke-linecap:round;pointer-events:none}.dotsEdge.open{stroke:var(--card-border);stroke-dasharray:2 14}.dotsEdge.drawn{stroke:var(--ink)}.dotsEdge.drawn.last{stroke:var(--accent)}.dotsHit{stroke:#0000;stroke-width:34px;stroke-linecap:round;cursor:pointer}.dotsBox{opacity:.85}.seat1Fill{fill:color-mix(in srgb, var(--p1) 40%, transparent)}.seat2Fill{fill:color-mix(in srgb, var(--p2) 45%, transparent)}.dotsBox.stamped{opacity:1;stroke-width:5px}.dotsBox.seat1Fill.stamped{stroke:var(--p1-dark)}.dotsBox.seat2Fill.stamped{stroke:var(--p2-dark)}.dotsBoxLabel{fill:var(--ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:34px;font-weight:700}.board-midword{--game-bg:#0a0a0a;--game-ink:#f0f0f0;--bg:var(--game-bg);--ink:var(--game-ink);--card:#141414;--card-border:#2a2a2a;--line:#2a2a2a;--accent:#f0f0f0;--accent-ink:#0a0a0a;--midword-bg:#0a0a0a;--midword-panel:#141414;--midword-cell:#0d0d0d;--midword-line:#2a2a2a;--midword-text:#f0f0f0;--midword-muted:#666;--midword-soft:silver;--midword-accent:#f0f0f0;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--error:#ff6b6b;--muted:var(--midword-muted)}.midwordShell{flex-direction:column;flex:1 0 auto;gap:10px;display:flex}.midwordPanel{background:var(--midword-panel);border:1px solid var(--midword-line);border-radius:20px;flex-direction:column;flex:1 0 auto;display:flex}.midwordHeaders,.midwordRound{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);display:grid}.midwordHeaders{z-index:1;background:var(--midword-panel);border-bottom:1px solid var(--midword-line);position:sticky;top:0}.midwordHeader{letter-spacing:.01em;min-width:0;color:var(--midword-text);transition:opacity .22s var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:13px 10px;font-size:.82rem;font-weight:600;display:flex}.midwordHeader+.midwordHeader{border-left:1px solid var(--midword-line)}.midwordRoundHead{border-left:1px solid var(--midword-line);border-right:1px solid var(--midword-line)}.midwordHeader.backgrounded{opacity:.42}.midwordHeader span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.midwordHeader .chipDisc.seat1{background:#f2f2f2}.midwordHeader .chipDisc.seat2{background:#8a8a8a}.midwordHistory{flex:1 0 auto;padding:10px}.midwordEmpty{min-height:180px;color:var(--midword-muted);text-align:center;letter-spacing:.01em;animation:midwordFadeIn .4s var(--ease-out) both;justify-content:center;align-items:center;font-size:.88rem;display:flex}.midwordRound{animation:midwordRoundIn .35s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 5) * 40ms);gap:6px;margin-bottom:6px}@keyframes midwordRoundIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes midwordFadeIn{0%{opacity:0}to{opacity:1}}.midwordWord{text-align:center;overflow-wrap:anywhere;min-width:0;min-height:50px;color:var(--midword-text);background:var(--midword-cell);border:1px solid var(--midword-line);letter-spacing:-.01em;transition:background .2s var(--ease-out), border-color .2s var(--ease-out), color .2s var(--ease-out);border-radius:14px;justify-content:center;align-items:center;padding:10px;font-size:1rem;font-weight:600;display:flex}.midwordRound.pending .midwordWord{color:var(--midword-muted);font-weight:500}.midwordRound.matched .midwordWord{color:#fff;background:#1e1e1e;border-color:#f0f0f080}.midwordRoundNumber{min-height:50px;color:var(--midword-muted);letter-spacing:.02em;justify-content:center;align-items:center;font-size:.68rem;font-weight:500;display:flex}.midwordRound.matched .midwordRoundNumber{color:var(--midword-soft)}.midwordLockedWord{min-width:0;color:var(--midword-soft);animation:midwordRoundIn .3s var(--ease-spring) both;justify-content:center;align-items:center;gap:6px;display:inline-flex}.midwordLockedWord>span:first-child{overflow-wrap:anywhere;min-width:0}.midwordLock{color:currentColor;animation:lockIn .25s var(--ease-spring) 50ms both;flex:none}@keyframes lockIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.midwordInputForm{z-index:2;padding:10px 0 max(10px, env(safe-area-inset-bottom));background:var(--bg);flex:none;grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid;position:sticky;bottom:0}.board-midword .gameScrollInner{padding-bottom:0}.midwordInputForm input{appearance:none;width:100%;min-width:0;color:var(--midword-text);background:var(--midword-panel);border:1px solid var(--midword-line);transition:border-color .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:999px;padding:14px 18px;font-family:inherit;line-height:1.25;font-size:16px!important}.midwordInputForm input::placeholder{color:var(--midword-muted);font-size:16px}.midwordInputForm input:focus{border-color:#f0f0f073;outline:0;box-shadow:0 0 0 3px #f0f0f012}.midwordSubmit{color:#000;cursor:pointer;width:50px;min-width:50px;height:50px;transition:transform .18s var(--ease-spring), opacity .15s var(--ease-out), background .15s var(--ease-out);background:#f0f0f0;border:0;border-radius:50%;justify-content:center;align-items:center;display:flex}@media (hover:hover){.midwordSubmit:hover:not(:disabled){background:#fff;transform:scale(1.07)}}.midwordSubmit:active:not(:disabled){transition-duration:80ms;transform:scale(.93)}.midwordSubmit:disabled{opacity:.28;cursor:default}.midwordSubmit span{font-size:1.6rem;line-height:1;display:block;transform:translateY(-2px)}:root[data-keyboard=open] .midwordShell{gap:8px}:root[data-keyboard=open] .midwordPanel{border-radius:16px}:root[data-keyboard=open] .midwordHeader{padding-top:10px;padding-bottom:10px}:root[data-keyboard=open] .midwordHistory{padding:8px}.midwordEnd{text-align:center;color:var(--midword-text);background:var(--midword-panel);border-color:var(--midword-line);animation:endCardIn .45s var(--ease-out) both;flex-direction:column;gap:12px;display:flex}@keyframes endCardIn{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.midwordEnd h3,.midwordEnd p{margin:0}@media (prefers-reduced-motion:reduce){.midwordRound,.midwordEmpty,.midwordLockedWord,.midwordLock,.midwordEnd{animation:none}.midwordSubmit,.midwordInputForm input,.midwordWord,.midwordHeader{transition:none}}.confetti{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}.confetti span{animation-name:confettiFall;animation-timing-function:ease-in;animation-fill-mode:forwards;position:absolute;top:-4vh}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)}85%{opacity:1}to{transform:translateY(110vh) rotate(var(--spin,360deg));opacity:0}}.board-mini_golf{--game-bg:#1a6370;--game-ink:#fff;--bg:var(--game-bg);--ink:var(--game-ink)}.board-mini_golf .gameFullscreen{padding:0}.golfScreen{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.golfScreen canvas{touch-action:none}.golfHudLayer{z-index:3;pointer-events:none;position:absolute;inset:0}.golfHud{padding:max(12px, env(safe-area-inset-top)) 16px 10px;pointer-events:none;z-index:10;background:linear-gradient(#0a140fb8 0%,#0000 100%);justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.golfHoleName{color:#ffffffeb;letter-spacing:.01em;font-size:.88rem;font-weight:600}.golfStrokeCount{color:#fff;background:#00000061;border-radius:999px;padding:4px 12px;font-size:.95rem;font-weight:700}.golfHudBottom{padding:12px 16px max(20px, env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#0000 0%,#0a140fa6 100%);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:0;left:0;right:0}.golfHint{color:#ffffffd1;background:#0000005c;border-radius:999px;padding:5px 14px;font-size:.82rem}.golfHudActions{pointer-events:auto;align-items:center;gap:8px;display:flex}.golfBtn{font:inherit;color:#ffffffe6;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000006b;border:1px solid #ffffff2e;border-radius:999px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:background .15s}.golfBtn:active{background:#0009}.golfIconBtn{color:#ffffffe6;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000006b;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,border-color .15s;display:inline-flex}.golfIconBtn.active{background:#ffcc0038;border-color:#ffdd00ad}.golfIconBtn:active{background:#0009}.golfIconBtn svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.golfTuningPanel{overscroll-behavior:contain;pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);touch-action:auto;-webkit-overflow-scrolling:touch;background:#09120fdb;border:1px solid #ffffff29;border-radius:14px;width:min(430px,100vw - 24px);max-height:min(48vh,390px);padding:12px;overflow-y:auto;box-shadow:0 14px 34px #00000052}.golfTuningHead{letter-spacing:.01em;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:.82rem;font-weight:700;display:flex}.golfTuningReset{font:inherit;color:#ffffffdb;cursor:pointer;background:#ffffff17;border:1px solid #ffffff24;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:700}.golfTuningGrid{gap:9px;display:grid}.golfTuningRow{grid-template-columns:96px minmax(110px,1fr) 44px;align-items:center;gap:9px;min-height:26px;display:grid}.golfTuningLabel{color:#ffffffc7;min-width:0;font-size:.74rem;line-height:1.1}.golfTuningSlider{cursor:pointer;touch-action:pan-x;width:100%;min-width:0;height:28px;margin:-6px 0;position:relative}.golfTuningSlider:focus-visible{outline-offset:2px;outline:2px solid #ffdd00d1}.golfTuningSliderTrack{background:#ffffff2e;border:1px solid #ffffff52;border-radius:999px;height:7px;position:absolute;top:50%;left:0;right:0;overflow:hidden;transform:translateY(-50%)}.golfTuningSliderFill{background:#fd0;height:100%;display:block}.golfTuningSliderThumb{background:#fd0;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #00000038}.golfTuningValue{color:#fff;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;line-height:1}@media (width<=420px){.golfTuningPanel{max-height:min(54vh,430px);padding:10px}.golfTuningRow{grid-template-columns:88px minmax(96px,1fr) 42px;gap:7px}}.golfSunkOverlay{flex-direction:column;align-items:center;gap:6px;animation:.4s cubic-bezier(.34,1.56,.64,1) both golfSunkIn;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.golfSunkMsg{color:#fff;text-shadow:0 2px 12px #0009;letter-spacing:-.02em;font-size:1.6rem;font-weight:800}.golfSunkStrokes{color:#fffc;background:#00000073;border-radius:999px;padding:4px 14px;font-size:.92rem}@keyframes golfSunkIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.golfLoading{color:#ffffffbf;background:#1a6370;justify-content:center;align-items:center;font-size:.95rem;display:flex;position:absolute;inset:0}.golfWaitScreen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:60vh;padding:24px 16px;display:flex}.golfWaitCard{background:var(--card);border:1px solid var(--card-border);border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:360px;padding:28px 24px;display:flex}.golfWaitEmoji{font-size:2.4rem}.golfWaitTitle{margin:0;font-size:1.4rem}.golfWaitStrokes{color:var(--accent);margin:0;font-size:1rem;font-weight:600}.golfWaitSub{color:var(--muted);margin:0;font-size:.9rem}.golfResultScreen{padding:24px 16px max(32px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;width:100%;display:flex}.golfResultCard{background:var(--card);border:1px solid var(--card-border);border-radius:20px;flex-direction:column;align-items:center;padding:24px 20px;display:flex}.ghostShell{flex-direction:column;gap:14px;display:flex}.ghostTracker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.ghostTrackerCard{border:1px solid var(--line,#d8d2c6);background:color-mix(in srgb, var(--ink) 4%, var(--bg));border-radius:16px;flex-direction:column;gap:10px;padding:12px;transition:opacity .22s,border-color .22s;display:flex}.ghostTrackerCard.seat1{border-color:color-mix(in srgb, var(--p1) 45%, var(--line,#d8d2c6))}.ghostTrackerCard.seat2{border-color:color-mix(in srgb, var(--p2) 45%, var(--line,#d8d2c6))}.ghostTrackerCard.backgrounded{opacity:.5}.ghostTrackerCard.winner{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 55%, transparent)}.ghostTrackerName{align-items:center;gap:8px;min-width:0;font-size:.9rem;font-weight:600;display:flex}.ghostTrackerName span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ghostSlots{gap:6px;display:flex}.ghostSlot{aspect-ratio:1;border:1px solid var(--line,#d8d2c6);color:var(--muted);background:var(--bg);border-radius:9px;flex:1 1 0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.ghostSlot.lit{color:#fff;background:linear-gradient(#e0454a,#b5363a);border-color:#0000}.ghostWordPanel{text-align:center;border:1px solid var(--line,#d8d2c6);background:color-mix(in srgb, var(--ink) 4%, var(--bg));border-radius:18px;padding:18px 14px}.ghostRoundLabel{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:.72rem}.ghostFragment{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:52px;display:flex}.ghostLetter{letter-spacing:.02em;font-size:2.4rem;font-weight:800;line-height:1}.ghostLetter.seat1{color:var(--p1)}.ghostLetter.seat2{color:var(--p2-dark)}.ghostFragmentEmpty{color:var(--muted);font-size:.95rem}.ghostWordPanel .turnBanner{margin:10px 0 0;font-size:1.05rem}.ghostInputForm{flex-direction:column;gap:10px;display:flex}.ghostInputForm input{font:inherit;border:1px solid var(--line,#d8d2c6);background:var(--bg);width:100%;color:var(--ink);text-align:center;border-radius:12px;padding:14px}.ghostInputForm input:focus-visible{outline:2px solid var(--accent)}.ghostChallenge,.ghostGiveUp{font:inherit;cursor:pointer;border-radius:12px;padding:13px;font-weight:600;transition:transform .12s,opacity .12s}.ghostChallenge{color:var(--ink);border:1px solid var(--ink);background:0 0}.ghostChallenge:active{transform:scale(.98)}.ghostGiveUp{color:var(--muted);background:0 0;border:0;padding:6px;text-decoration:underline}.ghostChallenge:disabled,.ghostGiveUp:disabled{opacity:.45;cursor:default}.ghostHistory{flex-direction:column;gap:6px;max-height:30vh;display:flex;overflow-y:auto}.ghostHistoryRow{background:color-mix(in srgb, var(--ink) 4%, var(--bg));border-radius:10px;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.ghostHistoryFragment{letter-spacing:.04em;flex:none;font-family:ui-monospace,SFMono-Regular,monospace;font-weight:700}.ghostHistoryText{color:var(--muted);min-width:0;font-size:.85rem}.ghostEnd{text-align:center}.gamePage{--audio-bar-h:calc(46px + env(safe-area-inset-bottom));--header-bar-h:calc(66px + env(safe-area-inset-top));top:var(--visual-viewport-top,0px);width:100%;max-width:var(--app-col);height:var(--visual-viewport-height,100dvh);padding-top:var(--header-bar-h);padding-bottom:var(--audio-bar-pad,var(--audio-bar-h));background:var(--bg);color:var(--ink);overscroll-behavior:none;flex-direction:column;margin:0 auto;display:flex;position:fixed;left:0;right:0;overflow:hidden}:root[data-keyboard=open] .gamePage{padding-bottom:0}.gamePage>.screen{flex:auto;min-height:0}.shell:has(.gamePage){background:var(--bg)}:is(html:has(.gamePage),body:has(.gamePage)){background:var(--bg);overscroll-behavior:none;height:100%;overflow:hidden}.audioBar{z-index:100;width:100%;max-width:var(--app-col);min-height:var(--audio-bar-h);box-sizing:border-box;padding:0 14px env(safe-area-inset-bottom);background:var(--bg);color:var(--ink);flex-direction:column-reverse;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}:root[data-keyboard=open] .audioBar{display:none}.audioBarTop{justify-content:space-between;align-items:center;gap:12px;min-height:46px;display:flex}.audioBarLeft{min-width:0;color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.audioBarLabel{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audioBarHint{color:var(--error);font-size:12px;font-weight:500}.audioBarWeak{color:#b9842b;white-space:nowrap;flex:none;align-items:center;gap:3px;font-size:12px;font-weight:500;display:inline-flex}.audioBarDot{background:var(--ink-3);border-radius:50%;flex:none;width:9px;height:9px}.audioBarDot.green{background:#2fae5a;box-shadow:0 0 0 3px #2fae5a33}.audioBarDot.amber{background:#e6b84f;box-shadow:0 0 0 3px #e6b84f2e}.audioBarDot.red{background:#e0454a;box-shadow:0 0 0 3px #e0454a2e}.audioBarRight{flex:none;align-items:center;gap:6px;display:flex}.audioBarBtn{width:40px;height:40px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.audioBarBtn:active{background:color-mix(in srgb, var(--ink) 10%, transparent)}.audioBarBtn.muted{color:var(--error)}.audioBarBtn:disabled{opacity:.4;cursor:default}.audioBarBtn[aria-busy=true]:disabled{opacity:1;cursor:progress}.audioBarSpin{transform-origin:50%;animation:.8s linear infinite audioBarSpin}@keyframes audioBarSpin{to{transform:rotate(360deg)}}.audioBarChevron :is(svg){transition:transform .28s;transform:rotate(180deg)}.audioBar.expanded .audioBarChevron :is(svg){transform:rotate(0)}.audioBarPanel{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.audioBar.expanded .audioBarPanel{grid-template-rows:1fr}.audioBarPanelInner{opacity:0;min-height:0;transition:opacity .18s;overflow:hidden}.audioBar.expanded .audioBarPanelInner{opacity:1;transition:opacity .25s 60ms}.audioBarPanelBody{padding:14px 0 12px}.audioBarPeople{flex-direction:column;gap:10px;margin:0 0 16px;padding:0;list-style:none;display:flex}.audioBarPerson{color:var(--ink);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.audioBarPerson :is(svg){color:color-mix(in srgb, var(--ink) 55%, transparent);flex:none}.audioBarPersonName{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audioBarPersonTag{letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 50%, transparent);margin-left:auto;font-size:11px;font-weight:600}.audioBarPersonEmpty{color:color-mix(in srgb, var(--ink) 50%, transparent);font-weight:500}.audioBarControls{justify-content:center;gap:40px;display:flex}.audioBarControl{flex-direction:column;align-items:center;gap:8px;display:flex}.audioBarControlBtn{background:color-mix(in srgb, var(--ink) 8%, transparent);width:62px;height:62px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex}.audioBarControlBtn:active{background:color-mix(in srgb, var(--ink) 18%, transparent)}.audioBarControlBtn.muted{color:var(--error)}.audioBarControlBtn:disabled{opacity:.4;cursor:default}.audioBarControlBtn[aria-busy=true]:disabled{opacity:1;cursor:progress}.audioBarControlLabel{color:color-mix(in srgb, var(--ink) 75%, transparent);font-size:12px;font-weight:500}.reversiFrame{background:linear-gradient(#1f7a46,#155c34);border-radius:18px;padding:10px;transition:box-shadow .3s;box-shadow:0 14px 30px #08281666,inset 0 2px #ffffff14}.reversiFrame.yourTurn{box-shadow:0 14px 30px #08281666, 0 0 0 3px color-mix(in srgb, var(--accent) 60%, transparent)}.reversiBoard{aspect-ratio:1;grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.reversiCell{aspect-ratio:1;cursor:default;-webkit-tap-highlight-color:transparent;background:#18854c;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.reversiCell.playable{cursor:pointer}.reversiCell.last{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 70%, transparent) inset}.reversiDisc{border-radius:50%;width:78%;height:78%;transition:transform .18s}.reversiDisc.seat1{background:radial-gradient(circle at 35% 30%,#555,#111 70%);box-shadow:0 1px 3px #00000080}.reversiDisc.seat2{background:radial-gradient(circle at 35% 30%,#fff,#d4d0c8 75%);box-shadow:0 1px 3px #0000004d}.reversiHint{background:color-mix(in srgb, var(--accent) 55%, transparent);border-radius:50%;width:26%;height:26%;position:absolute}.scatShell{gap:12px}.scatPanel{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:16px}.scatRoundHead{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.scatRoundLabel{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem}.scatLetter{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:12px;justify-content:center;align-items:center;font-size:1.6rem;font-weight:800;display:flex}.scatForm{flex-direction:column;gap:12px;display:flex}.scatField{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.scatCategory{color:var(--muted)}.scatField input{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--card-border);border-radius:10px;padding:11px}.scatField input:focus{outline:2px solid var(--accent);border-color:#0000}.scatField input.scatMismatch{border-color:var(--error)}.scatWaiting{text-align:center;padding:18px 0}.weekendProgress{margin:0 0 10px;font-size:.85rem}.weekendForm{flex-direction:column;gap:12px;display:flex}.weekendField{flex-direction:column;gap:8px;display:flex}.weekendQuestion{color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.35}.weekendField textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--card-border);box-sizing:border-box;resize:vertical;border-radius:10px;width:100%;min-height:72px;padding:11px}.weekendField textarea:focus{outline:2px solid var(--accent);border-color:#0000}.weekendPhotoGrid{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.weekendThumb{width:84px;height:84px;position:relative}.weekendThumb img{object-fit:cover;border:1px solid var(--card-border);border-radius:8px;width:100%;height:100%}.weekendThumbRemove{color:#fff;cursor:pointer;background:#1a1714;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex;position:absolute;top:-6px;right:-6px}.weekendAddPhoto{border:1px dashed var(--card-border);color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin:4px 0 12px;padding:9px 14px;display:inline-flex}.weekendIssue{flex-direction:column;gap:14px;display:flex}.weekendIssueHead{text-align:center}.weekendKicker{letter-spacing:.02em;font-weight:700;display:inline-block}.weekendIssueHead p{margin:4px 0 0}.weekendPaper{border:1px solid var(--card-border);background:#fff;border-radius:1px;width:100%;min-height:320px;display:block;box-shadow:0 2px 10px #00000014,0 12px 30px #0000001f}.weekendRaw{text-align:left}.weekendRaw summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:.9rem}.weekendTranscript{padding:10px 2px}.weekendTranscript h4{margin:0 0 8px}.weekendQaLine{margin-bottom:10px}.weekendQ{margin:0 0 2px;font-size:.85rem}.weekendA{overflow-wrap:anywhere;margin:0}.scatHistory{flex-direction:column;gap:10px;display:flex}.scatScored{padding:12px 14px}.scatScoredHead{justify-content:space-between;margin-bottom:8px;display:flex}.scatTable{border-collapse:collapse;width:100%;font-size:.86rem}.scatTable td{border-top:1px solid var(--card-border);vertical-align:top;padding:4px 2px}.scatTableCat{color:var(--muted);width:40%}.scatTableAns{width:30%;color:var(--muted)}.scatTableAns.scored{color:var(--ink);font-weight:600}.scatTableAns.struck{color:var(--error);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--error) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--error) 70%, transparent)}.scatTableAns.matched{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 60%, transparent)}.scatTableAns.empty{color:var(--muted);opacity:.6}.scatNextGate{text-align:center;flex-direction:column;gap:12px;display:flex}.golfResultEmoji{font-size:2.2rem}.golfResultTitle{margin:0;font-size:1.5rem;font-weight:800}.golfScores{flex-direction:column;gap:8px;width:100%;display:flex}.golfScoreRow{background:var(--bg);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.golfScoreRow.mine .golfScoreWho:before{content:"";background:var(--p1);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.golfScoreRow.opp .golfScoreWho:before{content:"";background:var(--p2);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.golfScoreWho{text-align:left;flex:1;font-size:.92rem;font-weight:600}.golfScoreNum{font-size:1.3rem;font-weight:800;line-height:1}.golfScoreLabel{color:var(--muted);text-align:right;min-width:80px;font-size:.8rem}.golfGhostNote{color:var(--muted);margin:0;font-size:.8rem}.golfReplayCanvas{background:#1a6370;border-radius:16px;width:100%;height:220px;overflow:hidden}.scatEnd{text-align:center;flex-direction:column;gap:12px;display:flex}.mancalaBoard{background:linear-gradient(#6b4a2b,#4f3620);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:stretch;gap:8px;padding:10px;display:grid;box-shadow:0 14px 30px #140c0466,inset 0 2px #ffffff14}.mancalaRows{grid-template-rows:1fr 1fr;gap:8px;min-width:0;display:grid}.mancalaRow{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.mancalaPit{aspect-ratio:1;color:#f3e9da;cursor:default;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 38% 32%,#3a2817,#241608 75%);border:0;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(1rem,5vw,1.5rem);font-weight:700;display:flex;box-shadow:inset 0 2px 4px #00000073}.mancalaPit.playable{cursor:pointer;box-shadow:0 2px 4px #0006 inset, 0 0 0 2px color-mix(in srgb, var(--accent) 60%, transparent);background:radial-gradient(circle at 38% 32%,#5a7d3f,#2f4a22 75%)}.mancalaPit.playable:active{transform:scale(.96)}.mancalaPit.last{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:1px}.mancalaPit.captured{background:radial-gradient(circle at 38% 32%,#8a4a4a,#4a2020 75%)}.mancalaStore{color:#f3e9da;background:radial-gradient(circle at 50% 30%,#3a2817,#1c1006 80%);border-radius:26px;justify-content:center;align-items:center;min-width:52px;font-size:clamp(1.3rem,7vw,2rem);font-weight:800;display:flex;box-shadow:inset 0 2px 6px #00000080}.mancalaStore.winner{box-shadow:0 2px 6px #00000080 inset, 0 0 0 3px color-mix(in srgb, var(--accent) 60%, transparent)}.scatBlurb{color:var(--ink);margin:0 0 8px;font-size:.86rem;line-height:1.4}.scatUnjudged{color:var(--error);background:color-mix(in srgb, var(--error) 12%, transparent);border-radius:10px;margin:0 0 8px;padding:8px 10px;font-size:.82rem;line-height:1.4}.scatJudgeTag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-right:4px;font-size:.7rem;font-weight:700;display:inline-block}.scatQuipRow td{color:var(--muted);border-top:none;padding:2px 2px 8px;font-size:.8rem;font-style:italic}.scatExamplesRow td{color:var(--muted);border-top:none;padding:0 2px 8px;font-size:.78rem}.scatExamplesLabel{color:var(--accent);font-weight:600}.scatDeliberating{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.scatDeliberatingTitle{color:var(--ink);margin:0;font-size:1.05rem;font-weight:700}.scatGavel{font-size:2.4rem;line-height:1}.scatGavelSpin{transform-origin:70% 70%;animation:1s ease-in-out infinite scatGavelTap}@keyframes scatGavelTap{0%,to{transform:rotate(-12deg)}50%{transform:rotate(8deg)}}.scatVerdictCard{border:1px solid var(--accent)}.scatVerdictReason{color:var(--ink);margin:0;font-size:.95rem;line-height:1.45}@media (prefers-reduced-motion:reduce){.scatGavelSpin{animation:none}}.board-eight_ball{--game-bg:#15110c;--game-ink:#f2ede2;--bg:var(--game-bg);--ink:var(--game-ink);--card:#221a12;--card-border:#f2ede224;--line:var(--card-border);--accent:#e8c87a;--accent-ink:#241a05;--error:#ff8a8d;--felt:#1f7a4d;--rail:#5a3a22;--rail-edge:#3a2415;--pocket:#0b0b0c;--cue-ball:#f6f2e7;--aim-guide:#ffffffb8;--power-lo:#ffce3a;--power-hi:#ff5a5f}.poolCanvasBox{border-radius:16px;width:100%;min-height:0;transition:box-shadow .2s;position:relative}.poolCanvasBox.yourTurn{box-shadow:0 0 0 2px var(--accent)}.poolCanvas{touch-action:none;width:100%;height:100%;display:block}.board-uno{--z-red:#d9342b;--z-yellow:#f4c20d;--z-green:#2e9b3f;--z-blue:#1372c4;--z-felt:#3b241d;--z-felt-edge:#56392f;--zback-h:max(40px, min(15cqh, 18cqw));--zback-w:calc(var(--zback-h) * .66);--zcard-h:max(62px, min(24cqh, 30cqw))}.unoBoard{align-items:stretch;position:relative;container-type:size}.zTable{background:radial-gradient(circle at 50% 45%, var(--z-felt-edge), var(--z-felt) 72%);color:#fff;border-radius:22px;flex-direction:column;min-height:0;padding:8px;display:flex;position:relative;overflow:hidden}.zRow{justify-content:center;align-items:center;width:100%;display:flex}.zRowTop{min-height:var(--zback-h);flex:none}.zRowMid{flex:auto;justify-content:space-between;gap:6px;min-height:0}.zRowBottom{flex:none}.zSide{min-width:calc(var(--zback-w) + 8px);flex:none;justify-content:center;display:flex}.zDirArrow{color:#ffffff47;font-size:1.25rem;line-height:1;position:absolute}.zDirArrow.at-tl{top:6%;left:6%}.zDirArrow.at-tr{top:6%;right:6%}.zDirArrow.at-br{bottom:6%;right:6%}.zDirArrow.at-bl{bottom:6%;left:6%}.zTable.dir-cw .zDirArrow.at-tl{transform:rotate(0)}.zTable.dir-cw .zDirArrow.at-tr{transform:rotate(90deg)}.zTable.dir-cw .zDirArrow.at-br{transform:rotate(180deg)}.zTable.dir-cw .zDirArrow.at-bl{transform:rotate(270deg)}.zTable.dir-ccw .zDirArrow.at-tl{transform:rotate(90deg)}.zTable.dir-ccw .zDirArrow.at-tr{transform:rotate(180deg)}.zTable.dir-ccw .zDirArrow.at-br{transform:rotate(270deg)}.zTable.dir-ccw .zDirArrow.at-bl{transform:rotate(0)}.zSeat{flex-direction:column;align-items:center;gap:4px;max-width:100%;display:flex}.zSeatName{border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:.95rem;font-weight:700;display:inline-flex}.zSeat.you .zSeatName{letter-spacing:.08em}.zSeat.active .zSeatName{background:#ffd76a42;animation:2s ease-in-out infinite zPulse}.zSeatUno{color:#ffd76a;text-transform:uppercase;font-size:.7rem;font-weight:800}.zSeatCount{font-variant-numeric:tabular-nums;background:#00000040;border-radius:999px;padding:0 7px;font-weight:800}.zBackCard{width:var(--zback-w);height:var(--zback-h);background:repeating-linear-gradient(45deg,#2a3247,#2a3247 5px,#3a455f 5px 10px);border:2px solid #fff9;border-radius:7px;flex:none;box-shadow:0 1px 3px #00000059}.zBackCard.custom{background-position:50%;background-repeat:no-repeat;background-size:cover}.zFan{display:flex}.zFan.h{flex-direction:row}.zFan.v{flex-direction:column}.zFan.h .zBackCard:not(:first-child){margin-left:calc(var(--zback-w) * -.55)}.zFan.v .zBackCard:not(:first-child){margin-top:calc(var(--zback-h) * -.66)}.zCenter{flex:auto;justify-content:center;align-items:center;gap:16px;display:flex}.zDrawPile{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.zDrawPile:disabled{cursor:default}.zPileStack{width:var(--zback-w);height:var(--zback-h);position:relative}.zPileStack .zBackCard{position:absolute;inset:0}.zPileStack .b2{transform:translate(3px,-3px)}.zPileStack .b3{transform:translate(6px,-6px)}.zDrawDot{z-index:2;background:#ffd76a;border-radius:50%;width:18px;height:18px;animation:1s ease-in-out infinite zDot;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffd76a59}@keyframes zDot{0%,to{opacity:1}50%{opacity:.3}}.zPileCount{color:#fff;font-size:.8rem;font-weight:800}.zDiscard{border-radius:14px;padding:4px;position:relative}.zDiscard.frame-red{box-shadow:0 0 0 3px var(--z-red)}.zDiscard.frame-yellow{box-shadow:0 0 0 3px var(--z-yellow)}.zDiscard.frame-green{box-shadow:0 0 0 3px var(--z-green)}.zDiscard.frame-blue{box-shadow:0 0 0 3px var(--z-blue)}.zCard{--cardH:var(--zcard-h);height:var(--cardH);width:calc(var(--cardH) * .66);border-radius:calc(var(--cardH) * .1);background:var(--cardColor,#888);border:3px solid #fff;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000004d}.zCard.small{--cardH:var(--zback-h)}.zCard.z-red{--cardColor:var(--z-red)}.zCard.z-yellow{--cardColor:var(--z-yellow)}.zCard.z-green{--cardColor:var(--z-green)}.zCard.z-blue{--cardColor:var(--z-blue)}.zCard.z-wild{--cardColor:#2a2a2a;background:conic-gradient(var(--z-red), var(--z-yellow), var(--z-green), var(--z-blue), var(--z-red))}.zCardPip{background:#fff;border-radius:26%;justify-content:center;align-items:center;width:62%;height:62%;display:flex}.zCardPipText{font-weight:800;font-size:calc(var(--cardH) * .34);color:color-mix(in srgb, var(--cardColor) 78%, #000);line-height:1}.zCard.z-wild .zCardPipText{color:#2a2a2a}.zCardIndex{font-weight:800;font-size:calc(var(--cardH) * .13);color:#fff;text-shadow:0 1px 1px #00000059;position:absolute}.zCardIndex.tl{top:3px;left:5px}.zCardIndex.br{bottom:3px;right:5px;transform:rotate(180deg)}.zWildMark{background:conic-gradient(var(--z-red), var(--z-yellow), var(--z-green), var(--z-blue), var(--z-red));border:1px solid #ffffffd9;border-radius:50%;width:13px;height:13px;position:absolute;top:4px;right:5px}.zHandWrap{flex:none;padding:20px 10px 2px;overflow:visible}.zHand{justify-content:center;width:100%;display:flex}.zHand .handCard{cursor:default;transition:transform .12s;position:relative}.zHand .handCard.playable{cursor:pointer;z-index:2;transform:translateY(-16px);box-shadow:0 7px 13px #0006}.zHand .handCard.playable:focus-visible{outline:2px solid #ffd76a}.zHand .handCard.dim{filter:saturate(.5)brightness(.9)}.zHand .handCard.drawn{z-index:3;box-shadow:0 0 0 3px #ffd76a,0 3px 9px #0000004d}.zControls,.zTurnHint{text-align:center}.zChoiceRow{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.zChoiceRow .secondary{background:var(--card);color:var(--ink);border:1px solid var(--card-border);border-radius:10px;padding:10px 16px;font-weight:600}.zColorPicker{text-align:center;border-top:1px solid var(--card-border);padding-top:8px}.zSwatch{color:#fff;border:2px solid #ffffffb3;border-radius:10px;min-width:64px;min-height:44px;font-weight:700}.zSwatch.swatch-red{background:var(--z-red)}.zSwatch.swatch-yellow{background:var(--z-yellow);color:#15212b}.zSwatch.swatch-green{background:var(--z-green)}.zSwatch.swatch-blue{background:var(--z-blue)}.linkBtn{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:6px;text-decoration:underline}.lobbyRoster{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.lobbyPlayer{justify-content:center;align-items:center;gap:8px;display:flex}.lobbyStart{margin-top:10px}@keyframes zPlayIn{0%{opacity:0;transform:scale(.45)translateY(-26px)}to{opacity:1;transform:none}}.zPlayAnim{animation:.28s ease-out zPlayIn}@keyframes zPulse{0%,to{opacity:1}50%{opacity:.5}}.zFlyLayer{pointer-events:none;z-index:40;perspective:900px;position:absolute;inset:0;overflow:visible}.zFlyCard{transform-style:preserve-3d;will-change:transform;position:absolute}.zFlyFace{backface-visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.zFlyFace.zFlyEnd{transform:rotateY(180deg)}.zFlyFace .zCard,.zFlyBack{width:100%;height:100%}@media (prefers-reduced-motion:reduce){.zPlayAnim,.zSeat.active .zSeatName,.zDrawDot{animation:none}.zHand .handCard{transition:none}.zFlyLayer{display:none}}.board-tanks{color:#e9eef5;--ink:#e9eef5;--muted:#9aa8bd;--card:#1b2230;--card-border:#33405a;--accent:#5b8bff;--accent-ink:#0b1020;--bg:#0f1420;--sky-top:#9fc6ef;--sky-bottom:#dce8f3;--terrain:#7d6a4f;--terrain-cap:#6f9a52;--barrel:#10151f;--shell:#ffd23f;--trajectory:#14181c99;--wind-vane:#10151f;--tank-p1:#e0454a;--tank-p2:#f2b134;--gas-fill:#5b8bff;--power-fill:#f2b134;--wire:#c7d0db;background:#0f1420;border-radius:14px}.tanksCanvasBox{border-radius:16px;width:100%;min-height:0;transition:box-shadow .2s;position:relative;overflow:hidden}.tanksCanvasBox.yourTurn{box-shadow:0 0 0 2px var(--accent)}.tanksCanvas{touch-action:none;width:100%;height:100%;display:block}.tanksControls{flex-direction:column;gap:11px;padding:4px 2px 2px;transition:opacity .15s;display:flex}.tanksControls.locked{opacity:.5}.tanksAdjust{align-items:center;gap:8px;display:flex}.tanksAdjustLabel{width:50px;color:var(--muted);flex:none;font-size:.82rem}.tanksAdjustVal{text-align:right;font-variant-numeric:tabular-nums;width:46px;color:var(--ink);flex:none;font-size:.9rem;font-weight:600}.tanksStep{border:1px solid var(--card-border);background:var(--card);width:42px;height:42px;color:var(--ink);border-radius:10px;flex:none;font-size:.85rem}.tanksStep:disabled{opacity:.4}.tanksSlider{flex:auto;min-width:0;height:30px}.tanksSlider.angle{accent-color:var(--accent)}.tanksSlider.power{accent-color:#ef4444}.tanksSwatch{vertical-align:baseline;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.tanksDriveRow,.tanksAimRow{align-items:center;gap:10px;display:flex}.tanksAimRow{justify-content:space-between}.tanksDriveBtn{border:1px solid var(--card-border);background:var(--card);min-width:52px;min-height:44px;color:var(--ink);border-radius:12px;flex:none;font-size:1.1rem}.tanksDriveBtn:disabled{opacity:.4}.tanksGas{color:var(--muted);flex:auto;align-items:center;gap:8px;font-size:.82rem;display:flex}.tanksMeter{background:var(--card-border);border-radius:6px;flex:auto;height:10px;display:block;position:relative;overflow:hidden}.tanksMeter.wide{width:100%}.tanksMeterFill{border-radius:6px;height:100%;position:absolute;inset:0 auto 0 0}.tanksMeterFill.gas{background:var(--gas-fill)}.tanksMeterFill.power{background:var(--power-fill)}.tanksNudge{color:var(--ink);align-items:center;gap:6px;font-size:.85rem;display:flex}.tanksNudge button{border:1px solid var(--card-border);background:var(--card);min-width:40px;min-height:40px;color:var(--ink);border-radius:10px;font-size:1.1rem}.tanksFire{min-height:48px}.tanksWeapons{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:8px;padding-bottom:4px;display:flex;overflow:auto hidden}.tanksWeapon{border:1px solid var(--card-border);background:var(--card);min-width:112px;min-height:48px;color:var(--ink);white-space:nowrap;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:2px;padding:6px 12px;font-size:.82rem;line-height:1.15;display:flex}.tanksWeapon.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tanksWeapon:disabled{opacity:.38}.tanksWeaponCount{color:var(--muted);font-size:.72rem}.tanksDraftGrid{grid-template-columns:repeat(2,1fr);align-content:start;gap:6px;padding:2px 2px 8px;display:grid;overflow-y:auto}.tanksDraftCard{text-align:left;border:1px solid var(--card-border);background:var(--card);color:var(--ink);border-radius:12px;flex-direction:column;gap:1px;padding:7px 9px;line-height:1.2;display:flex}.tanksDraftCard:disabled{opacity:.5}.tanksDraftName{align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.tanksWeaponName{align-items:center;gap:6px;display:flex}.tanksDraftHave{color:var(--accent)}.tanksDraftBlurb{color:var(--muted);font-size:.72rem}.tanksDraftStats{color:var(--muted);font-size:.68rem}.tanksActionBtn{border:1px solid var(--accent);border-radius:12px;flex:1 1 0;min-height:48px;font-size:.95rem;font-weight:600}.tanksActionBtn.ghost{color:var(--accent);background:0 0}.tanksActionBtn.fill{background:var(--accent);color:var(--accent-ink)}.tanksActionBtn:disabled{opacity:.45}.tanksPowerSlider{width:100%;accent-color:var(--accent);height:28px}.tanksLoadout{flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;display:flex}.tanksChip{border:1px solid var(--accent);background:var(--card);color:var(--ink);border-radius:999px;min-height:32px;padding:6px 10px;font-size:.8rem}.tanksDraftActions{gap:8px;display:flex}.tanksDraftActions .primary,.tanksDraftActions .secondary{flex:auto;min-height:48px}.tanksLocked{justify-content:center;align-items:center;display:flex}.board-globe{--game-bg:#0c1019;--game-ink:#eef2f8;--bg:var(--game-bg);--ink:var(--game-ink);--card:#0c101ad1;--card-border:#eef2f829;--line:var(--card-border);--accent:#ff4438;--accent-ink:#fff;--error:#ff8a8d}.board-globe .gameFullscreen{padding:0}.globeScreen{background:var(--bg);touch-action:none;flex-direction:column;display:flex;position:absolute;inset:0}.globeCanvasWrap{flex:auto;min-height:0;position:relative}.globeCanvasWrap canvas{touch-action:none}.globeTop{z-index:2;padding:max(10px, env(safe-area-inset-top)) 14px 8px;color:var(--ink);pointer-events:none;background:linear-gradient(#05070da8,#0000);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:.82rem;font-weight:600;display:flex;position:absolute;top:0;left:0;right:0}.globePill{background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;transition:opacity .18s;display:inline-flex}.globePill.away{opacity:.35}.globePillName{white-space:nowrap}.globePillCount{color:var(--ink-2);font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.globeWaiting{text-align:center;padding:14px 16px max(14px, env(safe-area-inset-bottom));color:var(--ink-2);flex:none;font-size:.9rem}.globeToast{z-index:3;color:var(--ink);background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.86rem;font-weight:700;animation:.22s globeToastIn;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.globeToast.warmer{box-shadow:inset 0 0 0 1px #ff44388c}.globeToast.warmer svg{color:#ff5a4e}.globeToast.colder{box-shadow:inset 0 0 0 1px #6db3f28c}.globeToast.colder svg{color:#6db3f2}.globeToastMiles{color:var(--ink-2);font-weight:600}@keyframes globeToastIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.globeToast{animation:none}}.globeBottomRow{align-items:center;gap:10px;min-width:0;padding:0 0 8px;display:flex}.globeTools{flex:none;gap:10px;display:flex}.globeGuessStrip{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;align-items:center;gap:6px;min-width:0;margin:0;padding:2px;list-style:none;display:flex;overflow:auto hidden}.globeGuessStrip::-webkit-scrollbar{display:none}.globeGuessPill{background:var(--card);border:1px solid var(--card-border);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;flex:none;align-items:center;gap:4px;padding:5px 11px;font-size:.82rem;font-weight:700;animation:.26s cubic-bezier(.16,1,.3,1) globePillIn;display:inline-flex}@keyframes globePillIn{0%{opacity:0;transform:translateY(8px)scale(.85)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.globeGuessPill{animation:none}}.globeTool{border:1px solid var(--card-border);background:var(--card);width:40px;height:40px;color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.globeTool.active{border-color:var(--accent);color:var(--accent)}.globeTool:disabled{opacity:.5;cursor:default}.globeToolBadge{background:var(--accent);min-width:17px;height:17px;color:var(--accent-ink);text-align:center;border-radius:999px;padding:0 4px;font-size:.66rem;font-weight:800;line-height:17px;position:absolute;top:-3px;right:-3px}.globePanel{background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;max-height:46vh;margin:0;padding:10px 12px;position:absolute;bottom:calc(100% - 4px);left:12px;right:12px;overflow-y:auto;box-shadow:0 -8px 24px #00000073}.globePanelHead{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:8px;font-size:.74rem}.globePanelEmpty{color:var(--ink-2);margin:4px 0;font-size:.9rem}.globePanelList{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.globePanelRow{align-items:center;gap:9px;padding:7px 4px;display:flex}.globePanelDisc{border-radius:50%;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #0000004d}.globePanelName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.globePanelMiles{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.globeHintRow{border-bottom:1px solid var(--card-border);padding:8px 4px;font-size:.92rem}.globeHintRow:last-child{border-bottom:0}.globeInput{padding:8px 12px max(10px, env(safe-area-inset-bottom));flex:none;position:relative}.globeSuggest{background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% - 4px);left:12px;right:12px;box-shadow:0 -8px 24px #00000073}.globeSuggestItem{text-align:left;width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:11px 12px;display:block}.globeSuggestItem.active,.globeSuggestItem:hover{background:color-mix(in srgb, var(--ink) 12%, transparent)}.globeInputBar{background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;align-items:center;gap:8px;padding:4px 4px 4px 16px;display:flex}.globeField{min-width:0;height:44px;color:var(--ink);appearance:none;background:0 0;border:0;flex:auto;font-size:1rem}.globeField::placeholder{color:var(--ink-3)}.globeField:focus{outline:none}.globeField::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.globeField::-webkit-search-decoration{-webkit-appearance:none;display:none}.globeSend{background:var(--accent);width:44px;height:44px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.globeSend:disabled{opacity:.4;cursor:default}.globeEnd{margin:0 12px max(12px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.globeEndTitle{margin:0;font-size:1.15rem}.globeEndAnswer{color:var(--ink-2);margin:0}.globeEndScores{color:var(--ink-3);margin:0 0 4px;font-size:.9rem}@media (prefers-reduced-motion:reduce){.globeSuggest{-webkit-backdrop-filter:none;backdrop-filter:none}}::view-transition-old(root){mix-blend-mode:normal}::view-transition-new(root){mix-blend-mode:normal}:root{--vt-ease:cubic-bezier(.32, .72, 0, 1);--vt-dur:.44s;--vt-parallax:30%;--vt-dim:.72;--vt-shadow:0 0 26px 10px color-mix(in srgb, var(--bg) 70%, transparent)}@keyframes entryFade{0%{opacity:0}to{opacity:1}}.entryFade{animation:entryFade .3s var(--vt-ease) both}@media (prefers-reduced-motion:reduce){.entryFade{animation:none}}@keyframes vtSlideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes vtSlideOutToRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes vtParallaxOutLeft{0%{filter:brightness();transform:translate(0)}to{transform:translateX(calc(-1 * var(--vt-parallax)));filter:brightness(var(--vt-dim))}}@keyframes vtParallaxInLeft{0%{transform:translateX(calc(-1 * var(--vt-parallax)));filter:brightness(var(--vt-dim))}to{filter:brightness();transform:translate(0)}}@keyframes vtSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes vtSheetDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes vtSheetRecede{0%{filter:brightness();transform:scale(1)}to{filter:brightness(var(--vt-dim));transform:scale(.94)}}@keyframes vtSheetReturn{0%{filter:brightness(var(--vt-dim));transform:scale(.94)}to{filter:brightness();transform:scale(1)}}html[data-vt=push-forward]::view-transition-old(root){z-index:1;animation:vtParallaxOutLeft var(--vt-dur) var(--vt-ease) both}html[data-vt=push-forward]::view-transition-new(root){z-index:2;box-shadow:var(--vt-shadow);animation:vtSlideInFromRight var(--vt-dur) var(--vt-ease) both}html[data-vt=push-back]::view-transition-old(root){z-index:2;box-shadow:var(--vt-shadow);animation:vtSlideOutToRight var(--vt-dur) var(--vt-ease) both}html[data-vt=push-back]::view-transition-new(root){z-index:1;animation:vtParallaxInLeft var(--vt-dur) var(--vt-ease) both}html[data-vt=modal-in]::view-transition-old(root){z-index:1;animation:vtSheetRecede var(--vt-dur) var(--vt-ease) both}html[data-vt=modal-in]::view-transition-new(root){z-index:2;box-shadow:var(--vt-shadow);animation:vtSheetUp var(--vt-dur) var(--vt-ease) both}html[data-vt=modal-out]::view-transition-old(root){z-index:2;box-shadow:var(--vt-shadow);animation:vtSheetDown var(--vt-dur) var(--vt-ease) both}html[data-vt=modal-out]::view-transition-new(root){z-index:1;animation:vtSheetReturn var(--vt-dur) var(--vt-ease) both}.board-snap_battle{--bg:#14161c;--ink:#f4f5f8;--card:#1e222b;--accent:#ff5a3c;--accent-ink:#14161c;--p1:#41b3ff;--p2:#ff5a3c;--timer-warn:#ffc24a;--timer-crit:#ff5d5d}.board-snap_battle .chipDisc.seat1{background:var(--p1)}.board-snap_battle .chipDisc.seat2{background:var(--p2)}.snapBoard{flex-direction:column;gap:10px;height:100%;min-height:0;display:flex}.snapMain{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:10px;min-height:0;display:flex}.snapFrameWrap{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.snapVS.snapGrow{flex:auto;min-height:0}.snapLastLine{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:.82rem;overflow:hidden}.snapRoundNum{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.82rem}.snapPrompt{padding:4px 8px;font-size:1.5rem;font-weight:800;line-height:1.2}.snapTimer{font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:1.6rem;font-weight:800}.snapTimer.warn{color:var(--timer-warn)}.snapTimer.crit{color:var(--timer-crit)}.snapFrame{aspect-ratio:3/4;background:var(--card);border:2px solid var(--card-border);border-radius:16px;justify-content:center;align-items:center;max-width:min(280px,100%);max-height:100%;margin:0;display:flex;position:relative;overflow:hidden}.snapFrame img{object-fit:cover;width:100%;height:100%;display:block}.snapFrame.winner{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent)}.snapEmpty{color:var(--ink-3)}.snapWinBadge{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:6px;display:inline-flex;position:absolute;top:8px;right:8px}.snapFrame figcaption{color:#fff;background:linear-gradient(#0000,#0009);padding:4px 8px;font-size:.78rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.snapVS{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.snapVS .snapFrame{max-width:46%}.snapVS.small .snapFrame{aspect-ratio:1;max-width:38%}.snapVSbadge{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:999px;flex:none;padding:4px 8px;font-size:1rem;font-weight:900}.snapControls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.snapControls .primary{align-items:center;gap:8px;display:inline-flex}.snapSecondary{font:inherit;background:var(--card);color:var(--ink);border:1px solid var(--card-border);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:13px 16px;font-weight:600;display:inline-flex}.snapOpp{color:var(--ink-2);margin:0;font-size:.9rem}.snapLocked{color:var(--p1);align-items:center;gap:8px;margin:0;font-weight:700;display:inline-flex}.snapDeliberating{color:var(--ink-2);margin:0}.snapLast{background:color-mix(in srgb, var(--ink) 5%, var(--bg));border:1px solid var(--card-border);border-radius:14px;flex-direction:column;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.snapLastHead{margin:0;font-weight:700}.snapReason{color:var(--ink-2);flex:0 auto;max-height:9em;margin:0;font-style:italic;line-height:1.35;overflow-y:auto}.snapRecap{flex-direction:column;gap:12px;display:flex}.modePicker{border:0;margin:0;padding:0}.modePicker legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:.92rem}.modeGrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modeChip{text-align:left;font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--card-border);cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.modeChip.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.modeChipLabel{font-weight:700}.modeChipBlurb{color:var(--muted);font-size:.78rem}.snapEnded{justify-content:center;gap:14px}.snapStrip{flex:none;gap:8px;max-width:100%;padding:4px 2px;display:flex;overflow-x:auto}.snapThumb{flex-direction:column;flex:none;align-items:center;gap:2px;margin:0;display:flex}.snapThumb .snapFrame{aspect-ratio:1;border-radius:10px;width:58px;max-width:58px;max-height:none}.snapThumb figcaption{color:var(--ink-2);font-size:.7rem}.form select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--card-border);border-radius:10px;padding:12px}.form select:focus{outline:2px solid var(--accent);border-color:#0000}.snapVerdictHead{margin:0;font-size:1.2rem;font-weight:800}.customizeNote{color:var(--muted);margin:0;font-size:.86rem}.customizeSlot{border-top:1px solid var(--line);padding-top:12px}.customizeSlot:first-of-type{border-top:none;padding-top:0}.customizeSlotHead{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.customizeSlotLabel{font-size:.95rem;font-weight:500}.customizeSlotHint{color:var(--muted);font-size:.8rem}.customizeThumbs{flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;display:flex}.customizeThumb{width:56px;height:56px;position:relative}.customizeThumbImg{background:color-mix(in srgb, var(--ink) 8%, var(--bg));border:1px solid var(--line);width:100%;height:100%;display:block;overflow:hidden}.customizeThumbImg img,.customizeReuseThumb img{object-fit:cover;width:100%;height:100%;display:block}.shape-circle{border-radius:50%}.shape-rounded{border-radius:10px}.shape-square{border-radius:6px}.customizeThumbRemove{background:var(--ink);width:22px;height:22px;color:var(--bg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.customizeAdd{border:1px dashed var(--card-border);width:56px;height:56px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;display:flex}.customizeAdd:hover{color:var(--ink);border-color:var(--ink-2)}.customizeAdd:disabled{opacity:.5;cursor:default}.customizeReuse{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.customizeReuseLabel{color:var(--muted);font-size:.78rem}.customizeReuseThumb{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 8%, var(--bg));cursor:pointer;width:40px;height:40px;padding:0;overflow:hidden}.customizeReuseThumb:disabled{opacity:.5;cursor:default}.customizeError{color:var(--error);margin:8px 0 0;font-size:.82rem}.pkb{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.pkbField{background:linear-gradient(#a9defc 0%,#bfe7ff 45%,#cdeccb 55%,#b6e0a8 100%);border-radius:14px;flex-direction:column;flex:auto;justify-content:space-between;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}.pkbRow{justify-content:space-between;align-items:center;gap:8px;display:flex}.pkbSprite{aspect-ratio:1;background:#2b2b2b;border:3px solid #ffffffd9;border-radius:14px;flex:none;justify-content:center;align-items:center;width:clamp(96px,34%,168px);display:flex;overflow:hidden;box-shadow:0 6px 14px #00000040}.pkbSprite img{object-fit:cover;width:100%;height:100%}.pkbSprite .snapEmpty{color:#ddd}.pkbSprite.hit{animation:.4s pkbHit}.pkbSprite.fainted{animation:.6s forwards pkbFaint}@keyframes pkbHit{0%,to{transform:translate(0)}20%{transform:translate(-7px)rotate(-2deg)}60%{transform:translate(7px)rotate(2deg)}}@keyframes pkbFaint{to{opacity:0;filter:grayscale();transform:translateY(26px)scale(.92)}}.pkbPlate{background:#f6f4e2;border:2px solid #b6a356;border-radius:10px;flex:0 auto;min-width:48%;max-width:56%;padding:6px 9px;box-shadow:0 3px #0000002e}.pkbName{color:#2a2a23;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:800;line-height:1.1;display:block;overflow:hidden}.pkbHpRow{align-items:center;gap:6px;margin-top:4px;display:flex}.pkbHpTag{color:#c8a23a;font-size:.66rem;font-weight:800}.pkbHpBar{background:#4f5b46;border-radius:5px;flex:auto;height:9px;overflow:hidden}.pkbHpFill{background:#74cf5e;height:100%;transition:width .7s,background .3s;display:block}.pkbHpFill.mid{background:#f1c84b}.pkbHpFill.low{background:#e5604d}.pkbDialog{color:#fff;cursor:pointer;background:#21304a;border:3px solid #d8c98a;border-radius:12px;flex-direction:column;flex:none;justify-content:center;gap:8px;min-height:92px;padding:12px 14px;display:flex}.pkbLine,.pkbKo{margin:0;line-height:1.35}.pkbKo{font-size:1.05rem;font-weight:800}.pkbTapHint{color:#fff9;align-self:flex-end;font-size:.78rem}@media (prefers-reduced-motion:reduce){.pkbSprite.hit{animation:none}.pkbSprite.fainted{opacity:0;animation:none}.pkbHpFill{transition:none}}.pkbNamePlate{flex-direction:column;gap:1px;display:flex}.pkbSub{color:#6b6450;font-size:.7rem;font-weight:700}.pkbSprite.faceless{background:#2a3346}.pkbUnknown{color:#ffffff80;font-size:2.6rem;font-weight:900}.pkbSprite.victor{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent), 0 8px 16px #0000004d;animation:.9s ease-in-out infinite alternate pkbVictor}@keyframes pkbVictor{to{transform:translateY(-7px)}}.pkbCapture{cursor:pointer;color:#fff;background:#1d2530;border:3px dashed #ffffff8c}.pkbCapture:not(:disabled):active{transform:scale(.97)}.pkbCaptureHint{color:#fffc;flex-direction:column;align-items:center;gap:4px;font-size:.78rem;font-weight:700;display:flex}.pkbPrompt{margin:0;font-size:1.05rem;font-weight:800;line-height:1.25}.pkbDialogRow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pkbTimer .snapTimer{font-size:1.15rem}.pkbActions{flex-wrap:wrap;gap:8px;display:flex}.pkbScroll{max-height:7em;overflow-y:auto}.pkbDots{animation:1s ease-in-out infinite pkbBlink}@keyframes pkbBlink{0%,to{opacity:.3}50%{opacity:1}}.pkbIntro{position:relative;overflow:hidden}.pkbFlash{opacity:0;pointer-events:none;z-index:5;background:#fff;animation:.5s .15s pkbFlash;position:absolute;inset:0}@keyframes pkbFlash{0%{opacity:0}45%{opacity:.75}to{opacity:0}}.pkbSlideRight{animation:.5s cubic-bezier(.2,.8,.2,1) both pkbSlideR}.pkbSlideLeft{animation:.5s cubic-bezier(.2,.8,.2,1) both pkbSlideL}@keyframes pkbSlideR{0%{opacity:0;transform:translate(125%)}to{opacity:1;transform:none}}@keyframes pkbSlideL{0%{opacity:0;transform:translate(-125%)}to{opacity:1;transform:none}}.pkbVsBig{color:var(--accent);text-shadow:0 3px #0000004d;z-index:4;font-size:3rem;font-weight:900;animation:.5s .25s both pkbVsPop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}@keyframes pkbVsPop{0%{transform:translate(-50%,-50%)scale(0)}60%{transform:translate(-50%,-50%)scale(1.4)}to{transform:translate(-50%,-50%)scale(1)}}.pkbVictory{text-align:center;background:linear-gradient(#ffe9a8,#ffd36e 60%,#ffc14d);justify-content:center;align-items:center;gap:8px}.pkbVictoryTitle{color:#7a4b00;margin:0;font-size:2rem;font-weight:900}.pkbScore{color:#5a3700;font-variant-numeric:tabular-nums;margin:0;font-size:2.3rem;font-weight:900}.pkbScore span{opacity:.45}@media (prefers-reduced-motion:reduce){.pkbFlash,.pkbSlideRight,.pkbSlideLeft,.pkbVsBig,.pkbSprite.victor,.pkbDots{animation:none}.pkbVsBig{transform:translate(-50%,-50%)scale(1)}}.board-spit{--game-bg:#123a32;--game-ink:#f4f1e6;--bg:var(--game-bg);--ink:var(--game-ink);--card:#14443a;--card-border:#f4f1e629;--line:var(--card-border);--accent:#e6c473;--accent-ink:#2a1f06;--error:#ff8a8a;--p1:#ffce5a;--p2:#6fd3c0;--felt:#15463b;--felt-edge:#1d5a4b;--card-face:#faf7ef;--card-ink:#1b1b1b;--card-red:#c8362f;--spit-card-h:max(46px, min(15cqh, 17cqw));--spit-card-w:calc(var(--spit-card-h) * .7);--spit-slice:calc(var(--spit-card-h) * .13)}.spitBoard{align-items:stretch;container-type:size}.spitTable{background:radial-gradient(circle at 50% 42%, var(--felt-edge), var(--felt) 74%);color:#fff;border-radius:20px;flex-direction:column;justify-content:space-between;gap:6px;min-height:0;padding:10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #00000040}.spitZone{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.spitZone.opponent{flex:none;transform:rotate(180deg)}.spitZone.center{flex:auto;gap:4%;min-height:0}.spitZone.mine{flex-direction:column;flex:none;gap:8px}.spitPiles{justify-content:center;align-items:flex-end;gap:clamp(4px,1.5cqw,12px);display:flex}.spitPile{width:var(--spit-card-w);height:calc(var(--spit-card-h) + (var(--depth,1) - 1) * var(--spit-slice));position:relative}.spitPile.empty{height:var(--spit-card-h);border-radius:calc(var(--spit-card-h) * .1);background:0 0;border:1.5px dashed #ffffff47;padding:0}button.spitPile.empty:not(:disabled){cursor:pointer;border-color:var(--accent);background:#ffffff14}.spitPileSlice{left:0;bottom:calc(var(--i) * var(--spit-slice));width:var(--spit-card-w);height:var(--spit-card-h);z-index:var(--i);position:absolute}.spitCard{width:var(--spit-card-w);height:var(--spit-card-h);border-radius:calc(var(--spit-card-h) * .1);perspective:700px;background:var(--card-face);color:var(--card-ink);cursor:default;border:none;flex:none;padding:0;display:block;position:relative;box-shadow:0 2px 5px #00000059}button.spitCard:not(:disabled){cursor:pointer}button.spitCard:disabled{opacity:1}.spitCard.red{color:var(--card-red)}.spitCard.selected{outline:3px solid var(--accent);z-index:5;transition:transform .12s;transform:translateY(-10px);box-shadow:0 9px 16px #00000073}.spitCard.faceDown{background:repeating-linear-gradient(45deg,#2b6f5e,#2b6f5e 5px,#245f50 5px 10px);border:2px solid #f4f1e6}.spitCardBack{width:100%;height:100%;display:block}.spitFlip{border-radius:inherit;transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.spitFlipFace{border-radius:calc(var(--spit-card-h) * .1);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden;transform:translateZ(0)}.spitFlipFace.front{background:var(--card-face)}.spitFlipFace.back{background:repeating-linear-gradient(45deg,#2b6f5e,#2b6f5e 5px,#245f50 5px 10px);border:2px solid #f4f1e6;transform:translateZ(0)rotateY(180deg)}.spitCardCorner{font-size:calc(var(--spit-card-h) * .24);flex-direction:column;align-items:center;font-weight:800;line-height:1;display:flex;position:absolute}.spitCardCorner.tl{top:4px;left:5px}.spitCardCorner.br{bottom:4px;right:5px;transform:rotate(180deg)}.spitCardPip{font-size:calc(var(--spit-card-h) * .5);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spitControls{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:44px;display:flex}.spitReserve{width:var(--spit-card-w);height:var(--spit-card-h);position:relative}.spitPiles .spitReserve{margin-left:clamp(8px,3cqw,22px)}.spitZone.mine .spitReserve{margin-right:clamp(16px,6cqw,36px)}.spitReserve .spitCard{position:absolute;inset:0}.spitZone.opponent .spitReserve .spitStackCount{transform:rotate(180deg)}.spitStackCount{color:#fff;background:#00000080;border-radius:999px;padding:0 6px;font-size:.62rem;font-weight:700;line-height:1.5;position:absolute;bottom:-7px;right:-6px}.spitHandHidden{background:#00000047;border-radius:10px;align-items:center;gap:4px;padding:6px 10px;display:flex;position:relative}.spitCenterSlot{display:flex}.spitCenterPile{width:calc(var(--spit-card-w) * 1.15);height:calc(var(--spit-card-h) * 1.15);border-radius:calc(var(--spit-card-h) * .12);color:#fff;background:#0000002e;border:2px dashed #ffffff4d;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.spitCenterPile.filled{background:0 0;border-color:#0000}.spitCenterPile .spitCard,.spitCenterFlight{z-index:2;width:100%;height:100%;position:relative}.spitCenterUnder{z-index:0;border-radius:calc(var(--spit-card-h) * .1);background:var(--card-face);border:1px solid #00000014;position:absolute;inset:0;box-shadow:0 2px 5px #0000004d}.spitCenterEmpty{letter-spacing:.1em;text-transform:uppercase;opacity:.5;font-size:.8rem}.spitCenterCount{z-index:3;color:#fff;background:#0000008c;border-radius:999px;padding:0 7px;font-size:.66rem;font-weight:700;position:absolute;bottom:-9px}.spitCenterPile.active{border-color:var(--accent)}.spitCenterPile.filled.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.spitCenterPile.prize{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent), 0 0 22px var(--accent);animation:.7s ease-in-out infinite spitPulse}.spitSlapTag{z-index:3;letter-spacing:.08em;background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:1px 6px;font-size:.66rem;font-weight:800;position:absolute;top:-10px}.spitCenterHint{text-align:center;opacity:.85;max-width:9rem;font-size:.78rem}.spitHand{min-height:var(--spit-card-h);flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:10px;display:flex}.spitHandGroup{flex-direction:column;align-items:center;gap:4px;display:flex}.spitHandStack{cursor:pointer;background:0 0;border:none;align-items:flex-end;padding:0 0 8px;display:flex;position:relative}.spitFanWrap{display:inline-flex}.spitHandGroup.playable .spitFanCard{box-shadow:0 0 0 2px var(--accent)}.spitHandGroup.selected .spitFanCard:last-child{transform:translateY(-12px)}.spitGroupCount{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:0 5px;font-size:.62rem;font-weight:800;position:absolute;bottom:-2px;right:-4px}.spitDumpBtn{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700}.spitActionBtn{color:#fff;cursor:pointer;background:#00000040;border:2px solid #fff6;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:700;display:inline-flex}.spitBtn{color:#fff;background:#00000080;border-color:#ffffff47;transition:background .18s,color .18s,border-color .18s,opacity .18s}.spitBtn.stuck{color:#111;background:#fff;border-color:#fff}.spitBtn.waiting{opacity:.65}.spitBtnDock{z-index:4;justify-content:center;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.spitBtnDock:empty{display:none}.spitBtnDock .spitActionBtn{white-space:nowrap;padding:6px 14px;font-size:.8rem}@keyframes spitPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes spitLandIn{0%{opacity:0;transform:translateY(-26%)rotate(-8deg)scale(.7)}to{opacity:1;transform:none}}.spitLand{animation:.22s ease-out spitLandIn}@media (prefers-reduced-motion:reduce){.spitLand,.spitCenterPile.prize{animation:none}}
