.ico{display:inline-block;flex:none;vertical-align:-.125em;overflow:visible;fill:none;stroke:var(--icon-ink, currentColor);stroke-width:var(--icon-stroke, 1.75);stroke-linecap:var(--icon-cap, round);stroke-linejoin:var(--icon-join, round);shape-rendering:var(--icon-render, auto);filter:var(--icon-glow, none)}.ico .ico-under{display:var(--icon-under-display, none);transform:translateY(calc(var(--icon-under, 0) * 1px))}[data-game=rummikub][data-skin=parlor]{--icon-stroke: 1.8;--icon-round: 1.5;--icon-under: .8;--icon-under-display: inline;--icon-body: color-mix(in srgb, currentColor 14%, var(--panel, #161c2b));--icon-under-color: rgba(0, 0, 0, .55)}[data-game=rummikub][data-skin=parlor][data-theme=light]{--icon-body: color-mix(in srgb, currentColor 10%, var(--panel, #ffffff));--icon-under-color: rgba(255, 255, 255, .95)}[data-game=rummikub][data-skin=ink]{--icon-stroke: 1.3;--icon-cap: butt;--icon-join: miter;--icon-round: .5;--icon-render: geometricPrecision}[data-game=rummikub][data-skin=console]{--icon-stroke: 1.4;--icon-glow: drop-shadow(0 0 1.5px currentColor)}[data-game=rummikub][data-skin=console][data-theme=light]{--icon-glow: drop-shadow(0 0 .6px currentColor)}[data-game=blokus][data-skin=brick]{--icon-stroke: 2.3;--icon-round: 1.6;--icon-under: 1.5;--icon-under-display: inline;--icon-body: color-mix(in srgb, currentColor 22%, var(--panel, #161c2b));--icon-under-color: rgba(0, 0, 0, .6)}[data-game=blokus][data-skin=brick][data-theme=light]{--icon-body: color-mix(in srgb, currentColor 16%, var(--panel, #ffffff));--icon-under-color: color-mix(in srgb, currentColor 35%, transparent)}[data-game=blokus][data-skin=arcade]{--icon-stroke: 2.25;--icon-cap: square;--icon-join: miter;--icon-round: 0;--icon-render: crispEdges}[data-game=blokus][data-skin=atlas]{--icon-stroke: 1.15;--icon-round: .8}.rk-controls .rk-lead{margin-right:.35em}@media(max-width:820px),(max-height:560px){.screen.rummikub .rk-controls .rk-lead{display:none}}.rk-grip .ico{width:1.25em;height:1.25em}.rk-tile .ico[data-icon=joker],.rk-mini .ico[data-icon=joker]{width:1.05em;height:1.05em;vertical-align:-.15em}.host-star .ico{filter:drop-shadow(0 0 1px rgba(0,0,0,.85))}.ctx-item .ico{margin-right:.15em}.rk-bag .ico{margin-right:.3em}:root{--bg: #131417;--panel: #161c2b;--panel-2: #1e2740;--line: #3c3d42;--text: #e7ecf5;--muted: #9a9ba3;--accent: #6ea8fe;--on-accent: #071022;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Press Start 2P", "Nunito", system-ui, sans-serif;--ok: #22c55e;--on-ok: #071022;--danger: #ef4444;--on-danger: #fff;--danger-line: #f87171;--danger-text: #fca5a5;--danger-fill: #dc2626;--warn: #eab308;--on-warn: #131417;--host-star: #facc15;--host-star-halo: rgba(0, 0, 0, .85);--banner-bg: #7c4b16;--banner-text: #ffe9c9;--notice-error-bg: #3a2030;--notice-error-text: #ffd7df;--notice-error-line: #6b3350;--notice-success-bg: #123021;--notice-success-text: #c9ffdd;--notice-success-line: #2f6b47;--notice-info-bg: #12283a;--notice-info-text: #cfe8ff;--notice-info-line: #2f597b;--shadow: rgba(0, 0, 0, .45);--shadow-strong: rgba(0, 0, 0, .5);--modal-scrim: rgba(0, 0, 0, .6);--scrim: rgba(4, 8, 16, .75);--cb-seat-0: #7082db;--cb-seat-1: #f0e442;--cb-seat-2: #e53c19;--cb-seat-3: #2ee6a6;--mark-on-fill: rgba(8, 11, 20, .62);--decor-0: #3b82f6;--decor-1: #eab308;--decor-2: #ef4444;--decor-3: #22c55e;--tile-face: #f4f1e8;--tile-edge: var(--line);--tile-ink: #131417;--tile-back: #d9d2bd;--ink-red: #e5484d;--ink-blue: #2f6fe0;--ink-black: #1c1f26;--ink-orange: #d97706;--ink-joker: #7c3aed;--cb-ink-red: #d14775;--cb-ink-blue: #337fcc;--cb-ink-black: #1c1f26;--cb-ink-orange: #9a5800;--rk-bad: #e5484d;--rk-placed: #22c55e;--rk-drawn: #22d3ee;--rk-recent: #f5c542;--rk-freed: #f59e0b;--rk-arc: #ffffff;--rk-control-line: #4a5172;--rk-control-hover: #28335a;--rk-control-off: #2a3350;--board-bg: #0f1420;--board-line: #243049;--last-move: #ffffff;--board-mark: #ffffff;--ghost-line: #b9d4c4;--board-cell-edge: #243049;--last-halo: transparent;--board-stud: transparent;--board-stud-on: transparent;--board-stud-on-line: transparent;--board-coord: #9a9ba3;--piece-edge: transparent;--rb-ink: #0d1220;--rb-tile-edge: #c9c3b3;--rb-ok: #4ade80;--rb-no: #f87171;--rb-board: #1b2133;--rb-board-line: #33384a;--rb-next: #ffffff;color-scheme:dark}:root[data-game=blokus]{--seat-0: #3b82f6;--seat-1: #eab308;--seat-2: #ef4444;--seat-3: #22c55e}:root[data-game=rummikub]{--seat-0: #2dd4bf;--seat-1: #f472b6;--seat-2: #a3e635;--seat-3: #a78bfa}:root[data-theme=light]{--bg: #f3f4f7;--panel: #ffffff;--panel-2: #e8ebf2;--line: #c4c8d2;--text: #161a22;--muted: #5a5e6a;--accent: #2563eb;--on-accent: #ffffff;--ok: #15803d;--on-ok: #ffffff;--danger: #dc2626;--on-danger: #fff;--danger-line: #dc2626;--danger-text: #b91c1c;--danger-fill: #dc2626;--warn: #ca8a04;--on-warn: #131417;--host-star: #eab308;--host-star-halo: rgba(0, 0, 0, .6);--banner-bg: #fde68a;--banner-text: #5b3a06;--notice-error-bg: #fde8ec;--notice-error-text: #7a1630;--notice-error-line: #e8a3b4;--notice-success-bg: #e2f5e8;--notice-success-text: #14532d;--notice-success-line: #86c99c;--notice-info-bg: #e3effb;--notice-info-text: #123a63;--notice-info-line: #8fb8e3;--shadow: rgba(20, 24, 36, .2);--shadow-strong: rgba(20, 24, 36, .25);--modal-scrim: rgba(20, 24, 36, .4);--scrim: rgba(20, 24, 36, .45);--decor-0: #93c5fd;--decor-1: #fde047;--decor-2: #fca5a5;--decor-3: #86efac;--tile-edge: #b9b3a3;--rk-arc: #ffffff;--rk-control-line: #b4bac8;--rk-control-hover: #dce2ee;--rk-control-off: #d3d8e2;--board-bg: #e3e6ed;--board-line: #c2c8d4;--last-move: #14161d;--board-mark: #14161d;--ghost-line: #1f7a4a;--board-cell-edge: #c2c8d4;--board-coord: #5a5e6a;--rb-ink: #ffffff;--rb-ok: #15803d;--rb-no: #dc2626;--rb-board: #e3e6ed;--rb-board-line: #c2c8d4;--rb-next: #14161d;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden}.screen{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.corner-decor{position:fixed;bottom:-52px;left:-52px;z-index:0;pointer-events:none}.title{font-family:var(--font-display);font-size:2.4rem;letter-spacing:.06em;line-height:1.2;margin:40px 0 24px;text-align:center}.subtitle{color:var(--muted);text-align:center;margin:0 0 20px}.hero{display:none;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:14px;margin:-8px 0 20px}.home{max-width:420px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field span{color:var(--muted);font-size:.85rem}input{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:12px;font-size:1rem}.code-input{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-size:1.4rem}.card{background:var(--panel);border:1px solid var(--line);padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.card h2{margin:0;font-size:1.1rem}.rejoin-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.rejoin-card p{margin:0}.seg{display:flex;gap:8px}.seg button{flex:1;background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:10px;cursor:pointer}.seg button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}button{font-size:1rem}.primary{background:var(--accent);color:var(--on-accent);border:none;padding:12px;font-weight:600;cursor:pointer}.primary:disabled{background:var(--panel-2);color:var(--muted);cursor:not-allowed}.primary.big{padding:16px;font-size:1.1rem;width:100%}.ghost{background:transparent;border:1px solid var(--line);color:var(--text);padding:8px 12px;cursor:pointer}.mini{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:6px 10px;cursor:pointer;font-size:.85rem}.mini.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.banner{background:var(--banner-bg);color:var(--banner-text);text-align:center;padding:6px;font-size:.9rem}.notice{position:fixed;top:12px;left:50%;padding:10px 16px;z-index:50;cursor:pointer;max-width:90vw;border:1px solid;animation:notice-life 4s ease forwards}body:has(.screen.game) .notice{pointer-events:none;cursor:default}.notice-error{background:var(--notice-error-bg);color:var(--notice-error-text);border-color:var(--notice-error-line)}.notice-success{background:var(--notice-success-bg);color:var(--notice-success-text);border-color:var(--notice-success-line)}.notice-info{background:var(--notice-info-bg);color:var(--notice-info-text);border-color:var(--notice-info-line)}@keyframes notice-life{0%{opacity:0;transform:translate(-50%,-10px)}8%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.lobby-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-code{font-size:2.6rem;font-weight:700;text-align:center;margin:8px 0 4px}.room-code strong{letter-spacing:.12em;color:var(--accent)}.room-code.small{color:var(--muted);font-size:.9rem}.seat-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.seat-line{display:flex;align-items:stretch;gap:12px}.seat-row{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:58px;background:var(--panel);border:1px solid var(--line);padding:16px;font-size:1.1rem;flex-wrap:wrap}.seat-name{flex:1}.seat-name em{color:var(--muted);font-style:normal}.seat-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chip{position:relative;align-self:stretch;width:58px;flex:none}.host-star{position:absolute;top:3px;right:5px;font-size:1.35rem;line-height:1;color:var(--host-star);text-shadow:0 0 2px var(--host-star-halo),0 0 1px var(--host-star-halo)}.waiting{color:var(--muted);text-align:center}.friends-empty{color:var(--muted);font-size:.9rem;margin:4px 0 0}.friends-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.friend-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;background:var(--panel);border:1px solid var(--line);padding:10px 12px}.friend-dot{width:10px;height:10px;flex:none;background:var(--muted);border-radius:50%;opacity:.5}.friend-dot.online{background:var(--ok);opacity:1}.friend-name{flex:1 1 7em;min-width:0;display:flex;flex-direction:column}.friend-display,.friend-rec,.friend-site{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-site{color:#22c55e;font-size:.72rem}.friend-rec{color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.friend-rec-btn{background:none;border:0;padding:2px 0;margin:0;text-align:left;font-family:inherit;cursor:pointer;min-height:0}.friend-rec-caret{margin-left:4px}.friend-rec-games{list-style:none;margin:2px 0 0;padding:0;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}.friend-rec-games li{display:flex;flex-direction:column;margin-top:2px}.friend-rec-mode{padding-left:10px}.friend-actions{display:flex;gap:10px;margin-left:auto}.invite-btn:disabled{color:var(--muted);cursor:not-allowed;opacity:.6}.friend-kebab{flex:none;padding:6px 8px;line-height:1;font-size:1.1rem}.lobby-invite{margin:20px 0}.accent-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;flex:none}.seat-pick{display:flex;flex-wrap:wrap;gap:4px;align-items:center;flex:0 1 auto;min-width:0}.seat-pick-label{color:var(--muted);font-size:.8rem;margin-right:2px}.seat-pick-btn{min-width:26px;height:26px;border-radius:5px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:.85rem;font-weight:600;padding:0 4px;cursor:pointer}.seat-pick-btn.on{border:2px solid var(--text)}.seat-pick-btn:disabled{cursor:not-allowed}.seat-pick-btn:disabled:not(.on){opacity:.35}.color-pick-btn{display:inline-flex;align-items:center;gap:6px;flex:none}.color-pick-dot{width:12px;height:12px;border-radius:3px;flex:none;box-shadow:0 0 0 1px var(--shadow)}.color-pick{position:fixed;z-index:60;box-sizing:border-box;width:max-content;max-width:calc(100vw - 16px);background:var(--panel-2);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 28px var(--shadow-strong);padding:10px 12px 12px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px}.color-pick-head{font-weight:600;font-size:.95rem;flex:none}.color-pick-note{flex:none;margin:0;color:var(--muted);font-size:.8rem;line-height:1.35;max-width:224px}.color-pick-note.cb-note{color:var(--text);border-left:3px solid var(--accent);padding-left:8px}.color-pick-swatches{flex:none;display:grid;grid-template-columns:repeat(6,30px);gap:6px}.color-pick-swatch{position:relative;width:30px;height:30px;border-radius:6px;border:2px solid transparent;padding:0;cursor:pointer}.color-pick-swatch.on{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--panel)}.color-pick-swatch.taken{cursor:not-allowed;opacity:.3}.color-pick-swatch.taken:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top right,transparent calc(50% - 1.5px),var(--text) calc(50% - 1.5px),var(--text) calc(50% + 1.5px),transparent calc(50% + 1.5px))}.color-pick-reset{align-self:flex-end;flex:none}.color-pick-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);padding:0;cursor:pointer}.swatch.on{border-color:var(--text);transform:scale(1.12)}.auth-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:4px;min-height:28px}.auth-bar .hint{margin:0}.friends-login-hint{margin-top:8px}.add-friend-btn{margin-left:8px;flex:none}.rec-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rec-total{display:flex;flex-direction:column;align-items:center;background:var(--panel-2);border:1px solid var(--line);padding:8px 4px}.rec-total strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.rec-total span{color:var(--muted);font-size:.75rem}.rec-total.win strong{color:var(--ok)}.rec-total.loss strong{color:var(--danger)}.rec-modes{display:flex;flex-direction:column;gap:2px}.rec-mode{display:flex;justify-content:space-between;gap:8px;padding:2px;font-size:.85rem}.rec-game-section{margin-bottom:4px}.rec-submode{padding-left:12px;font-size:.8rem;color:var(--muted)}.rec-mode-stat{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.rec-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto}.rec-row{display:grid;grid-template-columns:4.5em 1fr auto 4.5em;align-items:center;gap:8px;background:var(--panel-2);padding:6px 10px;font-size:.85rem}.rec-date,.rec-points{color:var(--muted);font-variant-numeric:tabular-nums}.rec-points{text-align:right}.rec-game{min-width:0;line-height:1.25}.rec-result{font-weight:700;font-size:.75rem;letter-spacing:.04em}.rec-result.win{color:var(--ok)}.rec-result.loss{color:var(--danger)}.rec-result.tie{color:var(--muted)}.lobby-invite h3{color:var(--muted);font-size:.9rem;font-weight:600;margin:0 0 10px}.player{cursor:context-menu}.ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65}.ctx-menu{position:fixed;z-index:66;min-width:160px;max-width:220px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 6px 20px var(--shadow);padding:4px}.ctx-title{color:var(--muted);font-size:.75rem;padding:6px 10px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctx-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);padding:8px 10px;cursor:pointer;font-size:.9rem}.ctx-item:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.ctx-item:disabled{color:var(--muted);cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--modal-scrim);padding:16px}.modal{background:var(--panel);border:1px solid var(--line);padding:24px;max-width:360px;width:100%;text-align:center}.modal h2{margin:0 0 8px}.modal p{margin:0 0 20px}.invite-actions{display:flex;gap:10px}.invite-actions .primary,.invite-actions .ghost{flex:1}.seat-switch{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;color:var(--muted);cursor:pointer;font-size:.75rem;font-weight:700;letter-spacing:.08em}.switch-track{position:relative;width:40px;height:20px;background:var(--panel-2);border:1px solid var(--line);display:inline-block;flex:none}.switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--muted);transition:left .12s ease,background .12s ease}.seat-switch.on{color:var(--accent)}.seat-switch.on .switch-track{background:var(--accent);border-color:var(--accent)}.seat-switch.on .switch-thumb{left:22px;background:var(--on-accent)}.game-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.turn-tag{display:flex;align-items:center;gap:8px;font-weight:600}.game-body{display:flex;gap:16px;align-items:flex-start}.board-wrap{flex:1;min-width:0}.board{width:100%;max-width:min(72vh,100%);display:block;margin:0 auto;border:1px solid var(--line)}.side{width:260px;flex:none;display:flex;flex-direction:column;gap:14px}.players{display:flex;flex-direction:column;gap:6px}.player{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);padding:8px 10px}.player.is-turn{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.screen.rummikub .player.is-turn{border-color:var(--seat-color, var(--accent));box-shadow:0 0 0 1px var(--seat-color, var(--accent)) inset}.pname{flex:1;font-size:.9rem}.pstat{color:var(--muted);font-size:.85rem}.offline-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;background:var(--warn);color:var(--on-warn);font-size:.6rem;font-weight:700;letter-spacing:.04em;vertical-align:middle}.offline-badge.expired{background:var(--danger);color:var(--on-danger)}.offline-badge.done{background:var(--ok);color:var(--on-ok)}.offline-badge.stuck{background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}.first-tag{margin-left:6px;color:var(--muted);font-size:.6rem;font-weight:700;letter-spacing:.06em;vertical-align:middle}.turn-clock{margin-left:6px;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.turn-clock.urgent{color:var(--danger);font-weight:700}.blitz-clock{flex:none;padding:1px 6px;border:1px solid var(--line);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}.blitz-clock.urgent{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.lobby-blitz{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 20px}.lobby-blitz .hint,.lobby-blitz.hint{text-align:left;margin:0}.lobby-option{margin:0 0 20px}.player.has-pop{position:relative}.player-pop{display:none;position:absolute;z-index:40;top:0;right:calc(100% + 8px);width:216px;background:var(--panel-2);border:1px solid var(--line);box-shadow:0 6px 20px var(--shadow);padding:8px 10px;pointer-events:none}.player.has-pop:hover .player-pop,.player.has-pop:focus .player-pop{display:block}.pop-stat{margin:0 0 6px;color:var(--muted);font-size:.75rem}.pop-pieces{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.spectating{background:var(--panel);border:1px solid var(--line);padding:12px}.spectating p{margin:0 0 6px}.abandon-actions{display:flex;flex-direction:column;gap:8px}.abandon-diff{display:flex;gap:6px;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem}.controls{background:var(--panel);border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:10px}.selected-preview{min-height:60px;display:flex;align-items:center;justify-content:center}.hint{color:var(--muted);font-size:.85rem;text-align:center}.control-row{display:flex;gap:8px}.control-row .mini{flex:1}.tray-wrap{margin-top:14px}.tray{display:flex;flex-wrap:wrap;gap:6px;background:var(--panel);border:1px solid var(--line);padding:10px;justify-content:center}.tray-disabled{opacity:.5}.tray-empty{color:var(--muted);padding:10px}.piece-btn{background:var(--panel-2);border:1px solid var(--line);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.piece-btn.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.hint.small{font-size:.78rem;line-height:1.35;margin:4px 0 0}.drag-ghost{position:fixed;z-index:60;pointer-events:none;opacity:.85;filter:drop-shadow(0 3px 6px var(--shadow-strong))}.corner-pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.last-move{animation:last-move-flash 1.1s ease-out forwards}@keyframes last-move-flash{0%{opacity:1}55%{opacity:1}to{opacity:.42}}.replace-bar{margin-top:12px}.replace-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:40;padding:16px;overflow-y:auto}.overlay-card{background:var(--panel);border:1px solid var(--line);padding:24px;width:min(420px,100%);margin:auto;display:flex;flex-direction:column;gap:14px;text-align:center}.overlay-card h2{margin:0}.results{display:flex;flex-direction:column;gap:6px}.result{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:var(--panel-2);padding:8px 10px}.result.win{outline:1px solid var(--accent)}.result .rank{width:18px;flex:none;color:var(--muted)}.result .chip:not(.seat-num){align-self:center;width:32px;height:20px}.result .pname{flex:1 1 4em;min-width:0;overflow:hidden;white-space:normal;overflow-wrap:anywhere;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.result .pstat{white-space:nowrap}.result .add-friend-btn{margin-left:auto}.screen.rummikub .rk-bag{color:var(--muted);font-size:.85rem;white-space:nowrap}.rk-table{flex:1 1 auto;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--panel);border:1px solid var(--line)}.rk-canvas{flex:none;display:flex;flex-direction:column;gap:10px;transform-origin:0 0}.rk-fit{flex:none;overflow:clip}.rk-rows{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;flex:0 0 auto}.rk-rows:empty{display:none}.rk-free{position:relative;flex:1 0 auto}.rk-rows:not(:empty)+.rk-free{border-top:1px dashed var(--line)}.rk-meld.rk-placed{position:absolute;max-width:100%}.rk-meld{display:flex;flex-wrap:wrap;max-width:100%;gap:3px;padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);cursor:pointer}.rk-meld.bad{border-color:var(--rk-bad);box-shadow:0 0 0 1px var(--rk-bad) inset}.rk-tile{min-width:30px;height:42px;padding:0 6px;border:1px solid var(--tile-edge);border-radius:5px;background:var(--tile-face);color:var(--tile-ink);font-weight:800;font-size:1.05rem;line-height:1;cursor:pointer;font-variant-numeric:tabular-nums}.rk-tile.joker{color:var(--ink-joker)}.rk-tile.held{outline:2px solid var(--accent);outline-offset:1px;transform:translateY(-3px)}.rk-tile.dimmed{opacity:.45}.rk-tile.dragging{opacity:.3}.rk-tile.ins-before{box-shadow:-5px 0 0 -1px var(--accent)}.rk-tile.ins-after{box-shadow:5px 0 0 -1px var(--accent)}.rk-tile,.rk-grip{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.rk-myturn .rk-table .rk-tile{touch-action:pan-y}.rk-myturn [data-still] .rk-tile{touch-action:none}.rk-dragging,.rk-dragging *{cursor:grabbing}.rk-grip{display:inline-flex;align-items:center;justify-content:center;min-width:16px;margin-right:1px;color:var(--muted);font-size:.8rem;letter-spacing:-2px;cursor:grab;touch-action:none}.rk-grip:hover{color:var(--text)}.rk-grip.off{visibility:hidden;pointer-events:none}.rk-meld.drop,.rk-table.drop,.rk-rack-wrap.drop .rk-rack{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.rk-ghost{position:fixed;z-index:60;display:flex;gap:3px;pointer-events:none;transform:translate(-50%,calc(-100% - 8px)) scale(var(--rk-gs, 1));transform-origin:50% 100%;opacity:.92;filter:drop-shadow(0 4px 8px var(--shadow-strong))}.rk-ghost.touch{transform:translate(-50%,-50%) scale(var(--rk-gs, 1));transform-origin:50% 50%}.rk-ghost.to-new{outline:2px dashed var(--accent);outline-offset:4px;border-radius:6px}.rk-ghost.to-none{opacity:.45;filter:grayscale(.6)}.rk-tile.fresh{border-color:var(--rk-placed);box-shadow:0 0 0 2px var(--rk-placed);position:relative}.rk-tile.fresh:after{content:"";position:absolute;left:20%;right:20%;bottom:2px;height:3px;border-radius:2px;background:var(--rk-placed);pointer-events:none}.rk-meld.fresh{border-color:var(--rk-placed);box-shadow:0 0 0 1px var(--rk-placed) inset,0 0 0 1px var(--rk-placed)}.rk-meld.fresh.bad{border-color:var(--rk-bad);box-shadow:0 0 0 1px var(--rk-bad) inset}.rk-tile.joker{position:relative}.rk-tile.joker:has(.rk-jv){padding-top:7px}.rk-jv{position:absolute;top:2px;left:1px;right:1px;display:flex;align-items:center;justify-content:center;gap:1px;font-size:9px;line-height:1;font-weight:800;color:var(--tile-ink);white-space:nowrap;overflow:hidden;pointer-events:none}.rk-jv-dot{display:inline-block;width:4px;height:4px;border-radius:50%;margin-left:1px}.rk-meld.joker-fits{border-color:var(--rk-drawn);box-shadow:0 0 0 1px var(--rk-drawn) inset}.rk-meld.joker-nofit{border-color:var(--rk-bad);box-shadow:0 0 0 2px var(--rk-bad) inset}.rk-table .rk-tile.armed-swap{animation:none;box-shadow:0 0 0 4px var(--rk-drawn),0 0 14px 3px color-mix(in srgb,var(--rk-drawn) 80%,transparent)}.rk-table .rk-tile.armed-refuse{animation:none;box-shadow:0 0 0 3px var(--rk-bad);background-image:linear-gradient(135deg,transparent 0 46%,color-mix(in srgb,var(--rk-bad) 55%,transparent) 46% 54%,transparent 54% 100%)}.rk-tile.swappable{animation:rk-swap .9s ease-in-out infinite alternate}@keyframes rk-swap{0%{box-shadow:0 0 0 2px var(--rk-drawn)}to{box-shadow:0 0 0 4px var(--rk-drawn),0 0 12px 2px color-mix(in srgb,var(--rk-drawn) 70%,transparent)}}.rk-tile.freed{box-shadow:0 0 0 2px var(--rk-freed),0 0 0 4px color-mix(in srgb,var(--rk-freed) 35%,transparent)}.rk-tile.arriving{animation:rk-arrive .35s ease-out}@keyframes rk-arrive{0%{transform:scale(.4);opacity:.2}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.rk-tile.swappable,.rk-tile.arriving{animation:none}.rk-tile.swappable{box-shadow:0 0 0 3px var(--rk-drawn)}}@property --rk-spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes rk-spin{to{--rk-spin: 360deg}}.rk-tile.drawn{--rk-ring: var(--rk-drawn);box-shadow:0 0 0 2px var(--rk-drawn),0 0 10px 2px color-mix(in srgb,var(--rk-drawn) 55%,transparent);position:relative}.rk-tile.recent{--rk-ring: var(--rk-recent);box-shadow:0 0 0 2px var(--rk-recent),0 0 10px 2px color-mix(in srgb,var(--rk-recent) 50%,transparent);position:relative}.rk-tile.drawn:after,.rk-tile.recent:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:9px;padding:3px;background:conic-gradient(from var(--rk-spin),transparent 0deg,transparent 190deg,var(--rk-ring) 280deg,var(--rk-arc) 335deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);filter:drop-shadow(0 0 3px var(--rk-ring));animation:rk-spin 1.6s linear infinite;pointer-events:none}@media(prefers-reduced-motion:reduce){.rk-tile.drawn:after,.rk-tile.recent:after{animation:none}}.rk-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.rk-controls .primary,.rk-controls .ghost{flex:none}.rk-hint{flex:1 1 100%;margin:0;line-height:1.3;height:2.6em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.rk-rack-wrap{display:flex;flex-direction:column;gap:6px}.rk-rack-title{margin:0;font-size:.8rem;color:var(--muted);font-weight:600}.rk-controls .rk-sort{white-space:nowrap;margin-left:auto}.rk-sort-ico{display:inline-block;width:1.1em;height:1em;line-height:1;vertical-align:middle;text-align:center}.rk-lbl-stack{display:inline-grid;margin-left:.3em}.rk-lbl-stack>span{grid-area:1 / 1;visibility:hidden}.rk-lbl-stack>span.on{visibility:visible}.rk-fly{position:fixed;transform-origin:0 0;z-index:58;display:flex;pointer-events:none;will-change:transform;filter:drop-shadow(0 6px 10px var(--shadow))}.rk-fly .rk-tile{cursor:default}.rk-tile.rk-back{display:inline-block;background:repeating-linear-gradient(135deg,var(--tile-back) 0 4px,var(--tile-face) 4px 8px)}.rk-anim-toggle{white-space:nowrap}.rk-anim-switch{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 20px}.rk-anim-switch .hint{text-align:left;margin:0}@media(max-width:400px){.screen.rummikub .rk-controls>.rk-anim-toggle{display:none}}@media(max-width:820px),(max-height:560px){.screen.rummikub .rk-controls>.rk-anim-toggle{flex:0 0 44px}.screen.rummikub .rk-anim-toggle .rk-lbl{display:none}}.rk-anim-toggle .rk-anim-ico{vertical-align:-3px;color:var(--muted)}.rk-anim-toggle.on .rk-anim-ico{color:var(--accent)}.rk-bag-badge{display:none;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:.75rem;font-weight:600;min-width:2.6em;text-align:center;box-sizing:border-box}.rk-rack{display:flex;flex-wrap:wrap;gap:4px;padding:8px;min-height:58px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px}.rk-over .result{flex-wrap:wrap;row-gap:6px}.rk-over .pstat{white-space:nowrap}.rk-over .add-friend-btn{margin-left:auto}.chip.seat-num{display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:700}@media(max-width:720px){.home{max-width:100%}.players{flex-direction:row;flex-wrap:wrap}.player{flex:1 1 45%}}@media(max-width:820px),(max-height:560px){.screen.game{--game-chrome: 268px;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.game-top{margin-bottom:0;gap:6px;flex:0 0 auto}.game-top .turn-tag{font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-top .room-code.small{display:none}.game-top .turn-tag:has(.blitz-clock) .chip{display:none}@media(max-width:360px){.game-top .turn-tag .chip{display:none}}.blitz-icon{display:none}.game-top .ghost{white-space:nowrap;flex:none}.corner-decor{display:none}body:has(.screen.game) .notice{top:calc(max(8px,env(safe-area-inset-top)) + 56px)}.game-body{flex:0 0 auto;min-height:0;flex-direction:column;align-items:stretch;gap:6px}.board-wrap{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.board{width:min(100%,calc(100dvh - var(--game-chrome)));height:auto;max-width:100%;aspect-ratio:1 / 1;margin:0}.side{width:100%;flex:0 0 auto;gap:6px}.players{flex-direction:row;flex-wrap:nowrap;gap:4px}.player{flex:1 1 0;min-width:0;padding:4px 5px;gap:4px}.player .chip{width:12px;height:12px;flex:none}.player .pname{font-size:.68rem;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player .pstat{font-size:.66rem;white-space:nowrap}.player .turn-clock,.player .first-tag{display:none}.controls{padding:6px;gap:6px;flex:0 0 auto}.controls>button,.control-row{flex:none}.selected-preview,.controls .hint.small{display:none}.controls .waiting{margin:2px 0;font-size:.85rem}.primary.big{padding:11px;font-size:.95rem;min-height:44px}.control-row .mini{min-height:42px}.tray-wrap{flex:1 1 auto;min-height:0;margin-top:0;display:flex}.tray{flex:1 1 auto;min-height:56px;overflow-y:auto;align-content:flex-start;padding:6px;gap:4px;-webkit-overflow-scrolling:touch}.screen.rummikub .rk-table{padding:6px}.screen.rummikub .rk-canvas,.screen.rummikub .rk-rows{gap:6px}.screen.rummikub .rk-meld{padding:3px;gap:2px}.screen.rummikub .rk-tile{min-width:26px;height:38px;font-size:.95rem;padding:0 4px}.screen.rummikub .rk-controls{margin:0;flex:0 0 auto;gap:6px}.screen.rummikub .rk-controls>button{flex:1 1 auto;min-height:42px}.screen.rummikub .rk-hint{font-size:.75rem}.screen.rummikub .rk-rack-wrap{flex:0 0 auto}.screen.rummikub .rk-rack-title,.screen.rummikub .rk-bag{display:none}.screen.rummikub .rk-bag-badge{display:inline-block}.overlay-card.rk-over{padding:16px}.rk-over h2{font-size:1.15rem}}@media(max-width:400px){.screen.rummikub .game-top>.ghost{padding:6px 8px;font-size:.85rem}.screen.rummikub .turn-tag em{display:none}}@media(max-width:820px){.players{position:relative}.player.has-pop{position:static}.player-pop{top:calc(100% + 4px);left:0;right:0;width:auto}}@media(max-height:560px){.screen.game{--game-chrome: 138px}.game-body{flex-direction:row;gap:8px}.side{width:210px;flex:0 0 auto}.players{flex-direction:column;flex-wrap:nowrap}.player{flex:0 0 auto}.player .pname{font-size:.7rem}.players{position:static}.player.has-pop{position:relative}.player-pop{top:0;left:auto;right:calc(100% + 8px);width:200px}.tray{min-height:52px}.game-top{padding-right:124px}.screen.rummikub .rk-tile{height:34px}}@media(min-width:821px)and (max-height:820px){.board{max-width:min(64vh,100%)}}@media(min-width:821px)and (min-height:561px)and (orientation:portrait){.screen.game:not(.rummikub){--game-chrome: 352px;height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:10px}.screen.game:not(.rummikub) .game-top{margin-bottom:0;flex:0 0 auto}.screen.game:not(.rummikub) .corner-decor{display:none}.screen.game:not(.rummikub) .game-body{flex:0 0 auto;min-height:0;flex-direction:column;align-items:stretch;gap:10px}.screen.game:not(.rummikub) .board-wrap{flex:0 0 auto;display:flex;align-items:center;justify-content:center}.screen.game:not(.rummikub) .board{width:min(100%,calc(100dvh - var(--game-chrome)));height:auto;max-width:100%;aspect-ratio:1 / 1;margin:0}.screen.game:not(.rummikub) .side{width:100%;flex:0 0 auto;gap:10px}.screen.game:not(.rummikub) .players{flex-direction:row;flex-wrap:nowrap;position:relative}.screen.game:not(.rummikub) .player{flex:1 1 0;min-width:0}.screen.game:not(.rummikub) .player .chip{width:28px;flex:none}.screen.game:not(.rummikub) .player .pname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen.game:not(.rummikub) .player.has-pop{position:static}.screen.game:not(.rummikub) .player-pop{top:calc(100% + 4px);left:0;right:0;width:auto}.screen.game:not(.rummikub) .controls{flex-direction:row;align-items:stretch;flex:0 0 auto}.screen.game:not(.rummikub) .selected-preview{flex:0 0 140px;min-height:48px}.screen.game:not(.rummikub) .control-row{flex:1 1 0}.screen.game:not(.rummikub) .controls>.primary.big{flex:1 1 0;min-height:48px}.screen.game:not(.rummikub) .controls .hint.small{display:none}.screen.game:not(.rummikub) .controls .waiting{flex:1 1 auto;margin:0;align-self:center;text-align:center}.screen.game:not(.rummikub) .tray-wrap{flex:1 1 auto;min-height:0;margin-top:0;display:flex}.screen.game:not(.rummikub) .tray{flex:1 1 auto;min-height:120px;overflow-y:auto;align-content:flex-start;-webkit-overflow-scrolling:touch;--tray-room: calc(100dvh - var(--game-chrome) + 120px - min(min(100vw, 1000px) - 32px, 100dvh - var(--game-chrome)));--tray-unit: clamp(11px, (var(--tray-room) - 70px) / 10, 16px)}.screen.game:not(.rummikub) .tray .piece{width:calc(var(--pw) * var(--tray-unit));height:calc(var(--ph) * var(--tray-unit))}}@media(pointer:coarse){.mini{padding:9px 12px;font-size:.9rem;min-height:40px}.seat-pick-btn{min-width:40px;height:40px}.color-pick-swatches{grid-template-columns:repeat(5,40px)}.color-pick-swatch{width:40px;height:40px}.color-pick-btn{min-height:40px}.swatch{width:40px;height:40px}.auth-bar button.mini,.seat-switch{min-height:40px}.notice{padding:14px 16px}.screen.rummikub .rk-tile{min-width:40px;height:44px}.screen.rummikub .rk-grip{min-width:24px}}.screen.rummikub .player-pop{top:calc(100% + 4px);left:0;right:auto;width:max(100%,180px)}.screen.rummikub .player:last-child .player-pop{left:auto;right:0}@media(max-width:820px)and (min-height:561px){.screen.rummikub .player-pop,.screen.rummikub .player:last-child .player-pop{left:0;right:0;width:auto}}.rk-pop-name{margin:0 0 6px;font-size:.8rem;font-weight:600}.screen.rummikub .turn-tag{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen.game.rummikub{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column;gap:8px}.screen.rummikub .game-top{margin-bottom:0;flex:0 0 auto}.screen.rummikub .players{flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;gap:6px}.screen.rummikub .player{flex:1 1 0;min-width:0;padding:5px 10px}.screen.rummikub .player .pname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player{container:player / inline-size}@container player (max-width: 110px){.player .pname{display:none}}.screen.rummikub .rk-table{flex:1 1 auto;min-height:0}.screen.rummikub .rk-controls{margin:0;flex:0 0 auto;flex-wrap:nowrap;gap:8px}.screen.rummikub .rk-controls .rk-hint{flex:1 1 auto;text-align:left;min-width:0}.screen.rummikub .rk-controls>button{white-space:nowrap;flex:0 0 auto}.screen.rummikub .rk-controls>.rk-anim-toggle{margin-left:auto}.screen.rummikub .rk-controls .rk-sort{margin-left:0}.screen.rummikub .rk-rack-wrap{flex:0 0 auto}.screen.rummikub .rk-rack-title{display:none}.screen.rummikub .rk-rack{flex-direction:row;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;padding:5px var(--rk-rack-pad-r, 5px) 5px 5px;gap:4px;min-height:0;max-width:100%;box-sizing:border-box}.screen.rummikub .rk-rack .rk-tile{flex:0 0 var(--rk-tile-w, 32px);width:var(--rk-tile-w, 32px);min-width:0;padding:0;touch-action:none}.rk-lbl-short,.rk-ico{display:none}@media(max-width:600px){.screen.rummikub .rk-controls{flex-wrap:wrap;gap:6px}.screen.rummikub .rk-controls .rk-hint{flex:1 1 100%;order:-1;text-align:center}.screen.rummikub .rk-controls>button{flex:1 1 auto;min-width:0;padding-left:8px;padding-right:8px}.screen.rummikub .rk-controls>button.rk-icon-btn{flex:0 0 44px}.screen.rummikub .rk-lbl{display:none}.screen.rummikub .rk-ico{display:inline}}@media(max-width:600px),(max-height:560px){.screen.rummikub .rk-lbl-long{display:none}.screen.rummikub .rk-lbl-short{display:inline}}@media(max-width:820px),(max-height:560px){.screen.game.rummikub{gap:6px}.screen.rummikub .player{padding:4px 5px}}@media(pointer:coarse){.screen.rummikub .rk-tile{height:40px}.screen.rummikub .rk-table .rk-tile,.screen.rummikub .rk-ghost .rk-tile{min-width:30px}}@media(min-width:1000px)and (min-height:641px)and (pointer:fine){.screen.rummikub .rk-tile{min-width:38px;height:52px;padding:0 7px;font-size:1.3rem}.screen.rummikub .rk-rack{--rk-tile-max: 38px}.screen.rummikub .rk-tile.joker:has(.rk-jv){padding-top:9px}.screen.rummikub .rk-jv{top:3px;font-size:11px}.screen.rummikub .rk-jv-dot{width:5px;height:5px}}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true],.room-code,.selectable{-webkit-user-select:text;user-select:text}.player.has-reveal{flex-wrap:wrap}.rk-reveal{flex:1 0 100%;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px}.rk-mini{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:20px;padding:0 2px;border:1px solid var(--tile-edge);border-radius:3px;background:var(--tile-face);font-weight:800;font-size:.7rem;line-height:1;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none}.rk-mini.joker{color:var(--ink-joker)}.rk-reveal-pts{margin-left:4px;color:var(--muted);font-size:.72rem;white-space:nowrap}.screen.rummikub .rk-controls>button.ghost{background:var(--panel-2);border-color:var(--rk-control-line)}.screen.rummikub .rk-controls>button.ghost:hover:not(:disabled){background:var(--rk-control-hover)}.screen.rummikub .rk-controls>button:disabled{opacity:1;color:var(--muted)}.screen.rummikub .rk-controls>button.primary:disabled{background:var(--rk-control-off)}body:has(.screen.rummikub) .notice{top:auto;bottom:var(--rk-notice-bottom, 160px);left:var(--rk-notice-x, 50%);max-width:min(90vw,520px,var(--rk-notice-max, 90vw));text-align:center;animation-name:notice-life-up}body:has(.screen.rummikub .overlay) .notice{z-index:39}@keyframes notice-life-up{0%{opacity:0;transform:translate(-50%,10px)}8%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)}}@media(max-height:560px)and (orientation:landscape){.screen.game.rummikub{display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,28vw,260px);grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"top top" "table players" "table controls" "rack rack";column-gap:8px;row-gap:6px}.screen.rummikub>.game-top{grid-area:top}.screen.rummikub>.players{grid-area:players;min-width:0;min-height:0;flex-direction:column;gap:4px}.screen.rummikub>.players:has(.has-reveal){overflow-y:auto}.screen.rummikub .player{flex:0 0 auto}.screen.rummikub .player-pop{top:0;left:auto;right:calc(100% + 8px);width:200px}.screen.rummikub>.rk-table{grid-area:table;min-height:0}.screen.rummikub>.rk-controls{grid-area:controls;align-self:end;min-width:0}.screen.rummikub>.rk-rack-wrap{grid-area:rack}.screen.rummikub .rk-bag{display:inline}.screen.rummikub .rk-bag-badge{display:none}.screen.rummikub .rk-controls:not(.final-board){display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 40px;gap:6px}.screen.rummikub .rk-controls>button{min-width:0;min-height:42px;padding-left:4px;padding-right:4px}.screen.rummikub .rk-lbl{display:none}.screen.rummikub .rk-ico{display:inline}.screen.rummikub .rk-controls .rk-hint{grid-column:1 / 4;order:0;text-align:left}.screen.rummikub .rk-controls>.rk-anim-toggle{grid-column:4;margin:0}.screen.rummikub .rk-controls.final-board{display:flex;flex-direction:column;align-items:stretch;gap:6px}.screen.rummikub .final-board .waiting{margin:0}}.rules-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;align-self:stretch;padding:0 9px;min-width:36px;background:transparent;border:1px solid var(--line);color:var(--muted);cursor:pointer}.game-top .rules-btn,.game-top .turn-tag{margin-right:auto}.rules-btn:hover,.rules-btn:focus-visible{color:var(--text)}.subtitle .rules-btn{display:inline-flex;vertical-align:middle;margin-left:8px;padding:4px 8px}.home-game-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-game-head .rules-btn{align-self:center;padding:6px 9px}.rulebook-backdrop{z-index:70;padding:12px}.modal.rulebook{max-width:560px;max-height:calc(100dvh - 24px);display:flex;flex-direction:column;padding:0;text-align:left}.rulebook-head{display:flex;align-items:center;gap:8px;padding:12px 12px 10px 18px;border-bottom:1px solid var(--line);flex:none}.modal.rulebook h2{margin:0;flex:1;min-width:0;font-size:1.15rem;line-height:1.3}.rulebook-close{flex:none;width:40px;height:40px;padding:0;font-size:1.4rem;line-height:1}.rulebook-body{overflow-y:auto;overscroll-behavior:contain;padding:4px 18px 16px;min-height:0}.rulebook-body:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.rb-goal{display:flex;flex-direction:column;gap:2px;margin:14px 0 4px;padding:10px 12px;background:var(--panel-2);border-left:3px solid var(--accent);font-size:1rem;line-height:1.4;font-weight:600}.rb-goal-tag{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.rb-h{margin:18px 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.rb-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.rb-steps>li{display:flex;gap:10px;align-items:flex-start}.rb-num{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--rb-ink);font-weight:800;font-size:.82rem}.rb-step{flex:1;min-width:0}.rb-step>p{margin:2px 0 0;font-size:.95rem;line-height:1.4}.rb-art{margin:8px 0 0}.rb-cap{font-size:.78rem;color:var(--muted);line-height:1.3}.rb-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.rb-tiles{display:inline-flex;gap:3px}.rb-art .rk-mini{min-width:22px;height:30px;font-size:.95rem;border-radius:4px;border-color:var(--rb-tile-edge)}.rb-art .rk-mini .rk-suit{width:8px;height:8px}.rb-sets{display:flex;flex-wrap:wrap;gap:10px 18px}.rb-sets>div{display:flex;flex-direction:column;gap:4px}.rb-sum{font-size:.9rem;font-weight:700;color:var(--text)}.rb-plus,.rb-arrow{color:var(--muted);font-weight:700}.rb-swap{display:flex;flex-direction:column;gap:6px}.rb-swap .rb-cap{margin-top:-2px}.rb-arrow,.rb-plus{min-width:12px;text-align:center}.rb-touch{display:grid;grid-template-columns:repeat(3,minmax(0,92px));gap:8px}.rb-touch-fig{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.rb-touch-fig svg{width:100%;max-width:72px;height:auto}.rb-touch-fig .rb-cap{display:flex;flex-direction:column;align-items:center;text-align:center}.rb-verdict{font-size:1rem;line-height:1.1}.rb-touch-fig.ok .rb-verdict{color:var(--rb-ok);font-weight:800}.rb-touch-fig.no .rb-verdict{color:var(--rb-no);font-weight:800}.rb-grid{fill:var(--rb-board);stroke:var(--rb-board-line);stroke-width:1}.rb-next{opacity:.6;stroke:var(--rb-next);stroke-width:1;stroke-dasharray:2 1.5}.rb-ok-mark{fill:var(--rb-ok);stroke:var(--rb-ink);stroke-width:1.2}.rb-no-mark{stroke:var(--rb-no);stroke-width:3;stroke-linecap:round}.rb-more{display:flex;flex-direction:column;border-top:1px solid var(--line)}.rb-more details{border-bottom:1px solid var(--line)}.rb-more summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:6px 2px;cursor:pointer;font-weight:600;font-size:.95rem}.rb-more summary::-webkit-details-marker{display:none}.rb-more summary:after{content:"";flex:none;width:7px;height:7px;margin-right:4px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg);transition:transform .15s}.rb-more details[open]>summary:after{transform:translateY(2px) rotate(225deg)}.rb-more summary:hover{color:var(--accent)}.rb-more summary:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.rb-more ul{margin:0 0 10px;padding-left:1.1em}.rb-more li{margin:4px 0;font-size:.9rem;line-height:1.4}.rb-more li::marker{color:var(--accent)}.rb-more details>.rb-art{margin:0 0 12px}@media(max-width:400px){.rulebook-head{padding:10px 8px 8px 14px}.rulebook-body{padding:2px 14px 14px}.modal.rulebook h2{font-size:1.05rem}}@media(max-height:560px){.rulebook-backdrop{padding:8px}.modal.rulebook{max-height:calc(100dvh - 16px)}.rulebook-head{padding-top:6px;padding-bottom:6px}}@media(max-width:480px){.game-top .leave-btn{padding-left:12px;padding-right:12px}.game-top .leave-word{display:none}}.cb-chip{display:inline-flex;align-items:center;justify-content:center}.cb-chip>svg{width:60%;max-width:20px;height:auto;flex:none}.rk-tile.suited{position:relative;padding-top:.86em}.screen.rummikub .rk-tile.suited{padding-top:.86em}.rk-suit{position:absolute;top:.12em;left:50%;width:.7em;height:.7em;transform:translate(-50%);pointer-events:none}.rk-mini{position:relative}.rk-mini .rk-suit{position:static;transform:none;width:.72em;height:.72em;margin-right:1px}.rk-jv-suit{display:inline-block;width:7px;height:7px;vertical-align:-1px;margin:0 1px 0 0}.game-top-end{display:flex;align-items:center;align-self:stretch;gap:8px;flex:none}.cb-toggle{flex:none;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:0 8px;line-height:0;color:var(--muted)}.cb-toggle .cb-ico{display:block}.cb-toggle.on{color:var(--accent);border-color:var(--accent)}.cb-switch{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:0 0 20px}.cb-switch .hint{text-align:left;margin:0}.field .cb-switch{margin:0}.theme-switch{margin:0 0 20px}.theme-switch>.hint{display:block;text-align:left;margin:0 0 4px}.theme-switch>.seg+.hint{margin:6px 0 0}.field .theme-switch{margin:12px 0 0}@media(max-width:400px){.game-top .cb-toggle{display:none}.game-top-end{display:contents}}@media(max-width:360px){.seat-pick .seat-pick-label{flex-basis:100%}.seat-pick .seat-pick-btn{min-width:32px}}.danger{border-color:var(--danger-line);color:var(--danger-text)}.primary.danger{background:var(--danger-fill);color:var(--on-danger)}.primary.danger:disabled{background:var(--panel-2);color:var(--muted)}.quit-card p{margin:0}.other-games{--og-w: 136px;position:fixed;left:0;top:50%;z-index:54;display:flex;align-items:center;transform:translate(calc(-1 * var(--og-w)),-50%);transition:transform .32s cubic-bezier(.55,0,.35,1);pointer-events:none}.other-games>*{pointer-events:auto}.other-games[data-open=true]{transform:translateY(-50%);transition:transform .5s cubic-bezier(.34,1.45,.5,1)}.og-panel{flex:none;box-sizing:border-box;width:var(--og-w);padding:14px 10px;background:var(--panel);border:1px solid var(--line);border-left:none;color:var(--text);box-shadow:-40px 0 0 var(--panel)}.og-title{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:var(--muted);margin:0 0 10px}.og-grid{display:flex;flex-direction:column;gap:8px}.og-link{position:relative;overflow:hidden;aspect-ratio:1 / 1;display:block;background:var(--panel-2);border:1px solid var(--line);border-radius:0;color:var(--text);text-decoration:none}.og-link:hover,.og-link:focus-visible{outline:2px solid var(--accent);outline-offset:0}.og-icon{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}:root{--og-band-bg: var(--panel);--og-band-text: var(--text);--og-band-opacity: .8;--og-band-font: var(--font-body);--og-band-border: none;--og-band-radius: 0}.og-name{position:absolute;left:0;right:0;bottom:0;padding:4px 4px 5px;background:color-mix(in srgb,var(--og-band-bg) calc(var(--og-band-opacity) * 100%),transparent);color:var(--og-band-text);border-top:var(--og-band-border);border-radius:var(--og-band-radius);font-family:var(--og-band-font);font-size:.8rem;font-weight:800;line-height:1.15;text-align:center;white-space:nowrap}.og-tab{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;height:max-content;min-height:max-content;overflow:visible;white-space:nowrap;padding:22px 11px;background:var(--accent);border:1px solid var(--accent);border-left:none;border-radius:0;color:var(--on-accent);box-shadow:0 0 12px var(--accent);font:inherit;font-size:1.1rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.og-tab:focus-visible{outline:2px solid var(--text);outline-offset:2px}.og-tab-text{writing-mode:vertical-rl;white-space:nowrap}.og-chev{font-size:1.4rem;line-height:1}@media(pointer:coarse){.og-tab-text{display:none}.og-tab{padding:18px 12px}.og-chev{font-size:1.7rem}}@media(prefers-reduced-motion:reduce){.other-games,.other-games[data-open=true]{transition:transform .2s ease-out}}.legal-links{margin:0;overflow-wrap:anywhere}.screen.home>.legal-links{text-align:center;padding:8px 0 4px}.legal-links a{color:var(--muted)}.legal-links a:hover,.legal-links a:focus-visible{color:var(--text)}[data-game=rummikub][data-skin]{--tk-r: 8px;--tk-r-btn: 6px;--tk-r-chip: 4px;--tk-r-tile: 5px;--tk-r-meld: 8px;--tk-edge: 0px;--tk-card-line: var(--line);--tk-btn-line: var(--line);--tk-chip-line: transparent;--tk-shadow-card: none;--tk-shadow-btn: none;--tk-shadow-ghost: none;--tk-shadow-pop: 0 10px 28px var(--shadow-strong);--tk-shadow-tile: 0 1px 0 rgba(0, 0, 0, .35);--tk-btn-case: none;--tk-btn-spacing: normal;--tk-btn-weight: 700;--tk-label-case: none;--tk-label-spacing: normal;--tk-title-spacing: .04em;--tk-title-weight: 700;--tk-title-shadow: none;--tk-field: var(--panel);--tk-table: var(--panel);--tk-table-line: var(--line);--tk-table-shadow: none;--tk-meld: var(--panel-2);--tk-meld-line: var(--line);--tk-meld-style: solid;--tk-grip: var(--muted);--tk-rack: var(--panel-2);--tk-rack-line: var(--line);--tk-rack-shadow: none;--tk-tile-face-2: var(--tile-face);--tk-tile-weight: 800;--tk-num-scale: 1;--tk-held: var(--text);--font-num: var(--font-body);--font-btn: var(--font-body)}[data-game=rummikub][data-skin] h1,[data-game=rummikub][data-skin] h2,[data-game=rummikub][data-skin] h3,[data-game=rummikub][data-skin] .color-pick-head{font-family:var(--font-display)}[data-game=rummikub][data-skin] .title{font-weight:var(--tk-title-weight);letter-spacing:var(--tk-title-spacing);text-shadow:var(--tk-title-shadow)}[data-game=rummikub][data-skin] .field>span,[data-game=rummikub][data-skin] .seat-pick-label,[data-game=rummikub][data-skin] .lobby-invite h3,[data-game=rummikub][data-skin] .rk-rack-title,[data-game=rummikub][data-skin] .og-title{text-transform:var(--tk-label-case);letter-spacing:var(--tk-label-spacing)}[data-game=rummikub][data-skin] .room-code strong,[data-game=rummikub][data-skin] .code-input,[data-game=rummikub][data-skin] .rk-bag,[data-game=rummikub][data-skin] .rk-bag-badge,[data-game=rummikub][data-skin] .pstat,[data-game=rummikub][data-skin] .rec-total strong,[data-game=rummikub][data-skin] .rb-num,[data-game=rummikub][data-skin] .blitz-clock,[data-game=rummikub][data-skin] .turn-clock{font-family:var(--font-num)}[data-game=rummikub][data-skin] .card,[data-game=rummikub][data-skin] .seat-row,[data-game=rummikub][data-skin] .friend-row,[data-game=rummikub][data-skin] .modal,[data-game=rummikub][data-skin] .overlay-card,[data-game=rummikub][data-skin] .spectating{border-color:var(--tk-card-line);border-radius:var(--tk-r);box-shadow:inset 0 0 0 var(--tk-edge) var(--tk-card-line),var(--tk-shadow-card)}[data-game=rummikub][data-skin] .modal,[data-game=rummikub][data-skin] .overlay-card{box-shadow:inset 0 0 0 var(--tk-edge) var(--tk-card-line),var(--tk-shadow-pop)}[data-game=rummikub][data-skin] .modal.rulebook{overflow:hidden}[data-game=rummikub][data-skin] .rejoin-card{border-color:var(--accent);box-shadow:inset 0 0 0 calc(var(--tk-edge) + 1px) var(--accent),var(--tk-shadow-card)}[data-game=rummikub][data-skin] .color-pick,[data-game=rummikub][data-skin] .ctx-menu,[data-game=rummikub][data-skin] .player-pop{background:var(--panel);border-color:var(--tk-card-line);border-radius:var(--tk-r-btn);box-shadow:var(--tk-shadow-pop)}[data-game=rummikub][data-skin] .ctx-item{border-radius:calc(var(--tk-r-btn) - 2px)}[data-game=rummikub][data-skin] .rec-total,[data-game=rummikub][data-skin] .rec-row,[data-game=rummikub][data-skin] .result{border-radius:var(--tk-r-btn)}[data-game=rummikub][data-skin] .rec-total{border-color:var(--tk-card-line)}[data-game=rummikub][data-skin] .result.win{outline:2px solid var(--accent);outline-offset:-2px}[data-game=rummikub][data-skin] .primary,[data-game=rummikub][data-skin] .ghost,[data-game=rummikub][data-skin] .mini,[data-game=rummikub][data-skin] .seg button,[data-game=rummikub][data-skin] .seat-pick-btn,[data-game=rummikub][data-skin] .rules-btn,[data-game=rummikub][data-skin] .og-tab{font-family:var(--font-btn);text-transform:var(--tk-btn-case);letter-spacing:var(--tk-btn-spacing)}[data-game=rummikub][data-skin] .primary,[data-game=rummikub][data-skin] .ghost,[data-game=rummikub][data-skin] .mini,[data-game=rummikub][data-skin] .seg button,[data-game=rummikub][data-skin] .seat-pick-btn,[data-game=rummikub][data-skin] .rules-btn{border-radius:var(--tk-r-btn);font-weight:var(--tk-btn-weight)}[data-game=rummikub][data-skin] .primary{box-shadow:var(--tk-shadow-btn)}[data-game=rummikub][data-skin] .primary:disabled{box-shadow:none}[data-game=rummikub][data-skin] .ghost,[data-game=rummikub][data-skin] .mini,[data-game=rummikub][data-skin] .seg button,[data-game=rummikub][data-skin] .seat-pick-btn,[data-game=rummikub][data-skin] .rules-btn{border-color:var(--tk-btn-line);box-shadow:var(--tk-shadow-ghost)}[data-game=rummikub][data-skin] .ghost:disabled,[data-game=rummikub][data-skin] .mini:disabled{box-shadow:none}[data-game=rummikub][data-skin] .seg button.on,[data-game=rummikub][data-skin] .mini.on{border-color:var(--accent)}[data-game=rummikub][data-skin] .seat-pick-btn.on{border-color:var(--text)}[data-game=rummikub][data-skin] .ghost.danger,[data-game=rummikub][data-skin] .mini.danger{border-color:var(--danger-line)}[data-game=rummikub][data-skin] input{font-family:var(--font-body);background:var(--tk-field);border-color:var(--tk-btn-line);border-radius:var(--tk-r-btn)}[data-game=rummikub][data-skin] input::placeholder{color:var(--muted);opacity:1}[data-game=rummikub][data-skin] .switch-track{border-radius:999px;border-color:var(--tk-btn-line)}[data-game=rummikub][data-skin] .switch-thumb{border-radius:50%}[data-game=rummikub][data-skin] .seat-switch.on .switch-track{border-color:var(--accent)}[data-game=rummikub][data-skin] .chip:not(.seat-num){border-radius:var(--tk-r-chip);box-shadow:inset 0 0 0 2px var(--tk-chip-line)}[data-game=rummikub][data-skin] .chip.seat-num,[data-game=rummikub][data-skin] .color-pick-swatch,[data-game=rummikub][data-skin] .color-pick-dot{border-radius:var(--tk-r-chip)}[data-game=rummikub][data-skin] .offline-badge{border-radius:999px}[data-game=rummikub][data-skin] .player{border-color:var(--tk-card-line);border-radius:var(--tk-r-btn);box-shadow:inset 0 0 0 var(--tk-edge) var(--tk-card-line),var(--tk-shadow-ghost)}[data-game=rummikub][data-skin] .screen.rummikub .player.is-turn{border-color:var(--seat-color, var(--accent));box-shadow:inset 0 0 0 calc(var(--tk-edge) + 1px) var(--seat-color, var(--accent)),var(--tk-shadow-ghost)}[data-game=rummikub][data-skin] .blitz-clock{border-radius:var(--tk-r-chip)}[data-game=rummikub][data-skin] .rk-table{background-color:var(--tk-table);border-color:var(--tk-table-line);border-radius:var(--tk-r);box-shadow:var(--tk-table-shadow)}[data-game=rummikub][data-skin] .rk-rows:not(:empty)+.rk-free{border-top-color:var(--tk-meld-line)}[data-game=rummikub][data-skin] .rk-table .hint{color:var(--tk-grip)}[data-game=rummikub][data-skin] .rk-meld{background:var(--tk-meld);border-color:var(--tk-meld-line);border-style:var(--tk-meld-style);border-radius:var(--tk-r-meld)}[data-game=rummikub][data-skin] .rk-grip{color:var(--tk-grip)}[data-game=rummikub][data-skin] .rk-grip:hover{color:var(--tk-held)}[data-game=rummikub][data-skin] .rk-meld.bad,[data-game=rummikub][data-skin] .rk-meld.fresh.bad,[data-game=rummikub][data-skin] .rk-meld.joker-nofit{border-style:solid;border-color:var(--rk-bad)}[data-game=rummikub][data-skin] .rk-meld.fresh{border-style:solid;border-color:var(--rk-placed)}[data-game=rummikub][data-skin] .rk-meld.joker-fits{border-style:solid;border-color:var(--rk-drawn)}[data-game=rummikub][data-skin] .rk-meld.drop,[data-game=rummikub][data-skin] .rk-table.drop,[data-game=rummikub][data-skin] .rk-rack-wrap.drop .rk-rack{border-style:solid;border-color:var(--tk-held);box-shadow:0 0 0 1px var(--tk-held) inset}[data-game=rummikub][data-skin] .rk-ghost.to-new{outline-color:var(--tk-held);border-radius:var(--tk-r-meld)}[data-game=rummikub][data-skin] .rk-tile.ins-before{box-shadow:-5px 0 0 -1px var(--tk-held)}[data-game=rummikub][data-skin] .rk-tile.ins-after{box-shadow:5px 0 0 -1px var(--tk-held)}[data-game=rummikub][data-skin] .rk-rack{background-color:var(--tk-rack);border-color:var(--tk-rack-line);border-radius:var(--tk-r);box-shadow:var(--tk-rack-shadow)}[data-game=rummikub][data-skin] .rk-tile,[data-game=rummikub][data-skin] .rk-mini{font-family:var(--font-num);font-weight:var(--tk-tile-weight)}[data-game=rummikub][data-skin] .rk-tile:not(.joker) .rk-num{font-size:calc(var(--tk-num-scale) * 1em)}[data-game=rummikub][data-skin] .rk-tile .rk-num.two{display:inline-block;width:calc(1.2em / var(--tk-num-scale));text-align:center;white-space:nowrap}[data-game=rummikub][data-skin] .rk-tile{border-radius:var(--tk-r-tile)}[data-game=rummikub][data-skin] .rk-tile:not(:is(.fresh,.recent,.drawn,.freed,.swappable,.armed-swap,.armed-refuse,.ins-before,.ins-after)){box-shadow:var(--tk-shadow-tile)}[data-game=rummikub][data-skin] .rk-tile:not(:is(.armed-refuse,.rk-back)){background:linear-gradient(var(--tile-face),var(--tk-tile-face-2))}[data-game=rummikub][data-skin] .rk-mini{background:var(--tile-face);border-radius:calc(var(--tk-r-tile) - 2px)}[data-game=rummikub][data-skin] .rk-tile.held{outline-color:var(--tk-held);outline-offset:2px}[data-game=rummikub][data-skin] .rk-tile.rk-back{background:repeating-linear-gradient(135deg,var(--tile-back) 0 4px,var(--tile-face) 4px 8px)}[data-game=rummikub][data-skin] .screen.rummikub .rk-controls>button.ghost{background:var(--panel-2);border-color:var(--rk-control-line)}[data-game=rummikub][data-skin] .screen.rummikub .rk-controls>button.ghost:hover:not(:disabled){background:var(--rk-control-hover)}[data-game=rummikub][data-skin] .screen.rummikub .rk-controls>button.primary:disabled{background:var(--rk-control-off)}[data-game=rummikub][data-skin] .rk-bag-badge{border:1px solid var(--tk-btn-line)}[data-game=rummikub][data-skin] .rb-goal{border-radius:0 var(--tk-r-btn) var(--tk-r-btn) 0}[data-game=rummikub][data-skin] .rb-num{border-radius:var(--tk-r-chip)}[data-game=rummikub][data-skin] .rb-art .rk-mini{background:linear-gradient(var(--tile-face),var(--tk-tile-face-2))}[data-game=rummikub][data-skin] .og-panel{border-color:var(--tk-card-line);border-radius:0 var(--tk-r) var(--tk-r) 0}[data-game=rummikub][data-skin] .og-link{border-color:var(--tk-btn-line);border-radius:var(--tk-r-btn)}[data-game=rummikub][data-skin] .og-letter{font-family:var(--font-display)}[data-game=rummikub][data-skin] .og-tab{border-radius:0 var(--tk-r-btn) var(--tk-r-btn) 0}@media(min-width:821px)and (min-height:561px){[data-game=rummikub][data-skin] .screen.rummikub .player{flex-wrap:wrap;align-content:center;column-gap:6px;row-gap:3px;height:48px;overflow:hidden}[data-game=rummikub][data-skin] .screen.rummikub .players:has(.has-reveal) .player{height:auto;min-height:48px;overflow:visible}[data-game=rummikub][data-skin] .screen.rummikub .player :is(.pname,.pmeta){display:contents}[data-game=rummikub][data-skin] .screen.rummikub .player .chip:not(.seat-num){width:30px;height:20px;align-self:center}[data-game=rummikub][data-skin] .screen.rummikub .player .pname-text{flex:0 1 auto;min-width:0;max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}[data-game=rummikub][data-skin] .screen.rummikub .player :is(.pname-tag,.first-tag,.offline-badge){margin-left:0;flex:none;white-space:nowrap}[data-game=rummikub][data-skin] .screen.rummikub .player .pname-tag{color:var(--muted);font-size:.72rem;line-height:1.1}[data-game=rummikub][data-skin] .screen.rummikub .player .pstat{margin-left:auto;flex:none;white-space:nowrap}[data-game=rummikub][data-skin] .screen.rummikub .player .turn-clock{display:none}}@media(max-width:820px),(max-height:560px){[data-game=rummikub][data-skin] .screen.rummikub .rk-controls>button{letter-spacing:0}[data-game=rummikub][data-skin] .screen.rummikub .player .pstat{font-family:var(--font-body);letter-spacing:-.02em}}[data-game=rummikub][data-skin] .hero[data-game=rummikub]{display:flex;gap:8px;margin:-10px 0 18px}[data-game=rummikub][data-skin] .hero .rk-mini{min-width:32px;height:44px;padding:0 4px;font-size:1.2rem;border-color:var(--tile-edge);border-radius:var(--tk-r-tile);background:linear-gradient(var(--tile-face),var(--tk-tile-face-2));box-shadow:var(--tk-shadow-tile)}@media(max-width:400px){[data-game=rummikub][data-skin] .hero[data-game=rummikub]{gap:5px}[data-game=rummikub][data-skin] .hero .rk-mini{min-width:26px;height:36px;font-size:1rem}}@font-face{font-family:Alegreya fallback;src:local("Georgia");font-weight:400 600;size-adjust:79%;ascent-override:129%;descent-override:44%;line-gap-override:0%}@font-face{font-family:Alegreya fallback;src:local("Georgia Bold"),local("Georgia-Bold");font-weight:700 900;size-adjust:79%;ascent-override:129%;descent-override:44%;line-gap-override:0%}@font-face{font-family:Alegreya Sans fallback;src:local("Segoe UI"),local("SegoeUI"),local("Roboto"),local("Roboto-Regular"),local("Helvetica Neue"),local("HelveticaNeue"),local("Arial"),local("ArialMT");font-weight:400 500;size-adjust:85%;ascent-override:94%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Alegreya Sans fallback;src:local("Segoe UI Bold"),local("SegoeUI-Bold"),local("Roboto Bold"),local("Roboto-Bold"),local("Helvetica Neue Bold"),local("HelveticaNeue-Bold"),local("Arial Bold"),local("Arial-BoldMT");font-weight:600 900;size-adjust:83.5%;ascent-override:96%;descent-override:24%;line-gap-override:0%}[data-game=rummikub][data-skin=parlor]{--font-display: "Alegreya", "Alegreya fallback", Georgia, "Times New Roman", serif;--font-body: "Alegreya Sans", "Alegreya Sans fallback", "Nunito", system-ui, sans-serif;--font-num: "Fredoka", "Alegreya Sans", "Nunito", system-ui, sans-serif;--font-btn: var(--font-body);--tk-r: 12px;--tk-r-btn: 10px;--tk-r-chip: 6px;--tk-r-tile: 7px;--tk-r-meld: 10px;--tk-edge: 1px;--tk-shadow-card: 0 4px 0 var(--tk-shadow-ink);--tk-shadow-btn: 0 3px 0 var(--tk-shadow-ink);--tk-shadow-ghost: 0 3px 0 var(--tk-shadow-ink);--tk-shadow-pop: 0 6px 0 var(--tk-shadow-ink), 0 18px 40px var(--shadow-strong);--tk-shadow-tile: 0 3px 0 var(--tk-tile-shadow);--tk-title-spacing: .04em;--tk-title-weight: 800;--tk-tile-weight: 600;--tk-num-scale: 1.15;--tile-face: #fbf3df;--tk-tile-face-2: #efe2c2;--tile-edge: #2b1d10;--tile-ink: #1c1f26;--tile-back: #c9b48a;--ink-red: #e63c64;--ink-blue: #1d52b0;--ink-black: #1c1f26;--ink-orange: #ae6400;--ink-joker: #7b2fbe;--rk-drawn: #39d0e6;--rk-recent: #f6c445;--rk-placed: #4fd07a;--rk-freed: #f59e0b;--rk-bad: #ffa99c;--rk-arc: #ffffff;--tk-held: #fbf3df;--tk-grip: #a9cdb9;--rb-tile-edge: #2b1d10}[data-game=rummikub][data-skin=parlor][data-theme=dark]{--bg: #24170d;--panel: #33251a;--panel-2: #3f2e1f;--line: #9c7a44;--text: #f3e6c8;--muted: #d4c09a;--accent: #e8b84f;--on-accent: #24170d;--ok: #8fd18a;--on-ok: #24170d;--danger: #f3958a;--on-danger: #24170d;--danger-line: #f3958a;--danger-text: #f3958a;--danger-fill: #f3958a;--warn: #e8b84f;--on-warn: #24170d;--host-star: #f6c445;--host-star-halo: rgba(11, 7, 4, .9);--banner-bg: #5b3b22;--banner-text: #f3e6c8;--notice-error-bg: #4a2018;--notice-error-text: #ffd9cf;--notice-error-line: #a5493a;--notice-success-bg: #1e3a24;--notice-success-text: #d4f5cf;--notice-success-line: #4f8a57;--notice-info-bg: #1a3f2e;--notice-info-text: #e3f2ea;--notice-info-line: #5a9c7c;--shadow: rgba(11, 7, 4, .55);--shadow-strong: rgba(11, 7, 4, .65);--modal-scrim: rgba(12, 7, 3, .62);--scrim: rgba(12, 7, 3, .62);--decor-0: #5b3b22;--decor-1: #7a5232;--decor-2: #3f2e1f;--decor-3: #1e4a36;--rk-control-line: #9c7a44;--rk-control-hover: #4c3826;--rk-control-off: #4a3826;--seat-0: #2dd4bf;--seat-1: #f472b6;--seat-2: #a3e635;--seat-3: #a78bfa;--rb-ink: #24170d;--rb-ok: #8fd18a;--rb-no: #f3958a;--rb-board: #1e4a36;--rb-board-line: #3d7a5c;--rb-next: #fbf3df;--tk-shadow-ink: #0b0704;--tk-tile-shadow: #0b0704;--tk-chip-line: #0b0704;--tk-field: #2a1d12;--tk-frame: #5b3b22;--tk-table: #1e4a36;--tk-table-line: #9c7a44;--tk-meld: #1a3f2e;--tk-meld-line: #3d7a5c;--tk-rack: #5b3b22;--tk-rack-line: #9c7a44;--tk-title-shadow: 0 4px 0 #0b0704;--tk-grain: rgba(0, 0, 0, .05)}[data-game=rummikub][data-skin=parlor][data-theme=light]{--bg: #e8dcc0;--panel: #fbf4e2;--panel-2: #f1e5c8;--line: #2b1d10;--text: #2b1d10;--muted: #5b4630;--accent: #8a5a10;--on-accent: #fbf4e2;--ok: #2f6a2f;--on-ok: #fbf4e2;--danger: #a12e25;--on-danger: #fbf4e2;--danger-line: #a12e25;--danger-text: #a12e25;--danger-fill: #a12e25;--warn: #c9962e;--on-warn: #2b1d10;--host-star: #c9962e;--host-star-halo: rgba(43, 29, 16, .85);--banner-bg: #f6d98a;--banner-text: #2b1d10;--notice-error-bg: #fbe1d9;--notice-error-text: #6e1d15;--notice-error-line: #a12e25;--notice-success-bg: #e2f0d9;--notice-success-text: #1f4a1f;--notice-success-line: #2f6a2f;--notice-info-bg: #dcebe2;--notice-info-text: #173a2a;--notice-info-line: #2f6b4f;--shadow: rgba(43, 29, 16, .25);--shadow-strong: rgba(43, 29, 16, .3);--modal-scrim: rgba(43, 29, 16, .45);--scrim: rgba(43, 29, 16, .45);--decor-0: #d9c9a3;--decor-1: #cdb98d;--decor-2: #e1d2ae;--decor-3: #b9cdb0;--rk-control-line: #2b1d10;--rk-control-hover: #e8d9b4;--rk-control-off: #e3d5b4;--seat-0: #0b7a70;--seat-1: #db2777;--seat-2: #4d7c0f;--seat-3: #7c3aed;--rb-ink: #fbf4e2;--rb-ok: #2f6a2f;--rb-no: #a12e25;--rb-board: #2f6b4f;--rb-board-line: #5a9c7c;--rb-next: #fbf3df;--tk-shadow-ink: #2b1d10;--tk-tile-shadow: #2b1d10;--tk-chip-line: #2b1d10;--tk-field: #fffaf0;--tk-frame: #7a5232;--tk-table: #2f6b4f;--tk-table-line: #2b1d10;--tk-meld: #285e45;--tk-meld-line: #5a9c7c;--tk-rack: #7a5232;--tk-rack-line: #2b1d10;--tk-title-shadow: 0 3px 0 #c9962e;--tk-grain: rgba(43, 29, 16, .045);--tk-grip: #cfe6da;--rk-freed: #ffb02e}[data-game=rummikub][data-skin=parlor] body{background-image:repeating-linear-gradient(90deg,var(--tk-grain) 0 2px,transparent 2px 9px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 23px)}[data-game=rummikub][data-skin=parlor][data-theme=light] .card,[data-game=rummikub][data-skin=parlor][data-theme=light] .modal,[data-game=rummikub][data-skin=parlor][data-theme=light] .overlay-card{--tk-edge: 2px}[data-game=rummikub][data-skin=parlor] .title{color:var(--text)}[data-game=rummikub][data-skin=parlor] .primary{font-family:var(--font-display);letter-spacing:.02em}[data-game=rummikub][data-skin=parlor] .seg button:not(.on),[data-game=rummikub][data-skin=parlor] .mini:not(.on){background:var(--panel-2)}[data-game=rummikub][data-skin=parlor] .ghost:not(:disabled):active,[data-game=rummikub][data-skin=parlor] .mini:not(:disabled):active,[data-game=rummikub][data-skin=parlor] .primary:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 var(--tk-shadow-ink)}[data-game=rummikub][data-skin=parlor] .rk-table{background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.2px),radial-gradient(rgba(0,0,0,.08) 1px,transparent 1.2px);background-size:5px 5px,7px 7px;--tk-table-shadow: inset 0 0 0 5px var(--tk-frame), inset 0 8px 18px rgba(0, 0, 0, .35), 0 4px 0 var(--tk-shadow-ink)}[data-game=rummikub][data-skin=parlor] .rk-table.drop{box-shadow:inset 0 0 0 5px var(--tk-frame),0 0 0 2px var(--tk-held)}[data-game=rummikub][data-skin=parlor] .rk-meld:not(:is(.fresh,.bad,.joker-fits,.joker-nofit,.drop)){box-shadow:inset 0 1px 4px #00000040}[data-game=rummikub][data-skin=parlor] .rk-rack{background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 11px);--tk-rack-shadow: inset 0 3px 0 rgba(0, 0, 0, .25), 0 4px 0 var(--tk-shadow-ink)}[data-game=rummikub][data-skin=parlor] .rk-tile{--tk-shadow-tile: inset 0 0 0 1px var(--tile-edge), 0 3px 0 var(--tk-tile-shadow)}[data-game=rummikub][data-skin=parlor] .player{background:var(--panel)}[data-game=rummikub][data-skin=parlor] .result.win{background:color-mix(in srgb,var(--accent) 18%,var(--panel-2))}[data-game=rummikub][data-skin=parlor] .og-tab{border-color:var(--tk-shadow-ink);box-shadow:0 3px 0 var(--tk-shadow-ink);font-family:var(--font-display)}[data-game=rummikub][data-skin=parlor] .hero .rk-mini{rotate:-4deg}[data-game=rummikub][data-skin=parlor] .hero .rk-mini:nth-child(2n){rotate:3deg;translate:0 4px}[data-game=rummikub][data-skin=parlor] .hero .rk-mini{--tk-shadow-tile: inset 0 0 0 1px var(--tile-edge), 0 3px 0 var(--tk-tile-shadow)}@font-face{font-family:JetBrains Mono fallback;src:local("Consolas");font-weight:400 500;size-adjust:109%;ascent-override:94%;descent-override:28%;line-gap-override:0%}@font-face{font-family:JetBrains Mono fallback;src:local("Consolas Bold"),local("Consolas-Bold");font-weight:600 900;size-adjust:109%;ascent-override:94%;descent-override:28%;line-gap-override:0%}[data-game=rummikub][data-skin=ink]{--font-display: "JetBrains Mono", "JetBrains Mono fallback", ui-monospace, Consolas, monospace;--font-body: "JetBrains Mono", "JetBrains Mono fallback", ui-monospace, Consolas, monospace;--font-num: "JetBrains Mono", "JetBrains Mono fallback", ui-monospace, Consolas, monospace;--font-btn: var(--font-body);--tk-r: 6px;--tk-r-btn: 6px;--tk-r-chip: 4px;--tk-r-tile: 5px;--tk-r-meld: 6px;--tk-edge: 1px;--tk-shadow-card: 3px 3px 0 var(--tk-hard);--tk-shadow-btn: 3px 3px 0 var(--tk-hard);--tk-shadow-ghost: 3px 3px 0 var(--tk-hard);--tk-shadow-pop: 5px 5px 0 var(--tk-hard);--tk-btn-case: uppercase;--tk-btn-spacing: .06em;--tk-btn-weight: 700;--tk-label-case: uppercase;--tk-label-spacing: .1em;--tk-title-spacing: .12em;--tk-title-weight: 800;--tk-tile-weight: 800;--tk-num-scale: 1;--tk-meld-style: dashed;--tile-ink: #1c1f26;--ink-red: #e63c64;--ink-blue: #1d52b0;--ink-black: #1c1f26;--ink-orange: #ae6400;--ink-joker: #6b2fc4;--rk-arc: #ffffff}[data-game=rummikub][data-skin=ink][data-theme=dark]{--bg: #0e1114;--panel: #14181c;--panel-2: #1d2227;--line: #e6e9dc;--text: #e6e9dc;--muted: #a6aa9e;--accent: #e6e9dc;--on-accent: #0e1114;--ok: #5fd08a;--on-ok: #0e1114;--danger: #ff7a4d;--on-danger: #0e1114;--danger-line: #ff7a4d;--danger-text: #ff7a4d;--danger-fill: #ff7a4d;--warn: #f0b04a;--on-warn: #0e1114;--host-star: #f0c04a;--host-star-halo: rgba(14, 17, 20, .9);--banner-bg: #e6e9dc;--banner-text: #0e1114;--notice-error-bg: #14181c;--notice-error-text: #ff9e7d;--notice-error-line: #ff7a4d;--notice-success-bg: #14181c;--notice-success-text: #8fe0ad;--notice-success-line: #5fd08a;--notice-info-bg: #14181c;--notice-info-text: #e6e9dc;--notice-info-line: #e6e9dc;--shadow: rgba(0, 0, 0, .5);--shadow-strong: rgba(0, 0, 0, .6);--modal-scrim: rgba(14, 17, 20, .82);--scrim: rgba(14, 17, 20, .82);--decor-0: #1d2227;--decor-1: #262c32;--decor-2: #14181c;--decor-3: #2e353c;--tile-face: #eceee6;--tk-tile-face-2: #eceee6;--tile-edge: #0e1114;--tile-back: #a6aa9e;--rk-drawn: #2fd3dc;--rk-recent: #f0c04a;--rk-placed: #5fd08a;--rk-freed: #f0961e;--rk-bad: #ff7a4d;--rk-control-line: #e6e9dc;--rk-control-hover: #2a3036;--rk-control-off: #1d2227;--seat-0: #2dd4bf;--seat-1: #f472b6;--seat-2: #a3e635;--seat-3: #a78bfa;--rb-ink: #0e1114;--rb-tile-edge: #0e1114;--rb-ok: #5fd08a;--rb-no: #ff7a4d;--rb-board: #14181c;--rb-board-line: #a6aa9e;--rb-next: #e6e9dc;--tk-hard: rgba(230, 233, 220, .28);--tk-tile-hard: rgba(230, 233, 220, .3);--tk-dot: rgba(230, 233, 220, .14);--tk-chip-line: #0e1114;--tk-field: #14181c;--tk-table: #0e1114;--tk-table-line: #e6e9dc;--tk-meld: #14181c;--tk-meld-line: #a6aa9e;--tk-grip: #a6aa9e;--tk-rack: #14181c;--tk-rack-line: #e6e9dc;--tk-held: #e6e9dc}[data-game=rummikub][data-skin=ink][data-theme=light]{--bg: #f4f5f2;--panel: #fbfbf9;--panel-2: #e8e9e4;--line: #11151a;--text: #11151a;--muted: #4a4f55;--accent: #11151a;--on-accent: #f4f5f2;--ok: #1d7a40;--on-ok: #ffffff;--danger: #c8320e;--on-danger: #ffffff;--danger-line: #c8320e;--danger-text: #b02a0a;--danger-fill: #c8320e;--warn: #9a5600;--on-warn: #ffffff;--host-star: #a87600;--host-star-halo: rgba(255, 255, 255, .9);--banner-bg: #11151a;--banner-text: #f4f5f2;--notice-error-bg: #fbfbf9;--notice-error-text: #b02a0a;--notice-error-line: #c8320e;--notice-success-bg: #fbfbf9;--notice-success-text: #1d7a40;--notice-success-line: #1d7a40;--notice-info-bg: #fbfbf9;--notice-info-text: #11151a;--notice-info-line: #11151a;--shadow: rgba(17, 21, 26, .2);--shadow-strong: rgba(17, 21, 26, .3);--modal-scrim: rgba(244, 245, 242, .8);--scrim: rgba(244, 245, 242, .8);--decor-0: #e2e3de;--decor-1: #d6d8d1;--decor-2: #ebece7;--decor-3: #cfd1ca;--tile-face: #ffffff;--tk-tile-face-2: #ffffff;--tile-edge: #11151a;--tile-back: #c9cbc4;--rk-drawn: #0e7f99;--rk-recent: #a87600;--rk-placed: #1d7a40;--rk-freed: #b45f06;--rk-bad: #c8320e;--rk-arc: #ffffff;--rk-control-line: #11151a;--rk-control-hover: #dcded8;--rk-control-off: #e8e9e4;--seat-0: #0d9488;--seat-1: #be2a78;--seat-2: #4d7c0f;--seat-3: #6d4bd0;--rb-ink: #f4f5f2;--rb-tile-edge: #11151a;--rb-ok: #1d7a40;--rb-no: #c8320e;--rb-board: #fbfbf9;--rb-board-line: #11151a;--rb-next: #11151a;--tk-hard: #11151a;--tk-tile-hard: #11151a;--tk-dot: rgba(17, 21, 26, .14);--tk-chip-line: #11151a;--tk-field: #fbfbf9;--tk-table: #f4f5f2;--tk-table-line: #11151a;--tk-meld: #fbfbf9;--tk-meld-line: #11151a;--tk-grip: #4a4f55;--tk-rack: #fbfbf9;--tk-rack-line: #11151a;--tk-held: #11151a}[data-game=rummikub][data-skin=ink] body{background-image:radial-gradient(var(--tk-dot) 1px,transparent 1.3px);background-size:7px 7px}[data-game=rummikub][data-skin=ink] .rk-table{background-image:radial-gradient(var(--tk-dot) 1px,transparent 1.3px);background-size:5px 5px}[data-game=rummikub][data-skin=ink] .card>h2,[data-game=rummikub][data-skin=ink] .home-game-head h2,[data-game=rummikub][data-skin=ink] .lobby-invite h3{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;flex:1;min-width:0}[data-game=rummikub][data-skin=ink] .card>h2:after,[data-game=rummikub][data-skin=ink] .home-game-head h2:after,[data-game=rummikub][data-skin=ink] .lobby-invite h3:after{content:"";flex:1;border-bottom:2px dotted var(--line)}[data-game=rummikub][data-skin=ink] .overlay-card h2,[data-game=rummikub][data-skin=ink] .modal h2{text-transform:uppercase;letter-spacing:.08em}[data-game=rummikub][data-skin=ink] .rb-goal{border-left-width:4px}[data-game=rummikub][data-skin=ink] .seg button.on,[data-game=rummikub][data-skin=ink] .mini.on{box-shadow:inset 0 0 0 2px var(--on-accent),var(--tk-shadow-ghost)}[data-game=rummikub][data-skin=ink] .seg button:not(.on),[data-game=rummikub][data-skin=ink] .mini:not(.on){background:var(--panel)}[data-game=rummikub][data-skin=ink] .primary:not(:disabled):active,[data-game=rummikub][data-skin=ink] .ghost:not(:disabled):active,[data-game=rummikub][data-skin=ink] .mini:not(:disabled):active{transform:translate(3px,3px);box-shadow:none}[data-game=rummikub][data-skin=ink] .primary{box-shadow:inset 0 0 0 1px var(--accent),var(--tk-shadow-btn)}[data-game=rummikub][data-skin=ink] .rk-tile{--tk-shadow-tile: inset 0 0 0 1px var(--tile-edge), 2px 2px 0 var(--tk-tile-hard)}[data-game=rummikub][data-skin=ink] .rk-mini{border-color:var(--tile-edge)}[data-game=rummikub][data-skin=ink] .rk-rack{box-shadow:inset 0 0 0 1px var(--tk-rack-line),var(--tk-shadow-card)}[data-game=rummikub][data-skin=ink] .screen.rummikub .player.is-turn{background:var(--seat-color, var(--accent));border-color:var(--line);color:#0e1114;box-shadow:inset 0 0 0 1px var(--line),var(--tk-shadow-ghost)}[data-game=rummikub][data-skin=ink] .screen.rummikub .player.is-turn :is(.pstat,.first-tag,.turn-clock,.pname-tag){color:#0e1114}[data-game=rummikub][data-skin=ink] .screen.rummikub .player.is-turn .chip:not(.seat-num){box-shadow:inset 0 0 0 2px #0e1114}[data-game=rummikub][data-skin=ink] .result.win{background:var(--text);color:var(--bg);outline:none}[data-game=rummikub][data-skin=ink] .result.win :is(.pstat,.rank,.pname){color:var(--bg)}[data-game=rummikub][data-skin=ink] .result.win .mini{color:var(--text)}[data-game=rummikub][data-skin=ink] .og-tab{box-shadow:3px 3px 0 var(--tk-hard)}[data-game=rummikub][data-skin=ink] .seg button{letter-spacing:.02em}@media(max-width:400px){[data-game=rummikub][data-skin=ink] .screen.rummikub .player{padding-left:3px;padding-right:3px}[data-game=rummikub][data-skin=ink] .screen.rummikub .player .pstat{font-size:.56rem;letter-spacing:-.05em}[data-game=rummikub][data-skin=ink] .screen.rummikub .rk-controls>button{font-size:.85rem}[data-game=rummikub][data-skin=ink] .seg button{letter-spacing:0;font-size:.8rem;padding-left:4px;padding-right:4px}}@media(max-width:480px){[data-game=rummikub][data-skin=ink] .title{font-size:min(2.4rem,9.5vw);letter-spacing:.08em}[data-game=rummikub][data-skin=ink] .room-code{font-size:min(2.6rem,9.5vw)}}[data-game=rummikub][data-skin=ink] .hero .rk-mini{--tk-shadow-tile: inset 0 0 0 1px var(--tile-edge), 2px 2px 0 var(--tk-tile-hard)}@font-face{font-family:Manrope fallback;src:local("Segoe UI"),local("SegoeUI");font-weight:400 600;size-adjust:100%;ascent-override:107%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Manrope fallback;src:local("Segoe UI Bold"),local("SegoeUI-Bold");font-weight:700 900;size-adjust:98%;ascent-override:109%;descent-override:31%;line-gap-override:0%}[data-game=rummikub][data-skin=console]{--font-display: "Unbounded", "Manrope", "Manrope fallback", system-ui, sans-serif;--font-body: "Manrope", "Manrope fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "Unbounded", "Manrope", system-ui, sans-serif;--font-btn: var(--font-body);--tk-r: 16px;--tk-r-btn: 10px;--tk-r-chip: 6px;--tk-r-tile: 8px;--tk-r-meld: 12px;--tk-edge: 0px;--tk-btn-case: uppercase;--tk-btn-spacing: .08em;--tk-btn-weight: 800;--tk-label-case: uppercase;--tk-label-spacing: .12em;--tk-title-spacing: .18em;--tk-title-weight: 700;--tk-tile-weight: 700;--tk-num-scale: .76;--tile-ink: #1c1f26;--ink-red: #e63c64;--ink-blue: #1d52b0;--ink-black: #1c1f26;--ink-orange: #ae6400;--ink-joker: #7c3aed;--rk-arc: #ffffff}[data-game=rummikub][data-skin=console][data-theme=dark]{--bg: #030a14;--panel: #0b1c32;--panel-2: #12284a;--line: #1f3d63;--text: #eef6ff;--muted: #8fb0cc;--accent: #5ce1ff;--on-accent: #031423;--ok: #5cf29a;--on-ok: #031423;--danger: #ff6b6b;--on-danger: #1a0505;--danger-line: #ff6b6b;--danger-text: #ff8a8a;--danger-fill: #ff6b6b;--warn: #ffd23f;--on-warn: #1a1400;--host-star: #ffd23f;--host-star-halo: rgba(3, 10, 20, .9);--banner-bg: #12284a;--banner-text: #eef6ff;--notice-error-bg: #2a0e1a;--notice-error-text: #ffc9c9;--notice-error-line: #7a2a3a;--notice-success-bg: #0a2a22;--notice-success-text: #c9ffe0;--notice-success-line: #1f6b4e;--notice-info-bg: #0b2240;--notice-info-text: #d6f6ff;--notice-info-line: #2c5a80;--shadow: rgba(0, 0, 0, .5);--shadow-strong: rgba(0, 0, 0, .6);--modal-scrim: rgba(3, 10, 20, .74);--scrim: rgba(3, 10, 20, .74);--decor-0: #0b1c32;--decor-1: #12284a;--decor-2: #0e2340;--decor-3: #173459;--tile-face: #fbfcfd;--tk-tile-face-2: #dfe5ec;--tile-edge: #8d97a3;--tile-back: #8fb0cc;--rk-drawn: #5ce1ff;--rk-recent: #ffd23f;--rk-placed: #5cf29a;--rk-freed: #ffb020;--rk-bad: #ff6b6b;--rk-control-line: #2c5a80;--rk-control-hover: #1b3d66;--rk-control-off: #12284a;--seat-0: #2dd4bf;--seat-1: #f472b6;--seat-2: #a3e635;--seat-3: #a78bfa;--rb-ink: #031423;--rb-tile-edge: #8d97a3;--rb-ok: #5cf29a;--rb-no: #ff6b6b;--rb-board: #06142a;--rb-board-line: #2c5a80;--rb-next: #eef6ff;--tk-card-line: #1f3d63;--tk-btn-line: #2c5a80;--tk-chip-line: rgba(3, 10, 20, .6);--tk-shadow-card: 0 12px 32px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .05);--tk-shadow-pop: 0 20px 60px rgba(0, 0, 0, .6), 0 0 0 1px #2c5a80;--tk-shadow-tile: inset 0 -2px 0 var(--tile-edge), 0 2px 0 #4d5a69, 0 6px 12px rgba(0, 0, 0, .35);--tk-key-top: #173459;--tk-key-bot: #0e2340;--tk-key-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 1px 0 rgba(0, 0, 0, .4);--tk-glow: 0 0 0 1px var(--accent), 0 0 18px -2px rgba(92, 225, 255, .7);--tk-turn-glow: 0 0 18px -4px var(--seat-color, var(--accent));--tk-sheen: linear-gradient(rgba(255, 255, 255, .035), rgba(255, 255, 255, 0));--tk-field: #06142a;--tk-table: #06142a;--tk-table-line: #1f3d63;--tk-grid: rgba(92, 225, 255, .06);--tk-meld: #0b1c32;--tk-meld-line: #2c5a80;--tk-grip: #8fb0cc;--tk-rack: #0b1c32;--tk-rack-line: #1f3d63;--tk-held: #eef6ff;--tk-halo: radial-gradient(1200px 700px at 50% -10%, rgba(92, 225, 255, .1), transparent 70%)}[data-game=rummikub][data-skin=console][data-theme=light]{--bg: #e3eaf1;--panel: #ffffff;--panel-2: #eef3f8;--line: #b4c5d6;--text: #0b2545;--muted: #4e6680;--accent: #00798c;--on-accent: #ffffff;--ok: #11804a;--on-ok: #ffffff;--danger: #c62828;--on-danger: #ffffff;--danger-line: #c62828;--danger-text: #b71c1c;--danger-fill: #c62828;--warn: #a35f00;--on-warn: #ffffff;--host-star: #d99a00;--host-star-halo: rgba(11, 37, 69, .7);--banner-bg: #d6f1f5;--banner-text: #0b2545;--notice-error-bg: #fde8e8;--notice-error-text: #7f1414;--notice-error-line: #e5a3a3;--notice-success-bg: #e1f5ea;--notice-success-text: #0b4d2b;--notice-success-line: #8fcfac;--notice-info-bg: #e0f3f6;--notice-info-text: #0b2545;--notice-info-line: #8ccbd5;--shadow: rgba(11, 37, 69, .18);--shadow-strong: rgba(11, 37, 69, .25);--modal-scrim: rgba(11, 37, 69, .32);--scrim: rgba(11, 37, 69, .32);--decor-0: #cfdbe7;--decor-1: #d8e2ec;--decor-2: #c3d2e1;--decor-3: #bfe0e6;--tile-face: #ffffff;--tk-tile-face-2: #e9eef4;--tile-edge: #74859a;--tile-back: #b4c5d6;--rk-drawn: #0891b2;--rk-recent: #a36f00;--rk-placed: #11804a;--rk-freed: #c46a00;--rk-bad: #c62828;--rk-control-line: #9fb3c8;--rk-control-hover: #e6edf4;--rk-control-off: #e6edf4;--seat-0: #0f8f80;--seat-1: #c0307a;--seat-2: #4d7c0f;--seat-3: #6d4fd8;--rb-ink: #ffffff;--rb-tile-edge: #74859a;--rb-ok: #11804a;--rb-no: #c62828;--rb-board: #f6f9fc;--rb-board-line: #b4c5d6;--rb-next: #0b2545;--tk-card-line: #c9d6e2;--tk-btn-line: #9fb3c8;--tk-chip-line: rgba(11, 37, 69, .25);--tk-shadow-card: 0 6px 20px rgba(11, 37, 69, .1);--tk-shadow-pop: 0 18px 50px rgba(11, 37, 69, .25);--tk-shadow-tile: inset 0 -2px 0 #b4c5d6, 0 2px 0 var(--tile-edge), 0 4px 10px rgba(11, 37, 69, .18);--tk-key-top: #ffffff;--tk-key-bot: #e6edf4;--tk-key-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 1px 0 rgba(11, 37, 69, .12);--tk-glow: 0 4px 14px -4px rgba(0, 121, 140, .55);--tk-turn-glow: 0 4px 14px -6px var(--seat-color, var(--accent));--tk-sheen: none;--tk-field: #f6f9fc;--tk-table: #f6f9fc;--tk-table-line: #c9d6e2;--tk-grid: rgba(0, 121, 140, .07);--tk-meld: #ffffff;--tk-meld-line: #b4c5d6;--tk-grip: #4e6680;--tk-rack: #ffffff;--tk-rack-line: #c9d6e2;--tk-held: #0b2545;--tk-halo: radial-gradient(1200px 700px at 50% -10%, rgba(0, 121, 140, .08), transparent 70%)}[data-game=rummikub][data-skin=console] body{background-image:var(--tk-halo);background-attachment:fixed}[data-game=rummikub][data-skin=console] .ghost,[data-game=rummikub][data-skin=console] .mini:not(.on),[data-game=rummikub][data-skin=console] .seg button:not(.on),[data-game=rummikub][data-skin=console] .seat-pick-btn,[data-game=rummikub][data-skin=console] .rules-btn,[data-game=rummikub][data-skin=console] .screen.rummikub .rk-controls>button.ghost{background:linear-gradient(var(--tk-key-top),var(--tk-key-bot));box-shadow:var(--tk-key-shadow)}[data-game=rummikub][data-skin=console] .screen.rummikub .rk-controls>button.ghost:hover:not(:disabled){background:linear-gradient(var(--rk-control-hover),var(--tk-key-bot))}[data-game=rummikub][data-skin=console] .primary:not(:disabled){box-shadow:var(--tk-glow)}[data-game=rummikub][data-skin=console] .seat-switch.on .switch-thumb{box-shadow:0 0 8px var(--accent)}[data-game=rummikub][data-skin=console] .card>h2,[data-game=rummikub][data-skin=console] .home-game-head h2,[data-game=rummikub][data-skin=console] .lobby-invite h3{text-transform:uppercase;letter-spacing:.12em;font-size:.95rem}[data-game=rummikub][data-skin=console] .overlay-card h2,[data-game=rummikub][data-skin=console] .modal h2{letter-spacing:.06em}[data-game=rummikub][data-skin=console] .seat-row,[data-game=rummikub][data-skin=console] .player,[data-game=rummikub][data-skin=console] .friend-row,[data-game=rummikub][data-skin=console] .card{background-image:var(--tk-sheen)}[data-game=rummikub][data-skin=console] .screen.rummikub .player.is-turn{box-shadow:inset 0 0 0 1px var(--seat-color, var(--accent)),var(--tk-turn-glow)}[data-game=rummikub][data-skin=console] .rk-table{background-image:linear-gradient(var(--tk-grid) 1px,transparent 1px),linear-gradient(90deg,var(--tk-grid) 1px,transparent 1px);background-size:28px 28px}[data-game=rummikub][data-skin=console] .rk-meld{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-game=rummikub][data-skin=console] .rk-mini{border-bottom-color:var(--tile-edge)}[data-game=rummikub][data-skin=console] .result .pstat{font-family:var(--font-body);font-weight:700}[data-game=rummikub][data-skin=console] .og-tab{box-shadow:var(--tk-glow)}[data-game=rummikub][data-skin=console] .og-letter{font-weight:700}[data-game=rummikub][data-skin=console] .seg button{letter-spacing:.03em}@media(max-width:400px){[data-game=rummikub][data-skin=console] .screen.rummikub .rk-controls>button{font-size:.82rem}[data-game=rummikub][data-skin=console] .seg button{letter-spacing:0;font-size:.78rem;padding-left:4px;padding-right:4px}}@media(max-width:480px){[data-game=rummikub][data-skin=console] .title{font-size:min(2.4rem,8.5vw);letter-spacing:.1em}[data-game=rummikub][data-skin=console] .room-code{font-size:min(2.6rem,9vw)}}[data-game=blokus][data-skin=brick]{--font-display: "Rubik", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--brick-r: 14px;--brick-r-btn: 12px}[data-game=blokus][data-skin=brick][data-theme=dark]{--bg: #0b0d13;--panel: #181b25;--panel-2: #232839;--line: #2f3448;--text: #f2f3f7;--muted: #9a9fb5;--accent: #f2f3f7;--on-accent: #0b0d13;--ok: #1bc557;--on-ok: #0b0d13;--danger: #ff5a5c;--on-danger: #0b0d13;--danger-fill: #ed3336;--warn: #f57c20;--on-warn: #1a0a00;--host-star: #f8b708;--shadow: rgba(0, 0, 0, .5);--shadow-strong: rgba(0, 0, 0, .6);--modal-scrim: rgba(5, 6, 10, .72);--scrim: rgba(5, 6, 10, .72);--seat-0: #1e82d4;--seat-1: #f8b708;--seat-2: #e3262a;--seat-3: #12a84a;--decor-0: #1e82d4;--decor-1: #f8b708;--decor-2: #e3262a;--decor-3: #12a84a;--board-bg: #262b3a;--board-line: #1d2130;--board-cell-edge: rgba(0, 0, 0, .4);--last-move: #ffffff;--last-halo: #05060a;--board-mark: #ffffff;--ghost-line: #8ef0b0;--board-stud: #2c3243;--board-stud-on: rgba(255, 255, 255, .14);--board-stud-on-line: rgba(255, 255, 255, .38);--piece-edge: rgba(0, 0, 0, .35);--rb-ink: #0b0d13;--rb-board: #262b3a;--rb-board-line: #1d2130;--brick-plate-shadow: #05060a;--brick-accent-shadow: #7d8296;--brick-field: #0d0f17;--brick-well: #0d0f17;--brick-page-stud: #141722;--brick-gold: #f8b708;--brick-letter-edge: rgba(0, 0, 0, .55)}[data-game=blokus][data-skin=brick][data-theme=light]{--bg: #eef0f4;--panel: #ffffff;--panel-2: #e9ecf1;--line: #cfd4dd;--text: #14161d;--muted: #545a6c;--accent: #14161d;--on-accent: #ffffff;--ok: #007829;--on-ok: #ffffff;--danger: #d01012;--on-danger: #ffffff;--danger-fill: #d01012;--danger-text: #b00d0f;--warn: #f57c20;--on-warn: #1a0a00;--host-star: #f2b100;--shadow: rgba(20, 22, 29, .2);--shadow-strong: rgba(20, 22, 29, .28);--modal-scrim: rgba(20, 22, 29, .4);--scrim: rgba(20, 22, 29, .4);--seat-0: #0057a6;--seat-1: #f2b100;--seat-2: #d01012;--seat-3: #00852b;--decor-0: #0057a6;--decor-1: #f2b100;--decor-2: #d01012;--decor-3: #00852b;--board-bg: #cdd2db;--board-line: #b7bdc8;--board-cell-edge: #3d4250;--last-move: #14161d;--last-halo: #ffffff;--board-mark: #14161d;--ghost-line: #006b22;--board-stud: #d8dce3;--board-stud-on: rgba(255, 255, 255, .16);--board-stud-on-line: rgba(255, 255, 255, .45);--piece-edge: #3d4250;--rb-ink: #ffffff;--rb-board: #cdd2db;--rb-board-line: #b7bdc8;--brick-plate-shadow: #c3c8d2;--brick-accent-shadow: #000000;--brick-field: #ffffff;--brick-well: #e9ecf1;--brick-page-stud: #e3e6ec;--brick-gold: #8a5f00;--brick-letter-edge: #14161d}[data-game=blokus][data-skin=brick][data-theme=light] .board.cb{--board-bg: #262b3a;--board-line: #1d2130;--board-cell-edge: rgba(0, 0, 0, .4);--last-move: #ffffff;--last-halo: #05060a;--board-mark: #ffffff;--ghost-line: #8ef0b0;--board-stud: #2c3243;--board-stud-on: rgba(255, 255, 255, .14);--board-stud-on-line: rgba(255, 255, 255, .38);--brick-plate-shadow: #8b92a3}[data-game=blokus][data-skin=brick] button{font-family:inherit}[data-game=blokus][data-skin=brick] body{background-image:radial-gradient(circle at 12px 12px,var(--brick-page-stud) 5px,transparent 5.5px);background-size:24px 24px}[data-game=blokus][data-skin=brick] body:has(.screen.game){background-image:none}[data-game=blokus][data-skin=brick] #root{background:transparent}[data-game=blokus][data-skin=brick] .corner-decor{display:none}[data-game=blokus][data-skin=brick] .title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,11vw,3.3rem);letter-spacing:.02em}[data-game=blokus][data-skin=brick] .title .l{display:inline-block;text-shadow:0 4px 0 var(--brick-letter-edge)}[data-game=blokus][data-skin=brick][data-theme=light] .title .l{text-shadow:1px 0 0 var(--brick-letter-edge),-1px 0 0 var(--brick-letter-edge),0 1px 0 var(--brick-letter-edge),0 -1px 0 var(--brick-letter-edge),0 4px 0 var(--brick-letter-edge)}[data-game=blokus][data-skin=brick] .title .l:nth-child(4n+1){color:var(--seat-0)}[data-game=blokus][data-skin=brick] .title .l:nth-child(4n+2){color:var(--seat-1)}[data-game=blokus][data-skin=brick] .title .l:nth-child(4n+3){color:var(--seat-2)}[data-game=blokus][data-skin=brick] .title .l:nth-child(4n+4){color:var(--seat-3)}[data-game=blokus][data-skin=brick] .title .l:nth-child(2n){translate:0 3px}[data-game=blokus][data-skin=brick] .hero[data-game=blokus]{display:flex}[data-game=blokus][data-skin=brick] :is(h2,h3,.room-code strong,.turn-tag,.og-letter){font-family:var(--font-display)}[data-game=blokus][data-skin=brick] .room-code strong{font-weight:800}[data-game=blokus][data-skin=brick] :is(.primary,.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn,.piece-btn,.og-link){font-family:var(--font-display);border-radius:var(--brick-r-btn)}[data-game=blokus][data-skin=brick] :is(.primary,.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn){font-weight:700}[data-game=blokus][data-skin=brick] .primary{border:0;box-shadow:0 4px 0 var(--brick-accent-shadow)}[data-game=blokus][data-skin=brick] .primary:disabled{box-shadow:none}[data-game=blokus][data-skin=brick] .primary.danger{box-shadow:0 4px #7a0a0b}[data-game=blokus][data-skin=brick] :is(.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn){background:var(--panel-2);border-color:transparent;box-shadow:0 3px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .ghost.danger{border-color:var(--danger-line)}[data-game=blokus][data-skin=brick] :is(.seg button.on,.mini.on,.seat-pick-btn.on){background:var(--accent);color:var(--on-accent);border-color:transparent;box-shadow:0 3px 0 var(--brick-accent-shadow)}[data-game=blokus][data-skin=brick] .cb-toggle.on{background:var(--accent);color:var(--on-accent)}[data-game=blokus][data-skin=brick] :is(.primary,.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn,.piece-btn):active:not(:disabled){transform:translateY(2px)}[data-game=blokus][data-skin=brick] :is(.mini,.ghost):disabled{opacity:.55;box-shadow:none}[data-game=blokus][data-skin=brick] input{font-family:inherit;background:var(--brick-field);border-color:var(--line);border-radius:var(--brick-r-btn)}[data-game=blokus][data-skin=brick] input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-game=blokus][data-skin=brick] .switch-track{border-radius:999px;border-color:transparent;box-shadow:inset 0 2px #00000040}[data-game=blokus][data-skin=brick] .switch-thumb{border-radius:50%}[data-game=blokus][data-skin=brick] .seat-switch{font-family:var(--font-display)}[data-game=blokus][data-skin=brick] .seat-switch.on{color:var(--text)}[data-game=blokus][data-skin=brick] :is(.card,.seat-row,.player,.friend-row,.controls,.spectating,.tray,.overlay-card,.modal,.og-panel,.color-pick,.ctx-menu,.player-pop){border-color:transparent;border-radius:var(--brick-r);box-shadow:0 4px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .rejoin-card{box-shadow:0 0 0 3px var(--accent) inset,0 4px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] :is(.result,.rec-total,.rec-row,.selected-preview){border-radius:var(--brick-r-btn)}[data-game=blokus][data-skin=brick] .rec-total{border-color:transparent}[data-game=blokus][data-skin=brick] .selected-preview{background:var(--brick-well)}[data-game=blokus][data-skin=brick] :is(.notice,.offline-badge,.blitz-clock,.rb-goal){border-radius:6px}[data-game=blokus][data-skin=brick] .notice{border-radius:var(--brick-r-btn)}[data-game=blokus][data-skin=brick] .friend-site{color:var(--ok)}[data-game=blokus][data-skin=brick] .chip{border-radius:8px;box-shadow:inset 0 -4px #00000040}[data-game=blokus][data-skin=brick] .player .chip{box-shadow:inset 0 -3px #00000040;border-radius:6px}[data-game=blokus][data-skin=brick][data-theme=light] .chip:not(.seat-num){box-shadow:inset 0 0 0 1.5px var(--board-cell-edge),inset 0 -4px #00000040}[data-game=blokus][data-skin=brick] .color-pick-swatch,[data-game=blokus][data-skin=brick] .color-pick-dot{border-radius:8px}[data-game=blokus][data-skin=brick] .player.is-turn{border-color:transparent;box-shadow:0 0 0 3px var(--seat-color, var(--accent)) inset,0 4px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .board{border:0;border-radius:3px;box-shadow:0 0 0 7px var(--board-bg),0 5px 0 7px var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .board .cell.on{stroke-width:.06}[data-game=blokus][data-skin=brick] .last-move .lm-line{stroke-width:.14}[data-game=blokus][data-skin=brick] .last-move .lm-halo{stroke-width:.28}@media(max-width:820px),(max-height:560px){[data-game=blokus][data-skin=brick] .board{box-shadow:0 0 0 4px var(--board-bg),0 3px 0 4px var(--brick-plate-shadow)}}[data-game=blokus][data-skin=brick] .last-move{animation-name:brick-last-move}@keyframes brick-last-move{0%,55%{opacity:1}to{opacity:.85}}[data-game=blokus][data-skin=brick] .code-input{font-family:var(--font-display);font-weight:700}[data-game=blokus][data-skin=brick] .tray{background:var(--board-bg)}[data-game=blokus][data-skin=brick] .piece-btn{background:var(--panel);border-color:transparent;box-shadow:0 3px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .piece-btn.selected{box-shadow:0 0 0 3px var(--accent) inset,0 3px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .result.win{outline:3px solid var(--brick-gold);outline-offset:-1px}[data-game=blokus][data-skin=brick] .result .chip:not(.seat-num){border-radius:6px}[data-game=blokus][data-skin=brick] .rb-num{border-radius:8px}[data-game=blokus][data-skin=brick] .rulebook-head{border-bottom-color:var(--line)}[data-game=blokus][data-skin=brick] .og-panel{border-radius:0 var(--brick-r) var(--brick-r) 0;box-shadow:-40px 0 0 var(--panel),0 4px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .og-link{border-color:transparent;box-shadow:0 3px 0 var(--brick-plate-shadow)}[data-game=blokus][data-skin=brick] .og-tab{border-radius:0 var(--brick-r-btn) var(--brick-r-btn) 0;box-shadow:0 4px 0 var(--brick-accent-shadow);font-family:var(--font-display)}@font-face{font-family:IBM Plex Mono fallback;src:local("Consolas");font-weight:400 500;size-adjust:109%;ascent-override:94%;descent-override:26%;line-gap-override:0%}@font-face{font-family:IBM Plex Mono fallback;src:local("Consolas Bold"),local("Consolas-Bold");font-weight:600 900;size-adjust:109%;ascent-override:94%;descent-override:26%;line-gap-override:0%}[data-game=blokus][data-skin=arcade]{--font-display: "Press Start 2P", ui-monospace, monospace;--font-body: "IBM Plex Mono", "IBM Plex Mono fallback", ui-monospace, Consolas, monospace}[data-game=blokus][data-skin=arcade][data-theme=dark]{--bg: #07080d;--panel: #0d1018;--panel-2: #151a26;--line: #39415c;--text: #e8ecff;--muted: #9099b8;--accent: #ff4fd8;--on-accent: #1a0016;--ok: #2ee66b;--on-ok: #05060a;--danger: #ff4545;--on-danger: #1a0000;--danger-line: #ff4545;--danger-text: #ff8a8a;--danger-fill: #ff4545;--warn: #ffd60a;--on-warn: #1a1400;--host-star: #ffd60a;--shadow: rgba(0, 0, 0, .6);--shadow-strong: rgba(0, 0, 0, .7);--modal-scrim: rgba(3, 4, 8, .78);--scrim: rgba(3, 4, 8, .78);--seat-0: #3d8bff;--seat-1: #ffd60a;--seat-2: #ff4545;--seat-3: #2ee66b;--decor-0: #3d8bff;--decor-1: #ffd60a;--decor-2: #ff4545;--decor-3: #2ee66b;--board-bg: #05060a;--board-line: #161b2b;--board-cell-edge: rgba(0, 0, 0, .45);--last-move: #ffffff;--last-halo: #05060a;--board-mark: #ff4fd8;--ghost-line: #7dffb0;--piece-edge: rgba(0, 0, 0, .45);--rb-ink: #1a0016;--rb-board: #05060a;--rb-board-line: #2a3247;--arcade-bracket: #ff4fd8;--arcade-edge: #39415c;--arcade-btn-edge: #4a5372;--arcade-field: #05060a;--arcade-scan: rgba(255, 255, 255, .025);--arcade-title-shadow: #ff4fd8;--arcade-pop: 0 0 0 2px #ff4fd8, 0 0 40px rgba(255, 79, 216, .35);--arcade-glow: 0 0 16px -2px var(--accent)}[data-game=blokus][data-skin=arcade][data-theme=light]{--bg: #dfe3d3;--panel: #eef1e6;--panel-2: #d4dac6;--line: #8b9479;--text: #14170f;--muted: #474f3b;--accent: #a3168a;--on-accent: #ffffff;--ok: #17602a;--on-ok: #ffffff;--danger: #a51b1b;--on-danger: #ffffff;--danger-line: #a51b1b;--danger-text: #a51b1b;--danger-fill: #a51b1b;--warn: #c99700;--on-warn: #14170f;--host-star: #c99700;--shadow: rgba(20, 23, 15, .25);--shadow-strong: rgba(20, 23, 15, .3);--modal-scrim: rgba(223, 227, 211, .78);--scrim: rgba(223, 227, 211, .78);--seat-0: #1f5fd0;--seat-1: #d9a300;--seat-2: #d42a2a;--seat-3: #1f8a3d;--decor-0: #1f5fd0;--decor-1: #d9a300;--decor-2: #d42a2a;--decor-3: #1f8a3d;--board-bg: #c8cfb7;--board-line: #b1b99e;--board-cell-edge: #2b3122;--last-move: #14170f;--last-halo: #ffffff;--board-mark: #a3168a;--ghost-line: #0f6b2c;--piece-edge: #2b3122;--rb-ink: #ffffff;--rb-board: #c8cfb7;--rb-board-line: #8b9479;--arcade-bracket: #14170f;--arcade-edge: #2b3122;--arcade-btn-edge: #2b3122;--arcade-field: #eef1e6;--arcade-scan: rgba(0, 0, 0, .035);--arcade-title-shadow: #a3168a;--arcade-pop: 6px 6px 0 #14170f;--arcade-glow: none}[data-game=blokus][data-skin=arcade][data-theme=light] .board.cb{--board-bg: #05060a;--board-line: #161b2b;--board-cell-edge: rgba(0, 0, 0, .45);--last-move: #ffffff;--last-halo: #05060a;--board-mark: #ff4fd8;--ghost-line: #7dffb0}[data-game=blokus][data-skin=arcade] button{font-family:inherit}[data-game=blokus][data-skin=arcade] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;background:repeating-linear-gradient(0deg,var(--arcade-scan) 0 1px,transparent 1px 3px)}[data-game=blokus][data-skin=arcade] .corner-decor{display:none}[data-game=blokus][data-skin=arcade] .title{font-size:clamp(1.15rem,7vw,2.3rem);letter-spacing:.06em;text-shadow:4px 4px 0 var(--arcade-title-shadow)}[data-game=blokus][data-skin=arcade] .hero[data-game=blokus]{display:flex}[data-game=blokus][data-skin=arcade] :is(.card h2,.lobby-invite h3,.color-pick-head,.modal.rulebook h2){font-family:var(--font-display);font-weight:400;font-size:.8rem;line-height:1.5;letter-spacing:.04em}[data-game=blokus][data-skin=arcade] :is(.overlay-card h2,.modal h2){font-family:var(--font-display);font-weight:400;font-size:1.05rem;line-height:1.5}[data-game=blokus][data-skin=arcade] .room-code strong{font-family:var(--font-display);font-size:1.5rem}[data-game=blokus][data-skin=arcade] :is(.turn-tag,.field>span,.rb-h,.og-title){text-transform:uppercase;letter-spacing:.08em}[data-game=blokus][data-skin=arcade] input{font-family:inherit;background:var(--arcade-field);border-color:var(--arcade-edge)}[data-game=blokus][data-skin=arcade] input:focus-visible{outline:2px solid var(--accent);outline-offset:0}[data-game=blokus][data-skin=arcade] :is(.primary,.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn){font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:0}[data-game=blokus][data-skin=arcade] :is(.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn){border-color:var(--arcade-btn-edge);box-shadow:inset 0 0 0 1px var(--arcade-btn-edge)}[data-game=blokus][data-skin=arcade] :is(.seg button.on,.mini.on,.seat-pick-btn.on){background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--on-accent)}[data-game=blokus][data-skin=arcade] .primary:not(:disabled){box-shadow:var(--arcade-glow)}[data-game=blokus][data-skin=arcade] .primary.danger:not(:disabled){box-shadow:none}[data-game=blokus][data-skin=arcade] .ghost.danger{border-color:var(--danger-line);box-shadow:inset 0 0 0 1px var(--danger-line)}[data-game=blokus][data-skin=arcade] .cb-toggle.on{box-shadow:inset 0 0 0 1px var(--accent)}[data-game=blokus][data-skin=arcade] .seat-switch{font-family:var(--font-body)}[data-game=blokus][data-skin=arcade] :is(.add-friend-btn){letter-spacing:.02em}[data-game=blokus][data-skin=arcade] :is(.card,.seat-row,.player,.friend-row,.controls,.spectating,.tray,.overlay-card,.modal,.og-panel,.color-pick,.ctx-menu,.player-pop,.rec-total){border-color:var(--arcade-edge);border-radius:0;box-shadow:inset 0 0 0 1px var(--arcade-edge)}[data-game=blokus][data-skin=arcade] :is(.overlay-card,.color-pick,.modal){box-shadow:inset 0 0 0 1px var(--arcade-edge),var(--arcade-pop)}[data-game=blokus][data-skin=arcade] .rejoin-card{box-shadow:inset 0 0 0 1px var(--accent);border-color:var(--accent)}[data-game=blokus][data-skin=arcade] :is(.card,.overlay-card,.controls){position:relative}[data-game=blokus][data-skin=arcade] :is(.card,.overlay-card,.controls):before,[data-game=blokus][data-skin=arcade] :is(.card,.overlay-card,.controls):after{content:"";position:absolute;width:12px;height:12px;border:3px solid var(--arcade-bracket);pointer-events:none}[data-game=blokus][data-skin=arcade] :is(.card,.overlay-card,.controls):before{top:-5px;left:-5px;border-right:0;border-bottom:0}[data-game=blokus][data-skin=arcade] :is(.card,.overlay-card,.controls):after{bottom:-5px;right:-5px;border-left:0;border-top:0}[data-game=blokus][data-skin=arcade] :is(.notice,.offline-badge,.blitz-clock,.chip,.color-pick-swatch,.color-pick-dot,.switch-track,.switch-thumb,.rb-num){border-radius:0}[data-game=blokus][data-skin=arcade] .selected-preview{background:var(--arcade-field)}[data-game=blokus][data-skin=arcade] .friend-site{color:var(--ok)}[data-game=blokus][data-skin=arcade] .player.is-turn{border-color:var(--seat-color, var(--accent));background:color-mix(in srgb,var(--seat-color, var(--accent)) 14%,var(--panel));box-shadow:inset 0 0 0 1px var(--seat-color, var(--accent))}[data-game=blokus][data-skin=arcade][data-theme=dark] .player.is-turn{box-shadow:inset 0 0 0 1px var(--seat-color, var(--accent)),0 0 14px -2px var(--seat-color, var(--accent))}[data-game=blokus][data-skin=arcade][data-theme=light] .chip:not(.seat-num){box-shadow:inset 0 0 0 1.5px var(--board-cell-edge)}[data-game=blokus][data-skin=arcade] .board{border-color:var(--arcade-edge)}[data-game=blokus][data-skin=arcade] .board .cell.on{stroke-width:.05}[data-game=blokus][data-skin=arcade][data-theme=light] .board:not(.cb) .cell.on{stroke-width:.06}[data-game=blokus][data-skin=arcade] .last-move{animation-name:arcade-last-move}[data-game=blokus][data-skin=arcade][data-theme=dark] .last-move .lm-line,[data-game=blokus][data-skin=arcade] .board.cb .last-move .lm-line{filter:drop-shadow(0 0 .06px #ffffff)}@keyframes arcade-last-move{0%,55%{opacity:1}to{opacity:.85}}[data-game=blokus][data-skin=arcade] .piece-btn{border-radius:0;border-color:var(--arcade-edge)}[data-game=blokus][data-skin=arcade] .piece-btn.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}[data-game=blokus][data-skin=arcade] .piece .pcell{rx:0}[data-game=blokus][data-skin=arcade] .result{border-radius:0}[data-game=blokus][data-skin=arcade] .result.win{outline:2px dashed var(--accent);outline-offset:-1px}[data-game=blokus][data-skin=arcade] .result .pstat{font-size:.78rem}[data-game=blokus][data-skin=arcade] .og-panel{box-shadow:-40px 0 0 var(--panel),inset 0 0 0 1px var(--arcade-edge)}[data-game=blokus][data-skin=arcade] .og-link{border-color:var(--arcade-edge)}[data-game=blokus][data-skin=arcade] .og-letter{font-family:var(--font-display);font-weight:400;font-size:1.6rem}[data-game=blokus][data-skin=arcade][data-theme=light] .og-tab{box-shadow:4px 4px 0 var(--arcade-bracket)}@media(max-width:820px),(max-height:560px){[data-game=blokus][data-skin=arcade] :is(.control-row .mini,.controls .primary.big){letter-spacing:.02em;white-space:nowrap}[data-game=blokus][data-skin=arcade] .game-top .turn-tag{letter-spacing:.02em}}@media(max-width:400px){[data-game=blokus][data-skin=arcade] .player .pstat{font-family:Nunito,system-ui,sans-serif}}@font-face{font-family:"Source Sans 3 fallback";src:local("Segoe UI"),local("SegoeUI"),local("Roboto"),local("Roboto-Regular"),local("Helvetica Neue"),local("HelveticaNeue"),local("Arial"),local("ArialMT");font-weight:400 500;size-adjust:93%;ascent-override:110%;descent-override:43%;line-gap-override:0%}@font-face{font-family:"Source Sans 3 fallback";src:local("Segoe UI Semibold"),local("SegoeUI-Semibold"),local("Roboto Medium"),local("Roboto-Medium"),local("Helvetica Neue Medium"),local("HelveticaNeue-Medium"),local("Arial Bold"),local("Arial-BoldMT");font-weight:600;size-adjust:93%;ascent-override:110%;descent-override:43%;line-gap-override:0%}@font-face{font-family:"Source Sans 3 fallback";src:local("Segoe UI Bold"),local("SegoeUI-Bold"),local("Roboto Bold"),local("Roboto-Bold"),local("Helvetica Neue Bold"),local("HelveticaNeue-Bold"),local("Arial Bold"),local("Arial-BoldMT");font-weight:700 900;size-adjust:92%;ascent-override:111%;descent-override:43%;line-gap-override:0%}@font-face{font-family:"PT Serif fallback";src:local("Georgia");font-weight:400 600;size-adjust:98%;ascent-override:106%;descent-override:30%;line-gap-override:0%}@font-face{font-family:"PT Serif fallback";src:local("Georgia Bold"),local("Georgia-Bold");font-weight:700 900;size-adjust:92%;ascent-override:113%;descent-override:32%;line-gap-override:0%}[data-game=blokus][data-skin=atlas]{--font-display: "PT Serif", "PT Serif fallback", Georgia, serif;--font-body: "Source Sans 3", "Source Sans 3 fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-game=blokus][data-skin=atlas][data-theme=dark]{--bg: #111a2c;--panel: #1b2438;--panel-2: #202a42;--line: #d9cfb8;--text: #ece3cf;--muted: #b9ae98;--accent: #d7a6dc;--on-accent: #111a2c;--ok: #a6d59a;--on-ok: #111a2c;--danger: #f19a8f;--on-danger: #111a2c;--danger-line: #f19a8f;--danger-text: #f19a8f;--danger-fill: #f19a8f;--warn: #e8b83a;--on-warn: #111a2c;--host-star: #e8b83a;--shadow: rgba(0, 0, 0, .5);--shadow-strong: rgba(0, 0, 0, .6);--modal-scrim: rgba(0, 0, 0, .6);--scrim: rgba(0, 0, 0, .6);--seat-0: #6a9be6;--seat-1: #e8b83a;--seat-2: #e0574a;--seat-3: #5fae6a;--decor-0: #6a9be6;--decor-1: #e8b83a;--decor-2: #e0574a;--decor-3: #5fae6a;--board-bg: #16203a;--board-line: #2b3654;--board-cell-edge: rgba(3, 6, 12, .45);--last-move: #ece3cf;--last-halo: #05060a;--board-mark: #ece3cf;--ghost-line: #a6e39a;--board-coord: #b9ae98;--piece-edge: rgba(3, 6, 12, .45);--rb-ink: #111a2c;--rb-board: #16203a;--rb-board-line: #2b3654;--atlas-dot: #22304a;--atlas-shadow: #03060c;--atlas-field: #141d31;--atlas-well: #202a42}[data-game=blokus][data-skin=atlas][data-theme=light]{--bg: #e6dcc3;--panel: #fffaf0;--panel-2: #f2e9d4;--line: #3a2f26;--text: #3a2f26;--muted: #635747;--accent: #6a3d6e;--on-accent: #ffffff;--ok: #3d6438;--on-ok: #ffffff;--danger: #a8281f;--on-danger: #ffffff;--danger-line: #a8281f;--danger-text: #a8281f;--danger-fill: #a8281f;--warn: #b8862a;--on-warn: #2a1f10;--host-star: #b8862a;--shadow: rgba(58, 47, 38, .25);--shadow-strong: rgba(58, 47, 38, .3);--modal-scrim: rgba(58, 47, 38, .42);--scrim: rgba(58, 47, 38, .42);--seat-0: #2f5f9e;--seat-1: #d9a21b;--seat-2: #b8322a;--seat-3: #3f7f45;--decor-0: #2f5f9e;--decor-1: #d9a21b;--decor-2: #b8322a;--decor-3: #3f7f45;--board-bg: #fffaf0;--board-line: #d8ccae;--board-cell-edge: #3a2f26;--last-move: #3a2f26;--last-halo: #ffffff;--board-mark: #3a2f26;--ghost-line: #2f6b2a;--board-coord: #5e5345;--piece-edge: #3a2f26;--rb-ink: #ffffff;--rb-board: #fffaf0;--rb-board-line: #d8ccae;--atlas-dot: #cfc19e;--atlas-shadow: #3a2f26;--atlas-field: #ffffff;--atlas-well: #f2e9d4}[data-game=blokus][data-skin=atlas][data-theme=light] .board.cb{--board-bg: #16203a;--board-line: #2b3654;--board-cell-edge: rgba(3, 6, 12, .45);--last-move: #ece3cf;--last-halo: #05060a;--board-mark: #ece3cf;--ghost-line: #a6e39a}[data-game=blokus][data-skin=atlas] button{font-family:inherit}[data-game=blokus][data-skin=atlas] body{background-image:radial-gradient(var(--atlas-dot) 1.3px,transparent 1.5px);background-size:16px 16px}[data-game=blokus][data-skin=atlas] #root{background:transparent}[data-game=blokus][data-skin=atlas] .corner-decor{display:none}[data-game=blokus][data-skin=atlas] .title{font-weight:700;font-size:clamp(1.3rem,8vw,2.7rem);letter-spacing:.24em;margin-right:-.24em}[data-game=blokus][data-skin=atlas] .hero[data-game=blokus]{display:flex}[data-game=blokus][data-skin=atlas] :is(.room-code strong,.turn-tag,.modal h2,.overlay-card h2){font-family:var(--font-display)}[data-game=blokus][data-skin=atlas] .overlay-card h2{font-style:italic}[data-game=blokus][data-skin=atlas] :is(.field>span,.rb-h,.og-title,.lobby-invite h3){text-transform:uppercase;letter-spacing:.14em;font-weight:700}[data-game=blokus][data-skin=atlas] input{font-family:inherit;background:var(--atlas-field);border-color:var(--line);border-radius:3px;box-shadow:inset 0 0 0 1px var(--line)}[data-game=blokus][data-skin=atlas] input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-game=blokus][data-skin=atlas] :is(.primary,.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn,.piece-btn,.og-link){border-radius:3px;font-weight:700}[data-game=blokus][data-skin=atlas] :is(.ghost,.mini,.seg button,.seat-pick-btn,.rules-btn){border-color:var(--line);box-shadow:inset 0 0 0 1px var(--line)}[data-game=blokus][data-skin=atlas] .seg button{background:var(--panel)}[data-game=blokus][data-skin=atlas] :is(.seg button.on,.mini.on,.seat-pick-btn.on){background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:inset 0 -3px #00000040}[data-game=blokus][data-skin=atlas] .primary{box-shadow:2px 2px 0 var(--atlas-shadow)}[data-game=blokus][data-skin=atlas] .primary:disabled{box-shadow:none}[data-game=blokus][data-skin=atlas] .ghost.danger{border-color:var(--danger-line);box-shadow:inset 0 0 0 1px var(--danger-line)}[data-game=blokus][data-skin=atlas] :is(.card,.seat-row,.player,.friend-row,.controls,.spectating,.tray,.overlay-card,.modal,.og-panel,.color-pick,.ctx-menu,.player-pop){border-color:var(--line);border-radius:3px;box-shadow:inset 0 0 0 1px var(--line),3px 3px 0 var(--atlas-shadow)}[data-game=blokus][data-skin=atlas] .card{position:relative;margin-top:26px;padding-top:22px}[data-game=blokus][data-skin=atlas] .card>h2,[data-game=blokus][data-skin=atlas] .card>.home-game-head{position:absolute;top:-11px;left:12px}[data-game=blokus][data-skin=atlas] .card>.home-game-head{right:12px}[data-game=blokus][data-skin=atlas] :is(.card>h2,.card>.home-game-head h2){margin:0;padding:0 8px;background:var(--panel);border:2px solid var(--line);font-family:var(--font-body);font-size:.74rem;font-weight:700;line-height:18px;letter-spacing:.16em;text-transform:uppercase}[data-game=blokus][data-skin=atlas] .card>.home-game-head .rules-btn{background:var(--panel);padding:4px 7px;margin-top:-4px}[data-game=blokus][data-skin=atlas] .rejoin-card{box-shadow:inset 0 0 0 2px var(--accent),3px 3px 0 var(--atlas-shadow)}[data-game=blokus][data-skin=atlas] :is(.notice,.offline-badge,.blitz-clock,.result,.rec-total,.rec-row,.rb-goal,.selected-preview){border-radius:3px}[data-game=blokus][data-skin=atlas] .selected-preview{background:var(--atlas-well)}[data-game=blokus][data-skin=atlas] .friend-site{color:var(--ok)}[data-game=blokus][data-skin=atlas] :is(.chip,.color-pick-swatch,.color-pick-dot,.rb-num){border-radius:2px}[data-game=blokus][data-skin=atlas] .chip:not(.seat-num){box-shadow:inset 0 0 0 2px var(--atlas-chip-edge, var(--board-cell-edge))}[data-game=blokus][data-skin=atlas][data-theme=dark]{--atlas-chip-edge: #03060c}[data-game=blokus][data-skin=atlas] .switch-track{border-radius:3px}[data-game=blokus][data-skin=atlas] .switch-thumb{border-radius:2px}[data-game=blokus][data-skin=atlas] .player.is-turn{border-color:var(--seat-color, var(--accent));box-shadow:inset 0 0 0 2px var(--seat-color, var(--accent)),3px 3px 0 var(--atlas-shadow)}[data-game=blokus][data-skin=atlas] .board{border:0;overflow:visible}[data-game=blokus][data-skin=atlas] .board .board-bg{stroke:var(--line);stroke-width:.1}[data-game=blokus][data-skin=atlas] .board.cb .board-bg{stroke:#d9cfb8}[data-game=blokus][data-skin=atlas] .board .cell.on{stroke-width:.035}[data-game=blokus][data-skin=atlas][data-theme=light] .board:not(.cb) .cell.on{stroke-width:.06}[data-game=blokus][data-skin=atlas] .board-coords{font-family:var(--font-body);font-weight:600;letter-spacing:0}[data-game=blokus][data-skin=atlas] .last-move{animation-name:atlas-last-move}@keyframes atlas-last-move{0%,55%{opacity:1}to{opacity:.85}}@media(min-width:821px)and (min-height:561px){[data-game=blokus][data-skin=atlas] .board-wrap{padding:20px 0 0 26px}}@media(min-width:821px)and (min-height:561px)and (orientation:portrait){[data-game=blokus][data-skin=atlas] .screen.game{--game-chrome: 372px}}@media(max-width:820px),(max-height:560px){[data-game=blokus][data-skin=atlas] .board-coords{display:none}}[data-game=blokus][data-skin=atlas] .piece-btn{border-color:var(--line)}[data-game=blokus][data-skin=atlas] .piece-btn.selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}[data-game=blokus][data-skin=atlas] .piece .pcell{rx:0}[data-game=blokus][data-skin=atlas] .result.win{outline:2px solid var(--line);outline-offset:-1px;background:var(--atlas-well)}[data-game=blokus][data-skin=atlas] .result.win .rank:after{content:"★";color:var(--host-star);margin-left:2px}[data-game=blokus][data-skin=atlas] .og-panel{border-radius:0 3px 3px 0;box-shadow:-40px 0 0 var(--panel),inset 0 0 0 1px var(--line),3px 3px 0 var(--atlas-shadow)}[data-game=blokus][data-skin=atlas] .og-link{border-color:var(--line);box-shadow:inset 0 0 0 1px var(--line)}[data-game=blokus][data-skin=atlas] .og-letter{font-family:var(--font-display)}[data-game=blokus][data-skin=atlas] .og-tab{border-radius:0 3px 3px 0;box-shadow:3px 3px 0 var(--atlas-shadow)}
