:root{font-family:Inter,Segoe UI,sans-serif;color:#e8edf4;background:#121820;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;border:1px solid #465361;background:#25313e;color:#eef3f7;border-radius:5px;padding:10px 15px}button:hover{background:#344453}button:focus-visible,select:focus-visible{outline:3px solid #f2bd59;outline-offset:2px}button:disabled{opacity:.5;cursor:default}main{max-width:1170px;margin:auto;padding:32px 36px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px}h1{font-family:Georgia,serif;font-weight:400;font-size:36px;margin:6px 0 0;letter-spacing:-1px}.eyebrow{font-size:12px;letter-spacing:2px;color:#b9c5d0;font-weight:600}.workspace{display:grid;grid-template-columns:minmax(280px,650px) minmax(260px,1fr);gap:36px;align-items:start}.player{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:0 0 12px;color:#d3dce6}.player:last-child{padding:14px 0 0}.player small{margin-left:8px;color:#9cabbc}.board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;box-shadow:0 8px 35px #0005;border:5px solid #344454}.square{border:0;border-radius:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0;aspect-ratio:1;min-width:0}.square.light,.square.light:hover{background:#c7d1d6;color:#243442}.square.dark,.square.dark:hover{background:#587081;color:#f3f6f7}.square.selected{box-shadow:inset 0 0 0 4px #f0b74d;background:#a98e50}.square.check{background:#b45154!important}.piece{font-family:Segoe UI Symbol,DejaVu Sans,serif;font-size:clamp(28px,4.6vw,59px);line-height:1;z-index:1}.white-piece{color:#fff;text-shadow:0 2px 2px #172632,-1px 0 #172632,1px 0 #172632}.black-piece{color:#111a24;text-shadow:0 1px 1px #ffffff50}.rank,.file{position:absolute;font-size:12px;font-weight:600;z-index:2}.rank{left:4px;top:3px}.file{bottom:2px;right:4px}.marker{position:absolute;border-radius:100%;width:23%;height:23%;background:#20352766;z-index:2;pointer-events:none}.marker.occupied{width:86%;height:86%;border:4px solid #e9b74b;background:transparent}.invest .marker{background:#efbd55;color:#1e2934;font-size:25px;font-weight:700;width:30px;height:30px;right:1px;top:1px;border:0;line-height:29px}aside{display:grid;gap:22px}aside section{border-bottom:1px solid #32404d;padding-bottom:22px}h2{font-size:24px;font-weight:500;margin:10px 0 12px}h3{font-size:16px;margin:0 0 12px;font-weight:600}p{line-height:1.6;color:#b6c3d0;margin:0 0 12px}.buttons{display:flex;gap:8px}.primary{background:#edbc5f;color:#202b35;border-color:#edbc5f}.primary:hover{background:#f6cc7c}.depth{display:grid;gap:10px;font-size:14px}select{background:#1c2733;color:#ecf0f4;border:1px solid #465361;padding:9px;border-radius:4px}.rules p{font-size:14px}.rules strong{color:#e4eaf1}.legend{display:flex;gap:20px;font-size:14px;color:#e8bd66}.muted{color:#91a2b4;font-weight:400}.move-log{max-height:190px;overflow:auto;font-size:14px}.move-log>div{display:grid;grid-template-columns:22px 1fr 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #263440}.promotion button{margin:3px}footer{color:#91a2b4;font-size:14px;margin-top:28px}@media(max-width:820px){main{padding:20px}.workspace{grid-template-columns:1fr;gap:28px}.piece{font-size:clamp(30px,8vw,62px)}aside{grid-template-columns:1fr 1fr}.turn-panel{grid-column:1/-1}h1{font-size:30px}}@media(max-width:480px){main{padding:14px}aside{grid-template-columns:1fr}.rank,.file{font-size:10px}.board{border-width:3px}header button{font-size:14px;padding:8px}.eyebrow{letter-spacing:1px}}.promotion-dialog{width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:1px solid #586b7d;border-radius:8px;background:#1c2733;color:#eef3f7;box-shadow:0 16px 60px #0008}.promotion-dialog::backdrop{background:#0b111acc}.promotion-dialog h2{margin-top:0}.promotion-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.promotion-choices button{min-height:54px;border-color:#e8bd66}.promotion-choices button:first-child{background:#edbc5f;color:#202b35}.active-config{display:block;color:#aebecd;font-size:14px;margin-top:8px}.config-checkbox{display:flex;align-items:center;gap:10px;margin:22px 0 12px}.config-checkbox input{width:20px;height:20px;accent-color:#edbc5f}.square.court-eligible{box-shadow:inset 0 0 0 4px #efbd55}.square.court-eligible.selected{box-shadow:inset 0 0 0 5px #fff}
