*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:#23262b;color:#e8e6e1;font-family:-apple-system,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}button{font-family:inherit;touch-action:manipulation}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column}.screen.active{display:flex}.hidden{display:none!important}#screen-menu{background:radial-gradient(circle at 50% 20%,#3a3f47,#23262b 70%)}.menu-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 24px) 24px calc(env(safe-area-inset-bottom) + 32px)}.menu-inner{max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.logo{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.logo h1{font-size:44px;font-weight:300;letter-spacing:12px;margin-right:-12px}.logo-stone{width:26px;height:26px;border-radius:50%;display:inline-block}.logo-stone.black{background:radial-gradient(circle at 35% 30%,#555,#0a0a0a 70%);box-shadow:0 3px 6px #00000080}.logo-stone.white{background:radial-gradient(circle at 35% 30%,#fff,#c9c9c9 70%);box-shadow:0 3px 6px #0006}.subtitle{text-align:center;color:#8f959e;font-size:14px;margin-bottom:14px}.btn{border:none;border-radius:14px;padding:16px;font-size:18px;min-height:56px;cursor:pointer;transition:transform .06s ease,filter .12s ease}.btn:active{transform:scale(.97);filter:brightness(1.1)}.btn.primary{background:linear-gradient(180deg,#9a6a33,#7c5225);color:#fff;box-shadow:0 4px 12px #00000059}.btn.secondary{background:#33383f;color:#d8d5cf}.settings-panel{background:#2b2f35;border-radius:16px;padding:18px;margin-top:10px;display:flex;flex-direction:column;gap:16px}.settings-panel h2{font-size:15px;font-weight:500;color:#a7adb6}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-label{font-size:15px;color:#cfd3d9;min-width:82px}.chip-group{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip{border:1px solid #4a5058;background:transparent;color:#b9bec6;border-radius:20px;padding:8px 14px;font-size:14px;min-height:38px;cursor:pointer}.chip.selected{background:#9a6a33;border-color:#9a6a33;color:#fff}.stepper{display:flex;align-items:center;gap:14px}.stats-summary{font-size:15px;line-height:1.7;color:#d8d5cf}.stats-records{display:flex;flex-direction:column;gap:6px}.stats-record{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#a7adb6;padding:7px 10px;background:#ffffff0a;border-radius:8px}.stats-record .rec-result{color:#d8d5cf}.link-btn{background:none;border:none;color:#8f959e;font-size:13px;text-decoration:underline;cursor:pointer;padding:2px 0;align-self:flex-start;min-height:28px}.link-btn:active{color:#e08b8b}.stepper button{width:40px;height:40px;border-radius:50%;border:1px solid #4a5058;background:transparent;color:#d8d5cf;font-size:20px;cursor:pointer}.stepper span{min-width:24px;text-align:center;font-size:17px}#screen-game,#screen-review{background:#23262b}.topbar{display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 8px) 12px 8px;min-height:calc(env(safe-area-inset-top) + 52px)}.bar-btn{background:#33383f;border:none;color:#d8d5cf;border-radius:10px;padding:10px 14px;font-size:15px;min-height:44px;cursor:pointer;white-space:nowrap}.bar-btn:active{filter:brightness(1.2)}.player-info{display:flex;align-items:center;gap:7px;padding:6px 12px;border-radius:12px;background:#2b2f35;opacity:.55;transition:opacity .2s,box-shadow .2s}.player-info.active-turn{opacity:1;box-shadow:0 0 0 2px #9a6a33}.player-name{font-size:15px}.captures{font-size:15px;color:#9a6a33;font-weight:600}.mini-stone{width:16px;height:16px;border-radius:50%;display:inline-block;flex:none}.mini-stone.black{background:radial-gradient(circle at 35% 30%,#555,#0a0a0a 70%)}.mini-stone.white{background:radial-gradient(circle at 35% 30%,#fff,#c9c9c9 70%)}.review-title{flex:1;text-align:center;font-size:16px;color:#cfd3d9}.player-info:first-of-type{margin-left:auto}.player-info:last-of-type{margin-right:auto}#turn-indicator{display:none}.board-wrap{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:6px}#game-canvas,#review-canvas{touch-action:none;border-radius:6px;box-shadow:0 10px 30px #00000073}.bottombar{display:flex;align-items:center;gap:10px;padding:10px 14px calc(env(safe-area-inset-bottom) + 10px)}.action-btn{flex:1;background:#33383f;border:none;color:#d8d5cf;border-radius:12px;padding:14px 0;font-size:16px;min-height:52px;cursor:pointer}.action-btn:active{filter:brightness(1.25)}.action-btn.primary{background:linear-gradient(180deg,#9a6a33,#7c5225);color:#fff}.action-btn.warn{color:#e08b8b}.action-btn:disabled{opacity:.35}.estimate-bar{position:absolute;left:8px;right:8px;top:8px;display:flex;align-items:center;justify-content:space-between;background:#141619e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:8px 14px;font-size:14px}.est-side{display:flex;align-items:center;gap:6px}.est-mid{color:#9a6a33;font-weight:600}.toast{position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:#141619eb;color:#f0ede8;padding:10px 18px;border-radius:20px;font-size:14px;pointer-events:none;white-space:nowrap;z-index:5}.scoring-hint{font-size:13px;color:#9aa0a8;text-align:center;flex:1}.move-counter{font-size:15px;color:#cfd3d9;min-width:72px;text-align:center}.review-controls .action-btn{flex:0 0 64px}dialog{border:none;background:transparent;padding:0}dialog::backdrop{background:#0009}.dialog-card{background:#2b2f35;border-radius:18px;padding:28px 24px;width:min(84vw,360px);text-align:center;display:flex;flex-direction:column;gap:16px}.dialog-card h2{font-weight:500;font-size:22px}.dialog-card p{color:#b9bec6;font-size:16px;line-height:1.6;white-space:pre-line}.dialog-actions{display:flex;gap:12px}.dialog-actions .btn{flex:1;min-height:48px;padding:10px;font-size:16px}@media(max-width:380px){.setting-row{flex-wrap:wrap}.setting-row .chip-group{justify-content:flex-start}}
