.app-shell{position:relative;box-sizing:border-box;min-height:100vh;max-width:1540px;margin:0 auto;padding:1rem clamp(1rem,2.4vw,2rem);overflow-x:clip;overflow-y:visible;isolation:isolate;color:var(--text-primary);font-size:14px;--app-background: linear-gradient(180deg, #03080b 0%, #071116 52%, #03070a 100%);--surface-bg: #050a0f;--surface-soft: #071219;--surface-subtle: #08151c;--surface-strong: #010508;--surface-border: rgba(70, 242, 255, .16);--surface-border-strong: rgba(70, 242, 255, .28);--text-primary: #eefcff;--text-secondary: rgba(238, 252, 255, .78);--text-muted: rgba(174, 224, 229, .62);--text-dim: rgba(174, 224, 229, .46);--board-light: #d7e5df;--board-dark: #162b31;--board-frame: rgba(70, 242, 255, .56);--board-highlight: rgba(70, 242, 255, .76);--board-last-move: rgba(70, 242, 255, .58);--board-target: rgba(83, 255, 231, .72);--board-glow: rgba(70, 242, 255, .26);--theme-accent: #46f2ff;--theme-panel: linear-gradient(135deg, #07141b 0%, #050a0f 100%);--hero-badge-bg: linear-gradient(135deg, #071923 0%, #050a0f 100%);--button-hover-border: rgba(70, 242, 255, .62);--button-active-bg: linear-gradient(135deg, #092631 0%, #071219 100%);--button-active-border: rgba(83, 255, 231, .72);--primary-bg: linear-gradient(135deg, #46f2ff 0%, #2aa7b2 100%);--primary-text: #02070a;--focus-border: rgba(83, 255, 231, .76);--focus-ring: rgba(70, 242, 255, .14);--danger-border: rgba(255, 92, 121, .34);--danger-text: #ff9aad;--chat-own-bg: #071923;--chat-own-border: rgba(70, 242, 255, .18);--fullscreen-bg: #020609;--panel-grid: repeating-linear-gradient(0deg, rgba(3, 15, 26, .34) 0 1px, transparent 1px 7px), repeating-linear-gradient(90deg, rgba(3, 15, 26, .26) 0 1px, transparent 1px 7px)}.app-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--app-background)}.app-shell:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.28;background:linear-gradient(rgba(7,25,39,.32) 1px,transparent 1px),linear-gradient(90deg,rgba(7,25,39,.24) 1px,transparent 1px),linear-gradient(180deg,transparent 0%,rgba(70,242,255,.012) 50%,transparent 100%);background-size:44px 44px,44px 44px,100% 4px;mix-blend-mode:normal}.hero,.board-panel,.match-panel,.history-panel{background:var(--panel-grid),var(--surface-bg);border:1px solid var(--surface-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.card{background:var(--surface-bg);border:1px solid var(--surface-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero{position:relative;z-index:1;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1.1rem;border-radius:.35rem;margin-bottom:.8rem;border-left:3px solid var(--theme-accent)}.hero-actions{display:flex;align-items:flex-start;gap:.85rem}.eyebrow,.toolbar-label,.panel-head span,.field span,.room-line span{text-transform:uppercase;letter-spacing:0;font-size:.68rem;color:var(--text-muted)}.hero-copy h1{margin:.18rem 0 0;font-size:1.75rem;line-height:1;letter-spacing:0;text-transform:uppercase}.hero-copy p,.hero-copy-actions{display:none}.hero-hub-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}.hero-badge{display:flex;flex-direction:column;gap:.25rem;min-width:8.5rem;padding:.7rem .85rem;border-radius:.25rem;background:var(--hero-badge-bg);border:1px solid var(--surface-border-strong)}.hero-badge strong{font-size:1rem}.desktop-only{display:block}.mobile-only{display:none}.arena-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr);gap:1.35rem;align-items:start}.board-panel{border-radius:.45rem;padding:1.35rem}.board-toolbar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(4.5rem,.45fr) minmax(6rem,.55fr) minmax(16rem,1.35fr);gap:.9rem;width:min(100%,calc(1282px + 2.4rem));margin:0 auto 1rem;align-items:stretch}.board-toolbar strong{display:block;margin-top:.35rem;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.toolbar-engine-card{display:grid;grid-template-columns:4.8rem minmax(0,1fr);gap:.7rem;align-items:center;min-width:0;padding:.42rem;border-radius:.95rem;border:1px solid var(--surface-border);background:var(--surface-subtle)}.toolbar-engine-card.bot-duel-card{grid-template-columns:minmax(0,1fr);gap:.32rem}.toolbar-engine-image{width:4.8rem;height:3.5rem;border-radius:.75rem;object-fit:cover;box-shadow:0 10px 20px #0000002e}.toolbar-engine-copy{min-width:0}.toolbar-engine-copy>strong{font-size:.92rem}.bot-color-list{display:grid;gap:.24rem;margin-top:.28rem}.bot-color-pill{display:grid!important;grid-template-columns:2.5rem 3.2rem minmax(0,1fr);gap:.45rem;align-items:center;margin-top:0!important;font-size:.82rem!important;line-height:1.15!important}.bot-color-image{width:2.5rem;height:1.7rem;border-radius:.5rem;object-fit:cover;box-shadow:0 7px 14px #00000029}.bot-color-pill b{color:var(--text-primary);font-size:.78rem}.bot-color-pill span{min-width:0;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.hint-strip{display:flex;align-items:center;justify-content:space-between;gap:.9rem;width:min(100%,calc(1282px + 2.4rem));margin:0 auto 1rem;padding:.9rem 1rem;border-radius:1.2rem;border:1px solid var(--surface-border);background:var(--surface-subtle)}.hint-copy{min-width:0}.hint-copy span{display:block;margin-bottom:.25rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.7rem}.hint-copy strong{display:block;color:var(--text-primary);overflow-wrap:anywhere}.hint-btn{white-space:nowrap}.board-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;width:min(100%,calc(1282px + 2.4rem));margin:0 auto 1rem}.board-quick-actions .board-action-btn{min-width:10.5rem}.board-quick-actions .board-new-game-btn{width:auto;min-width:11rem}.board-action-btn.active,.secondary-btn.active{border-color:var(--theme-accent);background:var(--theme-panel)}.panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem}.panel-head.compact{margin-bottom:.8rem}.panel-head h2{margin:0;font-size:1rem}.history-head{display:flex;flex-direction:column;gap:.25rem}.board-content{display:grid;grid-template-columns:minmax(240px,282px) minmax(0,700px) minmax(240px,300px);gap:1.2rem;align-items:start;width:min(100%,calc(1282px + 2.4rem));margin:0 auto;justify-content:center}.match-panel{position:relative;display:grid;gap:.9rem;overflow:hidden;border-radius:.35rem;padding:1rem}.match-panel:before,.history-panel:before,.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--theme-accent),transparent 34%) top left / 100% 1px no-repeat,linear-gradient(180deg,var(--theme-accent),transparent 34%) top left / 1px 100% no-repeat;opacity:.34}.combatant-card{position:relative;display:grid;grid-template-columns:6.1rem minmax(0,1fr);gap:.85rem;align-items:end;min-width:0;padding:.7rem;border:1px solid var(--surface-border);border-left:3px solid transparent;border-radius:.25rem;background:var(--surface-subtle)}.combatant-card.active{border-left-color:var(--theme-accent);box-shadow:none}.combatant-portrait{width:100%;aspect-ratio:1;display:block;object-fit:cover;border-radius:.16rem;border:1px solid rgba(70,242,255,.24);filter:saturate(1.08) contrast(1.04);box-shadow:none}.combatant-copy{display:grid;gap:.45rem;min-width:0}.combatant-copy span{color:var(--theme-accent);text-transform:uppercase;font-size:.68rem;font-weight:800}.combatant-copy strong{color:var(--text-primary);font-size:1.05rem;line-height:1;text-transform:uppercase;overflow-wrap:anywhere}.combatant-copy dl{display:grid;gap:.25rem;margin:0}.combatant-copy dl div,.match-info-grid{display:grid;grid-template-columns:minmax(4.6rem,.72fr) minmax(0,1fr);gap:.55rem;align-items:baseline}.combatant-copy dt,.match-info-grid span{color:var(--text-muted);text-transform:uppercase;font-size:.62rem;font-weight:800}.combatant-copy dd,.match-info-grid strong{min-width:0;margin:0;color:var(--text-secondary);font-size:.78rem;line-height:1.2;overflow-wrap:anywhere}.versus-chip{justify-self:center;display:grid;place-items:center;width:3.1rem;aspect-ratio:1;color:var(--text-primary);font-size:.86rem;font-weight:900;border:1px solid var(--surface-border-strong);background:linear-gradient(135deg,#092631,#010508);clip-path:polygon(22% 0,78% 0,100% 50%,78% 100%,22% 100%,0 50%);text-shadow:0 0 12px rgba(70,242,255,.38)}.match-info-grid{padding:.85rem;border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border);background:var(--surface-strong)}.match-panel-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.match-panel-actions .board-new-game-btn,.match-panel-actions .board-action-btn{min-width:0}.board-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-width:0}.board-viewport{position:relative;display:flex;justify-content:center;width:100%}.fullscreen-board-layout{display:flex;justify-content:center;align-items:center;width:100%;min-width:0}.board-viewport:fullscreen{isolation:isolate;display:grid;place-items:center;width:100vw;height:100vh;padding:1rem;overflow:hidden;background:var(--fullscreen-bg)}.board-viewport:fullscreen:before{content:"";position:fixed;inset:0;z-index:0;background:inherit;pointer-events:none}.board-viewport:fullscreen .fullscreen-board-layout{--fullscreen-side-width: clamp(14rem, 18vw, 18.5rem);position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,auto);gap:1rem;align-items:center;justify-content:center;width:100%;height:100%;padding-top:3.35rem;box-sizing:border-box}.board-viewport:fullscreen .fullscreen-board-layout.has-fullscreen-side-panel{grid-template-columns:minmax(0,auto) var(--fullscreen-side-width)}.board-viewport:fullscreen .board-wrap{width:min(calc(100vh - 2rem),calc(100vw - 2rem))}.board-viewport:fullscreen .fullscreen-board-layout.has-fullscreen-side-panel .board-wrap{width:min(calc(100vh - 5.35rem),calc(100vw - var(--fullscreen-side-width) - 3rem))}.fullscreen-exit-btn{position:absolute;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:4;padding:.8rem 1rem;color:var(--text-primary);background:var(--surface-strong);border-color:var(--surface-border-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.board-room-clock-card{display:grid;width:min(100%,700px);margin:0;color:var(--text-primary);background:var(--surface-strong);border-color:var(--surface-border-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.board-room-clock-card .room-clock-head{display:none}.board-room-clock-card .room-clocks{grid-template-columns:repeat(2,minmax(0,1fr))}.board-room-clock-card .room-clock{padding:.5rem .62rem}.board-room-clock-card .room-clock strong{font-size:.98rem}.fullscreen-room-clock-card{margin:0;border-color:var(--surface-border-strong);background:var(--surface-strong)}.fullscreen-room-clock-card .room-clock-head{display:flex}.fullscreen-room-clock-card .room-clocks{grid-template-columns:minmax(0,1fr);gap:.5rem}.fullscreen-room-clock-card .room-clock{padding:.62rem .72rem}.fullscreen-room-clock-card .room-clock strong{font-size:1.05rem}.fullscreen-side-panel{display:grid;gap:.9rem;width:100%;max-height:min(100%,46rem);align-self:center;overflow:auto;padding:.9rem;border-radius:1.15rem;border:1px solid var(--surface-border-strong);color:var(--text-primary);background:var(--surface-bg);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.fullscreen-tool-card{display:grid;gap:.8rem;padding:.9rem;border-radius:1rem;border:1px solid var(--surface-border-strong);color:var(--text-primary);background:var(--surface-strong)}.fullscreen-eval-body{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.8rem;align-items:stretch;min-height:13.5rem}.fullscreen-eval-card .position-eval{height:13.5rem;padding-block:0}.fullscreen-eval-meta{display:grid;align-content:center;gap:.45rem;min-width:0}.fullscreen-eval-meta strong{color:var(--text-primary);font-size:1.7rem;line-height:1}.fullscreen-eval-meta span{color:var(--text-muted);line-height:1.35;overflow-wrap:anywhere}.fullscreen-review-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.fullscreen-review-controls .secondary-btn{order:1;min-width:0;padding-inline:.5rem}.fullscreen-review-controls .review-slider{order:2;grid-column:1 / -1}.board-wrap{--board-index-size: 20px;--board-index-gap: .65rem;--board-border-size: 1px;position:relative;display:flex;flex-direction:column;gap:.65rem;width:min(100%,700px,max(18rem,calc(100dvh - 23.5rem)))}.board-frame{position:relative;display:grid;grid-template-columns:var(--board-index-size) minmax(0,1fr);gap:var(--board-index-gap);align-items:stretch}.board-frame.with-eval{grid-template-columns:2.15rem var(--board-index-size) minmax(0,1fr)}.rank-labels,.file-labels{display:grid;align-items:center;justify-items:center;color:var(--text-dim);font-weight:700}.rank-labels{grid-template-rows:repeat(8,minmax(0,1fr));padding-block:var(--board-border-size)}.file-labels{grid-template-columns:repeat(8,minmax(0,1fr));padding-left:calc(var(--board-index-size) + var(--board-index-gap) + var(--board-border-size));padding-right:var(--board-border-size)}.board-wrap.analysis-board .file-labels{padding-left:calc(2.15rem + var(--board-index-gap) + var(--board-index-size) + var(--board-index-gap) + var(--board-border-size))}.board-grid{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);width:100%;height:100%;border-radius:.22rem;overflow:hidden;aspect-ratio:1;border:var(--board-border-size) solid var(--board-frame);background:var(--surface-strong);box-shadow:0 18px 32px #0000006b,0 0 0 1px #080e11eb,inset 0 0 0 1px #d2e1e614}.board-drawing-layer{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;overflow:visible;color:#e11919;filter:drop-shadow(0 2px 3px rgba(0,0,0,.32))}.board-drawing{stroke:currentColor;stroke-linecap:butt;stroke-linejoin:round}.board-drawing-line{fill:none;stroke-width:.035}.board-drawing-arrowhead{fill:currentColor;stroke:none}.position-eval{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:.32rem;align-items:stretch;min-width:0;padding-block:var(--board-border-size)}.position-eval-score,.position-eval-side{display:block;color:var(--text-dim);font-size:.68rem;font-weight:800;line-height:1;text-align:center}.position-eval-score{color:var(--text-primary);overflow-wrap:anywhere}.position-eval-track{position:relative;min-height:0;overflow:hidden;border-radius:.45rem;border:1px solid var(--surface-border-strong);background:#111}.position-eval-white,.position-eval-black{position:absolute;left:0;right:0}.position-eval-white{top:0;height:var(--white-share);background:#f4f0e7}.position-eval-black{bottom:0;height:calc(100% - var(--white-share));background:#171717}.board-wrap.celebrating .board-grid{animation:board-victory-pop .72s ease}.board-victory{position:absolute;inset:0 0 0 calc(var(--board-index-size) + var(--board-index-gap));z-index:2;display:grid;place-items:center;overflow:hidden;border-radius:1.15rem;border:var(--board-border-size) solid transparent;background:radial-gradient(circle at center,var(--focus-ring) 0%,transparent 56%),linear-gradient(180deg,#0a0e150f,#0a0e1557),var(--theme-panel);box-shadow:inset 0 0 0 1px var(--surface-border),inset 0 0 0 2px var(--button-active-border),0 0 34px #0000002e;pointer-events:none;animation:board-victory-overlay 2.1s ease forwards}.board-victory-rays{position:absolute;inset:-22%;opacity:.42;background:conic-gradient(from 8deg,transparent 0 8deg,rgba(255,255,255,.24) 8deg 12deg,transparent 12deg 28deg);filter:blur(.4px);animation:board-victory-rays 2.1s ease-out forwards}.board-victory:before,.board-victory:after{content:"";position:absolute;inset:0}.board-victory:before{background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.28) 50%,transparent 76%);transform:translate(-130%);animation:board-victory-sweep 1.1s ease .14s forwards}.board-victory:after{inset:18%;border-radius:50%;border:1px solid var(--button-active-border);background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 68%);filter:blur(1px);animation:board-victory-ring 1.2s ease-out .08s both}.board-victory-emblem{position:absolute;top:max(1.1rem,8%);left:50%;z-index:1;display:grid;place-items:center;width:clamp(3.2rem,10vw,4.8rem);aspect-ratio:1;transform:translate(-50%);border-radius:999px;border:1px solid rgba(255,255,255,.2);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.38),transparent 34%),linear-gradient(150deg,var(--theme-accent),rgba(255,255,255,.16));box-shadow:0 0 32px color-mix(in srgb,var(--theme-accent) 48%,transparent),inset 0 0 0 1px #ffffff2e;animation:board-victory-emblem 1.1s cubic-bezier(.2,.86,.2,1.1) both}.board-victory-emblem svg{width:58%;height:58%;fill:none;stroke:var(--primary-text);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 8px 14px rgba(0,0,0,.2))}.board-victory-copy{position:relative;z-index:1;display:grid;gap:.3rem;padding:4.2rem 1.4rem 1.2rem;text-align:center}.board-victory-copy span{color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem}.board-victory-copy strong{font-size:2.35rem;line-height:.96;letter-spacing:0;color:var(--text-primary);text-shadow:0 10px 22px rgba(0,0,0,.28)}.board-victory-copy p{margin:0;color:var(--text-secondary);font-size:.95rem}.board-victory-particles{position:absolute;inset:0}.board-victory-particle{position:absolute;left:var(--particle-x);top:var(--particle-y);width:var(--particle-size);height:var(--particle-size);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.92),var(--theme-accent));box-shadow:0 0 14px #ffffff4d;opacity:0;animation:board-victory-particle var(--particle-duration) ease-out var(--particle-delay) forwards}.board-victory-confetti{position:absolute;inset:0}.board-victory-confetto{position:absolute;left:var(--confetti-x);top:var(--confetti-y);width:.28rem;height:.66rem;border-radius:999px;background:var(--confetti-color);opacity:0;box-shadow:0 0 10px #ffffff38;transform:rotate(var(--confetti-rotation));animation:board-victory-confetto 1.35s ease-out var(--confetti-delay) forwards}.board-victory-confetto.square{width:.42rem;height:.42rem;border-radius:.12rem}@keyframes board-victory-pop{0%{transform:scale(1)}35%{transform:scale(1.014)}to{transform:scale(1)}}@keyframes board-victory-overlay{0%{opacity:0;transform:scale(.985)}12%,72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.01)}}@keyframes board-victory-rays{0%{opacity:0;transform:rotate(0) scale(.9)}20%{opacity:.42}to{opacity:0;transform:rotate(32deg) scale(1.06)}}@keyframes board-victory-sweep{0%{transform:translate(-130%)}to{transform:translate(130%)}}@keyframes board-victory-ring{0%{opacity:0;transform:scale(.8)}40%{opacity:1}to{opacity:0;transform:scale(1.12)}}@keyframes board-victory-emblem{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.62)}55%{opacity:1;transform:translate(-50%) translateY(0) scale(1.08)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes board-victory-particle{0%{opacity:0;transform:translateZ(0) scale(.7)}22%{opacity:1}to{opacity:0;transform:translate3d(0,-18px,0) scale(1.05)}}@keyframes board-victory-confetto{0%{opacity:0;transform:translate3d(0,8px,0) rotate(var(--confetti-rotation)) scale(.75)}18%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),-34px,0) rotate(calc(var(--confetti-rotation) + 120deg)) scale(1)}}.square{position:relative;border:none;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;padding:0;cursor:pointer;transition:box-shadow .18s ease,background .18s ease,filter .18s ease}.square:hover{z-index:1;filter:brightness(1.08)}.square.light{background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),repeating-linear-gradient(0deg,rgba(0,0,0,.035) 0 1px,transparent 1px 5px),linear-gradient(180deg,#ffffff0b,#00000009),var(--board-light)}.square.dark{background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0 1px,transparent 1px 5px),linear-gradient(180deg,#ffffff06,#0000001a),var(--board-dark)}.square.selected{box-shadow:inset 0 0 0 3px var(--board-highlight),inset 0 0 18px #46f2ff38}.square.last-move{box-shadow:inset 0 0 0 3px var(--board-last-move),inset 0 0 18px #46f2ff33}.square.target:after{content:"";position:absolute;inset:16%;border-radius:.12rem;border:2px solid var(--board-target);transform:rotate(45deg)}.piece{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:1;pointer-events:none;-webkit-user-select:none;user-select:none;--piece-height: 82%}.piece-image{width:auto;height:var(--piece-height);max-width:94%;max-height:96%;object-fit:contain}.piece-k{--piece-height: 94%}.piece-q{--piece-height: 90%}.piece-r{--piece-height: 80%}.piece-b,.piece-n{--piece-height: 84%}.piece-p{--piece-height: 64%}.target-dot{width:18%;height:18%;border-radius:.1rem;background:var(--board-target);opacity:.35;transform:rotate(45deg)}.history-panel{position:relative;margin-top:0;border-radius:.35rem;padding:1rem;overflow:hidden}.stockfish-panel{display:grid;gap:.8rem;margin-bottom:1rem;padding:.85rem;border-radius:.25rem;border:1px solid var(--surface-border);background:var(--surface-subtle)}.stockfish-panel-image{width:100%;border-radius:.2rem;display:block;object-fit:cover;box-shadow:none}.stockfish-panel-copy span{display:block;margin-bottom:.28rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.7rem}.stockfish-panel-copy strong{display:block;color:var(--text-primary);font-size:1rem}.export-btn{white-space:nowrap}.history-empty{margin-top:1rem}.telemetry-panel{position:relative;display:grid;gap:.75rem;margin-top:1rem;padding:.85rem;border:1px solid var(--surface-border);border-radius:.25rem;background:var(--surface-subtle)}.telemetry-graph{width:100%;aspect-ratio:2.1;display:block;overflow:visible}.telemetry-grid-line{fill:none;stroke:#46f2ff1f;stroke-width:1}.telemetry-zero-line{fill:none;stroke:#eefcff33;stroke-width:1.2;stroke-dasharray:4 5}.telemetry-line{fill:none;stroke:url(#telemetryGlow);stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;filter:drop-shadow(0 0 8px rgba(70,242,255,.46))}.telemetry-readout{display:flex;justify-content:space-between;gap:.8rem;color:var(--text-muted);font-size:.7rem;font-weight:800;line-height:1.2;text-transform:uppercase}.empty-state{padding:1rem;border-radius:1rem;color:var(--text-muted);background:var(--surface-soft)}.analysis-error{color:var(--danger-text)}.review-section{display:grid;gap:.9rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--surface-border)}.review-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:.65rem;align-items:center}.review-slider{width:100%;accent-color:var(--theme-accent)}.review-progress{display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:.88rem}.review-progress strong{color:var(--text-primary)}.analysis-actions{display:grid;gap:.65rem}.analysis-copy{margin:0;color:var(--text-secondary);line-height:1.45}.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.review-chip{padding:.85rem;border-radius:1rem;border:1px solid var(--surface-border);background:var(--surface-soft)}.review-chip span,.review-chip strong{display:block}.review-chip span{color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:0;font-size:.72rem}.analysis-table-wrap{overflow:auto;border-radius:1rem;border:1px solid var(--surface-border);background:var(--surface-subtle)}.analysis-table{width:100%;min-width:860px;border-collapse:collapse;background:var(--surface-strong)}.analysis-table-compact{min-width:0;table-layout:fixed;font-size:.8rem}.analysis-table th,.analysis-table td{padding:.6rem .55rem;vertical-align:top;text-align:left;border-bottom:1px solid var(--surface-border)}.analysis-table th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,var(--surface-bg) 0%,var(--surface-strong) 100%);color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem}.analysis-table tbody tr.active{background:var(--theme-panel)}.analysis-table tbody tr:hover{background:var(--surface-subtle)}.analysis-jump-btn{border:1px solid transparent;border-radius:999px;padding:.32rem .55rem;color:var(--text-primary);background:var(--surface-soft);cursor:pointer;font-size:.78rem}.analysis-jump-btn:hover{border-color:var(--button-hover-border);background:var(--theme-panel)}.analysis-pick{display:grid;gap:.18rem}.analysis-pick strong{color:var(--text-primary);display:block;overflow-wrap:anywhere}.analysis-pick span,.analysis-empty{color:var(--text-secondary);overflow-wrap:anywhere}.analysis-lines{display:grid;gap:.5rem}.analysis-line{display:grid;gap:.15rem}.analysis-line strong{color:var(--text-primary)}.analysis-line span{color:var(--text-secondary);line-height:1.4}.review-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.85rem;max-width:100%;padding:.3rem .6rem;border-radius:999px;border:1px solid var(--surface-border);background:var(--surface-soft);color:var(--text-primary);white-space:nowrap;font-size:.82rem;line-height:1.1}.review-badge.best{border-color:var(--button-active-border);background:var(--button-active-bg)}.review-badge.second{border-color:var(--focus-border);background:#08202a}.review-badge.third{border-color:var(--surface-border-strong);background:var(--hero-badge-bg)}.review-badge.outside{border-color:var(--danger-border);background:#1b0d12}.analysis-modal{position:fixed;inset:0;z-index:20;padding:1rem;pointer-events:none}.analysis-modal-card{position:absolute;top:1rem;right:1rem;width:min(480px,calc(100vw - 2rem));height:min(36rem,calc(100vh - 2rem));display:flex;flex-direction:column;overflow:hidden;border-radius:1.15rem;border:1px solid var(--surface-border);background:linear-gradient(180deg,var(--theme-panel) 0%,var(--surface-bg) 22%,var(--surface-strong) 100%);box-shadow:none;padding:.8rem;pointer-events:auto}.analysis-modal-header{cursor:grab;-webkit-user-select:none;user-select:none;gap:.8rem;margin-bottom:.75rem;touch-action:none}.analysis-modal-header:active{cursor:grabbing}.analysis-table-modal-wrap{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.analysis-modal-header h2{font-size:1rem}.analysis-modal-header span{font-size:.76rem}.settings-menu-btn{flex:none;min-width:9.5rem}.settings-menu-overlay{position:fixed;inset:0;z-index:35;display:block;border:none;background:#05080c70;cursor:pointer}.control-panel{position:fixed;top:0;right:0;bottom:0;z-index:40;display:flex;flex-direction:column;width:min(460px,calc(100vw - 1.2rem));height:100dvh;padding:1rem;overflow:hidden;font-size:12px;background:var(--panel-grid),var(--surface-bg);border-left:1px solid var(--surface-border-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translate(calc(100% + 1rem));transition:transform .22s ease;isolation:isolate;pointer-events:auto}.control-panel.settings-open{transform:translate(0)}.control-panel-scroll{display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1;height:100%;min-height:0;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.control-panel-scroll>*{flex:0 0 auto}.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.drawer-close{white-space:nowrap}.control-panel .card{min-width:0;background:var(--surface-strong);-webkit-backdrop-filter:none;backdrop-filter:none;padding:.8rem}.control-panel .panel-head{gap:.65rem;margin-bottom:.65rem}.control-panel .panel-head h2,.control-panel .drawer-header h2,.control-panel .history-head h2{font-size:.82rem}.control-panel .panel-head span,.control-panel .field span,.control-panel .field-row>span,.control-panel .room-line span,.control-panel .toolbar-label{font-size:.58rem}.control-panel .segmented{gap:.45rem}.control-panel .segmented-btn,.control-panel .secondary-btn,.control-panel .primary-btn{padding:.62rem .7rem;font-size:.66rem}.control-panel .field{gap:.38rem;margin-bottom:.7rem}.control-panel .field input,.control-panel .settings-select{min-height:2.35rem;padding:.62rem .7rem;font-size:.72rem}.control-panel .field-meta,.control-panel .mode-copy,.control-panel .drawing-help-copy{font-size:.72rem;line-height:1.35}.control-panel .field-row{gap:.65rem;margin:.8rem 0}.settings-board-actions{margin-bottom:.85rem}.card{position:relative;overflow:hidden;border-radius:.35rem;padding:1.2rem}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.mode-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-width:14rem}.segmented.compact.engine-mode-segmented{grid-template-columns:repeat(3,minmax(0,1fr));max-width:22rem}.segmented.compact.stockfish-config-segmented{grid-template-columns:repeat(2,minmax(0,1fr));max-width:14rem}.segmented.compact.refined-profile-segmented{grid-template-columns:repeat(4,minmax(0,1fr));max-width:28rem}.mode-copy{margin:1rem 0 1.1rem;color:var(--text-secondary);line-height:1.5}.segmented-btn,.secondary-btn,.primary-btn{border:1px solid var(--surface-border-strong);border-radius:.16rem;color:var(--text-primary);background:var(--surface-soft);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease;cursor:pointer;font-size:.78rem;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:0}.segmented-btn:hover,.secondary-btn:hover,.primary-btn:hover{border-color:var(--button-hover-border);box-shadow:none}.segmented-btn.active{background:var(--button-active-bg);border-color:var(--button-active-border);box-shadow:none}.segmented-btn,.secondary-btn{padding:.8rem 1rem}.online-time-controls .segmented-btn{display:grid;gap:.2rem;align-content:center;min-height:4.4rem;text-align:left}.online-time-controls .segmented-btn strong{font-size:.95rem;line-height:1.15}.online-time-controls .segmented-btn span{color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.primary-btn{width:100%;padding:.95rem 1.1rem;background:var(--primary-bg);color:var(--primary-text);font-weight:800;box-shadow:none}.secondary-btn.danger{border-color:var(--danger-border);color:var(--danger-text)}.secondary-btn.wide{width:100%}.disconnect-btn{margin-top:1rem}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.95rem}.field input,.settings-select{width:100%;padding:.9rem 1rem;border-radius:.16rem;border:1px solid var(--surface-border-strong);background:var(--surface-strong);color:var(--text-primary);outline:none;font-size:.82rem}.settings-select{min-height:3rem;cursor:pointer}.field input:focus,.settings-select:focus{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-ring),0 0 18px #46f2ff1f}.settings-select:hover{border-color:var(--button-hover-border)}.inline-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.difficulty-field{margin-bottom:1rem}.custom-stockfish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.custom-stockfish-field{margin-bottom:0}.bot-engine-select-grid,.bot-engine-config-list{display:grid;gap:.75rem}.bot-engine-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bot-engine-select-field{margin-bottom:0}.bot-engine-config-block{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--surface-border);border-radius:.28rem;background:var(--surface-subtle)}.bot-engine-config-block>strong{color:var(--text-primary);font-size:.86rem;line-height:1.25}.engine-subfield-label{margin-top:.35rem}.field-meta{margin:-.1rem 0 0;color:var(--text-secondary);font-size:.9rem;line-height:1.35}.refined-profile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem .75rem}.refined-profile-meta strong{grid-column:1 / -1;color:var(--text-primary);font-weight:800}.refined-profile-meta span{min-width:0}.drawing-help-copy{margin:0 0 .85rem;color:var(--text-secondary);font-size:.92rem;line-height:1.45}.field-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.1rem 0}.piece-style-row{margin:0;align-items:flex-start}.piece-style-row>span{color:var(--text-secondary);line-height:1.4}.room-card{min-width:0;margin-top:1rem;padding:1rem;border-radius:1.2rem;background:var(--surface-soft);border:1px solid var(--surface-border);overflow:hidden}.room-clock-card{display:grid;gap:.75rem;margin-top:.85rem;padding:.85rem;border-radius:1rem;border:1px solid var(--surface-border-strong);background:var(--surface-strong)}.room-clock-head,.room-clock{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.room-clock-head span,.room-clock span{min-width:0;color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.62rem}.room-clock-head strong{color:var(--text-secondary);font-size:.78rem}.room-clocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.room-clock{min-width:0;overflow:hidden;padding:.78rem .85rem;border-radius:.85rem;border:1px solid var(--surface-border);background:var(--surface-soft)}.room-clock.active{border-color:var(--button-active-border);background:var(--button-active-bg);box-shadow:inset 0 0 0 1px var(--focus-ring)}.room-clock.expired{border-color:var(--danger-border)}.room-clock strong{min-width:0;font-variant-numeric:tabular-nums;font-size:1.12rem;line-height:1;overflow-wrap:normal;text-align:right;white-space:nowrap}.chat-card{display:flex;flex-direction:column;gap:.85rem;min-height:0}.chat-list{display:flex;flex-direction:column;gap:.65rem;min-height:0;max-height:16rem;overflow:auto;padding-right:.15rem}.chat-message{padding:.7rem .8rem;border-radius:1rem;background:var(--surface-soft)}.chat-message.own{background:var(--chat-own-bg);border:1px solid var(--chat-own-border)}.chat-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.chat-meta strong{font-size:.92rem}.chat-meta span{color:var(--text-dim);font-size:.76rem;text-transform:uppercase;letter-spacing:0}.chat-message p{margin:0;color:var(--text-secondary);line-height:1.4;word-break:break-word}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}.chat-form input{width:100%;padding:.9rem 1rem;border-radius:1rem;border:1px solid var(--surface-border-strong);background:var(--surface-strong);color:var(--text-primary);outline:none}.chat-form input:focus{border-color:var(--focus-border);box-shadow:0 0 0 4px var(--focus-ring)}.room-line{display:flex;justify-content:space-between;gap:1rem;min-width:0;margin-bottom:.8rem}.room-line strong{min-width:0;text-align:right;overflow-wrap:anywhere}.message-card p{margin:0;color:var(--text-secondary);line-height:1.5}.message-card.error p{color:var(--danger-text)}.server-limits-card{display:grid;gap:.85rem;background:#071f20;border-color:#46f2ff29}.server-limits-title{display:flex;align-items:center;gap:.55rem}.server-limits-title h2{margin:0;color:#d7f6f2;font-size:.96rem;line-height:1;text-transform:uppercase}.server-limits-warning{display:inline-grid;place-items:center;width:1rem;aspect-ratio:1;flex:none;color:#071219;background:#ff4f84;clip-path:polygon(50% 0,100% 92%,0 92%);font-size:.64rem;font-weight:900;line-height:1;padding-top:.16rem}.server-limits-list{display:grid;gap:.55rem;margin:0;padding:0 0 0 1.4rem;list-style:none}.server-limits-list li{display:flex;align-items:center;gap:.65rem;color:var(--text-muted);font-size:.92rem;line-height:1.15}.server-limit-icon{position:relative;display:inline-block;width:.9rem;height:.9rem;flex:none;color:var(--theme-accent)}.server-limit-icon.cpu{border:2px solid currentColor;border-radius:.12rem;box-shadow:inset 0 0 0 2px #46f2ff2e}.server-limit-icon.cpu:before,.server-limit-icon.cpu:after{content:"";position:absolute;left:-.24rem;right:-.24rem;height:2px;background:linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 7px,transparent 7px 10px,currentColor 10px 12px)}.server-limit-icon.cpu:before{top:-.28rem}.server-limit-icon.cpu:after{bottom:-.28rem}.server-limit-icon.memory{width:1.05rem;height:.58rem;margin-left:-.06rem;border:2px solid currentColor;border-radius:.08rem}.server-limit-icon.memory:before{content:"";position:absolute;left:.08rem;right:.08rem;bottom:-.32rem;height:.16rem;background:linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 7px,transparent 7px 10px,currentColor 10px 12px)}.toolbar-engine-card,.hint-strip,.match-panel,.room-clock-card,.fullscreen-tool-card,.analysis-modal-card,.message-card,.empty-state,.review-chip,.bot-color-pill,.room-line,.chat-message,.analysis-table-compact,.board-room-clock-card,.fullscreen-room-clock-card{border-radius:.25rem}.toolbar-engine-card,.hint-strip,.empty-state,.review-chip,.bot-color-pill,.room-line,.message-card{border-color:var(--surface-border);background:var(--surface-subtle)}.toolbar-engine-image,.bot-color-image,.analysis-window-drag-handle{border-radius:.16rem}.panel-head h2,.drawer-header h2,.history-head h2{text-transform:uppercase;letter-spacing:0}.panel-head span,.field span,.field-row>span,.room-line span,.toolbar-label,.stockfish-panel-copy span,.combatant-copy span,.combatant-copy dt,.match-info-grid span,.review-chip span,.analysis-table-compact td:before{letter-spacing:0;font-size:.66rem}.board-toolbar strong,.stockfish-panel-copy strong,.combatant-copy strong,.match-info-grid strong,.review-chip strong,.room-line strong{letter-spacing:0}button:disabled{opacity:.58;cursor:not-allowed;transform:none}@media(min-width:981px){.history-panel{min-height:100%}}@media(max-width:1180px){.arena-layout{grid-template-columns:1fr}.board-content{grid-template-columns:minmax(0,1fr)}.board-stage{order:1}.match-panel{order:2}.history-panel{order:3}}@media(max-width:980px){.board-content{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.app-shell{padding:1rem}.stockfish-panel{display:none}.combatant-card{grid-template-columns:5rem minmax(0,1fr)}.match-panel-actions{grid-template-columns:minmax(0,1fr)}.hero{flex-direction:column;align-items:flex-start;padding:1.4rem}.hero-actions{width:100%;justify-content:space-between;align-items:stretch}.hero-badge{min-width:0;flex:1 1 auto}.desktop-only{display:none!important}.mobile-only{display:block}.settings-menu-btn{flex:none;min-width:8.4rem;align-self:stretch}.board-toolbar,.action-grid,.room-clocks,.inline-field,.chat-form,.online-time-controls{grid-template-columns:1fr}.board-actions{flex-direction:column}.board-quick-actions{flex-direction:column;align-items:stretch}.board-quick-actions .board-new-game-btn,.board-quick-actions .board-action-btn{width:100%}.custom-stockfish-grid,.bot-engine-select-grid{grid-template-columns:minmax(0,1fr)}.segmented.compact.refined-profile-segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.refined-profile-meta{grid-template-columns:minmax(0,1fr)}.hint-strip{flex-direction:column;align-items:stretch}.hint-btn{width:100%}.review-controls,.review-summary{grid-template-columns:1fr}.analysis-modal{padding:.75rem}.analysis-modal-card{top:auto;right:.75rem;bottom:.75rem;width:min(420px,calc(100vw - 1.5rem));height:min(33rem,calc(100vh - 1.5rem));padding:.75rem}.analysis-table-compact{min-width:0}.analysis-table-compact thead{display:none}.analysis-table-compact,.analysis-table-compact tbody,.analysis-table-compact tr,.analysis-table-compact td{display:block;width:100%}.analysis-table-compact tbody{padding:.35rem}.analysis-table-compact tr{margin-bottom:.75rem;border:1px solid var(--surface-border);border-radius:1rem;overflow:hidden;background:var(--surface-strong)}.analysis-table-compact td{display:grid;grid-template-columns:minmax(72px,92px) minmax(0,1fr);gap:.75rem;align-items:center;padding:.7rem .8rem;border-bottom:1px solid var(--surface-border)}.analysis-table-compact td:last-child{border-bottom:none}.analysis-table-compact td:before{content:attr(data-label);color:var(--text-muted);text-transform:uppercase;letter-spacing:0;font-size:.7rem;line-height:1.2}.analysis-table-compact td>*{min-width:0}.analysis-table-modal-wrap{min-height:0}.board-action-btn{width:100%}.field-row,.room-line{flex-direction:column;align-items:flex-start}.room-line strong{text-align:left}.board-frame{gap:.55rem}.board-wrap{--board-index-size: 18px;--board-index-gap: .55rem}.board-victory-copy{padding:3.55rem 1rem .95rem}.board-victory-copy strong{font-size:1.75rem}.board-victory-copy p{font-size:.82rem}.control-panel{width:min(420px,calc(100vw - 1.2rem))}}@media(max-width:980px),(max-height:680px){.board-viewport:fullscreen{align-items:start;overflow:auto}.board-viewport:fullscreen .fullscreen-board-layout.has-fullscreen-side-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;justify-items:center;min-height:100%}.board-viewport:fullscreen .fullscreen-board-layout.has-fullscreen-side-panel .board-wrap{width:min(calc(100vw - 2rem),calc(100vh - 15rem))}.board-viewport:fullscreen .fullscreen-side-panel{width:min(100%,44rem);max-height:none;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.fullscreen-eval-body{min-height:10rem}.fullscreen-eval-card .position-eval{height:10rem}}@media(prefers-reduced-motion:reduce){.board-wrap.celebrating .board-grid,.board-victory,.board-victory-rays,.board-victory-emblem,.board-victory:before,.board-victory:after,.board-victory-particle,.board-victory-confetto{animation:none!important}}@media(max-width:520px){.board-panel,.card,.history-panel{padding:1rem}.stockfish-panel{padding:.75rem}.panel-head{flex-direction:column;align-items:flex-start}.export-btn{width:100%}.fullscreen-exit-btn{top:max(.65rem,env(safe-area-inset-top));right:max(.65rem,env(safe-area-inset-right))}.analysis-table-compact td{grid-template-columns:68px minmax(0,1fr);gap:.6rem;padding:.65rem .7rem}}:root{font-family:Bahnschrift,Segoe UI,Trebuchet MS,sans-serif;color:#eefcff;background:#030609;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}
