:root{font-family:"Trebuchet MS",system-ui,sans-serif;color:#272330;background:#f8f5ed;--purple:#6348db;--muted:#756e7b;--line:#dfdbd3}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--line);background:#fffefa;color:#272330;border-radius:11px;padding:11px 14px;font-size:13px;font-weight:bold}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b398ff;outline-offset:3px}header,main,footer{max-width:1100px;margin:auto;padding:24px 28px}header{display:flex;align-items:center;gap:20px}.brand{font-size:29px;letter-spacing:-1.5px;font-weight:900;text-decoration:none;color:var(--purple)}.brand span{color:#272330}.badge,.eyebrow{font-size:10px;font-weight:bold;letter-spacing:1.5px}.badge{color:var(--muted)}.small{width:44px;padding:0}.small:last-child{margin-left:auto}header>.small{margin-left:auto}.title{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0 30px}.eyebrow{display:block;color:var(--purple);margin-bottom:12px}h1{font-size:clamp(35px,5vw,55px);letter-spacing:-2px;line-height:1.08;margin:0}h1 em{color:var(--purple);font-style:normal}.private{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:8px 12px;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:32px;align-items:start}.table{min-width:0}.player{display:flex;align-items:center;gap:12px;padding:0 0 13px}.board+.player{padding:14px 0 0}.avatar{display:grid;place-items:center;width:40px;height:40px;background:#e8e0fc;border-radius:12px;color:var(--purple);font-size:28px}.human{background:#e6eddf;color:#385648}.player strong{font-size:13px;display:block}.player div>span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.turn-light{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#d5d0c7}.turn-light.active{background:var(--purple);box-shadow:0 0 0 5px #e8e0fc}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));aspect-ratio:1;border:6px solid #3f5349;border-radius:9px;overflow:hidden;box-shadow:0 8px 0 #d5d4c94d;touch-action:manipulation;user-select:none}.square{position:relative;display:grid;place-items:center;aspect-ratio:1;min-height:0;min-width:0;border:0;border-radius:0;padding:0;background:#eceddd;isolation:isolate}.square.dark{background:#7d9a82}.square.last{background:#d9d894}.square.dark.last{background:#b0bc71}.square.selected{background:#c3a4f1;box-shadow:inset 0 0 0 3px #6348db}.square.check{background:#e99f9b}.square svg{width:88%;height:88%;position:relative;z-index:2;filter:drop-shadow(0 2px 1px #0003)}.square.target:after{content:"";position:absolute;width:24%;height:24%;border-radius:50%;background:#28352c55;z-index:3}.square.capture:after{width:90%;height:90%;border:5px solid #6348db99;background:none}.coord{position:absolute;font-size:9px;line-height:1;color:#405747;font-weight:bold;z-index:4;pointer-events:none}.dark .coord{color:#f0f3e9}.file{right:3px;bottom:3px}.rank{top:3px;left:3px}.tip,.quiet{font-size:11px;line-height:1.6;color:var(--muted)}.tip{margin-top:19px}.panel{border:1px solid var(--line);border-radius:20px;background:#fffefa;padding:24px;margin-bottom:18px}h2{font-size:23px;letter-spacing:-.7px;margin:0 0 10px}.panel>p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 20px}.actions{display:flex;gap:9px;flex-wrap:wrap}.actions>button{flex:1;white-space:nowrap}.primary{background:var(--purple);color:white;border:0;box-shadow:0 3px 0 #44309d}.primary:hover{background:#543bc5}.history-title{display:flex;align-items:center;justify-content:space-between}.history-title>span{font-size:11px;color:var(--muted)}.history{max-height:242px;overflow:auto;scrollbar-width:thin}.empty{font-size:12px;color:var(--muted);line-height:1.7}.move-row{display:grid;grid-template-columns:28px 1fr 1fr;font-size:13px;padding:10px 5px;border-top:1px solid #eee9e1}.move-row span:first-child{color:#aaa2b5;font-size:11px}.quiet{text-align:center}footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;line-height:1.6}footer a{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:23px;background:#fffefa;padding:29px;color:#272330;max-width:440px;width:calc(100% - 32px);max-height:90svh;overflow:auto}dialog::backdrop{background:#27233088;backdrop-filter:blur(4px)}dialog h2{font-size:28px}dialog p{font-size:13px;line-height:1.65;color:var(--muted)}dialog label{font-size:12px;font-weight:bold;display:block;margin:20px 0 8px}select{width:100%;border:1px solid var(--line);border-radius:11px;padding:13px;background:white;color:#272330}dialog .primary{width:100%;margin-top:8px}.hint{font-size:11px}.text{display:block;background:transparent;border:0;text-decoration:underline;color:var(--muted);margin:12px auto 0;font-size:12px}.promotion-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}[hidden]{display:none!important}@media(max-width:760px){header,main,footer{padding:19px 17px}header{gap:13px}.badge{font-size:8px;letter-spacing:.6px}.title{padding-top:3px;padding-bottom:24px;align-items:start;flex-wrap:wrap}.title .eyebrow{font-size:8px;letter-spacing:1px}.private{font-size:9px;padding:6px 9px}.layout{grid-template-columns:1fr;gap:12px}.board{border-width:4px}.square svg{width:90%;height:90%}.panel{padding:21px}.status-panel{margin-bottom:14px}.history{max-height:180px}.tip{font-size:10px}.coord{font-size:8px}.player{padding-bottom:11px}footer{flex-wrap:wrap;font-size:10px}h1{font-size:38px}.title .private{display:none}}@media(max-width:360px){header,main,footer{padding-left:12px;padding-right:12px}h1{font-size:33px}.coord{font-size:7px}.badge{font-size:7px}}
