:root{--ink:#0b1211;--panel:#121d1a;--gold:#c6a773;--goldlight:#ead2a1;--cream:#f0e7d9;--muted:#b2baad;--line:rgba(198,167,115,.29);--line-soft:rgba(198,167,115,.14);--sans:'DM Sans',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--cream);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}::selection{background:var(--gold);color:var(--ink)}:focus-visible{outline:2px solid var(--goldlight);outline-offset:4px}button:focus-visible{outline-offset:3px}.page-width{width:min(calc(100% - 112px),var(--max));margin-inline:auto}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--goldlight);z-index:100;width:0;pointer-events:none}.announcement{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4%,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line-soft);background:#0b1412;color:var(--gold);font-size:9px;letter-spacing:.36em;text-align:center;text-transform:uppercase}.announcement-star{font-size:10px;letter-spacing:0}.site-header{position:relative;z-index:40;background:rgba(11,18,17,.97);border-bottom:1px solid var(--line);}.nav-wrap{height:91px;max-width:var(--max);width:min(calc(100% - 112px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:18px;min-width:0;flex-shrink:1}.brand-symbol{border:1px solid var(--gold);width:41px;height:41px;display:grid;place-items:center;transform:rotate(45deg);flex-shrink:0;position:relative}.brand-symbol:after{content:'';position:absolute;inset:4px;border:1px solid rgba(198,167,115,.47)}.brand-symbol span{transform:rotate(-45deg);font:33px/1 Georgia,serif;color:var(--gold);margin-top:-3px}.brand-type{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-type strong{font:500 17px/1.3 var(--serif);letter-spacing:.19em;white-space:nowrap;text-transform:uppercase}.brand-type small{font:500 9px/1.8 var(--sans);letter-spacing:.34em;color:var(--gold);text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:clamp(16px,2.2vw,37px);margin-left:auto}.nav-links a{font-size:10px;font-weight:600;letter-spacing:.15em;white-space:nowrap;color:#cdd1c8;transition:color .25s}.nav-links a:hover,.nav-links a.is-current{color:var(--goldlight)}.nav-cta{background:transparent;border:1px solid var(--gold);padding:13px 20px;color:var(--goldlight);white-space:nowrap;font-size:10px;font-weight:600;letter-spacing:.14em;transition:background .25s,color .25s,transform .25s}.nav-cta:hover{background:var(--gold);color:var(--ink);transform:translateY(-1px)}.nav-cta span{margin-left:12px}.menu-toggle,.mobile-nav-action{display:none}
.hero{min-height:clamp(630px,59vw,760px);position:relative;isolation:isolate;overflow:hidden;background:#101917}.hero-image{position:absolute;inset:0 0 0 28%;z-index:-3;background:url('assets/chess-lounge.webp') center 57%/cover no-repeat;transform:scale(1.035);animation:heroDrift 16s ease-out both}.hero-vignette{z-index:-2;position:absolute;inset:0;background:linear-gradient(90deg,#0b1211 3%,rgba(11,18,17,.97) 26%,rgba(11,18,17,.72) 48%,rgba(11,18,17,.18) 79%,rgba(11,18,17,.1) 100%),linear-gradient(0deg,rgba(11,18,17,.84) 0,transparent 30%,transparent 75%,rgba(11,18,17,.1) 100%)}.hero-artline{position:absolute;z-index:-1;width:60%;height:120%;top:-20%;right:-25%;border-radius:50%;border:1px solid rgba(198,167,115,.22);transform:rotate(-21deg)}.hero-artline:after{content:'';position:absolute;inset:30px;border:1px solid rgba(198,167,115,.1);border-radius:50%}.hero-content{display:flex;flex-direction:column;justify-content:space-between;min-height:inherit;padding-top:clamp(110px,10vw,174px);padding-bottom:35px;position:relative}.hero-words{max-width:740px}.eyebrow,.overline{font-size:11px;letter-spacing:.26em;color:var(--gold);font-weight:600;text-transform:uppercase}.eyebrow{display:flex;gap:20px;align-items:center;margin:0}.eyebrow-line{height:1px;background:var(--gold);width:42px}.hero h1{font:400 clamp(80px,8.4vw,145px)/.77 var(--serif);letter-spacing:-.055em;margin:45px 0 40px;text-shadow:0 8px 42px #0004}.hero h1 span{display:block}.hero h1 em{display:block;font-weight:400;color:var(--goldlight);margin-top:12px;font-size:.78em}.hero-description{font-size:15px;line-height:1.95;color:#d7dacf;max-width:455px;margin:0}.hero-buttons{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:40px}.button{appearance:none;min-height:54px;padding:0 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:10px;letter-spacing:.17em;font-weight:700;text-transform:uppercase;white-space:nowrap;transition:transform .28s,background .28s,border-color .28s,color .28s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);border:1px solid var(--gold);color:#0b1211}.button-gold:hover{background:var(--goldlight);border-color:var(--goldlight)}.button-line{border:1px solid transparent;border-bottom-color:var(--gold);padding-left:0;padding-right:0;color:var(--cream)}.button-line:hover{color:var(--goldlight)}.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--goldlight);font-size:9px;letter-spacing:.2em;font-weight:500}.hero-foot-rule{display:inline-block;width:36px;height:1px;vertical-align:middle;background:var(--gold);margin:0 11px}.qualities{background:#111b19;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line)}.qualities-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:27px}.qualities span{font:500 clamp(16px,1.6vw,22px)/1 var(--serif);letter-spacing:.18em}.qualities i{font-size:14px;font-style:normal;color:var(--gold)}
.play-section{position:relative;padding:134px 0 125px;background:radial-gradient(ellipse at 3% 50%,rgba(30,49,40,.36),transparent 55%),radial-gradient(ellipse at 90% 5%,rgba(137,105,57,.08),transparent 52%),#0b1211;overflow:hidden}.play-section:before{content:'';position:absolute;width:840px;height:840px;right:-440px;top:180px;opacity:.08;background:repeating-conic-gradient(from 18deg,transparent 0 12deg,var(--gold) 12deg 12.3deg,transparent 12.3deg 24deg);pointer-events:none}.section-heading-block{display:flex;justify-content:space-between;align-items:end;gap:90px;margin-bottom:57px}.overline .slash{opacity:.45;padding:0 7px}.section-heading-block h2,.center-intro h2,.philosophy-copy h2,.cta-inner h2{font:400 clamp(63px,6vw,93px)/.93 var(--serif);letter-spacing:-.032em;margin:21px 0 0}.section-heading-block h2 em,.center-intro h2 em,.philosophy-copy h2 em,.cta-inner h2 em{color:var(--goldlight);font-weight:400}.section-heading-block>p{max-width:315px;font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 2px}.play-layout{display:grid;grid-template-columns:minmax(0,1.26fr) minmax(355px,.82fr);gap:32px;align-items:stretch;position:relative}.board-frame{border:1px solid var(--gold);padding:10px;background:#111b18;position:relative;box-shadow:0 16px 70px rgba(0,0,0,.23)}.board-frame:before,.board-frame:after{content:'';position:absolute;pointer-events:none;width:25px;height:25px;z-index:2}.board-frame:before{left:-5px;top:-5px;border-top:2px solid var(--goldlight);border-left:2px solid var(--goldlight)}.board-frame:after{right:-5px;bottom:-5px;border-bottom:2px solid var(--goldlight);border-right:2px solid var(--goldlight)}.board-frame-top,.board-frame-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px;padding-inline:24px;font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--gold)}.board-frame-top{border:1px solid var(--line-soft);border-bottom:0}.board-live-label{font-size:9px;color:#adbaac}.status-light{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c0bc82;box-shadow:0 0 11px rgba(192,188,130,.55);margin-right:7px;vertical-align:middle}.frame-monogram{font-size:17px}.player-line{min-height:64px;padding:9px 25px;display:flex;gap:14px;align-items:center;background:#15221e;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}.player-avatar{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font:28px Georgia,serif;flex-shrink:0}.avatar-dark{color:var(--gold)}.avatar-light{background:#e3d7bb;color:#25332c}.player-line div:nth-child(2){display:flex;flex-direction:column;min-width:80px}.player-line strong{font-size:11px;letter-spacing:.15em;font-weight:700}.player-line small{font-size:9px;letter-spacing:.13em;color:#9ca99c}.captured-pieces{margin-left:auto;font:25px/1 Georgia,serif;letter-spacing:-.15em;display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;color:var(--goldlight)}.board-mat{background:#13201d;padding:10px;border:1px solid var(--line-soft);position:relative}.chess-board{position:relative;aspect-ratio:1;width:100%;touch-action:none;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));border:2px solid #b9a786;box-shadow:0 22px 40px rgba(0,0,0,.26);overflow:hidden;isolation:isolate;user-select:none}.square{position:relative;min-width:0;min-height:0;display:grid;place-items:center;padding:0;border:0;border-radius:0;touch-action:manipulation;isolation:isolate;transition:filter .18s}.square.light{background:#e4d9bf}.square.dark{background:#718378}.square:hover{filter:brightness(1.08)}.square.drag-target:after{background:rgba(226,186,98,.55)}.square.drag-origin .piece{opacity:.16}.square:focus-visible{z-index:4;outline:3px solid var(--goldlight);outline-offset:-3px}.square:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;transition:background .2s}.square.last:after{background:rgba(224,181,96,.31)}.square.selected:after{background:rgba(240,191,99,.47)}.square.in-check:after{background:rgba(166,44,35,.44)}.piece{position:relative;z-index:2;display:grid;place-items:center;width:100%;height:100%;font-family:'Noto Sans Symbols 2','DejaVu Sans','Segoe UI Symbol','Apple Symbols',serif;font-size:clamp(38px,5.2vw,80px);line-height:1;pointer-events:none;user-select:none;transition:transform .18s ease;filter:drop-shadow(0 3px 1px rgba(12,19,13,.17))}.square:hover .piece{transform:scale(1.055)}.piece.white{color:#fdf7e9;-webkit-text-stroke:.65px #3e4540;text-shadow:0 1px 1px #28322d,0 2px 2px #25332c}.piece.black{color:#192622;-webkit-text-stroke:.3px #111c1a;text-shadow:0 1px 1px rgba(233,230,215,.72)}.legal-dot{width:27%;height:27%;border-radius:50%;background:rgba(12,34,28,.33);position:absolute;z-index:1;pointer-events:none;animation:legalAppear .18s ease both}.legal-capture{inset:6%;border:5px solid rgba(18,57,42,.36);border-radius:50%;position:absolute;z-index:1;pointer-events:none;animation:legalAppear .18s ease both}.square-coordinate{position:absolute;z-index:3;font:700 clamp(9px,.8vw,11px)/1 var(--sans);pointer-events:none;opacity:.7}.square-file{right:4px;bottom:3px}.square-rank{left:3px;top:3px}.square.light .square-coordinate{color:#526858}.square.dark .square-coordinate{color:#ede4cc}.bottom-player{border-bottom:1px solid var(--line-soft)}.board-frame-bottom{min-height:42px;border:1px solid var(--line-soft);border-top:0;font-size:9px;letter-spacing:.16em;color:#9eac9f}.game-console{background:linear-gradient(147deg,#17241f,#101917 65%);border:1px solid var(--line);padding:clamp(25px,3vw,42px);min-width:0;display:flex;flex-direction:column;box-shadow:0 16px 70px rgba(0,0,0,.15)}.console-overline{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:700}.live-tag{color:#bcc4b8;letter-spacing:.13em;white-space:nowrap}.console-overline .status-light{margin-right:5px}.game-console h3{font:400 clamp(56px,4.9vw,78px)/.91 var(--serif);margin:23px 0 14px;letter-spacing:-.033em}.game-console h3 em{color:var(--goldlight);font-weight:400}.console-intro{font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:350px}.console-divider{height:1px;background:var(--line);margin:24px 0}.console-label,.move-ledger-header{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:600}.mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:15px 0 23px}.mode-btn{min-height:64px;padding:10px 5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:rgba(9,18,15,.5);border:1px solid var(--line);color:#c6ccc2;font:600 9px/1.3 var(--sans);letter-spacing:.08em;transition:background .24s,color .24s,border-color .24s}.mode-btn span{font:24px/1 Georgia,serif;letter-spacing:0}.mode-btn.active{border-color:var(--gold);background:rgba(198,167,115,.13);color:var(--goldlight)}.mode-btn:hover{background:rgba(198,167,115,.2)}.game-state{min-height:90px;border:1px solid var(--line);background:rgba(2,11,8,.29);padding:17px 16px;display:flex;align-items:flex-start;gap:12px}.state-dot{flex-shrink:0;border:1px solid var(--gold);width:12px;height:12px;transform:rotate(45deg);margin:9px 4px 0 0}.game-state>div:nth-child(2){flex:1}.state-title{font:500 29px/1.12 var(--serif);color:var(--cream)}.state-description{font-size:11px;line-height:1.6;color:#a8b4a6;margin-top:5px}.state-counter{color:var(--gold);font:500 12px/2 var(--serif)}.game-details{display:flex;justify-content:space-between;gap:12px;padding:12px 0 21px;color:#a2b0a3;font-size:9px;letter-spacing:.11em;border-bottom:1px solid var(--line)}.game-details span:last-child{color:var(--gold)}.move-ledger-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:24px}.move-ledger-header span:last-child{color:#93a092;font-weight:400}.move-ledger{margin-top:13px;min-height:100px;max-height:170px;overflow-y:auto;scrollbar-color:var(--gold) #17241f;scrollbar-width:thin;border:1px solid var(--line-soft);background:#101a17}.empty-ledger{height:99px;display:flex;align-items:center;justify-content:space-between;padding:19px;color:#8e9d90;font-family:var(--serif);font-size:24px;font-style:italic}.empty-ledger span{font-family:var(--sans);font-size:11px;font-style:normal;color:#6f8172}.move-row{display:grid;grid-template-columns:46px 1fr 1fr;border-bottom:1px solid var(--line-soft);min-height:39px;align-items:stretch;color:#d1d5c9;font-size:12px}.move-row:last-child{border-bottom:0}.move-number{display:grid;place-items:center;font-size:10px;color:var(--gold);background:rgba(198,167,115,.06)}.move-san{display:flex;align-items:center;padding-left:17px}.move-san.current{background:rgba(198,167,115,.15);color:var(--goldlight)}.game-actions{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:8px;margin-top:22px}.game-actions .button{min-height:44px;padding:0 13px;font-size:9px;gap:8px;justify-content:center}.action-primary{background:var(--gold);color:var(--ink);border:1px solid var(--gold)}.action-primary:hover{background:var(--goldlight)}.action-secondary{border:1px solid var(--line);color:var(--cream);background:transparent}.action-secondary:hover{border-color:var(--gold);background:rgba(198,167,115,.09)}.share-fen{margin-top:16px;background:transparent;border:0;color:var(--gold);font-size:10px;letter-spacing:.16em;padding:5px 0;text-align:left;font-weight:600}.share-fen span{padding-left:8px}.share-fen:hover{text-decoration:underline}.board-disclaimer{margin:13px 0 0;color:#9aab9d;font-size:10px;line-height:1.65}.board-bottomline{text-align:center;margin:40px 0 0;color:#8c9c8d;font-size:10px;letter-spacing:.23em}.board-bottomline span{color:var(--gold);padding-inline:19px}
.method-section{background:#121d1a;padding:130px 0 145px;border-block:1px solid var(--line-soft)}.center-intro{text-align:center;max-width:850px;margin:0 auto 70px}.center-intro h2{margin-top:24px}.center-intro>p{font-size:14px;line-height:2;color:var(--muted);max-width:540px;margin:26px auto 0}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.method-card{padding:35px 38px 30px;min-height:346px;position:relative;background:#12201b;display:flex;flex-direction:column;transition:background .3s}.method-card+ .method-card{border-left:1px solid var(--line)}.method-card:hover{background:#1a2a23}.method-card-top,.method-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.17em;color:var(--gold);font-weight:600}.method-card-top span:last-child{font-size:18px}.method-icon{font:58px/1 Georgia,serif;color:var(--goldlight);margin-top:36px}.method-card h3{font:500 37px/1.05 var(--serif);margin:23px 0 9px}.method-card p{font-size:13px;color:var(--muted);line-height:1.85;max-width:320px;margin:0 0 24px}.method-card-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line-soft)}
.philosophy-section{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:#0e1715}.philosophy-image{min-height:620px;position:relative;background:linear-gradient(0deg,#0b1211ce,transparent 35%),url('assets/golden-knight.webp') center 47%/cover no-repeat}.philosophy-image:before{content:'';position:absolute;inset:25px;border:1px solid rgba(198,167,115,.48);pointer-events:none}.philosophy-image:after{content:'';position:absolute;left:25px;top:25px;width:34px;height:34px;border-top:2px solid var(--gold);border-left:2px solid var(--gold)}.photo-caption{position:absolute;bottom:43px;left:55px;font-size:10px;color:var(--goldlight);letter-spacing:.2em}.philosophy-copy{padding:clamp(65px,8vw,135px) clamp(45px,6.3vw,116px);display:flex;flex-direction:column;justify-content:center;max-width:780px}.philosophy-copy h2{font-size:clamp(70px,7.2vw,115px);margin-top:24px}.philosophy-copy>p{font-size:14px;line-height:2;color:var(--muted);max-width:500px;margin:30px 0 26px}.principles{max-width:500px}.principle{border-bottom:1px solid var(--line)}.principle:first-child{border-top:1px solid var(--line)}.principle-toggle{border:0;background:transparent;color:var(--cream);width:100%;display:flex;align-items:center;gap:16px;padding:20px 0;text-align:left;font-size:11px;letter-spacing:.14em;font-weight:600}.principle-toggle>span:first-child{font-family:var(--serif);font-size:18px;color:var(--gold)}.principle-sign{margin-left:auto;color:var(--gold);font-size:20px;font-weight:400}.principle-content{display:none;padding:0 25px 19px 38px;color:var(--muted);font-size:13px;line-height:1.7}.principle.open .principle-content{display:block}
.sessions-section{padding:134px 0 145px;background:#111b18}.sessions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.session-card{min-height:370px;border:1px solid var(--line);padding:34px 35px;display:flex;flex-direction:column;transition:background .28s,transform .28s,border-color .28s}.session-card:hover{background:rgba(198,167,115,.06);border-color:rgba(198,167,115,.65);transform:translateY(-4px)}.session-number{font-size:10px;letter-spacing:.18em;color:var(--gold)}.session-icon{font:60px/1 Georgia,serif;color:var(--goldlight);margin-top:32px}.session-card h3{font:500 42px/1 var(--serif);margin:20px 0 8px}.session-card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 23px;max-width:280px}.session-card button{margin-top:auto;text-align:left;padding:16px 0 0;display:flex;justify-content:space-between;gap:15px;border:0;border-top:1px solid var(--line);background:none;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.16em}.session-card button:hover{color:var(--goldlight)}
.cta-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#263427 0%,#0b1211 68%);padding:120px 0 130px;text-align:center;border-block:1px solid var(--line)}.cta-decoration{position:absolute;font:350px/1 Georgia,serif;top:-75px;right:5%;color:rgba(198,167,115,.055);pointer-events:none}.cta-inner{position:relative}.cta-inner h2{font-size:clamp(65px,8vw,117px)}.cta-inner p{font-size:14px;color:var(--muted);line-height:1.9;margin:25px 0 33px}.cta-inner .button{min-width:225px}.site-footer{padding:55px 0 24px;background:#0b1211}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-bottom:45px}.footer-brand a{font:500 31px/1 var(--serif);letter-spacing:.15em}.footer-brand p{font-size:10px;letter-spacing:.31em;color:var(--gold);margin:14px 0 0}.footer-right{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.footer-right a,.footer-right button{font:600 10px var(--sans);letter-spacing:.1em;background:transparent;border:0;color:#c6cec2;white-space:nowrap;padding:0}.footer-right a:hover,.footer-right button:hover{color:var(--gold)}.footer-bottom{border-top:1px solid var(--line-soft);padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.12em;color:#829185}
.modal-backdrop{position:fixed;inset:0;background:rgba(1,6,4,.82);z-index:90;display:grid;place-items:center;padding:22px;backdrop-filter:blur(6px)}.modal-backdrop[hidden]{display:none!important}.modal,.promotion-dialog{position:relative;background:#14211c;border:1px solid var(--gold);max-height:calc(100dvh - 44px);overflow:auto;width:min(100%,500px);padding:44px;box-shadow:0 22px 90px #000b}.modal:before,.promotion-dialog:before{content:'';position:absolute;inset:8px;border:1px solid var(--line-soft);pointer-events:none}.modal-close{position:absolute;right:19px;top:8px;background:none;border:0;color:var(--gold);font-size:34px}.modal h2,.promotion-dialog h2{font:400 63px/.96 var(--serif);margin:18px 0}.modal h2 em{color:var(--goldlight)}.modal>p{font-size:13px;color:var(--muted);line-height:1.9}.modal form{display:flex;flex-direction:column;gap:9px;margin-top:22px}.modal label{font-size:10px;letter-spacing:.15em;color:var(--gold);font-weight:600}.modal input,.modal select{height:46px;width:100%;background:#0b1411;color:var(--cream);border:1px solid var(--line);padding:0 12px;border-radius:0;margin-bottom:12px;font-size:13px}.modal input:focus,.modal select:focus{border-color:var(--gold);outline:0}.modal form .button{margin-top:7px}.form-note{font-size:11px;color:#9aa99c;line-height:1.6}.form-confirm{margin-top:28px;padding:18px;border:1px solid var(--line);font-size:13px;color:var(--cream)}.form-confirm[hidden]{display:none}.promotion-dialog{text-align:center;width:min(100%,390px);padding:32px}.promotion-dialog h2{font-size:45px}.promotion-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:27px 0 20px}.promotion-option{border:1px solid var(--line);background:#e4d9bf;color:#17231f;min-height:71px;font:48px/1 'Noto Sans Symbols 2','DejaVu Sans',serif;transition:transform .2s}.promotion-option:hover{transform:translateY(-4px);border-color:var(--gold)}.promotion-cancel{color:var(--gold);border:0;background:transparent;font-size:10px;letter-spacing:.18em;padding:10px 20px}
.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(27px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes heroDrift{from{transform:scale(1.10)}to{transform:scale(1.035)}}@keyframes legalAppear{from{transform:scale(.1);opacity:0}to{transform:scale(1);opacity:1}}@keyframes winGlow{from{box-shadow:0 0 0 rgba(198,167,115,.1)}to{box-shadow:0 0 30px rgba(198,167,115,.5)}}.game-state.won{animation:winGlow .7s ease-in-out alternate 3}.piece-drag{z-index:201;pointer-events:none;display:grid;place-items:center;filter:drop-shadow(0 10px 8px #0007);will-change:left,top}.brand.long-name .brand-type strong{font-size:13px;letter-spacing:.08em}.piece-flight,.piece-drag{position:fixed;z-index:200;pointer-events:none;margin:0;display:grid;place-items:center;line-height:1;will-change:transform;filter:drop-shadow(0 4px 2px rgba(0,0,0,.3))}
@media(max-width:1200px){.page-width,.nav-wrap{width:min(calc(100% - 72px),var(--max))}.nav-links{gap:18px}.nav-links a{font-size:9px}.nav-cta{padding:12px 14px}.brand-type strong{font-size:15px;letter-spacing:.12em}.board-frame-top,.board-frame-bottom{padding-inline:14px}.player-line{padding-inline:17px}.game-console{padding:26px}.section-heading-block{gap:45px}.piece{font-size:clamp(32px,4.5vw,55px)}}
@media(max-width:990px){.site-header{position:sticky;top:0}.nav-wrap{height:75px}.nav-links{position:absolute;left:0;right:0;top:75px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#121e19;border-bottom:1px solid var(--gold);padding:14px 36px 28px;box-shadow:0 26px 40px #0006}.nav-links.open{display:flex}.nav-links a{font-size:12px;padding:15px 0;border-bottom:1px solid var(--line-soft)}.mobile-nav-action{display:block;margin-top:17px;background:var(--gold);color:#0b1211;border:0;padding:15px;font-size:10px;letter-spacing:.15em;font-weight:700}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;flex-shrink:0;width:39px;height:39px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:18px;height:1px;background:var(--gold)}.menu-toggle.open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:last-child{transform:translateY(-6px) rotate(-45deg)}.nav-cta{margin-left:auto}.play-layout{grid-template-columns:minmax(0,1fr)}.board-frame{width:min(100%,680px);margin:auto}.game-console{width:min(100%,680px);margin:auto;min-height:0;padding:34px}.game-console h3{font-size:72px}.piece{font-size:clamp(30px,7vw,63px)}.mode-btn{min-height:61px}.method-grid{grid-template-columns:1fr}.method-card{min-height:0;padding:27px 35px}.method-card + .method-card{border-left:0;border-top:1px solid var(--line)}.method-icon{margin-top:10px;font-size:44px}.method-card h3{margin-top:12px}.method-card p{max-width:600px}.philosophy-copy{padding:65px 45px}.philosophy-copy h2{font-size:75px}.sessions-grid{gap:12px}.session-card{padding:25px 20px}.session-card h3{font-size:35px}.footer-right{gap:17px}.hero h1{font-size:clamp(85px,9vw,116px)}}
@media(max-width:680px){.page-width,.nav-wrap{width:calc(100% - 38px)}.announcement{padding:0 19px;letter-spacing:.17em;font-size:8px}.nav-wrap{height:70px;gap:11px}.site-header{top:0}.nav-links{top:70px;padding-inline:20px}.nav-cta{display:none}.brand-symbol{height:34px;width:34px}.brand-symbol span{font-size:27px}.brand{gap:12px}.brand-type strong{font-size:13px;letter-spacing:.1em}.brand-type small{font-size:8px}.piece-drag{z-index:201;pointer-events:none;display:grid;place-items:center;filter:drop-shadow(0 10px 8px #0007);will-change:left,top}.brand.long-name .brand-type strong{font-size:11px;letter-spacing:.02em}.hero{min-height:655px}.hero-image{inset:0;background-position:52% center;opacity:.75}.hero-vignette{background:linear-gradient(90deg,rgba(11,18,17,.91),rgba(11,18,17,.55)),linear-gradient(0deg,#0b1211 0,transparent 43%,rgba(11,18,17,.06))}.hero-content{padding-top:100px;padding-bottom:25px}.hero h1{font-size:clamp(72px,13.8vw,104px);margin:44px 0 32px;line-height:.82}.hero-description{max-width:370px;font-size:13px}.eyebrow,.overline{font-size:9px;letter-spacing:.18em}.hero-buttons{gap:10px;margin-top:29px}.hero-buttons .button{min-height:48px;padding-inline:17px;font-size:9px;gap:13px}.hero-buttons .button-line{padding-inline:0}.hero-foot{font-size:8px;letter-spacing:.12em}.hero-foot span:first-child{max-width:155px}.qualities-inner{gap:8px;flex-wrap:wrap;justify-content:center;padding-block:18px}.qualities span{font-size:13px}.qualities i{font-size:10px}.play-section{padding:88px 0 90px}.section-heading-block{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:32px}.section-heading-block h2{font-size:clamp(65px,11vw,86px)}.section-heading-block>p{font-size:13px}.board-frame{padding:5px}.board-frame-top,.board-frame-bottom{min-height:37px;padding-inline:9px;font-size:8px;letter-spacing:.1em}.player-line{min-height:57px;padding:7px 9px;gap:8px}.player-avatar{height:33px;width:33px;font-size:23px}.player-line strong{font-size:10px}.player-line small{font-size:8px}.player-line div:nth-child(2){min-width:69px}.captured-pieces{font-size:19px}.board-mat{padding:5px}.piece{font-size:clamp(28px,8vw,51px)}.square-coordinate{font-size:8px}.square-file{right:2px;bottom:2px}.square-rank{left:2px;top:2px}.game-console{padding:24px 19px}.game-console h3{font-size:66px}.board-bottomline{font-size:8px;line-height:2}.board-bottomline span{padding-inline:9px}.method-section{padding:87px 0}.center-intro{margin-bottom:37px}.center-intro h2{font-size:clamp(62px,10.5vw,85px)}.center-intro>p{font-size:13px;line-height:1.8}.method-card{padding:26px}.philosophy-section{grid-template-columns:1fr}.philosophy-image{min-height:450px}.philosophy-copy{padding:84px 25px}.philosophy-copy h2{font-size:clamp(78px,12vw,105px)}.philosophy-copy>p{font-size:13px}.sessions-section{padding:86px 0}.sessions-grid{grid-template-columns:1fr;gap:12px}.session-card{min-height:275px;padding:25px}.session-icon{margin-top:19px;font-size:49px}.session-card h3{font-size:40px}.cta-section{padding:95px 0}.cta-inner h2{font-size:clamp(70px,12vw,100px)}.footer-main{flex-direction:column;align-items:flex-start;padding-bottom:31px}.footer-right{row-gap:12px}.footer-bottom{flex-direction:column;gap:10px;line-height:1.7}.modal{padding:30px 25px}.modal h2{font-size:53px}}
@media(max-width:390px){.announcement{font-size:7px}.hero h1{font-size:71px}.hero-buttons{align-items:flex-start;flex-direction:column}.hero-buttons .button-line{min-height:40px}.hero-foot>span:first-child{display:none}.hero-foot{justify-content:flex-end}.qualities span{font-size:11px}.mode-btn{font-size:8px}.game-actions .button{font-size:8px;padding:0 8px}.board-frame-bottom>span:last-child{display:none}.game-state{padding:14px 10px}.state-title{font-size:26px}.piece{font-size:clamp(25px,8vw,33px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal,.js-motion .reveal{opacity:1;transform:none}}

#booking-form[hidden]{display:none!important}

/* Local WebAssembly Stockfish controls. Hidden outside computer mode. */
.engine-controls[hidden]{display:none!important}
.engine-controls{border:1px solid var(--line);background:rgba(8,17,14,.54);padding:17px 17px 12px;margin:-5px 0 20px;animation:engineIn .25s ease-out}
.engine-control-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}
.engine-control-header label,.engine-indicator{font:700 9px/1.4 var(--sans);letter-spacing:.13em;color:var(--gold)}
.engine-indicator{color:#a8b6a8;font-weight:500;text-align:right;letter-spacing:.06em}
.engine-indicator.ready{color:#c3c897}
.engine-indicator.error{color:#e0ac91}
#engine-difficulty{display:block;width:100%;min-height:42px;padding:0 33px 0 13px;background:#15251e;color:var(--cream);border:1px solid #72684e;border-radius:0;font:600 11px/1.4 var(--sans);letter-spacing:.07em;cursor:pointer;color-scheme:dark}
#engine-difficulty:focus-visible{outline:2px solid var(--goldlight);outline-offset:3px}
#engine-difficulty:disabled{opacity:.6;cursor:wait}
.engine-subtitle{margin:11px 0 0;font:400 10px/1.6 var(--sans);color:#a8b6a8}
@keyframes engineIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.engine-controls{padding:14px}.engine-control-header{align-items:flex-start}.engine-control-header label,.engine-indicator{font-size:8px}}
@media(prefers-reduced-motion:reduce){.engine-controls{animation:none}}

/* Stockfish Pro: fine-grained opponent settings and dedicated analysis studio. */
.engine-controls{padding:clamp(16px,2.2vw,25px);margin:0 0 22px;background:linear-gradient(144deg,#17251f,#0a1511);border:1px solid rgba(198,167,115,.42)}
.engine-controls [hidden],.engine-troubleshooting[hidden],.evaluation-strip[hidden]{display:none!important}
.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.mode-btn{min-width:0;padding-inline:8px}
.engine-control-header{padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:20px;align-items:center}
.engine-kicker{color:var(--gold);font:700 10px/1.5 var(--sans);letter-spacing:.15em}
.engine-indicator{letter-spacing:.08em}
.engine-input-top{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin:18px 0 13px}
.engine-input-top label,.engine-field-pair label,.analysis-heading,.fen-entry>label{font:700 10px/1.5 var(--sans);color:var(--gold);letter-spacing:.14em}
.engine-input-top output{color:var(--cream);font:500 21px/1 var(--serif)}
.gold-slider{width:100%;accent-color:var(--gold);height:7px;cursor:pointer;display:block}
.slider-labels{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:#a3b2a4;font:600 9px/1.5 var(--sans);letter-spacing:.07em}
.engine-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 10px}
.engine-field-pair label{display:flex;flex-direction:column;gap:8px;min-width:0}
.engine-field-pair input,.engine-field-pair select,.fen-entry textarea{width:100%;min-width:0;min-height:42px;padding:11px 12px;background:#0a1411;color:var(--cream);border:1px solid rgba(198,167,115,.45);border-radius:0;outline-offset:3px;font:500 14px/1.4 var(--sans);color-scheme:dark}
.engine-field-pair input:focus,.engine-field-pair select:focus,.fen-entry textarea:focus{border-color:var(--goldlight);outline:1px solid var(--goldlight)}
.engine-subtitle{font:400 12px/1.65 var(--sans);letter-spacing:normal;color:#bbc2b7}
.engine-footer{margin:24px 0 0;padding-top:14px;border-top:1px solid var(--line-soft);color:#abbcac;letter-spacing:.08em;font:600 9px/1.6 var(--sans)}
.analysis-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:16px 0;border-block:1px solid var(--line-soft)}
.analysis-summary>div{display:flex;flex-direction:column;gap:7px}.analysis-summary small{font:700 9px/1.5 var(--sans);letter-spacing:.15em;color:var(--gold)}
.analysis-summary strong{font:400 34px/1 var(--serif);color:var(--cream)}
.analysis-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0 12px}.analysis-heading span{font-size:9px;color:#aab5ab}
.analysis-lines{min-height:127px;display:flex;flex-direction:column;gap:7px}
.analysis-line{display:grid;grid-template-columns:27px minmax(0,1fr) 55px;align-items:center;gap:7px;border:1px solid var(--line-soft);padding:11px 9px;min-height:40px;background:rgba(255,255,255,.025)}
.analysis-rank{font:600 10px/1 var(--sans);color:var(--gold)}
.analysis-variation{font:500 12px/1.6 var(--sans);color:var(--cream);word-break:break-word}
.analysis-score{font:600 12px/1 var(--sans);color:var(--goldlight);text-align:right}
.analysis-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:14px 0 20px}
.analysis-button,.engine-troubleshooting button{padding:11px 13px;background:transparent;border:1px solid var(--line);color:var(--goldlight);font:700 10px/1.4 var(--sans);letter-spacing:.1em;transition:background .2s,border-color .2s}
.analysis-button:hover,.engine-troubleshooting button:hover{background:rgba(198,167,115,.14);border-color:var(--gold)}
.arrow-toggle{display:flex;align-items:center;gap:8px;color:var(--cream);font:600 10px/1.4 var(--sans);letter-spacing:.04em;cursor:pointer}
.arrow-toggle input{accent-color:var(--gold)}
.fen-entry{border-top:1px solid var(--line-soft);padding-top:19px;display:flex;flex-direction:column;gap:10px}
.fen-entry textarea{resize:vertical;font-size:12px;min-height:58px}
.fen-entry .analysis-button{align-self:flex-start}
.fen-error{font:500 12px/1.5 var(--sans);color:#f0bca1;margin:0}
.engine-troubleshooting{margin-top:15px;padding:14px;border:1px solid #b68265;color:#ebc9b5;font:400 12px/1.6 var(--sans);word-break:break-word}
.engine-troubleshooting code{font-size:11px}
.engine-troubleshooting button{margin-top:8px}
.board-mat:has(.evaluation-strip:not([hidden])){display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:stretch}
.evaluation-strip{position:relative;min-height:0;width:100%;border:1px solid rgba(198,167,115,.55);background:#15201c;overflow:hidden}
.eval-white{position:absolute;bottom:0;left:0;right:0;background:#e8dbc0;height:50%;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.eval-black{position:absolute;inset:0;background:#15201c}
.engine-arrow{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;z-index:4;overflow:visible;filter:drop-shadow(0 2px 3px #0009)}
@media(max-width:680px){.engine-controls{padding:15px}.engine-input-top output{font-size:20px}.analysis-line{grid-template-columns:23px minmax(0,1fr) 47px}.board-mat:has(.evaluation-strip:not([hidden])){grid-template-columns:12px minmax(0,1fr);gap:5px}}
@media(prefers-reduced-motion:reduce){.eval-white{transition:none}}

.engine-troubleshooting a {color:var(--gold, #c9a66d);text-decoration:underline;text-underline-offset:3px}.engine-troubleshooting strong{letter-spacing:.1em}.engine-troubleshooting #engine-error-detail{color:#e6b7a1;overflow-wrap:anywhere}

/* The 47 · source-faithful monogram. Mask uses --goldlight for rebrandable colours. */
.brand-mark,.footer-mark{display:inline-block;flex:none;background:var(--goldlight);-webkit-mask:url("assets/logo-mark.svg") center/contain no-repeat;mask:url("assets/logo-mark.svg") center/contain no-repeat}
.brand-mark{width:51px;height:51px;transition:transform .32s ease,background .2s ease}
.brand:hover .brand-mark{transform:translateY(-2px);background:var(--gold)}
.footer-brand-link{display:inline-flex;align-items:center;gap:14px}
.footer-mark{width:42px;height:42px}
.form-note a{color:var(--goldlight);text-decoration:underline;text-underline-offset:3px}
.footer-bottom a:hover{color:var(--goldlight)}
@media(max-width:990px){.brand-mark{width:43px;height:43px}}
@media(max-width:680px){.brand-mark{width:39px;height:39px}.footer-mark{width:33px;height:33px}.footer-brand-link{gap:10px}.footer-brand-link span[data-site-name]{font-size:clamp(19px,5vw,31px)}}
/* Legal pages */
.legal-page .site-header{position:sticky;top:0}
.legal-topbar{height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.legal-header-inner{width:min(calc(100% - 80px),1050px);min-height:86px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}
.legal-logo{display:inline-flex;gap:15px;align-items:center;min-width:0}
.legal-logo .brand-mark{width:47px;height:47px}
.legal-logo strong{font:500 clamp(17px,2.3vw,24px)/1.2 var(--serif);letter-spacing:.12em;text-transform:uppercase}
.legal-header-actions{display:flex;align-items:center;gap:22px}
.legal-header-actions a{font:700 10px/1.4 var(--sans);letter-spacing:.12em;color:var(--goldlight);white-space:nowrap}
.legal-header-actions a:hover{color:var(--cream)}
.legal-container{max-width:1050px;margin:0 auto;padding:clamp(68px,8vw,120px) 40px 108px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(30px,6vw,100px)}
.legal-main{min-width:0}
.legal-eyebrow{display:flex;align-items:center;gap:14px;font:700 10px/1.3 var(--sans);letter-spacing:.24em;color:var(--gold);text-transform:uppercase}
.legal-eyebrow:before{content:'';width:38px;height:1px;background:var(--gold)}
.legal-title{font:400 clamp(64px,8vw,110px)/.9 var(--serif);letter-spacing:-.045em;margin:32px 0 30px}
.legal-title em{display:block;font-weight:400;color:var(--goldlight)}
.legal-intro{font:400 clamp(17px,2vw,21px)/1.65 var(--serif);color:#e5e7d9;max-width:700px;margin:0 0 36px}
.legal-meta{display:flex;gap:17px;align-items:center;font:700 10px/1.6 var(--sans);letter-spacing:.14em;color:#bdc6b9;text-transform:uppercase;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:52px;flex-wrap:wrap}
.legal-main h2{font:500 clamp(30px,3.6vw,43px)/1.13 var(--serif);margin:52px 0 18px;color:var(--cream);letter-spacing:-.015em}
.legal-main p,.legal-main li{font:400 14px/1.9 var(--sans);color:#c2cbbf}
.legal-main p{margin:0 0 18px}.legal-main ul{padding-left:21px;margin:0 0 22px}.legal-main li{margin:10px 0}
.legal-main strong{color:var(--cream);font-weight:600}
.legal-main a{color:var(--goldlight);text-decoration:underline;text-underline-offset:4px}
.legal-main a:hover{color:#fff}
.legal-aside{align-self:start;position:sticky;top:135px;padding:27px 25px 29px;border:1px solid var(--line);background:linear-gradient(155deg,rgba(25,43,34,.93),rgba(8,16,13,.8))}
.legal-aside .aside-title{font:700 10px/1.4 var(--sans);color:var(--gold);letter-spacing:.2em;margin:0 0 16px}
.legal-aside a{display:block;border-top:1px solid var(--line-soft);padding:11px 0;font:600 12px/1.5 var(--sans);color:#c5ccbd}
.legal-aside a:hover{color:var(--goldlight)}
.legal-contact{padding:22px 26px;border-left:2px solid var(--gold);background:rgba(198,167,115,.075);margin-top:22px}
.legal-contact p{margin:0 0 7px;overflow-wrap:anywhere}.legal-contact p:last-child{margin-bottom:0}
.legal-not-ready{border:1px solid rgba(213,151,111,.6);background:rgba(120,56,38,.11);color:#f0c7aa;padding:17px 20px;font:500 13px/1.7 var(--sans);margin:22px 0 26px}
.legal-not-ready[hidden]{display:none!important}
.legal-footer{border-top:1px solid var(--line);background:#0b1211;padding:35px 40px}
.legal-footer-inner{max-width:1050px;margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font:600 10px/1.8 var(--sans);letter-spacing:.1em;color:#acb8ab}
.legal-footer-inner nav{display:flex;gap:25px;flex-wrap:wrap}.legal-footer-inner a:hover{color:var(--goldlight)}
@media(max-width:830px){.legal-container{grid-template-columns:1fr}.legal-aside{position:static;order:-1;display:flex;flex-wrap:wrap;gap:7px 18px}.legal-aside .aside-title{width:100%}.legal-aside a{border-top:0;padding:4px 0}.legal-header-inner{width:calc(100% - 36px)}.legal-container{padding:66px 24px 85px}}
@media(max-width:500px){.legal-header-inner{min-height:75px}.legal-logo{gap:7px}.legal-logo strong{font-size:16px}.legal-logo .brand-mark{width:38px;height:38px}.legal-header-actions{gap:12px}.legal-header-actions a{font-size:9px;letter-spacing:.06em}.legal-title{font-size:65px}.legal-intro{font-size:17px}}

/* Chess room v2: accessible controls and independently selectable presentation */
.opening-banner{border:1px solid var(--line);background:rgba(0,0,0,.12);padding:17px 19px;margin:0 0 24px;display:grid;gap:7px}.opening-banner>span,.opening-banner small{font:600 10px/1.6 var(--sans);letter-spacing:.15em;color:var(--gold)}.opening-banner strong{font:400 clamp(23px,2.2vw,31px)/1.1 var(--serif);color:var(--cream)}.opening-banner small{font-size:9px;color:var(--muted);letter-spacing:.1em}.board-personalize,.clock-controls,.engine-selector{border-top:1px solid var(--line);padding:20px 0}.board-personalize .engine-field-pair,.clock-controls .engine-field-pair{margin-top:13px}.board-personalize label,.clock-controls label,.engine-selector label{font:600 10px/1.6 var(--sans);letter-spacing:.1em;color:var(--gold)}.board-personalize select,.clock-controls select,.engine-selector select{margin-top:8px;width:100%;min-height:43px;padding:8px 10px;background:#101a17;color:var(--cream);border:1px solid var(--line);font:500 12px/1.3 var(--sans);letter-spacing:0}.engine-selector select{width:100%}.clock-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.clock-actions button,.study-actions button,.editor-actions button,.editor-palette button{background:rgba(198,167,115,.08);border:1px solid var(--line);color:var(--goldlight);font:600 10px/1.3 var(--sans);letter-spacing:.08em;min-height:39px;padding:9px 12px;cursor:pointer}.clock-actions button:hover,.study-actions button:hover,.editor-actions button:hover,.editor-palette button:hover{border-color:var(--gold)}.clock-actions small{font-size:10px;color:var(--muted)}.chess-clock{margin-left:10px;background:#0c1513;border:1px solid var(--line);min-width:93px;text-align:center;padding:7px 9px;font:600 22px/1.2 var(--sans);font-variant-numeric:tabular-nums;color:var(--cream);letter-spacing:0}.chess-clock.active{background:#d3ad70;color:#101a17}.chess-clock.low{background:#8d3b32;color:#fff}.chess-clock.disabled{opacity:.4}.player-line .captured-pieces{margin-left:auto;flex:1;min-width:0}.study-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.study-actions button{flex:1;min-width:135px;white-space:normal}.position-editor{padding:18px;margin-top:16px;border:1px solid var(--gold);background:#0e1815}.position-editor p{font-size:12px;line-height:1.65;color:var(--muted)}.editor-palette{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}.editor-palette button{padding:1px;min-width:0;min-height:45px;font:30px/1 Georgia,serif;letter-spacing:0}.editor-palette button.active{background:var(--gold);color:var(--ink)}.editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.editor-error{color:#f5b5a7!important}.chess-board{--sq-light:#e4d9bf;--sq-dark:#718378}.square.light{background:var(--sq-light)}.square.dark{background:var(--sq-dark)}.chess-board[data-theme="walnut"]{--sq-light:#f1ddbf;--sq-dark:#925d41}.chess-board[data-theme="slate"]{--sq-light:#e4e7e8;--sq-dark:#71848b}.chess-board[data-theme="midnight"]{--sq-light:#e0c797;--sq-dark:#333d4f}.chess-board[data-theme="classic"]{--sq-light:#f0edd5;--sq-dark:#699c76}.chess-board[data-pieces="modern"] .piece{font-family:'Segoe UI Symbol','DejaVu Sans',sans-serif;filter:none;text-shadow:0 1px 0 rgba(0,0,0,.4);font-weight:800}.chess-board[data-pieces="modern"] .piece.white{color:#fffefa;-webkit-text-stroke:1.4px #27302a}.chess-board[data-pieces="modern"] .piece.black{color:#141b19;-webkit-text-stroke:1px #f6edd7}.chess-board[data-pieces="outline"] .piece{font-family:Georgia,'Apple Symbols',serif;filter:none}.chess-board[data-pieces="outline"] .piece.white{color:#fff3ce;-webkit-text-stroke:1.5px #343f38;text-shadow:none}.chess-board[data-pieces="outline"] .piece.black{color:#162b25;-webkit-text-stroke:1.4px #e7dbc1;text-shadow:none}.square.premove-from:after,.square.premove-to:after{background:rgba(82,145,220,.46)!important}.square.editor-square:hover:after{background:rgba(198,167,115,.4)}.square,.piece{will-change:auto}.square .piece{transition:transform .12s ease}.board-mat:has(.editor-active){outline:1px solid var(--gold)}.engine-selector>.engine-subtitle{margin-top:8px}.analysis-engine-options>.engine-input-top{margin-top:14px}.player-line{overflow:hidden}@media(max-width:680px){.chess-clock{min-width:72px;font-size:16px;padding:6px}.captured-pieces{font-size:15px;gap:1px}.player-line{gap:5px}.editor-palette button{font-size:25px}.study-actions button{min-width:120px}.opening-banner strong{font-size:25px}}
\n.move-san.reviewable{cursor:pointer}.move-san.reviewable:hover{background:rgba(198,167,115,.12);color:var(--goldlight)}.study-actions button:disabled{opacity:.4;cursor:not-allowed}\n
/* 47 Chess Room v3: board-first interface, stable piece rendering */
.play-section{padding:62px 0 70px}.play-section .section-heading-block{margin-bottom:26px;gap:20px}.play-section .section-heading-block h2{font-size:clamp(46px,4.8vw,72px);margin-top:9px}.play-section .section-heading-block>p{max-width:360px;line-height:1.5}
.play-layout{grid-template-columns:minmax(0,1.14fr) minmax(325px,.86fr);gap:15px;align-items:start}.board-frame,.game-console{align-self:start}.board-frame{padding:5px}.board-frame-top{min-height:30px;padding-inline:12px}.board-frame-bottom{min-height:27px;padding-inline:10px}.player-line{min-height:48px;padding:5px 11px}.player-avatar{width:31px;height:31px;font-size:20px}.board-mat{padding:5px}.chess-board{box-shadow:0 9px 23px #0005;border-width:1px}
.game-console{padding:16px 17px;gap:0}.game-console h3{font-size:clamp(31px,3vw,46px);margin:7px 0 11px;line-height:1.05}.console-overline{font-size:9px}.opening-banner{padding:9px 11px;margin:0 0 12px;gap:3px}.opening-banner strong{font-size:clamp(20px,2.1vw,27px)}.opening-banner>span,.opening-banner small{font-size:9px}.game-console>.console-label{margin:0 0 6px}.mode-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 10px;gap:5px}.mode-btn{min-height:50px;font-size:9px;gap:2px}.mode-btn span{font-size:19px}.room-tabs{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);padding:4px 0 8px;margin-bottom:9px}.room-tabs::-webkit-scrollbar{display:none}.room-tab{font:700 10px/1.2 var(--sans);letter-spacing:.02em;white-space:nowrap;border:1px solid transparent;background:transparent;color:#b7bdb2;padding:10px 12px;min-height:38px;cursor:pointer}.room-tab.is-active{border-color:var(--gold);background:rgba(198,167,115,.12);color:var(--goldlight)}.room-tab:hover{color:var(--cream)}.room-tab-panel[hidden]{display:none!important}.room-tab-panel{min-height:170px}.room-hint{font-size:11px;line-height:1.55;color:var(--muted);margin:4px 0 10px}.room-tab-panel .move-ledger-header{margin-top:9px}.room-tab-panel .move-ledger{max-height:300px;min-height:170px}.room-tab-panel .game-details{padding:9px 0}.room-tab-panel .board-personalize,.room-tab-panel .clock-controls{border-top:0;padding:6px 0 12px}.room-tab-panel .engine-controls{padding:13px;margin:0;box-shadow:none}.room-tab-panel .study-actions{margin-top:5px}.room-tab-panel .board-disclaimer{margin-top:12px}.room-tab-panel .position-editor{padding:12px}.room-tab-panel .engine-input-top{margin-top:11px}.room-tab-panel .engine-selector{padding:13px 0}.room-tab-panel .analysis-summary{margin-top:12px}
.game-state{min-height:0;padding:10px 12px;align-items:center;margin:7px 0 0}.state-dot{height:9px;width:9px;margin:0 3px}.state-title{font-size:22px}.state-description{font-size:10px}.state-counter{font-size:11px}.board-quick-actions{display:flex;align-items:stretch;gap:5px;margin:7px 0 0;flex-wrap:wrap}.board-quick-actions>.game-actions{display:flex;gap:5px;margin:0;flex:1 1 auto}.board-quick-actions .button,.board-quick-button{border:1px solid var(--line);background:#19241f;color:#eddfc7;padding:9px 12px;min-height:38px;font:700 10px/1.2 var(--sans);letter-spacing:.035em;cursor:pointer;white-space:nowrap}.board-quick-actions .action-primary{background:var(--gold);color:#101a17;border-color:var(--gold)}.board-quick-actions .button{min-height:38px}.board-quick-actions button:hover{border-color:var(--goldlight)}.board-quick-button{flex:1 1 auto}.board-quick-button:focus-visible,.room-tab:focus-visible{outline:2px solid var(--goldlight);outline-offset:2px}
/* Hovering over a square must never remap or resize the symbol. */
.square{filter:none!important;transition:none!important}.square:hover{filter:none!important}.square:hover .piece{transform:none!important}.square .piece{transition:none!important;transform:none!important}.square:focus-visible{outline-offset:-3px}.square:hover:before{content:'';position:absolute;inset:0;z-index:1;box-shadow:inset 0 0 0 2px rgba(198,167,115,.38);pointer-events:none}
/* All solid themes use filled chess glyph silhouettes, including the White pieces. */
.chess-board[data-pieces="solid"] .piece,.chess-board[data-pieces="ivory"] .piece,.chess-board[data-pieces="onyx"] .piece{font-family:'DejaVu Sans','Segoe UI Symbol','Apple Symbols',sans-serif;font-weight:700;filter:drop-shadow(0 2px 1px #1117);text-shadow:none;line-height:1}
.chess-board[data-pieces="solid"] .piece.white,.chess-board[data-pieces="ivory"] .piece.white,.chess-board[data-pieces="onyx"] .piece.white{color:#fff7dc;-webkit-text-stroke:1.5px #263a32;paint-order:stroke fill}.chess-board[data-pieces="solid"] .piece.black,.chess-board[data-pieces="ivory"] .piece.black,.chess-board[data-pieces="onyx"] .piece.black{color:#122923;-webkit-text-stroke:.8px #b7ab8e;paint-order:stroke fill}
.chess-board[data-pieces="ivory"] .piece.white{color:#fff9eb;-webkit-text-stroke:1.7px #806b50}.chess-board[data-pieces="ivory"] .piece.black{color:#62432c;-webkit-text-stroke:.9px #e5c78d}
.chess-board[data-pieces="onyx"] .piece.white{color:#dfdfe2;-webkit-text-stroke:1.5px #525e70}.chess-board[data-pieces="onyx"] .piece.black{color:#121315;-webkit-text-stroke:1.3px #b1bbc2}
.assessment-workspace h4{font:500 38px/1 var(--serif);margin:10px 0;color:var(--cream)}.assessment-eyebrow{font:700 10px/1.5 var(--sans);color:var(--gold);letter-spacing:.14em}.assessment-copy,.assessment-message,.assessment-progress{color:#c2c8bd;font:400 12px/1.65 var(--sans)}.assessment-progress{color:var(--goldlight);font-weight:700;margin:13px 0}.assessment-message{min-height:40px}.assessment-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.assessment-actions button{background:var(--gold);border:1px solid var(--gold);padding:12px;color:#101917;cursor:pointer;font:700 10px var(--sans);letter-spacing:.06em}.assessment-actions button#assessment-stop{background:transparent;color:var(--gold)}.assessment-results{padding:14px;background:#19261e;border:1px solid var(--line)}.assessment-results strong{display:block;color:var(--goldlight);font:500 32px var(--serif)}
@media(max-width:1040px){.play-layout{grid-template-columns:minmax(0,1fr);max-width:740px;margin:auto}.game-console{padding:15px}.play-section .section-heading-block{max-width:740px;margin:0 auto 17px}.board-frame{width:100%}.room-tab-panel .move-ledger{max-height:200px}.board-quick-actions .button,.board-quick-button{font-size:11px}}
@media(max-width:680px){.play-section{padding:41px 0 50px}.play-section>.page-width{width:100%;max-width:none}.play-section .section-heading-block{padding:0 16px}.play-section .section-heading-block h2{font-size:clamp(42px,10vw,62px)}.play-layout{gap:8px}.board-frame{border-left:0;border-right:0;padding:3px}.board-frame-top{min-height:26px}.board-frame-bottom{display:none}.board-mat{padding:3px}.player-line{min-height:40px;padding:4px 7px}.player-avatar{width:28px;height:28px}.player-line strong{font-size:10px}.player-line small{font-size:8px}.chess-clock{min-width:72px;font-size:16px}.board-quick-actions{padding:0 4px;gap:4px}.board-quick-actions>.game-actions{width:100%;display:grid;grid-template-columns:1.25fr 1fr 1fr}.board-quick-actions .button,.board-quick-button{min-height:37px;font-size:10px;padding:6px 7px}.board-quick-button{flex:1 1 25%}.game-state{margin:5px 4px 0;padding:6px 9px}.state-title{font-size:20px}.game-console{border-left:0;border-right:0;padding:15px 13px}.game-console h3{font-size:38px}.mode-btn{font-size:8px;min-height:49px}.room-tabs{gap:0;justify-content:space-between}.room-tab{padding:9px 8px;flex:1 0 auto;font-size:10px}.opening-banner strong{font-size:24px}.piece{font-size:clamp(25px,10.3vw,52px)}.board-bottomline{padding:0 15px}}
@media(prefers-reduced-motion:reduce){.square:hover:before{box-shadow:none}}

/* Dedicated game room with board-first navigation */
.game-room-only .hero,.game-room-only .qualities,.game-room-only #method,.game-room-only #philosophy,.game-room-only #sessions,.game-room-only .cta-section{display:none!important}
.game-room-only .play-section{padding:20px 0 54px}.game-room-only .play-section .section-heading-block{margin-bottom:15px}.game-room-only .play-section .section-heading-block h2{font-size:clamp(34px,3vw,48px);margin:4px 0}.game-room-only .play-section .section-heading-block .overline{font-size:10px}.game-room-only .play-section .section-heading-block>p{max-width:400px}.game-room-only .board-bottomline{display:none}
@media(max-width:680px){.game-room-only .play-section{padding:12px 0 42px}.game-room-only .section-heading-block{margin-bottom:10px}.game-room-only .play-section .section-heading-block h2{font-size:38px}.game-room-only .play-section .section-heading-block>p{font-size:11px;line-height:1.3;margin-top:0}.game-room-only .page-width{width:100%}}

/* The 47 Chess Club v4 · A compact, board-first workspace */
.game-room-only .page-width{--max:1500px}
.game-room-only .play-layout{grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:stretch;gap:16px}
.game-room-only .board-frame{padding:8px}
.game-room-only .game-console{display:flex;flex-direction:column;gap:0;min-height:100%;padding:18px 20px 20px}
.game-room-only .game-console h3{font-size:clamp(32px,3vw,46px);margin:4px 0 10px}
.game-room-only .opening-banner{padding:11px 14px;gap:2px;margin:0 0 10px}
.game-room-only .opening-banner strong{font-size:clamp(20px,2vw,27px)}
.game-room-only .opening-banner>span,.game-room-only .opening-banner small{font-size:9px}
.game-room-only .console-label{margin:8px 0}
.game-room-only .mode-switch{margin:0 0 12px;gap:5px}
.game-room-only .mode-btn{min-height:58px;padding:7px 4px;font-size:9px}
.game-room-only .room-tabs{margin:3px 0 8px}
.game-room-only .room-tab{padding:10px 12px}
.game-room-only .room-tab-panel{min-height:0;flex:0 1 auto}
.game-room-only .room-hint{margin:3px 0 11px}
.game-room-only .game-details{margin:9px 0}
.game-room-only .move-ledger{max-height:180px;overflow:auto}
.game-room-only .board-mat{padding:6px}
.game-room-only .board-frame-top{min-height:34px;padding-inline:12px}
.game-room-only .player-line{min-height:51px;padding:5px 12px}
.game-room-only .player-avatar{width:34px;height:34px;font-size:24px}
.game-room-only .board-frame-bottom{min-height:28px;padding-inline:12px}
.game-room-only .section-heading-block{margin-bottom:10px}
.game-room-only .play-section{padding-bottom:28px}
.game-room-only .engine-controls{padding:10px 0}
.game-room-only .engine-selector,.game-room-only .board-personalize,.game-room-only .clock-controls{padding:11px 0}
.game-room-only .engine-troubleshooting{max-height:230px;overflow:auto;font-size:12px}
/* Persistent, optional live evaluation: visible even while settings are collapsed */
.live-card{border:1px solid rgba(198,167,115,.35);background:linear-gradient(145deg,rgba(198,167,115,.065),rgba(0,0,0,.08));padding:14px 15px;margin:0 0 11px}
.live-title-row,.live-toggle-row,.live-metrics{display:flex;align-items:center;justify-content:space-between;gap:12px}
.live-title-row h4{font:500 clamp(20px,2vw,27px)/1.2 var(--serif);margin:0;color:var(--cream)}
.live-engine-mark{font:700 9px/1.3 var(--sans);letter-spacing:.13em;color:var(--goldlight);white-space:nowrap}
.live-toggle-row{flex-wrap:wrap;justify-content:flex-start;gap:16px;margin:9px 0 10px}
.switch-label{display:inline-flex;align-items:center;gap:7px;font:600 11px/1.4 var(--sans);color:var(--cream);cursor:pointer}
.switch-label input{appearance:auto;width:16px;height:16px;accent-color:var(--gold);margin:0}
.live-metrics{display:grid;grid-template-columns:1fr 1.15fr;gap:6px 17px;border-top:1px solid var(--line-soft);padding:10px 0 4px}
.live-metrics>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.live-metrics span{font:700 9px/1.4 var(--sans);letter-spacing:.1em;color:var(--gold)}
.live-metrics strong{font:500 24px/1.15 var(--serif);color:var(--cream);overflow-wrap:anywhere}
.live-note{font:400 10px/1.5 var(--sans);color:#b9c2b4;margin:7px 0 0}
/* Use available desktop column height for an actionable offer */
.lesson-card{margin-top:auto;padding:17px 19px 19px;border:1px solid var(--line);border-left:2px solid var(--gold);background:radial-gradient(ellipse at 98% 2%,rgba(198,167,115,.13),transparent 65%),#101a16;display:grid;gap:8px}
.lesson-kicker{font:700 9px/1.4 var(--sans);letter-spacing:.17em;color:var(--goldlight)}
.lesson-card h4{font:500 clamp(27px,2.35vw,36px)/1.1 var(--serif);margin:0;color:var(--cream)}
.lesson-card p{font:400 12px/1.65 var(--sans);color:#ced2c7;max-width:440px;margin:0}
.lesson-card small{font:500 9px/1.5 var(--sans);color:#a9b4a6}
.lesson-book,.result-book{background:var(--gold);border:1px solid var(--gold);color:#15221e;padding:11px 15px;font:700 10px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:pointer;justify-self:start;transition:background .2s ease,transform .2s ease}
.lesson-book:hover,.result-book:hover{background:var(--goldlight);transform:translateY(-1px)}
.lesson-book span{margin-left:20px}
/* Position test versus an actual timed practice game */
.assessment-type-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}
.assessment-type{display:grid;gap:3px;text-align:left;padding:12px 11px;border:1px solid var(--line);background:#101b17;color:var(--cream);cursor:pointer}
.assessment-type.active{border-color:var(--gold);background:rgba(198,167,115,.11)}
.assessment-type strong{font:700 12px/1.3 var(--sans);color:var(--goldlight)}
.assessment-type small{font:500 10px/1.4 var(--sans);color:#b4c1b2}
.assessment-game-options{padding:9px 0}
.assessment-game-options label{display:flex;justify-content:space-between;color:var(--gold);font:700 10px/1.5 var(--sans);letter-spacing:.1em}
.assessment-game-options p{font:400 11px/1.6 var(--sans);color:var(--muted)}
.assessment-results .result-book{margin-top:7px}
/* The teaching section earns its space without empty oversized gaps */
.method-section{padding-top:75px!important;padding-bottom:78px!important}
.method-section .center-intro{margin-bottom:34px}
.method-section .center-intro h2{font-size:clamp(54px,5.5vw,75px);line-height:.95}
.method-section .center-intro p{margin-top:19px}
.method-card{min-height:0!important;padding-block:30px!important}
@media(max-width:1080px){
 .game-room-only .play-layout{grid-template-columns:minmax(0,1fr);max-width:760px;margin:auto;gap:10px}
 .game-room-only .game-console{min-height:0;padding:15px 17px;gap:0}
 .lesson-card{margin-top:14px}
}
@media(max-width:680px){
 .game-room-only .play-section{padding:10px 0 35px}
 .game-room-only .game-console{padding:12px 12px 16px}
 .game-room-only .game-console h3{font-size:32px}
 .game-room-only .opening-banner{padding:10px 12px}
 .live-card{padding:12px 13px;margin-bottom:10px}
 .live-title-row h4{font-size:23px}
 .live-metrics strong{font-size:22px}
 .switch-label{font-size:11px}
 .game-room-only .room-tab{padding:8px 7px;font-size:10px}
 .game-room-only .mode-btn{min-height:48px;font-size:8px}
 .lesson-card{margin-top:12px}
 .lesson-book{width:100%;justify-self:stretch;text-align:center}
 .method-section{padding:50px 0!important}
 .method-section .center-intro h2{font-size:clamp(46px,11vw,63px)}
}
@media(prefers-reduced-motion:reduce){.lesson-book,.result-book{transition:none}}


/* 47 Chess v5: board-first readability, stable SVG icons, classic pieces */
:root {font-variant-numeric: lining-nums;}
.brand-type strong,.footer-brand-link,.brand-number,.hero h1,.game-console h3,.lesson-card h4,.center-intro h2 { font-variant-numeric: lining-nums; font-feature-settings:"lnum" 1,"kern" 1; }
.brand-number {font-family: var(--sans);font-size:.93em;font-weight:500;letter-spacing:.015em;vertical-align:baseline;position:relative;top:-.025em;}
.ui-icon{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle;color:inherit;stroke-width:1.8}
.mode-btn .ui-icon{width:21px;height:21px}
.board-quick-actions button,.mode-btn,.room-tab,.analysis-button,.study-actions button,.engine-settings-summary{font-size:clamp(12px,.83vw,14px)!important;letter-spacing:.015em!important;line-height:1.35!important;}
.board-quick-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px!important;padding:10px 13px!important;text-transform:none!important;font-weight:650!important}
.game-actions{display:flex;flex-wrap:wrap}
.game-console{padding:clamp(16px,1.35vw,25px)!important;gap:0!important;align-self:start!important}
.game-console > *{flex-shrink:0!important}
.room-tabs > .room-tab{flex:0 0 auto!important;min-height:40px!important}
.game-console h3.console-title-v5{font-size:clamp(31px,2.8vw,45px)!important;line-height:1.12!important;letter-spacing:-.018em!important;margin:8px 0 14px!important;font-style:normal!important}
.console-overline,.console-label,.opening-banner>span,.live-metrics span,.lesson-kicker,.room-tab-panel label,.analysis-feed-header,.engine-input-top label{font-size:11px!important;letter-spacing:.095em!important}
.opening-banner{padding:12px 16px!important;margin:0 0 12px!important}
.opening-banner strong{font-size:clamp(24px,1.8vw,31px)!important;line-height:1.18!important}
.live-card{padding:14px 15px!important;margin-bottom:12px!important}
.live-title-row h4{font-size:clamp(21px,1.7vw,27px)!important}
.live-toggle-row{gap:8px 16px!important;flex-wrap:wrap}
.live-toggle-row label{font-size:13px!important}
.live-metrics strong{font-size:clamp(22px,1.7vw,30px)!important}
.live-note,.room-hint,.engine-subtitle,.lesson-card p,.lesson-card small,.analysis-variation,.move-san,.board-disclaimer{font-size:clamp(13px,.95vw,15px)!important;line-height:1.5!important}
.mode-switch{gap:6px!important;margin-top:7px!important}
.mode-btn{min-height:61px!important;padding:8px 7px!important;display:flex!important;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-transform:none!important}
.room-tabs{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:12px!important}
.room-tab{padding:10px 12px!important;min-height:41px!important;text-transform:none!important}
.room-tools-note{font-size:12px;color:var(--muted);margin:8px 1px 12px}
.play-layout{grid-template-columns:minmax(0,1.12fr) minmax(385px,.95fr)!important;gap:clamp(12px,1.7vw,24px)!important;align-items:start!important}
.board-frame{align-self:start}
.play-section .page-width{max-width:1590px!important}
.analysis-feed{background:rgba(7,14,12,.5);border:1px solid var(--line);padding:12px 13px 9px;margin:0 0 12px}
.analysis-feed[hidden]{display:none!important}
.analysis-feed-header{display:flex;align-items:center;justify-content:space-between;color:var(--gold);margin-bottom:9px;gap:8px}
#analysis-feed-status{color:#cdd2c8;font-size:11px;letter-spacing:.025em}
.analysis-feed .analysis-summary{padding:6px 0 10px!important;margin:0!important;border-top:0!important}
.analysis-feed .analysis-heading{margin:7px 0 8px!important}
.analysis-feed .analysis-lines{min-height:0!important;max-height:min(28vh,220px);overflow:auto;gap:4px!important}
.analysis-feed .analysis-line{min-height:40px;padding:8px 9px}
.analysis-feed .analysis-variation{font-size:14px!important;word-break:normal;overflow-wrap:anywhere}
.analysis-feed .analysis-actions{padding:10px 0 4px!important;gap:9px!important;flex-wrap:wrap}
.engine-settings-fold{margin:0 0 12px;border:1px solid var(--line);background:rgba(9,18,15,.4)}
.engine-settings-summary{display:flex;align-items:center;gap:11px;padding:13px!important;min-height:48px;cursor:pointer;color:var(--cream);list-style:none}
.engine-settings-summary::-webkit-details-marker{display:none}
.engine-settings-summary #engine-settings-status{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}
.engine-settings-summary>.ui-icon:last-child{transition:transform .15s ease}
.engine-settings-fold[open] .engine-settings-summary>.ui-icon:last-child{transform:rotate(180deg)}
.engine-settings-fold .engine-controls{border-top:1px solid var(--line);margin:0!important;padding:13px!important}
.engine-settings-fold .engine-controls[hidden]{display:none!important}
.annotation-toolbar{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:8px 0 0;padding:8px 3px}
.annotation-help{font-size:clamp(11px,.83vw,13px);color:#b7c1b7;line-height:1.4}.annotation-mobile-help{display:none}
.annotation-actions{display:flex;gap:5px;align-items:center}
.annotation-button{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid var(--line);background:#16241e;color:var(--cream);font:600 12px/1.35 var(--sans);min-height:36px;cursor:pointer}
.annotation-button:hover,.annotation-button[aria-pressed="true"]{border-color:var(--gold);color:var(--goldlight)}
.annotation-button .ui-icon{width:15px;height:15px}
.chess-board{position:relative;touch-action:manipulation}
.coach-annotations,.engine-arrow{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;z-index:5;overflow:hidden}
.engine-arrow{z-index:4;filter:none!important}
.chess-board .piece.staunton-piece{font-size:0!important;text-shadow:none!important;background-repeat:no-repeat;background-position:center;background-size:91% 91%;filter:drop-shadow(0 1.5px 1px #1116)}
.chess-board .piece.staunton-piece.white,.chess-board .piece.staunton-piece.black{color:transparent!important;-webkit-text-stroke:0!important}
.chess-board[data-piece-style="staunton-ink"] .staunton-piece{filter:grayscale(1) contrast(1.22) drop-shadow(0 1px 1px #1117)}
.chess-board[data-piece-style="staunton-wood"] .staunton-piece{filter:sepia(.4) saturate(.85) drop-shadow(0 1px 1px #1118)}
.live-card .live-metrics,.live-card .live-toggle-row{margin-top:8px}
body{font-size:16px}
.site-footer,.lesson-card,.game-console{font-size:14px}
button:focus-visible,select:focus-visible,input:focus-visible,.engine-settings-summary:focus-visible{outline:2px solid var(--goldlight);outline-offset:2px}
@media(max-width:1150px){.play-layout{grid-template-columns:minmax(0,1fr)!important}.game-console{width:100%}.analysis-feed .analysis-lines{max-height:240px}.room-tab-panel{min-height:0!important}}
@media(min-width:1151px){.game-console{position:sticky;top:92px;max-height:calc(100vh - 105px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6b6652 transparent}.play-layout>.board-frame{min-width:0}}
@media(max-width:680px){.annotation-desktop-help{display:none}.annotation-mobile-help{display:inline}.game-console{padding:13px!important}.mode-btn{min-height:56px!important;font-size:12px!important}.board-quick-actions button{min-height:44px!important;font-size:12px!important}.annotation-help{width:100%}.analysis-feed .analysis-lines{max-height:170px}.engine-settings-summary{gap:6px}.engine-settings-summary #engine-settings-status{font-size:10px}.brand-number{font-size:.94em}}

.analysis-feed.live-only .analysis-summary,.analysis-feed.live-only .analysis-heading,.analysis-feed.live-only .analysis-lines,.analysis-feed.live-only .analysis-actions{display:none!important}
.chess-board .square.mark-source:before{content:"";position:absolute;inset:8%;border:3px solid #77c7a4;border-radius:50%;z-index:4;pointer-events:none}
