:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#293b2d;background:#f4f6ee;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation;border:1px solid #dce3d5;border-radius:10px;background:#fff;color:#364a37;padding:10px 15px;cursor:pointer;font-weight:600}button:hover:not(:disabled){background:#e8eedf}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #dc9c5b;outline-offset:3px}[hidden]{display:none!important}header{max-width:1240px;margin:auto;padding:27px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e7dc}.brand{text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px;font-size:19px;font-weight:750}.brand-icon{background:#2d5038;color:#fff;border-radius:10px;padding:6px 12px;font-family:monospace;font-size:24px;transform:rotate(-5deg)}.brand small{font-size:13px;color:#7a8775;font-weight:500}.brand-dot{color:#b9c2b0}.pill{font-size:12px;background:#e4ebdb;color:#617850;padding:8px 13px;border-radius:30px}main{max-width:1160px;margin:auto;padding:42px 28px 20px}.intro{padding-bottom:31px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#839177}h1{font-size:38px;letter-spacing:-1px;margin:12px 0;line-height:1.3}h1 span{color:#7c9464}.intro p{color:#7b8676;font-size:14px;line-height:1.8;margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:26px;align-items:start}.game-card,.card{background:#fffef9;border:1px solid #e0e5d8;border-radius:20px;box-shadow:0 8px 30px #34452b04}.game-card{padding:24px}.game-top{display:flex;align-items:center;gap:32px;padding-bottom:20px}.label{display:block;color:#85917b;font-size:11px;margin-bottom:5px}.game-top strong{font-size:37px;font-weight:750;letter-spacing:-2px;line-height:1}.best b{font-size:23px;font-weight:600}.status{margin-left:auto;color:#647c54;font-size:11px;border:1px solid #dbe3d1;background:#f1f5e9;border-radius:25px;padding:7px 10px}.board-wrap{position:relative;overflow:hidden;border-radius:12px;border:1px solid #d4dfca;background:#e7eddf}canvas{width:100%;height:auto;display:block;aspect-ratio:1;touch-action:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#e7eddfeb;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}.overlay-icon{width:66px;height:66px;display:grid;place-items:center;border-radius:21px;background:#d7e2c8;color:#597642;font-size:36px;margin-bottom:8px;transform:rotate(-6deg)}h2{font-size:19px;letter-spacing:-.3px;margin:10px 0}.overlay h2{font-size:25px}.overlay p{color:#7b8b6c;font-size:12px;line-height:1.8;margin:0 0 23px}.primary{background:#2e513a;color:#fff;border-color:#2e513a;box-shadow:0 3px 8px #284b3510}.primary:hover:not(:disabled){background:#406147}.overlay .primary{padding:13px 30px}.toolbar{display:flex;gap:8px;align-items:center;padding-top:14px}.toolbar>span{flex:1;font-size:10px;line-height:1.6;color:#8b947f}.toolbar button{font-size:11px;padding:6px 11px}.controls-note{font-size:10px;text-align:center;color:#929b87;margin:13px 0 0;line-height:1.6}.dpad{display:none;text-align:center;margin-top:16px}.dpad button{width:52px;height:43px;font-size:21px;padding:3px;margin:3px;background:#eef3e6}.dpad>div{display:flex;justify-content:center}aside{display:grid;gap:20px}.card{padding:25px}.profile h2{margin:12px 0 16px}.profile label{font-size:12px;color:#8a9580;display:block;margin-bottom:9px}.input-row{display:flex;gap:8px}input{min-width:0;width:100%;font-size:16px;line-height:1.5;border:1px solid #dbe2d2;border-radius:9px;padding:10px;background:#f9faf4;color:#293b2d;outline:none}input:focus{border-color:#799761;box-shadow:0 0 0 3px #dfe8d5}.input-row button{white-space:nowrap;font-size:13px;padding:10px 15px}#identity-note{font-size:10px;line-height:1.8;color:#969f8e;margin:10px 0 16px}.my-rank{border-top:1px solid #e9eddf;padding-top:16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#839176}.my-rank b{color:#4c6840;font-size:13px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-head h2{margin:8px 0 0;font-size:21px}.section-head h2 span{color:#91a57b;font-weight:400}.section-head button{padding:4px 10px;font-size:22px;border:0;background:transparent}.subtle{color:#9aa38f;font-size:10px;margin:11px 0 21px}.list-head{display:flex;justify-content:space-between;color:#9da58f;font-size:10px;border-bottom:1px solid #e7ecde;padding-bottom:12px}ol{list-style:none;padding:0;margin:0;max-height:395px;overflow:auto}li{display:flex;gap:12px;align-items:center;padding:16px 3px;border-bottom:1px solid #eef0e6;font-size:12px}.row-rank{color:#9ca88b;font-size:13px;font-weight:600;min-width:22px}li:nth-child(-n+3) .row-rank{color:#b79151}.row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}li b{font-variant-numeric:tabular-nums;color:#4d653f}.is-me{background:#f1f6e9}.empty{font-size:12px;color:#8b997e;text-align:center;padding:22px 0;line-height:1.8}.empty:empty{display:none}.ranking-foot{color:#a1a991;font-size:10px;line-height:1.8;margin:18px 0 0}.notice{min-height:24px;font-size:12px;color:#627a51;margin-top:17px;line-height:1.8}.recovery{font-size:12px;color:#775d39;background:#fff1d8;border-radius:12px;padding:15px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.recovery span{flex:1;min-width:190px}footer{display:flex;justify-content:space-between;padding:28px 0 10px;color:#a2aa98;font-size:9px;letter-spacing:1px}@media(max-width:740px){header{padding:17px 19px}.brand{font-size:17px;gap:8px}.brand small{font-size:10px}.pill{font-size:10px;padding:6px 9px}main{padding:26px 16px 18px}.intro{padding-bottom:22px}h1{font-size:29px}.intro p{font-size:12px;max-width:330px}.eyebrow{font-size:9px;letter-spacing:1.5px}.layout{grid-template-columns:1fr;gap:18px}.game-card{padding:16px;border-radius:17px}.game-top{padding-bottom:15px}.game-top strong{font-size:32px}.game-top .best b{font-size:21px}.dpad{display:block}.toolbar>span{font-size:10px}.card{padding:23px}aside{gap:16px}.overlay h2{font-size:23px}.controls-note{font-size:9px}footer{font-size:8px;letter-spacing:.4px;gap:12px;padding-bottom:env(safe-area-inset-bottom)}.brand-dot{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}}
