:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#101214;color:#f4f2eb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(55,126,106,.22),transparent 34rem),linear-gradient(135deg,#111417,#181818 48%,#161a1e)}html,body,#root{width:100%;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}.auth-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:48px clamp(20px,7vw,96px)}.brand{position:absolute;top:50%;left:clamp(20px,7vw,96px);transform:translateY(-50%)}.brand h1,.topbar h1{margin:0;letter-spacing:0}.brand h1{font-size:clamp(48px,7vw,92px);line-height:.94}.brand-win{color:#72c0a4}.brand p{margin:18px 0 0;max-width:560px;color:#c8c5ba;font-size:20px;line-height:1.45;word-spacing:.18em}.brand p.hero-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:18px;margin:18px 0 0 9px;transform:scaleX(1.06);transform-origin:left center}.hero-actions span{display:inline-flex;align-items:center;gap:8px;letter-spacing:.06em;word-spacing:0;white-space:nowrap}.hero-actions svg{color:#72c0a4;flex:0 0 auto}.auth-card,.panel,.tournament-lobby{border:1px solid rgba(244,242,235,.12);background:#161818db;box-shadow:0 24px 80px #00000038}.auth-card{width:min(380px,100%);padding:24px;display:grid;gap:16px}.segmented,.mode-tabs,.time-tabs,.tournament-picker{display:flex;gap:6px}.segmented{padding:4px;background:#0c0e0f}.segmented button,.mode-tabs button,.time-tabs button,.tournament-picker button,.icon-button{border:0;color:#d8d5ca;background:transparent}.segmented button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px}.segmented button.active,.mode-tabs button.active,.time-tabs button.active,.tournament-picker button.active{background:#f4f2eb;color:#111417}label{display:grid;gap:7px;color:#d0cdc2;font-size:14px}input{width:100%;border:1px solid rgba(244,242,235,.14);background:#0f1112;color:#f4f2eb;padding:12px 13px;outline:none}input:focus{border-color:#72c0a4}.field-error{color:#ef6f6c;font-size:12px;font-weight:700}.primary{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;background:#72c0a4;color:#08110e;font-weight:800}.primary:disabled{opacity:.7;cursor:wait}.auth-card .primary:disabled{opacity:.55;cursor:not-allowed}.confirm-password-field{animation:confirmPasswordDrop .14s ease-out}@keyframes confirmPasswordDrop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ghost-button{min-height:42px;border:1px solid rgba(244,242,235,.18);background:transparent;color:#f4f2eb;font-weight:700}.ghost-button:hover{border-color:#72c0a4}.error{margin:0;color:#ffb1a7}.success{margin:0;color:#9ee1bd}.app-shell{max-width:1500px;margin:0 auto;padding:22px}.play-shell{max-width:none;min-height:100vh;overflow-x:hidden;padding:clamp(12px,1.15vw,22px)}.topbar,.lobby,.player-strip,.panel h2,.panel form,.ratings div,.leaderboard div{display:flex;align-items:center}.topbar{justify-content:space-between;gap:14px;margin-bottom:18px}.topbar h1{font-size:30px}.topbar p{margin:3px 0 0;color:#bcb8ae}.topbar-actions,.topnav{display:flex;align-items:center}.topbar-actions{gap:10px}.play-layout-shell{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(120px,1fr);gap:clamp(10px,1vw,18px);align-items:start;min-height:calc(100vh - 44px)}.play-gutter{min-width:0}.play-gutter-left{display:flex;justify-content:flex-end}.play-gutter-right{display:flex;justify-content:flex-start}.play-brand-card,.play-main-menu-button{position:sticky;top:clamp(12px,1.15vw,22px)}.play-brand-card{width:min(100%,260px);padding-top:3px}.play-brand-card h1{margin:0;font-size:clamp(28px,2vw,34px);line-height:1.05}.play-brand-card p{margin:8px 0 0;color:#d7d2c7}.topnav{gap:6px;padding:4px;background:#101314;border:1px solid rgba(244,242,235,.08)}.topnav a{min-height:36px;padding:8px 10px;display:inline-flex;align-items:center;gap:7px;color:#d8d5ca;text-decoration:none;border:1px solid transparent}.topnav a.active{background:#f4f2eb;color:#111417}.mobile-nav-toggle,.mobile-nav-extra{display:none}.icon-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(244,242,235,.14)}.icon-button.small{width:34px;height:34px}.menu-button{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.upload-button input{display:none}.lobby{justify-content:space-between;gap:14px;margin-bottom:18px}.lobby-selectors{display:grid;gap:8px;min-width:0}.game-status{margin:0 0 18px;color:#d8d5ca;font-weight:700}.mode-tabs,.time-tabs{flex-wrap:wrap}.mode-tabs button,.time-tabs button{min-height:48px;padding:10px 14px;gap:8px;align-items:center;border:1px solid rgba(244,242,235,.12);background:#191d1d}.mode-tabs button{display:inline-flex;justify-content:center;min-width:132px;font-size:16px;text-align:center}.time-tabs button{display:grid;grid-template-columns:18px 1fr;text-align:left}.time-tabs button{min-width:92px}.queue{min-width:190px;font-weight:400}.home-play-button{min-height:58px;min-width:min(100%,320px);padding:0 28px;font-size:17px;font-weight:800}.rejoin-tournament-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin-bottom:12px;background:#101314;border:1px solid rgba(114,192,164,.34)}.rejoin-tournament-card div{display:grid;gap:4px;min-width:0}.rejoin-tournament-card span{color:#72c0a4;font-size:12px;text-transform:uppercase}.rejoin-tournament-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rejoin-tournament-card p{margin:0;color:#c8c5ba;font-size:13px}.rejoin-tournament-card button{min-height:42px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.tournament-lobby{display:grid;gap:14px;margin-bottom:18px;padding:18px}.profile-shell{display:grid;gap:14px}.profile-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px}.profile-head h2,.profile-head p{margin:0}.profile-head h2{font-size:32px}.profile-head p{color:#c8c5ba}.profile-rating-focus{min-width:150px;display:grid;justify-items:end;gap:2px}.profile-rating-focus span,.profile-rating-focus small,.color-records small,.profile-game-row span{color:#c8c5ba}.profile-rating-focus strong{font-size:34px}.profile-tabs{display:flex;gap:6px;padding:4px;background:#101314;border:1px solid rgba(244,242,235,.08)}.profile-tabs button{min-height:38px;flex:1;border:0;display:inline-flex;justify-content:center;align-items:center;gap:7px;color:#d8d5ca;background:transparent;font-weight:800}.profile-tabs button.active{background:#f4f2eb;color:#111417}.profile-tabs .profile-category-trigger{display:none}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.color-records{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-records>div{display:grid;gap:4px;padding:12px;background:#101314;border:1px solid rgba(244,242,235,.08)}.color-records strong{display:inline-flex;gap:4px;font-size:22px}.rating-graph{display:grid;gap:8px}.rating-graph svg{width:100%;height:auto;min-height:190px;background:#101314;border:1px solid rgba(244,242,235,.08)}.rating-graph line{stroke:#f4f2eb2e;stroke-width:1}.rating-graph polyline{fill:none;stroke:#72c0a4;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.rating-graph .rating-area{fill:#72c0a424;stroke:none}.rating-graph text{fill:#c8c5ba;font-size:12px;font-weight:800}.graph-meta{display:flex;justify-content:space-between;align-items:center;color:#c8c5ba}.graph-meta strong{color:#f4f2eb;font-size:18px}.profile-games{display:grid;gap:8px}.profile-game-row{display:grid;grid-template-columns:126px minmax(220px,1fr) 74px 76px minmax(220px,1fr);gap:12px;align-items:center;min-height:140px;padding:10px 14px;color:inherit;text-align:left;background:#101314;border:1px solid rgba(244,242,235,.08);cursor:pointer}.profile-game-row:hover,.profile-game-row:focus-visible{border-color:#72c0a47a;background:#141819;outline:none}.profile-tactic-row{border-left:3px solid rgba(114,192,164,.72)}.profile-tactic-row .profile-matchup svg{color:#72c0a4}.profile-game-row div{display:grid;gap:2px}.profile-matchup{display:grid;gap:3px}.profile-matchup span{display:inline-flex;align-items:center;gap:5px;color:#f4f2eb}.player-color-square{width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(244,242,235,.42)}.player-color-square.white{background:#f4f2eb}.player-color-square.black{background:#111417}.mini-final-board{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:120px;height:120px;aspect-ratio:1;overflow:hidden;border:1px solid rgba(244,242,235,.16);line-height:0}.mini-square{position:relative;display:grid;place-items:center;aspect-ratio:1;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.mini-square.light{background:var(--board-light, #d8d1ba)}.mini-square.dark{background:var(--board-dark, #557867)}.mini-square img{position:absolute;top:2%;right:2%;bottom:2%;left:2%;width:96%;height:96%;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.profile-outcome{justify-self:start;min-width:58px;padding:4px 7px;text-align:center;font-size:12px;font-weight:900;text-transform:uppercase}.profile-outcome.win{color:#08110e;background:#6fd18a}.profile-outcome.loss{color:#f4f2eb;background:#9d423e}.profile-outcome.draw{color:#111417;background:#a9a9a9}.profile-rating-delta{justify-self:start;font-size:12px;font-weight:700;white-space:nowrap}.profile-rating-delta.gain{color:#72c0a4}.profile-rating-delta.loss{color:#ef6f6c}.profile-rating-delta.draw{color:#a9a9a9}.tournament-head,.tournament-builder,.tournament-row{display:flex;align-items:center}.tournament-head{justify-content:space-between;gap:14px}.tournament-head h2{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:18px}.tournament-head span,.tournament-row span{color:#bcb8ae;font-size:13px}.tournament-builder{display:grid;align-items:stretch;gap:10px}.tournament-picker{display:flex;flex-wrap:wrap;gap:8px}.tournament-picker button{min-height:40px;padding:8px 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(244,242,235,.12);background:#191d1d}.tournament-picker .tournament-filter-trigger{display:none}.tournament-picker.buyins{max-width:500px}.tournament-countdown-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#101314;border:1px solid rgba(114,192,164,.35);box-shadow:0 0 0 1px #72c0a40f inset}.tournament-countdown-banner div{display:grid;gap:2px}.tournament-countdown-banner span{color:#72c0a4;font-size:12px;text-transform:uppercase}.tournament-countdown-banner strong{font-size:15px}.tournament-countdown-banner>strong{min-width:54px;text-align:right;color:#f4f2eb}.time-filter{max-width:none}.tournament-grid{display:grid;gap:8px}.tournament-row{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(96px,1fr)) 92px;gap:10px;align-items:center;min-height:76px;padding:10px;background:#101314;border:1px solid rgba(244,242,235,.08)}.tournament-row>div{display:grid;gap:3px;min-width:0}.tournament-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-mode-icon{display:inline-flex;align-items:center;color:#f4f2eb}.tournament-row>button{min-height:40px;padding:0 12px;font-weight:400}.main-grid{display:grid;grid-template-columns:minmax(360px,760px) minmax(300px,1fr);gap:18px;align-items:start}.home-left-stack{display:grid;gap:18px}.home-play-card,.home-live-card{border:1px solid rgba(244,242,235,.12);background:#151819}.home-play-card{min-height:280px;display:grid;place-content:center;justify-items:center;gap:18px;padding:28px;text-align:center}.home-play-card h2{max-width:620px;margin:0;font-size:24px;font-weight:400}.home-live-card{display:grid;gap:12px;min-height:260px;padding:20px}.blog-preview-card{display:grid;gap:10px}.blog-preview-card>span,.blog-meta{color:#bcb8ae;font-size:12px}.blog-preview-card h3,.blog-post-card h3{margin:0;color:#f4f2eb}.blog-preview-card p,.blog-post-card p,.blog-article p{margin:0;color:#d0cdc2;line-height:1.65}.blog-preview-card .primary,.blog-post-card .primary{justify-self:start}.blog-shell{max-width:980px;display:grid;gap:18px}.blog-index-head,.blog-article,.blog-post-card{border:1px solid rgba(244,242,235,.12);background:#161818db}.blog-index-head{display:grid;gap:10px;padding:22px}.blog-index-head span{display:inline-flex;align-items:center;gap:8px;color:#72c0a4}.blog-index-head h2,.blog-article h2{margin:0;font-size:30px}.blog-post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,284px));gap:14px;align-items:start}.blog-post-card{width:284px;max-width:100%;height:430px;border:1px solid rgba(244,242,235,.12);color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-rows:248px auto auto 1fr;gap:10px;padding:18px;transition:border-color .14s ease,transform .14s ease,background .14s ease;overflow:hidden}.blog-post-card:hover,.blog-post-card:focus-visible{border-color:#72c0a49e;background:#191d1dfa;transform:translateY(-1px);outline:none}.blog-post-image{width:100%;aspect-ratio:1;display:block;overflow:hidden}.blog-post-image .mini-final-board{width:100%;height:100%}.blog-post-card h3,.blog-post-card p{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.blog-post-card h3{-webkit-line-clamp:2}.blog-post-card p{-webkit-line-clamp:3}.blog-back-button{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:0 14px}.blog-article{display:grid;gap:22px;padding:30px}.blog-article section{display:grid;gap:10px}.blog-article h3{margin:0;font-size:20px}.blog-deck{max-width:760px;font-size:18px}.blog-tags{display:flex;flex-wrap:wrap;gap:8px}.blog-tags span{border:1px solid rgba(244,242,235,.14);color:#d8d5ca;padding:6px 9px;font-size:12px}.blog-meta{display:flex;flex-wrap:wrap;gap:10px}.blog-fen-card{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:stretch;gap:16px;margin:8px 0 2px;padding:14px;border:1px solid rgba(244,242,235,.12);background:#111414}.blog-fen-board-wrap{position:relative;width:min(240px,100%);aspect-ratio:1}.blog-fen-board-wrap .mini-final-board{width:100%;height:100%}.blog-fen-card figcaption{display:grid;align-content:center;gap:9px;min-width:0}.blog-fen-card figcaption strong{color:#f4f2eb}.blog-fen-card figcaption span{color:#d0cdc2;line-height:1.5}.blog-fen-card code{display:block;max-width:100%;overflow-wrap:anywhere;padding:9px;border:1px solid rgba(244,242,235,.12);background:#0c0e0f;color:#bcb8ae;font-size:12px;line-height:1.45}.blog-fen-cta{position:absolute;left:50%;top:50%;min-height:40px;transform:translate(-50%,-50%);opacity:0;pointer-events:none;box-shadow:0 14px 36px #0000005c;transition:opacity .14s ease;white-space:nowrap}.blog-fen-card.has-cta:hover .blog-fen-cta,.blog-fen-card.has-cta:focus-within .blog-fen-cta{opacity:1;pointer-events:auto}.live-game-grid{display:grid;grid-template-columns:minmax(360px,760px) minmax(300px,420px);gap:18px;align-items:start;justify-content:center}.play-game-grid{grid-template-columns:auto minmax(300px,420px);justify-content:center}.play-game-grid .board-panel{width:min(860px,58vw,calc(100dvh - 168px));max-width:none}.play-game-grid .live-side{height:min(calc(100dvh - 44px),980px);max-height:calc(100dvh - 44px)}.play-game-grid .player-strip{gap:12px;min-width:0}.play-game-grid .player-info{flex:1 1 auto;min-width:0}.live-side{height:min(76vh,760px);min-height:420px;display:flex;flex-direction:column}.live-side .messages{flex:1 1 auto;height:auto;min-height:0}.live-side .spectator-panel,.live-side .tournament-standings-panel{flex:1 1 auto}.live-side .game-actions{margin-top:12px}.board-panel{display:grid;gap:10px;width:min(100%,76vh);max-width:760px;justify-self:end}.player-strip{justify-content:space-between;min-height:50px;padding:0 16px;background:#171a1b;border:1px solid rgba(244,242,235,.12)}.player-strip.clock-running{border-color:#72c0a4ad;background:#72c0a41f;box-shadow:inset 0 0 0 1px #72c0a414}.player-strip>span{font-size:24px;font-variant-numeric:tabular-nums;font-weight:400}.player-info{display:flex;align-items:center;min-width:0;gap:7px}.player-identity{display:grid;gap:2px;min-width:0}.player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-details{overflow:hidden;text-overflow:ellipsis;color:#9f9a90;font-size:11px;font-weight:400;white-space:nowrap}.profile-link-button{border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;text-align:left}.profile-link-button:hover,.profile-link-button:focus-visible{color:#72c0a4;text-decoration:underline;outline:none}.player-rating{color:#c8c5ba;font-size:13px;font-weight:700;margin-left:3px;white-space:nowrap}.session-record{display:inline-flex;align-items:center;gap:2px;margin-left:7px;color:#9f9a90;font-size:12px;font-weight:850;white-space:nowrap}.session-wins{color:#6fd18a}.session-losses{color:#ef6f6c}.session-draws{color:#a9a9a9}.captured-pieces{display:flex;align-items:center;gap:0;min-width:0;overflow:visible}.captured-piece-group{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:19px;min-height:19px;margin-right:-2px}.captured-pieces img{width:19px;height:19px;object-fit:contain;opacity:.86}.captured-piece-group sup{position:absolute;top:-2px;right:-1px;color:#f4f2eb;font-size:9px;font-weight:400;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.5)}.material-plus{color:#e7ba52;font-size:13px;font-weight:850;white-space:nowrap}.board-stack{position:relative;isolation:isolate;width:100%}.board-with-engine{position:relative;width:100%}.engine-bar{position:absolute;top:0;right:calc(100% + 8px);bottom:0;width:42px;display:flex;flex-direction:column;overflow:hidden;background:#111417;border:1px solid rgba(244,242,235,.18)}.engine-bar-white{background:#f4f2eb}.engine-bar-black{background:#16191a}.engine-bar-label{position:absolute;left:50%;transform:translate(-50%);width:36px;padding:2px 0;font-size:clamp(8px,.8vw,11px);font-weight:400;text-align:center;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:clip;text-shadow:none}.engine-bar-label.top{top:8px}.engine-bar-label.middle{top:50%;transform:translate(-50%,-50%)}.engine-bar-label.bottom{bottom:8px}.engine-bar-label.on-white,.engine-bar-label.draw{color:#111417}.engine-bar-label.on-black{color:#f4f2eb}.board{position:relative;z-index:0;width:min(100%,76vh);aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:1px solid rgba(244,242,235,.2);touch-action:none}.board-stack .board{width:100%}.tactics-shell{display:grid;grid-template-columns:minmax(360px,76vh) minmax(320px,420px);align-items:start;gap:18px}.tactics-board-panel{position:relative;display:grid;gap:10px;justify-self:end;width:min(100%,76vh)}.tactics-board-stack{position:relative}.tactics-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);border:1px solid rgba(244,242,235,.2);touch-action:none}.tactics-board .square{position:relative;border:0;padding:0;display:grid;place-items:center;background:var(--board-light)}.tactics-board .square.dark{background:var(--board-dark)}.tactics-side{display:grid;gap:14px}.tactics-player-strip{justify-content:flex-start}.tactics-side h2,.tactics-side p{margin:0}.tactics-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tactics-meta div,.tactics-attempt-row,.tactics-leader-row{min-height:42px;padding:8px 10px;background:#101314}.tactics-meta div{display:grid;gap:3px}.tactics-meta span,.tactics-attempts span{color:#bcb8ae;font-size:12px}.tactics-meta strong{font-size:18px}.tactics-attempts{display:grid;gap:8px}.reveal-tactic-button{width:100%}.tactics-side .engine-lines-panel{min-width:0}.tactics-attempts h3{margin:0;font-size:14px;font-weight:500}.tactics-attempt-row,.tactics-leader-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tactics-attempt-row,.tactics-leader-row{width:100%;border:0;color:#f4f2eb;text-align:left}.engine-arrow-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;width:100%;height:100%;pointer-events:none}.engine-arrow{stroke-width:3.6;stroke-linecap:round;opacity:.52;vector-effect:non-scaling-stroke}.engine-arrow.rank-1,.engine-arrow-head.rank-1{stroke:#72c0a4;fill:#72c0a4}.engine-arrow.rank-2,.engine-arrow-head.rank-2{stroke:#e7ba52;fill:#e7ba52}.engine-arrow.rank-3,.engine-arrow-head.rank-3{stroke:#7da8d8;fill:#7da8d8}.board-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#080a0b6b}.board-overlay>*{position:relative;z-index:1}.endgame-menu{width:min(360px,92%);display:grid;gap:12px;padding:20px;text-align:center;background:#111417f0;border:1px solid rgba(244,242,235,.18);box-shadow:0 24px 70px #0000006b}.endgame-menu h2,.endgame-menu p{margin:0}.endgame-menu h2{font-size:24px}.disconnect-menu p strong{color:#ef6f6c;font-weight:400;margin-left:6px}.endgame-menu p,.overlay-notice,.menu-kicker{color:#c8c5ba}.menu-kicker{font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.endgame-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.promotion-menu{width:min(420px,94%);display:grid;gap:14px;padding:18px;text-align:center;background:#111417f5;border:1px solid rgba(244,242,235,.18);box-shadow:0 24px 70px #0000006b}.promotion-menu h2{margin:0;font-size:22px}.promotion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.promotion-option{min-width:0;display:grid;justify-items:center;gap:6px;padding:10px 8px;color:#f4f2eb;background:#f4f2eb14;border:1px solid rgba(244,242,235,.14)}.promotion-option:hover,.promotion-option:focus-visible{border-color:#e7ba52b8;background:#e7ba5224}.promotion-option span{max-width:100%;overflow-wrap:anywhere;font-size:12px;font-weight:800}.endgame-actions button{min-height:42px;padding:0 12px}.overlay-notice{font-size:13px}.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-actions button{min-height:42px;padding:0 12px}.game-actions p{grid-column:1 / -1;margin:0;color:#c8c5ba;font-size:13px;text-align:center}.game-tool-row{display:flex;justify-content:flex-start;align-items:center;gap:5px;margin-top:8px}.game-tool-row .icon-button.small,.spectator-panel .game-tool-row .icon-button.small{width:34px;min-height:34px;padding:0}.settings-popover{position:relative;display:inline-flex;align-items:center}.settings-menu{position:absolute;left:0;bottom:calc(100% + 7px);z-index:180;display:grid;grid-template-columns:minmax(190px,auto);align-items:start;gap:6px;padding:6px;background:#111417fa;border:1px solid rgba(244,242,235,.16);box-shadow:0 16px 40px #00000057}.board-style-trigger,.board-theme-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:34px;padding:0;color:#f4f2eb;background:#101314;border:1px solid rgba(244,242,235,.16);cursor:pointer}.board-style-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 8px}.board-theme-menu button{width:34px;display:grid;place-items:center}.board-style-trigger:hover,.board-style-trigger:focus-visible,.board-theme-menu button:hover,.board-theme-menu button:focus-visible{border-color:#e7ba52b8;outline:none}.board-style-trigger[aria-expanded=true],.board-theme-menu button.active{border-color:#72c0a4;box-shadow:inset 0 0 0 1px #72c0a4ad}.board-style-trigger>span:first-child{font-size:12px;font-weight:400;white-space:nowrap}.board-theme-swatch{width:22px;height:22px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);overflow:hidden;border:1px solid rgba(8,10,11,.5)}.board-theme-menu{display:flex;gap:5px}.settings-toggle{grid-column:1 / -1;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 9px;color:#f4f2eb;background:#101314;border:1px solid rgba(244,242,235,.16);cursor:pointer}.settings-toggle:hover,.settings-toggle:focus-visible{border-color:#e7ba52b8;outline:none}.settings-toggle span{font-size:12px;font-weight:400;white-space:nowrap}.settings-toggle i{position:relative;width:28px;height:16px;flex:0 0 auto;border-radius:999px;background:#f4f2eb2e}.settings-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#c8c5ba;transition:transform .14s ease,background .14s ease}.settings-toggle.active i{background:#72c0a44d}.settings-toggle.active i:after{transform:translate(12px);background:#72c0a4}.ghost-button.danger{color:#f0b7a8;border-color:#f0b7a842}button:disabled{cursor:not-allowed;opacity:.58}.square{position:relative;border:0;display:grid;place-items:center;aspect-ratio:1;font-size:clamp(32px,6.1vw,64px);line-height:1;overflow:hidden}.square.light{background:var(--board-light, #d8d1ba)}.square.dark{background:var(--board-dark, #557867)}.coord{position:absolute;z-index:2;color:#1c1f1db3;font-size:clamp(9px,1.55vw,13px);font-weight:900;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.square.dark .coord{color:#f4f2ebb8}.rank-coord{top:5px;left:5px}.file-coord{right:5px;bottom:5px}.piece{position:absolute;top:2%;right:2%;bottom:2%;left:2%;z-index:3;width:96%;height:96%;object-fit:contain;padding:0;transform:none;-webkit-user-select:none;user-select:none;pointer-events:none}.square.dragging-origin .piece{opacity:.18}.square.last-move:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#f5ecb24d;pointer-events:none}.square.premove:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#cd2b2b57;pointer-events:none}.piece.white,.piece.black{filter:none}.piece-k{top:2%;right:2%;bottom:2%;left:2%;width:96%;height:96%}.piece-p{top:5%;right:5%;bottom:5%;left:5%;width:90%;height:90%}.piece.drag-piece,.piece.drag-piece.piece-k,.piece.drag-piece.piece-p{position:fixed;z-index:20;inset:auto;right:auto;bottom:auto;max-width:none;max-height:none;padding:0;opacity:1;transform:translate(-50%,-50%);filter:drop-shadow(0 14px 18px rgba(0,0,0,.42))}.piece.promotion-piece,.piece.promotion-piece.piece-k,.piece.promotion-piece.piece-p{position:static;inset:auto;z-index:auto;width:min(64px,100%);height:64px;max-width:100%;object-fit:contain;padding:0;transform:none}.square.selected{outline:4px solid #e7ba52;outline-offset:-4px}.square.hover-target{box-shadow:inset 0 0 0 4px #e7ba528c}.square.in-check:after{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;z-index:2;border-radius:50%;box-shadow:0 0 22px 10px #cd2b2b7a,inset 0 0 18px #cd2b2b59;pointer-events:none}.empty-board{min-height:560px;display:grid;place-content:center;justify-items:center;text-align:center;border:1px solid rgba(244,242,235,.12);background:#151819;padding:24px}.empty-board h2{margin:18px 0 6px}.study-entry{min-height:360px;margin-bottom:18px}.empty-board p,.muted{color:#bcb8ae}.study-entry-actions{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px}.study-entry-actions button{width:190px;min-height:44px;padding:0 16px}.study-entry-actions .primary,.study-entry-actions .ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.study-posts-section,.study-post-shell{display:grid;gap:18px}.study-posts-head,.study-post-detail,.study-post-card{border:1px solid rgba(244,242,235,.12);background:#161818db}.study-posts-head{display:grid;gap:8px;padding:18px}.study-posts-head h2,.study-posts-head p,.study-post-card h3,.study-post-card p,.study-post-detail h2,.study-post-detail h3,.study-post-detail p{margin:0}.study-posts-head h2,.study-post-detail h2{font-size:28px}.study-posts-head p,.study-post-card p,.study-post-detail p{color:#d0cdc2;line-height:1.6}.study-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.study-post-card{min-height:0;display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;gap:10px;padding:18px;color:inherit;text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease,background .14s ease}.study-post-card:hover,.study-post-card:focus-visible{border-color:#72c0a49e;background:#191d1dfa;transform:translateY(-1px);outline:none}.study-post-image{width:100%;aspect-ratio:1;display:block;overflow:hidden}.study-post-image .mini-final-board{width:100%;height:100%}.study-post-card .blog-meta{align-items:center;color:#bcb8ae;font-size:12px}.study-post-card h3{color:#f4f2eb;font-size:20px;line-height:1.22}.study-post-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.study-post-detail{display:grid;gap:22px;padding:24px}.study-post-detail section{display:grid;gap:9px}.study-post-hero{display:grid;gap:10px;max-width:860px}.study-post-hero h2{font-size:56px;line-height:1.05}.study-post-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 10px}.study-read-time{color:#bcb8ae;font-size:12px}.study-tags{margin-top:0}.study-beginning-fen{display:grid;grid-template-columns:315px minmax(0,1fr);gap:14px;align-items:center;margin:2px 0 8px;padding:12px;background:#101314;border:1px solid rgba(244,242,235,.1)}.study-beginning-fen .mini-final-board{width:315px;height:315px}.study-beginning-fen figcaption{display:grid;gap:6px;min-width:0}.study-beginning-fen strong{color:#f4f2eb;font-size:16px}.study-beginning-fen span{color:#c6c2b8;line-height:1.55}.study-line-grid{display:grid;gap:14px}.study-line-card{display:grid;grid-template-columns:420px minmax(0,1fr);gap:16px;padding:14px;background:#101314;border:1px solid rgba(244,242,235,.1)}.study-fen-board-stack{display:grid;justify-items:center;gap:8px;width:max-content;max-width:100%}.study-line-board .mini-final-board{width:420px;height:420px}.study-rotate-button{justify-self:center}.study-line-content{display:grid;align-content:center;gap:10px;min-width:0}.study-line-content h3{font-size:21px}.study-line-controls{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px}.study-line-controls strong{overflow:hidden;text-overflow:ellipsis;color:#f4f2eb;white-space:nowrap}.study-line-principle{display:grid;gap:3px;padding:9px 10px;background:#72c0a414;border-left:3px solid #72c0a4}.study-line-ply{display:flex;flex-wrap:wrap;gap:6px}.study-line-ply span{padding:5px 7px;color:#d8d5ca;background:#f4f2eb0f;font-size:12px}.study-line-ideas{display:grid;gap:5px;padding:9px 10px;background:#f4f2eb0a;border:1px solid rgba(244,242,235,.08)}.study-line-ideas>span{color:#72c0a4;font-size:12px;font-weight:800}.study-line-principle span,.study-line-ideas small,.study-line-content small{color:#bcb8ae;font-size:12px}.study-line-principle strong{color:#f4f2eb;font-size:14px}.study-conclusion{padding:16px;background:#72c0a414;border-left:3px solid #72c0a4}.live-games-section{width:min(100%,680px);display:grid;gap:10px;margin-top:22px;text-align:left}.live-games-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-games-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:18px}.live-games-head button{min-height:34px;padding:0 10px}.live-games-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.live-game-card{display:grid;gap:8px;align-items:start;padding:9px;background:#101314;border:1px solid rgba(244,242,235,.1)}.live-game-card .mini-final-board{width:100%;height:auto}.live-game-players{display:grid;gap:4px;min-width:0}.live-game-card strong,.player-follow-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-follow-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:100%;padding:0;border:0;background:transparent;color:#f4f2eb;display:flex;align-items:center;gap:6px;font:inherit;font-weight:400;text-align:left;cursor:pointer}.player-follow-button span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-game-clock{flex:0 0 auto;min-width:38px;color:#f4f2eb;font-size:12px;font-weight:400;text-align:right;font-variant-numeric:tabular-nums}.live-game-clock.active{color:#72c0a4}.player-follow-button:hover,.player-follow-button:focus-visible{color:#e7ba52}.player-follow-button:disabled{cursor:not-allowed;opacity:.55}.live-game-card span{color:#c8c5ba;font-size:12px}.live-game-card>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.live-game-card>button{min-height:36px;padding:0 12px;font-weight:400}.side{display:grid;gap:18px}.panel{padding:18px}.panel h2{gap:8px;margin:0 0 14px;font-size:18px}.ratings,.leaderboard{display:grid;gap:8px}.ratings div,.leaderboard div{justify-content:space-between;min-height:38px;padding:0 10px;background:#101314}.leaderboard-player{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.devkit{display:grid;gap:12px}.devkit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.devkit-actions button,.bug-board button{min-height:38px;padding:0 10px}.devkit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.devkit-summary span{min-width:0;padding:8px;color:#d9d5c8;background:#101314;font-size:12px;font-weight:800;text-align:center}.bot-list,.bug-board{display:grid;gap:8px}.bot-list div,.bug-card{display:grid;gap:3px;padding:10px;background:#101314;border:1px solid rgba(244,242,235,.08)}.bot-list strong,.bug-card strong{font-size:13px}.bot-list span,.bug-card span{color:#c8c5ba;font-size:12px;overflow-wrap:anywhere}.bug-board h3{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:14px}.bug-card.warning{border-color:#e7ba5252}.bug-card.error{border-color:#f0b7a85c}.chat{min-height:340px}.game-card-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#0c0e0f;border:1px solid rgba(244,242,235,.1)}.game-card-tabs button{min-height:32px;border:0;background:transparent;color:#c8c5ba;font-size:12px}.game-card-tabs button.active{background:#202626;color:#f4f2eb}.tournament-standings-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.standings-summary{display:grid;gap:2px;padding:9px 10px;background:#101314}.standings-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-summary span{color:#c8c5ba;font-size:12px}.standings-table{min-height:0;overflow:auto;display:grid;align-content:start;gap:4px}.standings-row{display:grid;grid-template-columns:28px minmax(0,1fr) 42px 34px 44px;align-items:center;gap:6px;min-height:32px;padding:0 8px;background:#101314;font-size:12px}.standings-row.heading{min-height:26px;background:transparent;color:#9f9a90;text-transform:uppercase}.standings-row.current{border:1px solid rgba(114,192,164,.45);background:#72c0a414}.standings-row.inactive{opacity:.55}.standings-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-row em{margin-left:5px;color:#72c0a4;font-style:normal;font-size:10px}.spectator-panel{display:grid;gap:8px}.spectator-panel>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 10px;background:#101314}.spectator-panel span{color:#c8c5ba;font-size:12px}.spectator-panel button{min-height:42px}.spectator-panel .game-tool-row{justify-content:flex-start;min-height:0;padding:0;background:transparent}.spectator-panel .game-tool-row .icon-button.small,.spectator-panel .board-style-trigger,.spectator-panel .board-theme-menu button{min-height:34px}.move-list-panel{align-self:start;display:flex;align-items:center;gap:4px;max-width:100%;min-width:0;min-height:30px;padding:3px 5px;background:#101314;border:1px solid rgba(244,242,235,.08);overflow:hidden}.move-list-panel .icon-button.small{width:24px;height:24px;min-height:24px;flex:0 0 24px;display:grid;place-items:center;padding:0;line-height:0}.move-list-panel .icon-button.small svg{display:block}.move-list{display:flex;align-items:center;gap:5px;min-width:0;flex:1;color:#f4f2eb;font-size:12px;font-weight:760;line-height:1.1;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;scroll-behavior:smooth}.move-list::-webkit-scrollbar{display:none}.move-list-text{flex:0 0 auto}.move-list-item{flex:0 0 auto;padding:3px 4px;color:#d8d5ca}.move-list-item.active{color:#08110e;background:#f4f2eb}.move-list.empty{color:#c8c5ba}.engine-lines-panel,.opening-explorer-panel{display:grid;gap:8px;padding:9px;background:#101314;border:1px solid rgba(244,242,235,.08)}.engine-lines-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.engine-lines-head strong{display:inline-flex;align-items:center;gap:6px;color:#f4f2eb;font-size:13px;font-weight:400}.engine-lines-head span,.engine-lines-panel p,.opening-explorer-panel p,.engine-line em{color:#a9aaa3;font-size:12px}.engine-lines-status{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.engine-lines-panel p{margin:0}.opening-name{margin:0;color:#d8d5ca}.opening-line-list{display:grid;gap:5px}.opening-line-row{display:grid;grid-template-columns:52px minmax(78px,1fr) repeat(3,44px) 58px;align-items:center;gap:6px;min-height:30px;padding:5px 7px;color:#d8d5ca;text-align:left;background:#171a1b;border:1px solid rgba(244,242,235,.08);border-left:3px solid #72c0a4}.opening-line-row:hover,.opening-line-row:focus-visible{background:#1d2322;border-color:#72c0a47a;outline:none}.opening-line-row span{overflow:hidden;color:#a9aaa3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.opening-line-row .opening-move-san{color:#f4f2eb;font-size:13px}.engine-lines-panel code{color:#e7ba52;font-size:11px}.engine-line-list{display:grid;gap:5px}.engine-line{display:grid;grid-template-columns:18px 52px minmax(0,1fr);align-items:center;gap:6px;min-height:28px;padding:5px 7px;background:#171a1b;border-left:3px solid #72c0a4}.engine-line.rank-2{border-left-color:#e7ba52}.engine-line.rank-3{border-left-color:#7da8d8}.engine-line.placeholder{opacity:.34}.engine-line>span{display:grid;place-items:center;width:18px;height:18px;color:#08110e;background:#72c0a4;font-size:11px;font-weight:900}.engine-line.rank-2>span{background:#e7ba52}.engine-line.rank-3>span{background:#7da8d8}.engine-line strong{color:#f4f2eb;font-size:12px}.engine-line p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#d8d5ca;font-size:12px}.messages{height:230px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.messages p{margin:0;padding:9px 10px;background:#101314;overflow-wrap:anywhere}.panel form{gap:8px;margin-top:12px}.panel form button{align-self:stretch;border:0;padding:0 14px;background:#f4f2eb;color:#111417;font-weight:800}@media(max-width:1320px){.play-layout-shell{grid-template-columns:1fr}.play-gutter-left,.play-gutter-right{justify-content:flex-start}.play-brand-card,.play-main-menu-button{position:static}.play-game-grid .board-panel{width:min(820px,100%,calc(100dvh - 168px))}}@media(max-width:960px){.auth-shell{padding-top:220px}.brand{top:48px;transform:none}.main-grid,.profile-grid,.live-game-grid,.tactics-shell{grid-template-columns:1fr}.profile-head{align-items:stretch;flex-direction:column}.profile-rating-focus{justify-items:start}.profile-game-row{grid-template-columns:1fr}.board-panel{justify-self:center}.play-game-grid .board-panel{width:min(100%,calc(100dvh - 168px))}.tactics-board-panel{justify-self:center}.live-side{height:auto;min-height:360px}.play-game-grid .live-side{height:auto;max-height:none}.topbar{align-items:stretch;flex-direction:column}.topbar-actions{justify-content:space-between;min-width:0;overflow-x:auto;scrollbar-width:none}.topbar-actions::-webkit-scrollbar,.topnav::-webkit-scrollbar{display:none}.topnav{max-width:100%;overflow-x:auto;scrollbar-width:none}.topnav a{flex:0 0 auto}.play-brand-card{width:100%}.play-main-menu-button{justify-content:center;width:100%}.lobby,.tournament-head,.tournament-builder{align-items:stretch;flex-direction:column}.tournament-row,.live-games-list{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-post-grid,.blog-fen-card{grid-template-columns:1fr}.blog-fen-board-wrap{justify-self:center}.tournament-row>div:first-child,.tournament-row>button{grid-column:1 / -1}.mode-tabs button,.time-tabs button{flex:1 1 120px}.board{width:100%}}@media(max-width:760px){.auth-shell{min-height:100svh;display:block;padding:18px}.brand{position:static;transform:none;margin:12px 0 24px}.brand h1{font-size:clamp(42px,14vw,62px)}.brand p{max-width:100%;font-size:16px}.brand p.hero-actions{gap:10px 14px;margin-left:0;transform:none}.hero-actions span{gap:6px;letter-spacing:.03em}.auth-card{margin:0 auto}.app-shell{padding:14px}.play-shell{padding:10px}.topbar{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:flex-start;justify-content:start;gap:10px;width:100%;margin-bottom:12px}.topbar>div:first-child{grid-column:2;grid-row:1;min-width:0;max-width:calc(100svw - 80px)}.topbar h1,.topbar p{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar h1{font-size:28px}.topbar-actions{grid-column:1;grid-row:1;position:static;flex:0 0 42px;width:42px;max-width:42px;justify-content:flex-start;justify-self:start;margin:0;padding-bottom:0;overflow:visible}.mobile-nav-toggle{margin-left:0}.topnav{position:fixed;top:64px;right:auto;left:max(10px,env(safe-area-inset-left));z-index:260;display:none;width:max-content;min-width:168px;max-width:calc(100svw - 20px);padding:6px;background:#101314fa;border:1px solid rgba(244,242,235,.16);box-shadow:0 18px 46px #0000005c;overflow:visible}.mobile-nav-open .topnav{display:grid;gap:4px}.mobile-nav-toggle{display:grid}.desktop-nav-action{display:none}.topnav a,.mobile-nav-extra{width:auto;min-width:100%;min-height:42px;padding:8px 10px;justify-content:flex-start;white-space:nowrap;background:#f4f2eb09}.topnav>:nth-child(2n){background:#f4f2eb11}.topnav>:hover,.topnav>:focus-visible{background:#72c0a41f}.mobile-nav-extra{border:1px solid transparent;color:#d8d5ca;display:inline-flex;align-items:center;gap:7px;text-align:left}.mobile-nav-extra:hover,.mobile-nav-extra:focus-visible{border-color:#72c0a47a;color:#f4f2eb;outline:none}.lobby-selectors{gap:10px}.mode-tabs,.time-tabs,.tournament-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-builder .tournament-picker{position:relative;grid-template-columns:1fr;gap:0}.tournament-picker .tournament-filter-trigger{display:inline-flex;justify-content:space-between;border-color:#f4f2eb2e;background:#191d1d}.tournament-filter-trigger span{flex:1 1 auto;min-width:0;text-align:left}.tournament-filter-trigger svg:last-child{margin-left:auto;transition:transform .14s ease}.tournament-picker.mobile-open .tournament-filter-trigger svg:last-child{transform:rotate(180deg)}.tournament-builder .tournament-picker>button:not(.tournament-filter-trigger){display:none;border-top:0;background:#111414}.tournament-builder .tournament-picker.mobile-open>button:not(.tournament-filter-trigger){display:inline-flex}.tournament-builder .tournament-picker.mobile-open>button.selected-option{display:none}.tournament-builder .tournament-picker.mobile-open>button:not(.tournament-filter-trigger):last-child{border-bottom-color:#f4f2eb2e}.mode-tabs button,.time-tabs button,.tournament-picker button{width:100%;min-width:0}.time-tabs button{grid-template-columns:18px minmax(0,1fr)}.queue,.home-play-button,.lobby .primary{width:100%;min-width:0}.home-play-card{min-height:220px;padding:22px}.home-play-card h2{font-size:20px}.home-live-card,.panel,.tournament-lobby,.blog-index-head,.blog-article{padding:14px}.live-games-section{width:100%}.profile-tabs{display:grid;gap:0;padding:4px;overflow:visible}.profile-tabs .profile-category-trigger{display:inline-flex;justify-content:space-between;border:1px solid rgba(244,242,235,.18);background:#191d1d}.profile-category-trigger span{flex:1 1 auto;text-align:left}.profile-category-trigger svg:last-child{margin-left:auto;transition:transform .14s ease}.profile-tabs.mobile-open .profile-category-trigger svg:last-child{transform:rotate(180deg)}.profile-tabs>button:not(.profile-category-trigger){display:none;width:100%;min-width:0;justify-content:flex-start;border-top:0;background:#111414;padding:0 10px}.profile-tabs.mobile-open>button:not(.profile-category-trigger){display:inline-flex}.profile-tabs.mobile-open>button:not(.profile-category-trigger).active{background:#f4f2eb;color:#111417}.color-records,.tactics-meta,.devkit-actions,.devkit-summary,.study-entry-actions,.engine-stats,.study-actions,.game-actions,.study-post-grid{grid-template-columns:1fr}.study-post-card{min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr;align-items:start;row-gap:8px;padding:12px}.study-post-image{grid-row:auto;width:100%}.study-post-card h3{font-size:17px;line-height:1.2}.study-post-card p{font-size:13px;line-height:1.42;-webkit-line-clamp:4}.study-posts-head,.study-post-detail{padding:14px}.study-post-hero h2{font-size:38px}.study-beginning-fen{grid-template-columns:1fr}.study-beginning-fen .mini-final-board{width:min(315px,100%);height:auto;justify-self:center}.study-line-card{grid-template-columns:1fr}.study-line-board .mini-final-board{width:min(420px,100%);height:auto;justify-self:center}.profile-game-row{min-height:0;gap:9px;padding:10px}.profile-game-row .mini-final-board{width:min(180px,100%);height:auto}.blog-shell{max-width:100%}.blog-post-grid{grid-template-columns:1fr}.blog-post-card{align-items:start;width:100%;height:172px;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:12px;row-gap:5px;padding:12px}.blog-post-image{grid-row:1 / 4;width:132px;align-self:start}.blog-post-card .blog-meta,.blog-post-card h3,.blog-post-card p{min-width:0}.blog-post-card .blog-meta{gap:6px;font-size:11px}.blog-post-card h3{font-size:17px;line-height:1.2}.blog-post-card p{font-size:13px;line-height:1.42;-webkit-line-clamp:4}.blog-fen-card{padding:10px}.blog-fen-board-wrap{width:min(260px,100%)}.play-layout-shell{gap:10px;min-height:auto}.play-brand-card{display:none}.play-gutter-right{order:-1}.play-main-menu-button{min-height:40px}.live-game-grid,.play-game-grid,.tactics-shell{gap:10px}.board-panel,.tactics-board-panel,.play-game-grid .board-panel{width:min(100%,calc(100svw - 20px));max-width:none;justify-self:center}.board-with-engine.with-engine{padding-left:36px}.engine-bar{right:auto;left:0;width:30px}.engine-bar-label{width:26px;font-size:9px}.player-strip{min-height:46px;padding:6px 10px}.player-strip>span{font-size:20px}.player-info{gap:5px}.player-rating,.session-record,.material-plus{font-size:11px}.captured-piece-group{width:16px;min-height:16px}.captured-pieces img{width:16px;height:16px}.square{font-size:clamp(30px,8.3vw,54px)}.live-side{min-height:0;height:auto}.chat{min-height:300px}.messages{height:190px}.panel form{align-items:stretch;display:grid;grid-template-columns:1fr auto}.move-list-panel{width:100%}.tournament-countdown-banner,.rejoin-tournament-card,.live-games-head,.graph-meta{align-items:stretch;flex-direction:column}.tournament-countdown-banner>strong{min-width:0;text-align:left}.tournament-row{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;gap:8px}.tournament-row>button{grid-column:1 / -1;width:100%}.opening-line-row{grid-template-columns:42px minmax(78px,1fr) 42px}.opening-line-row span:nth-of-type(n+3){display:none}.engine-lines-status{flex-wrap:wrap;white-space:normal}}@media(max-width:560px){.app-shell,.auth-shell{padding:14px}.auth-shell{place-items:center;padding-top:190px}.brand{top:14px;left:14px}.brand h1{font-size:48px}.live-games-list{grid-template-columns:1fr}.player-strip>span{font-size:20px}.square{font-size:32px}}@media(max-width:420px){.app-shell,.auth-shell{padding:10px}.topbar h1{font-size:25px}.topbar-actions{flex-basis:40px;width:40px;max-width:40px}.mobile-nav-toggle{width:40px;height:40px}.topnav{top:58px;right:auto;left:max(10px,env(safe-area-inset-left));width:max-content;min-width:156px;max-width:calc(100svw - 20px)}.topnav a{min-height:38px;padding:7px 9px;font-size:14px}.mode-tabs,.time-tabs,.tournament-picker,.live-games-list{grid-template-columns:1fr}.home-play-card{min-height:190px}.home-live-card,.panel,.tournament-lobby,.blog-index-head,.blog-article{padding:12px}.blog-post-card{height:150px;grid-template-columns:104px minmax(0,1fr);column-gap:10px;padding:10px}.blog-post-image{width:104px}.blog-post-card .blog-meta{font-size:10px}.blog-post-card h3{font-size:15px;-webkit-line-clamp:2}.blog-post-card p{font-size:12px;line-height:1.34;-webkit-line-clamp:3}.blog-index-head h2,.blog-article h2,.profile-head h2{font-size:24px}.blog-deck{font-size:16px}.study-posts-head h2,.study-post-detail h2{font-size:24px}.study-post-card{min-height:0;grid-template-columns:1fr;padding:10px}.study-post-image{width:100%}.study-post-card h3{font-size:15px}.study-post-card p{font-size:12px;line-height:1.34;-webkit-line-clamp:3}.study-line-card{padding:10px}.player-strip{padding:6px 8px}.player-strip>span{font-size:18px}.player-name{max-width:38vw}.player-card-details,.captured-pieces,.session-record{display:none}.board-panel,.tactics-board-panel,.play-game-grid .board-panel{width:min(100%,calc(100svw - 20px))}.board-with-engine.with-engine{padding-left:32px}.engine-bar{width:26px}.panel form{grid-template-columns:1fr}.endgame-actions,.promotion-grid{grid-template-columns:1fr 1fr}.settings-menu{left:0;right:auto;grid-template-columns:minmax(0,190px)}}
