:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#edf3f2;background:#101b22;font-family:Arial,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #f4c976}.room{max-width:1100px;margin:auto;padding:0 40px 36px}header{border-bottom:1px solid #304049;justify-content:space-between;align-items:center;height:92px;margin-bottom:28px;display:flex}.wordmark{letter-spacing:.16em;align-items:center;gap:14px;font-size:16px;font-weight:700;display:flex}.wordmark>span{color:#8fe4c3;font-size:34px}.edition,.eyebrow{letter-spacing:.16em;color:#91aaa9;font-size:12px}.game-layout{grid-template-columns:minmax(0,600px) minmax(250px,1fr);gap:48px;display:grid}.board{aspect-ratio:1;border:6px solid #253a40;border-radius:5px;grid-template-columns:repeat(8,1fr);display:grid;overflow:hidden;box-shadow:0 16px 36px #0003}.square{aspect-ratio:1;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.light{color:#385c54;background:#d3dfd9}.dark{color:#e0ebe5;background:#48786c}.square.selected{background:#e7c574}.piece{z-index:1;pointer-events:none;font-family:Arial Unicode MS,DejaVu Sans,Segoe UI Symbol,serif;font-size:clamp(27px,4.6vw,59px);line-height:1}.white-piece{color:#fffdf2;-webkit-text-stroke:1px #31423d;filter:drop-shadow(0 2px 1px #152d3a66)}.black-piece{color:#172b32;-webkit-text-stroke:.6px #07141a;filter:drop-shadow(0 1px #fff5)}.rank,.file{font-size:12px;font-weight:700;line-height:1;position:absolute}.rank{top:4px;left:4px}.file{bottom:3px;right:4px}.legal-dot{z-index:2;pointer-events:none;background:#162f3666;border-radius:50%;width:24%;height:24%;position:absolute}.player{align-items:center;gap:12px;padding:10px 0 14px;display:flex}.player:last-child{padding:16px 0 0}.player b{font-size:16px;font-weight:500}.player small{color:#9cb0b4;margin-top:4px;font-size:12px;display:block}.avatar{color:#142a31;background:#d3dfd9;border-radius:8px;place-items:center;width:38px;height:38px;font-size:29px;display:grid}.black-avatar{color:#ebf0ec;background:#2b3e46}aside{padding-top:48px}h1{letter-spacing:-.035em;margin:12px 0 28px;font-size:34px;font-weight:500}.status{align-items:center;gap:10px;font-size:20px;display:flex}.status:before{content:"";background:#8fe4c3;border-radius:50%;width:9px;height:9px}.hint{color:#adc0c4;margin:14px 0 26px;font-size:14px;line-height:1.9}@media (width<=780px){.room{padding:0 18px 24px}header{height:70px;margin-bottom:16px}.game-layout{grid-template-columns:1fr;gap:16px}.play-area{width:100%;max-width:580px;margin:auto}aside{width:100%;max-width:580px;margin:auto;padding:8px 0}h1{margin:8px 0 16px;font-size:26px}.piece{font-size:clamp(25px,8vw,58px)}.eyebrow{display:none}.edition{font-size:12px}.board{border-width:4px}}.square.last-move{box-shadow:inset 0 0 0 100px #f5df692c}.square.selected{box-shadow:none;background:#e7c574}.square.in-check{background:#be685e}.legal-capture{pointer-events:none;z-index:2;border:5px solid #172f3677;border-radius:50%;position:absolute;inset:5%}.mode-label{color:#adc0c4;font-size:14px;display:block}select{color:#edf3f2;background:#1c3038;border:1px solid #40565c;border-radius:7px;width:100%;margin-top:8px;padding:12px;font-size:16px;display:block}.actions{gap:10px;margin-top:18px;display:flex}.actions button,.new-game,.cancel-promotion{color:#deebe7;background:#20343c;border:1px solid #40565c;border-radius:7px;padding:11px 14px;font-size:14px}.actions button{flex:1}.actions button:hover,.cancel-promotion:hover{background:#2c4650}.new-game{color:#122d2b;background:#91dfc0;border-color:#91dfc0;width:100%;margin-top:10px;font-weight:600}.new-game:hover{background:#afeed5}.captured{color:#adc0c4;flex-wrap:wrap;justify-content:flex-end;max-width:65%;margin-left:auto;font-family:serif;font-size:22px;display:flex}.history{border-top:1px solid #30454d;margin-top:30px;padding-top:18px}.history-heading{justify-content:space-between;align-items:center;display:flex}.history h2{margin:0;font-size:14px;font-weight:500}.history-heading>span{color:#9db4b5;font-size:12px}.history ol{max-height:174px;margin:12px 0 0;padding:0;font-family:ui-monospace,monospace;font-size:14px;list-style:none;overflow:auto}.history li{grid-template-columns:36px 1fr 1fr;gap:8px;padding:7px 10px;display:grid}.history li:nth-child(odd){background:#1b2c34}.history li>span{color:#94adae}.history li b{font-weight:400}.empty-history{color:#9db4b5;margin:16px 0;font-size:14px}.rules{color:#adc0c4;border-top:1px solid #30454d;margin-top:20px;padding-top:18px;font-size:14px;line-height:1.8}.rules summary{cursor:pointer;color:#d6e4e0}.rules p{margin:12px 0}.finished{color:#f4d28e}.promotion-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#07131cbb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-panel{background:#1b3038;border:1px solid #496069;border-radius:14px;width:100%;max-width:460px;padding:28px;box-shadow:0 20px 80px #0005}.promotion-panel h2{margin:0 0 12px;font-size:22px}.promotion-panel p{color:#adc0c4;font-size:14px}.promotion-options{grid-template-columns:1fr 1fr;gap:10px;margin:22px 0;display:grid}.promotion-options button{color:#edf6ef;background:#28473f;border:1px solid #55736f;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:14px;font-size:14px;display:flex}.promotion-options button span{font-family:serif;font-size:42px}.promotion-options button:hover{background:#3b6355}.cancel-promotion{width:100%}@media (width<=380px){.room{padding-left:10px;padding-right:10px}.wordmark{letter-spacing:.1em;font-size:14px}.rank,.file{font-size:10px}.game-layout{gap:12px}}@media (prefers-reduced-motion:no-preference){.square{transition:background .12s}.actions button,.new-game{transition:background .15s}}dialog.promotion-panel{color:#edf3f2;max-height:90vh;margin:auto;overflow:auto}dialog.promotion-panel::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07131cbb}.account{border-top:1px solid #34443e;margin-top:24px;padding-top:18px}.account h2{font-size:18px}.account p{color:#b8c7bd;font-size:13px;line-height:1.8}.account button{color:#f0f6ef;cursor:pointer;background:#263a30;border:1px solid #506458;border-radius:8px;margin:5px 4px 5px 0;padding:10px 12px}.account button:disabled{opacity:.5;cursor:wait}.account summary{cursor:pointer;padding:12px 0}.account label{margin-top:12px;font-size:12px;display:block}.account input{box-sizing:border-box;color:#fff;background:#15251c;border:1px solid #6b806e;border-radius:6px;width:100%;margin:6px 0;padding:10px;display:block}.learning-count{font-variant-numeric:tabular-nums;font-weight:700}.account-actions{flex-wrap:wrap;display:flex}
