:root{color-scheme:light;--paper:#f3f1e9;--ink:#233b34;--line:#cdd3c9;--green:#2d604c;--orange:#b95b38}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 'Microsoft YaHei','PingFang SC',sans-serif}header{padding:22px 5%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font:12px Consolas,monospace;letter-spacing:1px}a{color:inherit;text-decoration:none}main{max-width:1400px;margin:auto;padding:35px 5%}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font:11px Consolas,monospace;letter-spacing:3px}h1{font:clamp(32px,4vw,52px)/1.3 Georgia,'Microsoft YaHei',serif;letter-spacing:-1px;margin:16px 0}h1 em{color:var(--green);font-style:normal}.intro aside{border-left:3px solid var(--orange);padding:12px 26px}.intro aside b{font:25px Georgia,serif}.intro p,small{color:#617268}#notice{padding:13px 17px;border:1px solid #b7c6b8;background:#e3eadc;margin-bottom:18px}#notice.error{background:#f5e3d8;border-color:#c58669}.controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:20px 0;border-block:1px solid var(--line)}form{display:flex;gap:8px;align-items:end}label{display:grid;gap:5px;font-size:12px}input,select,button{font:inherit;color:inherit;border:1px solid #aebbb0;background:#faf9f5;border-radius:4px;padding:10px 12px}input[type=number]{width:110px}input[type=password]{width:180px}button{cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--green);background:#e2e9dd}button:disabled{opacity:.4;cursor:default}.primary{background:var(--green);color:white}button.primary:hover:not(:disabled){background:#214b3b}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cf8b4d;outline-offset:3px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 0}.toolbar>div:first-child{display:flex;gap:10px;align-items:center}#summary{font-size:12px;color:#65736b}.dot{width:7px;height:7px;background:var(--orange);border-radius:50%}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button{font-size:12px}.boards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.board-card{border:1px solid var(--line);background:#faf9f4;padding:16px}.board-card h2{font:19px Georgia,'Microsoft YaHei',serif;margin:0}.board-card .type{font:10px Consolas,'Microsoft YaHei',monospace;letter-spacing:1px;color:#718075;margin-bottom:12px}.board-card canvas{display:block;width:100%;aspect-ratio:1/2;background:#192f29;image-rendering:pixelated}.board-foot{display:flex;justify-content:space-between;margin-top:12px;font-size:12px}.board-foot b{font:23px Georgia,serif}.move{font-size:11px;min-height:35px;color:#647367;overflow-wrap:anywhere}.results,.replay,.history{margin-top:28px;border-top:1px solid var(--line);padding-top:15px}.section-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.section-title span{margin-left:auto;color:#67776b;font-size:12px}h2{font-size:18px;font-weight:500}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{padding:12px;border-bottom:1px solid var(--line)}th{font-weight:500;color:#66766b}.table-scroll{overflow-x:auto}#cost,#replayInfo{font-size:12px;color:#66766b}input[type=range]{width:100%;padding:0;accent-color:var(--green)}.replay label{margin-top:12px}details{margin:30px 0;padding:18px;border:1px solid var(--line);font-size:13px}summary{cursor:pointer}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:11px;color:#647367}@media(max-width:1000px){.boards{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{align-items:start;flex-direction:column}}@media(max-width:600px){header span,.intro aside{display:none}main{padding:20px 4%}.intro{margin-bottom:16px}.controls{gap:9px}.board-card{padding:9px}.boards{gap:8px}.board-card h2{font-size:16px}.toolbar>div:first-child{flex-wrap:wrap}footer{display:block}footer span{display:block}form{width:100%}.section-title span{margin-left:0}}

[hidden]{display:none!important}
.boards:has(.board-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,280px));justify-content:center}

.board-card progress{width:100%;height:7px;accent-color:var(--green);margin-top:12px}
