@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";.piece picture{pointer-events:none;width:100%;height:100%;display:block}.piece[data-renderer="3d"]{filter:none;transform-origin:50% 83%;width:96%;height:96%}.piece[data-renderer="3d"] img{object-fit:contain;max-width:none;display:block}.board .square.check-evasion-origin:not(.selected){outline-offset:-4px;outline:3px solid #e8d3ac}.board .square.check-evasion-origin:not(.selected):before{content:"";pointer-events:none;border-radius:2px;position:absolute;inset:3px;box-shadow:inset 0 0 18px #d6ae6555}.check-evasion-marker{z-index:3;pointer-events:none;background:#7f6639;border:2px solid #fbf6ed;border-radius:50%;width:13%;height:13%;position:absolute;box-shadow:0 0 0 3px #302c38aa}.square.check-evasion-target:has(.piece) .check-evasion-marker{top:8%;right:8%}.square.in-check{box-shadow:inset 0 0 0 4px #a51d26,inset 0 0 28px #8b121575}.battle-layer.is-capture .victim{perspective:320px}.battle-layer.is-capture .travel-piece{filter:drop-shadow(0 8px 3px #1b1a1e45)}.battle-layer .state-attacking[data-renderer="3d"]{transform-origin:50% 83%}.battle-layer .type-b.state-attacking[data-renderer="3d"]{animation:carved-bishop-strike var(--battle-attacking-duration,.62s) both}.battle-layer .type-q.state-attacking[data-renderer="3d"]{animation:carved-queen-strike var(--battle-attacking-duration,.62s) both}.battle-layer .type-b.state-dying[data-renderer="3d"]{animation:carved-bishop-die var(--battle-dying-duration,.64s) ease-in both}.battle-layer .type-r.state-dying[data-renderer="3d"]{animation:carved-rook-die var(--battle-dying-duration,.64s) ease-in both}.battle-layer .type-q.state-dying[data-renderer="3d"]{animation:carved-queen-die var(--battle-dying-duration,.64s) ease-in both}.capture-debris{z-index:4;pointer-events:none;width:12.5%;height:12.5%;position:absolute}.capture-debris i{background:linear-gradient(140deg,#dfc28d,#7c582e);border:1px solid #edcc9c66;border-radius:15% 5% 30% 10%;width:9%;height:12%;animation:.65s ease-out 70ms both chess-chip;position:absolute;top:62%;left:48%;box-shadow:2px 3px 2px #0005}.capture-debris.victim-w i{background:linear-gradient(140deg,#fff3d5,#b89b68);border-color:#fff1cb99}.capture-debris i:nth-child(2n){border-radius:3px 1px;width:6%;height:9%}.capture-shock{border:2px solid #fbe1a2cc;border-radius:50%;width:70%;height:46%;animation:.55s ease-out both chess-shock;position:absolute;top:38%;left:15%}@keyframes chess-chip{0%,8%{opacity:0;transform:translate(0)rotate(0)}20%{opacity:1}70%{opacity:1}to{transform:translate(var(--chip-x),var(--chip-y)) rotate(var(--chip-r));opacity:0}}@keyframes chess-shock{0%{opacity:1;transform:scale(.15)}to{opacity:0;transform:scale(1.55)}}@keyframes carved-bishop-strike{0%{transform:rotate(-12deg)translate(-8%)}30%{transform:rotate(-20deg)translate(-10%,-8%)}52%{transform:rotate(20deg)translate(10%)}to{transform:none}}@keyframes carved-queen-strike{0%{transform:translateY(0)rotate(-8deg)}33%{transform:translateY(-20%)rotate(-13deg)scale(1.09)}55%{transform:translateY(5%)rotate(15deg)}to{transform:none}}@keyframes carved-bishop-die{0%,15%{opacity:1;transform:none}55%{opacity:1;transform:rotate(-48deg)translate(-12%,4%)}to{opacity:0;transform:rotate(-98deg)translate(-30%,30%)scale(.7)}}@keyframes carved-rook-die{0%,15%{opacity:1;transform:none}40%{transform:rotate(18deg)translate(5%,-4%)}70%{opacity:.8;transform:rotate(68deg)translate(15%,7%)}to{opacity:0;transform:rotate(95deg)translate(30%,20%)scale(.8)}}@keyframes carved-queen-die{0%,15%{opacity:1;transform:none}45%{transform:rotate(26deg)translate(7%,-8%)}75%{opacity:.8;transform:rotate(77deg)translate(20%,10%)}to{opacity:0;transform:rotate(102deg)translate(36%,28%)scale(.75)}}.motion-off .capture-debris{display:none}@media (prefers-reduced-motion:reduce){.capture-debris{display:none}}.piece[data-renderer=character]{transform-origin:50% 86%;filter:drop-shadow(0 3px 2px #100f1340);width:100%;height:100%}.piece[data-renderer=character] picture{display:none}.character-portrait{pointer-events:none;background-repeat:no-repeat;background-size:300% 400%;width:100%;height:100%;display:block}.character-rig{display:block;position:absolute;inset:0}.character-rig .character-portrait{transform-origin:50% 68%;position:absolute;inset:0}.piece{--hip:68%;--weapon-edge:67%;--body-mask:polygon(0 0,67% 0,67% 100%,0 100%);--weapon-mask:polygon(67% 0,100% 0,100% 100%,67% 100%);--weapon-pivot:68% 49%}.joint-body{clip-path:var(--body-mask);-webkit-mask-image:linear-gradient(#000 0 var(--hip),transparent var(--hip));mask-image:linear-gradient(#000 0 var(--hip),transparent var(--hip))}.joint-left-leg{clip-path:inset(var(--hip) 50% 0 0)}.joint-right-leg{clip-path:inset(var(--hip) calc(100% - var(--weapon-edge)) 0 50%)}.character-rig .joint-weapon{clip-path:var(--weapon-mask);transform-origin:var(--weapon-pivot)}.type-n{--hip:62%;--weapon-edge:100%;--body-mask:polygon(0 0,54% 0,54% 29%,72% 48%,100% 48%,100% 100%,0 100%);--weapon-mask:polygon(54% 0,100% 0,100% 48%,72% 48%,54% 29%);--weapon-pivot:65% 43%}.type-b{--weapon-edge:100%;--body-mask:polygon(0 0,72% 0,72% 36%,48% 62%,100% 62%,100% 100%,0 100%);--weapon-mask:polygon(72% 0,100% 0,100% 62%,48% 62%,72% 36%);--weapon-pivot:56% 50%}.type-r,.type-q,.type-k{--weapon-edge:100%;--body-mask:polygon(42% 0,100% 0,100% 100%,0 100%,0 63%,42% 63%);--weapon-mask:polygon(0 0,42% 0,42% 63%,0 63%);--weapon-pivot:36% 51%}.type-q{--weapon-mask:polygon(0 0,36% 0,36% 48%,48% 58%,35% 65%,0 65%);--body-mask:polygon(36% 0,100% 0,100% 100%,0 100%,0 65%,35% 65%,48% 58%,36% 48%);--weapon-pivot:37% 48%}.type-k{--weapon-mask:polygon(0 0,26% 0,35% 42%,42% 53%,29% 63%,0 63%);--body-mask:polygon(26% 0,100% 0,100% 100%,0 100%,0 63%,29% 63%,42% 53%,35% 42%);--weapon-pivot:33% 52%}.state-moving .joint-left-leg{animation:.24s ease-in-out infinite alternate joint-stride}.state-moving .joint-right-leg{animation:.24s ease-in-out infinite alternate-reverse joint-stride}.state-moving .joint-body{animation:.24s ease-in-out infinite alternate joint-body}.state-moving .joint-weapon{animation:.24s ease-in-out infinite alternate-reverse joint-carry}.state-attacking .joint-weapon{animation:joint-strike var(--battle-attacking-duration,.15s) ease-out both}.state-parrying .joint-weapon{animation:.15s ease-out both joint-parry}.state-parrying .joint-body{transform:translate(-3%)rotate(-4deg)}.state-recovering .joint-weapon{animation:.15s ease-out both joint-recover}.battle-layer{--battle-attacking-duration:.15s;--battle-dying-duration:.4s}.battle-layer[data-phase=final]{--battle-attacking-duration:.18s}.combatant{justify-content:center;align-items:center;width:100%;height:100%;transition:transform .15s ease-out;display:flex}.is-capture:not([data-phase=moving]) .attacker{transform:translate(-23%)scale(.88)}.is-capture:not([data-phase=moving]) .defender{transform:translate(23%)scale(-.88,.88)}.is-capture[data-phase=hit] .attacker{transform:none}.battle-layer{overflow:hidden}@keyframes joint-stride{0%{transform:rotate(-12deg)translateY(-1%)}to{transform:rotate(12deg)translateY(2%)}}@keyframes joint-body{0%{transform:translateY(-1%)rotate(-1deg)}to{transform:translateY(1%)rotate(1deg)}}@keyframes joint-carry{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes joint-strike{0%{transform:rotate(-24deg)}65%{transform:rotate(29deg)translate(4%)}to{transform:rotate(16deg)}}@keyframes joint-parry{0%{transform:rotate(0)}45%,to{transform:rotate(-36deg)translateY(-4%)}}@keyframes joint-recover{0%{transform:rotate(16deg)}to{transform:none}}[data-graphics=low] .piece.state-idle,[data-graphics=medium] .piece.state-idle{will-change:auto;animation:none!important}[data-graphics=low] .piece{filter:none!important}[data-graphics=low] .impact,[data-graphics=low] .capture-debris,[data-graphics=medium] .capture-debris i:nth-of-type(n+4){display:none}[data-graphics=ultra] .piece{filter:drop-shadow(0 4px 3px #09070b80)}[data-graphics=ultra] .board{box-shadow:0 10px 30px #0008,0 0 0 3px #a78453,inset 0 0 18px #e8c98530}[data-graphics=ultra] .square.light{background-image:linear-gradient(120deg,#fff2,#0000 60%)}[data-graphics=ultra] .square.dark{background-image:linear-gradient(120deg,#fff1,#0000 60%)}.motion-off .character-rig *{animation:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){.character-rig *{animation:none!important;transform:none!important}}.piece[data-renderer=character]:after{content:"";filter:blur(2px);z-index:-1;background:#100f1240;border-radius:50%;width:45%;height:7%;position:absolute;bottom:7%;left:28%}.gallery-side-picker{flex-wrap:wrap;gap:8px;margin:0 0 15px;display:flex}.gallery-side-picker button{align-items:center;gap:8px;min-height:39px;display:flex}.gallery-side-picker button.active,.gallery-side-picker button.active:hover:not(:disabled){color:#26242b;background:#e8d5b1;border-color:#e8d5b1}.gallery-side-picker .side-indicator{width:11px;height:11px}.character-gallery .gallery-card{background:radial-gradient(at 50% 30%,#6056453d,#0000 70%),#2a282f}.character-gallery .gallery-card small{max-width:185px;font-size:.73rem;line-height:1.6}.character-gallery .gallery-stage{aspect-ratio:1;flex:none;position:relative;width:min(160px,100%)!important;max-width:none!important;height:auto!important}.character-gallery .gallery-stage .piece{aspect-ratio:1;transform-origin:50% 84%;flex:none;width:100%;height:100%;position:absolute;inset:0}.character-gallery .gallery-card strong{font-size:.91rem}.piece[data-renderer=character].type-p.state-idle{animation:3.7s ease-in-out infinite pawn-peasant-idle}.piece[data-renderer=character].type-n.state-idle{animation:3.9s ease-in-out infinite knight-horse-idle}.piece[data-renderer=character].type-b.state-idle{animation:4.8s ease-in-out infinite bishop-runner-idle}.piece[data-renderer=character].type-r.state-idle{animation:5.1s ease-in-out infinite rook-guardian-idle}.piece[data-renderer=character].type-q.state-idle{animation:4.3s ease-in-out infinite warrior-queen-idle}.piece[data-renderer=character].type-k.state-idle{animation:4.6s ease-in-out infinite sword-king-idle}@keyframes pawn-peasant-idle{0%,60%,to{transform:rotate(-1deg)translateY(0)}76%{transform:rotate(2.2deg)translateY(-1.2%)scaleY(1.025)}90%{transform:rotate(-1.6deg)translateY(.6%)}}@keyframes knight-horse-idle{0%,56%,to{transform:rotate(0)translateY(0)}66%{transform:rotate(-3deg)translateY(-2%)scaleY(1.02)}76%{transform:rotate(1deg)translateY(.6%)}86%{transform:rotate(-1.8deg)translateY(-1%)}}@keyframes bishop-runner-idle{0%,to{transform:rotate(-1.6deg)skew(-.6deg)}45%{transform:rotate(1.6deg)skew(.6deg)}82%{transform:rotate(-.5deg)translateY(-1.1%)}}@keyframes rook-guardian-idle{0%,to{transform:scale(1)rotate(-.3deg)}48%{transform:scale(1.023,1.015)rotate(.5deg)}82%{transform:scale(.998,.985)rotate(-.7deg)}}@keyframes warrior-queen-idle{0%,to{transform:rotate(-1deg)translateY(0)}52%{transform:rotate(1.5deg)translateY(-1.5%)}84%{transform:rotate(-.6deg)translateY(-.4%)}}@keyframes sword-king-idle{0%,to{transform:rotate(.4deg)scaleY(1)}44%{transform:rotate(-1.2deg)scaleY(1.018)}78%{transform:rotate(1deg)scaleY(.994)}}.piece[data-renderer=character].type-p.state-moving{animation:.3s ease-in-out infinite peasant-move}.piece[data-renderer=character].type-n.state-moving{animation:.29s ease-in-out infinite horse-gallop}.piece[data-renderer=character].type-b.state-moving{animation:.34s ease-in-out infinite runner-stride}.piece[data-renderer=character].type-r.state-moving{animation:.37s ease-in-out infinite guardian-march}.piece[data-renderer=character].type-q.state-moving{animation:.36s ease-in-out infinite warrior-queen-step}.piece[data-renderer=character].type-k.state-moving{animation:.42s ease-in-out infinite sword-king-step}@keyframes peasant-move{0%,to{transform:rotate(-5deg)translateY(0)}45%{transform:rotate(6deg)translateY(-10%)}78%{transform:rotate(-2deg)translateY(-2%)}}@keyframes horse-gallop{0%,to{transform:rotate(6deg)translateY(0)scaleY(.96)}34%{transform:rotate(-9deg)translateY(-18%)scaleY(1.04)}68%{transform:rotate(7deg)translateY(-5%)}}@keyframes runner-stride{0%,to{transform:skew(-5deg)rotate(-5deg)translateY(1%)}48%{transform:skew(5deg)rotate(6deg)translateY(-13%)}78%{transform:rotate(1deg)translateY(-3%)}}@keyframes guardian-march{0%,to{transform:rotate(-4deg)translateY(0)}42%{transform:rotate(4deg)translateY(-5%)}73%{transform:rotate(-1deg)translateY(2%)scaleY(.98)}}@keyframes warrior-queen-step{0%,to{transform:rotate(-3deg)translateY(-1%)}47%{transform:rotate(4deg)translateY(-10%)}77%{transform:rotate(-1deg)translateY(-3%)}}@keyframes sword-king-step{0%,to{transform:rotate(-2deg)translateY(0)}50%{transform:rotate(3deg)translateY(-6%)}77%{transform:rotate(-.6deg)translateY(-2%)}}.piece[data-renderer=character].type-p.state-attacking{animation:peasant-thrust var(--battle-attacking-duration,.62s) both}.piece[data-renderer=character].type-n.state-attacking{animation:horse-rear var(--battle-attacking-duration,.62s) both}.piece[data-renderer=character].type-b.state-attacking{animation:runner-sweep var(--battle-attacking-duration,.62s) both}.piece[data-renderer=character].type-r.state-attacking{animation:guardian-slam var(--battle-attacking-duration,.62s) both}.piece[data-renderer=character].type-q.state-attacking{animation:warrior-queen-slash var(--battle-attacking-duration,.62s) both}.piece[data-renderer=character].type-k.state-attacking{animation:sword-king-strike var(--battle-attacking-duration,.62s) both}@keyframes peasant-thrust{0%{transform:translate(-5%)rotate(-8deg)}28%{transform:translate(-14%)rotate(-16deg)}48%{transform:translate(15%)rotate(13deg)scaleX(1.08)}70%{transform:translate(5%)rotate(5deg)}to{transform:none}}@keyframes horse-rear{0%{transform:rotate(-5deg)}30%{transform:rotate(-24deg)translateY(-20%)scale(1.06)}55%{transform:rotate(13deg)translateY(6%)scaleY(.91)}78%{transform:rotate(-4deg)translateY(-3%)}to{transform:none}}@keyframes runner-sweep{0%{transform:rotate(-6deg)translate(-4%)}28%{transform:rotate(-19deg)translate(-9%,-5%)}52%{transform:rotate(22deg)translate(13%)skew(-4deg)}75%{transform:rotate(5deg)translate(3%)}to{transform:none}}@keyframes guardian-slam{0%{transform:scale(1.02,.95)}28%{transform:translateY(-18%)rotate(-5deg)scaleY(1.05)}50%{transform:translateY(7%)rotate(5deg)scale(1.13,.85)}70%{transform:translateY(1%)rotate(-4deg)}to{transform:none}}@keyframes warrior-queen-slash{0%{transform:rotate(-7deg)}26%{transform:rotate(-23deg)translate(-6%,-7%)}49%{transform:rotate(25deg)translate(12%)scale(1.06)}74%{transform:rotate(-7deg)translate(3%)}to{transform:none}}@keyframes sword-king-strike{0%{transform:rotate(-5deg)translate(-4%)}30%{transform:rotate(-16deg)translate(-8%,-3%)}52%{transform:rotate(18deg)translate(11%)scale(1.04)}76%{transform:rotate(-2deg)translate(2%)}to{transform:none}}.piece[data-renderer=character].type-p.state-dying{animation:peasant-die var(--battle-dying-duration,.64s) ease-in both}.piece[data-renderer=character].type-n.state-dying{animation:horse-die var(--battle-dying-duration,.64s) ease-in both}.piece[data-renderer=character].type-b.state-dying{animation:runner-die var(--battle-dying-duration,.64s) ease-in both}.piece[data-renderer=character].type-r.state-dying{animation:guardian-die var(--battle-dying-duration,.64s) ease-in both}.piece[data-renderer=character].type-q.state-dying{animation:warrior-queen-die var(--battle-dying-duration,.64s) ease-in both}.piece[data-renderer=character].type-k.state-dying{animation:sword-king-die var(--battle-dying-duration,.64s) ease-in both}@keyframes peasant-die{0%,13%{opacity:1;transform:none}45%{transform:rotate(-20deg)translate(-8%)}75%{opacity:.8;transform:rotate(-65deg)translate(-14%,10%)}to{opacity:0;transform:rotate(-93deg)translate(-26%,24%)scale(.8)}}@keyframes horse-die{0%,13%{opacity:1;transform:none}42%{transform:rotate(-18deg)translate(-5%,-8%)}72%{opacity:.85;transform:rotate(-55deg)translate(-14%,10%)}to{opacity:0;transform:rotate(-84deg)translate(-25%,24%)scale(.8)}}@keyframes runner-die{0%,13%{opacity:1;transform:none}46%{transform:rotate(29deg)translate(8%)}74%{opacity:.8;transform:rotate(72deg)translate(15%,8%)}to{opacity:0;transform:rotate(104deg)translate(28%,24%)scale(.75)}}@keyframes guardian-die{0%,13%{opacity:1;transform:none}39%{transform:rotate(9deg)translateY(4%)}67%{opacity:.8;transform:rotate(42deg)translate(13%,10%)scaleY(.91)}to{opacity:0;transform:rotate(88deg)translate(26%,28%)scale(.83)}}@keyframes warrior-queen-die{0%,13%{opacity:1;transform:none}45%{transform:rotate(-27deg)translate(-5%,-5%)}76%{opacity:.8;transform:rotate(-74deg)translate(-17%,10%)}to{opacity:0;transform:rotate(-101deg)translate(-31%,26%)scale(.78)}}@keyframes sword-king-die{0%,13%{opacity:1;transform:none}47%{transform:rotate(18deg)translate(6%)}77%{opacity:.85;transform:rotate(61deg)translate(13%,12%)}to{opacity:0;transform:rotate(92deg)translate(24%,29%)scale(.85)}}@media (max-width:480px){.character-gallery .gallery-stage{width:min(140px,100%)!important}}@media (prefers-reduced-motion:reduce){.piece[data-renderer=character]{will-change:auto;animation:none!important}}[data-piece-set]{--set-light:#ddd9cb;--set-dark:#72687a;--set-grain:linear-gradient(135deg,#ffffff0a,transparent 60%);--set-frame:#806642}[data-piece-set=classic]{--set-light:#e8e7e4;--set-dark:#50565d;--set-frame:#bab9ad;--set-grain:repeating-linear-gradient(125deg,transparent 0 12px,#ffffff0c 13px,transparent 15px 32px)}[data-piece-set=wood]{--set-light:#d4b780;--set-dark:#755443;--set-frame:#55382b;--set-grain:repeating-linear-gradient(92deg,#160f0812 0 1px,transparent 2px 5px,#ffffff0c 6px 7px,transparent 8px 16px)}[data-piece-set=regal]{--set-light:#d4c9a6;--set-dark:#606c77;--set-frame:#bc9348;--set-grain:linear-gradient(145deg,#fff7,transparent 35%,#0002 65%,#fff3),repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 3px)}[data-piece-set=robot]{--set-light:#c4d8d8;--set-dark:#52646a;--set-frame:#5e8f99;--set-grain:linear-gradient(90deg,transparent 47%,#80e0e329 48% 50%,transparent 51%),linear-gradient(0deg,transparent 47%,#80e0e329 48% 50%,transparent 51%)}[data-piece-set=slime]{--set-light:#c6d2a4;--set-dark:#637675;--set-frame:#91ac72;--set-grain:repeating-radial-gradient(ellipse at 0 100%,#dfff9d1a 0 2px,transparent 3px 14px)}[data-piece-set=crystal]{--set-light:#d4e7ed;--set-dark:#897686;--set-frame:#9ccad1;--set-grain:conic-gradient(from 45deg at 25% 30%,#fff2,transparent 25%,#fff3 50%,transparent 75%,#fff2)}[data-piece-set=marble]{--set-light:#dfdcd0;--set-dark:#657582;--set-frame:#9b9790;--set-grain:repeating-linear-gradient(130deg,transparent 0 7px,#fff2 8px,transparent 9px 21px,#0001 22px 24px,transparent 25px 35px)}[data-piece-set=porcelain]{--set-light:#e4e8df;--set-dark:#728aab;--set-frame:#9ab1c9;--set-grain:repeating-conic-gradient(from 45deg at 50% 50%,#14395d14 0 25%,transparent 0 50%)}[data-piece-set=volcano]{--set-light:#b8b3ab;--set-dark:#5c5356;--set-frame:#ac7055;--set-grain:linear-gradient(128deg,transparent 48%,#ff7e3933 49% 50%,transparent 51%),linear-gradient(30deg,#0002,transparent 45%,#fff1)}[data-piece-set] .board{outline:2px solid var(--set-frame);outline-offset:1px}[data-piece-set] .square.light,[data-piece-set] .sample-square.light{background-color:var(--set-light);background-image:var(--set-grain)}[data-piece-set] .square.dark,[data-piece-set] .sample-square.dark{background-color:var(--set-dark);background-image:var(--set-grain)}.set-catalog{min-width:0}.set-catalog select{width:100%;min-height:44px;margin-top:8px;font-size:16px}.set-caption{color:#dfd7c9;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:14px 0 10px;font-size:14px;display:flex}.set-caption strong{color:#fff;font-size:16px}.set-sample{aspect-ratio:1;border:3px solid var(--set-frame);border-radius:4px;grid-template-columns:repeat(8,minmax(0,1fr));max-width:360px;margin:auto;display:grid;overflow:hidden}.sample-square{aspect-ratio:1;justify-content:center;align-items:center;min-width:0;display:flex}.sample-square .piece{width:100%;height:100%}.set-access{padding-top:16px}.set-access .primary-button{width:100%;min-height:44px;margin-top:10px}.set-access-label{align-items:center;gap:10px;font-size:15px;display:flex}.set-access p{color:#cec8d0;margin:8px 0 0;font-size:14px!important}.piece[data-set=slime].state-moving{animation:.25s ease-in-out infinite slime-hop}.piece[data-set=robot].state-moving{animation:.2s steps(2,end) infinite robot-step}.piece[data-set=crystal].state-idle{animation:3s ease-in-out infinite crystal-hover}@keyframes slime-hop{0%,to{transform:scale(1.09,.92)}50%{transform:translateY(-7%)scale(.96,1.04)}}@keyframes robot-step{0%,to{transform:rotate(-3deg)}50%{transform:translateY(-5%)rotate(3deg)}}@keyframes crystal-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}.motion-off .piece[data-set]{animation:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){.piece[data-set]{animation:none!important;transform:none!important}}.game-app main{width:calc(100% - 48px);max-width:1800px;margin:0 auto;padding:20px 0 0}.game-app .site-header{gap:48px;height:76px;padding-left:24px;padding-right:24px}.game-app .page-heading{margin-bottom:17px}.game-app .page-heading h1{letter-spacing:0;font-size:1.85rem}.game-app .page-heading .eyebrow{display:none}.game-app .game-layout{grid-template-columns:200px minmax(0,1fr) 240px;grid-template-areas:"history board opponent";gap:20px}.game-app .play-area{grid-area:board;width:100%;min-width:0;max-width:none}.game-app .side-panel{flex-direction:column;grid-area:history;gap:18px;min-width:0;display:flex}.game-app .opponent-panel{flex-direction:column;grid-area:opponent;gap:18px;min-width:0;display:flex}.game-app .board-topline{margin-bottom:14px}.game-app .site-header nav{gap:24px}.game-app .lobby-return{color:#e5dbc7}.game-app .history-card{border-color:#635a48;box-shadow:0 12px 34px #09080a1e}.game-app .history-card .section-heading{flex-wrap:wrap;gap:6px;padding:17px 12px 15px}.game-app .history-card h2{flex:1;font-size:.95rem}.game-app .history-card .section-heading>.icon-button{padding:5px}.game-app .moves-header{grid-template-columns:40px 1fr 1fr;margin:0 12px;font-size:.67rem}.game-app .moves-list{height:clamp(300px,50vh,620px)}.game-app .empty-history{text-align:center;padding:12px;font-size:.72rem}.game-app .move-row{grid-template-columns:40px 1fr 1fr;min-height:39px;padding-left:12px;padding-right:8px;font-size:.88rem}.game-app .move-row>span:not(:first-child){margin-right:3px;padding-left:3px;padding-right:3px}.game-app .move-row>span:first-child{font-size:.82rem}.game-app .game-actions{background:#15141766;border-color:#47444d;gap:7px;margin:0;padding:12px 9px}.game-app .game-actions button{color:#f2eee6;background:#36333b;border:1px solid #756a55;border-radius:8px;min-height:46px;font-size:.87rem;font-weight:650}.game-app .game-actions button:first-child{color:#ffd9c8;background:#4c322a;border-color:#886251}.game-app .game-actions button:disabled{opacity:.43}.game-app .game-actions button:not(:disabled):hover{filter:brightness(1.15)}.game-app .turn-banner{background:linear-gradient(115deg,#343139,#242228);border-color:#937e58;border-radius:13px;flex-wrap:wrap;gap:17px;min-height:86px;margin:0 0 16px 24px;padding:15px 17px;box-shadow:0 8px 28px #0605071b}.game-app .turn-banner .status-mark{color:#e8d5b1;flex:0 0 30px;justify-content:center;align-self:center}.game-app .turn-banner .side-indicator{width:27px;height:27px;box-shadow:0 3px 8px #0005,inset 0 2px 2px #fff6}.game-app .turn-banner .side-b{background:#1e1c21;border-color:#ccc5b8}.game-app .turn-copy{flex-direction:column;flex:1;gap:6px;min-width:170px;line-height:1.45;display:flex}.game-app .turn-copy strong{letter-spacing:0;color:#f6f1e8;font-family:Manrope,Segoe UI,sans-serif;font-size:1.6rem;font-weight:800;line-height:1.2}.game-app .turn-copy>span{color:#d1c9ba;font-size:.92rem}.game-app .turn-copy small{color:#bdb19c;font-size:.75rem}.game-app .turn-ownership{color:#e0dad0;letter-spacing:0;white-space:nowrap;background:#1a191c;border:1px solid #857860;border-radius:6px;padding:8px 10px;font-size:.62rem;font-weight:800}.game-app .turn-ownership.your-turn{color:#26232c;background:#e6cd9d;border-color:#f2e3c6}.game-app .turn-banner.check-banner{background:linear-gradient(115deg,#603528,#32261f);border:2px solid #ee9d78}.game-app .check-banner .status-mark,.game-app .check-banner .turn-copy strong{color:#ffcf9f}.game-app .check-banner .turn-copy>span{color:#f5d4bc}.game-app .turn-banner.finished{background:linear-gradient(120deg,#36323e,#2b2830);border:2px solid #d6bc8c}.game-app .turn-banner.finished .status-mark{color:#f6df8b}.game-app .board-status .result-rematch{color:#26232c;white-space:normal;text-align:center;background:#eedab4;border:1px solid #f6ead4;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:47px;margin-left:0;padding:12px 16px;font-size:.9rem;font-weight:800;display:flex;box-shadow:0 3px #18161b66}.game-app .board-status .result-rematch:disabled{opacity:.68}.game-app .result-next-step{color:#d6c9b2;margin:-9px 0 19px 24px;padding:0 3px;font-size:.82rem;line-height:1.6}.game-app .check-help{background:#262429;border:1px solid #746c43;border-radius:9px;margin:-7px 0 20px 24px;padding:15px 17px}.game-app .check-help>div:first-child{color:#e3d4b9;align-items:center;gap:9px;font-size:.87rem;display:flex}.game-app .check-help p{color:#c5bdad;margin:7px 0 11px;font-size:.76rem;line-height:1.5}.game-app .check-choices{flex-wrap:wrap;gap:8px;max-height:170px;padding:2px;display:flex;overflow-y:auto}.game-app .check-choices button{text-align:left;color:#ebe2d1;background:#36333b;border:1px solid #8c7c5e;border-radius:7px;flex-direction:column;gap:3px;min-height:48px;padding:8px 11px;font-size:.82rem;display:flex}.game-app .check-choices button span{text-transform:capitalize;font-weight:700}.game-app .check-choices button small{color:#d3c1a0;font-size:.71rem}.game-app .check-choices button.active,.game-app .check-choices button:hover:not(:disabled){color:#26232b;background:#e5d2af;border-color:#f0e2c9}.game-app .check-choices button.active small,.game-app .check-choices button:hover:not(:disabled) small{color:#332f3c}.game-app .check-choices button:disabled{opacity:.82;cursor:default}.game-app .room-leave{color:#efcbb8;background:#352b23;border-color:#876752;width:100%;min-height:44px;margin-top:16px;font-weight:650}.game-app .primary-button{min-height:48px;font-size:.9rem}.game-app .setup-card .mode-tabs button{min-height:66px;font-size:.72rem}.game-app .animation-card{padding-top:9px}.game-app .opponent-panel .section-heading{gap:8px;padding:17px 14px 15px}.game-app .opponent-panel .section-heading h2{font-size:.93rem;line-height:1.5}.game-app .opponent-panel .variant-settings{padding:0 14px 15px}.game-app .opponent-panel .mode-tabs{gap:2px;margin:0 12px;padding:3px}.game-app .opponent-panel .mode-tabs button{white-space:normal;text-align:center;min-width:0;min-height:65px;font-size:.64rem}.game-app .opponent-panel .mode-content,.game-app .opponent-panel .online-form,.game-app .opponent-panel .room-details{padding:17px 14px}.game-app .opponent-panel .mode-content p,.game-app .opponent-panel .online-form>p,.game-app .opponent-panel .room-details>p{font-size:.79rem}.game-app .opponent-panel .mode-content h3{font-size:1rem;line-height:1.5}.game-app .opponent-panel .mode-content .primary-button{margin-top:17px}.game-app .opponent-panel .team-roster{grid-template-columns:1fr}.game-app .opponent-panel .room-code strong{letter-spacing:0;font-size:1.25rem}.game-app .opponent-panel .connection-badge{margin-left:0}.game-app .opponent-panel .animation-card{gap:8px;padding:7px 2px}.game-app .opponent-panel .animation-icon{display:none}.game-app .opponent-panel .animation-card strong{font-size:.81rem}.game-app .opponent-panel .animation-card p{font-size:.7rem}.game-app .opponent-panel .primary-button{padding-left:10px;padding-right:10px;font-size:.83rem}@media (max-width:1340px){.game-app main{width:calc(100% - 32px)}.game-app .game-layout{grid-template-columns:190px minmax(0,1fr) 225px;gap:16px}.game-app .site-header{gap:28px;padding-left:20px;padding-right:20px}.game-app .site-header nav{gap:18px}.game-app .turn-copy strong{font-size:1.4rem}}@media (max-width:1100px) and (min-width:901px){.game-app .game-layout{grid-template-columns:minmax(0,1fr) 225px;grid-template-areas:"board opponent""history opponent";gap:22px 18px}.game-app .side-panel{padding-left:24px}.game-app .history-card .section-heading{padding:17px 20px}.game-app .history-card h2{font-size:1rem}.game-app .moves-list{height:210px}.game-app .moves-header{grid-template-columns:50px 1fr 1fr;margin:0 20px}.game-app .move-row{grid-template-columns:50px 1fr 1fr;padding-left:20px;padding-right:20px}}@media (max-width:1030px){.game-app .site-header{gap:24px}.game-app .site-header nav{gap:14px}.game-app .nav-link{font-size:.8rem}.game-app .header-help span{display:none}.game-app .turn-banner{gap:12px;padding:14px}.game-app .turn-copy>span{font-size:.85rem}}@media (max-width:900px){.game-app main{width:calc(100% - 32px)}.game-app .game-layout{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"board board""history opponent";gap:24px 18px}.game-app .side-panel,.game-app .opponent-panel{width:100%;min-width:0}.game-app .turn-banner{margin-bottom:17px}.game-app .check-help{margin-bottom:16px}.game-app .moves-list{height:250px}.game-app .history-card .section-heading{padding:17px 16px}.game-app .moves-header{margin:0 16px}.game-app .move-row{padding-left:16px}.game-app footer{flex-wrap:wrap;gap:16px}}@media (max-width:760px){.game-app .site-header{flex-wrap:wrap;gap:13px;height:auto;min-height:76px;padding-top:16px;padding-bottom:12px}.game-app .brand{font-size:1.55rem}.game-app .site-header nav{order:3;justify-content:space-between;gap:12px;width:100%;height:37px}.game-app .site-header .header-help{margin-left:auto}.game-app main{padding-top:20px}.game-app .page-heading{margin-bottom:20px}.game-app .unhurried{display:none}.game-app .turn-copy strong{font-size:1.4rem}.game-app .turn-ownership,.game-app .board-status .result-rematch{margin-left:0}}@media (max-width:540px){.game-app main{width:calc(100% - 24px)}.game-app .site-header{padding-left:16px;padding-right:16px}.game-app .nav-link{font-size:.73rem}.game-app .nav-link svg{width:14px}.game-app .page-heading{margin-left:6px}.game-app .game-layout{flex-direction:column;gap:24px;display:flex}.game-app .play-area,.game-app .side-panel,.game-app .opponent-panel{width:100%;max-width:none}.game-app .history-card,.game-app .setup-card{width:100%}.game-app .turn-banner{gap:10px;min-height:90px;margin-left:20px;padding:13px}.game-app .turn-banner .status-mark{flex-basis:25px}.game-app .turn-banner .side-indicator{width:23px;height:23px}.game-app .turn-copy{min-width:160px}.game-app .turn-copy strong{font-size:1.3rem}.game-app .turn-copy>span{font-size:.8rem}.game-app .turn-ownership{margin-left:35px}.game-app .board-status .result-rematch{width:100%;min-height:48px}.game-app .result-next-step,.game-app .check-help{margin-left:20px}.game-app .check-help{padding:12px}.game-app .check-help>div:first-child{font-size:.78rem}.game-app .check-choices button{min-height:45px}.game-app .history-card .moves-list{height:175px}.game-app .opponent-panel .mode-tabs{margin:0 20px}.game-app .opponent-panel .mode-tabs button{font-size:.72rem}.game-app .opponent-panel .variant-settings{padding-left:20px;padding-right:20px}.game-app .opponent-panel .team-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.game-app footer>span:nth-child(2){display:flex}}.focus-controls{justify-content:flex-end;gap:8px;margin:0 0 12px;display:flex}.focus-controls button{border:1px solid var(--border);background:var(--panel);border-radius:6px;justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;font-size:.8rem;display:inline-flex}.ad-reservation{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;width:100%;height:50px;min-height:50px}.game-panel-sheet:not([open]){display:none!important}.game-panel-sheet .sheet-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sheet-heading>strong{font-size:.9rem}.sheet-heading .small-button{align-items:center;gap:5px;min-height:44px;font-size:.73rem;display:flex}.menu-notification{background:#e5bc72;border-radius:50%;width:8px;height:8px}.game-app.game-focused{height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.game-app.game-focused .site-header{flex-wrap:nowrap;flex-shrink:0;gap:12px;height:48px;min-height:48px;padding:0 12px}.game-focused .site-header .brand{gap:8px;font-size:1.3rem}.game-app.game-focused .site-header nav{order:initial;align-self:stretch;gap:0;width:auto;height:100%;margin:0 0 0 auto}.game-focused .site-header .nav-link,.game-focused .site-header .header-help,.game-focused .page-heading,.game-focused .board-topline,.game-focused footer{display:none}.game-focused .site-header .lobby-return{gap:6px;min-height:44px;font-size:.76rem;display:flex}.game-focused .site-header .lobby-return svg{display:block}.game-app.game-focused main{flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;padding:0 8px;display:flex}.game-focused .focus-controls{flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:48px;margin:0}.game-focused .focus-controls button{font-size:.75rem}.game-app.game-focused .game-layout{flex-direction:row;flex:1;align-items:stretch;gap:0;width:100%;min-height:0;padding:4px 0;display:flex}.game-app.game-focused .play-area{flex-direction:column;align-items:center;width:100%;max-width:none;min-height:0;margin:0;display:flex;position:relative}.game-focused .board-viewport{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.game-focused .board-frame{width:calc(var(--board-size,0px) + 32px);flex-shrink:0;max-width:100%;margin:0;padding:0 16px 22px}.game-focused .rank-labels{width:12px;font-size:.65rem;bottom:22px;left:0}.game-focused .file-labels{height:18px;font-size:.65rem;left:16px;right:16px}.game-focused .board{box-shadow:0 4px 14px #0004,0 0 0 3px #73614b}.game-app.game-focused .turn-banner{border-radius:6px;flex-wrap:nowrap;flex-shrink:0;gap:8px;width:min(620px,100%);min-height:48px;margin:0 0 4px;padding:7px 10px}.game-app.game-focused .turn-banner .status-mark{flex-basis:20px}.game-focused .turn-banner .status-mark svg{width:21px;height:21px}.game-app.game-focused .turn-banner .side-indicator{width:18px;height:18px}.game-app.game-focused .turn-copy{gap:3px;min-width:0;line-height:1.25}.game-app.game-focused .turn-copy strong{letter-spacing:0;font-size:1.05rem}.game-app.game-focused .turn-copy>span{font-size:.7rem}.game-focused .turn-ownership{display:none}.game-focused .player-row{flex-shrink:0;gap:7px;width:min(620px,100%);min-height:32px;margin:0}.game-focused .player-avatar{border-radius:4px;flex-shrink:0;width:27px;height:27px}.game-focused .player-avatar .piece{width:26px;height:26px}.game-focused .player-details{flex:0 auto;min-width:0;overflow:hidden}.game-focused .player-name{white-space:nowrap;text-overflow:ellipsis;gap:5px;font-size:.77rem;overflow:hidden}.game-focused .player-meta{white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.59rem;overflow:hidden}.game-focused .captured-list{flex-wrap:nowrap;max-width:28%;margin-left:auto;overflow:hidden}.game-focused .captured-list .piece{width:12px;min-width:12px;height:17px;margin-right:-4px}.game-focused .turn-label{font-size:.55rem}.game-focused .turn-label.is-turn{letter-spacing:0;padding:4px 5px;font-size:.5rem}.game-focused .chess-clock{min-width:66px;padding:5px 8px;font-size:1.05rem}.game-focused .board-bottom{flex-wrap:nowrap;flex-shrink:0;gap:5px;width:min(620px,100%);min-height:44px;margin:0;font-size:.6rem}.game-focused .board-bottom>span:nth-child(2){display:none}.game-focused .board-bottom>div{gap:0;margin-left:auto}.game-focused .board-bottom .icon-button{min-width:44px;min-height:44px}.game-app.game-focused .check-help{border-radius:6px;flex-shrink:0;width:min(620px,100%);min-height:44px;margin:0 0 4px;padding:0 9px}.game-focused .check-help>div:first-child{gap:5px;min-height:42px}.game-focused .check-help>div:first-child>strong{flex:1;font-size:.7rem;line-height:1.3}.game-focused .check-help>div:first-child>svg{flex-shrink:0;width:17px}.game-focused .check-help-toggle{min-height:44px;color:var(--green);white-space:nowrap;padding:5px;font-size:.7rem;font-weight:750}.game-focused .check-help:not(.check-help-expanded)>p,.game-focused .check-help:not(.check-help-expanded) .check-choices{display:none}.game-focused .check-help-expanded .check-choices{max-height:110px}.game-focused .turn-banner.finished{flex-wrap:wrap}.game-app.game-focused .board-status .result-rematch{min-height:44px;padding:7px 10px;font-size:.8rem}.game-app.game-focused .result-next-step{flex-shrink:0;margin:0 0 4px;font-size:.65rem;line-height:1.25}.game-app.game-focused .game-panel-sheet[open]{width:min(480px,100vw - 24px);max-width:none;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--panel);border-radius:8px;flex-direction:column;gap:14px;margin:auto;padding:16px;display:flex;overflow-y:auto;box-shadow:0 20px 80px #0009}.game-panel-sheet::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#141018dd}.game-panel-sheet .sheet-heading>strong{max-width:42%;line-height:1.4}.game-app.game-focused .game-panel-sheet .history-card,.game-app.game-focused .game-panel-sheet .setup-card{flex-shrink:0;min-width:0}.game-app.game-focused .game-panel-sheet .moves-list{height:min(38dvh,300px)}.game-panel-sheet input,.game-panel-sheet select{font-size:16px}.game-panel-sheet button{touch-action:manipulation}@media (max-width:360px){.game-focused .focus-controls button>span{display:none}}@media (orientation:landscape) and (max-height:560px){.game-app.game-focused .site-header{display:none}.game-app.game-focused .play-area{grid-template-rows:1fr auto 1fr;grid-template-columns:minmax(110px,1fr) minmax(0,2fr) minmax(110px,1fr);align-items:center;gap:4px 8px;display:grid}.game-focused .board-viewport{grid-area:1/2/4;height:100%}.game-app.game-focused .turn-banner{flex-wrap:wrap;grid-area:1/1;align-self:end;margin:0}.game-focused .turn-banner .status-mark{display:none}.game-focused .player-row:has(+.board-viewport){grid-area:2/1}.game-focused .board-viewport+.player-row{grid-area:2/3}.game-focused .player-row{flex-wrap:wrap;place-content:center}.game-focused .player-details{max-width:100%}.game-focused .player-meta{max-width:140px}.game-focused .player-row .captured-list{display:none}.game-focused .player-row .turn-label,.game-focused .player-row .chess-clock{margin:4px 0 0}.game-focused .board-bottom{flex-direction:column;grid-area:3/3;align-self:start;gap:0}.game-focused .board-bottom>div{margin:0}.game-app.game-focused .check-help{grid-area:3/1;align-self:start}.game-focused .check-help>div:first-child>strong,.game-focused .check-help>div:first-child>svg{display:none}.game-focused .check-help-expanded{z-index:5;max-height:160px;position:absolute;bottom:0;left:0;overflow:auto}.game-app.game-focused .result-next-step{grid-area:1/3;align-self:end}}.install-app{padding:21px}.install-app-heading{align-items:center;gap:11px;display:flex}.install-app-heading>svg{color:#e6cd9d;flex:none}.install-app-heading h2{margin:0 0 5px;font-size:17px}.install-app-heading p{color:#bdb4a3;margin:0;font-size:12px;line-height:1.5}.install-app-button{justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:16px}.install-app-instructions{color:#cbc4b8;margin-top:14px;font-size:12px;line-height:1.7}.install-app-instructions p{margin:0 0 10px}.install-app-instructions p:last-child{margin-bottom:0}.install-app-instructions strong{color:#eee9e0}.community-page{--club-bg:#161518;--club-panel:#201e23;--club-line:#3c3a41;background:radial-gradient(ellipse at 75% 0,#3a37401a,transparent 60%),var(--club-bg);color:#efece7;min-height:100vh}.community-intro{overflow:clip}.earnport-return{color:#e4d6bd;background:#2b2930;border:1px solid #615846;border-radius:9px;align-items:center;gap:8px;min-height:44px;margin-top:14px;padding:8px 14px;font-size:.875rem;text-decoration:none;display:inline-flex}.earnport-return:hover{background:#38353e}.community-header{border-bottom:1px solid #38363c;align-items:center;gap:60px;height:88px;padding:0 max(28px,50vw - 720px);display:flex}.community-header nav{align-items:center;gap:32px;height:100%;font-size:.875rem;display:flex}.community-header nav>span,.community-header nav>button{align-items:center;gap:9px;height:100%;display:flex;position:relative}.community-nav-active{color:#e8d2aa}.community-nav-active:after{content:"";background:#dac6a2;height:3px;position:absolute;bottom:0;left:0;right:0}.community-header nav>button{color:#c1b9aa}.community-header nav>button:hover{color:#fff}.lobby-connection{color:#b6ac9a;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:.875rem;display:flex}.lobby-connection i{background:#9e8e68;border-radius:100%;width:7px;height:7px}.lobby-connection.connected i{background:#ccb17f;box-shadow:0 0 12px #ccb17f33}.community-main{margin:auto;max-width:1496px!important;padding:0 28px!important}.community-intro{justify-content:space-between;align-items:center;padding:43px 0 30px;display:flex;position:relative}.community-intro h1{letter-spacing:0;font-size:2.4rem;font-weight:650;line-height:1.13}.community-intro h1 em{color:#decba7;font-family:Georgia,serif;font-weight:400}.community-intro p{color:#b7ae9c;margin-top:15px;font-size:.94rem}.community-intro .eyebrow{letter-spacing:0;color:#bca986;margin-bottom:13px;font-size:.875rem}.lobby-piece-scene{isolation:isolate;justify-content:center;align-items:flex-end;width:220px;height:200px;margin-right:40px;display:flex;position:relative}.lobby-piece-scene>.piece{filter:drop-shadow(0 16px 9px #0008);z-index:2;width:134px;height:174px;transform:rotate(-6deg)}.lobby-piece-scene>.piece:last-child{z-index:1;width:99px;height:128px;margin-left:-28px;transform:rotate(8deg)}.scene-ring{background:radial-gradient(#806e4d1c,#0000 65%);border:1px solid #d4be9622;border-radius:50%;width:250px;height:85px;position:absolute;bottom:-5px;transform:rotate(-7deg)}.community-columns{grid-template-columns:260px minmax(350px,1fr) 294px;align-items:start;gap:22px;display:grid}.community-left,.community-right{gap:18px;min-width:0;display:grid}.community-card{border:1px solid var(--club-line);background:linear-gradient(145deg,#222125,#1e1d21);border-radius:14px;overflow:hidden}.community-card h2{letter-spacing:0;font-size:1.14rem;font-weight:650}.card-eyebrow{letter-spacing:0;color:#b7ad9b;margin-bottom:10px;font-size:.875rem}.welcome-card{padding:24px 21px}.welcome-card h2{font-size:1.5rem}.welcome-card>p{color:#bab09f;margin-top:9px;font-size:.875rem;line-height:1.65}.community-page label{color:#cec8bc;gap:8px;font-size:.875rem;display:grid}.community-page input,.challenge-dialog input,.challenge-dialog select{color:#ece8e0;outline-offset:3px;background:#1a191c;border:1px solid #47444c;border-radius:7px;width:100%;min-width:0;padding:12px}.community-page input::placeholder{color:#9e9178}.community-page .primary-button{border-radius:7px;justify-content:center;gap:8px;width:100%;min-height:45px;margin-top:14px;font-size:.875rem;font-weight:650}.google-login{margin-top:22px}.google-launch{color:#262528;background:#f6f5ef;border-radius:24px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:43px;font-size:.875rem;font-weight:600;display:flex}.google-letter{color:#4285f4;font-family:Arial,sans-serif;font-size:21px;font-weight:700}.google-login>small{color:#b0a693;margin-top:9px;font-size:.875rem;line-height:1.6;display:block}.google-button-target{max-width:100%;overflow:hidden}.google-button-target:empty{display:none}.welcome-card .or-divider{margin:18px 0}.community-identity{text-align:center}.identity-avatar{color:#e2d4ba;background:#d5c09921;border:1px solid #907e5d;border-radius:22px;place-items:center;width:65px;height:65px;margin:0 auto 15px;font-size:1.45rem;font-weight:700;display:grid}.identity-provider{color:#b0a693;justify-content:center;align-items:center;gap:5px;margin-top:10px;font-size:.875rem;display:flex}.community-logout{color:#a89c86;align-items:center;gap:6px;margin-top:18px;font-size:.875rem;display:inline-flex}.quick-card{padding:23px 19px}.quick-card h2{margin-bottom:18px}.quick-card>button{text-align:left;color:#d3ccbe;border-top:1px solid #3a383f55;align-items:center;gap:11px;width:100%;padding:13px 0;display:flex}.quick-card>button>span{flex:1;font-size:.875rem;font-weight:600}.quick-card>button small{color:#aea38f;margin-top:4px;font-size:.875rem;font-weight:400;display:block}.quick-card>button:hover{color:#efdebf}.community-etiquette{color:#b3a997;gap:10px;padding:6px 9px;display:flex}.community-etiquette p{font-size:.875rem;line-height:1.7}.community-etiquette p>span{color:#998b71;font-size:.875rem}.community-etiquette>svg{margin-top:3px}.chat-card{flex-direction:column;min-height:626px;max-height:760px;display:flex;box-shadow:0 16px 60px #0001}.chat-heading{border-bottom:1px solid #3e3c43;align-items:center;gap:12px;padding:21px 23px;display:flex}.chat-icon{color:#d2c09d;background:#d5be9413;border:1px solid #7e6f544a;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.chat-heading h2{font-size:1.15rem}.chat-heading>div>span{color:#a79b85;margin-top:4px;font-size:.875rem;display:block}.live-pill{color:#d4bf99;letter-spacing:0;background:#c8ae7d12;border:1px solid #9780554d;border-radius:5px;margin-left:auto;padding:4px 7px;font-size:.875rem;font-weight:700}.chat-feed{scrollbar-width:thin;scrollbar-color:#635844 transparent;flex:1;height:437px;min-height:290px;padding:24px 22px 16px;overflow:auto}.chat-welcome{text-align:center;color:#b3a996;border-bottom:1px solid #a88d5b20;margin-bottom:22px;padding:22px 5px 28px}.chat-welcome-symbol{color:#c3b190;margin-bottom:9px;font-size:34px;display:block}.chat-welcome strong{color:#d7cebe;font-size:.875rem}.chat-welcome p{margin-top:9px;font-size:.875rem;line-height:1.8}.chat-welcome small{color:#978970;margin-top:12px;font-size:.875rem;display:block}.chat-message{align-items:flex-start;gap:11px;margin-bottom:19px;display:flex}.message-avatar{color:#ddd3bf;background:#3c3941;border-radius:10px;flex-shrink:0;place-items:center;width:31px;height:31px;font-size:.875rem;font-weight:600;display:grid}.chat-message>div:last-child{flex:1;min-width:0}.chat-message header{border:0;align-items:center;gap:7px;height:auto;margin-bottom:6px;display:flex;padding:0!important}.chat-message strong{color:#e1d8c8;overflow-wrap:anywhere;font-size:.875rem}.chat-message header>svg{color:#bfac88}.chat-message time{color:#998b72;white-space:nowrap;margin-left:auto;font-size:.875rem}.chat-message p{color:#c9c2b4;overflow-wrap:anywhere;white-space:pre-wrap;background:#2c2a30;border:1px solid #3c394280;border-radius:0 9px 9px;padding:10px 12px;font-size:.875rem;line-height:1.6}.own-message .message-avatar{color:#e5cfa7;background:#c5a77030}.chat-composer{background:#1a191c80;border-top:1px solid #3e3c43;padding:17px 20px}.chat-composer textarea{resize:vertical;color:#efeae0;width:100%;max-height:130px;font:inherit;outline-offset:3px;background:#141317;border:1px solid #413e48;border-radius:9px;min-height:75px;padding:13px;font-size:.875rem;line-height:1.5}.chat-composer textarea::placeholder{color:#9b8d74}.chat-composer>div{justify-content:space-between;align-items:center;gap:9px;margin-top:11px;display:flex}.chat-composer small{color:#a2967f;font-size:.875rem}.chat-composer button{color:#242129;background:#dec79b;border-radius:7px;align-items:center;gap:8px;padding:9px 14px;font-size:.875rem;font-weight:650;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}.players-card{padding:22px 18px 14px}.players-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px;display:flex}.players-heading h2{font-size:1.01rem}.players-heading h2 span{color:#d3c09c;margin-left:6px;font-size:.875rem}.players-heading>svg{color:#af9f82}.member-search{margin-bottom:15px;font-size:.875rem;padding:10px 12px!important}.member-list{scrollbar-width:thin;scrollbar-color:#635844 transparent;max-height:318px;overflow:auto}.member-card{border-top:1px solid #76684e20;align-items:center;gap:9px;padding:12px 0;display:flex}.member-avatar{color:#e0d6c4;background:#3a3641;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:36px;font-size:.875rem;display:grid;position:relative}.member-avatar i{background:#c7ae81;border:2px solid #201e23;border-radius:50%;width:9px;height:9px;position:absolute;bottom:-1px;right:-2px}.member-avatar.busy i{background:#c0a570}.member-card>div{flex:1;min-width:0}.member-card strong{overflow-wrap:anywhere;font-size:.875rem;display:block}.member-card strong small{letter-spacing:0;color:#b5a382;font-size:.875rem}.member-card>div>span{color:#a2957e;margin-top:5px;font-size:.875rem;display:block}.member-card button{color:#d5c5a8;background:#c3af8908;border:1px solid #85755666;border-radius:6px;flex-shrink:0;padding:7px 9px;font-size:.875rem}.member-card button:hover{background:#d2ba8d22}.empty-members,.players-footnote{color:#a79a82;padding:8px 0 5px;font-size:.875rem;line-height:1.75}.players-footnote{border-top:1px solid #85755633;margin-top:9px;font-size:.875rem}.invitation-section{padding:20px 18px}.invitation-section h2{align-items:center;gap:8px;font-size:.96rem;display:flex}.empty-invites{color:#a89c86;margin-top:13px;font-size:.875rem;line-height:1.8}.invitation-card{background:#d1bc940a;border:1px solid #c2a97b3d;border-radius:9px;margin-top:15px;padding:14px}.invitation-label{letter-spacing:0;color:#d3c1a0;margin-bottom:9px;font-size:.875rem;display:block}.invitation-card>strong{font-size:.9rem}.invitation-card p{color:#bfb5a1;margin-top:7px;font-size:.875rem}.invitation-card>small{color:#a0937c;margin-top:8px;font-size:.875rem;display:block}.invitation-card .primary-button{min-height:40px;font-size:.875rem}.decline-button{text-align:center;color:#b8ab94;width:100%;margin-top:12px;font-size:.875rem;display:block}.challenge-dialog form{gap:17px;margin-top:22px;display:grid}.challenge-dialog label{gap:8px;font-size:.875rem;display:grid}.challenge-dialog .primary-button{margin-top:4px}.community-hint{line-height:1.7;color:#baad94!important;font-size:.875rem!important}.community-footer{color:#a39780;border-top:1px solid #37353c;justify-content:space-between;gap:20px;font-size:.875rem;display:flex;margin:26px 0 0!important;padding:21px 0 26px!important}.community-footer>span:first-child{color:#c2b8a4;font-size:.875rem;font-weight:650}.community-footer>span:first-child>span{color:#9a8d74;margin-left:14px;font-size:.875rem;font-weight:400}@media (min-width:1500px){.chat-feed{height:445px}.community-intro{padding-top:48px;padding-bottom:36px}}@media (max-width:1180px){.community-columns{grid-template-columns:230px minmax(300px,1fr) 260px;gap:15px}.community-main{padding:0 23px!important}.welcome-card{padding:21px 16px}.community-header{gap:40px;padding:0 23px}.chat-heading{padding:20px 17px}.chat-feed{padding:20px 15px}.players-card{padding:20px 13px}.lobby-piece-scene{margin-right:20px}.quick-card{padding:20px 14px}.community-intro h1{font-size:2.7rem}.google-button-target{transform-origin:0 0}}@media (max-width:990px){.community-columns{grid-template-columns:230px minmax(0,1fr)}.community-right{grid-area:2/2;grid-template-columns:1fr 1fr}.community-left{grid-row:1/span 2}.chat-card{grid-column:2}.community-header{gap:25px}.community-header nav{gap:20px}.lobby-piece-scene{transform-origin:100%;height:156px;margin-right:0;transform:scale(.85)}.community-intro p{max-width:450px;font-size:.875rem;line-height:1.6}.community-intro h1{font-size:2.45rem}.community-footer>span:last-child{display:none}.member-card{flex-wrap:wrap}.member-card button{margin-left:auto}}@media (max-width:720px){.community-header{flex-wrap:wrap;gap:16px;height:70px;padding:0 18px}.community-header .brand{font-size:1.4rem}.community-header nav{gap:15px;margin-left:auto;font-size:.875rem}.community-header nav svg,.lobby-connection{display:none}.community-main{padding:0 17px!important}.community-intro{padding:28px 0 23px}.community-intro h1{letter-spacing:0;font-size:2.15rem}.community-intro .eyebrow{letter-spacing:0;font-size:.875rem}.community-intro p{max-width:330px;font-size:.875rem;line-height:1.6}.lobby-piece-scene{flex-shrink:0;width:120px;height:130px;margin-left:-15px;transform:scale(.74)}.community-columns{flex-direction:column;gap:18px;display:flex}.community-left{display:contents}.welcome-card{order:0;width:100%;padding:22px}.welcome-card>p{max-width:none}.welcome-card form{grid-template-columns:1fr auto;align-items:end;gap:13px;display:grid}.welcome-card .primary-button{min-height:43px;margin-top:0;padding:0 15px}.welcome-card .google-login{max-width:270px;margin-top:17px}.welcome-card .or-divider{margin:15px 0}.welcome-card h2{font-size:1.3rem}.community-identity{text-align:left;flex-wrap:wrap;align-items:center;gap:12px;display:flex}.community-identity h2{font-size:1.1rem}.identity-avatar{border-radius:14px;width:44px;height:44px;margin:0;font-size:1rem}.identity-provider{margin-top:0;font-size:.875rem}.community-logout{margin:0 0 0 auto}.chat-card{order:1;width:100%;min-height:480px;max-height:640px}.chat-feed{height:330px}.community-right{order:2;grid-template-columns:1fr 1fr;width:100%;display:grid}.quick-card{order:3;width:100%}.community-etiquette{order:4}.quick-card>button{min-height:63px}.chat-welcome{margin-bottom:16px;padding:13px 5px 21px}.chat-composer{padding:15px}.community-footer{margin-top:20px!important;padding-bottom:21px!important}.wide-break{display:none}.member-card{flex-wrap:nowrap}.chat-heading h2{font-size:1rem}.chat-heading>div>span{font-size:.875rem}}@media (max-width:450px){.community-header{gap:8px;padding:0 14px}.community-header nav{gap:12px;font-size:.875rem}.community-header .brand{font-size:1.32rem}.community-main{padding:0 13px!important}.community-intro{padding:24px 3px}.community-intro h1{font-size:1.95rem}.lobby-piece-scene{display:none}.welcome-card{padding:21px 18px}.welcome-card form{grid-template-columns:1fr}.welcome-card .primary-button{margin-top:0}.community-right{grid-template-columns:1fr}.players-card,.invitation-section{padding:20px}.member-list{max-height:250px}.community-identity{gap:9px}.identity-provider{justify-content:flex-start;width:100%;margin-top:-8px;margin-left:53px}.community-logout{margin-top:3px;margin-left:53px}.chat-card{min-height:500px}.chat-heading{padding:18px 15px}.chat-feed{padding:18px 14px}.chat-composer textarea{font-size:.875rem}.community-footer>span:first-child>span{margin:6px 0 0;display:block}.challenge-dialog{width:calc(100% - 26px)}}.community-page{color:#f5f0e7;line-height:1.55}.community-card{border-color:#625c68;border-radius:8px}.community-page input,.community-page textarea,.community-page label,.community-page .primary-button,.google-launch{font-size:1rem}.community-page input::placeholder,.community-page textarea::placeholder{color:#c3bacb;opacity:1}.chat-message p{color:#f5f0e7;background:#312d38;border-color:#625469;font-size:1.0625rem;line-height:1.65}.own-message p{background:#3a3130;border-color:#8d7356}.chat-message strong,.member-card strong,.quick-card>button>span{color:#f5eddf;font-size:1rem}.chat-message time,.chat-welcome small,.chat-composer small,.member-card>div>span,.identity-provider,.empty-invites,.empty-members,.players-footnote,.community-etiquette p>span{color:#d0c7d6}.community-page button,.community-logout,.member-card button,.chat-composer button{min-height:44px;font-size:1rem}.community-card h2,.chat-heading h2,.players-heading h2{font-size:1.25rem}.chat-heading>div>span,.welcome-card>p,.community-intro p,.invitation-card p{color:#d0c7d6;font-size:1rem}.community-intro{padding:25px 0}.community-intro h1{font-size:2.4rem}.chat-welcome{padding:14px 5px 20px}.chat-welcome p,.chat-welcome strong{font-size:1rem}.community-page .community-logout{padding:6px 12px}.chat-message time{margin-left:auto}.member-card{flex-wrap:wrap}.member-card button{margin-left:auto}@media (max-width:1100px) and (min-width:721px){.community-columns{grid-template-columns:250px minmax(0,1fr)}.community-left{grid-row:1/span 2}.community-right{grid-area:2/2;grid-template-columns:1fr}.chat-card{grid-column:2}}@media (max-width:720px){.community-intro h1{font-size:1.9rem}.community-header{height:auto;min-height:72px;padding:10px 14px}.community-header nav{min-height:44px;font-size:1rem}.community-header nav>button,.community-header nav>span{min-height:44px}.chat-feed{min-height:210px}.chat-card{min-height:490px;max-height:720px}.community-identity h2{font-size:1.25rem}.community-right{grid-template-columns:1fr}.community-main{padding:0 12px!important}.welcome-card form{grid-template-columns:1fr}}html body{background:#1d1b23}.app .square.light{background-color:var(--set-light,#ded8cb)}.app .square.dark{background-color:var(--set-dark,#746979)}.app .board{box-shadow:0 10px 26px #0005,0 0 0 4px #8e7046}.app .move-marker{background:#66501dcc;box-shadow:0 0 0 4px #e8c27544}.app .legend-dot{background:#e8c275}.app .legend-dot.capture{background:var(--red)}.app .legal-capture .move-marker{background:#e2695630}:root{color:#eae8e3;font-synthesis:none;text-rendering:optimizelegibility;--bg:#171619;--panel:#1f1e22;--border:#39383c;--muted:#b6ad9b;--green:#e6cd9d;--ink:#1d1c20;--red:#ed796e;background:#171619;font-family:DM Sans,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:4px}button,a{touch-action:manipulation}svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Segoe UI,sans-serif}h2{font-size:1rem;font-weight:700}h3{font-size:1.1rem}p{line-height:1.65}small{font-size:.8rem;line-height:1.5}.site-header{border-bottom:1px solid #313034;align-items:center;gap:75px;height:90px;padding:0 max(32px,50vw - 595px);display:flex}.brand{letter-spacing:0;color:#f1eee9;align-items:center;gap:12px;font-family:Manrope,Segoe UI,sans-serif;font-size:1.8rem;font-weight:800;line-height:1;display:flex}.brand-light{font-weight:500}.brand-dot{color:var(--green)}.brand-mark{grid-template-columns:repeat(2,8px);gap:4px;display:grid;transform:rotate(-5deg)}.brand-mark i{background:var(--green);border-radius:1px;height:8px}.brand-mark i:nth-child(2){opacity:.45}.brand-mark i:nth-child(3){opacity:.7}.site-header nav{align-self:stretch;gap:30px;display:flex}.nav-link{color:var(--muted);align-items:center;gap:7px;padding:0 3px;font-size:.9rem;display:flex;position:relative}.nav-link.current{color:#f4f0e9}.nav-link.current:after{content:"";background:var(--green);height:2px;position:absolute;bottom:0;left:0;right:0}.header-help{color:#ccc5b8;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:.85rem;display:flex}main{max-width:1190px;margin:auto;padding:34px 0 0}.page-heading{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:0;color:#bab09f;align-items:center;gap:7px;margin-bottom:10px;font-size:.69rem;font-weight:600;display:flex}.tiny-board{background:var(--green);opacity:.8;width:8px;height:8px}h1{letter-spacing:0;font-size:2.65rem;font-weight:650;line-height:1.2}.unhurried{color:#beb6a6;align-self:flex-end;align-items:center;gap:9px;margin-bottom:4px;font-size:.81rem;display:flex}.status-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.game-layout{grid-template-columns:minmax(0,1fr) 351px;align-items:start;gap:39px;display:grid}.play-area{min-width:0;max-width:740px}.board-topline{letter-spacing:0;color:#b1a693;justify-content:space-between;margin-bottom:11px;padding-left:24px;font-size:.65rem;display:flex}.board-topline>span:last-child{letter-spacing:0;text-transform:none;font-size:.78rem}.player-row{align-items:center;gap:12px;min-height:57px;margin:0 0 12px 24px;display:flex}.player-avatar{background:#2b292e;border:1px solid #49484c;border-radius:9px;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.player-avatar .piece{filter:none;width:37px;height:37px}.avatar-w{background:#d8d3ca}.player-details{min-width:100px}.player-name{align-items:center;gap:8px;font-size:.94rem;font-weight:600;display:flex}.player-meta{color:#b1a794;margin-top:3px;font-size:.72rem}.player-meta>span{padding:0 4px}.you-label{color:var(--green);letter-spacing:0;background:#e5d7bd1a;border-radius:3px;padding:2px 4px;font-size:.56rem}.turn-label{color:#b3a997;white-space:nowrap;margin-left:auto;font-size:.67rem}.turn-label.is-turn{color:#e5d6b9;letter-spacing:0;background:#e6cd9d14;border:1px solid #bfa57635;border-radius:5px;padding:6px 9px;font-size:.6rem}.captured-list{flex-wrap:wrap;align-items:center;gap:0;max-width:42%;margin-left:3px;display:flex}.captured-list .piece{filter:none;opacity:.9;width:20px;height:25px;margin-right:-5px}.board-frame{-webkit-user-select:none;user-select:none;margin-bottom:8px;padding-bottom:24px;padding-left:24px;position:relative}.board{aspect-ratio:1;isolation:isolate;touch-action:none;border-radius:4px;grid-template-columns:repeat(8,1fr);display:grid;position:relative;box-shadow:0 12px 26px #0005,0 0 0 5px #2f2d32}.square{aspect-ratio:1;touch-action:none;cursor:default;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;padding:0;display:flex;position:relative;overflow:visible}.square.light{background:#dcd4c6}.square.dark{background:#8c7e65}.playable .square:has(.piece){cursor:grab}.square:first-child{border-top-left-radius:3px}.square:nth-child(8){border-top-right-radius:3px}.square:nth-child(57){border-bottom-left-radius:3px}.square:last-of-type{border-bottom-right-radius:3px}.square:focus-visible{outline-offset:-3px;z-index:4;outline:3px solid #f8e385}.square.last-move:after{content:"";pointer-events:none;background:#e3c07f66;position:absolute;inset:0}.square.selected{box-shadow:inset 0 0 0 4px #e8ca94}.square.selected:after{content:"";background:#e5c48750;position:absolute;inset:0}.square.legal-move:before{content:"";background:#ebd2a424;position:absolute;inset:0}.square .piece{z-index:1}.square.legal-move,.square.legal-capture{cursor:pointer}.move-marker{pointer-events:none;z-index:3;background:#373240aa;border-radius:50%;width:25%;height:25%;position:absolute;box-shadow:0 0 0 5px #e6cea235}.legal-move:hover{box-shadow:inset 0 0 0 4px #eed9b3}.legal-capture .move-marker{background:#ed65562b;border:5px solid #cf493ae6;border-radius:16%;width:87%;height:87%;box-shadow:0 0 14px #dc443253,inset 0 0 10px #e9604255}.square.in-check{background:#dc776a!important}.rank-labels{color:#bbb2a1;text-align:center;flex-direction:column;justify-content:space-around;width:13px;font-size:.74rem;display:flex;position:absolute;top:0;bottom:24px;left:0}.file-labels{color:#bbb2a1;justify-content:space-around;height:16px;font-size:.74rem;display:flex;position:absolute;bottom:0;left:24px;right:0}.piece{pointer-events:none;transform-origin:50% 88%;filter:drop-shadow(0 3px 2px #1413164d);will-change:transform;justify-content:center;align-items:center;width:86%;height:86%;display:inline-flex;position:relative}.piece img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.state-still{animation:none!important}.board-status{color:#e0d9cb;background:#222125;border:1px solid #3f3c44;border-radius:8px;align-items:center;gap:11px;min-height:47px;margin-left:24px;padding:10px 15px;font-size:.88rem;display:flex}.status-mark{align-items:center;display:flex}.side-indicator{border:1px solid #aaa;border-radius:50%;width:12px;height:12px;display:block}.side-w{background:#f3efdd}.side-b{background:#2f2e32}.board-status.finished{background:#e6cd9d14;border-color:#e6cd9d70}.board-status button{color:var(--green);white-space:nowrap;align-items:center;margin-left:auto;font-weight:600;display:flex}.board-bottom{color:#b3a997;justify-content:space-between;align-items:center;gap:8px;margin:13px 0 0 24px;font-size:.69rem;display:flex}.board-bottom>span{align-items:center;gap:5px;display:flex}.board-bottom>div{gap:6px;display:flex}.legend-dot{background:#d4be95;border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.capture{background:var(--red);margin-left:6px}.icon-button{color:#bdb4a3;border-radius:6px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:7px;display:inline-flex}.icon-button:hover{color:#f1ebe0;background:#e3dbcc12}.side-panel{flex-direction:column;gap:18px;padding-top:0;display:flex}.setup-card,.history-card{background:var(--panel);border:1px solid #3b3a3e;border-radius:12px;overflow:hidden}.section-heading{align-items:center;gap:10px;padding:21px 21px 18px;display:flex}.section-heading>svg{color:#d0c6b5;margin-left:auto}.section-heading h2{font-size:.96rem}.mode-tabs{background:#151418;border:1px solid #353437;border-radius:8px;gap:4px;margin:0 20px;padding:4px;display:flex}.mode-tabs button{white-space:nowrap;color:#c1b9a9;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:7px;padding:11px 2px 9px;font-size:.68rem;display:flex}.mode-tabs button.active{color:#28252e;background:#e6cd9d;font-weight:700;box-shadow:0 2px 5px #0003}.mode-content{text-align:center;padding:20px}.mode-illustration{color:#c6bca9;justify-content:center;align-items:center;gap:12px;height:38px;margin:1px auto 13px;display:flex}.small-line{border-bottom:1px dashed #776b56;width:26px}.mode-content h3{margin-bottom:9px;font-size:1.1rem;font-weight:650}.mode-content p,.online-form>p,.room-details>p{color:#c0b7a7;font-size:.83rem;line-height:1.7}.primary-button{background:var(--green);color:var(--ink);border:1px solid var(--green);border-radius:7px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;padding:11px 15px;font-size:.86rem;font-weight:650;transition:background .15s,transform .15s;display:flex}.primary-button:hover:not(:disabled){background:#eed9b2;transform:translateY(-1px)}.mode-content .primary-button{margin-top:22px}.primary-button>svg:last-child:not(:first-child){margin-left:auto}.mode-content .primary-button>svg:first-child{margin-right:auto}.count-badge{color:#cbc4b7;background:#313034;border-radius:5px;padding:3px 7px;font-size:.65rem}.history-card .section-heading{gap:10px;padding:17px 20px 13px}.history-card .section-heading>.icon-button{margin-left:auto}.moves-header{letter-spacing:0;color:#a99d88;border-bottom:1px solid #37353b;grid-template-columns:50px 1fr 1fr;margin:0 20px;padding-bottom:9px;font-size:.61rem;display:grid}.moves-list{scrollbar-width:thin;scrollbar-color:#5b5242 transparent;height:156px;overflow-y:auto}.empty-history{color:#bdb4a4;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;font-size:.76rem;display:flex}.empty-history small{color:#9b8e75;font-size:.71rem}.empty-symbol{color:#726753;margin-bottom:5px;font-size:2rem;line-height:1}.move-row{grid-template-columns:50px 1fr 1fr;align-items:center;min-height:34px;padding:3px 20px;font-size:.8rem;display:grid}.move-row:nth-child(2n){background:#ffffff03}.move-row>span:first-child{color:#a49882;font-size:.72rem}.move-row>span:not(:first-child){border-radius:4px;justify-content:space-between;align-items:center;margin-right:12px;padding:4px 8px;display:flex}.move-row .latest{color:#e9dbc1;background:#6e604640}.move-row svg{color:#beb6a6}.game-actions{border-top:1px solid #39383c;margin:0 20px;padding:12px 0;display:flex}.game-actions button{color:#d1cbbf;flex:1;justify-content:center;align-items:center;gap:7px;font-size:.78rem;display:flex}.game-actions button+button{border-left:1px solid #45434a}.animation-card{gap:12px;padding:20px 5px 8px;display:flex;position:relative}.animation-icon{color:var(--green);padding-top:1px}.animation-card strong{font-size:.87rem;font-weight:550}.animation-card p{color:#b4aa97;margin-top:6px;font-size:.75rem;line-height:1.7}.text-button{color:#dbcbac;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;font-size:.76rem;display:inline-flex}.animation-card .text-button{margin-top:11px}.mini-toggle{background:#4b494e;border-radius:15px;flex-shrink:0;width:29px;height:17px;margin-left:auto;padding:3px}.mini-toggle span{background:#b5ab99;border-radius:50%;width:11px;height:11px;transition:transform .2s;display:block}.mini-toggle.on{background:#746549}.mini-toggle.on span{background:var(--green);transform:translate(12px)}footer{color:#9f927b;border-top:1px solid #343237;justify-content:space-between;align-items:center;margin-top:33px;padding:22px 0 25px;font-size:.69rem;display:flex}footer>span,footer button{align-items:center;gap:8px;display:flex}footer>span:nth-child(2){color:#96886d}footer button{color:#b1a693;padding:0;font-size:.7rem}.online-form,.room-details{padding:20px}.online-form>p{margin-bottom:16px}.online-form label,.form-label{color:#cdc6ba;flex-direction:column;gap:8px;margin-bottom:15px;font-size:.78rem;display:flex}.online-form input,.room-details input,select{color:#ebe5da;outline-offset:1px;background:#151418;border:1px solid #46444a;border-radius:6px;width:100%;min-width:0;padding:11px 12px;font-size:.85rem}.online-form input::placeholder{color:#97896f}.online-form .primary-button{margin-top:5px}.or-divider{text-align:center;border-top:1px solid #3f3d42;margin:24px 0 17px;position:relative}.or-divider span{background:var(--panel);color:#a2957e;padding:0 10px;font-size:.7rem;position:relative;top:-10px}.join-form{gap:8px;margin-top:-7px;display:flex}.join-form input{text-transform:uppercase;letter-spacing:0;font-size:.75rem}.join-form input::placeholder{text-transform:none;letter-spacing:0}.small-button{color:#e3d9c5;background:#2b292f;border:1px solid #5f5544;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:9px 12px;font-size:.78rem;display:inline-flex}.small-button:hover:not(:disabled){background:#393540}.connection-note{align-items:flex-start;gap:8px;margin-top:15px;display:flex;color:#a99d88!important;margin-bottom:0!important;font-size:.72rem!important;line-height:1.6!important}.connection-note svg{margin-top:3px}.room-code{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:15px;display:flex}.room-code>span:first-child{letter-spacing:0;color:#b6ac9a;width:100%;font-size:.6rem}.room-code strong{letter-spacing:0;font-family:Manrope,monospace;font-size:1.55rem;font-weight:500}.connection-badge{color:#efb28e;margin-left:auto;font-size:.65rem}.connection-badge.connected{color:#e6cd9d}.room-details>input{margin:14px 0 10px;font-size:.72rem}.room-details>.text-button{color:#b8af9e;width:100%;margin-top:17px}.full-width{width:100%;margin-top:15px}.notice{background:#302d35;border:1px solid #716349;border-radius:8px;flex-wrap:wrap;align-items:center;gap:9px;padding:14px;font-size:.8rem;display:flex}.notice>div{gap:15px;display:flex}.toast{color:#26242b;z-index:100;background:#e8decc;border:1px solid #f6f2ea;border-radius:9px;align-items:center;gap:20px;width:max-content;max-width:min(620px,100vw - 30px);padding:14px 15px 14px 20px;font-size:.9rem;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 35px #0008}.toast button{color:inherit;padding:5px;display:flex}.modal{color:#eeeae3;background:#222025;border:1px solid #685e4b;border-radius:16px;width:min(490px,100vw - 26px);max-height:calc(100dvh - 32px);padding:26px;box-shadow:0 30px 100px #0009}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c0b0fce}.modal-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.modal-head h2{letter-spacing:0;font-size:1.25rem;font-weight:600}.modal p{color:#c5bdaf;margin-bottom:20px;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions .primary-button{width:auto;min-width:140px}.wide-modal{width:min(720px,100vw - 26px)}.gallery-controls{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.gallery-controls .active{background:var(--green);color:var(--ink)}.piece-gallery{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.gallery-card{background:#302e35;border:1px solid #49464f;border-radius:9px;flex-direction:column;align-items:center;padding:15px 8px 13px;display:flex;overflow:hidden}.gallery-stage{justify-content:center;align-items:center;width:94px;height:97px;margin-bottom:5px;display:flex}.gallery-card strong{text-transform:capitalize;font-size:.9rem;font-weight:600}.gallery-card small{color:#b5ab99;text-align:center;margin-top:5px;font-size:.71rem}.modal p.fine-print{color:#a69a83;margin:19px 0 0;font-size:.75rem}.promotion-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.promotion-options button{background:#393640;border:1px solid #7a6c51;border-radius:9px;flex-direction:column;align-items:center;padding:12px 3px;display:flex}.promotion-options button:hover{background:#62563f}.promotion-options .piece{width:70px;max-width:100%;height:70px}.promotion-options span:last-child{text-transform:capitalize;font-size:.72rem}.switch-line{border-top:1px solid #3f3c44;align-items:center;gap:20px;padding:18px 0;display:flex;position:relative}.switch-line>span:first-child{flex-direction:column;flex:1;gap:7px;display:flex}.switch-line strong{font-size:.92rem;font-weight:550}.switch-line small{color:#b5ab99;font-size:.8rem}.switch-line input{opacity:0;cursor:pointer;z-index:2;width:40px;height:25px;position:absolute;right:0}.switch{pointer-events:none;background:#645b49;border-radius:20px;width:40px;height:24px;padding:4px;display:block}.switch:after{content:"";background:#c6beaf;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block}.switch-line input:checked+.switch{background:#8b7958}.switch-line input:checked+.switch:after{background:var(--green);transform:translate(16px)}.switch-line input:focus-visible+.switch{outline:2px solid var(--green);outline-offset:4px}.help-content h3{color:#ece6db;margin:20px 0 8px;font-size:.97rem}.help-content a{align-items:center;gap:6px;font-size:.85rem;display:flex}.draw-options{flex-direction:column;gap:12px;display:flex}.form-label select{margin-bottom:10px}.muted{color:var(--muted)}.gallery-controls .small-button.active:hover{color:var(--ink);background:#eed9b2}.piece-gallery .gallery-card .gallery-stage{width:100%;max-width:124px;height:124px;overflow:hidden}.gallery-stage .piece{transform-origin:50% 65%;flex-shrink:0;width:76px;height:76px}.type-p.state-idle{animation:3.8s ease-in-out infinite pawn-idle}.type-n.state-idle{animation:4.6s ease-in-out infinite knight-idle}.type-b.state-idle{animation:5.4s ease-in-out infinite bishop-idle}.type-r.state-idle{animation:5.8s ease-in-out infinite rook-idle}.type-q.state-idle{animation:4.5s ease-in-out infinite queen-idle}.type-k.state-idle{animation:5s ease-in-out infinite king-idle}.square:nth-child(2n) .state-idle{animation-delay:-1.7s}.square:nth-child(3n) .state-idle{animation-delay:-2.8s}@keyframes pawn-idle{0%,70%,to{transform:translateY(0)scaleY(1)}80%{transform:translateY(-3%)scaleY(1.03)}90%{transform:translateY(0)scaleY(.97)}}@keyframes knight-idle{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-5deg)translateY(-1%)}80%{transform:rotate(3deg)}90%{transform:rotate(-2deg)}}@keyframes bishop-idle{0%,to{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}@keyframes rook-idle{0%,80%,to{transform:scale(1)}90%{transform:scaleX(1.035)scaleY(.97)}}@keyframes queen-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3.5%)}}@keyframes king-idle{0%,to{transform:scaleY(1)rotate(-.6deg)}50%{transform:scaleY(1.035)rotate(.6deg)}}.battle-layer{pointer-events:none;z-index:12;position:absolute;inset:0}.travel-piece,.victim,.impact{justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute}.travel-piece{z-index:3;animation:.34s cubic-bezier(.25,.6,.4,1) forwards travel}.victim{z-index:2}.impact{z-index:1;color:#fbdda4;text-shadow:0 0 15px #fd9868;filter:drop-shadow(0 0 8px #df5e30);font-size:4rem;line-height:1;animation:.62s ease-out both impact}.impact-r{color:#0000;background:#eed37344;border:4px solid #f5d891;border-radius:50%;animation:.6s ease-out both shockwave}.impact-b{color:#dfc4ff;text-shadow:0 0 12px #d59afa;transform:rotate(45deg)}.impact-q{border:3px double #f6dba6;border-radius:50%;animation:.6s ease-out both royalwave}.impact-n{color:#fcde93;font-size:4.5rem}.impact-k{color:#f1dfbd}.drag-piece{pointer-events:none;z-index:20;filter:drop-shadow(0 9px 4px #0005);justify-content:center;align-items:center;width:12.5%;height:12.5%;display:flex;position:absolute;transform:translate(-50%,-50%)}@keyframes travel{0%{transform:translate(0)}to{transform:translate(var(--dx),var(--dy))}}@keyframes impact{0%{opacity:0;transform:scale(.1)rotate(0)}25%{opacity:1}to{opacity:0;transform:scale(1.5)rotate(70deg)}}@keyframes shockwave{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(1.8)}}@keyframes royalwave{0%{opacity:1;transform:scale(.3)rotate(0)}to{opacity:0;transform:scale(1.65)rotate(150deg)}}.type-p.state-moving{animation:.35s ease-in-out infinite pawn-move}.type-n.state-moving{animation:.29s ease-in-out infinite knight-move}.type-b.state-moving{animation:.4s ease-in-out infinite bishop-move}.type-r.state-moving{animation:.23s ease-in-out infinite rook-move}.type-q.state-moving{animation:.5s ease-in-out infinite queen-move}.type-k.state-moving{animation:.38s ease-in-out infinite king-move}@keyframes pawn-move{0%,to{transform:translateY(0)scaleY(.9)}50%{transform:translateY(-22%)scaleY(1.08)}}@keyframes knight-move{0%,to{transform:rotate(7deg)translateY(0)}35%{transform:rotate(-14deg)translateY(-28%)}70%{transform:rotate(12deg)translateY(-9%)}}@keyframes bishop-move{0%,to{transform:rotate(-8deg)scale(.95)}50%{transform:rotate(8deg)scale(1.06)}}@keyframes rook-move{0%,to{transform:translateY(0)scale(1.08,.9)}45%{transform:translateY(-7%)scale(.97,1.05)}}@keyframes queen-move{0%,to{transform:translateY(-10%)rotate(-5deg)}50%{transform:translateY(-24%)rotate(5deg)}}@keyframes king-move{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-6%)}}.type-p.state-attacking{animation:pawn-attack var(--battle-attacking-duration,.62s) both}.type-n.state-attacking{animation:knight-attack var(--battle-attacking-duration,.62s) both}.type-b.state-attacking{animation:bishop-attack var(--battle-attacking-duration,.62s) both}.type-r.state-attacking{animation:rook-attack var(--battle-attacking-duration,.62s) both}.type-q.state-attacking{animation:queen-attack var(--battle-attacking-duration,.62s) both}.type-k.state-attacking{animation:king-attack var(--battle-attacking-duration,.62s) both}@keyframes pawn-attack{0%{transform:rotate(-18deg)scale(.9)}35%{transform:translateY(-8%)rotate(24deg)scale(1.15)}60%{transform:rotate(-8deg)}to{transform:none}}@keyframes knight-attack{0%{transform:rotate(-25deg)}30%{transform:translateY(-42%)rotate(-18deg)scale(1.15)}58%{transform:translateY(5%)rotate(18deg)scale(1.08,.87)}to{transform:none}}@keyframes bishop-attack{0%{transform:scale(.85)rotate(0)}45%{filter:drop-shadow(0 0 12px #d8b6ff);transform:scale(1.14)rotate(180deg)}to{transform:scale(1)rotate(360deg)}}@keyframes rook-attack{0%{transform:scale(1.05,.85)}30%{transform:translateY(-27%)scale(.95,1.1)}48%{transform:translateY(8%)scale(1.28,.75)}62%{transform:rotate(-5deg)}76%{transform:rotate(5deg)}to{transform:none}}@keyframes queen-attack{0%{transform:translateY(-10%)}40%{filter:drop-shadow(0 0 14px #ffe9a1);transform:translateY(-26%)rotate(18deg)scale(1.22)}70%{transform:rotate(-12deg)scale(1.08)}to{transform:none}}@keyframes king-attack{0%{transform:rotate(-10deg)translate(-12%)}38%{transform:rotate(17deg)translate(18%)scale(1.12)}60%{transform:rotate(-5deg)}to{transform:none}}.state-dying{z-index:2}.type-p.state-dying{animation:pawn-die var(--battle-dying-duration,.62s) ease-in both}.type-n.state-dying{animation:knight-die var(--battle-dying-duration,.62s) ease-in both}.type-b.state-dying{animation:bishop-die var(--battle-dying-duration,.62s) ease-in both}.type-r.state-dying{animation:rook-die var(--battle-dying-duration,.62s) ease-in both}.type-q.state-dying{animation:queen-die var(--battle-dying-duration,.62s) ease-in both}.type-k.state-dying{animation:king-die var(--battle-dying-duration,.62s) ease-in both}@keyframes pawn-die{0%,15%{opacity:1;transform:none}65%{opacity:.7;transform:rotate(85deg)translate(20%)}to{opacity:0;transform:rotate(100deg)translate(35%)scale(.5)}}@keyframes knight-die{0%,15%{opacity:1;transform:none}50%{opacity:1;transform:rotate(-50deg)translateY(-25%)}to{opacity:0;transform:rotate(-130deg)translate(-30%,30%)scale(.5)}}@keyframes bishop-die{0%,15%{opacity:1;transform:none}50%{filter:blur(1px)drop-shadow(0 0 10px #d5aeff);opacity:.8;transform:scale(.45,1.5)}to{opacity:0;transform:translateY(-50%)scale(0,1.8)}}@keyframes rook-die{0%,15%{opacity:1;transform:none}30%{transform:rotate(9deg)}40%{transform:rotate(-9deg)}65%{opacity:.7;transform:translateY(15%)scale(1.3,.45)}to{opacity:0;transform:translateY(35%)scale(1.4,0)}}@keyframes queen-die{0%,15%{opacity:1;transform:none}55%{filter:blur(2px);opacity:.6;transform:translateY(-17%)rotate(35deg)scale(1.2)}to{filter:blur(6px);opacity:0;transform:translateY(-40%)rotate(85deg)scale(0)}}@keyframes king-die{0%,15%{opacity:1;transform:none}45%{opacity:1;transform:rotate(-25deg)}75%{opacity:.7;transform:rotate(-80deg)translate(-10%)}to{opacity:0;transform:rotate(-90deg)translate(-25%)}}.motion-off .piece,.motion-off .travel-piece,.motion-off .impact{will-change:auto;transition:none!important;animation:none!important}.motion-off .state-dying{opacity:.35}.motion-off .battle-layer{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.piece{will-change:auto}}@media (min-width:1450px){main{max-width:1240px}.game-layout{grid-template-columns:minmax(0,740px) 360px;justify-content:space-between;gap:50px}.site-header{padding-left:calc(50vw - 620px);padding-right:calc(50vw - 620px)}}@media (max-width:1260px){main{padding:29px 28px 0}.site-header{height:78px;padding:0 28px}.game-layout{grid-template-columns:minmax(0,1fr) 325px;gap:27px}.page-heading{margin-bottom:24px}h1{font-size:2.35rem}.section-heading{padding-left:17px;padding-right:17px}.mode-tabs{margin:0 17px}.setup-card h2{font-size:.89rem}.player-row{gap:9px}.player-details{min-width:90px}}@media (max-width:980px){.game-layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}.site-header{gap:35px}.header-help span{display:none}.unhurried{font-size:.7rem}.mode-content,.online-form,.room-details{padding:16px}.mode-content p{font-size:.78rem}.board-bottom{flex-wrap:wrap}.board-bottom>span:nth-child(2){display:none}.turn-label{font-size:.6rem}.player-meta{font-size:.65rem}.player-name{font-size:.84rem}.captured-list .piece{width:17px;height:20px}.captured-list{max-width:30%}.setup-card h2{font-size:.8rem}.mode-tabs button{font-size:.62rem}.animation-card p{font-size:.7rem}.board-status{font-size:.76rem}}@media (max-width:760px){.site-header{gap:20px;height:66px;padding:0 20px}.brand{gap:9px;font-size:1.5rem}.site-header nav{gap:15px;margin-left:auto}.nav-link{font-size:.75rem}.header-help{margin-left:0;padding:0}.nav-link svg{display:none}main{padding:24px 18px 0}.page-heading{margin-bottom:24px}.eyebrow{letter-spacing:0;margin-bottom:8px;font-size:.55rem}h1{font-size:2.1rem}.unhurried{display:none}.game-layout{grid-template-columns:1fr;gap:24px}.play-area{width:100%;max-width:590px;margin:auto}.board-topline{letter-spacing:0;font-size:.57rem}.player-row{min-height:46px;margin-bottom:10px}.player-avatar{width:38px;height:38px}.player-avatar .piece{width:33px;height:33px}.player-name{font-size:.87rem}.player-meta{font-size:.68rem}.board-status{min-height:43px;font-size:.81rem}.board-bottom{margin-top:9px;font-size:.69rem}.board-bottom>span:nth-child(2){display:flex}.turn-label.is-turn{padding:5px 7px;font-size:.54rem}.side-panel{grid-template-columns:1fr 1fr;gap:14px;display:grid}.setup-card{grid-column:1}.history-card{grid-column:2}.setup-card h2,.history-card h2{font-size:.85rem}.section-heading{padding:17px 15px 14px}.mode-tabs{margin:0 14px}.mode-content{padding:17px 14px}.mode-content h3{font-size:.95rem}.mode-content p{font-size:.72rem}.mode-tabs button{gap:6px;font-size:.57rem}.mode-illustration{height:28px;margin-bottom:9px}.mode-content .primary-button{margin-top:17px}.primary-button{min-height:41px;font-size:.76rem}.moves-list{height:214px}.moves-header{grid-template-columns:32px 1fr 1fr}.move-row{grid-template-columns:32px 1fr 1fr;padding:4px 14px}.animation-card{grid-column:1/-1;padding:14px 5px 4px}.animation-card p br{display:none}.notice{grid-column:1/-1}footer{margin-top:24px;padding:19px 0;font-size:.64rem}footer>span:nth-child(2){display:none}.captured-list{max-width:42%}.captured-list .piece{width:19px;height:24px}.room-details .connection-badge{margin-left:0}.room-code strong{font-size:1.2rem}.room-details>p,.online-form>p{font-size:.76rem}}@media (max-width:480px){.site-header{gap:12px;padding:0 17px}.nav-link.current{display:none}.nav-link{font-size:.7rem}.site-header nav{margin-left:auto;margin-right:7px}.brand{font-size:1.4rem}.brand-mark{grid-template-columns:repeat(2,7px);gap:3px}.brand-mark i{height:7px}main{padding:21px 13px 0}.page-heading{margin-bottom:20px;padding:0 5px}h1{font-size:1.95rem}.board-frame{padding-bottom:21px;padding-left:19px}.rank-labels{font-size:.64rem;bottom:21px}.file-labels{font-size:.64rem;left:19px}.board-topline,.player-row{margin-left:19px}.board-topline{padding-left:0}.board-topline>span:last-child{font-size:.67rem}.player-row{gap:8px}.turn-label{font-size:.57rem}.captured-list{max-width:29%}.captured-list .piece{width:16px;height:21px}.board-status,.board-bottom{margin-left:19px}.board-status{padding:9px 11px;font-size:.76rem}.board-bottom>span:nth-child(2){display:none}.side-panel{grid-template-columns:1fr;width:100%;max-width:450px;margin:auto}.setup-card,.history-card{grid-column:1}.setup-card h2,.history-card h2{font-size:.95rem}.section-heading{padding:19px 20px 15px}.mode-tabs{margin:0 20px}.mode-tabs button{flex-direction:row;gap:6px;padding:12px 1px;font-size:.74rem}.mode-tabs svg{width:16px}.mode-content{padding:20px}.mode-content h3{font-size:1.05rem}.mode-content p{font-size:.85rem}.mode-content .primary-button{margin-top:20px}.primary-button{font-size:.85rem}.moves-list{height:146px}.move-row,.moves-header{grid-template-columns:50px 1fr 1fr}.online-form,.room-details{padding:20px}.room-details>p,.online-form>p{font-size:.85rem}.room-code strong{font-size:1.55rem}.room-details .connection-badge{margin-left:auto}.modal{padding:20px}.modal-head h2{font-size:1.07rem}.piece-gallery{grid-template-columns:repeat(2,1fr)}.gallery-controls{gap:6px}.gallery-controls .small-button{padding:8px 9px;font-size:.7rem}.piece-gallery .gallery-stage{width:85px;height:90px}.modal p{font-size:.85rem}.square.selected{box-shadow:inset 0 0 0 3px #e8ca94}.legal-capture .move-marker{border-width:3px}.impact{font-size:3rem}}.variant-settings{gap:12px;padding:0 20px 17px;display:grid}.variant-picker{color:#c4bcae;gap:7px;font-size:.73rem;display:grid}.variant-picker select{padding:10px 11px;font-size:.81rem}.variant-picker select:disabled{opacity:.7;cursor:not-allowed}.clock-note{margin-top:14px;color:#bbb2a2!important;font-size:.71rem!important;line-height:1.6!important}.chess-clock{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:0;color:#c3bbad;background:#262429;border:1px solid #47454b;border-radius:7px;flex-shrink:0;min-width:76px;margin-left:auto;padding:8px 11px;font-family:Manrope,Segoe UI,sans-serif;font-size:1.35rem;font-weight:750}.chess-clock.clock-active{color:#232029;background:#e3cda4;border-color:#efdbb5;box-shadow:0 0 0 2px #e6cd9d12}.chess-clock.clock-low{color:#ffa195;background:#442b25;border-color:#ab5d50}.player-details{flex:1;min-width:0}.player-meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.player-name{flex-wrap:wrap}.captured-list:empty{display:none}.player-row:has(.chess-clock) .captured-list{max-width:24%}.team-roster{text-align:left;gap:12px;margin-top:17px;display:grid}.roster-team{background:#19181c;border:1px solid #393640;border-radius:8px;padding:10px}.roster-heading{letter-spacing:0;text-transform:uppercase;color:#b1a691;align-items:center;gap:7px;padding:0 2px 8px;font-size:.64rem;display:flex}.roster-heading .side-indicator{width:9px;height:9px}.roster-seat{color:#cfc8bc;border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;min-height:43px;padding:7px 8px;display:flex}.roster-seat+.roster-seat{margin-top:3px}.roster-seat.active-seat{color:#f5eee1;background:#e6cd9d14;border-color:#b39d7355}.seat-dot{background:#7e725b;border-radius:50%;flex-shrink:0;width:6px;height:6px}.seat-dot.online{background:#d0b27b}.seat-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.78rem}.seat-name small{color:#a69a84;margin-top:3px;font-size:.62rem;display:block}.seat-name .you-label{margin-left:7px;font-size:.51rem}.active-seat .seat-name small{color:#dfd0b4}.roster-seat>svg{color:#ac9f88}.waiting-count,.rematch-count{text-align:center;background:#e6cd9d0b;border:1px dashed #93816055;border-radius:6px;margin:12px 0 0;padding:10px 8px;color:#e1d4bb!important;font-size:.74rem!important}.room-details .team-roster{margin-bottom:15px}.room-details .clock-note{margin-top:13px}.board-status>span:nth-child(2){min-width:0}.board-topline{gap:12px}.board-topline>span:last-child{white-space:nowrap}.modal{overflow-y:auto}.mode-content .team-roster{margin-top:20px}@media (max-width:980px){.chess-clock{min-width:65px;padding:7px 9px;font-size:1.1rem}.player-row:has(.chess-clock) .captured-list{display:none}.variant-settings{padding-left:17px;padding-right:17px}}@media (max-width:480px){.variant-settings{padding:0 20px 17px}.chess-clock{min-width:69px;padding:6px 8px;font-size:1.15rem}.player-name{font-size:.82rem}.player-meta{font-size:.62rem}.player-row:has(.chess-clock){gap:7px}.board-topline{letter-spacing:0;font-size:.53rem}.team-roster{gap:10px}.board-status{line-height:1.5}.board-status button{font-size:.72rem}.roster-team{padding:10px}.variant-picker{font-size:.75rem}.variant-picker select{font-size:.82rem}}.team-roster{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.roster-team{min-width:0;padding:9px 7px}.roster-seat{gap:6px;padding:7px 4px}.roster-heading{letter-spacing:0;font-size:.59rem}.seat-name{font-size:.73rem}.seat-name .you-label{margin-left:4px;display:inline-block}
