*{box-sizing:border-box}:root{color:#f4f0e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#101113;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#101113;min-width:320px;min-height:100svh;margin:0}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}:root{--surface:#111417;--surface-raised:#1a1d20;--surface-soft:#24272a;--border:#ffffff1a;--muted:#aaa69d;--gold:#e3bd63;--red:#b51f2c;--green:#7baa43}button{font:inherit}.setup-page,.game-page,.review-page,.bad-manners-page{isolation:isolate;color:#f6f3ec;background:linear-gradient(90deg,#ffffff07 1px,#0000 1px) 0 0/72px 72px,linear-gradient(#ffffff06 1px,#0000 1px) 0 0/72px 72px,linear-gradient(104deg,#070b0d 0 52%,#0c1212 52% 70%,#211214 70% 100%);min-height:100svh;animation:24s linear infinite playAmbientGrid;position:relative;overflow-x:clip}.setup-page:before,.game-page:before,.review-page:before,.bad-manners-page:before,.setup-page:after,.game-page:after,.review-page:after,.bad-manners-page:after{content:"";pointer-events:none;z-index:0;position:fixed}.setup-page:before,.game-page:before,.review-page:before,.bad-manners-page:before{opacity:.74;background-image:linear-gradient(116deg, transparent 0 42%, #7baa4326 42.25% 42.55%, transparent 42.85% 100%), linear-gradient(63deg, transparent 0 59%, #e3bd631f 59.2% 59.45%, transparent 59.75% 100%), repeating-linear-gradient(90deg, transparent 0 71px, #ffffff0c 71px 72px), repeating-linear-gradient(0deg, transparent 0 71px, #ffffff09 71px 72px), conic-gradient(from 45deg at 50% 50%, #ffffff09 0 25%, #7baa430b 0 50%, #0000 0 75%, #e3bd6309 0 100%);background-position:-180px 14vh,52vw -120px,0 0,0 0,0 0;background-size:760px 460px,640px 520px,72px 72px,72px 72px,144px 144px;animation:32s linear infinite playBoardDrift;inset:0;-webkit-mask-image:linear-gradient(#0000 0,#000 9% 88%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 9% 88%,#0000 100%)}.setup-page:after,.game-page:after,.review-page:after,.bad-manners-page:after{opacity:.7;mix-blend-mode:screen;background-image:linear-gradient(120deg,#0000 0 45%,#7baa4333 45.15% 45.45%,#0000 45.75% 100%),linear-gradient(120deg,#0000 0 51%,#7baa431a 51.1% 51.3%,#0000 51.65% 100%),linear-gradient(34deg,#0000 0 62%,#e3bd6324 62.15% 62.45%,#0000 62.8% 100%),repeating-linear-gradient(120deg,#0000 0 84px,#ffffff0b 85px 86px,#0000 87px 190px);background-position:-22vw 12vh,48vw 8vh,18vw 54vh,0 0;background-size:840px 470px,620px 340px,760px 520px,480px 480px;animation:17s ease-in-out infinite alternate playRouteSweep;inset:-10%}.game-page:before,.review-page:before{opacity:.46}.game-page:after,.review-page:after{opacity:.42}.bad-manners-page:before{opacity:.5}.bad-manners-page:after{opacity:.44}.setup-page>*,.game-page>*,.review-page>*,.bad-manners-page>*{z-index:1;position:relative}.app-brand{align-items:center;gap:10px;font-size:22px;font-weight:800;display:flex}.setup-page{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1180px);justify-content:center;gap:24px;padding:clamp(20px,4vw,54px);display:grid}.setup-page [hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.setup-header{grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;display:flex}.setup-header-actions{align-items:center;gap:10px;display:flex}.home-nav-button,.gauntlet-report-link{border:1px solid var(--border);color:#f6f3ec;background:#1f2326e6;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 14px;font-weight:850;text-decoration:none;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-flex;position:relative;overflow:hidden}.home-nav-button:before,.gauntlet-report-link:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(110deg,#0000 0 28%,#ffffff29 44%,#0000 60% 100%);transition:opacity .18s;position:absolute;inset:0;transform:translate(-120%)}.home-nav-button:hover,.gauntlet-report-link:hover{border-color:var(--green);background:#2d362cf0;transform:translateY(-1px);box-shadow:0 12px 26px #0000003d}.home-nav-button:hover:before,.gauntlet-report-link:hover:before{opacity:1;animation:.76s buttonSweep}.home-nav-button svg,.gauntlet-report-link svg{width:19px;height:19px;position:relative}.home-nav-button span,.gauntlet-report-link span{position:relative}.gauntlet-report-link.locked{color:var(--muted)}.play-mode-choice{border:1px solid var(--border);background:#131618db;border-radius:8px;grid-column:1/-1;grid-template-columns:1fr 1fr;place-self:start center;gap:5px;width:min(100%,430px);padding:5px;animation:.52s cubic-bezier(.22,1,.36,1) both setupRise;display:grid;box-shadow:0 18px 45px #0000003d}.play-mode-choice button{color:#bdb8ae;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;font-weight:850;transition:color .16s,background .16s,box-shadow .16s,transform .16s;display:flex;position:relative;overflow:hidden}.play-mode-choice button:after{content:"";background:var(--green);opacity:0;border-radius:999px;height:2px;transition:opacity .16s,transform .16s;position:absolute;bottom:6px;left:16px;right:16px;transform:scaleX(.4)}.play-mode-choice button:hover{color:#f6f3ec;background:#ffffff0b;transform:translateY(-1px)}.play-mode-choice button.selected{color:#fff;background:linear-gradient(#3c4244fa,#2b3032fa);animation:1.9s ease-in-out infinite selectedButtonPulse;box-shadow:inset 0 0 0 1px #ffffff0d,0 8px 24px #0000003d}.play-mode-choice button.selected:after{opacity:1;transform:scaleX(1)}.play-mode-choice svg{width:20px;height:20px;position:relative}.setup-player-panel{grid-column:1/-1;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);align-items:start;gap:32px;min-width:0;display:grid}.setup-player-panel:focus{outline:none}.bot-roster{align-content:start;gap:10px;display:grid}.bot-family{border:1px solid var(--border);background:#1b1f22cc;border-radius:8px;min-width:0;transition:border-color .17s,background .17s,box-shadow .17s;overflow:hidden;box-shadow:0 14px 34px #00000029}.bot-family.expanded{background:#1f2326f0;border-color:#7baa4394;box-shadow:0 18px 42px #0000003d}.bot-family-heading{margin:0}.bot-family-trigger{color:#f4f1ea;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:66px minmax(0,1fr) auto 24px;align-items:center;gap:15px;width:100%;min-width:0;min-height:94px;padding:13px 16px;transition:color .16s,background .16s;display:grid}.bot-family-trigger:hover{background:#ffffff0b}.bot-family-avatar{place-items:center;width:66px;height:66px;display:grid}.bot-family-avatar .avatar-small{width:66px;height:66px}.bot-family-title{overflow-wrap:anywhere;min-width:0;font-size:21px;font-weight:900;line-height:1.15}.bot-family-count{color:#bdb8ae;white-space:nowrap;font-size:15px;font-weight:700}.bot-family-chevron{color:#aaa59b;width:22px;height:22px;transition:transform .17s}.bot-family.expanded .bot-family-chevron{transform:rotate(180deg)}.bot-family-panel{background:#080a0b52;border-top:1px solid #ffffff12;min-width:0}.bot-family-gallery{scroll-snap-type:x proximity;scrollbar-color:#59605b transparent;scrollbar-width:thin;grid-auto-columns:minmax(112px,132px);grid-auto-flow:column;gap:10px;min-width:0;margin:0;padding:14px;scroll-padding-inline:14px;list-style:none;display:grid;overflow-x:auto}.bot-family-gallery li{scroll-snap-align:start;min-width:0}.bot-family-option{color:#f3f0e9;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-rows:96px auto auto;align-content:start;justify-items:center;gap:6px;width:100%;min-width:0;min-height:154px;padding:8px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.bot-family-option:hover{background:#ffffff0e;border-color:#ffffff24;transform:translateY(-2px)}.bot-family-option.selected{border-color:var(--green);background:#7baa431c;box-shadow:inset 0 0 0 2px #7baa433d,0 10px 22px #0003}.bot-family-option-avatar,.bot-family-option-avatar .avatar-small{width:96px;height:96px}.bot-family-option strong{overflow-wrap:anywhere;width:100%;line-height:1.15}.bot-family-option small{width:100%;color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.25}@media (width>=821px){.bot-family-coach .bot-family-gallery{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row}.bot-family-coach .bot-family-option{grid-template-rows:78px auto auto;min-height:140px;padding-inline:4px}.bot-family-coach .bot-family-option-avatar,.bot-family-coach .bot-family-option-avatar .avatar-small{width:78px;height:78px}}.setup-focus{border:1px solid var(--border);background:#101214d1;border-radius:8px;align-self:start;gap:28px;padding:clamp(22px,4vw,42px);animation:.56s cubic-bezier(.22,1,.36,1) 80ms both cardLiftIn;display:grid;position:sticky;top:24px;box-shadow:0 28px 70px #00000052}.setup-portrait{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:26px;display:grid}.setup-name-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setup-name-line h1{letter-spacing:0;margin:0;font-size:clamp(28px,4vw,48px);line-height:1}.setup-name-line>span:not(.title-badge){color:#d1ccc1;font-size:24px}.setup-portrait p{color:#c9c4ba;max-width:560px;margin:18px 0 0;font-size:17px;line-height:1.55}.title-badge{color:#fff;background:#ad1f2b;border-radius:4px;place-items:center;min-width:42px;height:31px;padding:0 8px;font-size:18px;font-weight:900;display:inline-grid}.country-flag{object-fit:cover;border-radius:3px;width:31px;height:22px;display:block;box-shadow:0 0 0 1px #ffffff24}.avatar{background:#ddc895;border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.setup-actions{gap:18px;display:grid}.avatar.avatar-transparent{background:0 0}.avatar img{object-fit:cover;transform-origin:50% 32%;width:100%;height:100%;display:block}.avatar-small{width:56px;height:56px}.avatar-medium{width:112px;height:112px}.avatar-large{width:170px;height:170px}.avatar-placeholder{color:#171819;background:#d8c28c;font-size:22px;font-weight:900}.color-choice{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.color-choice button{border:1px solid var(--border);min-height:108px;color:inherit;cursor:pointer;background:#25282b;border-radius:8px;align-content:center;place-items:center;gap:7px;transition:border-color .17s,background .17s,box-shadow .17s,transform .17s;display:grid}.color-choice button:hover{background:#2b2f31;border-color:#7baa4394;transform:translateY(-2px)}.color-choice button.selected{border-color:var(--green);box-shadow:inset 0 0 0 3px var(--green), 0 14px 30px #0003}.color-choice img,.random-choice{object-fit:contain;width:56px;height:56px}.random-choice{border:3px solid #e8e6df;border-radius:50%;place-items:center;font-size:30px;font-weight:900;display:grid}.primary-play{color:#fff;cursor:pointer;background:#6da741;border:0;border-radius:8px;min-height:68px;font-size:24px;font-weight:900;transition:background .17s,box-shadow .17s,transform .17s;box-shadow:inset 0 -4px #00000038}.primary-play:not(:disabled):hover{background:#79b94a;transform:translateY(-2px);box-shadow:inset 0 -4px #00000038,0 18px 34px #6da74133}.primary-play:disabled{cursor:wait;opacity:.55}.bot-match-setup{border:1px solid var(--border);background:#101214d1;border-radius:8px;grid-column:1/-1;align-content:start;place-self:start center;gap:clamp(18px,2vw,26px);width:min(100%,1180px);padding:clamp(22px,2.8vw,34px);animation:.56s cubic-bezier(.22,1,.36,1) 80ms both cardLiftIn;display:grid;box-shadow:0 28px 70px #00000052}.matchup-heading{align-items:center;gap:14px;display:flex}.matchup-heading>svg{width:36px;height:36px;color:var(--gold)}.matchup-heading h1{margin:0;font-size:30px}.matchup-heading p{color:var(--muted);margin:4px 0 0}.matchup-seats{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:stretch;gap:clamp(14px,2vw,22px);display:grid}.bot-seat{border:1px solid var(--border);text-align:center;background:#1c1f21;border-radius:8px;align-content:start;justify-items:center;gap:12px;min-width:0;padding:clamp(18px,2vw,24px);transition:border-color .17s,background .17s,transform .17s;display:grid}.bot-seat:hover{background:#202427;border-color:#e3bd637a;transform:translateY(-2px)}.bot-seat .setup-name-line{justify-content:center}.bot-seat .setup-name-line h2{margin:0;font-size:clamp(22px,2vw,28px)}.bot-seat .setup-name-line>span:not(.title-badge){color:#d1ccc1;font-size:18px}.bot-seat>p{color:#c9c4ba;max-width:36ch;min-height:0;margin:0;font-size:15px;line-height:1.5}.bot-seat label{width:min(100%,310px);color:var(--muted);text-align:left;gap:7px;font-size:13px;font-weight:800;display:grid}.bot-seat select{border:1px solid var(--border);color:#f6f3ec;width:100%;min-height:44px;font:inherit;background:#292c2f;border-radius:6px;padding:0 42px 0 14px;font-size:15px}.seat-color{border-radius:5px;min-width:76px;padding:6px 12px;font-weight:900}.seat-color.white{color:#181818;background:#f4f2ec}.seat-color.black{color:#fff;background:#3c3b39}.versus-mark{border:1px solid var(--border);width:54px;height:54px;color:var(--gold);background:#25282a;border-radius:50%;place-items:center;font-size:18px;font-weight:950;display:grid}.bot-seat .avatar-large{width:142px;height:142px}.bot-match-setup .primary-play{justify-self:center;width:min(100%,520px);min-height:58px;margin-top:2px;font-size:21px}.game-page,.review-page{--board-size:min(calc(100svh - 156px), calc(66vw - 72px), 850px);grid-template-columns:minmax(0, var(--board-size)) minmax(360px, 1fr);justify-content:center;gap:clamp(24px,3vw,52px);padding:18px clamp(18px,3vw,48px);display:grid}.board-column,.review-board-column{grid-template-rows:54px var(--board-size) 54px;gap:6px;min-width:0;display:grid}.board-surface{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#211c18;border:8px solid #211c18;border-radius:10px;outline:1px solid #e3bd6357;width:100%;overflow:hidden;box-shadow:0 24px 50px #0000006b,0 0 0 1px #000000b8}.board-surface[data-turn-state=human]{outline-color:#7baa43b8}.board-surface[data-has-premove=true]{outline-color:#e75b63e6}.board-surface [data-square],.board-surface [data-piece]{-webkit-tap-highlight-color:transparent}.board-surface [data-square]{position:relative}.board-surface [data-square][data-premove-step]:after{content:attr(data-premove-step);z-index:70;color:#fff7f7;pointer-events:none;background:#87111be6;border:1px solid #ffe3e5e6;border-radius:999px;place-items:center;min-width:clamp(15px,2vw,20px);height:clamp(15px,2vw,20px);padding:0 3px;font-size:clamp(9px,1.25vw,12px);font-weight:900;line-height:1;display:grid;position:absolute;top:clamp(3px,.55vw,7px);right:clamp(3px,.55vw,7px);box-shadow:0 2px 8px #2b00046b}.board-surface [data-square][role=button]:focus-visible{z-index:4;outline-offset:-4px;outline:4px solid #fff;position:relative;box-shadow:inset 0 0 0 7px #1769e0,0 0 0 3px #1769e0bd}.board-surface [data-piece]{cursor:grab}.board-surface [data-piece]:active{cursor:grabbing}.board-stage{min-width:0;position:relative}.board-stage .board-surface{width:100%;height:100%}.board-surface>#play-bots-board-board{width:100%!important;height:100%!important}.player-strip{background:#0000009e;border:1px solid #ffffff12;border-radius:6px;align-items:center;gap:10px;min-width:0;padding:4px 10px;display:flex}.player-strip .avatar-small{width:44px;height:44px}.player-strip .title-badge{min-width:36px;height:27px;font-size:16px}.player-name{align-items:baseline;gap:7px;min-width:0;font-size:19px;display:flex}.player-details{align-content:center;gap:2px;min-width:0;display:grid}.player-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-name span{color:#c8c3b9}.captured-material{color:#c8c3b9;align-items:center;gap:7px;min-width:0;height:18px;font-size:16px;line-height:1;display:flex}.captured-pieces{align-items:center;gap:4px;min-width:0;max-width:240px;padding-right:3px;display:flex;overflow:hidden}.captured-piece-group{flex:none;align-items:center;display:flex}.captured-piece-group img{object-fit:contain;width:18px;height:18px}.captured-piece-group img+img{margin-left:-10px}.captured-pieces-white img{filter:grayscale()brightness(1.12)contrast(.95)}.captured-pieces-black img{filter:none}.material-advantage{color:#c8c3b9;font-variant-numeric:tabular-nums}.setup-page :is(a,button,select,[role=tabpanel]):focus-visible{outline-offset:3px;outline:3px solid #f4cf68;box-shadow:0 0 0 6px #0f1213eb}.elo-rating-wrap{flex:none;align-items:baseline;min-width:max-content;display:inline-flex;position:relative}.elo-rating{color:#c8c3b9}.elo-delta{z-index:2;color:#f4f2ed;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:#090b0ceb;border:1px solid #ffffff1f;border-radius:4px;max-width:min(72vw,360px);padding:4px 6px;font-size:.72rem;font-weight:800;line-height:1.2;animation:2.1s cubic-bezier(.2,.8,.34,1) forwards eloDeltaFallsAway;display:block;position:absolute;top:0;left:0;overflow:hidden;transform:translate(0,0)}.elo-delta.gain{color:#a7d96b;animation-name:eloDeltaRisesAway}.elo-delta.steady{color:#edc75d;animation-name:eloDeltaRisesAway}@keyframes eloDeltaFallsAway{0%{opacity:1;transform:translate(0,0)}78%{opacity:1}to{opacity:0;transform:translateY(28px)}}@keyframes eloDeltaRisesAway{0%{opacity:1;transform:translate(0,0)}78%{opacity:1}to{opacity:0;transform:translateY(-28px)}}@media (prefers-reduced-motion:reduce){.elo-delta{animation:none}}.player-strip .country-flag{margin-left:auto}.player-silhouette{background:radial-gradient(circle at 50% 34%,#080909 0 22%,#0000 24%),radial-gradient(at 50% 100%,#080909 0 46%,#0000 48%),#272a2d;border-radius:5px;width:40px;height:40px}.game-sidebar,.review-sidebar{grid-template-rows:auto minmax(0,1fr) auto auto;align-content:start;gap:18px;min-width:0;max-height:calc(100svh - 36px);padding:14px 0;display:grid}.dialogue-row{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;min-width:0;display:grid}.dialogue-row.bot-speaking .avatar-medium{animation:.56s cubic-bezier(.2,.88,.32,1) botAvatarReact}.dialogue-row.bot-speaking .speech-bubble{animation:.36s cubic-bezier(.2,.82,.28,1) both botBubbleEnter}.speech-bubble,.silent-bubble{color:#242424;background:#fff;border-radius:8px;align-items:center;min-width:0;min-height:92px;padding:18px 22px;font-size:clamp(16px,1.45vw,21px);font-weight:750;line-height:1.35;display:flex;position:relative}.speech-bubble:before,.silent-bubble:before{content:"";border:10px solid #0000;border-right-color:#fff;position:absolute;top:34px;left:-18px}.silent-bubble{opacity:.16;height:12px;min-height:12px;padding:0}.bot-conversation{scrollbar-color:#515557 transparent;scrollbar-width:thin;flex-direction:column;justify-content:flex-end;gap:10px;min-height:170px;max-height:320px;padding:4px 8px;display:flex;overflow:auto}.conversation-row,.match-waiting{align-items:flex-start;gap:10px;min-width:0;display:flex}.conversation-row{width:min(94%,520px)}.conversation-row.black-speaker{align-self:flex-start}.conversation-row.white-speaker{text-align:right;flex-direction:row-reverse;align-self:flex-end}.conversation-row .avatar-small,.match-waiting .avatar-small{flex:0 0 48px;width:48px;height:48px}.conversation-bubble{color:#222;background:#f7f6f2;border-radius:5px;min-width:0;padding:11px 14px;position:relative;box-shadow:0 12px 30px #0000003d}.conversation-row.active-speaker .avatar-small{animation:.56s cubic-bezier(.2,.88,.32,1) botAvatarReact}.conversation-row.active-speaker .conversation-bubble{outline:2px solid #e3bd6380;animation:.36s cubic-bezier(.2,.82,.28,1) both botBubbleEnter}.conversation-bubble:before{content:"";border:8px solid #0000;position:absolute;top:18px}.black-speaker .conversation-bubble:before{border-right-color:#f7f6f2;left:-16px}.white-speaker .conversation-bubble{background:#fff8e8}.white-speaker .conversation-bubble:before{border-left-color:#fff8e8;right:-16px}.conversation-row strong{color:#6a5428;margin-bottom:2px;font-size:12px;display:block}.conversation-row p{overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.35}.match-waiting{color:var(--muted);align-items:center}.move-panel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);min-height:0;overflow:hidden}.move-panel-header{justify-content:space-between;align-items:center;gap:14px;min-height:56px;padding:8px 4px 8px 12px;display:flex}.move-panel h2{margin:0;font-size:20px}.history-controls{gap:5px;display:flex}.history-controls button,.icon-button{border:1px solid var(--border);color:#f5f2eb;background:#25282b;border-radius:6px;place-items:center;width:38px;height:38px;display:grid}.history-controls button:disabled{cursor:default;opacity:.35}.move-table{max-height:100%;padding:0 8px 12px;overflow:auto}.move-row{grid-template-columns:45px 1fr 1fr;align-items:center;min-height:44px;display:grid}.move-row:nth-child(2n){background:#ffffff09}.move-number{color:var(--muted);text-align:center}.move-row button{color:#ece8de;text-align:left;background:0 0;border:0;border-radius:4px;min-height:36px;font-weight:750}.move-row button:empty{pointer-events:none}.move-row button.active{color:#17130b;background:var(--gold)}.empty-moves{color:var(--muted);margin:24px 10px}.game-status{color:#d8d3c9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.premove-status{color:#ff8d94;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.premove-status button{width:44px;height:44px;color:inherit;background:0 0;border:1px solid #ff8d946b;border-radius:5px;place-items:center;display:grid}.premove-status svg{width:15px;height:15px}.game-status strong{color:#ffbd56}.game-actions{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.game-actions .home-nav-button,.game-actions button,.review-nav button{border:1px solid var(--border);color:#f3f0e9;background:#282b2e;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:64px;font-weight:800;display:flex}.game-actions .home-nav-button{background:#24292a}.game-actions button:disabled{cursor:default;opacity:.35}.promotion-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a0bb3;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.promotion-picker{background:#1b1e20;border:1px solid #fff3;border-radius:8px;width:min(100%,420px);padding:16px;box-shadow:0 24px 70px #0009}.promotion-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.promotion-heading strong{font-size:19px}.promotion-heading button{border:1px solid var(--border);color:#fff;background:#292c2e;border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.promotion-options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.promotion-options button{aspect-ratio:1;border:1px solid var(--border);color:#f7f6f1;background:#2a2d2f;border-radius:6px}.promotion-options button:hover,.promotion-options button:focus-visible{border-color:var(--green);background:#353a3c}.promotion-options span{font-family:Segoe UI Symbol,"Noto Sans Symbols 2",serif;font-size:clamp(42px,6vw,68px);line-height:1}.review-page{--board-size:min(calc(100svh - 156px), calc(58vw - 72px), 790px);grid-template-columns:minmax(0, calc(var(--board-size) + 64px)) minmax(440px, 700px)}.review-board-row{grid-template-columns:54px minmax(0, var(--board-size));gap:8px;min-width:0;display:grid}.evaluation-bar{isolation:isolate;background:#403d39;border:0;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 8px 24px #0003}.evaluation-white{z-index:0;width:100%;height:100%;transform:scaleY(var(--white-share,.5));transform-origin:bottom;will-change:transform;background:#f7f7f7;transition:transform .46s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}.evaluation-divider{z-index:1;will-change:bottom;background:#ffffffb8;width:100%;height:1px;transition:bottom .46s cubic-bezier(.22,1,.36,1);position:absolute;left:0;transform:translateY(50%)}.evaluation-number{z-index:2;letter-spacing:0;font-size:16px;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.evaluation-number.on-black{color:#fff;top:12px}.evaluation-number.on-white{color:#111;bottom:12px}.review-sidebar{grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;overflow:hidden}.review-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.review-heading h1{margin:3px 0 0;font-size:30px}.review-heading p{color:var(--muted);margin:4px 0 0;font-size:13px}.review-heading-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.review-action-buttons{gap:8px;display:flex}.review-action-buttons svg{width:18px;height:18px}.pgn-share-backdrop{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.pgn-share-dialog{background:#202224;border:1px solid #4a4d4f;border-radius:8px;grid-template-rows:auto auto minmax(240px,1fr) auto;gap:16px;width:min(720px,100%);max-height:min(760px,100vh - 48px);padding:24px;display:grid;overflow:hidden;box-shadow:0 24px 80px #00000080}.pgn-share-dialog header,.pgn-share-dialog footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.pgn-share-dialog h2{margin:3px 0 0;font-size:26px}.pgn-share-dialog p{color:var(--muted);margin:0}.pgn-share-dialog textarea{resize:vertical;color:#f5f3ed;background:#151719;border:1px solid #4a4d4f;border-radius:6px;outline:none;width:100%;min-height:240px;padding:16px;font:15px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.pgn-share-dialog textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #80b64b40}.pgn-copy-status{color:var(--gold);font-size:13px;font-weight:800}.pgn-copy-button{justify-content:center;align-items:center;gap:9px;min-width:154px;display:inline-flex}.pgn-copy-button svg{width:19px;height:19px}.eyebrow{color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:900}.review-progress{border:1px solid var(--border);background:#1d2022;border-radius:8px;padding:28px}.review-progress strong{font-size:40px}.review-progress>div{background:#35383a;border-radius:5px;height:10px;margin:15px 0;overflow:hidden}.review-progress>div span{background:var(--green);height:100%;transition:width .18s;display:block}.review-progress p{color:var(--muted);margin:0}.review-tabs{border:1px solid var(--border);background:#ffffff09;border-radius:7px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:grid}.review-tabs button{color:#bdb8ad;background:0 0;border:0;border-radius:5px;min-height:40px;font-weight:850}.review-tabs button.active{color:#fff;background:#34383a}.review-scroll{scrollbar-color:#515557 transparent;scrollbar-width:thin;min-height:0;padding-right:7px;overflow:auto}.review-summary,.move-review{gap:18px;display:grid}.review-summary>section,.move-review>section{width:min(100%,720px);margin-inline:auto}.evaluation-graph{gap:8px;display:grid}.graph-heading{justify-content:space-between;align-items:center;display:flex}.graph-heading h2,.classification-breakdown h2,.phase-performance h2{margin:0;font-size:17px}.graph-heading strong{color:var(--gold)}.graph-canvas{border:1px solid var(--border);background:#403f3c;border-radius:8px;height:132px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 10px 24px #00000029}.graph-canvas svg{width:100%;height:100%;display:block}.graph-canvas .evaluation-white-area{fill:#f4f3ef}.graph-canvas .evaluation-equal-line{stroke:#aaa8a2;stroke-width:3px;vector-effect:non-scaling-stroke}.graph-canvas .evaluation-line{fill:none;stroke:#f4f3ef;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.graph-canvas .evaluation-event{stroke:#ffffff73;stroke-width:1.5px;vector-effect:non-scaling-stroke}.graph-canvas .evaluation-active{fill:#0000;stroke:#fff;stroke-width:3px;vector-effect:non-scaling-stroke}.graph-canvas{cursor:pointer}.graph-canvas:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.review-scoreboard{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,180px) 140px 56px 140px;justify-content:center;align-items:center;gap:18px 0;padding:18px 0;display:grid;width:min(100%,560px)!important}.scoreboard-label{color:#f1eee7;font-size:18px;font-weight:850}.summary-identity{justify-items:center;gap:8px;min-width:0;display:grid}.summary-identity.player,.player-metric,.summary-identity.white-bot,.white-metric{grid-column:2}.summary-identity.bot,.bot-metric,.summary-identity.black-bot,.black-metric{grid-column:4}.summary-identity>strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:18px;overflow:hidden}.summary-player-avatar{border:3px solid var(--green);background:radial-gradient(circle at 50% 34%,#080909 0 21%,#0000 23%),radial-gradient(at 50% 103%,#080909 0 45%,#0000 47%),#9a9b8d;border-radius:7px;width:76px;height:76px}.summary-identity .avatar-medium{width:76px;height:76px}.summary-metric{text-align:center;border-radius:6px;justify-self:center;min-width:96px;padding:10px 13px;font-size:25px}.player-metric{color:#1c1c1c;background:#f5f4f0}.bot-metric{color:#fff;background:#242729}.white-metric{color:#1c1c1c;background:#f5f4f0}.black-metric{color:#fff;background:#242729}.classification-breakdown,.phase-performance{gap:3px;padding-block:8px;display:grid;width:min(100%,560px)!important}.classification-breakdown h2,.phase-performance h2{margin-bottom:8px}.classification-row{border-bottom:1px solid #ffffff0e;grid-template-columns:minmax(150px,180px) 140px 56px 140px;justify-content:center;align-items:center;min-height:38px;display:grid}.classification-row:last-child{border-bottom:0}.classification-label{color:#eeeae2;font-weight:750}.classification-count{text-align:center;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-self:center;min-width:44px;min-height:34px;font-size:18px;font-weight:850}.classification-count:not(:disabled):hover,.classification-count:not(:disabled):focus-visible{background:#ffffff17;outline:1px solid}.classification-count:disabled{opacity:.48;cursor:default}.classification-row img{object-fit:contain;justify-self:center;width:30px;height:30px}.game-rating-row,.phase-row{border-bottom:1px solid #ffffff0e;grid-template-columns:minmax(150px,180px) 140px 56px 140px;justify-content:center;align-items:center;min-height:48px;display:grid}.game-rating-row strong:last-child,.phase-row>:last-child{grid-column:4}.game-rating-row>span,.phase-row>span:first-child{color:#eeeae2;font-weight:750}.game-rating-row strong{text-align:center;background:#272a2c;border-radius:5px;justify-self:center;min-width:78px;padding:8px;font-size:21px}.game-rating-row strong:first-of-type{color:#171717;background:#f5f4f0}.phase-grade{grid-template-columns:30px minmax(44px,auto);justify-content:center;align-items:center;gap:5px;display:grid}.phase-grade img{object-fit:contain;width:28px;height:28px}.phase-grade strong{font-size:13px}.phase-empty{color:var(--muted);text-align:center}.move-explanation{border-left:4px solid var(--classification,var(--gold));background:#1d2022;border-radius:4px;padding:16px}.classification-title{align-items:center;gap:12px;display:flex}.classification-title img{object-fit:contain;width:40px;height:40px}.classification-title div{display:grid}.classification-title strong{font-size:22px}.classification-title span{color:var(--classification);font-weight:850}.move-explanation p{color:#d3cec4;line-height:1.55}.move-explanation dl{gap:8px;margin:0;display:grid}.move-explanation dl div{grid-template-columns:130px 1fr;gap:12px;display:grid}.move-explanation dt{color:var(--muted)}.move-explanation dd{overflow-wrap:anywhere;margin:0}.review-nav{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;display:grid}.review-nav button{min-height:48px}.review-nav button:disabled{cursor:default;opacity:.35}.bad-manners-page{grid-template-rows:auto 1fr;gap:20px;min-height:100svh;padding:clamp(18px,3vw,42px);display:grid}.bad-manners-topbar{grid-template-columns:46px minmax(0,1fr) auto;justify-self:center;align-items:center;gap:14px;width:min(1320px,100%);display:grid}.bad-manners-topbar h1{letter-spacing:0;margin:2px 0 0;font-size:clamp(28px,4vw,44px);line-height:1}.gauntlet-layout{grid-template-rows:auto auto minmax(0,1fr);justify-self:center;gap:16px;width:min(1320px,100%);min-width:0;display:grid}.gauntlet-overview{grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:16px;display:grid}.gauntlet-score,.gauntlet-meta,.gauntlet-position,.gauntlet-empty{border:1px solid var(--border);background:#141719e0;border-radius:8px}.gauntlet-score{grid-template-columns:118px minmax(0,1fr);align-items:center;gap:20px;min-height:154px;padding:20px;display:grid}.score-ring{background:radial-gradient(circle at center, #171a1c 0 56%, transparent 57%), conic-gradient(var(--green) var(--score), #34383a 0);border-radius:50%;place-items:center;width:118px;height:118px;display:grid}.score-ring strong{letter-spacing:0;font-size:27px}.gauntlet-score h2{margin:0;font-size:clamp(32px,5vw,52px);line-height:1}.gauntlet-score p{color:var(--muted);margin:8px 0 0;font-weight:800}.gauntlet-meta{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid;overflow:hidden}.gauntlet-meta div{border-left:1px solid var(--border);align-content:center;gap:8px;min-width:0;padding:18px;display:grid}.gauntlet-meta div:first-child{border-left:0}.gauntlet-meta span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.gauntlet-meta strong{overflow-wrap:anywhere;min-width:0;font-size:clamp(19px,2vw,28px)}.gauntlet-categories{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.gauntlet-categories button{border:1px solid var(--border);color:#f6f3ec;text-align:left;background:#1c1f21e6;border-radius:8px;grid-template-columns:32px minmax(0,1fr) 30px;align-items:center;gap:10px;min-width:0;min-height:82px;padding:13px;display:grid}.gauntlet-categories button.active{border-color:var(--green);box-shadow:inset 0 -4px var(--green)}.gauntlet-categories svg{width:27px;height:27px;color:var(--gold)}.gauntlet-categories span{gap:4px;min-width:0;display:grid}.gauntlet-categories strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gauntlet-categories small{color:var(--muted);font-weight:850}.gauntlet-categories em{color:var(--green);justify-self:end;font-style:normal;font-weight:950}.gauntlet-detail{grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:16px;min-height:0;display:grid}.gauntlet-list{scrollbar-color:#515557 transparent;scrollbar-width:thin;align-content:start;gap:8px;min-height:0;max-height:calc(100svh - 355px);padding-right:5px;display:grid;overflow:auto}.gauntlet-list button{border:1px solid var(--border);min-width:0;min-height:62px;color:inherit;text-align:left;background:#1c1f21;border-radius:7px;grid-template-columns:28px minmax(0,1fr) 56px;align-items:center;gap:10px;padding:10px 12px;display:grid}.gauntlet-list button.selected{border-color:var(--gold);background:#25282b}.gauntlet-list svg{width:22px;height:22px;color:var(--green)}.gauntlet-list button.fail svg{color:#e05a62}.gauntlet-list span{gap:3px;min-width:0;display:grid}.gauntlet-list strong,.gauntlet-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gauntlet-list small{color:var(--muted)}.gauntlet-list em{color:var(--gold);justify-self:end;font-style:normal;font-weight:900}.gauntlet-position{min-width:0;padding:clamp(16px,2.5vw,28px)}.gauntlet-access{border:1px solid var(--border);text-align:center;background:#141719eb;border-radius:8px;place-self:start center;justify-items:center;gap:16px;width:min(520px,100%);margin-top:8vh;padding:clamp(24px,5vw,42px);display:grid}.gauntlet-access>svg{width:44px;height:44px;color:var(--gold)}.gauntlet-access h2{margin:4px 0 0;font-size:32px}.gauntlet-access form{grid-template-columns:minmax(0,1fr) 108px;gap:8px;width:min(100%,380px);display:grid}.gauntlet-access input{border:1px solid var(--border);color:#f6f3ec;min-width:0;min-height:46px;font:inherit;background:#101315;border-radius:6px;padding:0 12px}.gauntlet-access input:focus{outline-offset:2px;outline:2px solid #7baa438c}.gauntlet-access button{color:#12150f;background:var(--green);border:0;border-radius:6px;min-height:46px;font-weight:900}.gauntlet-access p{color:#ff8c91;margin:0;font-weight:850}.gauntlet-board-wrap{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:18px;min-width:0;margin-bottom:16px;padding-bottom:18px;display:grid}.gauntlet-board{aspect-ratio:1;background:#272019;border:6px solid #272019;border-radius:8px;width:min(100%,320px);overflow:hidden;box-shadow:0 18px 38px #00000047}.gauntlet-board>div{width:100%!important;height:100%!important}.gauntlet-board-side{gap:7px;min-width:0;display:grid}.gauntlet-board-side span{color:var(--gold);font-size:clamp(30px,4vw,52px);font-weight:950;line-height:1}.gauntlet-board-side strong{color:#d8d3c9;font-size:16px}.gauntlet-board-side small{overflow-wrap:anywhere;max-width:100%;color:var(--muted);font-weight:800}.line-controls{grid-template-columns:42px minmax(74px,auto) 42px;justify-content:start;align-items:center;gap:8px;margin-top:8px;display:inline-grid}.line-controls button{border:1px solid var(--border);color:#f7f3ea;background:#202427;border-radius:6px;place-items:center;width:42px;height:42px;display:grid}.line-controls button:disabled{cursor:default;opacity:.35}.line-controls svg{width:20px;height:20px}.line-controls b{color:#e8e1d1;text-align:center;font-size:14px;font-weight:900}.position-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:16px;display:flex}.position-heading h2{margin:3px 0 0;font-size:clamp(25px,3vw,38px)}.line-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0;display:grid}.line-summary div{background:#ffffff09;border:1px solid #ffffff13;border-radius:7px;gap:4px;min-width:0;padding:10px 12px;display:grid}.line-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.line-summary strong{color:#f4efe4;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:950;overflow:hidden}.line-timeline{scrollbar-color:#515557 transparent;scrollbar-width:thin;gap:7px;max-height:250px;margin:14px 0;padding-right:4px;display:grid;overflow:auto}.line-timeline button{border:1px solid var(--border);color:#f5f1e8;text-align:left;background:#191d1f;border-radius:7px;grid-template-columns:40px 80px minmax(70px,130px) minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:52px;padding:8px 10px;display:grid}.line-timeline button.active{border-color:var(--gold);background:#25231d}.line-timeline button.defender{background:#171b1f}.line-timeline em{color:#11150f;background:var(--green);border-radius:5px;place-items:center;min-width:30px;height:30px;font-style:normal;font-weight:950;display:grid}.line-timeline button.defender em{color:#151515;background:var(--gold)}.line-timeline span{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.line-timeline strong,.line-timeline small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.line-timeline strong{color:#fff;font-size:18px;font-weight:950}.line-timeline small{color:#cfc7b6;font-weight:750}.status-pill{border-radius:5px;align-items:center;gap:7px;min-height:34px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.status-pill svg{width:17px;height:17px}.status-pill.pass{color:#10130e;background:var(--green)}.status-pill.fail{color:#fff;background:#b51f2c}.gauntlet-position dl{gap:0;margin:16px 0 0;display:grid}.gauntlet-position dl div{border-bottom:1px solid #fff1;grid-template-columns:150px minmax(0,1fr);gap:12px;min-width:0;padding:13px 0;display:grid}.gauntlet-position dt{color:var(--muted);font-weight:850}.gauntlet-position dd{overflow-wrap:anywhere;color:#eeeae2;min-width:0;margin:0;font-weight:750}.gauntlet-position code,.gauntlet-empty code{color:#f6f3ec;background:#0d0f10;border-radius:4px;padding:4px 6px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.gauntlet-empty,.gauntlet-loading{text-align:center;align-content:center;place-items:center;gap:14px;min-height:360px;display:grid}.gauntlet-empty svg,.gauntlet-loading svg{width:42px;height:42px;color:var(--gold)}.gauntlet-empty h2{margin:0}@media (width<=1120px){.setup-player-panel{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr);gap:24px}.game-page,.review-page{--board-size:min(calc(100svh - 148px), calc(59vw - 42px), 720px);grid-template-columns:minmax(0, var(--board-size)) minmax(330px, 1fr);gap:22px;padding:16px}.review-page{grid-template-columns:minmax(0, calc(var(--board-size) + 40px)) minmax(360px, 1fr)}.gauntlet-overview,.gauntlet-detail{grid-template-columns:1fr}.gauntlet-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;padding-right:0}.dialogue-row{grid-template-columns:82px minmax(0,1fr)}.avatar-medium{width:82px;height:82px}}@media (width<=820px){.setup-page{grid-template-columns:1fr;padding:18px}.setup-page .app-brand,.play-mode-choice,.setup-player-panel,.bot-match-setup{grid-column:1}.setup-player-panel{grid-template-columns:1fr;gap:20px}.setup-header{grid-column:1}.gauntlet-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.matchup-seats{grid-template-columns:1fr}.versus-mark{justify-self:center;width:48px;height:48px}.setup-focus{position:static}.matchup-heading{order:0}.bot-match-setup>.primary-play{z-index:5;order:1;position:sticky;top:8px;box-shadow:inset 0 -4px #00000038,0 12px 32px #00000061}.matchup-seats{order:2}.game-page,.review-page{--board-size:min(calc(100vw - 24px), 680px);grid-template-columns:minmax(0, var(--board-size));justify-content:center;gap:12px;padding:12px}.review-page{--board-size:min(calc(100vw - 70px), 680px);grid-template-columns:minmax(0, calc(var(--board-size) + 46px))}.board-column,.review-board-column{grid-template-rows:50px var(--board-size) 50px}.game-sidebar,.review-sidebar{min-height:440px;max-height:none;padding-bottom:24px}.game-sidebar{gap:14px}.review-board-row{grid-template-columns:38px minmax(0, var(--board-size))}.review-sidebar{width:min(100%, calc(var(--board-size) + 46px))}.evaluation-number{font-size:13px}}@media (width<=560px){.setup-page{gap:16px}.setup-header,.setup-header-actions{flex-direction:column;align-items:stretch}.home-nav-button,.gauntlet-report-link{width:100%}.bad-manners-topbar{grid-template-columns:42px minmax(0,1fr)}.gauntlet-report-link{grid-column:1/-1;justify-self:stretch}.gauntlet-overview,.gauntlet-score,.gauntlet-meta,.gauntlet-list{grid-template-columns:1fr}.gauntlet-score{text-align:center;justify-items:center}.gauntlet-meta div{border-left:0;border-top:1px solid var(--border)}.gauntlet-meta div:first-child{border-top:0}.gauntlet-categories{grid-template-columns:1fr}.gauntlet-position dl div{grid-template-columns:1fr;gap:4px}.gauntlet-access form,.gauntlet-board-wrap{grid-template-columns:1fr}.gauntlet-board{justify-self:center}.gauntlet-board-side{text-align:center;justify-items:center}.bot-roster{display:grid}.bot-family-trigger{grid-template-columns:56px minmax(0,1fr) auto 22px;gap:11px;min-height:82px;padding:12px}.bot-family-avatar,.bot-family-avatar .avatar-small{width:56px;height:56px}.bot-family-title{font-size:18px}.bot-family-gallery{grid-auto-columns:minmax(102px,116px);padding:12px}.bot-family-option{grid-template-rows:86px auto auto;min-height:142px}.bot-family-option-avatar,.bot-family-option-avatar .avatar-small{width:86px;height:86px}.setup-focus{gap:20px;padding:18px}.setup-actions{border:1px solid var(--border);background:#131618f5;border-radius:8px;gap:10px;padding:10px;position:static;box-shadow:0 -12px 32px #00000061}.play-mode-choice button{min-height:44px;font-size:14px}.bot-match-setup{gap:20px;padding:18px}.bot-match-setup>.primary-play{top:8px}.bot-seat{padding:18px}.bot-seat .avatar-large{width:112px;height:112px}.bot-seat .setup-name-line h2{font-size:21px}.setup-portrait{grid-template-columns:94px minmax(0,1fr);gap:14px}.avatar-large{width:94px;height:94px}.setup-name-line h1{font-size:25px}.setup-name-line>span:not(.title-badge){font-size:18px}.setup-portrait p{grid-column:1/-1;font-size:14px}.color-choice{gap:7px}.color-choice button{min-height:90px}.dialogue-row{grid-template-columns:68px minmax(0,1fr);gap:12px}.avatar-medium{width:68px;height:68px}.speech-bubble{min-height:70px;padding:13px 15px;font-size:15px}.move-explanation dl div{grid-template-columns:1fr;gap:2px}.classification-row{grid-template-columns:minmax(102px,1fr) 78px 34px 78px;justify-content:stretch}.game-rating-row,.phase-row{grid-template-columns:minmax(100px,1fr) 78px 28px 78px;justify-content:stretch}.phase-grade{grid-template-columns:26px;justify-items:center}.review-scoreboard{grid-template-columns:minmax(82px,1fr) 78px 28px 78px;gap:12px 0}.scoreboard-label{font-size:15px}.summary-metric{min-width:78px;font-size:20px}.pgn-share-backdrop{padding:12px}.pgn-share-dialog{grid-template-rows:auto auto minmax(220px,1fr) auto;max-height:calc(100vh - 24px);padding:18px}.pgn-share-dialog footer{flex-direction:column;align-items:stretch}.pgn-copy-button{width:100%}.board-surface{border-width:5px;border-radius:7px}.game-actions{gap:6px}.game-actions .home-nav-button,.game-actions button{gap:6px;min-height:54px;font-size:13px}.captured-material{gap:5px}.captured-pieces{max-width:158px}.captured-piece-group img{width:16px;height:16px}.captured-piece-group img+img{margin-left:-9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@keyframes playAmbientGrid{0%{background-position:0 0,0 0,50%}to{background-position:72px 36px,-36px 72px,50%}}@keyframes playBoardDrift{0%{background-position:-180px 14vh,52vw -120px,0 0,0 0,0 0}to{background-position:90px 18vh,calc(52vw - 240px) 40px,72px 36px,-36px 72px,144px 144px}}@keyframes playRouteSweep{0%{opacity:.42;background-position:-22vw 12vh,48vw 8vh,18vw 54vh,0 0;transform:translate(-1.8%,-.8%)}52%{opacity:.78;transform:translate(1.4%,.9%)}to{opacity:.56;background-position:16vw 8vh,34vw 20vh,8vw 48vh,180px -120px;transform:translate(2.2%,1.4%)}}@keyframes setupRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes cardLiftIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes selectedButtonPulse{0%,to{box-shadow:inset 0 0 0 1px #ffffff0d,0 8px 24px #0000003d}50%{box-shadow:inset 0 0 0 1px #7baa4333,0 10px 28px #7baa432e}}@keyframes selectedCardBreath{0%,to{box-shadow:inset 4px 0 var(--green)}50%{box-shadow:inset 4px 0 var(--green), 0 12px 28px #7baa4324}}@keyframes buttonSweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes botAvatarReact{0%{transform:translateY(0)scale(1)}42%{filter:brightness(1.12);transform:translateY(-8px)scale(1.045)}72%{transform:translateY(2px)scale(.99)}to{filter:none;transform:translateY(0)scale(1)}}@keyframes botBubbleEnter{0%{opacity:0;transform:translateY(7px)scale(.975)}to{opacity:1;transform:none}}.setup-page,.game-page,.review-page,.setup-page:before,.game-page:before,.review-page:before,.setup-page:after,.game-page:after,.review-page:after,.play-mode-choice button.selected{animation:none}.review-scroll:focus-visible,.game-page :is(a,button):focus-visible,.review-page :is(a,button,textarea,[role=slider]):focus-visible,.error-shell :is(a,button):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.review-scroll,.graph-canvas svg{overflow-x:hidden}.route-loading,.error-shell,.noscript-shell{color:#f4f0e8;text-align:center;background:#101113;align-content:center;place-items:center;gap:12px;min-height:100svh;padding:24px;display:grid}.route-loading h1,.error-shell h1,.route-loading p,.error-shell p,.noscript-shell p{max-width:48ch;margin:0}.error-shell-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.error-shell-actions :is(a,button),.noscript-shell a{border:1px solid var(--border);min-height:44px;color:inherit;background:var(--surface-raised);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex}
