/* UFA Chess Studio · original visual system, 1037. */
:root{--bg:#242925;--panel:#303730;--line:#495348;--ink:#f5f5e9;--muted:#b9c2b4;--gold:#c5de8a;--green:#b0d985;--red:#f0ac9d;color-scheme:dark}
html,body{background:#242925}body{background:radial-gradient(ellipse at 65% 0,#364032 0,transparent 65%),#242925;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,.chip{background:#343d33;border-color:#52604b;color:#f1f3e7;border-radius:9px;font-weight:650;transition:background .15s,box-shadow .15s}
button:hover,.chip:hover{background:#45503f;border-color:#92a878}button.primary,.overlay .btn,.club-dialog .primary{background:#b8d77e;color:#23321b;border:1px solid #d0e69b;box-shadow:0 3px 0 #6c8d43;font-weight:800}button.primary:hover,.club-dialog .primary:hover{background:#cce692}
.studio-nav{position:fixed;inset:0 auto 0 0;width:164px;padding:28px 14px 18px;background:#1c221e;border-right:1px solid #45503b44;display:flex;flex-direction:column;z-index:20}.studio-brand{display:flex;align-items:center;gap:9px;padding:0 7px 34px;font-size:23px;font-weight:800;letter-spacing:-.7px}.studio-mark{font-family:Georgia,serif;font-size:30px;line-height:40px;text-align:center;color:#d4e5a4;width:35px;height:42px;border:1px solid #9ca77b;border-radius:12px 12px 15px 15px}.studio-brand small{display:block;font-size:9px;letter-spacing:2.5px;color:#bdc8ad;margin-bottom:2px}
.studio-nav nav{display:grid;gap:6px}.studio-nav button,.studio-nav a.studio-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;border:0;background:transparent;color:#bac4b7;font-size:13px;text-align:left;border-radius:9px}.studio-nav button:hover,.studio-nav a.studio-link:hover{background:#333e30;color:#f6f8e9}.studio-nav button[aria-current=page]{background:#414e33;color:#d2eaa8;box-shadow:inset 3px 0 #b8d77e}.studio-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.studio-nav-bottom{margin-top:auto;padding-top:24px;border-top:1px solid #404a374d}.studio-nav-note{padding:14px 10px 0;color:#82917c;font-size:10px;line-height:1.6}
.shell{width:min(1250px,calc(100% - 204px));margin-left:max(184px,calc(164px + (100vw - 1414px)/2));padding:0 0 16px}.titlebar{border-bottom:1px solid #59644b44;min-height:56px;flex-wrap:nowrap;position:relative}.titlebar>.brand{display:none}.nav-actions{justify-content:flex-end;width:auto;margin-left:auto;gap:7px}.nav-actions>.chip:first-child{display:none}.nav-actions .chip{background:#ffffff05;border-color:#58634d55;color:#b8c5aa;font-size:11px}.chess-install-row{order:0!important;width:auto!important;margin:0!important;display:block!important}.chess-install-row #addHomeBtn{background:transparent;border:0;color:#adba9f;min-height:44px;padding:7px 0;font-size:11px}.heading{padding:19px 2px 17px;align-items:center}.heading h1{font:750 29px/1.1 system-ui;letter-spacing:-1px}.heading-badge{border:0;background:none;color:#a5b497;font-size:12px}.heading .eyebrow{display:block;color:#9ebd74;font-size:9px;letter-spacing:2px;margin-bottom:5px}.heading p{display:none}
.layout{grid-template-columns:minmax(0,1fr) 272px;gap:24px;overflow:hidden;align-items:start}.layout>.pane.left{display:none!important}.layout>.table-panel{grid-column:1;grid-row:1;background:none;border:0;border-radius:0;padding:0;box-shadow:none;width:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.layout>.pane.right{grid-column:2;grid-row:1;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:0 2px 12px;background:none;border:0;display:block}.table-heading{margin:0 0 8px}.status{font-size:13px;color:#d9e5c5;font-weight:600}.table-tag{display:none}.board-wrap{margin:10px auto}.board{border:0!important;border-radius:7px;overflow:hidden;box-shadow:0 5px 18px #0003}.player-strip{height:36px;min-height:36px;gap:10px}.player-name{font-size:12px;letter-spacing:.1px;color:#e8eddd}.player-icon.club-avatar{width:32px;height:32px}.board-actions{gap:8px;margin-top:12px}.board-actions button{background:#36412f;border:1px solid #65775066;color:#d9e5cd;border-radius:8px;font-size:12px;min-height:44px;max-width:none}.board-actions #invitePlayerBtn{background:#b8d77e;color:#26351d;border-color:#cce698;box-shadow:0 3px 0 #6c8d43}.board-actions #hintBtn[aria-pressed=true]{background:#49602e;border-color:#c6e892;color:#f1ffd9}
.studio-rail-heading{padding:2px 2px 13px}.studio-rail-heading span{font-size:10px;letter-spacing:2px;color:#a2bd7c;font-weight:700}.studio-rail-heading h2{font:750 21px/1.2 system-ui;margin:7px 0 0;letter-spacing:-.4px}.studio-rail .club-bar{flex-direction:column;align-items:stretch;padding:0;gap:12px}.studio-rail .club-opponent{position:relative;flex-direction:column;gap:12px;text-align:center;width:100%;padding:20px 14px;background:linear-gradient(140deg,#46543a,#333f30);border:1px solid #6b7e514d;border-radius:14px}.studio-rail .club-opponent:hover{border-color:#c3df8d;background:linear-gradient(140deg,#516344,#3c4933)}.studio-rail .club-opponent .club-avatar{width:128px;height:128px;border-radius:22px;box-shadow:0 8px 22px #1118}.studio-rail .club-opponent strong{font-size:21px;letter-spacing:-.5px}.studio-rail .club-opponent small{font-size:11px;max-width:none;color:#c3d1b4;margin-top:6px}.studio-rail .club-profile{max-width:none;width:100%;padding:13px;border:1px solid #66775666;background:#333c2f;gap:12px}.studio-rail .club-profile .club-avatar{width:42px;height:42px;border-radius:12px}.studio-rail .club-profile strong{color:#e4edda;font-size:13px}.studio-rail .club-profile small{color:#bdcbb0;font-size:10px}.studio-quote{font:italic 12px/1.6 Georgia,serif;color:#b9c9a7;padding:11px 10px 16px;text-align:center}.studio-rail .captured-rail{border-top:1px solid #62704b44;padding-top:14px;gap:10px}
.capture-card,.capture-card[data-side=w]{background:#30392e;border:1px solid #52614866;border-radius:10px}.capture-card h2{color:#dae7ca;font-size:12px}.capture-caption,.capture-total,.capture-empty,.capture-key{color:#9daf92}.capture-advantage{color:#c9d9bc;font-size:14px}.capture-token{background:#444f3c}.capture-card[data-side=w] .capture-token{background:#c5d2b6}.capture-pieces{min-height:32px;grid-template-columns:repeat(5,1fr)}.capture-token img{height:27px}.capture-caption,.capture-total{margin-bottom:4px}.capture-key{font-size:9px}
.club-avatar,.player-icon.club-avatar{background-image:url('/games/chess/avatars-illustrated1037.png')!important;background-color:#414d3e;border-radius:12px;box-shadow:0 0 0 1px #beca9f33}.club-avatar.club-personal,.player-icon.club-avatar.club-personal{background-image:url('/games/chess/portrait-franklin1037.png')!important;background-size:cover!important;background-position:center!important}
.club-dialog{background:#2b332b;border:1px solid #647157;border-radius:16px}.club-dialog header{background:#293229f5;border-color:#5c694c55;padding:22px 28px}.club-dialog h2{font:750 29px/1.1 system-ui;letter-spacing:-.8px;color:#f2f5e8}.club-dialog p{color:#b7c5ac}.club-dialog header button{border-radius:10px;background:#394335;color:#d8e2cb}.club-content{padding:24px 28px}.club-intro{margin-bottom:20px}.club-counter{font-family:system-ui;font-weight:750;color:#c9e291}.club-counter small{font-size:9px;color:#b0c39b;letter-spacing:.8px}.club-filters button,.club-dialog .soft{border-radius:8px;background:#394334;border-color:#62705277;color:#d0dcc1}.club-filters button[aria-pressed=true]{background:#bcd87e;color:#24301e;border-color:#cde79b}.club-section h3{font-size:10px;letter-spacing:1.5px;color:#b6c8a0;margin-bottom:15px}.club-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.club-card{gap:5px;padding:8px 8px 13px;background:#343e30;border:1px solid #57654966;border-radius:12px;overflow:hidden}.club-card .club-avatar{width:100%;height:auto;aspect-ratio:1;border-radius:8px;margin-bottom:7px}.club-card strong{font:750 16px system-ui}.club-card .club-rating{color:#c9dda8;font-size:12px}.club-card small{font-size:10px;color:#99ad8c}.club-card[aria-pressed=true]{background:#445432;border-color:#bfdf81;box-shadow:0 0 0 1px #bfdf81}.club-stars{color:#e6ca70;font-size:15px;letter-spacing:3px}.club-stars .empty{color:#6e7e58}.club-play{background:#263123f7;border-color:#67774e;padding:16px 28px}.club-preview strong{font:750 20px system-ui;color:#e0edcb}.club-preview p{font-size:12px}.club-dialog select,.club-dialog input{background:#1f291f;border-color:#667956;color:#eef4e3}.club-dialog input:focus-visible{outline:2px solid #d3e59f;outline-offset:2px}.career-hero h3{font:750 26px system-ui;color:#e4eccd;letter-spacing:-.5px}.career-hero .club-avatar{border-radius:18px}.career-stat{background:#35412d;border-color:#62754b55;border-radius:9px}.career-stat strong{font:750 25px system-ui;color:#d9e6b4}.career-stat small{color:#b6c8a0}.career-progress{background:#4d603f}.career-progress span{background:#bfd67c}.career-feedback{color:#d6e8b3}.career-history h3{font:700 18px system-ui;color:#d0dfa7}.career-avatar-grid button{border-radius:12px}.career-avatar-grid button[aria-pressed=true]{border-color:#c8e18b}.career-avatar-grid .club-avatar{border-radius:9px}.club-dialog summary{color:#dce8c9}.club-confirm{background:#49472d;border-color:#acaa6a}.career-result{background:#637c3322;border-color:#879b5866}
.panel-dialog{background:#2a3429;border-color:#637650}.panel-dialog-header{background:#33402e;border-color:#647b4b55}.panel-dialog .pane.left{color:#dce8cb}.panel-dialog select{background:#202b21;border-color:#647f51;color:#e4ecd9}.panel-dialog .label{color:#b4c9a1}.moves{background:#222d23;border-color:#516645}.moves .m{color:#dbe6d1}.moves .a{color:#d2dfa2}.overlay{background:#10190fde}.overlay .card{background:#2e3a2a;border-color:#95ab68}.overlay h2{font:750 29px/1.2 system-ui;color:#e0edc1}.overlay .btn.sec{background:#404e35;border-color:#81965f;color:#e7efd9}.panel-dialog .ufa-sf{background:#20291e!important}.learning-dock .coach,.learning-dock .board-note{color:#b0c69a}.studio-mobile-label{display:none}
@media(max-height:820px) and (min-width:1051px){.studio-rail .club-opponent{padding:13px;gap:9px}.studio-rail .club-opponent .club-avatar{width:92px;height:92px}.studio-rail .club-opponent strong{font-size:18px}.studio-quote{padding:9px;font-size:11px}.studio-rail-heading h2{font-size:18px}.capture-card{padding:9px}.capture-key{display:none}.heading{padding:12px 2px}}
@media(max-width:1200px){.studio-nav{width:136px;padding:24px 10px}.studio-brand{font-size:19px;gap:6px}.studio-mark{width:30px;font-size:27px}.studio-nav button,.studio-nav a.studio-link{padding:10px;gap:8px;font-size:12px}.shell{width:calc(100% - 166px);margin-left:151px}.layout{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.studio-rail .club-opponent .club-avatar{width:100px;height:100px}.club-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px),(max-height:620px){.studio-nav{display:none}.shell{width:calc(100% - 32px);margin:auto}.layout{grid-template-columns:minmax(0,1fr) 190px;gap:14px}.studio-rail-heading,.studio-quote{display:none}.club-bar{padding:8px 0 12px}.club-opponent strong{font-size:14px}.club-profile{background:#384531;border-color:#6c805155}.club-opponent .club-avatar{width:44px;height:44px}.club-profile .club-avatar{width:36px;height:36px}.nav-actions>.chip:first-child{display:inline-flex}.heading{padding:12px 0}.heading h1{font-size:25px}.club-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){.shell{width:calc(100% - 16px);padding-bottom:14px}.titlebar{min-height:46px;border:0;display:flex;flex-wrap:wrap;gap:2px}.chess-install-row{width:100%!important;text-align:right;margin-top:1px!important}.chess-install-row #addHomeBtn{min-height:30px;font-size:9px;padding:3px 0}.nav-actions{width:100%;justify-content:space-between;gap:4px}.nav-actions .chip{padding:8px;min-height:42px;font-size:10px}.heading{display:none}.layout{display:block;padding-top:0;overflow:visible}.layout>.table-panel{padding:0;max-height:none;overflow:visible}.layout>.pane.right{display:none}.club-bar{gap:8px;padding:12px 0}.club-opponent{padding:0;gap:8px}.club-opponent .club-avatar{width:43px;height:43px;border-radius:11px}.club-opponent strong{font-size:13px}.club-opponent small{font-size:9px}.club-profile{border-radius:9px;padding:9px 8px;max-width:48%}.club-profile strong{font-size:10px}.club-profile small{font-size:9px}.club-profile .club-avatar{display:none}.table-heading{margin-bottom:7px}.status{font-size:12px}.player-strip{height:31px;min-height:31px}.player-icon.club-avatar{width:26px;height:26px;border-radius:8px}.player-name{font-size:11px}.board-wrap{margin:7px auto}.board{border-radius:4px}.board-actions{margin-top:9px;gap:7px}.board-actions button{font-size:11px;padding:8px;min-height:44px}.table-panel>.captured-rail{margin-top:16px;gap:8px}.capture-card{padding:9px;background:#30392e}.capture-advantage{font-size:12px}.club-dialog{width:calc(100% - 16px);border-radius:12px}.club-dialog header{padding:17px 18px}.club-dialog h2{font-size:25px}.club-content{padding:18px}.club-intro{align-items:start}.club-intro p{font-size:12px}.club-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.club-card{padding:8px 8px 12px}.club-card .club-avatar{width:100%;height:auto;aspect-ratio:1;border-radius:8px}.club-card strong{font-size:18px}.club-card small{font-size:11px}.club-play{padding:13px 18px}.club-preview strong{font-size:17px}.club-filters{gap:6px}.club-filters button{padding:9px;font-size:10px}.career-hero h3{font-size:23px}.career-stat strong{font-size:23px}.career-avatar-grid{gap:8px}.career-hero .club-avatar{width:66px;height:66px}.heading-badge{display:none}}
@media(max-height:520px) and (min-width:480px){.shell{width:calc(100% - 20px);height:100dvh}.heading{display:none}.titlebar{min-height:43px}.chess-install-row{display:none!important}.club-bar{padding:4px 0}.club-opponent .club-avatar{width:30px;height:30px}.club-opponent,.club-profile{min-height:38px;padding:4px}.club-profile .club-avatar{display:none}.club-profile small{display:none}.layout{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:12px}.layout>.table-panel{display:flex;flex-direction:column;grid-column:1;grid-row:1}.layout>.pane.right{display:block;grid-column:2;grid-row:1}.player-strip{height:20px;min-height:20px}.player-icon.club-avatar{width:19px;height:19px}.table-heading{margin:0}.board-wrap{margin:3px auto}.board-actions{margin-top:4px}.board-actions button{min-height:36px;font-size:10px;padding:4px}.captured-rail{gap:7px}}
@media(prefers-reduced-motion:reduce){button,.chip,.club-card{transition:none}}

/* Give desktop height to the board: status shares the toolbar. */
@media(min-width:1051px) and (min-height:621px){
 .heading{display:none}.titlebar{min-height:48px;margin-bottom:12px}.titlebar>.table-heading{margin:0;min-width:0}.titlebar>.table-heading .status{font-size:12px;color:#c3d2b4}.chess-install-row{display:none!important}.studio-nav .studio-install{font-size:11px;min-height:40px}.layout>.table-panel>.player-strip,.board-actions{width:var(--chess-board);align-self:center}.player-strip{height:30px;min-height:30px}.player-icon.club-avatar{width:27px;height:27px}.board-wrap{margin:8px auto}.board-actions{margin-top:9px}.studio-rail-heading{padding-top:8px}.studio-rail .club-opponent{padding:15px}.studio-rail .club-opponent .club-avatar{width:118px;height:118px}
}
@media(max-width:1050px),(max-height:620px){.studio-nav .studio-install{display:none}}

@media(max-width:1050px),(max-height:620px){.nav-actions #tableSettingsBtn,.nav-actions #learnDockBtn{display:inline-flex}}
