:root{--bg:#3f3f30;--paper:#f4e4c6;--paper-soft:#ead3aa;--paper-deep:#c59156;--ink:#2d241b;--ink-soft:#5d4a36;--muted:#806f5d;--line:#9c7a54;--line-strong:#5f472f;--red:#bd5138;--red-strong:#8e2e25;--black:#26313a;--jade:#38685e;--jade-strong:#254b45;--gold:#d9a34e;--blue:#3c6681;--panel-shadow:0 22px 48px #1c140c5c;--button-shadow:0 8px 18px #311f1047;--radius:8px;--piece-size:clamp(40px, 5vw, 66px);--piece-font-size:clamp(24px, 2.7vw, 39px);--board-pad:clamp(24px, 4vw, 44px);color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 8%, #d6aa5c38, transparent 28%), linear-gradient(180deg, #26251de0, #392f22f2), repeating-linear-gradient(90deg, #12100c29 0 1px, transparent 1px 22px), repeating-linear-gradient(0deg, #ffeebd09 0 1px, transparent 1px 18px), var(--bg);min-width:320px;margin:0;overflow-x:hidden}button,select,input,textarea{font:inherit;letter-spacing:0}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:not-allowed;opacity:1;color:#f2f5fb;background:linear-gradient(#5e6673,#4b5461);border-color:#7a8594}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #f8e7c4;box-shadow:0 0 0 2px #111827}.app-shell{width:min(1660px,100vw - 34px);min-height:100vh;margin:0 auto;padding:10px 0 18px}.workspace{grid-template-columns:minmax(252px,310px) minmax(540px,1fr) minmax(320px,370px);align-items:start;gap:14px;display:grid}.panel,.board-shell{border-radius:var(--radius);box-shadow:var(--panel-shadow);background:linear-gradient(#fae6bef0,#d3ad7ce6);border:1px solid #ffdd962e}.panel{scrollbar-gutter:stable;flex-direction:column;gap:13px;min-height:660px;max-height:calc(100vh - 28px);padding:13px;display:flex;overflow:auto}.control-panel,.analysis-panel{color:#f1dec0;background:linear-gradient(#5c5c46f0,#3c3d2ef5),repeating-linear-gradient(45deg,#fff3c809 0 1px,#0000 1px 12px)}.analysis-panel{color:var(--ink);background:linear-gradient(#f6e6cafa,#e2c79ef2),repeating-linear-gradient(45deg,#74523109 0 1px,#0000 1px 14px);border-color:#ffe2b25c}.analysis-panel .panel-heading h2{color:#5b3b22;text-shadow:0 1px #fff6e094}.analysis-panel .panel-kicker,.analysis-panel .section-title{color:#8b5a2f}.analysis-panel .icon-button{color:#6e4a2b;background:linear-gradient(#fff6e1f2,#e2c69edb);border-color:#74523133}.panel::-webkit-scrollbar{width:9px}.move-list::-webkit-scrollbar{width:9px}.preset-list::-webkit-scrollbar{width:9px}.panel::-webkit-scrollbar-thumb{background:#7e5a2f57;border:2px solid #fffaf0cc;border-radius:999px}.move-list::-webkit-scrollbar-thumb{background:#7e5a2f57;border:2px solid #fffaf0cc;border-radius:999px}.preset-list::-webkit-scrollbar-thumb{background:#7e5a2f57;border:2px solid #fffaf0cc;border-radius:999px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.panel-heading-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-mini-stat{color:#f3ddb5;white-space:nowrap;background:linear-gradient(#543a22b3,#2c2218c2);border:1px solid #ffdd9633;border-radius:999px;align-items:center;min-height:30px;padding:5px 10px;font-size:12px;font-weight:820;display:inline-flex}.analysis-panel .panel-mini-stat{color:#6b4724;background:linear-gradient(#fff6e1d1,#e2c69ec7);border-color:#74523133}.panel-heading h2{color:#f6e3bd;text-shadow:0 2px 4px #00000038;margin:0;font-size:22px;font-weight:850;line-height:1.12}.panel-kicker{color:#edc168;margin:0 0 3px;font-size:12px;font-weight:820}.icon-button{color:#f1d192;cursor:pointer;background:linear-gradient(#464836f2,#292a20f0);border:1px solid #ffdd9642;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-grid;box-shadow:inset 0 1px #fff1be29,0 8px 18px #1c140c42}.icon-button:hover,.action-grid button:hover,.mini-action:hover,.move-row:hover,.preset-list button:hover,.segmented button:hover{box-shadow:var(--button-shadow);border-color:#efc26885;transform:translateY(-1px)}.status-card{background:linear-gradient(135deg,#464a37f0,#303025e0),#393a2beb;border:1px solid #efc2683d;border-left:4px solid #d9a34e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:12px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff2be21,0 10px 20px #19120b38}.status-card.warning{border-color:#ad312b4d;border-left-color:var(--red);background:linear-gradient(135deg,#ad312b24,#fffdf7a8),#fffaf0eb}.status-card.warning span{color:#7a4a2c}.status-card.warning strong{color:#8e2e25}.status-card.thinking strong:after{content:"";width:18px;animation:1.2s steps(4,end) infinite thinkingDots;display:inline-block}@keyframes thinkingDots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.status-main{align-items:center;gap:5px;min-width:0;display:grid}.status-card span{color:#f4e2c0b8;font-size:13px}.status-card strong{color:#fff0c9;flex:none;font-size:18px;font-weight:850;line-height:1.1}.turn-pill{border-radius:999px;place-items:center;min-width:46px;height:24px;font-weight:820;display:inline-grid;color:#fff!important;font-size:12px!important}.turn-pill.red{background:linear-gradient(#d45a42,#8e2e25);box-shadow:inset 0 1px #ffdfbe38}.turn-pill.black{background:linear-gradient(#4e5660,#222a31);box-shadow:inset 0 1px #ffffff1f}.turn-pill.finished{background:linear-gradient(#e0ae59,#8b5a1d)}.field-group,.level-grid,.fen-loader,.fen-current,.preset-browser,.level-note{gap:8px;display:grid}.field-group>label,.select-field>span,.fen-current>span,.level-note strong{color:#f4e2c0c2;font-size:12px;font-weight:820}.segmented{grid-template-columns:1fr;gap:8px;display:grid}.segmented.two{grid-template-columns:repeat(2,1fr)}.mode-tabs{grid-template-columns:repeat(3,1fr)}.segmented button,.action-grid button,.primary-action,.preset-list button,.theme-picker button,.preset-categories button{color:#3b2d20;cursor:pointer;background:linear-gradient(#f8e2bbf5,#cb995ceb);border:1px solid #7e5a2f2b;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:14px;font-weight:760;transition:transform .16s,border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex;box-shadow:inset 0 1px #fff4cd7a,0 5px 12px #1f150c2e}.mode-tabs button{flex-direction:column;gap:6px;min-height:66px}.theme-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.toggle-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.theme-picker button{justify-content:start;min-height:40px;padding:8px 10px;font-size:13px}.toggle-grid button{color:#f1dec0;cursor:pointer;background:#3030246b;border:1px solid #efc26829;border-radius:8px;min-height:40px;font-size:13px;font-weight:820}.theme-picker button.active,.preset-categories button.active,.toggle-grid button.active{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-color:#efc26885}.theme-swatch{aspect-ratio:1;border:1px solid #241d1824;border-radius:999px;flex:0 0 18px;width:18px;height:18px;display:block;box-shadow:inset 0 0 0 2px #ffffff3d}.theme-swatch.classic{background:linear-gradient(135deg,#efcf8f,#8d6534)}.theme-swatch.jade{background:linear-gradient(135deg,#dbe9dd,#1c726b)}.theme-swatch.ink{background:linear-gradient(135deg,#f3efe5,#2b3030)}.theme-swatch.kyvuong{background:radial-gradient(circle at 34% 34%,#ffffff94,#0000 52%),linear-gradient(135deg,#a2392b,#2f7f66)}.button-icon{background:#5b3d2229;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.segmented button.active,.primary-action{color:#fff;background:linear-gradient(#1f6c65,#134a45);border-color:#2a8b80;box-shadow:inset 0 1px #ffffff2e,0 8px 16px #0c1e1c57}.segmented button.active .button-icon{background:#ffffff2e}.segmented button.active.red{background:linear-gradient(#c74c37,#8e2e25);border-color:#ffce9661}.segmented button.active.black{background:linear-gradient(#49535e,#222a31);border-color:#ffdd963d}.level-grid{gap:10px}.select-field{background:#3030245c;border:1px solid #efc26829;border-radius:8px;gap:7px;padding:10px;display:grid}.select-field select{color:#2d241b;cursor:pointer;background:#f1ddb7;border:1px solid #7e5a2f38;border-radius:8px;width:100%;min-height:40px;padding:0 10px}.select-field em{color:#f4e2c0a3;font-size:12px;font-style:normal}.action-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.action-grid .primary-action{grid-column:span 2;min-height:44px}.level-note{border-top:1px solid #efc26829;margin-top:auto;padding-top:12px}.level-note span{color:#f4e2c0a3;font-size:12px}.settings-panel,.advanced-panel{background:#3030245c;border:1px solid #efc26829;border-radius:8px}.settings-panel summary,.advanced-panel summary{color:#f6e3bd;cursor:pointer;align-items:center;gap:8px;min-height:42px;padding:0 11px;font-size:13px;font-weight:820;list-style:none;display:flex}.settings-panel summary::-webkit-details-marker{display:none}.advanced-panel summary::-webkit-details-marker{display:none}.settings-panel summary:after,.advanced-panel summary:after{color:#f4e2c09e;content:"+";margin-left:auto;font-size:16px}.settings-panel[open] summary,.advanced-panel[open] summary{border-bottom:1px solid #efc26826}.settings-panel[open] summary:after,.advanced-panel[open] summary:after{content:"-"}.settings-content,.advanced-panel>:not(summary){margin:10px}.settings-content{gap:12px;display:grid}.settings-panel .level-note{margin-top:0}.mobile-action-bar{display:none}.mobile-action-status,.mobile-action-buttons{min-width:0}.mobile-action-status{align-items:center;gap:10px;display:flex}.mobile-action-status>div{gap:2px;min-width:0;display:grid}.mobile-action-status span:not(.turn-pill){color:#f4e2c0b8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:760;overflow:hidden}.mobile-action-status strong{color:#fff0c9;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;line-height:1.1;overflow:hidden}.mobile-action-buttons{grid-template-columns:minmax(68px,1fr) minmax(52px,.75fr) 40px 40px;gap:7px;display:grid}.mobile-action-buttons.human{grid-template-columns:minmax(110px,1fr) 42px 42px}.mobile-action-buttons button{min-width:0;min-height:42px;color:var(--ink);background:#fffdf7f0;border:1px solid #7e5a2f2b;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-size:13px;font-weight:820;display:inline-flex;box-shadow:0 8px 18px #4b341c14}.mobile-action-buttons .primary-action{color:#fff;background:linear-gradient(135deg, var(--jade), var(--jade-strong));border-color:#1c726b61}.mobile-action-buttons button:not(:disabled):active{transform:scale(.97)}.modal-backdrop{z-index:80;background:#241d1857;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{background:linear-gradient(#fffdf7fa,#faf1e0f5);border:1px solid #7e5a2f3d;border-radius:8px;width:min(420px,100%);padding:18px;box-shadow:0 26px 70px #241d184d}.confirm-dialog h2{color:var(--ink);margin:0;font-size:22px;font-weight:880}.confirm-dialog p:not(.panel-kicker){color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.6}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.confirm-actions button{min-height:42px;color:var(--ink);cursor:pointer;background:#fffdf7f0;border:1px solid #7e5a2f2e;border-radius:8px;font-size:14px;font-weight:820}.confirm-actions .danger-action{color:#fff;background:linear-gradient(135deg, var(--red), var(--red-strong));border-color:#ad312b59}.board-shell{background:linear-gradient(90deg,#ffda9a38,#0000 14% 86%,#6236153d),repeating-linear-gradient(90deg,#5f381714 0 1px,#0000 1px 12px),linear-gradient(#d9a66b,#9f6231);border-color:#78451c8c;padding:12px 14px 16px;box-shadow:inset 0 1px #ffe5b27a,inset 0 -1px #4d2a106b,0 28px 58px #19110a66}.board-topline{color:#fff4d2db;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:820;display:flex}.board-player{background:#3a261438;border:1px solid #ffeabc38;border-radius:999px;align-items:center;gap:7px;min-height:30px;padding:5px 10px;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.board-player.active.black{color:#edf0e7;background:#2025277a;border-color:#ffeabc47}.board-player.active.red{color:#ffd6bf;background:#7d281c7a;border-color:#ffd2a057}.side-dot{border-radius:50%;width:9px;height:9px}.side-dot.red{background:var(--red)}.side-dot.black{background:var(--black)}.board-surface{aspect-ratio:8/9;width:min(100%,780px,94vh - 109.04px);padding:var(--board-pad);touch-action:manipulation;-webkit-user-select:none;user-select:none;background:radial-gradient(at 22% 14%,#ffefc28c,#0000 34%),radial-gradient(at 76% 86%,#8d4d1f24,#0000 38%),repeating-radial-gradient(at 30% 42%,#7c532b0e 0 1px,#0000 1px 10px),repeating-linear-gradient(90deg,#7e4d220e 0 1px,#0000 1px 18px),linear-gradient(#f3d19a,#e0ae6a 54%,#c88745);border:0;border-radius:5px;margin:0 auto;position:relative;box-shadow:inset 0 0 0 7px #6f462270,inset 0 0 0 12px #ffdfa147,inset 0 0 36px #5f300f2e,0 5px #673918d1,0 24px 32px #23140a61}.board-surface:before,.board-surface:after{pointer-events:none;content:"";border-radius:4px;position:absolute;inset:11px}.board-surface:before{mix-blend-mode:multiply;background:repeating-linear-gradient(100deg,#5c37150a 0 1px,#0000 1px 9px),linear-gradient(90deg,#ffffff29,#0000 30% 70%,#5934121a)}.board-surface:after{border:2px solid #583e2899;box-shadow:inset 0 0 0 2px #ffe8b229,inset 0 0 20px #5531161f}.endgame-overlay{z-index:8;pointer-events:none;background:linear-gradient(135deg,#ffeeb842,#472b1461),repeating-linear-gradient(45deg,#fffae21f 0 2px,#0000 2px 20px);border-radius:5px;place-items:center;padding:clamp(18px,5vw,46px);animation:3.8s forwards endgameOverlay;display:grid;position:absolute;inset:0;overflow:hidden}.endgame-overlay:before{content:"";background:linear-gradient(90deg,#0000,#fff3cd9e,#0000);position:absolute;inset:18% -8%;transform:skewY(-8deg)}.endgame-overlay.winner-red,.endgame-overlay.win{background:linear-gradient(135deg,#d74a3542,#ffdd906b),repeating-linear-gradient(45deg,#fff6d624 0 2px,#0000 2px 20px)}.endgame-overlay.winner-black,.endgame-overlay.loss{background:linear-gradient(135deg,#202a3180,#efc26838),repeating-linear-gradient(45deg,#fffae21a 0 2px,#0000 2px 20px)}.endgame-ring{aspect-ratio:1;border:2px solid #ffeebc94;border-radius:50%;width:min(54%,390px);animation:3.8s ease-out forwards endgameRing;position:absolute;box-shadow:inset 0 0 0 8px #ffe29f14,0 0 34px #ffdd9047}.endgame-message{z-index:1;color:#fff8df;text-align:center;text-shadow:0 2px #412310b8,0 12px 28px #25160c7a;justify-items:center;gap:clamp(5px,1.1vw,10px);max-width:min(88%,460px);animation:3.8s cubic-bezier(.18,.86,.24,1) forwards endgameMessage;display:grid;position:relative}.endgame-kicker{color:#fff8e2eb;background:#3a261452;border:1px solid #ffecbc6b;border-radius:999px;padding:5px 12px;font-size:clamp(12px,1.7vw,15px);font-weight:880}.endgame-medal{aspect-ratio:1;color:#9f3327;background:linear-gradient(145deg,#fffbe4fa,#e6ae52f5);border:2px solid #fff4cdbd;border-radius:50%;place-items:center;width:clamp(72px,13vw,124px);font-family:STKaiti,KaiTi,Noto Serif CJK SC,serif;font-size:clamp(42px,8vw,78px);font-weight:900;line-height:1;animation:3.8s cubic-bezier(.18,.86,.24,1) forwards endgameMedal;display:grid;box-shadow:inset 0 5px 9px #ffffff94,inset 0 -10px 14px #7f4d1838,0 16px 30px #41231061}.endgame-overlay.loss .endgame-medal,.endgame-overlay.winner-black.neutral .endgame-medal{color:#f1dec0;background:linear-gradient(145deg,#576067fa,#1d2327f5);box-shadow:inset 0 5px 9px #ffffff24,inset 0 -10px 14px #04070947,0 16px 30px #1313106b}.endgame-message strong{color:#fff6d6;font-family:STKaiti,KaiTi,Noto Serif CJK SC,serif;font-size:clamp(38px,7vw,82px);font-weight:900;line-height:1}.endgame-message em{color:#fff8e2f2;font-size:clamp(13px,2vw,18px);font-style:normal;font-weight:850;line-height:1.35}@keyframes endgameOverlay{0%{visibility:visible;opacity:0}10%,82%{opacity:1}to{visibility:hidden;opacity:0}}@keyframes endgameMessage{0%{opacity:0;transform:translateY(22px)scale(.9)}16%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}@keyframes endgameMedal{0%{opacity:0;transform:scale(.46)rotate(-9deg)}18%{opacity:1;transform:scale(1.12)rotate(2deg)}28%,76%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:scale(.92)rotate(0)}}@keyframes endgameRing{0%{opacity:0;transform:scale(.36)}18%{opacity:.86}to{opacity:0;transform:scale(1.42)}}@media (prefers-reduced-motion:reduce){.endgame-overlay{animation:2.8s forwards endgameOverlay}.endgame-message,.endgame-medal{opacity:1;animation:none;transform:none}.endgame-ring{display:none}}.theme-jade .board-surface{background:linear-gradient(90deg,#fff3,#0000 22% 78%,#ffffff29),repeating-linear-gradient(45deg,#1c726b0e 0 2px,#0000 2px 13px),linear-gradient(#dbe9dd,#b8d1c4);border-color:#1c726b6b;box-shadow:inset 0 0 0 8px #ffffff38,inset 0 0 28px #1c726b1f,0 22px 48px #18464026}.theme-jade .line-major line{stroke:#174e49c7}.theme-jade .palace-lines line{stroke:#ad312b8a}.theme-jade .point-marks path{stroke:#174e498a}.theme-jade .river-label,.theme-jade .coordinate-layer{color:#174e498f}.theme-jade .piece-face{background:radial-gradient(circle at 30% 22%,#fffffffa,#f3fcf6e6 24%,#0000 44%),radial-gradient(circle at 60% 76%,#326e5c2e,#0000 56%),linear-gradient(145deg,#edf7ef 0%,#cfe4d8 44%,#9fc4b3 100%);box-shadow:inset 0 -8px 13px #26584833,inset 0 4px 9px #ffffff94,inset 0 0 0 4px #ffffff3d,0 2px #395e4e42,0 10px 18px #18464033}.theme-ink .board-surface{background:linear-gradient(90deg,#ffffff2e,#0000 22% 78%,#ffffff1f),repeating-linear-gradient(135deg,#2b30300b 0 1px,#0000 1px 12px),linear-gradient(#eee8dc,#d9d0c0);border-color:#2b303061;box-shadow:inset 0 0 0 8px #ffffff2e,inset 0 0 28px #2b30301a,0 22px 48px #2b303029}.theme-ink .line-major line{stroke:#2b3030b8}.theme-ink .palace-lines line{stroke:#7e1f197a}.theme-ink .point-marks path{stroke:#2b30307a}.theme-ink .river-label,.theme-ink .coordinate-layer{color:#2b30308a}.theme-ink .piece-face{background:radial-gradient(circle at 30% 22%,#fffffffa,#faf7efeb 24%,#0000 44%),radial-gradient(circle at 58% 76%,#49403429,#0000 56%),linear-gradient(145deg,#f6efe1 0%,#ddd3bf 46%,#b8aa91 100%);box-shadow:inset 0 -8px 13px #4b413333,inset 0 4px 9px #ffffff8f,inset 0 0 0 4px #fff3,0 2px #463c303d,0 10px 18px #2b30302e}.theme-kyvuong .board-surface{--ky-grid-top:4.52%;--ky-grid-right:5.63%;--ky-grid-bottom:7.3%;--ky-grid-left:5.47%;background:var(--kyvuong-board-image,url(/skins/kyvuong/table.png)) center / 100% 100% no-repeat;border-color:#412b1861;box-shadow:inset 0 0 0 1px #fff3,0 20px 36px #22150b52}.theme-kyvuong .board-surface:before,.theme-kyvuong .board-surface:after,.theme-kyvuong .board-lines,.theme-kyvuong .coordinate-layer,.theme-kyvuong .river-label{display:none}.theme-kyvuong .grid-layer,.theme-kyvuong .piece-layer{inset:var(--ky-grid-top) var(--ky-grid-right) var(--ky-grid-bottom) var(--ky-grid-left)}.theme-kyvuong .board-point{width:min(calc(var(--piece-size) * .98), 11.2%)}.theme-kyvuong .piece-image{object-position:center;width:100%;height:100%}.grid-layer,.piece-layer{inset:var(--board-pad);position:absolute}.grid-layer{z-index:1}.piece-layer{z-index:2}.board-lines{position:absolute;inset:0;overflow:visible}.board-lines line{vector-effect:non-scaling-stroke;stroke-linecap:square}.line-major line{stroke:#563d2ab8;stroke-width:1.65px}.palace-lines line{stroke:#6e4c3294;stroke-width:1.55px}.point-marks path{fill:none;stroke:#563d2a80;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.5px;vector-effect:non-scaling-stroke}.coordinate-layer{color:#5b402894;pointer-events:none;text-transform:uppercase;font-size:11px;font-weight:850;position:absolute;inset:0}.coord-rank{place-items:center;min-width:16px;height:16px;display:grid;position:absolute;transform:translateY(-50%)}.coord-rank.left{left:-26px}.coord-rank.right{right:-26px}.river-label{z-index:1;color:#5b40287a;letter-spacing:0;pointer-events:none;font-family:KaiTi,STKaiti,serif;font-size:clamp(21px,3vw,36px);font-weight:800;position:absolute;top:50%;transform:translateY(-50%)}.river-left{left:18%}.river-right{right:18%}.board-point{z-index:2;width:min(var(--piece-size), 11.4%);aspect-ratio:1;color:#0000;cursor:pointer;background:0 0;border-radius:50%;place-items:center;height:auto;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.board-point:not(:disabled):hover .piece-face,.board-point:not(:disabled):hover .piece-image{transform:translateY(-3px)scale(1.035)}.board-point:disabled{cursor:default;opacity:1;pointer-events:none;color:#0000;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.board-point:not(:disabled):active .piece-face,.board-point:not(:disabled):active .piece-image{transform:scale(.96)}.board-point.legal:after{content:"";background:#1c726b33;border:2px solid #1c726bc2;border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 5px #1c726b14,0 5px 12px #1c726b29}.board-point.legal.has-piece:after,.board-point.last-from:before,.board-point.last-to:before,.board-point.selected:before{content:"";border-radius:50%;position:absolute;inset:-6px}.board-point.legal.has-piece:after{background:0 0;border:3px solid #1c726bc2}.board-point.capture-target:after{border-color:#ad312bc7;box-shadow:0 0 0 4px #ad312b1f,0 8px 18px #ad312b2e}.board-point.last-from:before{border:2px dashed #315d8694;box-shadow:0 0 0 4px #315d8614}.board-point.last-to:before{background:#315d8614;border:2px solid #315d86bd;box-shadow:0 0 0 4px #315d861f}.board-point.selected:before{background:#1c726b0f;border:3px solid #1c726beb;box-shadow:0 0 0 5px #1c726b24,0 10px 22px #1c726b2e}.board-point.in-check:after{content:"";background:0 0;border:2.5px solid #c72a23eb;border-radius:50%;animation:1.1s ease-in-out infinite checkPulse;position:absolute;inset:-5px;box-shadow:0 0 0 4px #c72a2326,0 0 14px #c72a236b}@keyframes checkPulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.board-point.in-check:after{opacity:1;animation:none}}.piece-face{z-index:3;isolation:isolate;width:100%;height:100%;font-family:STKaiti,KaiTi,FZKai-Z03,华文楷体,Noto Serif CJK SC,serif;font-size:var(--piece-font-size);text-align:center;background:radial-gradient(circle at 30% 18%,#fff8ddfa,#ffe7afe0 18%,#0000 42%),radial-gradient(circle at 64% 78%,#6c3a163d,#0000 54%),linear-gradient(145deg,#f6c97d 0%,#e6a953 42%,#b87431 100%);border:1px solid #5c3618ad;border-radius:50%;place-items:center;font-weight:800;line-height:1;transition:transform .16s,box-shadow .16s;display:grid;position:relative;box-shadow:inset 0 -8px 10px #62341057,inset 0 4px 8px #fff2c6a3,inset 0 0 0 4px #894e1e2e,inset 0 0 0 7px #ffdf992e,0 2px #5e331485,0 9px 10px #2a1c1057}.piece-face:before,.piece-face:after{pointer-events:none;content:"";border-radius:50%;position:absolute}.piece-face:before{z-index:1;border:2px solid #5c36188f;inset:9%;box-shadow:inset 0 0 0 2px #ffe39f42,0 0 0 1px #fff7d733}.piece-face:after{z-index:1;background:radial-gradient(circle at 34% 30%,#ffffff3d,#0000 52%);inset:18%}.piece-glyph{z-index:2;text-shadow:0 1px #ffe9b29e,0 2px 3px #47250d42;display:block;position:relative;transform:translateY(-1px)}.piece-image{z-index:3;object-fit:contain;filter:drop-shadow(0 1px #ffffff38)drop-shadow(0 5px 7px #18120d57);transform-origin:50%;pointer-events:none;width:104%;height:104%;transition:transform .16s;position:relative}.board-point.red .piece-face{color:#9c2f25;border-color:#8d1f1a57}.board-point.black .piece-face{color:#23323a;border-color:#231d1757}.board-point.red .piece-face:before{border-color:#97251e6b}.board-point.black .piece-face:before{border-color:#231d1761}.move-list{align-content:start;gap:8px;min-height:120px;max-height:min(260px,28vh);padding-right:2px;display:grid;overflow:auto}.copy-status{color:#6b4724b8;opacity:0;min-height:18px;margin-top:-8px;font-size:12px;font-weight:780;transition:opacity .16s}.copy-status.visible{opacity:1}.move-row{text-align:left;cursor:pointer;background:linear-gradient(#fff6e0d1,#e7cca3b8);border:1px solid #7e5a2f2e;border-radius:8px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;padding:9px 10px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;box-shadow:inset 0 1px #ffffff57}.move-row.latest{background:linear-gradient(#f4d9aceb,#d09f63c2);border-color:#8b5a2f5c}.move-row span{color:var(--gold);font-size:12px;font-weight:900}.move-row strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:780;overflow:hidden}.move-row em{min-width:38px;color:var(--muted);text-align:center;background:#7e5a2f14;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:780}.move-row.ai em{color:var(--jade-strong);background:#1c726b1a}.move-row.player em{color:var(--red-strong);background:#ad312b14}.empty-state{min-height:104px;color:var(--muted);background:#fff6e06b;border:1px dashed #7e5a2f57;border-radius:8px;place-items:center;font-size:14px;font-weight:700;display:grid}.empty-state.compact{min-height:84px}.search-info{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.search-info div{background:#fff6e08a;border:1px solid #7e5a2f2e;border-radius:8px;gap:3px;padding:10px;display:grid}.search-info span{color:var(--muted);font-size:11px;font-weight:820}.search-info strong{color:#6e4a2b;font-size:16px;font-weight:900}.engine-detail{background:#fff6e08a;border:1px solid #7e5a2f2e;border-radius:8px;gap:7px;padding:10px;display:grid}.engine-detail div{grid-template-columns:70px 1fr;align-items:center;gap:8px;display:grid}.engine-detail span{color:var(--muted);font-size:11px;font-weight:820}.engine-detail strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:820;overflow:hidden}.engine-detail .engine-warning strong{color:#9b3b2c;white-space:normal;line-height:1.35}.section-title{color:#8b5a2f;align-items:center;gap:6px;font-size:13px;font-weight:840;display:inline-flex}.section-title-row{justify-content:space-between;gap:10px;display:flex}.section-title-row>span{align-items:center;gap:6px;display:inline-flex}.mini-action{color:#6e4a2b;cursor:pointer;background:linear-gradient(#fff6e0e6,#dab889c7);border:1px solid #7e5a2f3d;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:4px 9px;font-size:12px;font-weight:820;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:inline-flex}.fen-loader textarea{resize:vertical;width:100%;min-height:90px;color:var(--ink);background:#fff6e0c7;border:1px solid #7e5a2f38;border-radius:8px;padding:10px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45}.form-error{color:var(--red-strong);margin:0;font-size:12px;font-weight:700}.preset-browser{gap:10px}.preset-search{color:#6e4a2b;background:#fff6e0bd;border:1px solid #7e5a2f3d;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.preset-search input{min-width:0;color:var(--ink);background:0 0;border:0;font-size:13px}.preset-search input:focus-visible{outline:0}.preset-search span{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-radius:999px;place-items:center;min-width:34px;height:24px;font-size:12px;font-weight:900;display:grid}.preset-categories{flex-wrap:wrap;gap:6px;display:flex}.preset-categories button{min-height:30px;padding:5px 10px;font-size:12px}.preset-list{gap:8px;max-height:360px;padding-right:2px;display:grid;overflow:auto}.preset-list button{text-align:left;grid-template-columns:42px 1fr;justify-items:stretch;min-height:auto;padding:10px;display:grid}.preset-index{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-radius:999px;place-items:center;width:38px;height:26px;font-size:11px;font-weight:900;display:grid}.preset-copy{gap:3px;display:grid}.preset-copy strong{color:var(--ink);font-size:14px;font-weight:820}.preset-copy span{color:var(--muted);font-size:12px;font-weight:560}.preset-more{color:var(--muted);text-align:center;background:#fff6e080;border:1px dashed #7e5a2f38;border-radius:8px;padding:10px;font-size:12px;font-weight:720}.fen-current{margin-top:0}.fen-current code{overflow-wrap:anywhere;color:#3a2d20;background:#fff6e094;border-radius:8px;padding:10px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45;display:block}@media (width<=1180px){.workspace{grid-template-columns:minmax(240px,300px) minmax(470px,1fr)}.analysis-panel{grid-column:1/-1;min-height:auto;max-height:none}.analysis-panel .move-list{max-height:220px}}@media (width<=860px){.app-shell{width:min(100% - 20px,780px);padding-top:10px}.workspace{grid-template-columns:1fr}.panel{min-height:auto;max-height:none;overflow:visible}.board-shell{order:-1;padding:10px}.board-surface{--board-pad:clamp(22px, 6vw, 34px);width:min(100%,100vw - 44px)}}@media (width<=720px){:root{--piece-size:clamp(34px, 10.2vw, 42px);--piece-font-size:clamp(19px, 5.4vw, 25px)}body{background:radial-gradient(circle at 20% 8%, #d6aa5c38, transparent 30%), linear-gradient(180deg, #26251de6, #392f22f5), var(--bg)}.app-shell{width:100%;padding:8px 8px calc(18px + env(safe-area-inset-bottom))}.workspace{gap:10px}.panel,.board-shell,.mobile-action-bar{border-radius:8px;box-shadow:0 12px 30px #18100a47}.panel{gap:12px;padding:12px}.panel-heading h2{font-size:19px}.panel-kicker{font-size:11px}.icon-button{width:36px;height:36px}.board-shell{order:-2;padding:8px 8px 10px}.board-topline{margin-bottom:6px;font-size:12px}.board-player{min-height:26px;padding:3px 8px}.board-surface{--board-pad:clamp(22px, 6vw, 30px);width:min(100%,100vw - 22px);box-shadow:inset 0 0 0 4px #6f46226b,inset 0 0 0 7px #ffdfa13d,inset 0 0 22px #5f300f24,0 4px #673918b8,0 12px 22px #23140a52}.piece-face{font-size:var(--piece-font-size);border-width:1.5px;box-shadow:inset 0 -3px 5px #6234103d,inset 0 2px 4px #fff2c680,0 3px 6px #2a1c1042}.piece-face:before{box-shadow:none;border-width:1px;inset:13%}.piece-face:after{display:none}.board-point:not(:disabled):hover .piece-face{transform:none}.piece-glyph{text-shadow:0 1px 1px #47250d38;transform:none}.coordinate-layer{display:none}.river-label{font-size:clamp(18px,6vw,24px)}.mobile-action-bar{background:linear-gradient(#5b5b45f0,#37382af5);border:1px solid #ffdd962e;order:-1;grid-template-columns:minmax(108px,.64fr) minmax(0,1.36fr);align-items:center;gap:8px;padding:8px;display:grid}.control-panel .action-grid,.control-panel .status-card{display:none}.mode-tabs button{gap:5px;min-height:54px;font-size:13px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.select-field{padding:8px}.select-field select{min-height:38px}.select-field em{display:none}.theme-picker{gap:7px}.theme-picker button{justify-content:center;padding:8px 6px;font-size:12px}.theme-swatch{width:16px;height:16px}.level-note{margin-top:0}.move-list{min-height:110px;max-height:160px}.empty-state{min-height:110px}.search-info{grid-template-columns:repeat(4,1fr)}.search-info div{padding:8px 6px}.search-info span{font-size:10px}.search-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.fen-loader textarea{min-height:76px}.preset-list{max-height:300px}}@media (width<=420px){:root{--piece-size:clamp(34px, 10.2vw, 41px);--piece-font-size:clamp(18px, 5.3vw, 24px)}.app-shell{padding-left:6px;padding-right:6px}.board-shell{padding:7px}.board-surface{--board-pad:clamp(20px, 6vw, 26px);width:min(100%,100vw - 18px)}.mobile-action-buttons{grid-template-columns:minmax(64px,1fr) minmax(48px,.75fr) 38px 38px}.mobile-action-buttons.human{grid-template-columns:minmax(98px,1fr) 40px 40px}.search-info{grid-template-columns:repeat(2,1fr)}}@media (width<=340px){.mobile-action-bar{grid-template-columns:1fr}.mobile-action-status{justify-content:space-between}.mobile-action-buttons.human{grid-template-columns:minmax(110px,1fr) 42px 42px}}.portal-shell{width:min(1660px,100vw - 34px);min-height:100vh;margin:0 auto;padding:10px 0 18px}.portal-header{gap:8px;min-height:200px;max-height:none;margin-bottom:14px;padding:10px 16px 12px;display:grid;position:relative;overflow:hidden}.portal-header-strip{border:1px solid #ffd68c33;border-radius:16px;box-shadow:0 22px 46px #160e085c}.portal-header-strip-background,.portal-header-strip-overlay{pointer-events:none;position:absolute;inset:0}.portal-header-strip-background{background:linear-gradient(#09060433,#09060485),url(/arena/generated/mockups/heading-strip-bg-c.png) 50%/cover no-repeat}.portal-header-strip-overlay{background:radial-gradient(circle at 50% -20%,#e9ab502e,#0000 56%),linear-gradient(#07050400,#07050433)}.portal-header-strip-content{z-index:1;justify-content:center;align-items:flex-start;gap:24px;display:flex;position:relative}.portal-strip-nav{flex-wrap:wrap;gap:10px;width:min(42%,560px);display:flex}.portal-strip-nav-left{justify-content:flex-end}.portal-strip-nav-right{justify-content:flex-start}.portal-strip-nav-item{color:#f1d8ae;letter-spacing:.01em;background:linear-gradient(#63482bf5,#3a2718fa),radial-gradient(circle at 50% 20%,#d2a05452,#0000 68%);border:2px solid #c59a66;border-radius:12px;justify-content:center;align-items:center;min-height:50px;padding:8px 18px;font-family:Times New Roman,Georgia,serif;font-size:20px;font-weight:760;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,color .16s;display:inline-flex;box-shadow:inset 0 1px #fae4b43d,inset 0 -2px #28190f61,0 8px 14px #160e0859}.portal-strip-nav-item:hover{color:#ffefcd;border-color:#d6a458fa;transform:translateY(-1px);box-shadow:inset 0 1px #ffedc657,inset 0 -2px #28190f66,0 11px 18px #120c0870}.portal-strip-nav-item.active{color:#fff3d2;background:linear-gradient(#7c5935fa,#432d1bfc),radial-gradient(circle at 50% 20%,#e9b55f6b,#0000 68%);border-color:#e8b159}.portal-strip-center-logo{place-items:center;text-decoration:none;display:inline-grid}.portal-strip-center-logo-frame{background:linear-gradient(#543d26f2,#302116f5),radial-gradient(circle at 50% 16%,#e0a74d40,#0000 62%);border:3px solid #bc8944f2;border-radius:24px;place-items:center;width:262px;height:98px;display:inline-grid;box-shadow:inset 0 1px #f8deac38,inset 0 -2px #22160e6b,0 12px 22px #0f0a077a}.portal-strip-center-logo-ring{background:linear-gradient(#3c2c1df5,#241b14f5);border:4px solid #bf8c45f2;border-radius:999px;place-items:center;width:88px;height:88px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffe8b640,0 10px 18px #0f0a0780}.portal-strip-center-logo-ring img{object-fit:cover;width:66px;height:66px}.portal-strip-slogan{z-index:1;color:#eac983f2;text-align:center;text-shadow:0 1px 1px #0c0806d9;margin:2px 0 0;font-family:Times New Roman,Georgia,serif;font-size:16px;font-weight:500;position:relative}.portal-strip-utility{z-index:1;justify-content:center;gap:10px;display:flex;position:relative}.portal-strip-utility-link{color:#f7e1b7f0;background:#2a1e1599;border:1px solid #b38b55;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:border-color .16s,background .16s,color .16s;display:inline-flex}.portal-strip-utility-link:hover,.portal-strip-utility-link.active{color:#fff1d1;background:#412c1cb8;border-color:#eab55ceb}.portal-user-chip{z-index:1;color:#f6e0b6eb;background:#1f161085;border:1px solid #b38b55;border-radius:8px;justify-self:center;align-items:center;width:fit-content;min-height:28px;padding:4px 10px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.portal-user-chip:hover{color:#fff0c9;background:#302116ad;border-color:#e8b159c7}.portal-content{display:grid}.portal-shell-gameplay{width:100vw;min-height:100vh;margin:0;padding:0}.portal-content-gameplay{min-height:100vh}.portal-page{gap:14px;display:grid}.section-headline{justify-content:space-between;align-items:center;gap:10px;display:flex}.section-headline h2{color:#f6e3bd;margin:0;font-size:22px;font-weight:850}.portal-chip{color:#f9e7c2;background:#5b3d2247;border:1px solid #efc26859;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:800}.arena-mode-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.arena-home-page{min-height:calc(100vh - 90px)}.arena-home-hero{border-radius:16px;min-height:calc(100vh - 130px);padding:18px;position:relative;overflow:hidden}.arena-home-hero-background,.arena-home-hero-overlay{position:absolute;inset:0}.arena-home-hero-background{background:linear-gradient(115deg,#0a0a0799,#16120a61),url(/arena/arena-hero-bg-v2.webp) 50%/cover no-repeat,url(/arena/arena-hero-bg-v1.png) 50%/cover no-repeat;transform:scale(1.03)}.arena-home-hero-overlay{background:radial-gradient(circle at 14% 18%,#ffe0a52e,#0000 44%),radial-gradient(circle at 82% 16%,#d161421f,#0000 42%),linear-gradient(#0c0e0a0f,#0c0e0a9e)}.arena-home-hero-content{z-index:1;gap:12px;display:grid;position:relative}.arena-home-hero-content h2{color:#fff0c9;margin:0;font-size:clamp(24px,3.2vw,38px)}.arena-home-hero-subtitle{color:#f4e2c0d6;max-width:min(760px,100%);margin:0;font-size:14px}.arena-home-zone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.arena-home-zone-card{color:#f6e3bd;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 110% -8%,#efc2683d,#0000 52%),linear-gradient(#1a1c17d6,#111410d1);border:1px solid #ffdd9642;border-radius:14px;gap:10px;padding:12px;display:grid;box-shadow:0 14px 30px #0000003d}.arena-home-zone-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.arena-home-zone-icon{color:#f5deb0;background:#26261bbd;border:1px solid #ffdd963d;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.arena-home-zone-head strong{color:#fff0c9;font-size:18px;display:block}.arena-home-zone-head span{color:#f4e2c0c2;font-size:12px}.arena-home-zone-head em{color:#f5e2bc;background:#1f20186b;border:1px solid #ffdd963d;border-radius:999px;padding:3px 9px;font-size:11px;font-style:normal;font-weight:800}.arena-home-zone-visual{background:linear-gradient(145deg,#25221beb,#14120fe6),radial-gradient(circle at 12% 14%,#efc26824,#0000 44%);border:1px solid #ffdd962e;border-radius:12px;place-items:center;min-height:182px;display:grid;position:relative;overflow:hidden}.arena-home-zone-visual:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0b0b0980);height:38%;position:absolute;inset:auto 0 0}.arena-home-zone-visual img{object-fit:contain;filter:saturate(1.08)contrast(1.04)drop-shadow(0 10px 18px #00000061);width:100%;height:178px}.arena-home-mode-grid{gap:8px;display:grid}.arena-home-mode-grid button{color:#f5e2bc;text-align:left;cursor:pointer;background:radial-gradient(circle at 100% 0,#efc26824,#0000 52%),#2b2c21c7;border:1px solid #ffdd9633;border-radius:10px;gap:4px;min-height:72px;padding:10px;transition:border-color .18s,transform .18s,background-color .18s;display:grid}.arena-home-mode-grid button:hover{background:linear-gradient(#5d4b31c2,#342c1ed1);border-color:#efc26873;transform:translateY(-1px)}.arena-home-mode-grid button strong{font-size:14px}.arena-home-mode-grid button span{color:#f4e2c0cc;font-size:12px}.arena-home-mode-grid button small{color:#f4e2c0c2;align-items:center;gap:5px;font-size:11px;display:inline-flex}.arena-mode-grid button{text-align:left;color:#f6e3bd;cursor:pointer;background:radial-gradient(circle at 100% 0,#efc26829,#0000 44%),linear-gradient(#38392bb8,#23241bc2);border:1px solid #7e5a2f33;border-radius:10px;gap:6px;min-height:86px;padding:12px 12px 10px;display:grid;position:relative}.arena-mode-grid button strong{font-size:16px;font-weight:850}.arena-mode-grid button span{color:#f4e2c0bd;font-size:12px}.arena-mode-grid button:after{color:#f4e2c0bd;content:"Chế độ";background:#1f20184d;border:1px solid #ffdd9633;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:760;position:absolute;top:10px;right:10px}.arena-mode-grid button.active{background:radial-gradient(circle at 100% 0,#efc26852,#0000 48%),linear-gradient(#53655de6,#2c4842eb);border-color:#efc26885}.arena-actions{gap:10px;display:grid}.arena-friend-quick{grid-template-columns:1fr auto;gap:8px;display:grid}.arena-friend-quick select{color:#f6e3bd;background:#1f201873;border:1px solid #ffdd9640;border-radius:8px;width:100%;min-height:36px;padding:0 10px;font-size:13px}.arena-friend-quick button{color:#3b2d20;cursor:pointer;background:linear-gradient(#f8e2bbf5,#cb995ceb);border:1px solid #7e5a2f2b;border-radius:8px;min-height:36px;padding:0 12px;font-size:12px;font-weight:760}.arena-table-top{grid-template-columns:1fr minmax(220px,1fr) 1fr;align-items:stretch;gap:10px;display:grid}.arena-battle-grid{grid-template-columns:minmax(210px,250px) minmax(420px,1fr) minmax(250px,320px);align-items:stretch;gap:10px;display:grid}.arena-side-column{align-content:start;gap:10px;display:grid}.arena-side-column.right{flex-direction:column;display:flex}.arena-side-column.right .arena-chat-box{margin-top:auto}.arena-center-column{gap:10px;min-width:0;display:grid}.player-card{color:#f1dec0;cursor:pointer;background:radial-gradient(circle at 16% 20%,#efc26824,#0000 38%),#3030246b;border:1px solid #ffdd9640;border-radius:8px;align-items:center;gap:10px;padding:8px;display:inline-flex}.player-card.right{justify-content:flex-end}.avatar{aspect-ratio:1;color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border:1px solid #efc26866;border-radius:999px;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid}.player-card div{text-align:left;display:grid}.player-card.right div{text-align:right}.player-card strong{font-size:14px}.player-card span{color:#f4e2c0cc;font-size:12px}.arena-status-center{color:#f6e3bd;text-align:center;background:radial-gradient(circle at top,#efc26824,#0000 42%),#3030245c;border:1px solid #ffdd9638;border-radius:10px;align-content:center;gap:5px;padding:10px;display:grid}.arena-status-center strong{font-size:17px}.arena-status-center span{color:#f4e2c0cc;font-size:12px}.ready-status-row{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.ready{border:1px solid #ffdd9633;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:760}.ready.on{color:#d3fff7;background:#1c726b52;border-color:#1c726ba6}.arena-board-placeholder{color:#f4e2c0cc;text-align:center;background:linear-gradient(90deg,#ffda9a1a,#0000 14% 86%,#62361524),linear-gradient(#5b3d2233,#26261c42);border:1px dashed #efc26857;border-radius:8px;place-items:center;min-height:320px;margin-top:10px;font-size:14px;display:grid}.arena-board-wrap{margin-top:0}.arena-board-wrap .board-shell{max-width:860px;min-height:auto;margin:0 auto}.arena-board-wrap .board-surface{width:min(100%,760px)}.arena-gameplay-page{gap:0;min-height:100vh}.arena-gameplay-shell{border-radius:0;min-height:100vh;padding:12px;display:grid}.arena-battle-grid-gameplay{grid-template-columns:minmax(170px,220px) minmax(0,1fr) minmax(190px,250px);min-height:calc(100vh - 24px)}.arena-gameplay-side-left,.arena-gameplay-side-right{flex-direction:column;min-height:100%;display:flex}.arena-center-column-gameplay{grid-template-rows:auto 1fr;gap:10px;min-height:100%;display:grid}.arena-game-statusbar{color:#f6e3bd;background:radial-gradient(circle at top,#efc26824,#0000 42%),#3030245c;border:1px solid #ffdd963d;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.arena-game-status-main{gap:2px;min-width:0;display:grid}.arena-game-status-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.arena-game-status-main span{color:#f4e2c0cc;font-size:12px}.arena-game-status-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.viewer-chip,.arena-clock-chip{color:#f5e2bc;background:#1f201870;border:1px solid #ffdd963d;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:760;display:inline-flex}.arena-clock-chip.timeout{color:#fff0c9;background:#47361a8f;border-color:#efc2686b}.arena-view-side-button{color:#f5e2bc;background:#1f201870;border:1px solid #ffdd963d;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:760;transition:border-color .16s,background-color .16s;display:inline-flex}.arena-view-side-button:hover{background:#312b1994;border-color:#ffdd9661}.arena-view-side-chip{color:#ffe8ba;background:#47361a8f;border:1px solid #efc2686b;border-radius:999px;justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:760;display:inline-flex}.arena-board-stage{align-content:stretch;min-height:0;display:grid;position:relative}.arena-board-stage .arena-board-wrap{place-items:center;height:100%;min-height:0;display:grid}.arena-center-column-gameplay .arena-board-wrap .board-shell{flex-direction:column;justify-content:center;width:100%;max-width:none;height:100%;margin:0;padding:8px;display:flex}.arena-center-column-gameplay .arena-board-wrap .board-topline{display:none}.arena-center-column-gameplay .arena-board-wrap .board-surface{width:auto;max-width:100%;height:min(100% - 8px,100dvh - 146px);margin:0 auto}.arena-search-state-card{color:#f5e2bc;text-align:center;z-index:3;background:radial-gradient(circle at top,#efc26833,#0000 50%),#1c1d15d6;border:1px solid #ffdd9642;border-radius:12px;justify-items:center;gap:8px;min-width:320px;max-width:min(96%,420px);padding:12px;display:grid;position:absolute;inset:auto 50% 10px auto;transform:translate(50%);box-shadow:0 18px 38px #120f0861}.arena-search-state-card strong{font-size:16px}.arena-search-state-card p{color:#f4e2c0d6;margin:0;font-size:13px}.arena-search-state-card button{min-width:140px}.arena-search-state-card.idle,.arena-search-state-card.waiting{background:radial-gradient(circle at top,#56aa9c33,#0000 50%),#1c1d15d6}.arena-search-spinner{border:2px solid #ffdd964d;border-top-color:#f5d180;border-radius:50%;width:22px;height:22px;animation:.9s linear infinite arena-spin;display:inline-block}@keyframes arena-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.arena-side-actions{background:#30302457;border:1px solid #ffdd963d;border-radius:8px;gap:8px;margin-top:auto;padding:10px;display:grid}.arena-side-actions button{color:#f3ddb5;cursor:pointer;background:linear-gradient(#4f513cd1,#353729e0);border:1px solid #ffdd963d;border-radius:8px;width:100%;min-height:38px;font-size:13px;font-weight:760}.arena-side-actions button.danger{color:#fff2eb;background:linear-gradient(#9b392ee6,#6c251ef2);border-color:#c6584785}.arena-chat-box-passive p{color:#f4e2c0cc;margin:0;font-size:13px}.arena-accept-dialog{max-width:min(540px,100vw - 20px)}.arena-accept-dialog p{margin-top:0}.arena-accept-timer{background:#ffdd9633;border-radius:999px;width:100%;height:8px;overflow:hidden}.arena-accept-timer span{background:linear-gradient(90deg,#f2cd7d,#ea9f59);height:100%;transition:width .3s;display:block}.arena-themed-dialog{color:#f6e3bd;background:radial-gradient(circle at top,#efc26838,#0000 48%),linear-gradient(#3f4030fa,#27281efc);border:1px solid #ffdd9642;box-shadow:0 26px 54px #0f0c077a}.arena-themed-dialog h2{color:#fff0c9}.arena-themed-dialog p:not(.panel-kicker){color:#f4e2c0e0}.arena-themed-dialog .confirm-actions button{color:#f3ddb5;background:linear-gradient(#4f513cd1,#353729e0);border:1px solid #ffdd9642;min-height:40px}.arena-board-confirm-overlay{z-index:7;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0a0c0980;place-items:center;display:grid;position:absolute;inset:0}.arena-waiting-overlay{z-index:6;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0a0c0970;place-items:center;display:grid;position:absolute;inset:0}.arena-searching-overlay{z-index:5;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0a0c0970;place-items:center;display:grid;position:absolute;inset:0}.arena-searching-modal{color:#f6e3bd;text-align:center;background:radial-gradient(circle at top,#efc2683d,#0000 46%),linear-gradient(#3f4030fa,#27281efc);border:1px solid #ffdd9647;border-radius:12px;width:min(460px,100% - 24px);padding:14px;box-shadow:0 26px 54px #0f0c077a}.arena-searching-modal h3{color:#fff0c9;margin:0;font-size:20px}.arena-searching-modal p:not(.panel-kicker){color:#f4e2c0e0;margin:10px 0 0;font-size:14px;line-height:1.45}.arena-searching-actions{grid-template-columns:1fr;gap:10px;margin-top:14px;display:grid}.arena-searching-actions button{color:#fff2eb;cursor:pointer;background:linear-gradient(#9b392ee6,#6c251ef2);border:1px solid #c6584785;border-radius:8px;min-height:40px;font-size:13px;font-weight:760}.arena-waiting-modal{color:#f6e3bd;text-align:center;background:radial-gradient(circle at top,#56aa9c38,#0000 46%),linear-gradient(#3f4030fa,#27281efc);border:1px solid #ffdd9647;border-radius:12px;width:min(460px,100% - 24px);padding:14px;box-shadow:0 26px 54px #0f0c077a}.arena-waiting-modal h3{color:#fff0c9;margin:0;font-size:20px}.arena-waiting-modal p:not(.panel-kicker){color:#f4e2c0e0;margin:10px 0 0;font-size:14px;line-height:1.45}.arena-waiting-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.arena-waiting-actions button{color:#f3ddb5;cursor:pointer;background:linear-gradient(#4f513cd1,#353729e0);border:1px solid #ffdd9642;border-radius:8px;min-height:40px;font-size:13px;font-weight:760}.arena-waiting-actions button.danger{color:#fff2eb;background:linear-gradient(#9b392ee6,#6c251ef2);border-color:#c6584785}.arena-board-confirm-modal{color:#f6e3bd;background:radial-gradient(circle at top,#efc26833,#0000 48%),linear-gradient(#414231f5,#28291efa);border:1px solid #ffdd9647;border-radius:12px;width:min(420px,100% - 20px);padding:14px;box-shadow:0 22px 45px #110c0773}.arena-board-confirm-modal h3{color:#fff0c9;margin:0;font-size:20px}.arena-board-confirm-modal p{color:#f4e2c0db;margin:10px 0 0;font-size:14px;line-height:1.45}.arena-board-confirm-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.arena-board-confirm-actions button{color:#f3ddb5;cursor:pointer;background:linear-gradient(#4f513cd1,#353729e0);border:1px solid #ffdd9642;border-radius:8px;min-height:38px;font-size:13px;font-weight:760}.arena-board-confirm-actions button.danger{color:#fff2eb;background:linear-gradient(#9b392ee6,#6c251ef2);border-color:#c6584785}.arena-result-overlay{z-index:8;-webkit-backdrop-filter:blur(1.8px);backdrop-filter:blur(1.8px);background:#0a0c098f;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.arena-result-modal{color:#f6e3bd;text-align:center;background:radial-gradient(circle at top,#efc2683d,#0000 46%),linear-gradient(#3f4030fa,#27281efc);border:1px solid #ffdd964d;border-radius:12px;width:min(560px,100% - 24px);padding:16px;box-shadow:0 26px 54px #0f0c077a}.arena-result-modal h3{color:#fff0c9;margin:0;font-size:24px}.arena-result-modal p:not(.panel-kicker){color:#f4e2c0e6;margin:10px 0 0;font-size:14px;line-height:1.45}.arena-result-modal.win{background:radial-gradient(circle at top,#4aa57e47,#0000 46%),linear-gradient(#384637fa,#222b22fc)}.arena-result-modal.loss{background:radial-gradient(circle at top,#c6584742,#0000 46%),linear-gradient(#4e312bfa,#2c1e1bfc)}.arena-result-modal.draw{background:radial-gradient(circle at top,#efc2683d,#0000 46%),linear-gradient(#404032fa,#28281efc)}.arena-result-rematch-hint{min-height:41px}.arena-result-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.arena-result-actions button{color:#f3ddb5;cursor:pointer;background:linear-gradient(#4f513cd1,#353729e0);border:1px solid #ffdd9642;border-radius:8px;min-height:40px;font-size:13px;font-weight:760}.arena-result-actions button.danger{color:#fff2eb;background:linear-gradient(#9b392ee6,#6c251ef2);border-color:#c6584785}.arena-result-actions button:disabled{opacity:.55;cursor:not-allowed}.arena-bottom-grid{grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-top:10px;display:grid}.captured-panel,.arena-chat-box{background:#30302457;border:1px solid #ffdd963b;border-radius:8px;padding:10px}.captured-panel h3,.arena-chat-box h3{color:#f6e3bd;margin:0 0 8px;font-size:14px}.captured-list{flex-wrap:wrap;gap:6px;display:flex}.captured-piece{background:radial-gradient(circle at 24% 16%,#fff5d894,#0000 48%),linear-gradient(#714621b3,#513017c7);border:1px solid #efc26859;border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid;overflow:hidden}.captured-piece img{object-fit:contain;width:102%;height:102%}.captured-piece strong{color:#fff0c9;font-size:15px;font-weight:800}.captured-list em{color:#f4e2c0a6;font-size:12px;font-style:normal}.chat-quick-grid{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.chat-log{background:#1617114d;border:1px solid #ffdd962e;border-radius:8px;max-height:150px;margin-bottom:8px;padding:8px;overflow:auto}.chat-line{color:#f1dec0;margin:0 0 6px;font-size:12px;line-height:1.35}.chat-line strong{color:#fff0c9}.chat-line.empty{color:#f4e2c0a3;margin:0}.chat-line.self{color:#fff0c9;text-align:right}.chat-line.self strong{color:#edc168}.chat-quick-grid button{color:#f1dec0;cursor:pointer;background:#46473599;border:1px solid #ffdd9633;border-radius:8px;min-height:32px;font-size:12px}.chat-emoji-grid button{justify-content:center;align-items:center;gap:4px;display:inline-flex}.chat-emoji-grid button img{object-fit:contain;width:18px;height:18px}.chat-emoji-grid button span{font-size:14px}.chat-emoji-item{align-items:center;gap:4px;display:inline-flex}.chat-emoji-item img{object-fit:contain;width:18px;height:18px}.chat-emoji-item em{color:#f4e2c0e0;font-size:12px;font-style:normal}.arena-chat-box textarea,.friends-search-row input{color:#f6e3bd;background:#1f201873;border:1px solid #ffdd9640;border-radius:8px;width:100%;margin-top:8px;padding:8px;font-size:13px}.arena-chat-box textarea{resize:vertical;min-height:66px}.tournaments-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.tournaments-page .portal-theme-hero{grid-column:1/-1}.history-page,.rankings-page{grid-template-columns:minmax(0,1fr)}.friends-page{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-theme-hero{border-radius:16px;min-height:280px;max-height:none;padding:18px;position:relative;overflow:hidden}.portal-theme-hero-background,.portal-theme-hero-overlay{position:absolute;inset:0}.portal-theme-hero-background{background:linear-gradient(125deg,#080807a8,#1410096b),url(/arena/arena-hero-bg-v2.webp) 50%/cover no-repeat,url(/arena/arena-hero-bg-v1.png) 50%/cover no-repeat;transform:scale(1.03)}.portal-theme-hero-overlay{background:radial-gradient(circle at 16% 16%,#f7c06633,#0000 42%),radial-gradient(circle at 80% 82%,#2d716b2e,#0000 42%)}.tournaments-theme-hero .portal-theme-hero-overlay{background:radial-gradient(circle at 14% 14%,#f8c97642,#0000 40%),radial-gradient(circle at 84% 76%,#cc4e3333,#0000 44%)}.history-theme-hero .portal-theme-hero-overlay{background:radial-gradient(circle at 10% 18%,#43867d3d,#0000 40%),radial-gradient(circle at 85% 75%,#c98e4133,#0000 42%)}.rankings-theme-hero .portal-theme-hero-overlay{background:radial-gradient(circle at 16% 18%,#dea14847,#0000 40%),radial-gradient(circle at 84% 78%,#32769138,#0000 42%)}.portal-theme-hero-content{z-index:1;gap:14px;display:grid;position:relative}.portal-theme-hero-head{align-items:flex-start;gap:12px;display:flex}.portal-theme-hero-icon{color:#fff2ce;background:linear-gradient(#a5763ce6,#55341cf2);border:1px solid #ffe4b057;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 1px #fff5d957,0 12px 22px #19100a42}.portal-theme-hero-head h2{color:#fff0cc;text-shadow:0 4px 14px #110c0870;margin:0;font-size:28px;font-weight:900}.portal-theme-hero-head p:not(.panel-kicker){color:#f5e2bee6;max-width:780px;margin:8px 0 0;font-size:13px;line-height:1.55}.portal-theme-hero-tags{flex-wrap:wrap;gap:6px;display:flex}.portal-theme-hero-tags span{color:#f6e3bd;letter-spacing:.02em;background:radial-gradient(circle at 20% 10%,#efc2682e,#0000 52%),#1f20188a;border:1px solid #ffdd964d;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:780;display:inline-flex}.portal-theme-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.portal-theme-hero-stats article{background:linear-gradient(#494a38a3,#24251da8);border:1px solid #ffdd963d;border-radius:10px;gap:4px;padding:9px 10px;display:grid}.portal-theme-hero-stats strong{color:#fff1cc;font-size:20px;font-weight:860;line-height:1.1}.portal-theme-hero-stats span{color:#f6e4c4d1;font-size:12px}.portal-theme-stat-icon{color:#f9d58f;background:#5c3e2061;border:1px solid #ffe4b057;border-radius:8px;place-items:center;width:24px;height:24px;display:inline-grid}.portal-theme-section-head{border-bottom:1px solid #ffdd9626;justify-content:space-between;align-items:flex-end;gap:10px;padding-bottom:10px;display:flex}.portal-theme-section-head h2{color:#f6e3bd;align-items:center;gap:8px;margin:0;font-size:22px;font-weight:850;display:inline-flex}.portal-theme-section-head p{color:#f4e2c0b8;margin:0;font-size:12px}.portal-theme-surface{border-radius:14px;position:relative;overflow:hidden}.portal-theme-surface:before{pointer-events:none;content:"";position:absolute;inset:0}.tournaments-surface:before{background:radial-gradient(circle at 10% -8%,#efc2682e,#0000 38%),radial-gradient(circle at 108% 90%,#d2543d1f,#0000 44%)}.tournaments-history-surface:before{background:radial-gradient(circle at -8% 70%,#5a92a424,#0000 36%),radial-gradient(circle at 95% 5%,#efc2681f,#0000 40%)}.history-surface:before{background:radial-gradient(circle at 110% 14%,#4fa59a24,#0000 42%),radial-gradient(circle at -8% 90%,#e5a5571f,#0000 42%)}.rankings-surface:before{background:radial-gradient(circle at 96% 4%,#e6b25829,#0000 42%),radial-gradient(circle at -6% 82%,#5284b024,#0000 42%)}.portal-theme-surface>*{z-index:1;position:relative}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-theme-surface{background:radial-gradient(circle at 104% -12%,#ebb04d1a,#0000 44%),linear-gradient(#3c3326f0,#241f18f5);border-color:#ffdd963d;box-shadow:inset 0 1px #ffefcc14,0 16px 28px #100b0747}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-theme-section-head{border-bottom-color:#ffdd963d}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-theme-section-head h2,:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .tournament-group h3{color:#f9e8c3}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-theme-section-head p,:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .account-message{color:#f5e3c0e0}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-theme-hero-content .panel-kicker{color:#f2cd87}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-list-empty{color:#f6e6c7eb;background:#1a140e8a;border-color:#ffdd9657}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .rankings-table-wrap,:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .tournament-history-table-wrap{background:#140f0bb8;border-color:#ffdd964d}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-table th,:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-table td{color:#f5e2bd;border-bottom-color:#8b7350}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) .portal-table thead th{color:#fff1cb;background:#3c2d1d70}.tournament-history-dialog{background:linear-gradient(#3f3425f7,#221d16fa);border-color:#ffdd9657}.tournament-history-dialog h2{color:#f9e8c5}.tournament-history-dialog p:not(.panel-kicker){color:#f4e1bfe0}.tournament-group{gap:10px;display:grid}.tournament-group h3{color:#f6e3bd;margin:4px 0 0;font-size:16px}.tournament-list,.history-list,.friends-list{gap:10px;display:grid}.portal-list-empty{color:#f4e2c0d6;background:#1f201852;border:1px dashed #ffdd9642;border-radius:10px;margin:0;padding:14px 12px;font-size:13px}.tournament-card,.history-card{color:#f1dec0;background:linear-gradient(#38382abd,#22221ab8);border:1px solid #927956;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:11px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;box-shadow:inset 0 1px #fff2d214,0 12px 24px #120d0933}.tournament-card:hover,.history-card:hover,.ranking-podium-card:hover{border-color:#efc2686b;transform:translateY(-1px);box-shadow:inset 0 1px #fff2d214,0 16px 28px #110c0942}.tournament-card-main,.history-card-main{gap:8px;min-width:0;display:grid}.tournament-card-head,.history-card-head{align-items:center;gap:8px;min-width:0;display:flex}.tournament-card-head>div,.history-card-head>div{min-width:0}.tournament-card-icon,.history-card-icon{color:#f3c979;background:#54391f61;border:1px solid #ffe4b04d;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.tournament-card strong,.history-card strong{color:#fff0c9;font-size:14px}.tournament-card span,.history-card span{color:#f4e2c0cc;font-size:12px;display:block}.tournament-meta-grid,.history-meta-grid{gap:6px;display:grid}.tournament-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-meta-grid span,.history-meta-grid span{background:#1d1d1761;border:1px solid #ffdd9629;border-radius:8px;align-items:center;gap:6px;min-width:0;padding:6px 7px;display:inline-flex}.tournament-status-chip,.history-outcome-chip{color:#f9e3b8;white-space:nowrap;background:#4332217a;border:1px solid #ffdd963d;border-radius:999px;justify-content:center;align-items:center;min-height:26px;margin-left:auto;padding:0 10px;font-size:11px;font-style:normal;font-weight:820;display:inline-flex}.tournament-status-chip.upcoming{color:#ffe6b0;border-color:#efc2686b}.tournament-status-chip.ongoing,.history-outcome-chip.win{color:#d5ffef;background:#185b5385;border-color:#4fa59a8f}.tournament-status-chip.finished,.history-outcome-chip.draw{color:#d5eaff;background:#1d384e85;border-color:#5879988a}.history-outcome-chip.lose{color:#ffded2;background:#6f251b85;border-color:#d65a488f}.tournament-card.status-finished,.history-card.outcome-win{border-left:4px solid #3e948ad1}.history-card.outcome-lose{border-left:4px solid #c44c3acc}.history-card.outcome-draw{border-left:4px solid #476684d6}.tournament-actions,.history-card-side{align-content:center;gap:6px;min-width:170px;display:grid}.tournaments-page .tournament-actions button,.history-page .history-card-side button{width:100%}.history-elo-delta{border:1px solid #ffdd963d;border-radius:8px;justify-content:center;align-items:center;min-height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.history-elo-delta.up{color:#d4ffee;background:#185b5385;border-color:#4fa59a8a}.history-elo-delta.down{color:#ffddd2;background:#6f251b85;border-color:#d65a488f}.history-elo-delta.even{color:#d5eaff;background:#1d384e85;border-color:#5879988a}.friend-card{color:#f1dec0;background:#30302461;border:1px solid #927956;border-radius:8px;grid-template-columns:1.2fr 1fr auto;gap:8px;padding:10px;display:grid}.friend-card strong{color:#fff0c9;font-size:14px}.friend-card span{color:#f4e2c0c7;font-size:12px;display:block}.rankings-podium{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px;display:grid}.ranking-podium-card{color:#f1dec0;background:linear-gradient(#3a3a2bb3,#24241bb8);border:1px solid #ffdd963d;border-radius:10px;gap:4px;padding:12px;display:grid;position:relative}.ranking-podium-card strong{color:#fff0c9;font-size:14px}.ranking-podium-card span,.ranking-podium-card em{color:#f4e2c0c2;font-size:12px;font-style:normal}.ranking-podium-card.rank-1{background:linear-gradient(#604b29c2,#382a19cc);border-color:#f3c46c75}.ranking-podium-card.rank-2{border-color:#a6b9cb70}.ranking-podium-card.rank-3{border-color:#bc845270}.ranking-podium-rank{color:#fff2cf;background:#563b1f9e;border:1px solid #ffe09e66;border-radius:999px;place-items:center;width:30px;height:30px;font-size:14px;font-weight:860;display:inline-grid}.rankings-table-wrap{background:#1b1b1642;border:1px solid #ffdd9633;border-radius:10px;margin-top:12px;overflow:auto}.rankings-page .rankings-table th,.rankings-page .rankings-table td{white-space:nowrap}.rankings-table tbody tr:hover{background:#ffdd9614}.rankings-table tr.rank-top-1{background:#d5a24324}.rankings-table tr.rank-top-2{background:#8094a51c}.rankings-table tr.rank-top-3{background:#a571451c}.ranking-rank-badge{color:#f6e3bd;background:#3a2a1c80;border:1px solid #ffdd963d;border-radius:999px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:820;display:inline-grid}.ranking-rank-badge.rank-1{color:#fff3d2;background:#7a5626b8;border-color:#f3c46c7a}.ranking-rank-badge.rank-2{background:#3b4854b8;border-color:#a6b9cb80}.ranking-rank-badge.rank-3{background:#613c24b8;border-color:#bc845285}.tournament-history-dialog{width:min(980px,100vw - 30px);max-height:min(88vh,900px);overflow:auto}.match-replay-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.match-replay-head h2{margin:2px 0 0}.match-replay-grid{grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:10px;display:grid}.match-replay-board-card,.match-replay-side-card{background:#30302457;border:1px solid #ffdd963d;border-radius:10px;padding:10px}.match-replay-meta{color:#f4e2c0cc;flex-wrap:wrap;gap:6px 10px;font-size:12px;display:flex}.match-replay-board-wrap{place-items:center;min-height:560px;margin-top:8px;display:grid}.match-replay-board-wrap .board-shell{width:min(100%,860px);min-height:auto;margin:0 auto}.match-replay-board-wrap .board-surface{width:min(100%,760px)}.match-replay-controls,.match-replay-playback-mode{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.match-replay-playback-mode button{min-width:110px}.match-replay-playback-mode button.active{color:#fff0c9;background:linear-gradient(#896842a8,#543a2499);border-color:#efc26885}.match-replay-speed{color:#f4e2c0d6;align-items:center;gap:6px;font-size:12px;font-weight:760;display:inline-flex}.match-replay-speed select{min-width:94px}.match-replay-controls span{color:#f4e2c0d1;text-align:center;min-width:96px;font-size:12px;font-weight:760}.match-replay-side-card h3{color:#fff0c9;margin:0 0 8px;font-size:15px}.match-replay-moves{align-content:start;gap:8px;max-height:706px;display:grid;overflow:auto}.match-replay-move{color:#f2dfbc;text-align:left;cursor:pointer;background:#1f201870;border:1px solid #ffdd9638;border-radius:8px;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px;display:grid}.match-replay-move.active{background:linear-gradient(#8968429e,#543a2494);border-color:#efc26885}.match-replay-move span{color:#f4e2c0bd;font-size:11px;font-weight:760}.match-replay-move strong{color:#fff0c9;font-size:12px}.match-replay-move em{color:#f4e2c0c7;font-size:11px;font-style:normal;font-weight:760}.tournament-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tournament-history-table-wrap{border:1px solid #ffdd9633;border-radius:8px;max-height:320px;margin-top:10px;overflow:auto}.table-wrap{overflow-x:auto}.portal-table{border-collapse:collapse;width:100%}.portal-table th,.portal-table td{color:#f1dec0;text-align:left;border-bottom:1px solid #ffdd9633;padding:8px 10px;font-size:13px}.portal-table thead th{color:#fff0c9;text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:800}.friends-search-row{grid-template-columns:1fr auto;gap:8px;display:grid}.friend-actions,.tournament-actions{align-content:center;gap:6px;display:grid}.admin-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.admin-metric-grid div{color:#f1dec0;background:#3030245c;border:1px solid #ffdd9638;border-radius:8px;padding:10px}.admin-metric-grid span{color:#f4e2c0bd;font-size:12px;display:block}.admin-metric-grid strong{color:#fff0c9;font-size:20px}.admin-toolbar{grid-template-columns:1fr auto;gap:8px;display:grid}.admin-tab-row{flex-wrap:wrap;gap:8px;display:flex}.admin-tab-button{color:#f3ddb5;cursor:pointer;background:#46473599;border:1px solid #ffdd9640;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:6px 10px;font-size:13px;font-weight:760;display:inline-flex}.admin-tab-button.active{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-color:#efc26885}.admin-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-section-head h2{margin:0}.admin-filter-row,.admin-create-form{gap:8px;display:grid}.admin-filter-row{grid-template-columns:minmax(220px,1fr) 180px auto}.admin-create-form{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-filter-row input,.admin-filter-row select,.admin-create-form input,.admin-create-form select,.admin-field input,.admin-field select,.admin-field textarea,.admin-table input,.admin-table select{color:#f6e3bd;background:#1f201873;border:1px solid #ffdd963d;border-radius:8px;width:100%;min-height:34px;padding:0 10px;font-size:13px}.admin-create-form button{min-height:34px}.admin-table td strong{color:#fff0c9;font-size:13px}.admin-row-meta{color:#f4e2c0b8;font-size:11px}.admin-status-badge{border:1px solid #ffdd9633;border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.admin-status-badge.state-active{color:#d6fff9;background:#1c726b47;border-color:#1c726b80}.admin-status-badge.state-suspended{color:#ffd7cf;background:#ad312b47;border-color:#ad312b80}.admin-inline-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-inline-actions button{color:#f1dec0;cursor:pointer;background:#46473599;border:1px solid #ffdd9633;border-radius:8px;min-height:30px;padding:0 9px;font-size:11px}.admin-inline-actions button.admin-inline-active{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-color:#efc26885}.admin-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-mini-list{gap:8px;margin-top:8px;display:grid}.admin-mini-row{background:#1f201861;border:1px solid #ffdd9633;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;display:flex}.admin-mini-row span{color:#f4e2c0d1;font-size:12px}.admin-mini-row button{color:#f1dec0;cursor:pointer;background:#46473599;border:1px solid #ffdd9633;border-radius:8px;min-height:28px;padding:0 8px;font-size:11px}.admin-section-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-user-detail-card{background:#3030244d;border:1px solid #ffdd9638;border-radius:8px;margin-top:12px;padding:10px}.admin-user-detail-grid,.admin-quick-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.admin-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.admin-section-card{color:#f1dec0;background:#3030245c;border:1px solid #ffdd9638;border-radius:8px;padding:10px}.admin-section-card strong{color:#fff0c9;font-size:14px}.admin-section-card ul{margin:8px 0;padding-left:18px}.admin-section-card li{color:#f4e2c0cc;margin-bottom:4px;font-size:12px}.admin-form-grid{gap:8px;margin:10px 0;display:grid}.admin-field{gap:4px;display:grid}.admin-field span{color:#f4e2c0cc;font-size:12px}.admin-audio-track-grid{gap:8px;margin:10px 0;display:grid}.admin-audio-track-row{grid-template-columns:minmax(0,1fr) 140px;align-items:end;gap:8px;display:grid}.admin-audio-upload{color:#f3ddb5;cursor:pointer;background:#46473599;border:1px solid #ffdd963d;border-radius:8px;justify-content:center;align-items:center;min-height:34px;font-size:12px;font-weight:760;display:inline-flex}.admin-audio-upload input{display:none}.admin-chat-textarea{color:#f6e3bd;resize:vertical;background:#1f201873;border:1px solid #ffdd963d;border-radius:8px;width:100%;min-height:120px;padding:8px 10px;font-size:13px}.admin-chat-emoji-list{gap:8px;margin:10px 0;display:grid}.admin-chat-emoji-row{background:#1f201847;border:1px solid #ffdd9629;border-radius:8px;grid-template-columns:56px repeat(3,minmax(120px,1fr)) minmax(220px,1.3fr) 130px auto;align-items:end;gap:8px;padding:8px;display:grid}.admin-chat-emoji-preview{background:#16171073;border:1px solid #ffdd9638;border-radius:10px;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.admin-chat-emoji-preview img{object-fit:contain;width:100%;height:100%}.admin-chat-emoji-preview span{font-size:28px}.admin-section-card button,.history-card button,.tournament-card button,.friend-actions button,.not-found-page a,.not-found-page button{color:#3b2d20;cursor:pointer;background:linear-gradient(#f8e2bbf5,#cb995ceb);border:1px solid #7e5a2f2b;border-radius:8px;justify-content:center;align-items:center;min-height:34px;padding:6px 10px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex}.admin-section-card button.danger{color:#fff2eb;background:linear-gradient(#9b392ee6,#6c251ef2);border-color:#c6584785}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) :is(.history-card button,.tournament-card button,.friend-actions button,.account-card button,.action-grid button){color:#f4e1bc;background:linear-gradient(#5a4026f5,#372618fa);border:1px solid #b38b55;box-shadow:inset 0 1px #fae4b41f,0 6px 10px #110b084d}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) :is(.history-card button,.tournament-card button,.friend-actions button,.account-card button,.action-grid button):hover{color:#fff1cf;background:linear-gradient(#765432fa,#422d1cfa);border-color:#ddb06c}:is(.tournaments-page,.history-page,.rankings-page,.friends-page,.account-page) :is(.history-card button,.tournament-card button,.friend-actions button,.account-card button,.action-grid button).primary-action{color:#fff;background:linear-gradient(#1f6c65,#134a45);border-color:#2a8b80}.admin-empty-text{color:#f4e2c0b8;margin:2px 0;font-size:12px}.admin-json-editor{color:#f6e3bd;background:#1f201873;border:1px solid #ffdd963d;border-radius:8px;width:100%;min-height:130px;margin:8px 0;padding:8px;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;line-height:1.45}.admin-config-preview{color:#f1dec0;background:#3030245c;border:1px solid #ffdd9638;border-radius:8px;margin-top:14px;padding:10px}.admin-config-preview h3{color:#fff0c9;margin:0 0 8px;font-size:14px}.admin-config-preview pre{color:#f4e2c0d6;max-height:240px;margin:0;font-family:Consolas,SFMono-Regular,monospace;font-size:12px;overflow:auto}.admin-new-config-card{margin-bottom:12px}.admin-cms-page{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;display:grid}.admin-cms-sidebar{align-self:start;position:sticky;top:10px}.admin-cms-sidebar h2{color:#fff0c9;margin:0;font-size:20px}.admin-cms-hint{color:#f4e2c0d1;margin:10px 0 0;font-size:13px;line-height:1.45}.admin-cms-nav{gap:8px;margin-top:12px;display:grid}.admin-cms-nav-link{color:#f3ddb5;background:#46473599;border:1px solid #ffdd963d;border-radius:8px;align-items:center;min-height:38px;padding:0 12px;font-size:13px;font-weight:760;text-decoration:none;display:inline-flex}.admin-cms-nav-link.active{color:#fff0c9;background:linear-gradient(#8a6741,#5a3d25);border-color:#efc26885}.admin-cms-main{gap:12px;min-width:0;display:grid}.admin-cms-panel{gap:12px;display:grid}.admin-cms-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-cms-head h2{color:#fff0c9;margin:0;font-size:22px}.admin-cms-head button{white-space:nowrap;min-height:36px}.admin-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.admin-kpi-grid article{color:#f1dec0;background:#3030245c;border:1px solid #ffdd9638;border-radius:10px;padding:10px}.admin-kpi-grid span{color:#f4e2c0bf;font-size:12px;display:block}.admin-kpi-grid strong{color:#fff0c9;font-size:20px}.admin-quick-links{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.admin-quick-links a{color:#f3ddb5;text-align:center;background:#46473599;border:1px solid #ffdd963d;border-radius:8px;justify-content:center;align-items:center;min-height:36px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex}.admin-toolbar-grid{grid-template-columns:minmax(260px,1fr) minmax(180px,220px) auto;gap:8px;display:grid}.admin-toolbar-grid-4{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(140px,190px)) auto}.admin-toolbar-grid-5{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,170px)) auto}.admin-toolbar-grid input,.admin-toolbar-grid select,.admin-toolbar-grid button{min-height:36px}.admin-form-surface{background:#30302447;border:1px solid #ffdd9638;border-radius:10px;padding:10px}.admin-form-surface h3{color:#fff0c9;margin:0;font-size:16px}.admin-create-form-8{grid-template-columns:repeat(8,minmax(0,1fr));margin-top:10px}.admin-detail-surface{background:#30302447;border:1px solid #ffdd9638;border-radius:10px;padding:10px}.admin-detail-surface h3{color:#fff0c9;margin:0;font-size:16px}.admin-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.admin-settings-wide{grid-column:1/-1}.admin-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.admin-field-wide{grid-column:span 2}.admin-pagination{background:#1f201852;border:1px solid #ffdd9633;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.admin-pagination-summary{color:#f4e2c0d1;flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:inline-flex}.admin-pagination-summary strong{color:#fff0c9}.admin-pagination-summary label{align-items:center;gap:6px;display:inline-flex}.admin-pagination-summary select{color:#f6e3bd;background:#1f201873;border:1px solid #ffdd963d;border-radius:8px;min-height:30px;padding:0 8px;font-size:12px}.admin-pagination-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.admin-pagination-actions span{color:#f4e2c0db;font-size:12px}.admin-pagination-actions button{color:#f1dec0;cursor:pointer;background:#46473599;border:1px solid #ffdd963d;border-radius:8px;min-height:30px;padding:0 8px;font-size:12px}.admin-pagination-actions button:disabled{opacity:.55;cursor:not-allowed}.not-found-page{max-width:520px;margin:24px auto}.not-found-page h2{color:#f6e3bd;margin:0}.not-found-page p{color:#f4e2c0d1}.account-page{grid-template-columns:1fr}.account-summary{color:#f1dec0;background:#3030245c;border:1px solid #927956;border-radius:8px;gap:4px;padding:10px;display:grid}.account-summary-head{grid-template-columns:74px minmax(0,1fr);align-items:center;gap:12px;display:grid}.account-summary-avatar{background:radial-gradient(circle at 20% 20%,#fff1be38,#0000 48%),linear-gradient(#464735e6,#292a20eb);border:1px solid #ffdd9657;border-radius:16px;place-items:center;width:74px;height:74px;display:grid;overflow:hidden;box-shadow:inset 0 1px #fff1be29,0 10px 20px #19120b47}.account-summary-avatar img{object-fit:cover;width:100%;height:100%}.account-summary-avatar span{color:#f7deb1;font-size:24px;font-weight:840}.account-summary-meta{gap:2px;display:grid}.account-summary strong{color:#fff0c9;font-size:16px}.account-summary span,.account-message{color:#f4e2c0d6;font-size:13px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-card{color:#f1dec0;background:#3030245c;border:1px solid #927956;border-radius:8px;padding:10px}.account-card h3{color:#fff0c9;margin:0 0 8px;font-size:15px}.account-card input{color:#f6e3bd;background:#1f201873;border:1px solid #a88d67;border-radius:8px;width:100%;min-height:36px;margin-bottom:8px;padding:8px;font-size:13px}.account-card button{width:100%;margin-bottom:8px}.account-avatar-picker{gap:8px;margin-bottom:6px;display:grid}.account-avatar-label{color:#f4e2c0db;font-size:12px;font-weight:760}.account-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.account-avatar-option{color:#f4e2c0d6;cursor:pointer;background:#1f20186b;border:1px solid #a88d67;border-radius:10px;gap:6px;margin-bottom:0;padding:8px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.account-avatar-option.active{border-color:#efc2688f;box-shadow:inset 0 1px #fff1be33,0 10px 20px #19120b3d}.account-avatar-option-media{aspect-ratio:1;background:#1617108c;border:1px solid #ffdd9633;border-radius:8px;width:100%;display:grid;overflow:hidden}.account-avatar-option-media img{object-fit:cover;width:100%;height:100%}.account-avatar-option-label{color:#f4e2c0db;text-align:center;font-size:11px;font-weight:720;display:block}.account-inline-row{grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}.account-inline-note{color:#f4e2c0d1;font-size:12px}@media (width<=1180px){.portal-shell{width:min(100vw - 20px,980px)}.portal-header{min-height:188px;padding:10px 10px 12px}.portal-header-strip-content{gap:14px}.portal-strip-nav{gap:7px;width:min(42%,460px)}.portal-strip-nav-item{min-height:44px;padding:7px 12px;font-size:17px}.portal-strip-center-logo-frame{width:220px;height:88px}.portal-strip-center-logo-ring{width:78px;height:78px}.portal-strip-center-logo-ring img{width:58px;height:58px}.portal-strip-slogan{font-size:15px}.portal-shell-gameplay{width:100vw}.arena-bottom-grid{grid-template-columns:1fr}.arena-home-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-section-grid,.admin-user-detail-grid,.admin-quick-config-grid,.admin-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-kpi-grid,.admin-quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-create-form-8{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-settings-grid,.admin-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-chat-emoji-row{grid-template-columns:56px repeat(2,minmax(0,1fr))}.admin-toolbar-grid-5{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(120px,170px))}.match-replay-grid{grid-template-columns:1fr}.match-replay-moves{max-height:280px}.portal-theme-hero-stats,.tournaments-page .tournament-meta-grid,.rankings-podium{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=860px){.portal-shell{width:min(100vw - 12px,760px);padding-top:8px}.portal-shell-gameplay{width:100vw;padding-top:0}.portal-header{min-height:auto;padding:9px 8px 10px}.portal-header-strip-content{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}.portal-strip-nav{justify-content:center;gap:6px;width:100%}.portal-strip-nav-left,.portal-strip-nav-right{justify-content:center}.portal-strip-nav-item{min-height:38px;padding:6px 10px;font-size:15px}.portal-strip-center-logo-frame{border-radius:18px;width:198px;height:74px}.portal-strip-center-logo-ring{border-width:3px;width:62px;height:62px}.portal-strip-center-logo-ring img{width:44px;height:44px}.portal-strip-slogan{margin-top:0;font-size:12px}.portal-strip-utility{gap:6px}.portal-strip-utility-link{min-height:28px;padding:3px 8px;font-size:11px}.arena-table-top{grid-template-columns:1fr}.arena-home-hero{min-height:auto;padding:12px}.arena-home-zone-grid,.arena-battle-grid{grid-template-columns:1fr}.arena-battle-grid-gameplay{grid-template-columns:1fr;min-height:auto}.arena-center-column-gameplay{order:-1}.arena-gameplay-shell{border-radius:0;min-height:100vh;padding:8px}.arena-game-statusbar{flex-direction:column;align-items:stretch;gap:8px}.arena-game-status-side{justify-content:flex-start}.arena-board-stage{min-height:56vh}.arena-center-column-gameplay .arena-board-wrap .board-shell{height:auto;padding:8px}.arena-center-column-gameplay .arena-board-wrap .board-surface{width:min(100%,100vw - 24px);height:auto}.arena-search-state-card{width:100%;min-width:0;margin-top:10px;position:static;inset:auto;transform:none}.arena-result-modal{width:min(520px,100% - 18px);padding:12px}.arena-result-actions{grid-template-columns:1fr}.arena-side-column.right .arena-chat-box{margin-top:0}.arena-friend-quick,.tournaments-page,.friends-page{grid-template-columns:1fr}.portal-theme-hero{padding:14px}.portal-theme-hero-head{flex-direction:column;gap:10px}.portal-theme-hero-head h2{font-size:clamp(22px,6vw,26px)}.portal-theme-section-head{flex-direction:column;align-items:flex-start;gap:6px}.portal-theme-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tournaments-page .tournament-meta-grid,.history-page .history-meta-grid,.tournament-history-grid,.tournament-card,.history-card,.friend-card{grid-template-columns:1fr}.tournaments-page .tournament-actions,.history-page .history-card-side{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.history-page .history-elo-delta{grid-column:1/-1}.rankings-podium{grid-template-columns:1fr}.match-replay-head{flex-direction:column;align-items:stretch}.match-replay-board-wrap{min-height:auto}.match-replay-board-wrap .board-shell{width:100%}.match-replay-controls{justify-content:stretch}.match-replay-controls button{flex:1}.match-replay-controls span{width:100%}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-toolbar,.admin-filter-row,.admin-create-form,.admin-social-grid,.admin-chat-emoji-row{grid-template-columns:1fr}.admin-chat-emoji-preview{width:48px;height:48px}.admin-section-grid,.admin-user-detail-grid,.admin-quick-config-grid,.admin-config-grid,.admin-cms-page{grid-template-columns:1fr}.admin-cms-sidebar{position:static}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-quick-links{grid-template-columns:1fr}.admin-cms-head{flex-direction:column;align-items:stretch}.admin-toolbar-grid,.admin-toolbar-grid-4,.admin-toolbar-grid-5,.admin-create-form-8,.admin-settings-grid,.admin-form-grid-4,.admin-audio-track-row{grid-template-columns:1fr}.admin-field-wide{grid-column:span 1}.admin-pagination{grid-template-columns:1fr}.admin-pagination-actions{justify-content:flex-start}.account-grid{grid-template-columns:1fr}.account-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.portal-theme-hero-stats{grid-template-columns:1fr}.portal-theme-hero-tags span{min-height:26px;padding:0 9px}.tournaments-page .tournament-meta-grid,.tournaments-page .tournament-actions,.history-page .history-card-side{grid-template-columns:1fr}.portal-table th,.portal-table td{padding:8px}}
