:root{--bg-deep:#0c1210;--bg-surface:#141c18;--bg-elevated:#1a2420;--bg-panel:#111916;--text-primary:#ede8df;--text-secondary:#9aab9e;--text-muted:#5c6b60;--accent-gold:#c9a84c;--accent-gold-light:#e2c878;--accent-gold-dim:#c9a84c26;--board-frame:#3d2e1f;--board-light:#e8dcc8;--board-dark:#769656;--border-subtle:#c9a84c1f;--shadow-deep:0 24px 64px #00000080;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"Outfit", system-ui, sans-serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-deep);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:16px;font-weight:400;line-height:1.6}.grain{pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px;position:fixed;inset:0}.site-header{text-align:center;padding:2.5rem 1.5rem 1.5rem;position:relative}.site-header:after{content:"";background:linear-gradient(90deg, transparent, var(--border-subtle), transparent);width:min(600px,80%);height:1px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header-inner{max-width:720px;margin:0 auto}.logo{color:var(--text-primary);align-items:center;gap:.6rem;margin-bottom:.5rem;text-decoration:none;display:inline-flex}.logo-piece{color:var(--accent-gold);filter:drop-shadow(0 0 12px #c9a84c66);font-size:2rem;line-height:1}.logo-text{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2rem,5vw,2.75rem);font-weight:600}.logo-text em{color:var(--accent-gold);font-style:normal;font-weight:500}.tagline{color:var(--text-secondary);letter-spacing:.02em;font-size:.95rem;font-weight:300}.version-switch{border:1px solid var(--border-subtle);border-radius:999px;gap:.25rem;margin-top:1rem;padding:.25rem;display:inline-flex}.version-link{color:var(--text-secondary);border-radius:999px;padding:.3rem 1rem;font-size:.85rem;text-decoration:none;transition:color .15s}.version-link:hover{color:var(--text-primary)}.version-link.active{background:var(--accent-gold);color:var(--bg-deep,#1a1613);font-weight:500}main{max-width:1100px;margin:0 auto;padding:0 1.5rem 4rem}.game-section{padding:2.5rem 0 3rem}.game-layout{grid-template-columns:1fr 280px;align-items:start;gap:2rem;display:grid}.board-column{flex-direction:column;align-items:center;gap:1rem;display:flex}#board-container{aspect-ratio:1;border-radius:var(--radius-md);width:100%;max-width:min(560px,100vw - 3rem);box-shadow:var(--shadow-deep), 0 0 0 1px var(--border-subtle);transition:opacity var(--transition);overflow:hidden}#board-container.thinking{opacity:.92}.chess-board{width:100%;height:100%}.cm-chessboard.green.border-type-frame .board .border{fill:var(--board-frame)}.cm-chessboard.green.border-type-frame .board .border-inner{fill:var(--board-dark);stroke:var(--board-frame)}.status{font-family:var(--font-display);color:var(--accent-gold-light);text-align:center;min-height:1.5em;font-size:1.25rem;font-weight:500}.controls-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.panel-block h2{font-family:var(--font-display);color:var(--accent-gold);letter-spacing:.03em;text-transform:uppercase;margin-bottom:.85rem;font-size:1.1rem;font-weight:600}.control-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:.75rem;margin-bottom:.5rem;font-size:.8rem;font-weight:500;display:block}.control-label:first-of-type{margin-top:0}.button-group{gap:.5rem;display:flex}.btn{font-family:var(--font-ui);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:var(--bg-elevated);color:var(--text-primary);padding:.55rem 1rem;font-size:.875rem;font-weight:500}.btn:hover{border-color:var(--accent-gold);color:var(--accent-gold-light)}.hotseat-hint{color:var(--text-secondary);margin-top:.5rem;font-size:.85rem}#remote-link-row{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}#remote-link{font-size:.8rem}.btn-toggle{flex:1}.btn-toggle.active{background:var(--accent-gold-dim);border-color:var(--accent-gold);color:var(--accent-gold-light)}.btn-primary{background:var(--accent-gold);border-color:var(--accent-gold);width:100%;color:var(--bg-deep);padding:.7rem 1rem;font-weight:600}.btn-primary:hover{background:var(--accent-gold-light);border-color:var(--accent-gold-light);color:var(--bg-deep)}.btn-secondary{width:100%}.panel-actions{flex-direction:column;gap:.5rem;display:flex}.select{width:100%;font-family:var(--font-ui);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239aab9e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding:.6rem .85rem;font-size:.875rem}.select:focus{border-color:var(--accent-gold);outline:none}.move-history{max-height:200px;color:var(--text-secondary);font-family:Courier New,monospace;font-size:.85rem;line-height:1.8;list-style:none;overflow-y:auto}.move-history li{border-bottom:1px solid #ffffff08;padding:.1rem 0}.move-num{color:var(--text-muted);width:2rem;display:inline-block}.move-empty{color:var(--text-muted);font-family:var(--font-ui);font-style:italic}.about-section{padding:2rem 0 3rem}.about-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.about-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem}.about-card h2{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.about-card p{color:var(--text-secondary);margin-bottom:.85rem;font-size:.925rem}.about-card p:last-of-type{margin-bottom:1rem}.text-link{color:var(--accent-gold);transition:color var(--transition);font-size:.875rem;font-weight:500;text-decoration:none}.text-link:hover{color:var(--accent-gold-light)}.contact-section{padding:0 0 3rem}.contact-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;padding:2rem;display:grid}.contact-copy h2{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.contact-copy p{color:var(--text-secondary);font-size:.925rem}.contact-form{gap:.85rem;display:grid}.form-field{gap:.35rem;display:grid}.form-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:500}.form-field input,.form-field textarea{width:100%;font-family:var(--font-ui);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:.7rem .85rem;font-size:.95rem;line-height:1.5}.form-field textarea{resize:vertical;min-height:9rem}.form-field input:focus,.form-field textarea:focus{border-color:var(--accent-gold);outline:none}.hp-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form .btn-primary:disabled{cursor:wait;opacity:.7}.form-status{min-height:1.4em;color:var(--text-secondary);font-size:.875rem}.form-status.success{color:var(--accent-gold-light)}.form-status.error{color:#ff9f8f}.site-footer{text-align:center;border-top:1px solid var(--border-subtle);color:var(--text-muted);padding:2rem 1.5rem;font-size:.825rem}@media (width<=860px){.game-layout{grid-template-columns:1fr}.controls-panel{order:-1}.about-grid,.contact-panel{grid-template-columns:1fr}}@media (width<=480px){.site-header{padding:1.75rem 1rem 1.25rem}main{padding:0 1rem 3rem}.controls-panel{padding:1.25rem}.about-card{padding:1.5rem}}.move-history::-webkit-scrollbar{width:4px}.move-history::-webkit-scrollbar-track{background:0 0}.move-history::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.cm-chessboard .board.input-enabled .square{cursor:pointer}.cm-chessboard .coordinates,.cm-chessboard .markers-layer,.cm-chessboard .pieces-layer,.cm-chessboard .markers-top-layer{pointer-events:none}.cm-chessboard-content .list-inline{padding-left:0;list-style:none}.cm-chessboard-content .list-inline-item{display:inline-block}.cm-chessboard-content .list-inline-item:not(:last-child){margin-right:1rem}.cm-chessboard-accessibility.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.cm-chessboard-accessibility button:disabled,.cm-chessboard-accessibility button:disabled:hover{opacity:.5;cursor:not-allowed;pointer-events:none}.cm-chessboard.default .board .square.white{fill:#ecdab9}.cm-chessboard.default .board .square.black{fill:#c5a076}.cm-chessboard.default.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default .coordinates .coordinate.black{fill:#eeddbf}.cm-chessboard.default .coordinates .coordinate.white{fill:#b5936d}.cm-chessboard.default-contrast .board .square.white{fill:#ecdab9}.cm-chessboard.default-contrast .board .square.black{fill:#c5a076}.cm-chessboard.default-contrast.border-type-thin .board .border{stroke:#c5a076;stroke-width:.7%;fill:#c5a076}.cm-chessboard.default-contrast.border-type-none .board .border{stroke:#c5a076;stroke-width:0;fill:#c5a076}.cm-chessboard.default-contrast.border-type-frame .board .border{fill:#ecdab9;stroke:none}.cm-chessboard.default-contrast.border-type-frame .board .border-inner{fill:#c5a076;stroke:#c5a076;stroke-width:.7%}.cm-chessboard.default-contrast .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.default-contrast .coordinates .coordinate{fill:#b5936d;cursor:default;font-size:7px}.cm-chessboard.default-contrast .coordinates .coordinate.black,.cm-chessboard.default-contrast .coordinates .coordinate.white{fill:#333}.cm-chessboard.green .board .square.white{fill:#e0ddcc}.cm-chessboard.green .board .square.black{fill:#4c946a}.cm-chessboard.green.border-type-thin .board .border{stroke:#4c946a;stroke-width:.7%;fill:#4c946a}.cm-chessboard.green.border-type-none .board .border{stroke:#4c946a;stroke-width:0;fill:#4c946a}.cm-chessboard.green.border-type-frame .board .border{fill:#e0ddcc;stroke:none}.cm-chessboard.green.border-type-frame .board .border-inner{fill:#4c946a;stroke:#4c946a;stroke-width:.7%}.cm-chessboard.green .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.green .coordinates .coordinate{fill:#468862;cursor:default;font-size:7px}.cm-chessboard.green .coordinates .coordinate.black{fill:#e2e0d0}.cm-chessboard.green .coordinates .coordinate.white{fill:#468862}.cm-chessboard.blue .board .square.white{fill:#d8ecfb}.cm-chessboard.blue .board .square.black{fill:#86afcf}.cm-chessboard.blue.border-type-thin .board .border{stroke:#86afcf;stroke-width:.7%;fill:#86afcf}.cm-chessboard.blue.border-type-none .board .border{stroke:#86afcf;stroke-width:0;fill:#86afcf}.cm-chessboard.blue.border-type-frame .board .border{fill:#d8ecfb;stroke:none}.cm-chessboard.blue.border-type-frame .board .border-inner{fill:#86afcf;stroke:#86afcf;stroke-width:.7%}.cm-chessboard.blue .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.blue .coordinates .coordinate{fill:#7ba1be;cursor:default;font-size:7px}.cm-chessboard.blue .coordinates .coordinate.black{fill:#dbeefb}.cm-chessboard.blue .coordinates .coordinate.white{fill:#7ba1be}.cm-chessboard.chess-club .board .square.white{fill:#e6d3b1}.cm-chessboard.chess-club .board .square.black{fill:#af6b3f}.cm-chessboard.chess-club.border-type-thin .board .border{stroke:#692e2b;stroke-width:.7%;fill:#af6b3f}.cm-chessboard.chess-club.border-type-none .board .border{stroke:#692e2b;stroke-width:0;fill:#af6b3f}.cm-chessboard.chess-club.border-type-frame .board .border{fill:#692e2b;stroke:none}.cm-chessboard.chess-club.border-type-frame .board .border-inner{fill:#af6b3f;stroke:#692e2b;stroke-width:.7%}.cm-chessboard.chess-club .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chess-club .coordinates .coordinate{fill:#e6d3b1;cursor:default;font-size:7px}.cm-chessboard.chess-club .coordinates .coordinate.black{fill:#e6d3b1}.cm-chessboard.chess-club .coordinates .coordinate.white{fill:#af6b3f}.cm-chessboard.chessboard-js .board .square.white{fill:#f0d9b5}.cm-chessboard.chessboard-js .board .square.black{fill:#b58863}.cm-chessboard.chessboard-js.border-type-thin .board .border{stroke:#404040;stroke-width:.7%;fill:#b58863}.cm-chessboard.chessboard-js.border-type-none .board .border{stroke:#404040;stroke-width:0;fill:#b58863}.cm-chessboard.chessboard-js.border-type-frame .board .border{fill:#f0d9b5;stroke:none}.cm-chessboard.chessboard-js.border-type-frame .board .border-inner{fill:#b58863;stroke:#404040;stroke-width:.7%}.cm-chessboard.chessboard-js .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.chessboard-js .coordinates .coordinate{fill:#404040;cursor:default;font-size:7px}.cm-chessboard.chessboard-js .coordinates .coordinate.black{fill:#f0d9b5}.cm-chessboard.chessboard-js .coordinates .coordinate.white{fill:#b58863}.cm-chessboard.black-and-white .board .square.white{fill:#fff}.cm-chessboard.black-and-white .board .square.black{fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-thin .board .border{stroke:#9c9c9c;stroke-width:.7%;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-none .board .border{stroke:#9c9c9c;stroke-width:0;fill:#9c9c9c}.cm-chessboard.black-and-white.border-type-frame .board .border{fill:#fff;stroke:none}.cm-chessboard.black-and-white.border-type-frame .board .border-inner{fill:#9c9c9c;stroke:#9c9c9c;stroke-width:.7%}.cm-chessboard.black-and-white .coordinates{pointer-events:none;-webkit-user-select:none;user-select:none}.cm-chessboard.black-and-white .coordinates .coordinate{fill:#909090;cursor:default;font-size:7px}.cm-chessboard.black-and-white .coordinates .coordinate.black{fill:#fff}.cm-chessboard.black-and-white .coordinates .coordinate.white{fill:#909090}.cm-chessboard .keyboard-focus-indicator .keyboard-focus{fill:none;stroke:#06c;stroke-width:3px;pointer-events:none}.cm-chessboard .keyboard-focus-indicator .keyboard-from-square{fill:#0066cc4d;stroke:#06c;stroke-width:2px;pointer-events:none}.cm-chessboard:focus{outline-offset:2px;outline:2px solid #06c}.cm-chessboard .markers{pointer-events:none}.cm-chessboard .markers .marker.marker-frame{stroke:#000;stroke-width:1.8px;opacity:.5}.cm-chessboard .markers .marker.marker-frame-primary,.cm-chessboard .markers .marker.marker-frame-info{stroke:#00f;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-danger{stroke:red;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-frame-warning{stroke:orange;stroke-width:1.8px;opacity:.4}.cm-chessboard .markers .marker.marker-circle{stroke:#000;stroke-width:3px;opacity:.3}.cm-chessboard .markers .marker.marker-circle-primary,.cm-chessboard .markers .marker.marker-circle-info{stroke:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-info-filled{stroke:#00f;fill:#00f;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger{stroke:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-danger-filled{stroke:red;fill:red;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning{stroke:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-warning-filled{stroke:orange;fill:orange;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success{stroke:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-circle-success-filled{stroke:green;fill:green;stroke-width:3px;opacity:.4}.cm-chessboard .markers .marker.marker-square{fill:#000;opacity:.11}.cm-chessboard .markers .marker.marker-dot,.cm-chessboard .markers .marker.marker-bevel{fill:#000;opacity:.2}svg.cm-chessboard .promotion-dialog-group rect,svg.cm-chessboard .promotion-dialog-group g[data-piece]{animation:.25s ease-in fade-in}svg.cm-chessboard .promotion-dialog-group .promotion-dialog{fill:#fff;fill-opacity:.7;stroke:#0006}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group{outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button-group:focus .promotion-dialog-button{stroke:#0000004d;stroke-width:1px}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button{fill:#0000;cursor:pointer;outline:none}svg.cm-chessboard .promotion-dialog-group .promotion-dialog-button:hover{fill:#0003}svg.cm-chessboard .promotion-dialog-group .piece{pointer-events:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
