:root{--riot-navy:#193847;--riot-black:#101b1b;--surface:#3f5052;--surface-raised:#526467;--surface-soft:#64777a;--electric-blue:#63c8dd;--chess-gold:#ffd65a;--neon-purple:#7d6b9b;--riot-pink:#dc5b45;--teal-spark:#79c94b;--text:#fff8dc;--muted:#cad5c5;--board-light:#d4c47f;--board-dark:#5d8c3d;--grass:#65a642;--grass-dark:#3d702e;--dirt:#765034;--dirt-dark:#4a3323;--stone:#536265;--stone-dark:#273537;--wood:#855b33;--wood-dark:#4d351f;--display:"Arial Black", Impact, Haettenschweiler, sans-serif;--ui:"Trebuchet MS", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--ui)}*{box-sizing:border-box}html{background:var(--riot-navy);touch-action:pan-x pan-y;min-width:320px;min-height:100%}body{min-height:100vh;color:var(--text);background:linear-gradient(90deg,#0000 0 25%,#ffffff0f 25% 50%,#0000 50% 75%,#0000000d 75%) 0 0/64px 64px,linear-gradient(#285363 0 48%,#315c42 48% 52%,#5e422d 52% 100%);margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}::selection{color:var(--riot-black);background:var(--chess-gold)}.skip-link{z-index:1000;border:3px solid var(--chess-gold);color:var(--riot-black);background:var(--chess-gold);font:900 10px/1 var(--mono);text-transform:uppercase;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#main-content:focus{outline:none}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.home-shell,.join-shell,.game-shell{isolation:isolate;min-height:100vh;position:relative;overflow-x:hidden}.home-shell:before,.join-shell:before,.game-shell:before{z-index:-2;pointer-events:none;content:"";background-image:radial-gradient(circle,#00e5ff38 0 1px,#0000 1.5px),linear-gradient(120deg,#0000 0 48%,#ffc40006 48% 49%,#0000 49%);background-size:32px 32px,100% 100%;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.home-shell:after,.game-shell:after{z-index:-1;pointer-events:none;content:"";background:linear-gradient(90deg, transparent, var(--electric-blue), transparent);width:55vw;height:2px;box-shadow:0 0 18px var(--electric-blue);opacity:.5;position:fixed;top:12%;right:-18%;transform:rotate(-39deg)}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050914e6;border-bottom:1px solid #ffc4007a;justify-content:space-between;align-items:center;gap:16px;height:76px;padding:0 clamp(18px,5vw,72px);display:flex;position:relative;box-shadow:0 10px 40px #00000038}.topbar:after{content:"";background:var(--electric-blue);width:min(22vw,240px);height:1px;box-shadow:0 0 12px var(--electric-blue);position:absolute;bottom:-1px;left:clamp(18px,5vw,72px)}.home-shell>.topbar,.join-shell>.topbar,.game-shell>.topbar,.public-shell>.topbar,.account-shell>.topbar,.changelog-shell>.topbar,.demo-shell>.topbar,.capture-lab-shell>.topbar,.history-shell>.topbar,.privacy-shell>.topbar{padding-right:76px}.brand{align-items:center;gap:11px;min-width:0;text-decoration:none;display:inline-flex}.brand-mark{width:46px;height:46px;color:var(--riot-black);background:var(--chess-gold);clip-path:polygon(50% 0,62% 19%,84% 8%,78% 34%,100% 26%,85% 66%,50% 100%,15% 66%,0 26%,22% 34%,16% 8%,38% 19%);filter:drop-shadow(0 0 8px #ffc4005c);flex:none;place-items:center;display:grid;position:relative}.brand-mark:after{content:"";background:var(--riot-black);position:absolute;inset:10px 19px 5px;transform:rotate(27deg)}.brand-mark>span{z-index:1;font:27px/1 Georgia,serif;position:relative;transform:translateY(2px)}.brand-copy{min-width:0;line-height:1;display:grid}.brand-name{font:italic 38px/.85 var(--display);letter-spacing:-1px;white-space:nowrap;align-items:baseline;display:flex;transform:skew(-4deg)}.brand-name>span{color:var(--text)}.brand-name>b{color:var(--chess-gold);font-weight:inherit}.brand-copy small{color:var(--electric-blue);font:700 7px/1 var(--ui);letter-spacing:3.2px;white-space:nowrap;margin-top:7px}.top-tag,.home-link{color:var(--muted);font:700 10px/1 var(--mono);letter-spacing:1.5px}.home-link{border-bottom:1px solid #00e5ffb3;align-items:center;min-height:40px;padding:0 4px;text-decoration:none;display:inline-flex}.hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.72fr);align-items:center;gap:clamp(42px,7vw,112px);width:min(100%,1500px);min-height:670px;margin:0 auto;padding:clamp(64px,8vw,112px) clamp(20px,7vw,100px);display:grid}.hero-copy{position:relative}.hero-copy:before{z-index:-1;content:"";clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);border:1px solid #00e5ff1c;width:260px;height:260px;position:absolute;top:-42px;left:-36px;transform:rotate(18deg)}.eyebrow{color:var(--electric-blue);font:800 10px/1.2 var(--mono);letter-spacing:2.2px;align-items:center;gap:10px;margin:0 0 18px;display:flex}.eyebrow>span{background:var(--electric-blue);width:21px;height:2px;box-shadow:0 0 10px var(--electric-blue)}.hero-copy h1{max-width:900px;color:var(--text);font:italic clamp(64px,8.5vw,126px)/.82 var(--display);letter-spacing:clamp(-4px,-.25vw,-1px);text-transform:uppercase;text-shadow:0 8px 32px #0006;margin:0;transform:skew(-2deg)}.hero-copy h1 em{color:var(--chess-gold);font-style:inherit;text-shadow:0 0 30px #ffc4003d}.hero-text{color:#c9d2e3;max-width:610px;font:500 clamp(16px,1.7vw,20px)/1.55 var(--ui);margin:34px 0 25px}.voxel-card,.side-card{color:var(--text);clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);background:linear-gradient(145deg,#17233af7,#090f1ef7);border:1px solid #00e5ff59;position:relative;box-shadow:0 22px 70px #00000061,inset 0 1px #ffffff0a}.create-card{padding:clamp(27px,4vw,43px)}.create-card:before,.join-card:before,.state-card:before{content:"";background:var(--chess-gold);width:76px;height:2px;position:absolute;top:0;right:28px;box-shadow:0 0 15px #ffc400cc}.card-kicker{min-height:27px;color:var(--chess-gold);font:800 9px/1 var(--mono);letter-spacing:1.5px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);background:#ffc40012;border:1px solid #ffc4006b;align-items:center;padding:0 10px;display:inline-flex}.create-card h2{font:italic clamp(34px,3vw,46px)/.95 var(--display);letter-spacing:.5px;text-transform:uppercase;margin:19px 0 30px}label{color:var(--muted);font:700 9px/1 var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 9px;display:block}input{width:100%;min-height:53px;color:var(--text);font:650 17px/1.2 var(--ui);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:#050914db;border:1px solid #91a0b86b;border-radius:0;outline:none;padding:12px 15px}.primary-button,.secondary-button{cursor:pointer;min-height:52px;font:850 11px/1 var(--ui);letter-spacing:1px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);border:0;border-radius:0;justify-content:center;align-items:center;text-decoration:none;transition:filter .12s,transform .12s;display:inline-flex}.primary-button{color:#00141a;background:linear-gradient(135deg,#00c8e9,var(--electric-blue));width:100%;margin-top:18px;box-shadow:0 0 22px #00e5ff33,inset 0 1px #ffffff75}.secondary-button{color:var(--chess-gold);background:#ffc4000d;border:1px solid #ffc400a3;padding:0 23px}.primary-button:active:not(:disabled),.secondary-button:active{transform:translateY(1px)}.primary-button:focus-visible,.secondary-button:focus-visible,.square:focus-visible,.home-link:focus-visible{outline:2px solid var(--chess-gold);outline-offset:3px}.primary-button:disabled{cursor:wait;filter:saturate(.4);opacity:.58}.fine-print{color:#7887a0;font:500 10px/1.45 var(--ui);text-align:center;margin:15px 0 0}.form-error{color:#ff608b;font:700 11px/1.45 var(--ui);margin:11px 0 0}.required-field>label{justify-content:space-between;align-items:center;gap:12px;display:flex}.required-field>label small{color:var(--muted);font:850 7px/1 var(--mono);letter-spacing:.9px}.required-field.has-error>label,.required-field.has-error>label small{color:#ff6b70}.required-field.has-error>input,.required-field.has-error>input:focus{border-color:#ff5a63;box-shadow:0 0 0 2px #ff5a6357,0 0 20px #ff5a632e}.field-error{color:#fff1ee;min-height:32px;font:750 11px/1.35 var(--ui);background:#ff334f24;border-left:3px solid #ff5a63;align-items:center;gap:8px;margin:7px 0 0;padding:7px 9px;display:flex}.field-error b{color:#1b090b;width:18px;height:18px;font:950 11px/1 var(--ui);background:#ff6b70;border-radius:50%;flex:none;place-items:center;display:inline-grid}@media (forced-colors:active){.required-field.has-error>input{outline:3px solid mark}.field-error{border-color:mark}}.recent-section{width:min(100%,1240px);margin:0 auto;padding:0 clamp(20px,7vw,100px) 82px}.section-title{color:var(--muted);font:800 9px/1 var(--mono);letter-spacing:1.6px;align-items:center;gap:16px;display:flex}.section-title i{background:linear-gradient(90deg,#00e5ff8c,#0000);flex:1;height:1px}.recent-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:17px;display:grid}.recent-card{min-height:82px;color:var(--text);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#111a2dc7;border:1px solid #91a0b845;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:14px;text-decoration:none;transition:all .12s;display:grid}.recent-card:hover{background:var(--surface-raised);border-color:#00e5ffa6;transform:translateY(-2px)}.recent-card strong,.recent-card small{display:block}.recent-card strong{font-size:13px}.recent-card small{color:var(--muted);font:500 10px/1 var(--ui);margin-top:4px}.game-state{color:var(--muted);font:800 10px/1.1 var(--ui);margin-top:4px;display:block}.game-state[data-tone=ready],.game-state[data-tone=won]{color:var(--electric-blue)}.game-state[data-tone=lost]{color:#ff8a9f}.game-state[data-tone=draw]{color:var(--chess-gold)}.load-more-games{min-width:190px;margin:22px auto 0}.load-more-games:disabled{cursor:wait;opacity:.58}.mini-piece{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border:1px solid #00e5ff57;place-items:center;width:46px;height:46px;font:33px/1 Georgia,serif;display:grid}.mini-piece.light{color:var(--text);background:var(--surface-soft);text-shadow:0 0 8px #00e5ff66}.mini-piece.dark{color:var(--chess-gold);background:var(--riot-black);text-shadow:0 0 8px #ffc40047}footer{color:#6f7f98;font:700 8px/1 var(--mono);letter-spacing:1.5px;text-align:center;border-top:1px solid #ffc4003d;padding:24px}footer span{color:var(--chess-gold)}.join-stage{grid-template-rows:auto auto;align-content:center;place-items:center;min-height:calc(100vh - 76px);padding:52px 20px 92px;display:grid}.challenge-mark{z-index:1;justify-content:center;align-items:center;gap:9px;margin-bottom:-24px;display:flex}.challenge-mark span{width:64px;height:64px;color:var(--text);background:var(--surface-raised);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);border:1px solid #00e5ff99;place-items:center;font:44px/1 Georgia,serif;display:grid;box-shadow:0 0 22px #00e5ff1f}.challenge-mark span:last-child{color:var(--chess-gold);border-color:#ffc400a6}.challenge-mark b{z-index:2;width:41px;height:41px;color:var(--riot-black);background:var(--chess-gold);font:900 10px/1 var(--mono);clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);place-items:center;display:grid}.join-card,.state-card{text-align:left;width:min(100%,530px);padding:clamp(36px,6vw,58px)}.join-card h1,.state-card h1{font:italic clamp(39px,6vw,60px)/.9 var(--display);letter-spacing:.5px;text-transform:uppercase;margin:14px 0 31px}.join-card h1 em{color:var(--chess-gold);font-style:inherit}.state-card{text-align:center}.state-card p{color:#c4cde0;font:500 14px/1.55 var(--ui);margin:-10px 0 29px}.big-glyph{min-width:62px;height:62px;color:var(--riot-black);background:var(--chess-gold);font:31px/1 var(--display);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);place-items:center;padding:0 12px;display:inline-grid}.game-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:27px;width:min(100%,1340px);margin:0 auto;padding:clamp(17px,3vw,40px);display:grid}.board-column{min-width:0}.match-banner{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;margin-bottom:7px;display:grid}.player-card{background:#111a2da3;border:1px solid #91a0b838;grid-template-columns:28px minmax(0,1fr) 12px;align-items:center;gap:8px;min-width:0;min-height:48px;padding:5px 8px;display:grid}.player-card.you-player{background:#00e5ff12;border-color:#00e5ff73}.player-piece{font:27px/1 Arial Unicode MS,Segoe UI Symbol,Georgia,serif}.player-card small,.player-card strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.player-card small{color:var(--muted);font:800 11px/1.2 var(--mono);letter-spacing:.6px}.player-card strong{color:var(--text);margin-top:4px;font-size:17px}.status-lamp{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#27334a;border:1px solid #344159;width:10px;height:10px}.versus{color:var(--riot-black);background:var(--chess-gold);font:900 9px/1 var(--mono);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);justify-self:center;padding:8px}.turn-panel{min-height:62px;color:var(--text);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#111a2de6;border:1px solid #91a0b847;align-items:center;gap:12px;margin-bottom:11px;padding:10px 14px;display:flex}.turn-panel.mine{background:linear-gradient(90deg,#00e5ff1f,#111a2df2);border-color:#00e5ffb3;box-shadow:0 0 21px #00e5ff14}.turn-panel>span{width:36px;height:36px;color:var(--riot-black);background:var(--electric-blue);clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%);flex:none;place-items:center;font-weight:900;display:grid}.turn-panel.completed>span{background:var(--chess-gold)}.turn-panel.check>span{color:#fff;background:var(--riot-pink);box-shadow:0 0 16px #ff2e6ea6}.turn-panel small,.turn-panel strong{display:block}.turn-panel small{color:var(--muted);font:800 10px/1 var(--mono);letter-spacing:1.1px}.turn-panel strong{font:italic clamp(17px,2vw,21px)/1 var(--display);letter-spacing:.6px;text-transform:uppercase;margin-top:5px}.turn-panel>b{color:var(--electric-blue);font:700 10px/1 var(--mono);margin-left:auto}.board-wrap{background:var(--riot-black);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);border:1px solid #00e5ff94;width:min(100%,770px,max(280px,100dvh - 285px));margin:0 auto;padding:8px;box-shadow:0 0 0 3px #00e5ff0a,0 26px 70px #0000007a,0 0 30px #00e5ff14}.board-wrap[data-interactive=false] .square{cursor:default}.chessboard{aspect-ratio:1;border:1px solid #33415d;grid-template-columns:repeat(8,1fr);width:100%;display:grid;overflow:hidden}.square{aspect-ratio:1;min-width:0;color:var(--text);cursor:pointer;border:0;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.square:disabled{cursor:wait;opacity:1}.square.last-move:before{z-index:1;content:"";background:#00e5ff30;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #00e5ff6b}.square.selected:before{z-index:1;border:clamp(2px,.42vw,5px) solid var(--chess-gold);content:"";background:#ffc4001f;position:absolute;inset:6%;box-shadow:0 0 16px #ffc4004d,inset 0 0 12px #ffc4001f}.square.legal-target:after{z-index:2;aspect-ratio:1;content:"";background:#17e0c259;border:2px solid #17e0c2d9;border-radius:50%;width:23%;box-shadow:0 0 12px #17e0c280}.square.capture-target:after{z-index:2;content:"";border:clamp(3px,.65vw,7px) solid #ff2e6ecc;position:absolute;inset:9%;box-shadow:0 0 16px #ff2e6e59,inset 0 0 14px #ff2e6e2e}.square.king-in-check{z-index:1;animation:.8s ease-in-out infinite alternate check-pulse;box-shadow:inset 0 0 0 clamp(4px,.65vw,8px) #ff315f,inset 0 0 30px #ff003dc7}.piece{z-index:3;font-family:Arial Unicode MS,Segoe UI Symbol,"Noto Sans Symbols 2",Georgia,serif;font-size:clamp(31px,7.5vw,76px);line-height:1;transition:all .12s;position:relative;transform:translateY(-1%)}.rank-label,.file-label{z-index:4;color:#f7f9ff7a;font:700 clamp(7px,1vw,10px)/1 var(--mono);position:absolute}.rank-label{top:4px;left:4px}.file-label{bottom:3px;right:4px}.board-message{color:#ffdce7;font:650 11px/1.4 var(--ui);text-align:center;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:#ff2e6e14;border:1px solid #ff2e6e85;margin:14px auto 0;padding:11px 13px}.game-sidebar{gap:15px;padding-top:69px;display:grid}.side-card h2{font:italic 22px/1 var(--display);letter-spacing:.6px;margin:0}.side-card p{color:#b9c5d8;font:500 12px/1.48 var(--ui)}.side-icon{width:43px;height:43px;color:var(--riot-black);background:var(--electric-blue);font:800 20px/1 var(--display);clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%);place-items:center;margin-bottom:13px;display:grid}.invite-field{min-height:38px;font:500 9px/1 var(--mono);margin-top:11px;padding:8px}.waiting-challenge-actions{gap:9px;display:grid}.waiting-challenge-actions .primary-button,.waiting-challenge-actions .secondary-button{width:100%;min-height:44px;margin:0}.side-heading{border-bottom:1px solid #91a0b833;justify-content:space-between;align-items:center;gap:8px;padding-bottom:11px;display:flex}.side-heading span{color:#c6b4ff;font:700 8px/1 var(--mono);background:#7b3dff1a;border:1px solid #7b3dff73;padding:5px 7px}.moves-card{max-height:420px;overflow:auto}.empty-moves{color:var(--muted)!important}.move-list{font:650 11px/1.2 var(--mono);margin:12px 0 0;padding:0;list-style:none}.move-list li{border-bottom:1px solid #91a0b821;grid-template-columns:30px 1fr 1fr;gap:8px;padding:8px 0;display:grid}.rules-card{background:linear-gradient(145deg,#17e0c217,#090f1ef7);border-color:#17e0c240;align-items:center;gap:12px;display:flex}.rules-card>span{width:35px;height:35px;color:var(--riot-black);background:var(--teal-spark);clip-path:polygon(50% 0,100% 24%,100% 76%,50% 100%,0 76%,0 24%);place-items:center;display:grid}.rules-card strong,.rules-card small{display:block}.rules-card strong{font:750 12px/1 var(--ui)}.rules-card small{color:var(--muted);font:500 10px/1.3 var(--ui);margin-top:4px}.actions-card .secondary-button{width:100%;margin-top:3px}.quiet-button,.danger-button{width:100%;min-height:42px;color:var(--muted);cursor:pointer;font:800 10px/1 var(--mono);background:#0509146b;border:1px solid #91a0b875}.danger-button{color:#ffdce7;background:#ff2e6e1f;border-color:#ff2e6eb3}.end-confirm{gap:8px;display:grid}.loading-block{min-height:calc(100vh - 76px);color:var(--electric-blue);font:italic clamp(27px,5vw,52px)/1 var(--display);letter-spacing:1px;text-shadow:0 0 23px #00e5ff4d;place-items:center;display:grid}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060ee0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-card{width:min(100%,480px);color:var(--text);background:var(--surface);text-align:center;clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);border:1px solid #ffc400a8;padding:29px;box-shadow:0 0 50px #ffc40021}.promotion-card p{color:var(--chess-gold);font:italic 26px/1 var(--display);letter-spacing:.8px;margin:0 0 20px}.promotion-card>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.promotion-card>div button{aspect-ratio:1;color:var(--text);background:var(--surface-raised);cursor:pointer;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);border:1px solid #00e5ff66;font:50px/1 Arial Unicode MS,Segoe UI Symbol,Georgia,serif}.promotion-card>div button:hover,.promotion-card>div button:focus-visible{border-color:var(--chess-gold);color:var(--chess-gold);background:#ffc40014;outline:none}.cancel-promotion{color:var(--muted);cursor:pointer;font:700 9px/1 var(--mono);background:0 0;border:0;border-bottom:1px solid #91a0b88c;margin-top:21px;padding:7px 3px}.home-shell:before,.join-shell:before,.game-shell:before{opacity:.36;background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(#000,#0000 92%);mask-image:linear-gradient(#000,#0000 92%)}.home-shell:after,.game-shell:after{opacity:.2;background:linear-gradient(90deg, transparent 0 9%, #ffffff1a 9% 14%, transparent 14% 62%, #0000001f 62% 70%, transparent 70%) 0 0 / 160px 64px, linear-gradient(to bottom, var(--grass) 0 18px, var(--dirt) 18px 66%, var(--stone-dark) 66%);width:100%;height:22vh;box-shadow:none;top:auto;bottom:0;right:0;transform:none}.topbar{border:0;border-bottom:5px solid var(--wood-dark);background:linear-gradient(#ffffff14 2px, transparent 2px) 0 0 / 100% 24px, linear-gradient(90deg, transparent 0 49%, #23140a47 49% 51%, transparent 51%) 0 0 / 140px 100%, var(--wood);-webkit-backdrop-filter:none;backdrop-filter:none;height:80px;box-shadow:inset 0 4px #ffffff1f,0 6px #0b13107a}.topbar:after{display:none}.brand{gap:12px}.brand-mark{width:48px;height:48px;color:var(--riot-black);background:linear-gradient(135deg, #ffffff47 0 25%, transparent 25% 75%, #59330d38 75%), var(--chess-gold);box-shadow:inset -5px -5px #7e551240, 5px 5px 0 var(--wood-dark);clip-path:none;filter:none;border:4px solid #263532}.brand-mark:after{display:none}.brand-mark>span{font:29px/1 Georgia,serif;transform:none}.brand-name{font:900 34px/.9 var(--display);letter-spacing:-2px;text-shadow:3px 3px #15201d;transform:none}.brand-name>b{color:var(--chess-gold)}.brand-copy small,.top-tag{color:#f8edbd;font-family:var(--mono);text-shadow:2px 2px 0 var(--wood-dark);font-weight:900}.home-link{border:3px solid var(--wood-dark);min-height:38px;color:var(--text);background:#25322d9e;padding:0 12px;box-shadow:0 4px #1b2825}.home-link:hover{color:var(--chess-gold)}.hero-copy:before{opacity:.28;background:linear-gradient(90deg, var(--grass) 0 33%, transparent 33% 66%, var(--grass-dark) 66%) 0 0 / 48px 48px, var(--dirt);clip-path:none;border:0;width:220px;height:220px;top:-28px;left:-20px;transform:rotate(8deg);box-shadow:24px 24px #14241d73}.eyebrow{color:#b9f08c;text-shadow:2px 2px #203a25}.eyebrow>span{background:var(--grass);height:8px;box-shadow:0 4px 0 var(--grass-dark)}.hero-copy h1{letter-spacing:-3px;text-shadow:4px 4px #172522,8px 8px #3a2517cc;font-style:normal;transform:none}.hero-copy h1 em{color:var(--chess-gold);text-shadow:4px 4px #6c491f,8px 8px #19221bcc;font-style:normal}.hero-text{color:#f4f0d8;text-shadow:2px 2px #141f1bb8;font-weight:700}.voxel-card,.side-card{border:4px solid var(--stone-dark);background:linear-gradient(90deg, #ffffff09 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(#ffffff09 1px, transparent 1px) 0 0 / 24px 24px, var(--stone);clip-path:none;box-shadow:inset 0 5px #ffffff1c,inset -5px -5px #0b171738,9px 9px #0e1917a3}.create-card:before,.join-card:before,.state-card:before{background:var(--grass);width:86px;height:8px;box-shadow:0 4px 0 var(--grass-dark);top:-4px;right:28px}.card-kicker{border:3px solid var(--dirt-dark);color:#fff3bd;background:var(--dirt);clip-path:none;box-shadow:inset 0 3px #ffffff1a,0 4px #3d291d}.create-card h2,.join-card h1,.state-card h1,.side-card h2{text-shadow:3px 3px #1b2928;font-style:normal}label{color:#f1ecd5;text-shadow:2px 2px #2a3838}input{color:var(--text);clip-path:none;background:#202d2e;border:4px solid #1e2c2d;box-shadow:inset 4px 4px #111b1c,inset -3px -3px #ffffff14}input:focus{border-color:var(--chess-gold);box-shadow:inset 4px 4px #111b1c,0 0 0 3px #ffd65a47}input::placeholder{color:#92a49c}.primary-button,.secondary-button{min-height:54px;font-family:var(--mono);clip-path:none;border:4px solid #23351f;font-weight:900;transition:filter .1s,transform .1s,box-shadow .1s}.primary-button{color:#10200f;background:linear-gradient(135deg, #ffffff38 0 18%, transparent 18% 82%, #1f4a192e 82%), var(--teal-spark);box-shadow:inset 0 4px #ffffff30, 0 6px 0 var(--grass-dark), 0 10px 0 #111d188c}.secondary-button{color:#2a1b0f;background:var(--chess-gold);border-color:#533a20;box-shadow:inset 0 4px #fff3,0 6px #8d6925,0 10px #111d1880}.primary-button:hover:not(:disabled),.secondary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-button:active:not(:disabled),.secondary-button:active{box-shadow:inset 0 4px #0000001a, 0 2px 0 var(--grass-dark);transform:translateY(4px)}.fine-print{color:#e2e6cf;font-weight:700}.form-error{color:#ffd3c6;text-shadow:2px 2px #6d291e}.section-title{color:#eff3d8;text-shadow:2px 2px #1b2928}.section-title i{background:linear-gradient(90deg, var(--grass), transparent);height:6px}.recent-card{border:4px solid var(--stone-dark);background:var(--stone);clip-path:none;box-shadow:inset 0 4px #ffffff1a,5px 5px #0e19178c}.recent-card:hover{border-color:var(--chess-gold);background:var(--surface-raised)}.mini-piece{border:4px solid var(--stone-dark);background:var(--board-dark);clip-path:none;box-shadow:inset 0 3px #ffffff1a,3px 3px #1b2928}footer{border-top:5px solid var(--wood-dark);color:#fff2c1;background:var(--wood);text-shadow:2px 2px 0 var(--wood-dark)}.challenge-mark span{border:4px solid var(--stone-dark);color:var(--text);background:var(--stone);clip-path:none;box-shadow:inset 0 4px #ffffff1f,5px 5px #1a2828}.challenge-mark span:last-child{border-color:var(--dirt-dark);color:var(--chess-gold)}.challenge-mark b{border:3px solid var(--dirt-dark);color:#2a1b0f;background:var(--chess-gold);clip-path:none;box-shadow:4px 4px #6e4d20}.join-card h1 em{color:var(--chess-gold);text-shadow:3px 3px #61441f}.state-card p,.side-card p{color:#f1f0d8}.big-glyph,.side-icon{border:4px solid var(--dirt-dark);color:#20301c;background:var(--teal-spark);box-shadow:inset 0 4px #ffffff2e, 4px 4px 0 var(--grass-dark);clip-path:none}.match-banner>div.you-player{grid-template-columns:1fr 12px}.status-lamp{border:3px solid var(--stone-dark);clip-path:none;background:#6c7670;width:12px;height:12px}.status-lamp[data-active=true]{border-color:var(--grass-dark);background:#a8e85f;box-shadow:0 0 0 2px #a8e85f40}.versus{border:3px solid var(--dirt-dark);color:#2a1b0f;background:var(--chess-gold);clip-path:none;box-shadow:3px 3px #6d4d21}.turn-panel{border:4px solid var(--stone-dark);background:var(--stone);clip-path:none;box-shadow:inset 0 4px #ffffff14,0 5px #131f1d94}.turn-panel.mine{border-color:var(--grass-dark);background:#507344;box-shadow:inset 0 4px #ffffff1a,0 5px #293f26}.turn-panel.completed{background:#786533;border-color:#8b6726}.turn-panel>span{border:3px solid var(--stone-dark);color:#172417;background:var(--teal-spark);box-shadow:3px 3px 0 var(--grass-dark);clip-path:none}.turn-panel.completed>span{background:var(--chess-gold);box-shadow:3px 3px #7e5d23}.turn-panel>b{color:#d9ffad}.board-wrap{border:6px solid var(--wood-dark);background:linear-gradient(90deg, #ffffff1a 2px, transparent 2px) 0 0 / 80px 100%, var(--wood);clip-path:none;width:min(100%,770px);padding:12px;box-shadow:inset 0 5px #ffffff21,inset -5px -5px #35201140,10px 10px #0d18169e}.chessboard{border:4px solid #1d2b27}.light-square{background:linear-gradient(135deg, #ffffff26 0 14%, transparent 14% 86%, #65501f1f 86%), var(--board-light)}.dark-square{background:linear-gradient(135deg, #ffffff1a 0 14%, transparent 14% 86%, #15361a2e 86%), var(--board-dark)}.square.last-move:before{background:#63c8dd52;box-shadow:inset 0 0 0 4px #4c9eae}.square.selected:before{border:5px solid var(--chess-gold);background:#ffd65a29;inset:5px;box-shadow:4px 4px #4c36169e}.square.legal-target:after{background:#a6e85f;border:3px solid #24441f;border-radius:0;width:25%;box-shadow:3px 3px #1f471b9e}.square.capture-target:after{border:6px solid #e15f46;inset:8%;box-shadow:inset 0 0 0 4px #ffd2b840,4px 4px #5b23187a}.piece{font-weight:900;transition:transform .1s;transform:translate(-2px,-3px)}.square:hover .piece{transform:translate(-2px,-5px)}.piece-w{color:#fff3c7;-webkit-text-stroke:clamp(1px,.12vw,2px) #5c4b2d;filter:drop-shadow(4px 5px #435149)}.piece-b{color:#202a26;-webkit-text-stroke:clamp(1px,.1vw,2px) #101815;filter:drop-shadow(4px 5px #b18a30)}.rank-label,.file-label{color:#18261db8;text-shadow:1px 1px #fff3;font-weight:900}.board-message{color:#fff3df;clip-path:none;background:#a44935;border:4px solid #713426;box-shadow:5px 5px #411d1585}.draw-claims{border:3px solid var(--wood-dark);background:#695238;justify-content:center;align-items:center;gap:8px;width:min(100%,770px);margin:0 auto 8px;padding:8px;display:flex;box-shadow:3px 3px #382719}.draw-claims span{color:#fff2c8;font:900 8px/1 var(--mono);letter-spacing:1px}.draw-claims button{border:3px solid var(--grass-dark);color:#172515;background:var(--chess-gold);cursor:pointer;min-height:32px;font:900 8px/1 var(--display);padding:0 10px;box-shadow:2px 2px #6b4d22}.draw-claims button:disabled{cursor:wait;opacity:.6}.game-sidebar{gap:20px}.side-card{border-color:var(--stone-dark);padding:20px;box-shadow:inset 0 5px #ffffff1a,7px 7px #0f1b1994}.invite-card{border-color:var(--grass-dark)}.seat-card{background-color:#596566;border-color:#8c692b}.invite-field{font-size:9px}.side-heading{border-bottom:4px solid #2a3939}.side-heading span{color:#e9f8ca;background:#526a48;border:3px solid #3f5138}.move-list li{border-bottom:2px solid #19272580}.move-list li span{color:#c5d1c3}.move-list li b{color:#fff8dc}.rules-card{border-color:var(--grass-dark);background:linear-gradient(90deg,#ffffff0a 1px,#0000 1px) 0 0/24px 24px,#4c6942}.rules-card>span{border:3px solid var(--grass-dark);color:#1b2a18;clip-path:none;background:#a4e360;box-shadow:3px 3px #2c5027}.loading-block{color:#ddffad;text-shadow:4px 4px #233f2a}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b1310db}.promotion-card{border:5px solid var(--wood-dark);color:var(--text);background:var(--wood);clip-path:none;box-shadow:inset 0 5px #ffffff1f,9px 9px #121b179e}.promotion-card p{color:var(--chess-gold);text-shadow:3px 3px 0 var(--wood-dark);font-style:normal}.promotion-card>div button{border:4px solid var(--stone-dark);color:var(--text);background:var(--stone);clip-path:none;box-shadow:inset 0 4px #ffffff1a,4px 4px #1d2a2a}.promotion-card>div button:hover,.promotion-card>div button:focus-visible{border-color:var(--chess-gold);color:var(--chess-gold);background:#5b5f48}.cancel-promotion{border-bottom:3px solid var(--wood-dark);color:#fff0bd}.mode-fieldset{border:0;min-width:0;margin:23px 0 0;padding:0}.mode-fieldset legend{color:var(--muted);font:700 9px/1 var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin:0 0 10px}.mode-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-options label{border:4px solid var(--stone-dark);min-height:88px;color:var(--text);background:var(--stone);cursor:pointer;text-transform:none;grid-template-rows:auto auto;grid-template-columns:32px 1fr;align-content:center;column-gap:9px;margin:0;padding:13px;display:grid;position:relative;box-shadow:inset 0 4px #ffffff1a,4px 4px #1d2a2a}.mode-options label.selected{border-color:var(--grass-dark);background:#547548;box-shadow:inset 0 4px #ffffff1f,4px 4px #294126}.mode-options label.disabled{cursor:not-allowed;filter:grayscale(.38);opacity:.52}.mode-options input{opacity:0;width:1px;min-height:1px;position:absolute}.mode-options label:focus-within{outline:3px solid var(--chess-gold);outline-offset:3px}.mode-options label>span{border:3px solid var(--dirt-dark);color:#25321d;background:var(--chess-gold);width:31px;height:31px;font:900 14px/1 var(--display);grid-row:1/3;align-self:center;place-items:center;display:grid;box-shadow:3px 3px #6b4d22}.mode-options strong{font:900 12px/1 var(--display);letter-spacing:.5px;align-self:end}.mode-options small{color:#e1e8cf;font:600 9px/1.2 var(--ui);letter-spacing:0;align-self:start;margin-top:5px}.difficulty-control{border:4px solid var(--dirt-dark);background:#695238;margin-top:18px;padding:15px;box-shadow:inset 0 4px #ffffff17,4px 4px #382719}.difficulty-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.difficulty-heading label{color:#fff2c8;margin:0}.difficulty-heading output{color:var(--chess-gold);font:900 10px/1 var(--mono);white-space:nowrap}.difficulty-control input[type=range]{clip-path:none;width:100%;min-height:28px;accent-color:var(--teal-spark);cursor:pointer;background:0 0;border:0;margin:9px 0 0;padding:0}.difficulty-control input[type=range]:focus-visible{outline:3px solid var(--chess-gold);outline-offset:2px}.difficulty-scale{color:#d8d0ba;font:800 7px/1 var(--mono);letter-spacing:1px;justify-content:space-between;display:flex}.pace-fieldset{border:4px solid var(--dirt-dark);background:#695238;min-width:0;margin:18px 0 0;padding:15px;box-shadow:inset 0 4px #ffffff17,4px 4px #382719}.pace-fieldset legend{color:#fff2c8;font:800 9px/1 var(--mono);letter-spacing:1px;text-transform:uppercase;padding:0 4px}.pace-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pace-options label{color:#fff2c8;cursor:pointer;text-align:center;background:#4b3b2b;border:3px solid #3e3021;place-content:center;gap:3px;min-height:54px;margin:0;display:grid}.pace-options label.selected{border-color:var(--grass-dark);color:#172515;background:var(--chess-gold);box-shadow:3px 3px #6b4d22}.pace-options input{opacity:0;width:1px;min-height:1px;position:absolute}.pace-options label:focus-within{outline:3px solid var(--electric-blue);outline-offset:2px}.pace-options strong{font:900 18px/1 var(--display)}.pace-options small{font:900 7px/1 var(--mono)}.pace-fieldset>p{color:#f0e2c2;font:650 9px/1.4 var(--ui);margin:11px 0 0}.piece{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.board-wrap[data-interactive=true] .piece{cursor:grab;touch-action:none}.board-wrap[data-interactive=true] .piece:active{cursor:grabbing}.piece.dragging{opacity:.24;transform:translate(-2px,-3px)scale(.88)}.square.drag-over:before{z-index:2;content:"";border:5px solid #ddff86;position:absolute;inset:3px;box-shadow:inset 0 0 0 3px #28482085,0 0 14px #c2ff6c80}.drag-ghost{z-index:100;pointer-events:none;filter:drop-shadow(8px 11px 4px #0000007a);place-items:center;width:clamp(48px,9vw,84px);height:clamp(48px,9vw,84px);font-family:Arial Unicode MS,Segoe UI Symbol,"Noto Sans Symbols 2",Georgia,serif;font-size:clamp(43px,8vw,78px);line-height:1;display:grid;position:fixed;transform:translate(-50%,-58%)scale(1.08)}.piece-arriving{animation:.19s cubic-bezier(.2,.78,.24,1) both piece-arrive}.square.capture-impact:after{z-index:4;content:"";pointer-events:none;border:clamp(3px,.6vw,6px) solid #ff517f;animation:.22s ease-out both capture-impact;position:absolute;inset:8%;box-shadow:0 0 18px #ff2e6ec2,inset 0 0 18px #ffc4005c}@keyframes piece-arrive{0%{opacity:.72;transform:translate(var(--move-x), var(--move-y)) scale(.92)}72%{transform:translate(0)scale(1.04)}to{opacity:1;transform:none}}@keyframes capture-impact{0%{opacity:1;transform:scale(.65)rotate(4deg)}to{opacity:0;transform:scale(1.18)rotate(0)}}@keyframes check-pulse{0%{filter:brightness()}to{filter:brightness(1.2)}}@media (width<=980px){.hero-grid{grid-template-columns:1fr;max-width:780px}.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center}.hero-text{margin-left:auto;margin-right:auto}.recent-grid{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:minmax(0,1fr);max-width:830px}.game-sidebar{grid-template-columns:1fr 1fr;padding-top:7px}.rules-card{grid-column:1/-1}}@media (width<=620px){.topbar{height:56px;padding:0 10px}.topbar:after{left:10px}.brand{gap:7px}.brand-mark{width:34px;height:34px}.brand-mark>span{font-size:21px}.brand-mark:after{inset:8px 14px 4px}.brand-name{font-size:27px}.brand-copy small,.top-tag{display:none}.hero-grid{gap:38px;min-height:auto;padding:55px 16px 66px}.hero-copy h1{font-size:clamp(52px,16.5vw,82px)}.hero-text{margin-top:25px;font-size:15px}.create-card{padding:26px 20px}.mode-options{grid-template-columns:1fr}.mode-options label{min-height:72px}.recent-section{padding:0 16px 56px}.recent-grid{grid-template-columns:1fr}.join-stage{min-height:calc(100vh - 56px);padding:43px 13px 68px}.join-card,.state-card{padding:38px 21px}.challenge-mark span{width:55px;height:55px;font-size:38px}.challenge-mark b{width:36px;height:36px}.game-topbar .home-link{min-height:37px;font-size:10px}.game-layout{padding:9px 5px max(86px, calc(env(safe-area-inset-bottom) + 74px));gap:18px}.match-banner{grid-template-columns:1fr 38px 1fr;min-height:46px;margin:0 5px 7px}.player-card{grid-template-columns:21px minmax(0,1fr) 10px;gap:5px;padding:4px 5px}.player-piece{font-size:21px}.player-card strong{max-width:118px;font-size:13px}.player-card small{letter-spacing:.2px;font-size:9px}.versus{padding:7px;font-size:8px}.turn-panel{min-height:54px;margin:0 3px 8px;padding:8px 10px}.turn-panel>span{width:32px;height:32px}.turn-panel>b{display:none}.turn-panel strong{font-size:17px}.board-wrap{padding:4px}.piece{font-size:clamp(31px,11.6vw,54px)}.rank-label,.file-label{font-size:8px}.game-sidebar{grid-template-columns:1fr;padding:0 3px}.rules-card{grid-column:auto}.moves-card{max-height:300px}}.activity-trigger{top:max(12px, env(safe-area-inset-top));right:max(68px, calc(68px + env(safe-area-inset-right)));z-index:30;border:2px solid var(--theme-card-border,var(--stone-dark));width:46px;min-height:46px;color:var(--text);background:var(--surface-raised);box-shadow:0 5px 0 var(--theme-frame-border,var(--stone-dark)), 0 10px 24px #00000052;cursor:pointer;font:900 18px/1 var(--display);place-items:center;display:grid;position:fixed}.activity-trigger b{border:2px solid var(--riot-black);color:#172515;background:var(--chess-gold);min-width:20px;height:20px;font:900 8px/1 var(--mono);border-radius:10px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-7px;right:-7px}.activity-trigger:focus-visible,.friend-row-actions button:focus-visible,.friend-safety-button:focus-visible,.pending-friends button:focus-visible{outline:3px solid var(--electric-blue);outline-offset:2px}.activity-dialog{border:4px solid var(--theme-card-border,var(--stone-dark));width:min(520px,100% - 24px);max-height:min(760px,100dvh - 24px);color:var(--text);background:var(--theme-card,var(--surface));margin:12px 12px 12px auto;padding:0;box-shadow:-14px 0 50px #00000073}.activity-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03060ebd}.activity-panel{grid-template-rows:auto 1fr auto;min-height:min(700px,100dvh - 32px);display:grid}.activity-panel>header,.safety-card>header{border-bottom:2px solid var(--theme-card-border,var(--stone-dark));justify-content:space-between;align-items:start;gap:14px;padding:20px;display:flex}.activity-panel>header p,.safety-card>header p{color:var(--electric-blue);font:900 8px/1 var(--mono);letter-spacing:1px;margin:0 0 5px}.activity-panel>header h2,.safety-card>header h2{font:900 30px/1 var(--display);margin:0}.activity-panel>header button,.safety-card>header button{border:2px solid var(--theme-card-border,var(--stone-dark));width:36px;min-height:36px;color:var(--text);background:var(--surface-raised);cursor:pointer;font-size:24px}.activity-list{align-content:start;gap:7px;padding:13px;display:grid;overflow:auto}.activity-item{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.activity-item[data-unread=true]{border-left:5px solid var(--electric-blue)}.activity-icon{color:#172515;background:var(--chess-gold);width:38px;height:38px;font:900 18px/1 var(--display);place-items:center;display:grid}.activity-item strong,.activity-item p,.activity-item small{margin:0;display:block}.activity-item strong{font:900 12px/1.2 var(--ui)}.activity-item p{color:var(--muted);font:650 10px/1.35 var(--ui);margin-top:3px}.activity-item small{color:var(--electric-blue);font:900 7px/1 var(--mono);margin-top:5px}.activity-item>a,.activity-actions button{border:2px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);cursor:pointer;min-height:34px;font:900 8px/1 var(--mono);place-items:center;padding:0 9px;text-decoration:none;display:grid}.activity-actions{gap:4px;display:grid}.activity-actions button:last-child{color:var(--text);background:0 0}.activity-empty{min-height:240px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:7px;margin:0;display:grid}.activity-empty>span{color:var(--chess-gold);font-size:36px}.activity-empty>strong{color:var(--text);font:900 15px/1 var(--mono)}.activity-empty>p{max-width:260px;font:650 11px/1.4 var(--ui);margin:0}.activity-message{border-top:2px solid var(--theme-card-border,var(--stone-dark));color:var(--muted);font:700 10px/1.3 var(--ui);margin:0;padding:10px 14px}.friend-row-actions{gap:5px;display:flex}.friend-list button,.friend-safety-button,.pending-friends button{border:2px solid var(--theme-frame-border,var(--stone-dark));min-height:32px;color:var(--text);background:var(--surface);cursor:pointer;font:900 8px/1 var(--mono);padding:0 9px}.friend-safety-button{min-width:34px;padding:0 5px}.pending-friends{gap:6px;margin-top:14px;display:grid}.pending-friends>strong{color:var(--chess-gold);font:900 8px/1 var(--mono)}.pending-friends>div{border:2px solid var(--theme-card-border,var(--stone-dark));color:var(--muted);background:var(--surface-raised);font:800 10px/1 var(--mono);justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.safety-dialog{z-index:100;background:#03060ec2;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:16px;position:fixed;inset:0}.safety-dialog[open]{place-items:center;display:grid}.safety-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03060ec2}.safety-card{border:4px solid var(--theme-card-border,var(--stone-dark));width:min(100%,520px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--theme-card,var(--surface));overflow:auto;box-shadow:8px 8px #00000073}.safety-account-actions{border-bottom:2px solid var(--theme-card-border,var(--stone-dark));grid-template-columns:1fr 1fr;gap:7px;padding:15px;display:grid}.safety-account-actions button,.safety-card form button{border:2px solid var(--theme-frame-border,var(--stone-dark));min-height:40px;color:var(--text);background:var(--surface-raised);cursor:pointer;font:900 8px/1 var(--mono)}.safety-account-actions>small{color:var(--muted);font:650 9px/1.35 var(--ui);grid-column:1/-1}.safety-card form{gap:8px;padding:15px;display:grid}.safety-card form h3{font:900 20px/1 var(--display);margin:0 0 4px}.safety-card form label{color:var(--chess-gold);font:900 8px/1 var(--mono)}.safety-card form select,.safety-card form textarea{border:2px solid var(--theme-card-border,var(--stone-dark));width:100%;min-height:42px;color:var(--text);background:var(--surface-raised);font:700 11px/1.35 var(--ui);padding:9px}.safety-card form textarea{resize:vertical}.safety-card form>small{color:var(--muted);font:650 9px/1.35 var(--ui)}.safety-card form>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.safety-card .form-error,.safety-card .form-success{margin:0 15px 15px}.tutorial-dialog{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0}.tutorial-dialog::backdrop{background:var(--background,var(--riot-black))}.tutorial-card{border:4px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));gap:13px;width:min(620px,100% - 24px);max-height:calc(100dvh - 24px);margin:12px auto;padding:clamp(18px,4vw,30px);display:grid;overflow:auto;box-shadow:8px 8px #00000073}.tutorial-card>header{justify-content:space-between;align-items:start;gap:12px;display:flex}.tutorial-card>header p{color:var(--electric-blue);font:900 8px/1 var(--mono);letter-spacing:1px;margin:0 0 6px}.tutorial-card>header h2{font:900 clamp(27px,6vw,39px)/1 var(--display);margin:0}.tutorial-card>header button{min-height:34px;color:var(--muted);cursor:pointer;font:900 8px/1 var(--mono);background:0 0;border:0}.tutorial-board{aspect-ratio:1;border:4px solid var(--theme-frame-border,var(--stone-dark));grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);width:min(100%,330px);margin:0 auto;display:grid;position:relative}.tutorial-square{background:color-mix(in srgb,var(--surface-raised) 88%,white)}.tutorial-square:nth-child(16n+1),.tutorial-square:nth-child(16n+3),.tutorial-square:nth-child(16n+5),.tutorial-square:nth-child(16n+7),.tutorial-square:nth-child(16n+10),.tutorial-square:nth-child(16n+12),.tutorial-square:nth-child(16n+14),.tutorial-square:nth-child(16n+16){background:color-mix(in srgb,var(--chess-gold) 36%,var(--surface))}.tutorial-piece{z-index:2;background:0 0;border:0;place-items:center;width:100%;height:100%;display:grid}.tutorial-piece svg{width:78%;height:78%}.tutorial-knight{cursor:pointer;grid-area:8/2}.tutorial-target-piece{grid-area:6/3}.tutorial-target{z-index:3;border:3px solid var(--electric-blue);background:color-mix(in srgb,var(--electric-blue) 32%,transparent);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-self:center;width:72%;height:72%}.tutorial-board[data-selected=true] .tutorial-target{opacity:1}.tutorial-board .tutorial-target:not(:disabled){pointer-events:auto}.tutorial-board[data-moved=true] .tutorial-target{opacity:0;pointer-events:none}.tutorial-copy{color:var(--muted);font:650 12px/1.5 var(--ui);text-align:center;margin:0}.tutorial-progress{justify-content:center;gap:6px;display:flex}.tutorial-progress span{background:var(--theme-card-border,var(--stone-dark));width:28px;height:4px}.tutorial-progress span[data-active=true]{background:var(--electric-blue)}.tutorial-card>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.tutorial-card>footer>div{gap:7px;display:flex}.tutorial-card>footer button{min-height:42px}.tutorial-inbox-preview{gap:6px;display:grid}.tutorial-inbox-preview>div{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.tutorial-inbox-preview>div>span{color:#172515;background:var(--chess-gold);place-items:center;width:34px;height:34px;display:grid}.tutorial-inbox-preview p{margin:0}.tutorial-inbox-preview strong,.tutorial-inbox-preview small{display:block}.tutorial-inbox-preview small{color:var(--muted);font:650 9px/1.3 var(--ui);margin-top:3px}.tutorial-inbox-preview b{color:var(--electric-blue);font:900 8px/1 var(--mono)}.privacy-center-shell{min-height:100dvh;color:var(--text);background:var(--background,var(--riot-black))}.privacy-center-topbar{justify-content:space-between}.privacy-center-heading{justify-content:space-between;align-items:end;gap:16px;width:min(1050px,100% - 32px);margin:0 auto;padding:clamp(32px,6vw,62px) 0 22px;display:flex}.privacy-center-heading p,.privacy-center-card>div>p{color:var(--electric-blue);font:900 8px/1 var(--mono);letter-spacing:1px;margin:0 0 7px}.privacy-center-heading h1{font:900 clamp(38px,7vw,66px)/.95 var(--display);margin:0}.privacy-center-heading>span{color:var(--chess-gold);font:900 11px/1 var(--mono)}.privacy-center-grid{grid-template-columns:1fr 1fr;gap:16px;width:min(1050px,100% - 32px);margin:0 auto;display:grid}.privacy-center-card{border:4px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));align-content:start;gap:12px;padding:clamp(18px,3vw,27px);display:grid;box-shadow:5px 5px #00000057}.privacy-center-card h2{font:900 clamp(24px,4vw,32px)/1 var(--display);margin:0}.privacy-center-card>p{color:var(--muted);font:650 12px/1.5 var(--ui);margin:0}.privacy-center-icon{color:#172515;background:var(--chess-gold);width:48px;height:48px;font:900 24px/1 var(--display);place-items:center;display:grid}.privacy-center-card>a{width:fit-content;text-decoration:none}.privacy-delete-card{border-color:color-mix(in srgb,#ff6b69 72%,var(--theme-card-border));grid-column:1/-1}.privacy-delete-card>label{color:var(--chess-gold);font:900 8px/1.3 var(--mono)}.privacy-delete-card>input{border:3px solid var(--theme-card-border,var(--stone-dark));min-height:46px;color:var(--text);background:var(--surface-raised);font:800 13px/1 var(--mono);padding:0 11px}.danger-button{cursor:pointer;min-height:42px;font:900 9px/1 var(--mono);padding:0 13px;color:#fff!important;background:#8c2227!important;border:3px solid #ff6b69!important}.blocked-player-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.blocked-player-list li{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);font:800 10px/1 var(--mono);justify-content:space-between;align-items:center;gap:9px;padding:9px;display:flex}.blocked-player-list button{border:2px solid var(--theme-frame-border,var(--stone-dark));min-height:32px;color:var(--text);cursor:pointer;font:900 8px/1 var(--mono);background:0 0}.privacy-center-message,.privacy-center-policy{width:min(1050px,100% - 32px);margin:14px auto 0}.privacy-center-policy{color:var(--muted);font:650 10px/1.4 var(--ui);padding-bottom:50px}.privacy-center-policy a{color:var(--text)}@media (width<=700px){.activity-dialog{width:100%;max-height:calc(100dvh - 56px);margin:56px 0 0}.activity-panel{min-height:calc(100dvh - 64px)}.activity-item{grid-template-columns:36px minmax(0,1fr)}.activity-item>a,.activity-actions{grid-column:2}.activity-actions{grid-template-columns:1fr 1fr}.privacy-center-heading{flex-direction:column;align-items:start}.privacy-center-grid{grid-template-columns:1fr}.privacy-delete-card{grid-column:1}.tutorial-card>footer,.tutorial-card>footer>div{flex-direction:column;align-items:stretch}.tutorial-card>footer>span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.piece-arriving,.square.capture-impact:after,.square.king-in-check{animation:none!important}}@media (prefers-contrast:more){:root{--muted:#f2f4e9}:is(button,a,input,select,textarea):focus-visible{outline:4px solid var(--chess-gold)!important;outline-offset:3px!important}.auth-card,.dashboard-card,.side-card,.privacy-center-card{border-width:5px}}@media (forced-colors:active){.primary-button,.secondary-button,.quiet-button,button{forced-color-adjust:auto}.legal-target:after,.capture-target:after{border:3px solid highlight}}@media (pointer:coarse){:is(.primary-button,.secondary-button,.quiet-button,.google-sign-in,.public-play-button,.activity-trigger,.friend-row-actions button,.friend-safety-button,.history-controls button,.mobile-game-tools button,.side-panel-close){min-width:44px;min-height:44px}}html[data-performance=low] :is(.public-board>span>i,.pulse,.status-lamp,.auth-glyph){animation:none!important}html[data-performance=low] :is(){background-image:none!important}html[data-performance=low] :is(.auth-card,.dashboard-card,.privacy-center-card,.public-board-card,.side-card){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:2px 2px #0000004d!important}.start-stage{place-items:center;width:min(100%,600px);min-height:calc(100vh - 80px);margin:0 auto;padding:clamp(28px,6vw,70px) 18px;display:grid}.start-stage .create-card{width:100%;padding:clamp(24px,5vw,38px)}.start-stage .create-card h1{color:var(--text);font:italic clamp(38px, 8vw, 55px)/.95 var(--display);letter-spacing:.4px;text-transform:uppercase;margin:15px 0 24px}.start-stage .mode-options label{min-height:82px}.start-stage .mode-options label small{margin-top:4px}.start-stage .primary-button{margin-top:16px}.home-shell .recent-section{width:min(100%,900px);padding-bottom:60px}.home-shell footer a{color:inherit;text-decoration:none}.home-shell footer a:hover{color:var(--electric-blue)}.changelog-shell{min-height:100vh;color:var(--text);background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff09 1px, transparent 1px), radial-gradient(circle at 18% 8%, #00e5ff14, transparent 28rem), var(--riot-black);background-size:32px 32px,32px 32px,auto,auto;position:relative;overflow:hidden}.changelog-page{width:min(100%,960px);margin:0 auto;padding:clamp(48px,8vw,90px) 18px 90px}.changelog-heading{margin-bottom:38px}.changelog-heading h1{font:italic clamp(48px, 9vw, 82px)/.88 var(--display);letter-spacing:-.5px;margin:0}.changelog-heading>p:not(.eyebrow){color:#c4cde0;max-width:680px;font:500 15px/1.55 var(--ui);margin:18px 0}.changelog-heading>a,.release-card a{color:var(--electric-blue);font:800 9px/1.35 var(--mono);letter-spacing:.7px;text-decoration:none}.release-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.release-card{clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);background:linear-gradient(145deg,#17233af5,#090f1ef7);border:1px solid #91a0b842;grid-template-columns:145px 1fr;gap:28px;padding:clamp(21px,4vw,32px);display:grid}.release-card.latest{border-color:#00e5ff8a;box-shadow:0 0 28px #00e5ff12}.release-meta{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.release-meta>span{color:var(--chess-gold);font:italic 31px/1 var(--display)}.release-meta>b{color:#001b1f;background:var(--teal-spark);font:900 7px/1 var(--mono);padding:5px 7px}.release-meta time{color:var(--muted);font:700 9px/1 var(--mono)}.release-card h2{font:italic 26px/1 var(--display);text-transform:uppercase;margin:0}.release-card p{color:#c5d0e2;font:500 13px/1.5 var(--ui);margin:10px 0 12px}.release-card ul{color:#aebbd1;font:500 12px/1.45 var(--ui);gap:6px;margin:0 0 17px;padding-left:17px;display:grid}.feedback-actions{grid-template-columns:auto 1fr;gap:9px;margin-top:19px;display:grid}.feedback-actions .primary-button{margin:0}.feedback-cancel{min-height:52px;color:var(--muted);cursor:pointer;font:800 9px/1 var(--mono);background:0 0;border:1px solid #536077;padding:0 18px}.feedback-message{color:var(--teal-spark);font:700 11px/1.4 var(--ui);margin:13px 0 0}.feedback-inline-form{gap:9px;display:grid}.feedback-inline-form label{margin-top:4px}.feedback-inline-form textarea{resize:vertical;width:100%;color:var(--text);background:color-mix(in srgb,var(--riot-black) 82%,transparent);font:600 13px/1.4 var(--ui);border:1px solid #91a0b86b;padding:11px}.feedback-inline-form .feedback-actions{grid-template-columns:1fr}.contribute-link{color:var(--muted);font:700 9px/1.45 var(--mono);margin-top:18px;display:inline-block}@media (width<=620px){.start-stage{min-height:calc(100vh - 56px);padding:22px 12px 44px}.start-stage .create-card{padding:24px 18px}.start-stage .mode-options{grid-template-columns:1fr 1fr}.start-stage .mode-options label{min-height:76px;padding:12px 8px}.start-stage .mode-options label>span{font-size:17px}.start-stage .mode-options label small{font-size:8px}.release-card{grid-template-columns:1fr;gap:18px}.release-meta{flex-flow:wrap;align-items:center}}.match-banner{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);min-height:70px}.match-banner>.player-card,.match-banner>.player-card.you-player{border:3px solid var(--stone-dark);text-align:left;background:#3a4948e6;grid-template-columns:32px minmax(0,1fr) 12px;align-items:center;gap:9px;min-width:0;padding:7px 9px;display:grid;box-shadow:inset 0 3px #ffffff14,3px 3px #141f1d8c}.match-banner>.player-card.you-player{border-color:var(--grass-dark);background:#507344f0}.match-banner .player-card>div{min-width:0}.match-banner .player-card small,.match-banner .player-card strong,.match-banner .player-card.you-player small,.match-banner .player-card.you-player strong{text-overflow:ellipsis;white-space:nowrap;grid-column:auto;min-width:0;max-width:none;display:block;overflow:hidden}.match-banner .player-card small{color:#fff2c8;font:900 11px/1.15 var(--mono);letter-spacing:.45px}.match-banner .player-card strong{margin-top:4px;font-size:16px}.player-piece{place-items:center;font:900 29px/1 Arial Unicode MS,Segoe UI Symbol,"Noto Sans Symbols 2",Georgia,serif;display:grid;position:static}.turn-panel small{font-size:10px}.turn-panel.check{background:#a44935;border-color:#7b291f;box-shadow:inset 0 4px #ffffff1a,0 5px #63281f,0 0 0 3px #ffd65a29}.turn-panel.check>span{color:#2d150f;background:var(--chess-gold);border-color:#6f261d;box-shadow:3px 3px #6f261d}.turn-panel.check small,.turn-panel.check strong{color:#fff8dc}.square.king-in-check:after{z-index:2;content:"";pointer-events:none;background:#b3261847;border:clamp(4px,.65vw,7px) solid #ff4f45;animation:.85s ease-in-out infinite alternate king-check;position:absolute;inset:4px;box-shadow:inset 0 0 0 3px #ffdd7061,0 0 18px #ff372db8}@keyframes king-check{0%{opacity:.72}to{opacity:1}}.board-wrap{container-type:inline-size}.actions-card{gap:10px;display:grid}.actions-card .secondary-button{width:100%;min-height:46px}.quiet-button,.danger-button{border:3px solid var(--stone-dark);cursor:pointer;width:100%;min-height:42px;font:900 9px/1.15 var(--mono);padding:8px 12px}.quiet-button{color:#f8f2d8;background:#455557;box-shadow:0 4px #273537}.danger-button{color:#fff4d7;background:#a44935;border-color:#6e2a20;box-shadow:0 4px #6e2a20}.quiet-button:disabled,.danger-button:disabled{cursor:wait;opacity:.62}.end-confirm{gap:8px;padding-top:2px;display:grid}.end-confirm p{margin:0 0 3px}.rules-card small{font-size:10px;line-height:1.4}@media (width>=981px){.game-layout{gap:22px;min-height:calc(100dvh - 80px);padding-top:12px;padding-bottom:12px}.board-wrap{width:min(100%,770px,100dvh - 310px)}.game-sidebar{overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 104px);overflow-y:auto}}@media (width>=981px) and (height<=1115px){.game-topbar{height:60px;min-height:60px}.game-topbar .brand-mark{width:40px;height:40px}.game-topbar .brand-name{font-size:30px}.game-layout{gap:20px;padding:8px 22px 12px}.match-banner{min-height:50px;margin-bottom:4px}.match-banner>.player-card,.match-banner>.player-card.you-player{padding-top:5px;padding-bottom:5px}.turn-panel{min-height:46px;margin-bottom:4px;padding-top:5px;padding-bottom:5px}.turn-panel>span{width:31px;height:31px}.board-wrap{border-width:4px;width:min(100%,650px,100dvh - 314px);padding:7px}.game-sidebar{max-height:calc(100dvh - 136px);padding-top:0}}.magic-box{border:4px solid var(--stone-dark);background:color-mix(in srgb, var(--surface) 90%, black);margin-top:16px;box-shadow:inset 0 4px #ffffff12,4px 4px #121b1773}.magic-box.enabled{background:linear-gradient(135deg, #cd9bff1f, transparent 52%), color-mix(in srgb, var(--surface) 92%, black);border-color:#795aa6}.magic-toggle{cursor:pointer;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:9px 12px;display:grid}.magic-toggle input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.magic-toggle>span{color:#2a183d;width:34px;height:34px;font:900 19px/1 var(--display);background:#d9a7ff;border:3px solid #58436f;place-items:center;display:grid;box-shadow:3px 3px #4e3863}.magic-toggle strong,.magic-toggle small{display:block}.magic-toggle strong{color:#f1d8ff;font:900 13px/1 var(--mono)}.magic-toggle small{color:var(--muted);font:700 10px/1.25 var(--ui);margin-top:4px}.magic-toggle>b{color:#c9bdd3;min-width:42px;font:900 8px/1 var(--mono);text-align:center;background:#302a38;border:2px solid #4a3c59;padding:6px 7px}.magic-box.enabled .magic-toggle>b{color:#281633;background:#d9a7ff;border-color:#795aa6}.magic-box.coming-soon{background:linear-gradient(135deg, #cd9bff14, transparent 52%), color-mix(in srgb, var(--surface) 92%, black);border-color:#58436f}.magic-box.coming-soon .magic-toggle{cursor:default}.magic-box.coming-soon .magic-toggle>b{color:#281633;background:#d9a7ff;border-color:#795aa6}.magic-coming-soon{color:#eadcf3;background:#462f5961;border:2px dashed #795aa6;gap:5px;margin:0 12px 12px;padding:11px 12px;display:grid}.magic-coming-soon strong{font:900 11px/1 var(--mono)}.magic-coming-soon p{color:var(--muted);font:700 10px/1.4 var(--ui);margin:0}.magic-access-request{color:#281633;cursor:pointer;width:fit-content;min-height:38px;font:900 9px/1 var(--mono);background:#d9a7ff;border:2px solid #d9a7ff;margin-top:4px;padding:0 12px;box-shadow:3px 3px #4e3863}.magic-access-request:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.magic-access-request:focus-visible{outline:3px solid var(--chess-gold);outline-offset:3px}.magic-access-request:disabled{cursor:wait;opacity:.65}.magic-coming-soon .magic-access-message{color:#eadcf3}.magic-prompt{gap:7px;padding:0 12px 12px;display:grid}.magic-prompt>label{font:800 10px/1 var(--ui)}.magic-prompt textarea{resize:vertical;width:100%;color:var(--text);font:700 13px/1.4 var(--ui);background:#211d28;border:3px solid #4b3a5c;padding:11px 12px;box-shadow:inset 3px 3px #00000047}.magic-prompt textarea:focus{border-color:#d9a7ff;outline:2px solid #d9a7ff40}.magic-prompt textarea::placeholder{color:#9c8fa8}.magic-prompt>small,.magic-error,.magic-understood p{font:700 10px/1.35 var(--ui);margin:0}.magic-prompt>small{color:var(--muted)}.magic-error{color:#ffd3c6}.magic-understood{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.magic-understood span{color:#281633;font:900 7px/1 var(--mono);background:#d9a7ff;padding:5px 6px}.magic-understood p{color:#eadcf3}.magic-apply-row{align-items:center;gap:10px;display:flex}.magic-apply-row .secondary-button{width:auto;min-width:148px;min-height:40px;margin:0}.magic-apply-row>small{color:#d9a7ff;font:800 9px/1.35 var(--mono)}.magic-world-selection{overflow-wrap:anywhere;color:#d9a7ff;font:750 9px/1.4 var(--mono);margin:0}.applied-world{color:#f1d8ff;background:#2d1c3cb8;border:2px solid #9f77cf;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.applied-world strong{font:900 10px/1 var(--mono)}.applied-world span{font:700 10px/1.3 var(--ui)}.applied-world a,.magic-world-browser-link{color:#d9a7ff;font:900 8px/1 var(--mono)}.magic-world-browser-link{justify-self:start}.magic-invite{color:#f1d8ff;background:#462f599e;border:3px solid #795aa6;gap:5px;margin:-13px 0 22px;padding:10px 12px;display:grid}.magic-invite strong{font:900 9px/1 var(--mono)}.magic-invite span{font:750 11px/1.35 var(--ui)}.magic-turn-actions{grid-template-columns:1fr auto;gap:7px;width:min(100%,770px);margin:0 auto 7px;display:grid}.magic-turn-actions .primary-button,.magic-turn-actions .quiet-button{min-height:40px;margin:0}.magic-turn-actions .quiet-button{width:auto;min-width:92px}@media (width<=620px){.magic-toggle{min-height:58px;padding:8px 9px}.magic-turn-actions{grid-template-columns:1fr 86px;width:100%}}@media (width>=621px) and (width<=980px) and (height<=900px){.game-layout{padding-top:8px;padding-bottom:max(86px, calc(env(safe-area-inset-bottom) + 74px))}.board-wrap{border-width:4px;width:min(100%,650px,max(280px,100dvh - 260px));padding:7px}}@media (width<=620px){.match-banner{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:4px;min-height:58px}.match-banner>.player-card,.match-banner>.player-card.you-player{grid-template-columns:24px minmax(0,1fr) 9px;gap:5px;padding:6px 5px}.player-piece{font-size:22px}.match-banner .player-card small{letter-spacing:0;font-size:10px}.match-banner .player-card strong{font-size:13px}.turn-panel small{font-size:9px}}@media (prefers-reduced-motion:reduce){.square.king-in-check:after{animation:none!important}}.public-shell{isolation:isolate;color:#fff8dc;background:radial-gradient(circle at 20% 12%,#63c8dd29,#0000 28rem),radial-gradient(circle at 88% 76%,#ffd65a1f,#0000 31rem),linear-gradient(145deg,#172d36 0%,#0d181b 58%,#17251f 100%);min-height:100dvh;position:relative;overflow:hidden}.public-shell:before{z-index:-1;pointer-events:none;content:"";background-color:#0000;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.public-topbar{background:#080f11eb;border-bottom-color:#ffd65a6b;height:76px}.public-nav-link{color:#cad5c5;min-height:40px;font:800 10px/1 var(--mono);letter-spacing:1.4px;border-bottom:1px solid #63c8ddb8;align-items:center;text-decoration:none;display:inline-flex}.public-nav{align-items:center;gap:clamp(14px,3vw,30px);display:flex}.public-nav-link:hover{color:#63c8dd}.public-nav-link:focus-visible,.public-play-button:focus-visible,.public-demo-link:focus-visible,.public-community-link:focus-visible{outline-offset:4px;outline:3px solid #ffd65a}.public-hero{grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);align-items:center;gap:clamp(48px,8vw,118px);width:min(100%,1380px);min-height:calc(100dvh - 76px);margin:0 auto;padding:clamp(54px,8vw,104px) clamp(20px,7vw,96px);display:grid}.public-copy{min-width:0}.public-eyebrow{color:#63c8dd;font:800 10px/1.2 var(--mono);letter-spacing:2.2px;align-items:center;gap:10px;margin:0 0 20px;display:flex}.public-eyebrow span{background:#63c8dd;width:22px;height:2px;box-shadow:0 0 12px #63c8ddb8}.public-copy h1{color:#fff8dc;font:italic clamp(62px,8vw,116px)/.84 var(--display);letter-spacing:clamp(-4px,-.2vw,-1px);text-transform:uppercase;text-shadow:0 12px 36px #0000006b;margin:0}.public-copy h1 em{color:#ffd65a;font-style:inherit}.public-copy>p:not(.public-eyebrow){color:#cad5c5;max-width:620px;font:600 clamp(16px,1.55vw,20px)/1.55 var(--ui);margin:30px 0 0}.public-play-button{color:#0d1618;width:min(100%,330px);min-height:58px;font:900 13px/1 var(--mono);letter-spacing:1.3px;clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);background:#ffd65a;justify-content:space-between;align-items:center;margin-top:34px;padding:0 24px;text-decoration:none;transition:transform .12s,filter .12s;display:flex;box-shadow:0 7px #8b6327,0 20px 45px #00000057}.public-play-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.public-play-button:active{transform:translateY(2px)}.public-play-button span{font-size:22px}.public-demo-link{color:#cad5c5;width:fit-content;min-height:42px;font:800 10px/1 var(--mono);letter-spacing:1px;border-bottom:1px solid #63c8ddb8;align-items:center;gap:10px;margin-top:20px;text-decoration:none;display:inline-flex}.public-demo-link:hover{color:#63c8dd}.public-demo-link span{color:#ffd65a}.public-community-link{color:#90d5b4;width:fit-content;min-height:38px;font:800 10px/1 var(--mono);letter-spacing:1px;align-items:center;gap:10px;margin-top:10px;text-decoration:none;display:flex}.public-community-link:hover{color:#b8f0d1}.public-community-link span{color:#ffd65a;font-size:15px}.public-copy ul{color:#9eb1ad;font:800 9px/1.3 var(--mono);letter-spacing:.8px;text-transform:uppercase;flex-wrap:wrap;gap:10px 24px;margin:32px 0 0;padding:0;list-style:none;display:flex}.public-copy li:before{color:#63c8dd;content:"◆";margin-right:7px}.public-board-card{clip-path:polygon(16px 0,calc(100% - 16px) 0,100% 16px,100% calc(100% - 16px),calc(100% - 16px) 100%,16px 100%,0 calc(100% - 16px),0 16px);background:linear-gradient(145deg,#223032f7,#0c1517fa);border:1px solid #63c8dd6b;padding:clamp(20px,3vw,30px);position:relative;transform:rotate(1.2deg);box-shadow:0 28px 80px #0000007a}.public-board-card:before{content:"";background:#ffd65a;width:92px;height:3px;position:absolute;top:0;right:30px;box-shadow:0 0 18px #ffd65ab8}.public-board{aspect-ratio:1;background:#d5c88e;border:7px solid #6e4c2d;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden;box-shadow:0 0 0 2px #241b13,inset 0 0 30px #0003}.public-board>*{color:#151b18;background:#d5c88e;place-items:center;min-width:0;font:clamp(23px,3.2vw,50px)/1 Georgia,serif;display:grid}.public-board>:nth-child(16n+2),.public-board>:nth-child(16n+4),.public-board>:nth-child(16n+6),.public-board>:nth-child(16n+8),.public-board>:nth-child(16n+9),.public-board>:nth-child(16n+11),.public-board>:nth-child(16n+13),.public-board>:nth-child(16n+15){background:#638348}.public-board>span,.public-board>b{color:#18211c;text-shadow:0 1px #ffffff47}.public-board>strong{color:#fff4ce;text-shadow:0 1px #5b4b32,0 0 4px #0000007a}.public-board-card>p{color:#cad5c5;font:800 9px/1 var(--mono);letter-spacing:1.2px;justify-content:space-between;margin:21px 2px 0;display:flex}.public-board-card>p span{color:#ffd65a}@media (width<=900px){.public-hero{grid-template-columns:1fr;gap:52px;min-height:auto;padding-top:62px}.public-board-card{justify-self:center;width:min(100%,560px)}}@media (width<=560px){.public-topbar{height:62px;padding:0 70px 0 16px}.public-topbar .brand-mark{width:40px;height:40px}.public-topbar .brand-name{font-size:30px}.public-nav-link{font-size:8px}.public-nav-link:last-child{display:none}.public-nav{gap:12px}.public-hero{padding:44px 16px 72px}.public-copy h1{font-size:clamp(51px,16.5vw,78px)}.public-copy ul{gap:10px;display:grid}.public-board-card{padding:16px}.public-board{border-width:5px}}@media (width<=380px){.public-nav{display:none}}.privacy-shell{min-height:100dvh;color:var(--text);background:var(--theme-page)}.privacy-card{border:1px solid var(--theme-card-border);background:var(--theme-card);border-radius:18px;width:min(760px,100% - 32px);margin:clamp(36px,7vw,76px) auto;padding:clamp(24px,5vw,52px);box-shadow:0 24px 70px #00000047}.privacy-card h1{color:var(--chess-gold);font:italic clamp(52px, 10vw, 86px)/.88 var(--display);margin:0 0 28px}.privacy-card h2{color:var(--electric-blue);font:900 18px/1.1 var(--display);text-transform:uppercase;margin:30px 0 9px}.privacy-card p,.privacy-card li{color:var(--muted);font:650 15px/1.65 var(--ui)}.privacy-card ul{gap:8px;padding-left:22px;display:grid}.privacy-card a{color:var(--electric-blue)}.privacy-contact{border-top:1px solid var(--theme-card-border);padding-top:18px}.legal-nav{align-items:center;gap:18px;display:flex}.auth-gate-card .primary-button{margin-top:0}.auth-gate-links{font:850 10px/1 var(--ui);letter-spacing:1px;justify-content:center;gap:18px;margin-top:22px;display:flex}.auth-gate-links a{color:var(--muted)}.auth-gate-links a:hover{color:var(--electric-blue)}.demo-shell{min-height:100dvh;color:var(--text);background:radial-gradient(circle at 16% 7%,#63c8dd26,#0000 27rem),radial-gradient(circle at 88% 84%,#ffd65a1a,#0000 30rem),linear-gradient(145deg,#172d36,#0d181b 62%,#17251f)}.demo-topbar{background:#080f11f0;border-bottom-color:#ffd65a6b;height:64px}.demo-page{width:100%;margin:0;padding:clamp(12px,2vh,20px) 0 52px}.demo-heading,.demo-transcript,.demo-actions{width:min(94vw,1180px);margin-left:auto;margin-right:auto}.demo-heading{align-items:baseline;gap:16px;display:flex}.demo-heading h1{font:900 clamp(18px,1.8vw,28px)/1.1 var(--display);letter-spacing:-.02em;flex:none;margin:0}.demo-heading>p:last-child{max-width:60ch;color:var(--muted);font:650 13px/1.45 var(--ui);margin:0}.demo-player-card{clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);background:#080f11db;border:1px solid #63c8dd70;width:94vw;margin:12px auto 0;padding:clamp(6px,.5vw,10px);box-shadow:0 30px 90px #00000073}.demo-video-frame{aspect-ratio:16/9;background:#05090d;position:relative;overflow:hidden}.demo-video-frame video{object-fit:contain;width:100%;height:100%;display:block}.demo-video-finish{z-index:2;color:#fff;text-align:center;background:#03060ed1;place-content:center;justify-items:center;gap:16px;padding:20px;display:grid;position:absolute;inset:0}.demo-video-finish strong{font:900 clamp(24px,5vw,46px)/1 var(--display)}.demo-video-finish a{text-decoration:none}.demo-video-frame video:focus-visible,.demo-transcript summary:focus-visible{outline:3px solid var(--chess-gold);outline-offset:3px}.demo-player-meta{color:#9eb1ad;font:800 9px/1.35 var(--mono);letter-spacing:.7px;flex-wrap:wrap;gap:8px 22px;padding:13px 4px 1px;display:flex}.demo-player-meta span:before{color:var(--electric-blue);content:"◆";margin-right:7px}.demo-transcript{background:#080f119e;border:1px solid #63c8dd47;margin-top:16px}.demo-transcript summary{color:var(--electric-blue);cursor:pointer;font:850 10px/1.2 var(--mono);letter-spacing:1px;padding:14px 18px}.demo-transcript>div{gap:10px;padding:0 18px 18px;display:grid}.demo-transcript p{max-width:860px;color:var(--muted);font:650 13px/1.55 var(--ui);margin:0}.demo-actions{align-items:center;gap:clamp(20px,4vw,42px);margin-top:34px;display:flex}.demo-actions .public-play-button{flex:0 0 min(100%,330px);margin-top:0}.demo-actions p{color:#9eb1ad;max-width:560px;font:650 12px/1.5 var(--ui);margin:0}@media (width<=680px){.demo-topbar{height:62px;padding:0 70px 0 16px}.demo-topbar .brand-mark{width:40px;height:40px}.demo-topbar .brand-name{font-size:30px}.demo-heading{flex-direction:column;align-items:flex-start;gap:5px}.demo-actions{flex-direction:column;align-items:flex-start}.demo-actions .public-play-button{flex-basis:auto;width:100%}}.account-shell{min-height:100dvh;color:var(--text)}.account-stage{place-items:center;min-height:calc(100dvh - 64px);padding:clamp(24px,7vw,80px) 16px;display:grid}.account-card{text-align:center;gap:18px;width:min(100%,500px);padding:clamp(28px,6vw,48px);display:grid}.account-card h1{font:italic clamp(38px,8vw,64px)/.92 var(--display);text-transform:uppercase;margin:0}.account-card p{color:var(--muted);font:600 14px/1.55 var(--ui);margin:0}.account-card .primary-button{place-items:center;text-decoration:none;display:grid}.account-exit{color:var(--muted);font:800 9px/1 var(--mono);text-transform:uppercase}.signed-in-note{color:var(--muted);font:600 13px/1.35 var(--ui);margin:-10px 0 18px}.signed-in-note strong{color:var(--chess-gold)}.account-name{max-width:180px;color:var(--muted);font:800 10px/1 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-topbar{height:60px;min-height:60px}.game-topbar .brand-mark{width:40px;height:40px}.game-topbar .brand-name{font-size:30px}.game-layout{grid-template-columns:minmax(0,1fr) minmax(310px,350px);gap:16px;width:100%;max-width:none;padding:10px 16px 18px}.board-column{width:100%}.match-banner{width:min(100%,100dvh - 194px);min-height:68px;margin-left:auto;margin-right:auto}.player-card{grid-template-columns:30px minmax(0,1fr) 12px;min-height:62px}.player-card>div{min-width:0}.player-card-copy{text-align:start;direction:ltr}.captured-by{align-items:center;gap:5px;min-width:0;margin-top:4px;display:flex;overflow:hidden}.captured-by small{color:var(--muted);flex:none;font-size:7px}.captured-by b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:14px/1 Arial Unicode MS,Segoe UI Symbol,Georgia,serif;overflow:hidden}.captured-by i{-webkit-text-stroke-width:1px;font-style:normal}.turn-panel,.turn-deadline,.draw-claims,.board-message{width:min(100%,100dvh - 194px);margin-left:auto;margin-right:auto}.turn-panel{min-height:48px;padding:6px 11px}.turn-panel>span{width:31px;height:31px}.turn-panel strong{font-size:18px}.board-wrap{width:min(100vw - 408px,100dvh - 194px);max-width:none;padding:clamp(5px,.65vw,10px)}.piece{font-size:10.5cqw}.game-sidebar{align-content:start;gap:10px;max-height:calc(100dvh - 80px);padding-top:0;overflow-y:auto}@media (width<=980px){.game-layout{max-width:none;padding:8px 5px max(86px,calc(env(safe-area-inset-bottom) + 74px));grid-template-columns:minmax(0,1fr);gap:12px}.match-banner,.turn-panel,.turn-deadline,.draw-claims,.board-message{width:min(100%,100dvh - 170px)}.board-wrap{width:min(100vw - 10px,max(300px,100dvh - 170px))}.game-sidebar{grid-template-columns:1fr;width:min(100%,720px);max-height:none;margin:0 auto;overflow:visible}}@media (width<=620px){.account-name{display:none}.game-topbar{height:54px;min-height:54px}.match-banner{width:100%;min-height:66px;margin:0 0 5px}.match-banner>.player-card,.match-banner>.player-card.you-player{grid-template-columns:22px minmax(0,1fr) 8px;min-height:62px;padding:5px 4px}.captured-by{gap:3px}.captured-by small{display:none}.captured-by b{font-size:12px}.turn-panel{width:100%;margin-bottom:5px}.board-wrap{width:calc(100vw - 10px)}}.turn-deadline{border:3px solid var(--theme-card-border,var(--stone-dark));min-height:44px;color:var(--text);background:color-mix(in srgb, var(--surface) 88%, black);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:7px;padding:7px 11px;display:grid}.turn-deadline.mine{border-color:var(--chess-gold)}.turn-deadline>span{color:var(--chess-gold);font:22px/1 system-ui,sans-serif}.turn-deadline>div{gap:3px;min-width:0;display:grid}.turn-deadline small{color:var(--muted);font:800 8px/1 var(--mono)}.turn-deadline strong{font:900 13px/1 var(--display)}.turn-deadline>b{color:var(--muted);font:800 8px/1 var(--mono);white-space:nowrap}.match-banner>.player-card,.board-wrap{position:relative}.checkmate-finisher{z-index:12;color:var(--text);pointer-events:none;text-align:center;background:radial-gradient(circle,#ffd65a4d,#0000 52%),repeating-linear-gradient(135deg,#ffffff06 0 7px,#0000 7px 14px),#0c1413c7;place-content:center;justify-items:center;gap:clamp(7px,2cqw,14px);animation:1.3s cubic-bezier(.16,.75,.22,1) both finisher-curtain;display:grid;position:absolute;inset:8px;overflow:hidden}.checkmate-duel{width:min(68cqw,360px);height:min(30cqw,160px);position:relative}.finisher-piece{transform-origin:50% 78%;place-items:center;width:42%;font:900 clamp(52px,18cqw,124px)/1 Arial Unicode MS,Segoe UI Symbol,Georgia,serif;display:grid;position:absolute;top:50%}.finisher-attacker{z-index:2;animation:1.3s cubic-bezier(.22,.74,.18,1) both finisher-strike;left:0}.finisher-king{z-index:1;animation:1.3s cubic-bezier(.28,.7,.22,1) both finisher-king-fall;right:0}.finisher-impact{z-index:3;color:var(--chess-gold);font:900 clamp(30px,10cqw,68px)/1 var(--display);text-shadow:0 0 18px #ffd65ae6;animation:1.3s ease-out both finisher-impact;position:absolute;top:45%;left:55%}.checkmate-finisher>strong{z-index:4;border:4px solid var(--theme-frame-border,var(--wood-dark));color:#172515;background:var(--chess-gold);box-shadow:5px 5px 0 var(--theme-frame-border,var(--wood-dark));font:900 clamp(25px,7cqw,54px)/.9 var(--display);letter-spacing:1px;padding:9px 16px;animation:1.3s ease-out both finisher-title;position:relative}@keyframes finisher-curtain{0%{opacity:0}10%,82%{opacity:1}to{opacity:0}}@keyframes finisher-strike{0%,13%{transform:translate(-18%,-50%)rotate(-8deg)scale(.84)}44%,65%{transform:translate(58%,-50%)rotate(8deg)scale(1.08)}to{transform:translate(58%,-50%)rotate(4deg)scale(1)}}@keyframes finisher-king-fall{0%,42%{opacity:1;transform:translate(6%,-50%)rotate(0)scale(1)}68%,to{opacity:.42;transform:translate(22%,-32%)rotate(76deg)scale(.82)}}@keyframes finisher-impact{0%,39%{opacity:0;transform:translate(-50%,-50%)scale(.1)rotate(-30deg)}48%{opacity:1;transform:translate(-50%,-50%)scale(1.25)rotate(8deg)}70%,to{opacity:0;transform:translate(-50%,-50%)scale(1.8)rotate(28deg)}}@keyframes finisher-title{0%,42%{opacity:0;transform:translateY(12px)scale(.82)}54%,91%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(1.03)}}@media (prefers-reduced-motion:reduce){.checkmate-finisher,.checkmate-finisher *{animation:none!important}.checkmate-finisher{opacity:1}.finisher-attacker{transform:translate(34%,-50%)}.finisher-king{opacity:.45;transform:translate(22%,-32%)rotate(76deg)scale(.82)}.finisher-impact{display:none}}@media (width>=981px) and (height<=1115px){.turn-deadline{min-height:36px;margin-bottom:4px;padding:4px 9px}}.turn-panel.history{background:linear-gradient(90deg,#573d73eb,#273537f7);border-color:#795aa6;box-shadow:inset 0 3px #ffffff14,0 4px #47335e}.turn-panel.history>span{color:#fff8dc;background:#795aa6;box-shadow:3px 3px #47335e}.turn-panel>div:not(.history-controls){flex:auto;min-width:0}.turn-panel>div:not(.history-controls) strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turn-status-copy:focus-visible{outline:3px solid var(--electric-blue);outline-offset:3px}.history-controls{flex:none;grid-template-columns:44px 44px;gap:5px;margin-left:auto;display:grid}.turn-panel>b+.history-controls{margin-left:0}.history-controls button{border:3px solid var(--theme-frame-border,var(--stone-dark));min-width:44px;min-height:44px;color:var(--text);background:var(--surface-raised);box-shadow:2px 2px 0 var(--theme-frame-border,var(--stone-dark));cursor:pointer;font:900 18px/1 var(--mono);padding:0 8px}.history-controls button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.history-controls button:focus-visible{outline:3px solid var(--chess-gold);outline-offset:2px}.history-controls button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.board-wrap[data-history=true] .square,.board-wrap[data-history=true] .piece{cursor:default}.move-confirm-dialog{border:4px solid var(--theme-card-border,var(--stone-dark));width:min(480px,100% - 24px);color:var(--text);background:var(--theme-card,var(--surface));padding:0;box-shadow:0 30px 90px #000000bf}.move-confirm-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03060ee0}.move-confirm-card{text-align:center;padding:clamp(22px,5vw,34px)}.move-confirm-card>small{color:var(--electric-blue);font:900 9px/1 var(--mono);letter-spacing:1.3px}.move-confirm-card h2{color:var(--chess-gold);font:900 clamp(30px,8vw,44px)/.95 var(--display);margin:10px 0 16px}.move-confirm-card p{color:var(--text);font:750 16px/1.45 var(--ui);margin:0}.move-confirm-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:24px;display:grid}.move-confirm-card .primary-button,.move-confirm-card .quiet-button{min-height:46px;margin:0}.move-confirm-card button:focus-visible{outline:3px solid var(--electric-blue);outline-offset:3px}@media (width<=620px){.history-controls{grid-template-columns:44px 44px;gap:3px}.history-controls button{border-width:2px;min-height:44px;padding:0 5px;font-size:18px}.move-confirm-actions{grid-template-columns:1fr}}.variant-trigger{border:4px solid var(--dirt-dark);width:100%;min-height:72px;color:var(--text);cursor:pointer;text-align:left;background:#695238;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin:16px 0 0;padding:11px 13px;display:grid;box-shadow:inset 0 4px #ffffff17,4px 4px #382719}.variant-trigger:disabled{cursor:wait;opacity:.58}.variant-trigger:focus-visible,.variant-dialog button:focus-visible,.variant-option:focus-within{outline:3px solid var(--chess-gold);outline-offset:3px}.variant-trigger-icon,.variant-option-icon{color:#25321d;background:var(--chess-gold);font:900 20px/1 var(--display);border:3px solid #6b4d22;place-items:center;display:grid;box-shadow:3px 3px #3f2c17}.variant-trigger-icon{width:40px;height:40px}.variant-trigger>span:nth-child(2){min-width:0}.variant-trigger small,.variant-trigger strong,.variant-trigger em{display:block}.variant-trigger small{color:#e7d9b8;font:850 7px/1 var(--mono);letter-spacing:1.2px}.variant-trigger strong{font:900 15px/1 var(--display);letter-spacing:.4px;text-transform:uppercase;margin-top:4px}.variant-trigger em{color:#f0e2c2;font:650 9px/1.2 var(--ui);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-style:normal;overflow:hidden}.variant-trigger>b{color:var(--chess-gold);font:900 8px/1 var(--mono);letter-spacing:.8px}.variant-dialog{border:5px solid var(--wood-dark);width:min(760px,100% - 24px);max-height:min(88vh,780px);color:var(--text);background:var(--wood);padding:0;box-shadow:inset 0 5px #ffffff1a,0 30px 90px #000000c7}.variant-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03060ee6}.variant-dialog-card{padding:clamp(20px,4vw,34px)}.variant-dialog-card>header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.variant-dialog-card h2{color:var(--chess-gold);font:italic clamp(34px,7vw,52px)/.92 var(--display);text-transform:uppercase;margin:8px 0 0}.variant-dialog-close{border:3px solid var(--stone-dark);width:44px;min-height:44px;color:var(--text);background:var(--stone);cursor:pointer;font:900 25px/1 var(--display);box-shadow:3px 3px #1d2a2a}.variant-group{border:0;min-width:0;margin:24px 0 0;padding:0}.variant-group legend{color:#fff2c8;font:900 9px/1 var(--mono);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:10px}.variant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.variant-option{border:4px solid var(--stone-dark);min-height:104px;color:var(--text);background:var(--stone);cursor:pointer;text-transform:none;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;margin:0;padding:13px;display:grid;position:relative;box-shadow:inset 0 4px #ffffff17,4px 4px #1d2a2a}.variant-option.selected{border-color:var(--grass-dark);background:#547548;box-shadow:inset 0 4px #ffffff1f,4px 4px #294126}.variant-option input{opacity:0;width:1px;min-height:1px;position:absolute}.variant-option-icon{width:40px;height:40px}.variant-option strong,.variant-option small,.variant-option em{display:block}.variant-option strong{font:900 13px/1 var(--display);letter-spacing:.4px;text-transform:uppercase}.variant-option small{color:var(--chess-gold);font:850 8px/1 var(--mono);margin-top:5px}.variant-option em{color:#e1e8cf;font:600 9px/1.3 var(--ui);margin-top:6px;font-style:normal}.variant-option>b{color:var(--chess-gold);font:900 15px/1 var(--display)}.variant-dialog-note{color:#f0e2c2;font:650 9px/1.45 var(--ui);margin:20px 0 0}.variant-fixed-rules{border:4px solid var(--grass-dark);color:#f3ffe8;background:#46643d;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;margin-top:18px;padding:12px;display:grid;box-shadow:inset 0 4px #ffffff17,4px 4px #294126}.variant-fixed-rules>span{color:#25321d;background:var(--chess-gold);width:34px;height:34px;font:900 17px/1 var(--display);place-items:center;display:grid}.variant-fixed-rules strong,.variant-fixed-rules small{display:block}.variant-fixed-rules strong{font:900 10px/1 var(--display)}.variant-fixed-rules small{color:#e1e8cf;font:650 8px/1.35 var(--ui);margin-top:5px}.variant-invite{border:3px solid var(--grass-dark);color:#f3ffe8;background:#46643dc2;gap:5px;margin:-13px 0 22px;padding:10px 12px;display:grid}.variant-invite strong{color:var(--chess-gold);font:900 9px/1 var(--mono)}.variant-invite span{font:900 13px/1.2 var(--display);text-transform:uppercase}.variant-invite small{color:#e1e8cf;font:650 9px/1.35 var(--ui)}.join-pace{color:var(--chess-gold);font:900 10px/1.3 var(--mono);letter-spacing:.5px;text-transform:uppercase;margin:-12px 0 22px}.variant-game-banner{border:3px solid var(--grass-dark);color:#f3ffe8;background:#46643deb;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;width:min(100%,770px);min-height:42px;margin:0 auto 7px;padding:6px 10px;display:grid;box-shadow:3px 3px #21301ca6}.variant-game-banner>span{color:#25321d;background:var(--chess-gold);width:28px;height:28px;font:900 15px/1 var(--display);place-items:center;display:grid}.variant-game-banner strong,.variant-game-banner small{display:block}.variant-game-banner strong{font:900 9px/1 var(--mono)}.variant-game-banner small{color:#e1e8cf;font:650 9px/1.25 var(--ui);margin-top:4px}@media (width<=620px){.variant-dialog{border-width:5px 0 0;width:100%;max-width:none;max-height:88vh;margin:auto 0 0}.variant-dialog-card{padding:22px 16px 26px}.variant-grid{grid-template-columns:1fr}.variant-option{min-height:88px}}.move-history-panel{overflow:hidden;padding:0!important}.move-history-panel>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:10px;min-height:60px;padding:10px 13px;list-style:none;display:grid}.move-history-panel>summary::-webkit-details-marker{display:none}.move-history-panel>summary small,.move-history-panel>summary strong{display:block}.move-history-panel>summary small{color:var(--chess-gold);font:900 8px/1 var(--mono)}.move-history-panel>summary strong{font:850 12px/1.2 var(--ui);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;overflow:hidden}.move-history-panel>summary>b{color:var(--chess-gold);font:900 20px/1 var(--mono);transition:transform .12s}.move-history-panel[open]>summary>b{transform:rotate(180deg)}.move-history-table-wrap{border-top:2px solid var(--theme-card-border,var(--stone-dark));max-height:min(62dvh,560px);overflow:auto}.move-history-table-wrap>p{color:var(--muted);font:700 10px/1.4 var(--ui);margin:0;padding:15px}.move-history-table{border-collapse:collapse;width:100%;font:750 11px/1.3 var(--mono)}.move-history-table th,.move-history-table td{border-bottom:1px solid color-mix(in srgb,var(--theme-card-border,var(--stone-dark)) 55%,transparent);text-align:left;padding:8px 7px}.move-history-table thead th{z-index:1;color:var(--chess-gold);background:var(--surface);position:sticky;top:0}.move-history-table tbody th{width:28px;color:var(--muted)}.move-history-table td[data-current=true]{color:#172515;background:var(--chess-gold)}.captured-pieces-panel{gap:11px;display:grid}.captured-pieces-panel h2{font:900 12px/1 var(--display);margin:0}.captured-pieces-panel>div{border-top:1px solid color-mix(in srgb,var(--theme-card-border,var(--stone-dark)) 58%,transparent);gap:6px;padding-top:9px;display:grid}.captured-pieces-panel>div>strong{color:var(--muted);font:800 8px/1 var(--mono)}.captured-piece-list{flex-wrap:wrap;gap:2px;min-height:30px;display:flex}.captured-piece-list i{place-items:center;width:27px;height:30px;font-style:normal;display:grid}.captured-piece-list .chess-piece-svg{width:28px;height:28px}.captured-none{color:var(--muted);font:700 10px/1.3 var(--ui)}.surrender-confirm-backdrop{z-index:80;width:100%;max-width:none;height:100%;max-height:none;color:inherit;background:0 0;border:0;place-items:center;margin:0;padding:16px;display:none;position:fixed;inset:0}.surrender-confirm-backdrop[open]{display:grid}.surrender-confirm-backdrop::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#03060ac7}.surrender-confirm{border:4px solid var(--theme-card-border,var(--stone-dark));width:min(420px,100%);color:var(--text);background:var(--theme-card,var(--surface));text-align:center;gap:13px;padding:28px;display:grid}.surrender-confirm>span{color:#fff;font-size:48px}.surrender-confirm h2{font:900 32px/1 var(--display);text-transform:uppercase;margin:0}.surrender-confirm p{color:var(--muted);font:650 13px/1.45 var(--ui);margin:0 0 4px}.surrender-confirm .danger-button,.surrender-confirm .quiet-button{min-height:46px}.resignation-finisher{z-index:13;pointer-events:none;background:radial-gradient(circle,#ffffff2e,#080e10b8);place-content:center;justify-items:center;gap:12px;display:grid;position:absolute;inset:8px}.resignation-king{width:min(34cqw,190px);height:min(34cqw,190px);animation:1s ease-in-out both resignation-bow;position:relative}.resignation-king .chess-piece-svg{width:100%;height:100%}.white-flag{transform-origin:50% 100%;background:#dad6c7;border-radius:999px;width:12%;height:92%;animation:1s ease-in-out both white-flag-wave;position:absolute;top:-8%;right:-20%}.white-flag i{clip-path:polygon(0 0,100% 14%,82% 100%,0 82%);background:#fff;width:360%;height:36%;animation:.18s ease-in-out infinite alternate flag-cloth;position:absolute;top:3%;left:70%}.resignation-finisher>strong{color:#fff;font:900 clamp(22px,7cqw,54px)/1 var(--display);animation:1s ease-out both resignation-title}@keyframes white-flag-wave{0%{opacity:0;transform:rotate(-28deg)scale(.7)}30%,80%{opacity:1;transform:rotate(12deg)scale(1)}to{opacity:.4;transform:rotate(4deg)}}@keyframes flag-cloth{0%{transform:skewY(-5deg)}to{transform:skewY(7deg)scaleX(.92)}}@keyframes resignation-bow{0%{transform:translateY(8%)rotate(0)}55%,to{transform:translateY(14%)rotate(11deg)scale(.92)}}@keyframes resignation-title{0%,42%{opacity:0;transform:translateY(8px)}60%,88%{opacity:1;transform:translateY(0)}to{opacity:0}}.coach-warning{gap:9px;margin:4px 0 12px;display:grid}.coach-warning>button{border:2px solid var(--chess-gold);min-height:42px;color:var(--chess-gold);cursor:pointer;font:900 9px/1 var(--mono);background:0 0}.coach-warning>p{border-left:4px solid var(--chess-gold);color:var(--text);background:color-mix(in srgb,var(--chess-gold) 10%,transparent);font:650 12px/1.45 var(--ui);text-align:left;margin:0;padding:10px}@media (prefers-reduced-motion:reduce){.resignation-finisher,.resignation-finisher *{animation:none!important}}.auth-shell,.player-home-shell,.history-shell{min-height:100dvh;color:var(--text);background:radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--electric-blue) 13%, transparent), transparent 32rem), radial-gradient(circle at 82% 84%, color-mix(in srgb, var(--chess-gold) 10%, transparent), transparent 34rem), var(--background,var(--riot-black))}.auth-stage{place-items:center;min-height:calc(100dvh - 80px);padding:clamp(28px,6vw,70px) 16px;display:grid}.auth-card{border:4px solid var(--theme-card-border,var(--stone-dark));width:min(100%,520px);color:var(--text);background:var(--theme-card,var(--surface));box-shadow:7px 7px 0 color-mix(in srgb, var(--theme-card-border,var(--stone-dark)) 64%, transparent), 0 24px 70px #00000059;text-align:left;gap:14px;padding:clamp(26px,5vw,42px);display:grid}.auth-card h1{font:900 clamp(30px, 7vw, 40px)/1.02 var(--display);letter-spacing:0;text-transform:none;margin:0}.auth-card>p{color:var(--muted);font:650 14px/1.5 var(--ui);margin:0}.auth-card>label{color:var(--chess-gold);font:900 9px/1 var(--mono);letter-spacing:.6px}.auth-glyph{border:3px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);width:54px;height:54px;font:900 28px/1 var(--display);place-items:center;display:grid}.auth-kicker{letter-spacing:1.2px;color:var(--electric-blue)!important;font:900 9px/1 var(--mono)!important}.google-sign-in{border:3px solid var(--theme-frame-border,var(--stone-dark));min-height:50px;color:var(--text);background:var(--surface-raised);cursor:pointer;font:900 11px/1 var(--ui);grid-template-columns:28px 1fr 28px;align-items:center;padding:0 12px;display:grid}.google-sign-in>span{color:#1f5cc4;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font:900 15px/1 system-ui;display:grid}.google-sign-in:disabled{cursor:not-allowed;opacity:.55}.auth-legal{color:var(--muted);font:650 10px/1.45 var(--ui);text-align:center}.auth-legal a{color:var(--text)}.auth-loading{color:var(--electric-blue);font:900 clamp(24px, 6vw, 44px)/1 var(--display)}.username-field{border:3px solid var(--theme-frame-border,var(--stone-dark));background:var(--surface-raised);grid-template-columns:32px minmax(0,1fr);align-items:center;display:grid}.username-field:focus-within{outline:3px solid var(--electric-blue);outline-offset:2px}.username-field>span{color:var(--chess-gold);font:900 17px/1 var(--mono);place-items:center;display:grid}.username-field input{min-width:0;min-height:48px;color:var(--text);font:800 16px/1 var(--ui);text-align:start;background:0 0;border:0;outline:0}.username-card>small:not(.auth-legal){color:var(--muted);font:650 10px/1.45 var(--ui)}.username-confirmation{border:2px solid var(--theme-card-border,var(--stone-dark));background:color-mix(in srgb, var(--surface-raised) 86%, transparent);cursor:pointer;grid-template-columns:22px 1fr;align-items:center;gap:10px;min-height:58px;padding:10px;display:grid;color:var(--text)!important;font:650 11px/1.4 var(--ui)!important;letter-spacing:0!important}.username-confirmation input{width:19px;min-height:19px;accent-color:var(--teal-spark);margin:0}.username-confirmation strong{color:var(--chess-gold)}.notification-onboarding-card>small{color:var(--muted);font:650 10px/1.45 var(--ui)}.notification-onboarding-actions{gap:10px;display:grid}.notification-onboarding-actions .primary-button{margin-top:0}.notification-onboarding-actions .secondary-button{width:100%;min-height:48px}.notification-onboarding-status{border-left:4px solid var(--teal-spark);color:var(--text);background:color-mix(in srgb, var(--teal-spark) 11%, transparent);font:750 11px/1.45 var(--ui);margin:0;padding:10px 12px}.player-home-topbar,.history-topbar{justify-content:space-between}.player-handle{color:var(--chess-gold);font:900 11px/1 var(--ui);margin-left:auto}.player-home-hero,.history-heading{justify-content:space-between;align-items:end;gap:24px;width:min(1160px,100% - 32px);margin:0 auto;padding:clamp(34px,6vw,66px) 0 24px;display:flex}.player-home-hero p,.history-heading p{color:var(--electric-blue);font:900 9px/1 var(--mono);letter-spacing:1.3px;margin:0 0 8px}.player-home-hero h1,.history-heading h1{font:900 clamp(38px, 7vw, 68px)/.95 var(--display);margin:0}.player-home-actions{gap:9px;display:flex}.player-home-actions a{text-align:center;min-width:150px}.player-home-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:18px;width:min(1160px,100% - 32px);margin:0 auto;padding-bottom:60px;display:grid}.dashboard-card{border:4px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));min-width:0;box-shadow:5px 5px 0 color-mix(in srgb, var(--theme-card-border,var(--stone-dark)) 65%, transparent);padding:clamp(17px,3vw,26px)}.dashboard-card>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-card>header small{color:var(--chess-gold);font:900 8px/1 var(--mono)}.dashboard-card>header h2{font:900 clamp(20px,3vw,29px)/1 var(--display);margin:5px 0 0}.dashboard-card>header a{color:var(--electric-blue);font:900 9px/1 var(--mono)}.dashboard-game-list{gap:7px;display:grid}.dashboard-game{border:2px solid var(--theme-card-border,var(--stone-dark));min-width:0;color:var(--text);background:var(--surface-raised);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px;text-decoration:none;display:grid}.dashboard-game:hover{border-color:var(--electric-blue)}.dashboard-game strong,.dashboard-game small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-game small{color:var(--muted);font:650 10px/1.2 var(--ui);margin-top:4px}.dashboard-game>b{color:var(--chess-gold)}.dashboard-challenge{cursor:default}.dashboard-challenge small{white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.4;overflow:visible}.dashboard-challenge:hover{border-color:var(--theme-card-border,var(--stone-dark))}.dashboard-challenge-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.dashboard-challenge-actions button{border:2px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);cursor:pointer;min-height:34px;font:900 8px/1 var(--mono);padding:0 9px}.dashboard-challenge-actions button:last-child{color:var(--text);background:var(--surface)}.dashboard-challenge-actions button:disabled{cursor:wait;opacity:.55}.dashboard-challenge-actions button:focus-visible{outline:3px solid var(--electric-blue);outline-offset:2px}.dashboard-empty{min-height:180px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.dashboard-loading{min-height:180px;color:var(--electric-blue);font:900 10px/1 var(--mono);letter-spacing:.8px;place-items:center;margin:0;display:grid}.dashboard-refresh-error{z-index:35;border:3px solid var(--theme-card-border,var(--stone-dark));max-width:min(420px,100% - 28px);color:var(--text);background:var(--theme-card,var(--surface));font:700 10px/1.35 var(--ui);align-items:center;gap:10px;padding:10px 12px;display:flex;position:fixed;bottom:14px;right:14px;box-shadow:4px 4px #00000059}.dashboard-refresh-error button{border:2px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);cursor:pointer;min-height:34px;font:900 8px/1 var(--mono);padding:0 10px}.dashboard-empty>span{color:var(--chess-gold);font-size:44px}.dashboard-empty p{margin:0}.dashboard-empty a{color:var(--electric-blue);font:900 10px/1 var(--mono)}.friend-requests,.friend-list{gap:7px;margin-bottom:14px;display:grid}.friend-requests>strong,.friend-search>label{color:var(--chess-gold);font:900 8px/1 var(--mono)}.friend-requests>div,.friend-list>div{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);font:800 11px/1 var(--mono);justify-content:space-between;align-items:center;gap:8px;padding:9px;display:flex}.friend-requests button,.friend-list a{border:2px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);cursor:pointer;min-height:32px;font:900 8px/1 var(--mono);padding:0 9px;text-decoration:none}.friend-search{gap:7px;display:grid}.friend-search>div{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);grid-template-columns:26px minmax(0,1fr) auto;align-items:center;display:grid}.friend-search input{min-width:0;min-height:40px;color:var(--text);font:750 12px/1 var(--ui);text-align:start;background:0 0;border:0;outline:0}.friend-search button{color:#172515;background:var(--chess-gold);font:900 8px/1 var(--mono);border:0;align-self:stretch}.referral-share{border:2px solid var(--theme-card-border,var(--stone-dark));background:color-mix(in srgb, var(--surface-raised) 88%, transparent);gap:8px;margin-bottom:16px;padding:11px;display:grid}.referral-share-heading{justify-content:space-between;align-items:start;gap:9px;display:flex}.referral-share-heading strong,.referral-share-heading small{display:block}.referral-share-heading strong{color:var(--chess-gold);font:900 8px/1 var(--mono)}.referral-share-heading small{color:var(--muted);font:650 9px/1.25 var(--ui);margin-top:5px}.referral-share-heading>span{color:var(--electric-blue);font:900 7px/1.3 var(--mono);text-align:right}.referral-share-heading>span b{color:var(--text);font-size:12px}.referral-share-controls{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface);grid-template-columns:minmax(0,1fr) auto;display:grid}.referral-share-controls:focus-within{outline:3px solid var(--electric-blue);outline-offset:2px}.referral-share-controls input{min-width:0;min-height:38px;color:var(--muted);font:700 9px/1 var(--mono);background:0 0;border:0;outline:0;padding:0 8px}.referral-share-controls button{color:#172515;background:var(--chess-gold);cursor:pointer;min-width:68px;font:900 8px/1 var(--mono);border:0}.referral-share>.form-success,.referral-share>.form-error{margin:0}.form-success,.pending-friends,.friends-empty{color:var(--muted);font:650 10px/1.4 var(--ui)}.referral-invite-card>.primary-button,.referral-invite-card>.secondary-button{text-align:center;place-items:center;min-height:46px;text-decoration:none;display:grid}.history-stage{width:min(1050px,100% - 32px);margin:0 auto;padding-bottom:64px}.history-heading{width:100%}.history-topbar>a{color:var(--text);font:900 10px/1 var(--mono)}.history-filters{border:4px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));grid-template-columns:1.3fr .9fr .75fr;gap:10px;margin-bottom:18px;padding:12px;display:grid}.history-filters fieldset{border:0;grid-template-columns:repeat(3,1fr);gap:5px;min-width:0;margin:0;padding:0;display:grid}.history-filters legend,.history-filters>label>span{color:var(--chess-gold);font:900 8px/1 var(--mono);margin-bottom:6px;display:block}.history-filters fieldset label{border:2px solid var(--theme-card-border,var(--stone-dark));background:var(--surface-raised);cursor:pointer;min-width:0;min-height:44px;font:850 14px/1.2 var(--ui);letter-spacing:0;text-transform:none;place-items:center;display:grid;position:relative}.history-filters fieldset label[data-selected=true]{color:#172515;background:var(--chess-gold);text-shadow:none}.history-filters fieldset label:focus-within,.history-filters select:focus-visible,.opponent-picker select:focus-visible{outline:3px solid var(--electric-blue);outline-offset:2px}.history-filters fieldset input{clip-path:inset(50%);opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.history-filters select,.opponent-picker select{border:2px solid var(--theme-card-border,var(--stone-dark));width:100%;min-height:40px;color:var(--text);background:var(--surface-raised);font:750 10px/1 var(--ui);padding:0 9px}.history-filters select{min-height:44px;font-size:16px}.history-list{gap:8px;display:grid}.history-game{border:3px solid var(--theme-card-border,var(--stone-dark));min-width:0;color:var(--text);background:var(--theme-card,var(--surface));grid-template-columns:46px minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:10px;text-decoration:none;display:grid}.history-game:hover{border-color:var(--electric-blue)}.history-game strong,.history-game small{display:block}.history-game small{color:var(--muted);font:650 10px/1.2 var(--ui);margin-top:4px}.history-game-meta{text-align:right}.history-game-meta b{color:var(--chess-gold);font:900 10px/1 var(--mono)}.history-game>i{color:var(--electric-blue);font-style:normal}.history-loading,.history-empty,.history-error{color:var(--muted);text-align:center;padding:34px}.history-more{border:3px solid var(--theme-frame-border,var(--stone-dark));color:#172515;background:var(--chess-gold);min-height:44px;font:900 9px/1 var(--mono);margin:18px auto 0;padding:0 22px;display:block}.opponent-picker{color:var(--chess-gold);font:900 9px/1 var(--mono);gap:7px;margin-top:14px;display:grid}.opponent-picker small{color:var(--muted);font:650 10px/1.4 var(--ui)}.opponent-picker a{color:var(--electric-blue)}:is(html:has(.game-shell),body:has(.game-shell)){height:100%;overflow:hidden}.game-shell{height:100dvh;min-height:0;overflow:hidden}.game-shell>.game-layout{align-items:start;height:calc(100dvh - 60px);min-height:0;overflow:hidden}.game-shell .board-column{min-height:0}.game-shell .board-wrap{width:min(100vw - 408px,100dvh - 314px);max-width:770px}.game-shell .game-sidebar{overscroll-behavior:contain;max-height:calc(100dvh - 80px);overflow-y:auto}.sidebar-panel{display:contents}.world-game-card{color:#f1d8ff;background:#462f59d1;border-color:#795aa6;order:-1}.world-game-card>span{color:#281633;background:#d9a7ff}.world-game-card p{color:#d9cce5;font:750 9px/1.35 var(--ui);flex-wrap:wrap;justify-content:space-between;gap:6px;margin:7px 0 0;display:flex}.world-game-card a{color:#e5bbff;font:900 8px/1 var(--mono)}.side-panel-close,.mobile-game-tools,.game-sidebar-backdrop,.mobile-only-game-info{display:none}.player-card,.match-banner>.player-card,.match-banner>.player-card.you-player{grid-template-columns:30px minmax(0,1fr) auto}.player-clock{border-left:2px solid color-mix(in srgb, var(--theme-card-border,var(--stone-dark)) 68%, transparent);font-variant-numeric:tabular-nums;justify-items:end;gap:3px;min-width:67px;padding-left:7px;display:grid}.player-clock small{color:var(--muted)!important;font:900 7px/1 var(--mono)!important;letter-spacing:.4px!important}.player-clock strong{color:var(--text);font:900 15px/1 var(--mono)!important;margin:0!important}.player-clock[data-active=true]{border-color:var(--teal-spark)}.player-clock[data-active=true] small,.player-clock[data-active=true] strong{color:var(--teal-spark)!important}.modal-backdrop{width:100%;max-width:none;height:100%;max-height:none;color:inherit;border:0;margin:0}.modal-backdrop:not([open]){display:none}.modal-backdrop::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060ee0}.post-game-panel{z-index:14;border:4px solid var(--theme-frame-border,var(--stone-dark));max-height:calc(100% - 20px);color:var(--text);background:color-mix(in srgb, var(--theme-card,var(--surface)) 94%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 14px;padding:clamp(13px,2.5cqw,20px);display:grid;position:absolute;bottom:clamp(10px,2cqw,18px);left:clamp(10px,2cqw,18px);right:clamp(10px,2cqw,18px);overflow:auto;box-shadow:7px 7px #0000006b,0 0 40px #00000075}.post-game-panel>small{color:var(--chess-gold);font:900 8px/1 var(--mono)}.post-game-panel h2{font:900 clamp(23px, 5cqw, 38px)/1 var(--display);grid-column:1;margin:2px 0 0}.post-game-panel>p{color:var(--muted);font:650 11px/1.3 var(--ui);grid-column:1;margin:2px 0 0}.post-game-dismiss{border:2px solid var(--theme-card-border,var(--stone-dark));width:30px;height:30px;color:var(--text);background:var(--surface-raised);cursor:pointer;position:absolute;top:7px;right:7px}.post-game-actions{grid-area:1/2/span 3;grid-template-columns:repeat(2,auto);gap:6px;padding-right:28px;display:grid}.post-game-actions>*{place-items:center;min-width:110px;min-height:38px;padding:0 10px;text-decoration:none;display:grid}.post-game-recap-link{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:5px;display:grid}.post-game-recap-link input{border:2px solid var(--theme-card-border,var(--stone-dark));min-width:0;min-height:38px;color:var(--text);background:var(--surface-raised);font:700 8px/1 var(--mono);padding:0 8px}.post-game-recap-link button{color:#fff;cursor:pointer;min-height:38px;font:900 8px/1 var(--mono);background:#7c2025;border:2px solid #ff6b69}.post-game-panel>.form-success,.post-game-panel>.form-error{grid-column:1/-1;margin:2px 0 0}@container (width<=680px){.post-game-panel{grid-template-columns:1fr}.post-game-actions{grid-area:auto/1;grid-template-columns:1fr 1fr;padding:5px 0 0}.post-game-actions .quiet-button{grid-column:1/-1}.post-game-actions>*{min-width:0}.post-game-recap-link{grid-template-columns:1fr}}.recap-shell{min-height:100dvh;overflow:visible}.recap-topbar{justify-content:space-between}.recap-topbar .home-link{border:2px solid var(--theme-frame-border,var(--stone-dark));min-height:40px;font:900 8px/1 var(--mono);place-items:center;padding:0 12px;text-decoration:none;display:grid}.recap-layout{width:min(1120px,100% - 28px);margin:0 auto;padding:clamp(25px,5vw,52px) 0 60px}.recap-heading>p{color:var(--electric-blue);font:900 8px/1 var(--mono);letter-spacing:1.1px;margin:0 0 7px}.recap-heading h1{font:900 clamp(34px,7vw,68px)/.95 var(--display);margin:0}.recap-meta{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.recap-meta span{border:2px solid var(--theme-card-border,var(--stone-dark));color:var(--muted);background:var(--surface);font:900 8px/1 var(--mono);text-transform:uppercase;padding:6px 8px}.recap-content{grid-template-columns:minmax(320px,680px) minmax(240px,1fr);align-items:start;gap:18px;margin-top:24px;display:grid}.recap-board-column{min-width:0}.recap-players{border:3px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:8px 12px;display:grid}.recap-players strong{text-overflow:ellipsis;white-space:nowrap;font:900 12px/1 var(--mono);overflow:hidden}.recap-players strong:last-child{text-align:right}.recap-players span{color:var(--chess-gold);font:900 9px/1 var(--mono)}.recap-frame-label{border:2px solid var(--theme-card-border,var(--stone-dark));min-height:38px;color:var(--text);background:var(--surface);font:800 10px/1.3 var(--mono);text-align:center;place-items:center;margin:7px 0;padding:7px;display:grid}.game-shell.recap-shell .recap-board-wrap{width:100%;max-width:none}.recap-board .square{cursor:default}.recap-controls{grid-template-columns:auto auto minmax(72px,1fr) auto auto;gap:6px;margin-top:8px;display:grid}.recap-controls button{border:2px solid var(--theme-frame-border,var(--stone-dark));min-height:42px;color:var(--text);background:var(--surface);cursor:pointer;font:900 8px/1 var(--mono);padding:0 10px}.recap-controls button:disabled{opacity:.4;cursor:default}.recap-controls span{color:var(--muted);font:900 9px/1 var(--mono);place-items:center;display:grid}.recap-details{gap:12px;display:grid}.recap-details .side-card{margin:0}.recap-share-card{border:3px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));gap:10px;padding:16px;display:grid}.recap-share-card h2,.recap-share-card p{margin:0}.recap-share-card h2{font:900 23px/1 var(--display)}.recap-share-card p{color:var(--muted);font:650 11px/1.45 var(--ui)}.recap-share-card small{color:var(--electric-blue);font:800 9px/1.3 var(--mono)}@media (width<=800px){.recap-content{grid-template-columns:1fr}.recap-details{grid-row:2}}@media (width<=520px){.recap-layout{width:min(100% - 16px,1120px);padding-top:18px}.recap-controls{grid-template-columns:repeat(4,1fr)}.recap-controls span{grid-area:1/1/auto/-1}.recap-controls button{padding:0 4px}}.checkmate-finisher,.finisher-attacker,.finisher-king,.finisher-impact,.checkmate-finisher>strong{animation-duration:2.2s}@media (width<=980px){.auth-stage{min-height:calc(100dvh - 56px)}.player-home-hero,.history-heading{flex-direction:column;align-items:start}.player-home-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.player-home-actions a{min-width:0}.player-home-grid{grid-template-columns:1fr}.game-shell>.game-layout{height:calc(100dvh - 54px);padding:6px 5px calc(62px + env(safe-area-inset-bottom));display:block;overflow:hidden}.game-shell .board-column{flex-direction:column;height:100%;display:flex}.game-shell .match-banner,.game-shell .turn-panel{flex:none}.game-shell .variant-game-banner,.game-shell .board-column>.draw-claims{display:none}.game-shell .board-wrap{flex:0 auto;width:min(100vw - 10px,100dvh - 250px);min-width:0;max-width:none}.game-shell .board-column:has(>.turn-deadline) .board-wrap{width:min(100vw - 10px,100dvh - 301px)}.game-shell .board-message{right:8px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:42;margin:0;position:fixed;left:8px}.mobile-game-tools{z-index:40;min-height:calc(56px + env(safe-area-inset-bottom));padding:4px 4px env(safe-area-inset-bottom);border-top:3px solid var(--theme-frame-border,var(--stone-dark));background:var(--theme-card,var(--surface));justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000004d}.mobile-game-tools button{min-width:58px;color:var(--muted);font:800 8px/1 var(--mono);background:0 0;border:0;flex:72px;place-items:center;gap:3px;padding:4px 2px;display:grid}.mobile-game-tools button>span{color:var(--chess-gold);font-size:16px}.mobile-game-tools button[aria-expanded=true]{color:var(--text);background:var(--surface-raised)}.mobile-game-tools button:focus-visible,.side-panel-close:focus-visible{outline:3px solid var(--electric-blue);outline-offset:-3px}.game-sidebar-backdrop[data-open=true]{inset:0 0 calc(56px + env(safe-area-inset-bottom));z-index:44;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03060ead;border:0;display:block;position:fixed}.game-shell .game-sidebar{right:0;bottom:calc(56px + env(safe-area-inset-bottom));z-index:45;border-top:4px solid var(--theme-frame-border,var(--stone-dark));background:var(--theme-card,var(--surface));grid-template-columns:1fr;width:100%;max-height:min(64dvh,540px);margin:0;padding:44px 10px 10px;display:none;position:fixed;left:0;overflow:auto;box-shadow:0 -18px 50px #00000085}.game-shell .game-sidebar[data-open=true]{display:block}.game-shell .sidebar-panel{display:none}.game-shell .sidebar-panel[data-active=true]{display:block}.side-panel-close{border:2px solid var(--theme-card-border,var(--stone-dark));width:31px;height:31px;color:var(--text);background:var(--surface-raised);place-items:center;font-size:21px;display:grid;position:absolute;top:7px;right:10px}.mobile-only-game-info{gap:10px;margin-top:10px;display:grid}.game-shell .move-history-table-wrap{max-height:42dvh}.post-game-panel{grid-template-columns:1fr}.post-game-actions{grid-area:auto/1;grid-template-columns:1fr 1fr;padding:5px 0 0}.post-game-actions .quiet-button{grid-column:1/-1}}@media (width<=980px) and (height<=520px) and (orientation:landscape){.activity-trigger{top:max(8px, env(safe-area-inset-top));right:calc(116px + env(safe-area-inset-right));width:40px;min-height:40px}.game-shell>.game-topbar{display:none}.game-shell>.game-layout{height:100dvh;padding:4px calc(62px + env(safe-area-inset-right)) 4px 4px}.game-shell .board-wrap{width:min(100vw - 68px,100dvh - 118px)}.game-shell .board-column:has(>.turn-deadline) .board-wrap{width:min(100vw - 68px,100dvh - 169px)}.game-shell .board-message{right:calc(66px + env(safe-area-inset-right));bottom:8px}.mobile-game-tools{width:calc(58px + env(safe-area-inset-right));min-height:0;padding:4px env(safe-area-inset-right) 4px 4px;border-top:0;border-left:3px solid var(--theme-frame-border,var(--stone-dark));flex-direction:column;inset:0 0 0 auto;box-shadow:-8px 0 24px #0000004d}.mobile-game-tools button{flex:48px;min-width:0;min-height:48px}.game-sidebar-backdrop[data-open=true]{inset:0 calc(58px + env(safe-area-inset-right)) 0 0}.game-shell .game-sidebar{right:calc(58px + env(safe-area-inset-right));max-height:100dvh;bottom:0}}@media (width<=620px){.player-home-hero,.player-home-grid,.history-stage{width:calc(100% - 20px)}.dashboard-challenge{grid-template-columns:46px minmax(0,1fr)}.dashboard-challenge-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.referral-share-heading{flex-direction:column;align-items:stretch}.referral-share-heading>span{text-align:left}.history-filters{grid-template-columns:1fr}.history-game{grid-template-columns:42px minmax(0,1fr) 18px}.history-game-meta{text-align:left;grid-column:2}.history-game>i{grid-area:1/3/span 2}.game-shell .match-banner>.player-card,.game-shell .match-banner>.player-card.you-player{grid-template-columns:20px minmax(0,1fr) auto}.game-shell .player-clock{min-width:55px;padding-left:4px}.game-shell .player-clock strong{font-size:12px!important}.game-shell .player-clock small{font-size:6px!important}.game-shell .match-banner .player-card strong{font-size:11px}.game-shell .match-banner .player-card small{font-size:7px}.post-game-panel{bottom:8px;left:8px;right:8px}.post-game-panel h2{font-size:24px}.post-game-actions>*{min-width:0;font-size:8px}}.worlds-shell{background:radial-gradient(circle at 50% 12%, #795aa62e, transparent 42%), var(--void);min-height:100dvh}.worlds-topbar{justify-content:space-between}.worlds-topbar nav{align-items:center;gap:8px;display:flex}.worlds-topbar nav>a{min-height:38px;color:var(--text);font:900 8px/1 var(--mono);place-items:center;padding:0 12px;text-decoration:none;display:grid}.worlds-topbar nav .primary-button{color:#172515}.worlds-stage,.world-detail-stage{width:min(1180px,100% - 28px);margin:0 auto;padding:clamp(28px,5vw,62px) 0 70px}.worlds-heading{grid-template-columns:minmax(0,1fr) minmax(260px,420px);align-items:end;gap:24px;display:grid}.worlds-heading p{color:var(--muted);font:700 12px/1.55 var(--ui);margin:0}.worlds-heading>div>p{color:#d9a7ff;font:900 9px/1 var(--mono);letter-spacing:1px}.worlds-heading h1{font:900 clamp(52px,9vw,100px)/.8 var(--display);margin:6px 0 0}.world-tabs{flex-wrap:wrap;gap:7px;margin:28px 0 14px;display:flex}.world-tabs button{border:2px solid var(--theme-card-border,var(--stone-dark));min-width:92px;min-height:40px;color:var(--muted);background:var(--surface);cursor:pointer;font:900 8px/1 var(--mono);padding:0 12px}.world-tabs button[aria-pressed=true]{color:#24162f;background:#d9a7ff;border-color:#b98aea}.world-state{border:3px solid var(--theme-card-border,var(--stone-dark));text-align:center;align-content:center;place-items:center;gap:12px;min-height:220px;padding:30px;display:grid}.world-state strong{font:900 30px/1 var(--display)}.world-state p{color:var(--muted);margin:0}.world-state .primary-button{width:auto}.world-map-wrap{background:radial-gradient(circle,#795aa638,#0000 58%),linear-gradient(#d9a7ff0a 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#d9a7ff0a 1px,#0000 1px) 0 0/28px 28px,#080a17;border:4px solid #5f477f;overflow:hidden}.world-map{width:100%;min-width:700px;display:block}.world-map line{stroke:#8067a3;stroke-width:2px;opacity:.72}.world-map marker path{fill:#b98aea}.world-map a circle{fill:#362447;stroke:#d9a7ff;stroke-width:3px;transition:fill .18s,stroke-width .18s}.world-map a:hover circle,.world-map a:focus circle{fill:#694989;stroke-width:6px}.world-map text{fill:#fff;font:900 10px/1 var(--mono);text-anchor:middle;pointer-events:none}.world-map .world-node-games{fill:#d9a7ff;font-size:8px}.world-map-key{color:var(--muted);font:800 8px/1.4 var(--mono);margin:8px 0 18px}.world-connection-list{background:#191227b8;border:2px solid #5f477f;margin:0 0 18px;padding:14px}.world-connection-list h2{color:#d9a7ff;font:900 9px/1 var(--mono);margin:0 0 10px}.world-connection-list ul{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:7px;margin:0;padding:0;list-style:none;display:grid}.world-connection-list li{background:#0b0a15;border:1px solid #5f477f;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:8px 10px;display:grid}.world-connection-list a{color:#f1d8ff;min-width:0;font:850 8px/1.25 var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.world-connection-list span{color:var(--muted);font:700 8px/1 var(--ui)}.world-connection-list>p{color:var(--muted);font:700 10px/1.4 var(--ui);margin:0}.world-list{gap:8px;display:grid}.world-list-card{border:3px solid var(--theme-card-border,var(--stone-dark));min-height:78px;color:var(--text);background:var(--theme-card,var(--surface));grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;display:grid}.world-list-card:hover{border-color:#b98aea}.world-list-orb{color:#d9a7ff;background:#362447;border:3px solid #d9a7ff;border-radius:50%;justify-self:center;place-items:center;display:grid}.world-list-card strong,.world-list-card small{display:block}.world-list-card strong{font:900 13px/1 var(--mono)}.world-list-card small{color:var(--muted);font:700 11px/1.35 var(--ui);margin-top:6px}.world-list-card>span:last-child{color:#d9a7ff;text-align:right;font:900 8px/1.5 var(--mono)}.world-back{color:#d9a7ff;font:900 9px/1 var(--mono)}.world-detail-grid{grid-template-columns:minmax(300px,.85fr) minmax(340px,1.15fr);gap:18px;margin-top:18px;display:grid}.world-detail-card,.world-rules-card,.world-lineage{border:4px solid var(--theme-card-border,var(--stone-dark));background:var(--theme-card,var(--surface));padding:clamp(18px,3vw,30px)}.world-detail-card{position:relative;overflow:hidden}.world-detail-orb{color:#d9a7ff;background:#362447;border:5px solid #d9a7ff;border-radius:50%;place-items:center;width:110px;height:110px;margin-bottom:24px;font-size:42px;display:grid;box-shadow:0 0 60px #d9a7ff38}.world-detail-card>p,.world-rules-card>p{color:#d9a7ff;font:900 8px/1 var(--mono);margin:0}.world-detail-card h1{font:900 clamp(31px,5vw,56px)/.9 var(--display);margin:8px 0 13px}.world-detail-card code{overflow-wrap:anywhere;color:#e9d8f6;font:750 10px/1.45 var(--mono);background:#0b0a15;border:2px solid #5f477f;padding:10px;display:block}.world-detail-card>button{color:#f1d8ff;cursor:pointer;min-height:36px;font:900 8px/1 var(--mono);background:#362447;border:2px solid #795aa6;margin-top:7px;padding:0 12px}.world-copy-message{color:#ffb6b5;font:750 10px/1.4 var(--ui);margin:8px 0 0}.world-detail-card dl{gap:8px;margin:23px 0 0;display:grid}.world-detail-card dl>div{border-top:1px solid var(--theme-card-border,var(--stone-dark));justify-content:space-between;gap:12px;padding-top:8px;display:flex}.world-detail-card dt{color:var(--muted);font:900 8px/1 var(--mono)}.world-detail-card dd{text-align:right;font:800 10px/1 var(--ui);margin:0}.world-rules-card h2{font:900 clamp(30px,4vw,52px)/.95 var(--display);margin:9px 0 20px}.world-rules-card ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.world-rules-card li{color:#f1d8ff;font:800 12px/1.4 var(--ui);background:#462f599e;border-left:5px solid #d9a7ff;padding:14px}.world-actions{grid-template-columns:1.3fr 1fr;gap:8px;margin-top:24px;display:grid}.world-actions>a{place-items:center;min-height:46px;margin:0;text-decoration:none;display:grid}.world-access-card{background:#1d122bc2;border:3px solid #795aa6;gap:9px;margin-top:24px;padding:16px;display:grid}.world-access-card strong{color:#d9a7ff;font:900 10px/1 var(--mono)}.world-access-card p{color:var(--muted);font:700 11px/1.45 var(--ui);margin:0}.world-access-card button{color:#24162f;cursor:pointer;min-height:44px;font:900 8px/1 var(--mono);background:#d9a7ff;border:2px solid #d9a7ff;padding:0 14px}.world-access-card button:disabled{cursor:wait;opacity:.72}.world-lineage{margin-top:18px}.world-lineage h2{font:900 25px/1 var(--display);margin:0 0 14px}.world-lineage>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.world-lineage article{border:2px solid var(--theme-card-border,var(--stone-dark));align-content:start;gap:7px;padding:14px;display:grid}.world-lineage article>strong{color:#d9a7ff;font:900 8px/1 var(--mono)}.world-lineage article>a{overflow-wrap:anywhere;color:var(--text);font:750 9px/1.35 var(--mono)}.world-lineage article>span{color:var(--muted);font:700 11px/1.4 var(--ui)}@media (width<=760px){.worlds-heading,.world-detail-grid{grid-template-columns:1fr}.world-list-card{grid-template-columns:52px minmax(0,1fr)}.world-list-card>span:last-child{text-align:left;grid-column:2}.world-lineage>div,.world-actions{grid-template-columns:1fr}.world-map-wrap{overflow-x:auto}.applied-world{grid-template-columns:1fr}.magic-apply-row{flex-direction:column;align-items:stretch}}.game-shell[data-notification-test=true]{height:auto;min-height:100dvh;overflow:visible}:is(html:has(.game-shell[data-notification-test=true]),body:has(.game-shell[data-notification-test=true])){height:auto;overflow-y:auto}.notification-test-game{width:min(1100px,100% - 32px);font:500 16px/1.5 var(--ui);margin:0 auto 32px}.notification-test-game>summary{width:fit-content;color:var(--muted);cursor:pointer;margin:0 auto;padding:12px 18px;font-weight:700}.notification-test-game>summary:focus-visible{outline:3px solid var(--electric-blue);outline-offset:2px}.notification-test-game .game-layout{height:auto;min-height:0;overflow:visible}.game-shell[data-notification-test=true] .board-column{height:auto}@media (width<=700px){.notification-test-game{width:100%}.notification-test-game .game-layout{padding:8px 5px 76px;display:block}}:is(html:has(.game-shell[data-pending-invitation=true]),body:has(.game-shell[data-pending-invitation=true])){height:auto;overflow-y:auto}.game-shell[data-pending-invitation=true]{height:auto;min-height:100dvh;overflow:visible}.game-shell[data-pending-invitation=true]>.game-layout{height:auto;overflow:visible}.game-shell[data-pending-invitation=true] .board-column{height:auto}.game-shell[data-pending-invitation=true] .board-message{position:static}@media (width<=980px){.game-shell[data-pending-invitation=true] .board-wrap{flex:none;width:min(100%,560px)}}:root,:root[data-theme=blockfield]{--theme-page:radial-gradient(circle at 16% 10%, #63c8dd2e, transparent 30rem), radial-gradient(circle at 90% 84%, #ffd65a1c, transparent 34rem), linear-gradient(145deg, #172f38, #0d1a1e 66%, #142923);--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#0c191df2;--theme-card:linear-gradient(145deg, #2e464bf7, #16272bfa);--theme-card-border:#45656c;--theme-frame:#1b343a;--theme-frame-border:#102126;--theme-piece-white:#f8f3e6;--theme-piece-white-stroke:#24373d;--theme-piece-black:#17262c;--theme-piece-black-stroke:#d9e6e3;--board-light:#dce7e4;--board-dark:#527681}:root[data-theme=classic]{--riot-navy:#231d1a;--riot-black:#16110f;--surface:#3f332c;--surface-raised:#514238;--surface-soft:#6d5a4c;--electric-blue:#9bc3ca;--chess-gold:#d8ad55;--neon-purple:#796276;--riot-pink:#b34d46;--teal-spark:#8fb46c;--text:#fff7e6;--muted:#d1c3ae;--board-light:#f0d9b5;--board-dark:#b58863;--theme-page:linear-gradient(145deg, #2a211d, #171211 70%);--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#1b1513f2;--theme-card:linear-gradient(145deg, #483a31fa, #221b18fa);--theme-card-border:#866d57;--theme-frame:#6d4328;--theme-frame-border:#342016;--theme-piece-white:#fff8e8;--theme-piece-white-stroke:#765936;--theme-piece-black:#251c18;--theme-piece-black-stroke:#d8ad55;--display:Georgia, "Times New Roman", serif}:root[data-theme=ocean]{--riot-navy:#123244;--riot-black:#091d28;--surface:#284d5e;--surface-raised:#376477;--surface-soft:#537d89;--electric-blue:#69d8f2;--chess-gold:#f1d37a;--neon-purple:#7f88be;--riot-pink:#e26373;--teal-spark:#70e0c1;--text:#effcff;--muted:#c2dce3;--board-light:#d7eef2;--board-dark:#4d8195;--theme-page:radial-gradient(circle at 80% 10%, #245d75, transparent 34%), linear-gradient(160deg, #153d52, #071a25 72%);--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#071c27f0;--theme-card:linear-gradient(145deg, #2b5467fa, #0d2735fa);--theme-card-border:#315d70;--theme-frame:#315d70;--theme-frame-border:#102d3c;--theme-piece-white:#f7feff;--theme-piece-white-stroke:#2a7289;--theme-piece-black:#102d3c;--theme-piece-black-stroke:#f1d37a}:root[data-theme=toybox]{--riot-navy:#2250a4;--riot-black:#14275c;--surface:#2864bd;--surface-raised:#3477d3;--surface-soft:#59a5dd;--electric-blue:#7ee8ff;--chess-gold:#ffcf3a;--neon-purple:#814fbd;--riot-pink:#e84b42;--teal-spark:#5ed36a;--text:#fffef3;--muted:#d8ecff;--board-light:#ffe39a;--board-dark:#e44e3f;--theme-page:linear-gradient(180deg, #0b234961, #0d1f43c2), url(/themes/toybox.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#14275cf5;--theme-card:linear-gradient(145deg, #3477d3, #214f9c);--theme-card-border:#10265c;--theme-frame:#ffcf3a;--theme-frame-border:#bd7620;--theme-piece-white:#fffef3;--theme-piece-white-stroke:#2669bd;--theme-piece-black:#162554;--theme-piece-black-stroke:#ffcf3a}:root[data-theme=arena-pop]{--riot-navy:#25164b;--riot-black:#140b2b;--surface:#493080;--surface-raised:#6544a4;--surface-soft:#8062b6;--electric-blue:#7ee8ff;--chess-gold:#ffcd3c;--neon-purple:#a76cff;--riot-pink:#ff5d8d;--teal-spark:#57e6ad;--text:#fff8fd;--muted:#d8ccec;--board-light:#cdb8ff;--board-dark:#7445c8;--theme-page:linear-gradient(180deg, #0f062542, #14082bd1), url(/themes/arena-pop.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#140b2bf2;--theme-card:linear-gradient(145deg, #6544a4fa, #28174efa);--theme-card-border:#8d67cf;--theme-frame:#57368e;--theme-frame-border:#1d103c;--theme-piece-white:#fff8fd;--theme-piece-white-stroke:#7949ca;--theme-piece-black:#1b1039;--theme-piece-black-stroke:#ffcd3c}:root[data-theme=high-fantasy]{--riot-navy:#233228;--riot-black:#101a14;--surface:#3b4b3d;--surface-raised:#53644e;--surface-soft:#6f795c;--electric-blue:#8ec6ba;--chess-gold:#c48b42;--neon-purple:#756287;--riot-pink:#a84840;--teal-spark:#8fbd6a;--text:#f7edcf;--muted:#d0c9aa;--board-light:#d9c690;--board-dark:#426045;--theme-page:linear-gradient(180deg, #0b1a105c, #0b150ed6), url(/themes/high-fantasy.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#101a14f2;--theme-card:linear-gradient(145deg, #4b5b45fa, #202d23fa);--theme-card-border:#75552e;--theme-frame:#75552e;--theme-frame-border:#342516;--theme-piece-white:#f7edcf;--theme-piece-white-stroke:#715f3a;--theme-piece-black:#17251b;--theme-piece-black-stroke:#c48b42;--display:Georgia, "Times New Roman", serif}:root[data-theme=mythic-beasts]{--riot-navy:#2b203b;--riot-black:#120d1a;--surface:#443354;--surface-raised:#5b4168;--surface-soft:#765a7c;--electric-blue:#78d9d2;--chess-gold:#f0a34b;--neon-purple:#ad74ce;--riot-pink:#e35d63;--teal-spark:#7fd58f;--text:#fff0cf;--muted:#d9c5d4;--board-light:#f0d89a;--board-dark:#754968;--theme-page:radial-gradient(circle at 18% 12%, #78d9d229, transparent 27rem), radial-gradient(circle at 84% 80%, #f0a34b2b, transparent 30rem), linear-gradient(150deg, #2a1c38, #120d1a 66%, #2b1825);--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#120d1af2;--theme-card:linear-gradient(145deg, #4b3558fa, #1f162afa);--theme-card-border:#8e647d;--theme-frame:#5c3543;--theme-frame-border:#25131e;--theme-piece-white:#fff0cf;--theme-piece-white-stroke:#754968;--theme-piece-black:#1b1327;--theme-piece-black-stroke:#f0a34b;--mythic-accent:#f0a34b;--display:Georgia, "Times New Roman", serif}:root[data-theme=arcane-cards]{--riot-navy:#2c1725;--riot-black:#160d16;--surface:#4c293b;--surface-raised:#63354c;--surface-soft:#7c4b5c;--electric-blue:#8fcad1;--chess-gold:#d7a84b;--neon-purple:#8a5da0;--riot-pink:#c44f66;--teal-spark:#91bd82;--text:#fff4d4;--muted:#d8c6bd;--board-light:#ead7a4;--board-dark:#7a3544;--theme-page:linear-gradient(180deg, #18081461, #120810db), url(/themes/arcane-cards.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#160d16f5;--theme-card:linear-gradient(145deg, #63354cfa, #2a1723fa);--theme-card-border:#9b7441;--theme-frame:#5e3544;--theme-frame-border:#211522;--theme-piece-white:#fff4d4;--theme-piece-white-stroke:#7a3544;--theme-piece-black:#211522;--theme-piece-black-stroke:#d7a84b;--display:Palatino, "Palatino Linotype", Georgia, serif}:root[data-theme=iron-legions]{--riot-navy:#24292c;--riot-black:#111416;--surface:#3a4042;--surface-raised:#505759;--surface-soft:#686e6e;--electric-blue:#91b7c6;--chess-gold:#c59d58;--neon-purple:#74697e;--riot-pink:#b74b3e;--teal-spark:#8aa479;--text:#f4eee2;--muted:#cec6b8;--board-light:#c9c0ad;--board-dark:#545b5d;--theme-page:linear-gradient(180deg, #0c0f1157, #0a0c0ddb), url(/themes/iron-legions.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#111416f5;--theme-card:linear-gradient(145deg, #43494bfa, #1c2022fa);--theme-card-border:#777168;--theme-frame:#51453b;--theme-frame-border:#201b18;--theme-piece-white:#f4eee2;--theme-piece-white-stroke:#5b5550;--theme-piece-black:#181b1d;--theme-piece-black-stroke:#c59d58;--display:Georgia, "Times New Roman", serif}:root[data-theme=shadow-shogun]{--riot-navy:#202329;--riot-black:#0a0d12;--surface:#31343a;--surface-raised:#45474c;--surface-soft:#656269;--electric-blue:#9fb9c6;--chess-gold:#d5b16e;--neon-purple:#71627e;--riot-pink:#be4d3e;--teal-spark:#819b80;--text:#f7f0df;--muted:#cfc7b7;--board-light:#e1d7c2;--board-dark:#514a43;--theme-page:linear-gradient(180deg, #04080d3d, #070a0ed6), url(/themes/shadow-shogun.webp);--theme-page-size:cover, cover;--theme-page-position:center, center;--theme-page-attachment:scroll, scroll;--theme-topbar:#080b0ff5;--theme-card:linear-gradient(145deg, #3d3d40fa, #17191dfa);--theme-card-border:#725346;--theme-frame:#4e2d22;--theme-frame-border:#1b1010;--theme-piece-white:#f7f0df;--theme-piece-white-stroke:#645c51;--theme-piece-black:#111419;--theme-piece-black-stroke:#be4d3e;--display:Georgia, "Times New Roman", serif}:root[data-theme=neon-grid]{--riot-navy:#0d1125;--riot-black:#060811;--surface:#151c36;--surface-raised:#202b4c;--surface-soft:#2f3d62;--electric-blue:#3ff4ff;--chess-gold:#ffe04f;--neon-purple:#9f5cff;--riot-pink:#ff4fd8;--teal-spark:#44ffc1;--text:#f4fdff;--muted:#b8c6dd;--board-light:#a9f8ff;--board-dark:#1d5675;--theme-page:linear-gradient(#3ff4ff14 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, #ff4fd80f 1px, transparent 1px) 0 0 / 32px 32px, #080b18;--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#060811f0;--theme-card:linear-gradient(145deg, #202b4cfa, #080b18fa);--theme-card-border:#3ff4ff;--theme-frame:#182440;--theme-frame-border:#ff4fd8;--theme-piece-white:#f4fdff;--theme-piece-white-stroke:#169bab;--theme-piece-black:#080b18;--theme-piece-black-stroke:#ffe04f}:root[data-theme=mono]{--riot-navy:#242424;--riot-black:#111;--surface:#3b3b3b;--surface-raised:#4a4a4a;--surface-soft:#666;--electric-blue:#d4d4d4;--chess-gold:#fff;--neon-purple:#949494;--riot-pink:#d2d2d2;--teal-spark:#eee;--text:#fff;--muted:#c8c8c8;--board-light:#ececec;--board-dark:#777;--theme-page:linear-gradient(145deg, #2b2b2b, #111);--theme-page-size:auto;--theme-page-position:0 0;--theme-page-attachment:scroll;--theme-topbar:#111111f5;--theme-card:linear-gradient(145deg, #484848, #242424);--theme-card-border:#777;--theme-frame:#4b4b4b;--theme-frame-border:#171717;--theme-piece-white:#fff;--theme-piece-white-stroke:#555;--theme-piece-black:#171717;--theme-piece-black-stroke:#fff;--display:var(--mono)}html[data-theme] body,html[data-theme] :is(.public-shell,.game-shell,.home-shell,.join-shell,.changelog-shell,.demo-shell,.capture-lab-shell,.account-shell){background:var(--theme-page);background-attachment:var(--theme-page-attachment);background-position:var(--theme-page-position);background-size:var(--theme-page-size);transition:background .16s,color .16s}html[data-theme] .topbar{background:var(--theme-topbar)}html[data-theme] :is(.voxel-card,.side-card,.public-board-card,.changelog-card,.demo-player-card){border-color:var(--theme-card-border);background:var(--theme-card)}html[data-theme] .game-shell .board-wrap{border-color:var(--theme-frame-border);background:var(--theme-frame)}html[data-theme] .game-shell .light-square{background:var(--board-light)}html[data-theme] .game-shell .dark-square{background:var(--board-dark)}html[data-theme] .game-shell .piece-w,html[data-theme] .game-shell .player-piece.piece-w{color:var(--theme-piece-white);-webkit-text-stroke-color:var(--theme-piece-white-stroke)}html[data-theme] .game-shell .piece-b,html[data-theme] .game-shell .player-piece.piece-b{color:var(--theme-piece-black);-webkit-text-stroke-color:var(--theme-piece-black-stroke)}.chess-piece-svg[data-piece-theme=mythic-beasts] .mythic-accent{fill:var(--mythic-accent,#f0a34b);stroke:var(--piece-outline);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.chess-piece-svg[data-piece-theme=mythic-beasts] .mythic-eye{fill:var(--electric-blue,#78d9d2);stroke:var(--piece-outline);stroke-width:1.5px}html[data-theme] .public-shell{color:var(--text)}html[data-theme] .public-topbar{border-bottom-color:color-mix(in srgb, var(--chess-gold) 42%, transparent)}html[data-theme] .public-nav-link,html[data-theme] .public-copy>p:not(.public-eyebrow),html[data-theme] .public-demo-link,html[data-theme] .public-copy ul,html[data-theme] .public-board-card>p{color:var(--muted)}html[data-theme] .public-nav-link,html[data-theme] .public-demo-link{border-bottom-color:color-mix(in srgb, var(--electric-blue) 72%, transparent)}html[data-theme] .public-nav-link:hover,html[data-theme] .public-demo-link:hover,html[data-theme] .public-eyebrow,html[data-theme] .public-copy li:before{color:var(--electric-blue)}html[data-theme] .public-eyebrow span{background:var(--electric-blue);box-shadow:0 0 12px color-mix(in srgb, var(--electric-blue) 72%, transparent)}html[data-theme] .public-copy h1{color:var(--text)}html[data-theme] .public-copy h1 em,html[data-theme] .public-demo-link span,html[data-theme] .public-community-link span,html[data-theme] .public-board-card>p span{color:var(--chess-gold)}html[data-theme] .public-play-button{color:var(--riot-black);background:var(--chess-gold);box-shadow:0 7px 0 var(--theme-frame-border), 0 20px 45px #00000057}html[data-theme] .public-community-link{color:var(--teal-spark)}html[data-theme] .public-community-link:hover{color:color-mix(in srgb, var(--teal-spark) 78%, white)}html[data-theme] .public-board-card{border-color:var(--theme-card-border);background:var(--theme-card)}html[data-theme] .public-board-card:before{background:var(--chess-gold);box-shadow:0 0 18px color-mix(in srgb, var(--chess-gold) 72%, transparent)}html[data-theme] .public-board{border-color:var(--theme-frame);background:var(--board-light);box-shadow:0 0 0 2px var(--theme-frame-border), inset 0 0 30px #0003}html[data-theme] .public-board>*{color:var(--theme-piece-black);background:var(--board-light)}html[data-theme] .public-board>:nth-child(16n+2),html[data-theme] .public-board>:nth-child(16n+4),html[data-theme] .public-board>:nth-child(16n+6),html[data-theme] .public-board>:nth-child(16n+8),html[data-theme] .public-board>:nth-child(16n+9),html[data-theme] .public-board>:nth-child(16n+11),html[data-theme] .public-board>:nth-child(16n+13),html[data-theme] .public-board>:nth-child(16n+15){background:var(--board-dark)}html[data-theme] :is(.mode-options label,.variant-option){border-color:var(--theme-card-border);background:var(--surface);box-shadow:inset 0 4px #ffffff14, 4px 4px 0 var(--theme-frame-border)}html[data-theme] :is(.mode-options label.selected,.variant-option.selected){border-color:var(--electric-blue);background:color-mix(in srgb, var(--electric-blue) 18%, var(--surface));box-shadow:inset 0 4px #ffffff1a, 4px 4px 0 var(--theme-frame-border)}html[data-theme] :is(.mode-options label>span,.variant-trigger-icon,.variant-option-icon,.variant-fixed-rules>span){border-color:var(--theme-frame-border);color:var(--riot-black);background:var(--chess-gold);box-shadow:3px 3px 0 var(--theme-frame-border)}html[data-theme] :is(.mode-options small,.difficulty-heading label,.difficulty-scale,.variant-trigger small,.variant-trigger em,.variant-group legend,.variant-option em,.variant-dialog-note){color:var(--muted)}html[data-theme] :is(.difficulty-control,.variant-trigger){border-color:var(--theme-card-border);background:var(--surface);box-shadow:inset 0 4px #ffffff14, 4px 4px 0 var(--theme-frame-border)}html[data-theme] .variant-dialog{border-color:var(--theme-card-border);background:var(--theme-card)}html[data-theme] .variant-dialog-close{border-color:var(--theme-card-border);background:var(--surface);box-shadow:3px 3px 0 var(--theme-frame-border)}html[data-theme] .variant-fixed-rules{border-color:var(--teal-spark);color:var(--text);background:color-mix(in srgb, var(--teal-spark) 18%, var(--surface));box-shadow:4px 4px 0 var(--theme-frame-border)}html[data-theme] :is(.magic-box.enabled,.magic-box.coming-soon){border-color:var(--neon-purple);background:color-mix(in srgb, var(--neon-purple) 10%, var(--surface))}html[data-theme] .magic-toggle>span{border-color:var(--theme-frame-border);color:var(--riot-black);background:var(--neon-purple);box-shadow:3px 3px 0 var(--theme-frame-border)}html[data-theme] .magic-toggle strong{color:var(--text)}html[data-theme] :is(.magic-toggle>b,.magic-box.enabled .magic-toggle>b,.magic-box.coming-soon .magic-toggle>b){border-color:var(--neon-purple);color:var(--riot-black);background:var(--neon-purple)}html[data-theme] .magic-coming-soon{border-color:var(--neon-purple);color:var(--text);background:color-mix(in srgb, var(--neon-purple) 14%, transparent)}html[data-theme] .demo-topbar{border-bottom-color:color-mix(in srgb, var(--chess-gold) 42%, transparent)}html[data-theme] .demo-player-meta,html[data-theme] .demo-actions p{color:var(--muted)}html[data-theme] .demo-transcript{border-color:var(--theme-card-border);background:color-mix(in srgb, var(--surface) 82%, transparent)}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}@media (prefers-reduced-motion:reduce){html[data-theme] :is(.game-shell,.home-shell,.join-shell,.changelog-shell,.demo-shell,.capture-lab-shell){transition:none}}.chess-piece-svg{pointer-events:none;shape-rendering:geometricprecision;width:100%;height:100%;display:block;overflow:visible}.chess-piece-svg.piece-w{--piece-outline:var(--theme-piece-white-stroke,#26353b);color:var(--theme-piece-white,#f7f3e8)}.chess-piece-svg.piece-b{--piece-outline:var(--theme-piece-black-stroke,#dce9e6);color:var(--theme-piece-black,#17262c)}.piece-silhouette{fill:currentColor;stroke:var(--piece-outline);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.piece-detail{fill:none;stroke:var(--piece-outline);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.piece-detail-fill{fill:var(--piece-outline);stroke:none}.game-shell .piece-w,.game-shell .piece-b,.public-shell .piece-w,.public-shell .piece-b,.mini-piece .piece-w,.mini-piece .piece-b{-webkit-text-stroke:0;filter:none;text-shadow:none}.game-shell .match-banner>.player-card,.game-shell .match-banner>.player-card.you-player{border:1px solid color-mix(in srgb, var(--theme-card-border,#45636a) 68%, transparent);background:color-mix(in srgb, var(--surface,#314a50) 88%, transparent);box-shadow:none;border-radius:12px}.game-shell .match-banner>.player-card.you-player{border-color:color-mix(in srgb, var(--electric-blue) 72%, transparent);background:color-mix(in srgb, var(--electric-blue) 13%, var(--surface,#314a50))}.game-shell .player-piece{place-items:center;width:30px;height:30px;display:grid}.game-shell .player-piece .chess-piece-svg{width:92%;height:92%}.game-shell .status-lamp{background:color-mix(in srgb, var(--muted) 40%, transparent);width:10px;height:10px;box-shadow:none;clip-path:none;border:0;border-radius:50%}.game-shell .status-lamp[data-active=true]{background:var(--teal-spark);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal-spark) 22%, transparent);border:0}.game-shell .versus{box-shadow:none;clip-path:none;border:0;border-radius:9px}.game-shell .turn-panel,.game-shell .turn-panel.mine,.game-shell .turn-panel.completed,.game-shell .turn-panel.history,.game-shell .turn-panel.check{border:1px solid color-mix(in srgb, var(--theme-card-border,#45636a) 70%, transparent);background:color-mix(in srgb, var(--surface,#314a50) 91%, transparent);box-shadow:none;clip-path:none;border-radius:12px}.game-shell .turn-panel.mine{border-color:color-mix(in srgb, var(--electric-blue) 78%, transparent);background:color-mix(in srgb, var(--electric-blue) 12%, var(--surface,#314a50))}.game-shell .turn-panel.completed{border-color:color-mix(in srgb, var(--chess-gold) 74%, transparent);background:color-mix(in srgb, var(--chess-gold) 12%, var(--surface,#314a50))}.game-shell .turn-panel.history{border-color:color-mix(in srgb, var(--neon-purple) 75%, transparent);background:color-mix(in srgb, var(--neon-purple) 13%, var(--surface,#314a50))}.game-shell .turn-panel.check{border-color:color-mix(in srgb, var(--riot-pink) 82%, transparent);background:color-mix(in srgb, var(--riot-pink) 14%, var(--surface,#314a50))}.game-shell .turn-panel>span,.game-shell .turn-panel.mine>span,.game-shell .turn-panel.completed>span,.game-shell .turn-panel.history>span,.game-shell .turn-panel.check>span{box-shadow:none;clip-path:none;border:0;border-radius:9px}.game-shell .history-controls button{border:1px solid color-mix(in srgb, var(--theme-card-border,#45636a) 76%, transparent);background:color-mix(in srgb, var(--surface-raised,#456168) 88%, transparent);box-shadow:none;border-radius:9px}.game-shell .board-wrap{border:1px solid color-mix(in srgb, var(--theme-frame-border,#102126) 72%, transparent);background:var(--theme-frame,#1b343a);clip-path:none;border-radius:18px;padding:clamp(5px,.65vw,8px);box-shadow:0 18px 46px #020c0f47}.game-shell .chessboard{border:0;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px #06141842}.game-shell .light-square,html[data-theme] .game-shell .light-square{background:var(--board-light)}.game-shell .dark-square,html[data-theme] .game-shell .dark-square{background:var(--board-dark)}.game-shell .square{transition:background-color .1s}.game-shell .square.last-move:before{background:color-mix(in srgb, var(--electric-blue) 27%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--electric-blue) 55%, transparent);border:0;inset:0}.game-shell .square.selected:before{border:clamp(2px, .34vw, 4px) solid var(--chess-gold);background:color-mix(in srgb, var(--chess-gold) 14%, transparent);box-shadow:none;border-radius:7px;inset:4px}.game-shell .square.legal-target:after{z-index:5;background:color-mix(in srgb, var(--teal-spark) 78%, #153336);width:22%;box-shadow:0 0 0 4px color-mix(in srgb, var(--teal-spark) 20%, transparent);pointer-events:none;border:0;border-radius:50%;position:absolute}.game-shell .square.capture-target:after{z-index:5;border:clamp(3px, .45vw, 5px) solid color-mix(in srgb, var(--riot-pink) 84%, #ff725d);box-shadow:none;pointer-events:none;background:0 0;border-radius:50%;inset:8%}.game-shell .square.drag-over:before{border:clamp(2px, .36vw, 4px) solid var(--teal-spark);background:color-mix(in srgb, var(--teal-spark) 18%, transparent);box-shadow:none;border-radius:7px;inset:4px}.game-shell .square.king-in-check{box-shadow:inset 0 0 0 clamp(3px, .5vw, 6px) color-mix(in srgb, var(--riot-pink) 86%, #ff334f), inset 0 0 0 999px color-mix(in srgb, var(--riot-pink) 18%, transparent);animation:.82s ease-in-out infinite alternate flat-check-pulse}.game-shell .square.king-in-check:after{display:none}.game-shell .square:focus-visible{z-index:6;outline:3px solid var(--chess-gold);outline-offset:-4px}.game-shell .piece{place-items:center;width:84%;height:84%;font-size:0;line-height:0;transition:transform .11s,opacity .11s;display:grid;transform:none}.game-shell .square:hover .piece{transform:scale(1.025)}.game-shell .piece.dragging{opacity:.24;transform:scale(.9)}.game-shell .rank-label,.game-shell .file-label{text-shadow:none;font-weight:800}.game-shell .light-square .rank-label,.game-shell .light-square .file-label{color:color-mix(in srgb, var(--board-dark) 82%, #10262b)}.game-shell .dark-square .rank-label,.game-shell .dark-square .file-label{color:color-mix(in srgb, var(--board-light) 82%, white)}.game-shell .captured-by b{align-items:center;gap:1px;font-size:0;display:flex}.game-shell .captured-by i{flex:none;place-items:center;width:17px;height:17px;display:inline-grid}.game-shell .drag-ghost{filter:drop-shadow(0 8px 12px #030b0e47);font-size:0}.game-shell .drag-ghost .chess-piece-svg{width:100%;height:100%}.game-shell .promotion-card>div button{place-items:center;font-size:0;display:grid}.game-shell .promotion-card>div button .chess-piece-svg{width:78%;height:78%}@keyframes flat-check-pulse{0%{filter:saturate()}to{filter:saturate(1.22)brightness(1.04)}}.game-shell .finisher-piece{height:100%;font-size:0}.mini-piece{clip-path:none;border-radius:11px}.mini-piece .chess-piece-svg{width:82%;height:82%}.mini-piece.light{background:#e4ece9}.mini-piece.dark{background:#263b42}.public-board-card{background:var(--theme-card,#17292d);clip-path:none;border-radius:24px;transform:none;box-shadow:0 24px 68px #00000057}.public-board-card:before{box-shadow:none}.public-board{aspect-ratio:1;border:7px solid var(--theme-frame,#20383e);background:var(--board-light,#dce7e4);box-shadow:none;border-radius:14px;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative;overflow:hidden}.public-board>span{min-width:0;min-height:0;color:inherit;background:var(--board-light,#dce7e4);text-shadow:none;place-items:center;font-size:0;display:grid}.public-board>span>i{z-index:2;will-change:transform, opacity;place-items:center;width:100%;height:100%;font-style:normal;display:grid;position:relative}.public-board>span:has(>i[class]){overflow:visible}.home-move-e2-e4{animation:8s cubic-bezier(.2,.75,.2,1) infinite home-e2-e4}.home-move-e7-e5{animation:8s cubic-bezier(.2,.75,.2,1) infinite home-e7-e5}.home-move-g1-f3{animation:8s cubic-bezier(.2,.75,.2,1) infinite home-g1-f3}.home-move-b8-c6{animation:8s cubic-bezier(.2,.75,.2,1) infinite home-b8-c6}@keyframes home-e2-e4{0%,8%{opacity:1;transform:translate(0)}14%,86%{opacity:1;transform:translateY(-200%)}87%{opacity:0;transform:translateY(-200%)}87.01%,94%{opacity:0;transform:translate(0)}96%,to{opacity:1;transform:translate(0)}}@keyframes home-e7-e5{0%,22%{opacity:1;transform:translate(0)}28%,86%{opacity:1;transform:translateY(200%)}87%{opacity:0;transform:translateY(200%)}87.01%,94%{opacity:0;transform:translate(0)}96%,to{opacity:1;transform:translate(0)}}@keyframes home-g1-f3{0%,36%{opacity:1;transform:translate(0)}43%,86%{opacity:1;transform:translate(-100%,-200%)}87%{opacity:0;transform:translate(-100%,-200%)}87.01%,94%{opacity:0;transform:translate(0)}96%,to{opacity:1;transform:translate(0)}}@keyframes home-b8-c6{0%,51%{opacity:1;transform:translate(0)}58%,86%{opacity:1;transform:translate(100%,200%)}87%{opacity:0;transform:translate(100%,200%)}87.01%,94%{opacity:0;transform:translate(0)}96%,to{opacity:1;transform:translate(0)}}.public-board>span:nth-child(16n+2),.public-board>span:nth-child(16n+4),.public-board>span:nth-child(16n+6),.public-board>span:nth-child(16n+8),.public-board>span:nth-child(16n+9),.public-board>span:nth-child(16n+11),.public-board>span:nth-child(16n+13),.public-board>span:nth-child(16n+15){background:var(--board-dark,#527681)}.public-board .chess-piece-svg{width:84%;height:84%}.public-board .piece-w{--piece-outline:var(--theme-piece-white-stroke,#24373d);color:var(--theme-piece-white,#f8f3e6)}.public-board .piece-b{--piece-outline:var(--theme-piece-black-stroke,#d9e6e3);color:var(--theme-piece-black,#17262c)}@media (width<=620px){.game-shell .board-wrap{border-radius:12px}.game-shell .chessboard{border-radius:8px}.game-shell .player-piece{width:24px;height:24px}.game-shell .captured-by i{width:15px;height:15px}.public-board-card{border-radius:18px}}@media (forced-colors:active){.game-shell .square.selected,.game-shell .square.legal-target,.game-shell .square.capture-target,.game-shell .square.king-in-check{outline-offset:-4px;outline:3px solid highlight}}@media (prefers-reduced-motion:reduce){.game-shell .square.king-in-check{animation:none}.game-shell .square:hover .piece{transform:none}.public-board>span>i{animation:none!important}}.square.premove-square{box-shadow:inset 0 0 0 5px #9b63ef}.premove-panel{background:var(--surface,#20242d);border:1px solid #9b63ef;border-radius:.8rem;max-width:48rem;margin:0 auto 1rem;padding:.8rem 1rem}.premove-panel p{margin:.4rem 0}.premove-panel button,.premove-panel bdi{margin-inline-end:.8rem}.notification-board-timing{border:1px solid var(--teal-spark);width:fit-content;max-width:calc(100% - 2rem);color:var(--text);background:var(--surface-raised);font:600 .875rem/1.4 var(--ui);text-align:center;border-radius:.5rem;margin:.5rem auto;padding:.35rem .7rem;display:block}html[dir=rtl] .player-card-copy{text-align:start;direction:rtl}.game-shell .chessboard,.capture-lab-board{position:relative}.game-shell .piece.combat-piece-hidden{opacity:0!important}.board-action-animation{z-index:9;pointer-events:none;animation:combat-lifetime var(--action-duration) linear both;position:absolute;inset:0;overflow:hidden}.board-action-animation .action-unit{z-index:2;transform-origin:50% 78%;will-change:transform, opacity;place-items:center;width:12.5%;height:12.5%;display:grid;position:absolute}.board-action-animation .action-piece-body{place-items:center;width:100%;height:100%;display:grid;position:relative}.board-action-animation .action-unit .chess-piece-svg{filter:drop-shadow(0 .1em .08em #030b0e57);width:84%;height:84%}.board-action-animation .action-attacker{top:var(--action-from-y);left:var(--action-from-x);z-index:4}.board-action-animation.is-move .action-attacker{animation:combat-glide var(--action-duration) cubic-bezier(.2, .78, .24, 1) both}.board-action-animation.is-capture[data-attacker=p] .action-attacker{animation:combat-pawn-strike var(--action-duration) cubic-bezier(.2, .72, .18, 1) both}.board-action-animation.is-capture[data-attacker=n] .action-attacker{animation:combat-knight-pounce var(--action-duration) cubic-bezier(.2, .76, .18, 1) both}.board-action-animation.is-capture[data-attacker=b] .action-attacker{animation:combat-bishop-thrust var(--action-duration) cubic-bezier(.18, .74, .2, 1) both}.board-action-animation.is-capture[data-attacker=r] .action-attacker{animation:combat-rook-charge var(--action-duration) cubic-bezier(.13, .8, .2, 1) both}.board-action-animation.is-capture[data-attacker=q] .action-attacker{animation:combat-queen-sweep var(--action-duration) cubic-bezier(.18, .74, .16, 1) both}.board-action-animation.is-capture[data-attacker=k] .action-attacker{animation:combat-king-chop var(--action-duration) cubic-bezier(.18, .72, .18, 1) both}.board-action-animation .action-victim{top:var(--victim-y);left:var(--victim-x);z-index:3;animation:combat-victim-fall var(--action-duration) cubic-bezier(.2, .7, .2, 1) both}.board-action-animation[data-attacker=n] .action-victim{animation-name:combat-victim-stomp}.board-action-animation[data-attacker=r] .action-victim{animation-name:combat-victim-shove}.board-action-animation[data-attacker=q] .action-victim{animation-name:combat-victim-spin}.board-action-animation[data-attacker=k] .action-victim{animation-name:combat-victim-crush}.board-action-animation .action-weapon{z-index:5;opacity:0;background:linear-gradient(to right, #fff7cd 0 31%, var(--chess-gold) 32% 69%, #8f5d1f 70% 100%);width:10%;height:70%;box-shadow:0 0 .16em color-mix(in srgb, var(--chess-gold) 74%, transparent);transform-origin:50% 88%;border:max(1px,.14cqw) solid #2b2718;border-radius:999px 999px 3px 3px;position:absolute;top:0;right:3%}.board-action-animation .action-weapon:after{content:"";background:#3a2a1d;border-radius:999px;width:310%;height:10%;position:absolute;bottom:6%;right:-105%}.board-action-animation[data-attacker=p] .action-weapon{animation:combat-pawn-sword var(--action-duration) ease-out both}.board-action-animation[data-attacker=b] .action-weapon{transform-origin:50% 92%;width:7%;height:98%;animation:combat-bishop-lance var(--action-duration) ease-out both;top:9%;right:-9%}.board-action-animation[data-attacker=q] .action-weapon{height:76%;animation:combat-queen-blade var(--action-duration) ease-out both;top:-2%}.board-action-animation[data-attacker=k] .action-weapon{width:13%;height:84%;animation:combat-king-blade var(--action-duration) ease-out both;top:-8%}.board-action-animation[data-attacker=n] .action-weapon,.board-action-animation[data-attacker=r] .action-weapon{display:none}.board-action-animation .action-trail{opacity:0;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--electric-blue) 72%, transparent));border-radius:999px;width:72%;height:18%;position:absolute;top:50%;right:62%}.board-action-animation[data-attacker=n] .action-trail,.board-action-animation[data-attacker=r] .action-trail{animation:combat-charge-trail var(--action-duration) ease-out both}.board-action-animation .action-impact{top:var(--victim-y);left:var(--victim-x);z-index:6;width:12.5%;height:12.5%;color:var(--chess-gold);place-items:center;display:grid;position:absolute}.board-action-animation .action-impact>b{z-index:2;font:900 clamp(18px, 6cqw, 50px)/1 var(--display);text-shadow:0 0 .2em var(--chess-gold), 0 0 .42em var(--riot-pink);animation:combat-impact-star var(--action-duration) ease-out both;position:relative}.board-action-animation .action-impact-ring,.board-action-animation .action-impact-sweep{border:max(2px, .42cqw) solid var(--electric-blue);animation:combat-impact-ring var(--action-duration) ease-out both;border-radius:50%;position:absolute;inset:12%}.board-action-animation .action-impact-sweep{border-color:var(--chess-gold);border-left-color:#0000;border-right-color:#0000;animation-name:combat-impact-sweep;inset:24% -18%}.board-action-animation[data-attacker=r] .action-impact-ring{transform:rotate(var(--action-angle));border-radius:16%}.board-action-animation[data-attacker=q] .action-impact-sweep{border-width:max(3px,.65cqw);inset:-18%}.board-action-animation .action-chip{background:var(--chess-gold);transform-origin:50%;width:10%;height:10%;animation:combat-impact-chip var(--action-duration) ease-out both;border-radius:2px;position:absolute;top:45%;left:47%}.board-action-animation .action-chip:nth-of-type(2n){background:var(--riot-pink)}.board-action-animation .action-reduced-marker{top:var(--victim-y);left:var(--victim-x);z-index:7;border:max(2px, .4cqw) solid var(--riot-pink);width:12.5%;height:12.5%;color:var(--chess-gold);font:900 clamp(14px, 4cqw, 34px)/1 var(--display);border-radius:50%;place-items:center;display:none;position:absolute}.action-special{z-index:8;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.action-special:before{color:var(--chess-gold);content:var(--combat-sigil,"✦");font:900 clamp(16px,4cqw,34px)/1 var(--display);opacity:.82;animation:combat-special-title var(--action-duration) ease-out both;position:absolute;top:5%;right:6%}html[data-theme=classic]{--combat-sigil:"♜"}html[data-theme=ocean]{--combat-sigil:"≋"}html[data-theme=blockfield]{--combat-sigil:"⚡"}html[data-theme=toybox]{--combat-sigil:"◆"}html[data-theme=arena-pop]{--combat-sigil:"★"}html[data-theme=high-fantasy]{--combat-sigil:"✧"}html[data-theme=mythic-beasts]{--combat-sigil:"🐉"}html[data-theme=arcane-cards]{--combat-sigil:"⌬"}html[data-theme=iron-legions]{--combat-sigil:"⚔"}html[data-theme=shadow-shogun]{--combat-sigil:"◉"}html[data-theme=neon-grid]{--combat-sigil:"⌁"}html[data-theme=mono]{--combat-sigil:"■"}.action-check b{border:max(2px,.4cqw) solid var(--riot-pink);color:#fff;background:color-mix(in srgb, var(--riot-pink) 78%, #190913);box-shadow:0 0 1em var(--riot-pink);font:900 clamp(22px,8cqw,70px)/1 var(--display);animation:combat-check-flash var(--action-duration) ease-out both;padding:.18em .36em}.action-castle{grid-template-columns:1fr 1fr;align-items:end;padding:10%}.action-castle i{aspect-ratio:1;border:max(3px,.6cqw) solid var(--theme-frame-border,var(--stone-dark));background:var(--theme-frame,var(--surface));width:32%;animation:combat-castle-wall var(--action-duration) ease-out both}.action-castle i:nth-child(2){justify-self:end;animation-delay:40ms}.action-castle b{color:var(--chess-gold);font:900 clamp(16px,5cqw,42px)/1 var(--display);animation:combat-special-title var(--action-duration) ease-out both;position:absolute;bottom:10%}.action-queen-fall b{width:clamp(50px,22cqw,170px);height:clamp(50px,22cqw,170px);color:var(--chess-gold);text-shadow:0 0 .35em var(--riot-pink);animation:combat-queen-crown-fall var(--action-duration) ease-in both;display:block}.action-queen-fall b .chess-piece-svg{width:100%;height:100%}.action-queen-fall i{color:var(--chess-gold);font:900 clamp(14px,4cqw,34px)/1 var(--display);animation:combat-special-title var(--action-duration) ease-out both;font-style:normal;position:absolute;bottom:12%}.action-promotion{background:radial-gradient(circle, color-mix(in srgb, var(--chess-gold) 28%, transparent), transparent 58%)}.action-promotion b{width:clamp(58px,24cqw,190px);height:clamp(58px,24cqw,190px);color:var(--theme-piece-white,var(--text));-webkit-text-stroke:max(1px,.18cqw) var(--theme-piece-white-stroke,var(--surface));filter:drop-shadow(0 0 .24em var(--chess-gold));animation:combat-promotion-rise var(--action-duration) cubic-bezier(.18,.78,.18,1) both;display:block}.action-promotion b .chess-piece-svg{width:100%;height:100%}.action-promotion i{color:#172515;background:var(--chess-gold);font:900 clamp(14px,4cqw,34px)/1 var(--display);animation:combat-special-title var(--action-duration) ease-out both;padding:.24em .42em;font-style:normal;position:absolute;bottom:12%}.action-promotion[data-promotion=r] b{animation-name:combat-promotion-rook}.action-promotion[data-promotion=b] b{animation-name:combat-promotion-bishop}.action-promotion[data-promotion=n] b{animation-name:combat-promotion-knight}.action-fork{place-content:start center;padding-top:8%}.action-fork b{border:max(2px,.35cqw) solid var(--chess-gold);color:#172515;background:var(--chess-gold);box-shadow:0 0 .7em color-mix(in srgb,var(--chess-gold) 72%,transparent);font:900 clamp(18px,5cqw,44px)/1 var(--display);animation:combat-fork-pop var(--action-duration) ease-out both;padding:.28em .52em}.action-fork i{color:var(--text);font:900 clamp(10px,2.5cqw,20px)/1 var(--mono);animation:combat-special-title var(--action-duration) ease-out both;margin-top:.5em;font-style:normal}@keyframes combat-check-flash{0%,40%{opacity:0;transform:scale(.55)}52%,90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes combat-castle-wall{0%,36%{opacity:0;transform:translateY(70%)scale(.7)}58%,86%{opacity:.9;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-5%)scale(1.04)}}@keyframes combat-queen-crown-fall{0%,52%{opacity:0;transform:translateY(-20%)rotate(-12deg)scale(1.1)}66%{opacity:1;transform:translateY(0)rotate(8deg)scale(1)}to{opacity:0;transform:translateY(58%)rotate(68deg)scale(.72)}}@keyframes combat-special-title{0%,38%{opacity:0;transform:translateY(10px)}48%,90%{opacity:1;transform:translateY(0)}to{opacity:0}}@keyframes combat-promotion-rise{0%,48%{opacity:0;transform:translateY(45%)scale(.35)rotate(-16deg)}68%,88%{opacity:1;transform:translateY(0)scale(1.08)rotate(0)}to{opacity:0;transform:translateY(-10%)scale(1)}}@keyframes combat-promotion-rook{0%,48%{opacity:0;transform:translateY(55%)scale(.4,.2)}68%,88%{opacity:1;transform:translateY(0)scale(1.12,.96)}to{opacity:0;transform:scale(1)}}@keyframes combat-promotion-bishop{0%,48%{opacity:0;transform:translate(-30%,35%)scale(.35)rotate(-28deg)}68%,88%{opacity:1;transform:translate(0)scale(1.08)rotate(0)}to{opacity:0;transform:translate(12%,-12%)scale(1)}}@keyframes combat-promotion-knight{0%,48%{opacity:0;transform:translateY(50%)scale(.38,.22)}66%{opacity:1;transform:translateY(-12%)scale(1.15)}78%,90%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0}}@keyframes combat-fork-pop{0%,38%{opacity:0;transform:translateY(-10px)scale(.75)}48%,90%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(1.02)}}@keyframes combat-lifetime{0%,to{opacity:1}}@keyframes combat-glide{0%{opacity:.76;transform:translate(0, 0) scaleX(var(--action-facing)) scale(.92)}72%{opacity:1;transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) scale(1.07)}to{opacity:1;transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-pawn-strike{0%,12%{transform:translate(0, 0) scaleX(var(--action-facing)) scale(.92, .98)}30%{transform:translate(var(--action-half-x), var(--action-half-y)) scaleX(var(--action-facing)) rotate(-8deg) scale(1.04, .94)}51%,72%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) rotate(7deg) scale(1.1)}86%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-knight-pounce{0%,10%{transform:translate(0, 0) scaleX(var(--action-facing)) scale(1, .82)}42%{transform:translate(var(--action-half-x), calc(var(--action-half-y) + var(--action-arc-y))) scaleX(var(--action-facing)) rotate(-12deg) scale(1.17)}64%,76%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) rotate(9deg) scale(1.16, .84)}88%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-bishop-thrust{0%,15%{transform:translate(0, 0) scaleX(var(--action-facing)) rotate(-6deg) scale(.94)}38%{transform:translate(var(--action-half-x), var(--action-half-y)) scaleX(var(--action-facing)) rotate(7deg) scale(1.05)}55%,72%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) rotate(-5deg) scale(1.14, .94)}86%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-rook-charge{0%,14%{transform:translate(0, 0) scaleX(var(--action-facing)) scale(1.12, .78)}50%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) scale(1.2, .9)}67%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) scale(.9, 1.13)}84%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-queen-sweep{0%,12%{transform:translate(0, 0) scaleX(var(--action-facing)) rotate(-16deg) scale(.94)}38%{transform:translate(var(--action-half-x), var(--action-half-y)) scaleX(var(--action-facing)) rotate(24deg) scale(1.1)}57%,73%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) rotate(-18deg) scale(1.16)}88%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-king-chop{0%,13%{transform:translate(0, 0) scaleX(var(--action-facing)) rotate(-10deg) scale(.96)}36%{transform:translate(var(--action-half-x), var(--action-half-y)) scaleX(var(--action-facing)) rotate(-18deg) scale(1.06)}61%,75%{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing)) rotate(9deg) scale(1.17, .92)}89%,to{transform:translate(var(--action-x), var(--action-y)) scaleX(var(--action-facing))}}@keyframes combat-victim-fall{0%,48%{opacity:1;transform:translate(0)rotate(0)scale(1)}61%{opacity:1;transform:translate(var(--victim-kick-x), var(--victim-kick-y)) rotate(12deg) scale(1.07, .88)}86%,to{opacity:0;transform:translate(var(--victim-kick-x), calc(var(--victim-kick-y) + 28%)) rotate(var(--victim-spin)) scale(.34)}}@keyframes combat-victim-stomp{0%,53%{opacity:1;transform:translate(0)scale(1)}66%{opacity:1;transform:translateY(28%)scale(1.18,.48)}86%,to{opacity:0;transform:translateY(44%)scale(.5,.16)}}@keyframes combat-victim-shove{0%,45%{opacity:1;transform:translate(0)rotate(0)scale(1)}62%{opacity:1;transform:translate(var(--victim-kick-x), var(--victim-kick-y)) rotate(12deg) scale(1.08, .82)}86%,to{opacity:0;transform:translate(var(--victim-kick-x), var(--victim-kick-y)) rotate(var(--victim-spin)) scale(.42)}}@keyframes combat-victim-spin{0%,44%{opacity:1;transform:rotate(0)scale(1)}64%{opacity:1;transform:translate(var(--victim-kick-x), var(--victim-kick-y)) rotate(58deg) scale(.88)}88%,to{opacity:0;transform:translate(var(--victim-kick-x), var(--victim-kick-y)) rotate(var(--victim-spin)) scale(.24)}}@keyframes combat-victim-crush{0%,52%{opacity:1;transform:translateY(0)scale(1)}66%{opacity:1;transform:translateY(28%)scale(1.08,.42)}88%,to{opacity:0;transform:translateY(42%)scale(.72,.1)}}@keyframes combat-pawn-sword{0%,12%{opacity:0;transform:rotate(-92deg)scale(.55)}20%,36%{opacity:1;transform:rotate(-48deg)scale(1)}53%,67%{opacity:1;transform:rotate(53deg)scale(1.1)}80%,to{opacity:0;transform:rotate(68deg)scale(.82)}}@keyframes combat-bishop-lance{0%,17%{opacity:0;transform:rotate(calc(var(--action-angle) + 90deg)) scaleY(.35)}34%,64%{opacity:1;transform:rotate(calc(var(--action-angle) + 90deg)) scaleY(1.28)}78%,to{opacity:0;transform:rotate(calc(var(--action-angle) + 90deg)) scaleY(.86)}}@keyframes combat-queen-blade{0%,14%{opacity:0;transform:rotate(-102deg)scale(.66)}30%{opacity:1;transform:rotate(-42deg)scale(1)}58%,69%{opacity:1;transform:rotate(116deg)scale(1.12)}82%,to{opacity:0;transform:rotate(132deg)scale(.8)}}@keyframes combat-king-blade{0%,13%{opacity:0;transform:rotate(-120deg)scale(.68)}31%,44%{opacity:1;transform:rotate(-76deg)scale(1.14)}61%,74%{opacity:1;transform:rotate(48deg)scale(1.1)}86%,to{opacity:0;transform:rotate(62deg)scale(.84)}}@keyframes combat-charge-trail{0%,14%{opacity:0;transform:scaleX(.2)}34%,62%{opacity:.9;transform:scaleX(1)}80%,to{opacity:0;transform:scaleX(1.35)}}@keyframes combat-impact-star{0%,46%{opacity:0;transform:scale(.1)rotate(-28deg)}56%{opacity:1;transform:scale(1.4)rotate(8deg)}79%,to{opacity:0;transform:scale(2.1)rotate(38deg)}}@keyframes combat-impact-ring{0%,47%{opacity:0;transform:scale(.3)}57%{opacity:1;transform:scale(.82)}82%,to{opacity:0;transform:scale(1.9)}}@keyframes combat-impact-sweep{0%,46%{opacity:0;transform:rotate(-32deg)scale(.3)}57%{opacity:.9;transform:rotate(18deg)scale(1)}82%,to{opacity:0;transform:rotate(92deg)scale(1.65)}}@keyframes combat-impact-chip{0%,48%{opacity:0;transform:rotate(var(--chip-angle)) translateY(0) scale(.2)}57%{opacity:1}86%,to{opacity:0;transform:rotate(var(--chip-angle)) translateY(-245%) scale(.78)}}.board-action-animation.is-reduced .action-attacker,.board-action-animation.is-reduced .action-victim,.board-action-animation.is-reduced .action-impact,.board-action-animation.is-reduced .action-special{display:none}.board-action-animation.is-reduced .action-reduced-marker{display:grid}.capture-lab-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 12%,#63c8dd2e,#0000 30rem),radial-gradient(circle at 88% 85%,#ffd65a1f,#0000 34rem),linear-gradient(145deg,#172f38,#0d1a1e 68%,#142923)}.capture-lab-layout{grid-template-columns:minmax(250px,.72fr) minmax(420px,1.2fr);align-items:center;gap:clamp(28px,6vw,76px);width:min(1180px,100%);margin:0 auto;padding:clamp(52px,7vw,90px) clamp(16px,4vw,42px) 80px;display:grid}.capture-lab-copy h1{font:900 clamp(48px, 7vw, 88px)/.82 var(--display);letter-spacing:-2px;margin:18px 0}.capture-lab-copy h1 em{color:var(--chess-gold);font-style:normal}.capture-lab-copy>p{max-width:480px;color:var(--muted);font:650 15px/1.5 var(--ui)}.capture-lab-stage{border:1px solid color-mix(in srgb, var(--theme-card-border,#45636a) 76%, transparent);background:color-mix(in srgb, var(--surface,#314a50) 91%, transparent);border-radius:20px;min-width:0;padding:clamp(14px,2.4vw,24px);box-shadow:0 24px 70px #020c0f61}.capture-lab-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.capture-lab-heading small,.capture-lab-heading strong{display:block}.capture-lab-heading small{color:var(--electric-blue);font:900 9px/1 var(--mono)}.capture-lab-heading strong{font:900 22px/1 var(--display);margin-top:5px}.capture-lab-heading button{color:#172515;background:var(--chess-gold);cursor:pointer;min-height:40px;font:900 9px/1 var(--mono);border:2px solid #102126;border-radius:8px;padding:0 14px}.capture-lab-board{aspect-ratio:1;border:7px solid var(--theme-frame,#1b343a);border-radius:14px;grid-template-columns:repeat(8,1fr);width:min(100%,620px);margin:0 auto;display:grid;overflow:hidden;box-shadow:0 0 0 1px #06141852,0 16px 38px #020c0f47;container-type:inline-size}.capture-lab-square{aspect-ratio:1;place-items:center;min-width:0;display:grid}.capture-lab-square.light-square{background:var(--board-light)}.capture-lab-square.dark-square{background:var(--board-dark)}.capture-lab-piece{place-items:center;width:84%;height:84%;display:grid}.capture-lab-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.capture-lab-controls{grid-template-columns:repeat(6,1fr);gap:7px;margin-top:14px;display:grid}.capture-lab-controls button{border:2px solid color-mix(in srgb, var(--theme-card-border,#45636a) 75%, transparent);min-width:0;min-height:72px;color:var(--text);background:color-mix(in srgb, var(--surface-raised,#456168) 88%, transparent);cursor:pointer;border-radius:9px;grid-template-rows:46px auto;place-items:center;padding:5px 3px;display:grid}.capture-lab-controls button.selected{border-color:var(--chess-gold);background:color-mix(in srgb, var(--chess-gold) 14%, var(--surface-raised,#456168));box-shadow:0 0 0 2px color-mix(in srgb, var(--chess-gold) 25%, transparent)}.capture-lab-controls .chess-piece-svg{width:44px;height:44px}.capture-lab-controls span{font:900 7px/1 var(--mono);text-transform:uppercase}.capture-lab-controls button:focus-visible{outline:3px solid var(--electric-blue);outline-offset:2px}.capture-lab-motion{border:1px solid color-mix(in srgb, var(--theme-card-border,#45636a) 72%, transparent);min-height:54px;color:var(--text);background:color-mix(in srgb, var(--surface-raised,#456168) 62%, transparent);cursor:pointer;text-shadow:none;border-radius:9px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;margin:13px 0 0;padding:9px 11px;display:grid}.capture-lab-motion input{width:19px;min-height:19px;accent-color:var(--teal-spark);margin:0}.capture-lab-motion strong,.capture-lab-motion small{display:block}.capture-lab-motion strong{font:900 8px/1 var(--mono)}.capture-lab-motion small{color:var(--muted);font:650 9px/1.3 var(--ui);margin-top:4px}@media (width<=800px){.capture-lab-layout{grid-template-columns:1fr;padding-top:38px}.capture-lab-copy{text-align:center}.capture-lab-copy>p{margin-left:auto;margin-right:auto}}@media (width<=620px){.board-action-animation .action-unit .chess-piece-svg{filter:none}.capture-lab-topbar .home-link{font-size:8px}.capture-lab-layout{padding:52px 7px 70px}.capture-lab-copy h1{font-size:clamp(48px,16vw,72px)}.capture-lab-stage{border-radius:13px;padding:9px}.capture-lab-heading{padding:3px 3px 0}.capture-lab-heading strong{font-size:18px}.capture-lab-controls{grid-template-columns:repeat(3,1fr)}.capture-lab-controls button{min-height:64px}}@media (prefers-reduced-motion:reduce){.board-action-animation .action-attacker,.board-action-animation .action-victim,.board-action-animation .action-impact,.board-action-animation .action-special{display:none;animation:none!important}.board-action-animation .action-reduced-marker{display:grid}}@media (forced-colors:active){.board-action-animation .action-reduced-marker{border-color:highlight}}
