:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#101318;color:#f7f3ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#161a20eb,#0b0d11fa),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 1px,transparent 1px 16px)}button,input{font:inherit}button{border:0}.app{min-height:100vh;padding:0}.home-chesscom{width:100%;max-width:none;min-height:100vh;margin:0;display:grid;grid-template-columns:194px minmax(0,1fr);background:linear-gradient(90deg,#0b0d0ef5,#111214e6 48%,#0d0e0ff7),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 18px)}.home-chesscom:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.08) 0 1px,transparent 1px 18%),linear-gradient(180deg,transparent 0 52%,rgba(255,255,255,.045) 52% 53%,transparent 53% 100%);opacity:.45}.home-sidebar{position:relative;z-index:1;min-height:100vh;padding:22px 18px 20px;display:flex;flex-direction:column;background:#141516db;border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 50px #00000040}.home-brand{display:flex;align-items:center;gap:7px;color:#f4f4ef;margin-bottom:22px}.home-brand svg{color:#81bd5a;fill:#81bd5a33}.home-brand strong{font-size:1.55rem;line-height:1;letter-spacing:0}.home-brand span{font-size:1rem;color:#f4f4ef}.home-nav{display:grid;gap:8px}.home-nav button{min-height:42px;width:100%;border-radius:6px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;color:#dddeda;background:transparent;text-align:left;font-weight:850;cursor:pointer}.home-nav button svg{color:#a7aba5}.home-nav button.is-active,.home-nav button:hover{color:#fff;background:#ffffff12}.home-nav button.is-active svg{color:#f0c66a}.home-nav small{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ee4d45;font-size:.7rem}.home-sidebar-spacer{flex:1}.home-search,.home-profile,.home-dock{display:flex;align-items:center;color:#aeb3b1}.home-search{gap:13px;min-height:40px;font-weight:800}.home-profile{gap:10px;margin-top:12px;color:#f4f4ef}.mini-avatar,.preview-avatar{display:grid;place-items:center;border-radius:6px;background:#ffffff1f;color:#d8dad7}.mini-avatar{width:28px;height:28px}.home-dock{justify-content:space-between;margin-top:22px}.home-main-stage{position:relative;z-index:1;min-width:0;min-height:100vh;padding:18px 34px 24px 64px;display:grid;grid-template-columns:minmax(500px,920px) minmax(390px,570px);gap:clamp(28px,4vw,64px);align-items:center}.home-board-area{min-width:0}.preview-player{min-height:54px;display:flex;align-items:center;gap:12px;color:#f3f3f0;font-weight:900}.preview-player.top{margin-bottom:2px}.preview-player.bottom{margin-top:10px}.preview-avatar{width:46px;height:46px}.preview-avatar.light{background:#e6e6e1;color:#777b75}.preview-player.bottom span{width:12px;height:12px;border-radius:2px;background:#db2e45}.home-preview-board .board-frame{width:min(58vw,88vh,920px);max-width:920px;border-radius:5px;margin:0;box-shadow:0 30px 90px #0006}.home-preview-board .square.light{background:#f0f2f2}.home-preview-board .square.dark{background:#c2ddea}.home-preview-board .coord{color:#70aec7d1}.home-preview-board .piece{font-size:clamp(2.4rem,7.8vmin,6.2rem);filter:drop-shadow(0 7px 4px rgba(0,0,0,.18))}.home-preview-board .white-piece{color:#fff;text-shadow:0 1px 0 #1b1d1e,0 0 1px #1b1d1e}.home-preview-board .black-piece{color:#030303;text-shadow:0 1px 0 rgba(255,255,255,.26)}.home-play-panel{min-width:0;border-radius:8px;overflow:hidden;background:#0c0c0dcc;border:1px solid rgba(255,255,255,.07);box-shadow:0 38px 120px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-play-title{min-height:82px;padding:18px 28px;display:flex;align-items:center;gap:16px;color:#f7f7f2;background:linear-gradient(180deg,#1f1f20fa,#121213e0)}.home-play-title svg{color:#ead0a8}.home-play-title h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:0}.play-options{display:grid;gap:11px;padding:26px 28px 12px}.play-option{min-height:100px;border-radius:8px;padding:16px 26px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:18px;color:#f3f3f0;text-align:left;background:linear-gradient(180deg,#383839e0,#202021eb);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff12;cursor:pointer;transition:transform .16s ease,filter .16s ease,border-color .16s ease}.play-option:hover:not(:disabled),.play-option:focus-visible{transform:translateY(-1px);filter:brightness(1.08);border-color:#ffffff29}.play-option:disabled{opacity:.45;cursor:not-allowed}.play-option strong{display:block;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.05;letter-spacing:0}.play-option small{display:block;margin-top:6px;color:#c8c9c5;font-size:.98rem}.option-icon{width:54px;height:54px;border-radius:8px;display:grid;place-items:center}.option-icon.lightning{color:#ffd645;background:#ffd64514}.option-icon.friend{color:#deb996;background:#deb99617}.option-icon.online{color:#92bfdf;background:#92bfdf17}.option-icon.coach{color:#8ebf70;background:#8ebf701a}.join-option{cursor:default}.join-option label{min-width:0}.join-inline{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-top:10px}.join-inline input{min-width:0;height:42px;border-radius:7px;border:1px solid rgba(255,255,255,.12);outline:0;color:#f7f3ea;background:#0003;padding:0 12px;text-transform:uppercase;font-weight:900}.join-inline button{height:42px;border-radius:7px;display:grid;place-items:center;color:#11161b;background:#8ebf70;cursor:pointer}.join-inline button:disabled{opacity:.45;cursor:not-allowed}.muted-option{cursor:default}.quick-settings{padding:8px 28px 18px}.preset-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.home-settings-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;margin-top:18px}.difficulty-row.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.segmented.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.home-footer-links{display:flex;align-items:center;justify-content:center;gap:28px;padding:14px 20px 20px;color:#c7c8c4;font-weight:850;flex-wrap:wrap}.home-footer-links span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.home-play-panel>.server-pill{margin:0 28px 24px;justify-content:center}.home-shell{width:min(1180px,100%);margin:0 auto}.home-shell.home-chesscom{width:100%;max-width:none;min-height:100vh;margin:0}.home-topbar,.game-toolbar,.player-strip,.panel-section,.settings-panel,.play-panel,.side-panel{border:1px solid rgba(255,255,255,.09);background:#181d24e0;box-shadow:0 24px 80px #00000038;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-topbar{min-height:76px;padding:16px 18px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-lockup{display:flex;align-items:center;gap:14px}.brand-lockup strong{display:block;font-size:1.08rem}.brand-lockup span{display:block;color:#aeb8c5;font-size:.9rem;margin-top:2px}.brand-mark{width:46px;height:46px;border-radius:8px;display:grid;place-items:center;color:#11161b;background:#f0c66a}.server-pill{height:36px;border-radius:999px;padding:0 14px;display:inline-flex;align-items:center;gap:9px;background:#ffffff0f;color:#b8c0ca;white-space:nowrap;font-size:.9rem}.server-pill span{width:9px;height:9px;border-radius:50%;background:#c45b5b}.server-pill.is-online span{background:#7dbb62}.home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-top:18px}.play-panel,.settings-panel{border-radius:8px;padding:24px}.panel-heading{display:flex;align-items:center;gap:14px}.panel-heading svg{color:#f0c66a}.panel-heading h1{margin:0;font-size:clamp(2rem,4vw,4rem);line-height:1;letter-spacing:0}.panel-heading p{color:#aeb8c5;margin:7px 0 0}.mode-grid{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mode-card{min-height:164px;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:20px;color:#f8f3ea;text-align:left;cursor:pointer;background:linear-gradient(145deg,#426f42,#24352d);border:1px solid rgba(255,255,255,.11);transition:transform .16s ease,filter .16s ease,border-color .16s ease}.mode-card:nth-child(2){background:linear-gradient(145deg,#2e6276,#232f3c)}.mode-card:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07);border-color:#ffffff38}.mode-card:disabled{opacity:.45;cursor:not-allowed}.mode-card span{font-weight:800;font-size:1.35rem}.mode-card small{color:#ffffffbd}.join-row{min-height:58px;margin-top:14px;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 9px 9px 16px}.join-row svg{color:#8ebf70}.join-row input{width:100%;min-width:0;border:0;outline:0;color:#f7f3ea;background:transparent;text-transform:uppercase;letter-spacing:0;font-weight:800}.join-row button,.panel-actions button,.room-line button{min-height:40px;border-radius:7px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#101318;background:#8ebf70;font-weight:800;cursor:pointer}.join-row button:disabled,.panel-actions button:disabled{opacity:.45;cursor:not-allowed}.setting-block+.setting-block{margin-top:24px}.setting-title,.side-heading{display:flex;align-items:center;gap:9px;color:#d6dde6;font-weight:800;margin-bottom:12px}.setting-title svg,.side-heading svg{color:#f0c66a}.preset-grid,.difficulty-row,.segmented{display:grid;gap:8px}.preset-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.segmented{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-row{grid-template-columns:repeat(5,minmax(0,1fr))}.preset-grid button,.difficulty-row button,.segmented button{height:44px;border-radius:7px;color:#dce4ed;background:#ffffff12;border:1px solid rgba(255,255,255,.08);cursor:pointer;font-weight:800}.preset-grid button.is-active,.difficulty-row button.is-active,.segmented button.is-active{color:#11161b;background:#f0c66a;border-color:transparent}.compact-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.compact-settings label{color:#aeb8c5;font-size:.86rem}.compact-settings input{width:100%;height:42px;margin-top:8px;border-radius:7px;border:1px solid rgba(255,255,255,.1);color:#f7f3ea;background:#ffffff0f;padding:0 12px;outline:0}.brand-button{border:0;padding:0;text-align:left;background:transparent;cursor:pointer}.play-shell{min-height:100vh;display:grid;grid-template-columns:194px minmax(0,1fr);background:linear-gradient(90deg,#0a0a0bfa,#131212f5 54%,#0c0c0dfa),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 18px)}.play-main{min-width:0;display:grid;grid-template-columns:minmax(520px,920px) minmax(360px,560px);gap:36px;align-items:start;padding:22px 34px 18px 88px}.play-board-area{min-width:0}.mobile-game-top{display:none}.game-player-header{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;color:#f4f4ef;font-weight:900}.game-player-header .preview-avatar{width:46px;height:46px;background:#e6e6e1;color:#777b75}.game-player-header strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}.game-player-header strong span{color:#b7b7b3;font-weight:750}.game-player-header>small{width:14px;height:14px;border-radius:3px;background:#d83144}.game-header-clock{min-width:146px;height:48px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#161616;background:#f8f8f3;font-weight:900;font-size:1.55rem;font-variant-numeric:tabular-nums}.game-header-clock.compact{color:#8f8f8d;background:#ffffff0b;font-size:1.18rem}.game-board-wrap{width:min(64vw,calc(100vh - 162px),920px);min-width:0}.game-board-wrap .board-frame{width:100%;max-width:none;margin:0;border-radius:4px;box-shadow:0 34px 90px #00000061}.challenge-panel{min-height:calc(100vh - 44px);display:flex;flex-direction:column;background:#0f0f10d1;border:1px solid rgba(255,255,255,.06);box-shadow:0 30px 100px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.challenge-topbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:66px;background:#121213f5}.challenge-topbar button{display:grid;place-items:center;align-content:center;gap:5px;color:#bebeba;background:transparent;cursor:pointer;font-weight:700;font-size:.82rem}.challenge-topbar button.is-active{color:#f3f3ee;background:#ffffff09}.plus-icon{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;color:#101010;background:#a8a8a5;font-size:1.65rem;line-height:1;font-weight:950}.challenge-status{min-height:58px;margin:14px 18px 10px;padding:0 16px;border-radius:6px;display:flex;align-items:center;gap:10px;color:#f2f2ef;background:#ffffff09;border:1px solid rgba(255,255,255,.06);font-weight:900}.challenge-status small{margin-left:auto;color:#aeb0ac}.challenge-stats{padding:0 28px 18px}.stat-row{min-height:36px;border-bottom:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;color:#c9c9c5}.stat-row strong{color:#d9d9d5;white-space:nowrap}.challenge-room{margin:0 28px 16px;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;color:#aeb0ac}.challenge-room button{min-height:38px;border-radius:6px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;color:#101010;background:#9bc579;font-weight:900;cursor:pointer}.challenge-moves{min-height:0;flex:1;padding:0 28px 16px}.challenge-actions{padding:0 28px 12px}.challenge-clock{min-height:64px;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:12px;color:#cfcfcb;background:#0000004d;font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums}.game-layout{width:min(1420px,100%);margin:0 auto;min-height:100vh;padding:24px;display:grid;grid-template-columns:minmax(420px,1fr) 360px;gap:18px;align-items:center}.game-board-column{min-width:0}.game-toolbar{min-height:62px;border-radius:8px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px}.icon-button{width:42px;height:42px;border-radius:7px;display:grid;place-items:center;color:#f7f3ea;background:#ffffff12;cursor:pointer}.match-title{min-width:0}.match-title strong,.match-title span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-title span{color:#aeb8c5;font-size:.86rem;margin-top:2px}.room-code{min-height:40px;border-radius:7px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;color:#101318;background:#f0c66a;font-weight:900;cursor:pointer}.player-strip{min-height:58px;border-radius:8px;padding:8px 10px;display:grid;grid-template-columns:auto minmax(110px,1fr) minmax(0,1.1fr) auto;align-items:center;gap:10px;margin:10px 0}.player-strip.is-active{border-color:#8ebf70b3;box-shadow:0 0 0 1px #8ebf701f,0 20px 70px #0000002e}.avatar{width:38px;height:38px;border-radius:7px;display:grid;place-items:center;background:#ffffff14;font-size:1.55rem}.player-meta{min-width:0}.player-meta strong,.player-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta span{font-size:.78rem;color:#9ba6b4;margin-top:1px}.player-meta .connected{color:#8ebf70}.captured-row{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:1px;color:#cfd7e0;overflow:hidden}.captured-row span{width:18px;height:18px;display:inline-grid;place-items:center;font-size:1.02rem;line-height:1}.captured-row small{margin-left:5px;color:#f0c66a;font-weight:900}.clock{min-width:96px;height:42px;border-radius:7px;display:grid;place-items:center;color:#11161b;background:#e9edf0;font-weight:900;font-variant-numeric:tabular-nums;font-size:1.35rem}.player-strip.is-active .clock{background:#8ebf70}.board-frame{width:min(76vh,100%);max-width:760px;margin:0 auto;aspect-ratio:1;border-radius:8px;overflow:hidden;position:relative;box-shadow:0 34px 80px #00000052}.board-frame.shake{animation:shake .18s ease-in-out}.chess-board{width:100%;height:100%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);-webkit-user-select:none;user-select:none;touch-action:none}.square{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;color:inherit;cursor:default}.square.light{background:#f1f3f3}.square.dark{background:#c3ddea}.square.last{box-shadow:inset 0 0 0 999px #f1cd496b}.square.selected{box-shadow:inset 0 0 0 4px #f7f3ea8a,inset 0 0 0 999px #f1cd4947}.square.check{box-shadow:inset 0 0 0 999px #d82531a3}.square.premove-from{box-shadow:inset 0 0 0 999px #f8e8524d}.square.premove-to{box-shadow:inset 0 0 0 999px #f8e85273}.square.legal:after{content:"";width:28%;height:28%;border-radius:50%;background:#141f1c47;position:absolute}.square.capture-target:after{width:78%;height:78%;background:transparent;border:6px solid rgba(20,31,28,.24)}.coord{position:absolute;z-index:1;font-size:clamp(.55rem,1.3vw,.8rem);font-weight:900;color:#1f2d259e;pointer-events:none}.coord.rank{top:5px;left:6px}.coord.file{right:6px;bottom:4px}.piece{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;padding:6%;cursor:grab;filter:drop-shadow(0 5px 3px rgba(0,0,0,.28))}.piece.is-dragging-source{opacity:0}.white-piece{color:#f8f8f3}.black-piece{color:#050505}.piece-svg{width:96%;height:96%;overflow:visible}.white-piece-svg{--piece-fill: #fafaf5;--piece-stroke: #080808;--piece-detail: #080808}.black-piece-svg{--piece-fill: #020202;--piece-stroke: #020202;--piece-detail: #ffffff}.small-piece-svg{width:80%;height:80%}.premove-piece{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;padding:6%;opacity:.55;filter:drop-shadow(0 5px 5px rgba(0,0,0,.32))}.drag-piece{position:fixed;z-index:20;width:82px;height:82px;margin:-41px 0 0 -41px;pointer-events:none;display:grid;place-items:center;padding:4px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.35))}.board-end-splash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none;display:grid;place-items:center;color:#f7f7f2}.board-end-splash:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,#0000001a,#00000052);animation:endFadeIn .42s ease both}.board-end-splash strong{position:relative;z-index:2;padding:10px 18px;border-radius:7px;color:#111;background:#f2d95c;font-size:clamp(1.25rem,4vw,2.5rem);font-weight:950;box-shadow:0 18px 50px #00000059;animation:endTitlePop .7s cubic-bezier(.18,1.35,.36,1) both}.board-end-splash span{position:relative;z-index:2;margin-top:82px;color:#f3f3ee;font-size:1.2rem;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.8)}.end-marker{position:absolute;z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#111;box-shadow:0 8px 22px #00000052}.end-marker.loser{top:28%;left:39%;background:#df2536;color:#111;animation:redBadgeDrop .72s cubic-bezier(.22,1.4,.36,1) both}.end-marker.winner{top:58%;left:55%;background:#89bf62;color:#fff;animation:greenBadgePop .82s .16s cubic-bezier(.22,1.4,.36,1) both}.board-end-splash.draw .end-marker,.board-end-splash.stalemate .end-marker{background:#f2d95c;color:#111}.side-panel{border-radius:8px;padding:12px;align-self:stretch;min-height:680px;display:flex;flex-direction:column;gap:10px}.panel-section{border-radius:8px;padding:14px;box-shadow:none}.status-section{display:grid;gap:10px}.status-line,.thinking,.check-alert{display:flex;align-items:center;gap:8px;color:#d9e1ea;font-weight:800}.status-dot{width:10px;height:10px;border-radius:50%;background:#8ebf70}.status-dot.waiting{background:#f0c66a}.status-dot.over{background:#c45b5b}.thinking svg{animation:spin .85s linear infinite}.check-alert{color:#f0c66a}.result-banner{border-radius:7px;padding:12px;color:#161a20;background:#f0c66a;font-weight:900}.room-section{display:grid;gap:12px}.room-line{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#aeb8c5}.room-line button{min-width:110px}.connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.connection-grid span{min-height:34px;border-radius:7px;display:grid;place-items:center;background:#ffffff0f;color:#9ba6b4;font-size:.86rem;font-weight:800}.connection-grid span.online{color:#11161b;background:#8ebf70}.moves-section{min-height:0;flex:1;display:flex;flex-direction:column}.move-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px;padding-right:2px}.move-row{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:5px;align-items:center}.move-row span{color:#8994a3;font-size:.84rem}.move-row button{min-width:0;min-height:32px;border-radius:6px;color:#dce4ed;background:#ffffff0d;text-align:left;padding:0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-moves{color:#8994a3;font-size:.92rem}.panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.panel-actions button{color:#f7f3ea;background:#ffffff14;border:1px solid rgba(255,255,255,.08)}.panel-actions button:first-child{color:#11161b;background:#8ebf70}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#080a0dad}.promotion-modal{border-radius:8px;padding:12px;display:grid;grid-template-columns:repeat(4,82px);gap:8px;background:#181d24;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px #00000073}.promotion-modal button{aspect-ratio:1;border-radius:7px;display:grid;place-items:center;padding:8px;background:#c3ddea;cursor:pointer}.result-backdrop{z-index:36}.game-result-modal{width:min(420px,calc(100vw - 32px));border-radius:8px;padding:28px;display:grid;justify-items:center;text-align:center;color:#f4f4ef;background:linear-gradient(180deg,#262626,#151515);border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 120px #0000008c;animation:resultModalIn .32s ease both}.result-crown{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;color:#111;background:#89bf62;margin-bottom:14px;box-shadow:0 10px 28px #00000052}.game-result-modal.draw .result-crown,.game-result-modal.stalemate .result-crown{background:#f2d95c}.game-result-modal.timeout .result-crown,.game-result-modal.resign .result-crown{background:#e35b5e}.game-result-modal h2{margin:0;font-size:2rem;letter-spacing:0}.game-result-modal>strong{margin-top:5px;color:#d9d9d5;font-size:1.05rem}.game-result-modal p{margin:14px 0 0;color:#bdbeba}.result-score{margin-top:16px;min-width:116px;min-height:42px;border-radius:7px;display:grid;place-items:center;color:#111;background:#f4f4ef;font-weight:950;font-size:1.25rem}.result-actions{width:100%;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-actions button{min-height:44px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#111;background:#89bf62;font-weight:900;cursor:pointer}.result-actions button:last-child{color:#f4f4ef;background:#ffffff1a}.toast{position:fixed;left:50%;bottom:24px;z-index:40;transform:translate(-50%);max-width:min(460px,calc(100vw - 32px));min-height:44px;border-radius:8px;display:grid;place-items:center;padding:10px 16px;color:#11161b;background:#f0c66a;font-weight:900;box-shadow:0 16px 50px #00000052}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes endFadeIn{0%{opacity:0}to{opacity:1}}@keyframes redBadgeDrop{0%{opacity:0;transform:translateY(-24px) scale(.2) rotate(-18deg)}68%{opacity:1;transform:translateY(3px) scale(1.12) rotate(7deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes greenBadgePop{0%{opacity:0;transform:scale(.1)}72%{opacity:1;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes endTitlePop{0%{opacity:0;transform:translateY(18px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resultModalIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1100px){.home-chesscom,.play-shell{grid-template-columns:84px minmax(0,1fr)}.home-sidebar{padding:18px 12px;align-items:center}.home-brand strong,.home-nav span,.home-nav small,.home-search span,.home-profile strong,.home-dock{display:none}.home-nav button{width:48px;grid-template-columns:1fr;justify-items:center;padding:0}.home-main-stage{padding:18px 18px 24px;grid-template-columns:minmax(430px,1fr) minmax(350px,440px);gap:22px}.home-preview-board .board-frame{width:min(56vw,68vh,680px)}.play-option{min-height:88px;padding:14px 18px}.play-main{padding:18px;grid-template-columns:minmax(430px,1fr)}.game-board-wrap{width:min(92vw,760px)}.challenge-panel{min-height:520px}.game-layout{grid-template-columns:1fr;align-items:start}.side-panel{min-height:420px}.board-frame{width:min(94vw,720px)}}@media(max-width:820px){.home-chesscom,.play-shell{grid-template-columns:1fr}.play-shell .game-sidebar{display:none}.home-sidebar{min-height:auto;height:auto;padding:12px;flex-direction:row;justify-content:space-between;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.home-brand{margin:0}.home-brand strong{display:block;font-size:1.15rem}.home-nav,.home-sidebar-spacer,.home-search,.home-profile,.home-dock{display:none}.home-main-stage{min-height:auto;padding:14px;grid-template-columns:1fr}.home-board-area{display:grid;justify-items:center}.home-preview-board .board-frame{width:min(92vw,560px)}.home-play-panel{width:min(100%,560px);margin:0 auto}.home-play-title{min-height:72px;padding:16px 18px}.play-options,.quick-settings{padding-left:16px;padding-right:16px}.home-settings-row{grid-template-columns:1fr}.home-footer-links{gap:14px}.play-main{padding:8px;grid-template-columns:1fr;gap:10px}.mobile-game-top{min-height:84px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px}.mobile-brand{margin:0}.mobile-icons{display:flex;gap:14px;color:#9d9d9a}.game-player-header{padding:0 10px}.game-board-wrap{width:calc(100vw - 16px)}.challenge-panel{min-height:640px;border-left:0;border-right:0}.challenge-topbar{position:sticky;top:0;z-index:5}.home-grid,.mode-grid,.compact-settings{grid-template-columns:1fr}.home-topbar{align-items:flex-start;flex-direction:column}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-layout{min-height:100vh;padding:12px}.player-strip{grid-template-columns:auto minmax(0,1fr) auto}.captured-row{display:none}.clock{min-width:82px;font-size:1.12rem}.game-toolbar{grid-template-columns:auto minmax(0,1fr)}.room-code{grid-column:1 / -1;justify-content:center}}@media(max-width:520px){.preview-player{width:min(92vw,560px)}.play-option{grid-template-columns:44px minmax(0,1fr);gap:12px}.option-icon{width:42px;height:42px}.play-option strong{font-size:1.18rem}.play-option small{font-size:.86rem}.preset-grid.compact,.difficulty-row.compact,.segmented.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.play-panel,.settings-panel{padding:16px}.join-row{grid-template-columns:auto minmax(0,1fr)}.join-row button{grid-column:1 / -1;width:100%}.segmented,.difficulty-row,.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading h1{font-size:2rem}.piece{font-size:clamp(1.7rem,13vw,4.2rem)}.drag-piece{width:68px;height:68px;margin:-34px 0 0 -34px;font-size:4.1rem}.promotion-modal{grid-template-columns:repeat(4,66px)}.promotion-modal button{font-size:3.2rem}}
