html:has(.pb-3d-game){scrollbar-gutter:auto;overflow:hidden}.three-d-arena.board-arena,.three-d-popover.board-arena,.three-d-match-sheet.board-arena{--arena-background:radial-gradient(120% 90% at 50% 42%, oklch(25% .006 260) 0%, oklch(17% .006 260) 55%, oklch(12.5% .006 260) 100%);--arena-foreground:oklch(98% 0 0);--arena-secondary:oklch(100% 0 0/.64);--arena-muted:oklch(100% 0 0/.46);--arena-fill:oklch(100% 0 0/.07);--arena-fill-hover:oklch(100% 0 0/.12);--arena-panel:oklch(100% 0 0/.045);--arena-surface:oklch(23% .006 260/.94);--arena-sunk:oklch(0% 0 0/.28);--arena-inverse:oklch(97% 0 0);--arena-inverse-ink:oklch(18% .01 260);--arena-line:oklch(100% 0 0/.12);--arena-avatar:oklch(30% .008 260);--arena-accent:oklch(72% .17 60);--arena-accent-ink:oklch(18% .03 60);--arena-accent-soft:oklch(72% .17 60/.15);--primary-foreground:var(--arena-accent-ink);--primary-soft:var(--arena-accent-soft);--popover:var(--arena-surface);--popover-foreground:var(--arena-foreground);--control-fill:var(--arena-fill);--surface-active:var(--arena-fill-hover);--border-hover:color-mix(in srgb, var(--arena-foreground) 35%, transparent);--glass-edge:inset 0 1px 0 color-mix(in srgb, var(--arena-foreground) 8%, transparent);--scrollbar-thumb:color-mix(in srgb, var(--arena-foreground) 40%, transparent);--scrollbar-thumb-hover:var(--arena-secondary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:15px}:is(.three-d-arena,.three-d-popover,.three-d-match-sheet)[data-theme=light]{--arena-background:radial-gradient(120% 90% at 50% 42%, oklch(98.5% .004 85) 0%, oklch(95% .006 85) 60%, oklch(90% .008 85) 100%);--arena-foreground:oklch(20% .01 260);--arena-secondary:oklch(20% .01 260/.66);--arena-muted:oklch(20% .01 260/.5);--arena-fill:oklch(20% .01 260/.06);--arena-fill-hover:oklch(20% .01 260/.1);--arena-panel:oklch(100% 0 0/.6);--arena-surface:oklch(99% .003 85/.94);--arena-sunk:oklch(20% .01 260/.07);--arena-inverse:oklch(20% .01 260);--arena-inverse-ink:oklch(98% 0 0);--arena-line:oklch(20% .01 260/.14);--arena-avatar:oklch(88% .006 85);--arena-accent:oklch(56% .15 55);--arena-accent-ink:oklch(99% 0 0);--arena-accent-soft:oklch(56% .15 55/.12);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:is(.three-d-arena,.three-d-popover,.three-d-match-sheet)[data-theme=celestial]{--arena-background:radial-gradient(110% 90% at 50% 40%, oklch(30% .09 285) 0%, oklch(18% .06 280) 55%, oklch(11% .04 275) 100%);--arena-foreground:oklch(97% .01 290);--arena-secondary:oklch(92% .03 290/.68);--arena-muted:oklch(92% .03 290/.5);--arena-fill:oklch(80% .08 290/.1);--arena-fill-hover:oklch(80% .08 290/.17);--arena-panel:oklch(70% .08 290/.08);--arena-surface:oklch(22% .06 285/.94);--arena-sunk:oklch(8% .04 280/.4);--arena-inverse:oklch(90% .09 85);--arena-inverse-ink:oklch(20% .05 285);--arena-line:oklch(90% .05 290/.16);--arena-avatar:oklch(35% .08 285);--arena-accent:oklch(86% .1 85);--arena-accent-ink:oklch(20% .05 285);--arena-accent-soft:oklch(86% .1 85/.15)}:is(.three-d-arena,.three-d-popover,.three-d-match-sheet)[data-game=xiangqi][data-theme=light]{--arena-background:radial-gradient(120% 90% at 50% 40%, oklch(99% .008 85) 0%, oklch(95.5% .014 80) 60%, oklch(91% .018 75) 100%);--arena-foreground:oklch(22% .02 50);--arena-secondary:oklch(22% .02 50/.68);--arena-muted:oklch(22% .02 50/.52);--arena-fill:oklch(25% .03 60/.07);--arena-fill-hover:oklch(25% .03 60/.12);--arena-panel:oklch(100% 0 0/.65);--arena-surface:oklch(99.5% .004 85/.95);--arena-sunk:oklch(25% .03 60/.08);--arena-inverse:oklch(22% .02 50);--arena-inverse-ink:oklch(99% 0 0);--arena-line:oklch(25% .03 60/.15);--arena-avatar:oklch(90% .01 80);--arena-red:oklch(55% .2 28)}:is(.three-d-arena,.three-d-popover,.three-d-match-sheet)[data-game=xiangqi][data-theme=graphite]{--arena-background:radial-gradient(120% 90% at 50% 42%, oklch(26% .01 60) 0%, oklch(18% .008 60) 55%, oklch(13% .006 60) 100%);--arena-secondary:oklch(100% 0 0/.68);--arena-muted:oklch(100% 0 0/.5);--arena-fill:oklch(100% 0 0/.08);--arena-fill-hover:oklch(100% 0 0/.13);--arena-panel:oklch(100% 0 0/.05);--arena-surface:oklch(24% .008 60/.94);--arena-inverse-ink:oklch(18% .01 60);--arena-line:oklch(100% 0 0/.13);--arena-avatar:oklch(30% .008 60);--arena-accent:oklch(74% .16 62);--arena-accent-soft:oklch(74% .16 62/.15);--arena-red:oklch(66% .19 28)}:is(.three-d-arena,.three-d-popover,.three-d-match-sheet)[data-contrast=true]{--arena-secondary:var(--arena-foreground);--arena-muted:var(--arena-foreground);--arena-line:color-mix(in srgb, var(--arena-foreground) 35%, transparent)}.three-d-arena.board-arena{background:var(--arena-background);width:100%;max-width:none;height:100dvh;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.three-d-arena[data-ambient=true]:before{content:"";pointer-events:none;opacity:.85;background-image:radial-gradient(1.2px 1.2px at 8% 12%,#fff,#0000),radial-gradient(1px 1px at 18% 64%,#e9e0ff,#0000),radial-gradient(1.4px 1.4px at 27% 30%,#fff,#0000),radial-gradient(1px 1px at 36% 82%,#fff,#0000),radial-gradient(1.2px 1.2px at 44% 9%,#ffe7b8,#0000),radial-gradient(1px 1px at 58% 22%,#fff,#0000),radial-gradient(1.3px 1.3px at 66% 74%,#e9e0ff,#0000),radial-gradient(1px 1px at 73% 14%,#fff,#0000),radial-gradient(1.5px 1.5px at 82% 40%,#fff,#0000),radial-gradient(1px 1px at 90% 70%,#ffe7b8,#0000),radial-gradient(1.2px 1.2px at 95% 18%,#fff,#0000);position:absolute;inset:0}.three-d-layout{width:100%;height:var(--game-viewport-height,100dvh);min-height:0;color:var(--arena-foreground);grid-template:"heading heading heading"62px"rail playfield panel"minmax(0,1fr)/auto minmax(0,1fr) 320px;display:grid;position:relative}.three-d-layout[data-side-collapsed=true]{grid-template-columns:auto minmax(0,1fr) 104px}.three-d-layout:is(:fullscreen,.match-focus-mode){background:var(--arena-background)}.three-d-heading{grid-area:heading;align-items:center;gap:12px;min-width:0;padding:14px 24px 6px;display:flex}.three-d-heading .three-d-back{background:var(--arena-fill);height:40px;min-height:40px;color:var(--arena-foreground);border:0;flex:none;gap:4px;margin:0;padding:0 14px 0 10px;font-size:14px;font-weight:500}.three-d-title{min-width:0;color:var(--arena-foreground);text-align:center;cursor:pointer;background:0 0;border:0;flex:1;padding:0}.three-d-title h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600;line-height:22px}.three-d-title>span{color:var(--arena-muted);font-size:12px;line-height:18px}.three-d-access-badge{background:var(--arena-accent-soft);height:30px;color:var(--arena-accent);cursor:pointer;border:0;border-radius:99px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:flex}.three-d-access-badge .three-d-quota{max-width:none;color:inherit;white-space:nowrap;font-size:12px;font-weight:600;display:inline}.three-d-playfield{flex-direction:column;grid-area:playfield;min-width:0;min-height:0;padding:0 12px 24px;display:flex}.three-d-player-opponent{flex:0 0 60px;min-width:0;padding:0 4px;display:none}.three-d-board-area{flex:1;min-width:0;min-height:0;position:relative}.three-d-arena .three-d-board-area>.board-surface{aspect-ratio:auto;width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible;transform:none}.three-d-arena .three-d-board-area :is(.three-d-stage,.three-d-board){aspect-ratio:auto;background:0 0;border-radius:0;height:100%}.three-d-arena .three-d-scene-placeholder{background:0 0}.three-d-bottom-row{flex:0 0 68px;align-items:center;gap:12px;min-width:0;padding:4px 4px 0;display:none}.three-d-player-self{flex:1;min-width:0}.three-d-arena :is(.chess-player,.player-strip){width:100%;min-width:0;height:60px;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.three-d-arena .chess-player-main{gap:12px;width:100%}.three-d-arena :is(.chess-player-avatar,.player-avatar){width:40px;height:40px;color:var(--arena-foreground);background:var(--arena-avatar);flex:0 0 40px}.three-d-arena :is(.three-d-player-self,.three-d-side-self) :is(.chess-player-avatar,.player-avatar){color:var(--arena-accent-ink);background:var(--arena-accent)}.three-d-arena :is(.chess-player-side,.chess-turn-status,.player-color){display:none}.three-d-arena :is(.chess-player-name,.player-name){font-size:15px;font-weight:600}.three-d-arena .player-name{flex:1;gap:0}.three-d-arena .player-name>strong{font-size:15px;font-weight:600}.three-d-arena .player-name>span:not(.xq-player-captures),.three-d-arena .player-clock>svg,.three-d-arena .player-clock .clock-caption{display:none}.three-d-arena .player-clock .clock-value{font:inherit;letter-spacing:inherit}.three-d-arena .player-avatar{border-radius:99px}.three-d-arena :is(.chess-clock,.player-clock){letter-spacing:-.01em;min-width:96px;height:44px;padding:0 16px;font-size:22px}.three-d-arena :is(.chess-player-info,.chess-player-copy){min-width:0}.three-d-arena .chess-player-name>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.three-d-arena .chess-captures{min-height:18px}.three-d-toolbar.chess-board-rail{z-index:3;background:var(--arena-fill);-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);border:0;border-radius:99px;flex-direction:column;flex:none;grid-area:rail;place-self:start;align-items:center;gap:2px;width:auto;min-width:69px;height:auto;margin:8px 0 0 24px;padding:4px;display:flex;position:relative}.three-d-arena .three-d-toolbar.chess-board-rail>.game-version-links{background:var(--arena-sunk);border-radius:99px;flex-direction:column;flex:none;gap:2px;height:auto;padding:2px}.three-d-toolbar .game-version-links a{min-width:44px;height:36px;min-height:36px;color:var(--arena-secondary);border:0;border-radius:99px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.three-d-toolbar .game-version-links a:has(svg){padding-inline:10px}.three-d-toolbar .game-version-links svg{color:oklch(60% .16 58);flex-shrink:0}.three-d-toolbar .game-version-links [aria-current=page]{color:var(--arena-inverse-ink);background:var(--arena-inverse)}.three-d-tool{width:40px;height:40px;color:var(--arena-foreground);cursor:pointer;background:0 0;border:0;border-radius:99px;flex:0 0 40px;justify-content:center;align-items:center;padding:0;display:flex}.three-d-tool:hover,.three-d-tool[data-popup-open]{background:var(--arena-fill-hover)}.three-d-tool-divider{background:var(--arena-line);flex:0 0 1px;width:20px;height:1px;margin:4px 0}.three-d-side-stack{flex-direction:column;grid-area:panel;gap:8px;min-width:0;min-height:0;padding:8px 24px 24px 0;display:flex}.three-d-side-player{background:var(--arena-panel);border-radius:22px;flex-shrink:0;padding:6px 10px}.three-d-side-player :is(.chess-player,.player-strip){padding-inline:4px}.three-d-side-panel{background:var(--arena-panel);border-radius:28px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.three-d-panel-heading{align-items:center;gap:6px;padding:8px 8px 0;display:flex}.three-d-panel-heading>.ui-button{background:var(--arena-fill);height:36px;min-height:36px;color:var(--arena-secondary);flex:0 0 36px}.three-d-tabs{background:var(--arena-sunk);border-radius:99px;flex:1;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;margin:0;padding:3px;display:grid}.three-d-tabs button{height:36px;color:var(--arena-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;font-size:14px;font-weight:600}.three-d-tabs button[aria-selected=true]{color:var(--arena-foreground);background:var(--arena-fill-hover)}.three-d-panel-content{flex-direction:column;flex:1;min-height:0;display:flex}.three-d-arena[data-game=xiangqi] .three-d-panel-heading{align-items:flex-start;gap:8px;padding:14px 12px 10px 20px}.three-d-river-heading{flex:1;min-width:0;padding-top:6px}.three-d-river-heading>span{color:var(--arena-muted);font-size:13px;font-weight:500}.three-d-river-heading .three-d-status{margin-top:2px;padding:0}.three-d-collapsed-panel{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;display:flex}.three-d-collapsed-panel .ui-button{background:var(--arena-fill)}.three-d-collapsed-panel>span{writing-mode:vertical-rl;color:var(--arena-muted);letter-spacing:.02em;font-size:12px;font-weight:600}[data-side-collapsed=true] .three-d-side-panel{display:none}[data-side-collapsed=true] .three-d-side-player{padding:10px 8px}[data-side-collapsed=true] .three-d-side-player :is(.chess-player,.player-strip){height:auto;min-height:0;padding:0}[data-side-collapsed=true] .three-d-side-player :is(.chess-player-main,.player-strip){flex-direction:column;gap:8px;display:flex}[data-side-collapsed=true] .three-d-side-player :is(.chess-player-copy,.player-name){display:none}[data-side-collapsed=true] .three-d-side-player :is(.chess-player-avatar,.player-avatar){flex:0 0 36px;width:36px;height:36px}[data-side-collapsed=true] .three-d-side-player :is(.chess-clock,.player-clock){border-radius:11px;width:64px;min-width:64px;height:34px;min-height:34px;padding:0 10px;font-size:15px}[data-side-collapsed=true] .three-d-side-self :is(.chess-player-avatar,.player-avatar){order:1}.three-d-arena:is([data-game=xiangqi],[data-game=chess]) .three-d-tool{flex-basis:44px;width:44px;height:44px}.three-d-arena[data-game=xiangqi] .three-d-toolbar.chess-board-rail{min-width:56px}.three-d-arena[data-game=xiangqi] .game-version-links a{height:40px;min-height:40px}.three-d-arena[data-game=xiangqi] .three-d-side-opponent .player-avatar{color:oklch(97% .01 80);background:oklch(25% .02 50)}.three-d-arena[data-game=xiangqi] .player-avatar:not(:has(img))>:not(.xq-seat-badge){display:none}.three-d-arena[data-game=xiangqi] .player-avatar:not(:has(img)) .xq-seat-badge{width:100%;height:100%;color:inherit;box-shadow:none;background:0 0;border:0;font-family:"Xiangqi 3D",Noto Serif SC,Songti SC,serif;font-size:24px;position:static}.three-d-arena[data-game=xiangqi] :is(.three-d-side-self,.three-d-player-self) .player-avatar{border:2px solid var(--arena-red);color:var(--arena-red);background:oklch(93% .03 80)}.three-d-status{letter-spacing:-.02em;padding:18px 20px 12px;font-size:20px;font-weight:600;line-height:1.3}.three-d-arena .three-d-side-panel :is(.chess-moves,.three-d-river-moves){min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.three-d-arena .chess-moves-heading{display:none}.three-d-arena .chess-moves-scroll{padding:0 12px}.three-d-arena .chess-move-row{grid-template-columns:36px 1fr 1fr;min-height:36px}.three-d-arena .chess-move-row>span:first-child{color:var(--arena-muted);font-size:14px}.three-d-arena .chess-move-row>button{border-radius:12px;height:30px;min-height:30px;padding:0 10px;font-size:14px}.three-d-arena .chess-move-row>button[aria-current=step]{background:var(--arena-fill-hover)}.three-d-arena :is(.chess-review-controls,.xq-replay-bar){height:40px;min-height:40px;color:var(--arena-muted);border:0;flex:0 0 40px;margin:0}.three-d-arena .three-d-river-moves .move-list{flex:1;height:auto;min-height:0;max-height:none;padding:0 12px;overflow:auto}.three-d-arena .specialty-moves-list{padding:0 12px}.three-d-arena .specialty-moves-heading{color:var(--arena-muted);background:0 0}.three-d-match-actions{flex-shrink:0;gap:8px;padding:0 12px 12px;display:flex}.three-d-match-actions:empty{display:none}.three-d-match-actions .ui-button{border:0;flex:1;min-width:0;font-size:14px}.three-d-match-actions .ui-button:last-child{color:var(--arena-secondary)}.three-d-special-actions{flex-shrink:0;max-height:35vh;padding:8px 12px;overflow:auto}.three-d-arena .kv-game-actions{background:0 0}.three-d-compact-bar,.three-d-mobile-actions{display:none}.three-d-return-live{z-index:1;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.three-d-error{max-width:min(420px,100vw - 48px);position:absolute;bottom:100px;left:24px}.three-d-popover.board-arena{border:1px solid var(--arena-line);background:var(--arena-surface);-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);border-radius:24px;width:320px;max-width:calc(100vw - 24px);height:auto;min-height:0;padding:8px;box-shadow:0 16px 50px #0005}.three-d-popover:is([data-game=xiangqi],[data-game=chess]){width:380px;padding:12px}.three-d-popover{overscroll-behavior:contain;max-height:min(680px,100dvh - 120px);overflow:auto}.three-d-popover>header{justify-content:space-between;align-items:center;padding:0 4px 8px 8px;display:flex}.three-d-popover>header .ui-button{background:var(--arena-fill);width:36px;height:36px;min-height:36px}.three-d-theme-choices,.three-d-camera-choices,.three-d-material-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.three-d-material-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}:is(.three-d-theme-choices,.three-d-camera-choices,.three-d-material-choices)>button{min-width:0;min-height:64px;color:var(--arena-foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 4px 10px;font-size:12px;font-weight:600;display:flex}:is(.three-d-theme-choices,.three-d-camera-choices,.three-d-material-choices)>button[aria-pressed=true]{background:var(--arena-fill-hover)}.three-d-camera-choices>button{background:var(--arena-fill)}.three-d-theme-choices i{aspect-ratio:4/3;border-radius:12px;width:100%;display:block}.three-d-theme-choices i[data-theme=graphite]{background:radial-gradient(circle at 50% 40%,#3a3a3e,#151517)}.three-d-theme-choices i[data-theme=light]{background:radial-gradient(circle at 50% 40%,#fbf9f4,#e4e0d8)}.three-d-theme-choices i[data-theme=celestial]{background:radial-gradient(circle at 50% 40%,#4b3a8f,#120f2e)}.three-d-theme-choices [aria-pressed=true] i{box-shadow:0 0 0 2px var(--arena-accent)}.three-d-board-swatch{background:conic-gradient(var(--swatch-light) 25%, var(--swatch-dark) 0 50%, var(--swatch-light) 0 75%, var(--swatch-dark) 0);width:36px;height:36px;box-shadow:0 0 0 3px var(--swatch-frame);border-radius:7px;margin:4px}.three-d-material-choices [aria-pressed=true] .three-d-board-swatch{outline:2px solid var(--arena-accent);outline-offset:3px}.three-d-piece-swatch{align-items:center;gap:3px;height:36px;display:flex}.three-d-piece-swatch i{border-radius:99px;width:18px;height:18px}.three-d-settings-tabs{background:var(--arena-sunk);border-radius:99px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:0 0 12px;padding:3px;display:grid}.three-d-settings-tabs>button{min-width:0;min-height:44px;color:var(--arena-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;padding:0 2px;font-size:12px;font-weight:600}.three-d-settings-tabs>button[aria-selected=true]{background:var(--arena-fill-hover);color:var(--arena-foreground)}.three-d-popover[data-game=xiangqi] .three-d-settings-panel{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(540px,100dvh - 220px);overflow:auto}.three-d-setting-label{color:var(--arena-secondary);margin:0;padding:0 6px 8px;font-size:13px;font-weight:600}.three-d-room-choices{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.three-d-popover[data-game=chess] .three-d-room-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.three-d-room-choices i{aspect-ratio:auto;height:56px;position:relative}.three-d-room-choices>button{border-radius:18px;padding:8px 8px 10px;font-size:13px}.three-d-room-choices i:after{content:"";background:#e1b980;border-radius:6px;width:30px;height:34px;margin:-17px 0 0 -15px;position:absolute;top:50%;left:50%;transform:perspective(60px)rotateX(28deg);box-shadow:0 10px 12px #58472d38}.three-d-room-choices i[data-theme=graphite]{background:radial-gradient(circle at 50% 40%,#2e2c29,#171512)}.three-d-popover[data-game=chess] .three-d-room-choices i:after{background:repeating-conic-gradient(#e6e2d9 0 25%, #62666c 0 50%) 50% / 9px 9px;width:34px;margin-left:-17px}.three-d-popover:is([data-game=xiangqi],[data-game=chess]) .three-d-material-choices>button{padding:12px 2px 10px;font-size:12px}.three-d-popover:is([data-game=xiangqi],[data-game=chess]) :is(.three-d-room-choices,.three-d-material-choices)>button[aria-pressed=true]{background:var(--arena-fill)}.three-d-xiangqi-swatch{background-color:var(--swatch-light);background-image:linear-gradient(var(--swatch-dark) 1.5px, transparent 1.5px), linear-gradient(90deg, var(--swatch-dark) 1.5px, transparent 1.5px);width:44px;height:48px;box-shadow:0 0 0 3px var(--swatch-frame);background-position:5px 5px;background-size:11px 11px;border-radius:9px;margin:0}.three-d-material-choices [aria-pressed=true] .three-d-xiangqi-swatch{outline:2px solid var(--arena-accent);outline-offset:3px}.three-d-xiangqi-piece-swatch{align-items:center;gap:3px;height:40px;display:flex}.three-d-sculpted-choice,.three-d-reference-choice{grid-column:span 2;min-width:0}.three-d-board-preview{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:120px;display:block}.three-d-sculpted-preview{aspect-ratio:8/3;object-fit:contain;width:100%;height:auto;display:block}.three-d-sculpted-choice small{color:var(--arena-secondary);padding-inline:6px;font-size:12px;font-weight:400;line-height:1.4}.three-d-xiangqi-piece-swatch i{border-radius:99px;justify-content:center;align-items:center;width:30px;height:30px;font-family:Noto Serif SC,serif;font-size:16px;font-style:normal;font-weight:700;display:flex;box-shadow:inset 0 0 0 2px,inset 0 -3px 6px #0003,0 2px 4px #0004}.three-d-toggle{width:100%;min-height:48px;color:var(--arena-foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 6px;font-size:14px;display:flex}.three-d-toggle i{background:var(--arena-fill-hover);border-radius:99px;flex:0 0 46px;height:28px;position:relative}.three-d-toggle small{color:var(--arena-muted);margin-top:3px;font-size:12px;display:block}.three-d-popover:is([data-game=xiangqi],[data-game=chess]) .three-d-toggle{margin-top:8px;padding:8px 6px}.three-d-popover:is([data-game=xiangqi],[data-game=chess]) .three-d-toggle small{margin-top:0}.three-d-camera-help{color:var(--arena-secondary);margin:12px 6px;font-size:12px;line-height:1.5}.three-d-toggle i:after{content:"";background:oklch(99% 0 0);border-radius:99px;width:24px;height:24px;transition:transform .18s;position:absolute;top:2px;left:2px}.three-d-toggle[aria-checked=true] i{background:var(--arena-accent)}.three-d-toggle[aria-checked=true] i:after{transform:translate(18px)}.three-d-popover .three-d-reset{background:var(--arena-fill);border:0;width:100%;margin-top:8px}.three-d-camera-actions{gap:6px;margin-top:6px;display:flex}.three-d-camera-actions>.ui-button{flex:1;padding:0}.three-d-settings-link{justify-content:flex-start;width:100%}.three-d-sheet-shortcuts{gap:8px;margin-bottom:12px;display:grid}.three-d-match-sheet .three-d-status{padding:8px 0 16px}.three-d-match-sheet :is(.chess-moves,.three-d-river-moves){max-height:55dvh;overflow:auto}.three-d-match-sheet{color:var(--arena-foreground);background:var(--arena-surface)}@media (width<=1099px){.three-d-layout,.three-d-layout[data-side-collapsed=true]{grid-template:"heading"62px"playfield"minmax(0,1fr)"rail"/minmax(0,1fr)}.three-d-side-stack{display:none}.three-d-playfield{padding:0 24px}.three-d-player-opponent{display:block}.three-d-bottom-row{display:flex}.three-d-toolbar.chess-board-rail{flex-direction:row;place-self:center;max-width:calc(100% - 24px);margin:8px 0 20px}.three-d-arena .three-d-toolbar.chess-board-rail>.game-version-links{flex-direction:row}.three-d-tool-divider{width:1px;height:20px;margin:0 6px}.three-d-compact-bar{flex:0 0 44px;align-items:center;gap:8px;min-width:0;display:flex}.three-d-compact-status{text-overflow:ellipsis;white-space:nowrap;max-width:42%;color:var(--arena-foreground);font:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:0;font-size:13px;font-weight:600;overflow:hidden}.three-d-move-ribbon{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow:auto}.three-d-move-ribbon button{height:28px;color:var(--arena-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;flex-shrink:0;align-items:center;gap:4px;padding:0 9px;font-size:13px;display:flex}.three-d-move-ribbon button[aria-current=step]{color:var(--arena-foreground);background:var(--arena-fill-hover)}.three-d-move-ribbon button span{color:var(--arena-muted)}.three-d-compact-bar>.ui-button{background:var(--arena-fill);flex:0 0 40px;height:40px;min-height:40px}.three-d-mobile-actions{flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:flex}.three-d-mobile-actions .kv-game-actions{margin:0;padding:4px}}@media (width<=699px){.three-d-layout,.three-d-layout[data-side-collapsed=true]{grid-template-rows:calc(46px + max(10px, env(safe-area-inset-top))) minmax(0, 1fr) auto}.three-d-heading{padding:max(10px, env(safe-area-inset-top)) 12px 4px}.three-d-playfield{padding:0 max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left))}.three-d-bottom-row{flex:0 0 68px}.three-d-arena[data-game=xiangqi] .three-d-bottom-row{flex-basis:64px}.three-d-toolbar.chess-board-rail{width:calc(100% - 24px);min-width:0;height:52px;margin:8px 0 max(12px, env(safe-area-inset-bottom));justify-content:space-between}.three-d-toolbar .three-d-tool{flex:0 0 44px;width:44px;height:44px}.three-d-arena .three-d-toolbar.chess-board-rail>.game-version-links{height:44px}.three-d-toolbar .game-version-links a{height:40px;min-height:40px;padding:0 10px}.three-d-toolbar .game-version-links svg,.three-d-tool-divider,.three-d-toolbar .three-d-sound{display:none}.three-d-arena[data-game=xiangqi] .three-d-toolbar{width:auto}.three-d-arena[data-game=xiangqi] .three-d-tool-divider{margin:0 4px;display:block}.three-d-arena[data-game=xiangqi] .three-d-sound{display:flex}.three-d-mobile-actions{order:1;max-height:100px;overflow:auto}.three-d-title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.three-d-access-badge{padding-inline:10px}}@media (height<=540px) and (width>=600px){.three-d-layout,.three-d-layout[data-side-collapsed=true]{grid-template:"heading heading"52px"playfield rail"minmax(0,1fr)/minmax(0,1fr) 60px}.three-d-heading{padding:6px 12px}.three-d-side-stack{display:none}.three-d-playfield{grid-template:"board ribbon"44px"board opponent"60px"board player"68px"board actions"minmax(0,1fr)/minmax(0,1fr) 220px;gap:0 12px;padding:0 12px 12px;display:grid}.three-d-board-area{grid-area:board}.three-d-player-opponent{grid-area:opponent;display:block}.three-d-compact-bar{grid-area:ribbon;display:flex}.three-d-bottom-row{display:contents}.three-d-player-self{grid-area:player}.three-d-toolbar.chess-board-rail{scrollbar-width:none;border-radius:24px;flex-flow:column;justify-content:center;place-self:start;width:48px;min-width:0;height:auto;max-height:calc(100dvh - 64px);margin:0;overflow-y:auto}.three-d-arena .three-d-toolbar.chess-board-rail>.game-version-links{flex-direction:column;height:auto}.three-d-toolbar .game-version-links a{min-width:40px;height:32px;min-height:32px;padding-inline:8px}.three-d-toolbar .game-version-links svg{display:none}.three-d-toolbar .three-d-tool{flex-basis:36px;width:40px;height:36px}.three-d-tool-divider,.three-d-toolbar .three-d-sound{display:none}.three-d-mobile-actions{grid-area:actions;display:flex}}@media (prefers-reduced-motion:reduce){.three-d-toggle i:after{transition:none}}
