:root{
  --bg:#0a2a20;--felt:#0f3b2c;--line:rgba(255,255,255,.1);
  --gold:#ffd36e;--ink:#eaf5ee;--muted:#9dbbab;--board:#e9c188;--board2:#e0b274;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}
html,body{height:100%}
body{font-family:"PingFang SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;color:var(--ink);
  background:radial-gradient(1000px 500px at 50% -10%,#155c44,transparent 60%),linear-gradient(160deg,#0a2a20,#0c3326 60%,#072019);
  min-height:100vh;display:flex;justify-content:center}
.app{width:100%;max-width:560px;padding:14px;display:flex;flex-direction:column;gap:14px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:10px}
.logo{font-size:26px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.4))}
.brand-txt b{font-size:20px;letter-spacing:2px}
.brand-txt small{display:block;font-size:11px;color:var(--muted);letter-spacing:1px}
.tools{display:flex;gap:8px}
.tool{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:8px 12px;font-size:13px;cursor:pointer;transition:.15s}
.tool:hover{background:rgba(255,255,255,.16)}
.board-wrap{position:relative;width:100%;aspect-ratio:1/1;background:linear-gradient(160deg,var(--board),var(--board2));
  border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.4),inset 0 0 0 6px rgba(120,80,30,.25);overflow:hidden}
#board{width:100%;height:100%;display:block;cursor:pointer;touch-action:manipulation}
.status{text-align:center;font-size:14px;color:var(--ink);min-height:20px;
  background:rgba(0,0,0,.25);border-radius:10px;padding:8px}
.side .panel{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:14px;padding:14px}
.row{display:flex;justify-content:space-between;font-size:14px;padding:6px 0;border-bottom:1px dashed var(--line)}
.row b{color:var(--gold)}
.tip{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}
.modal[hidden]{display:none}
.modal-card{background:linear-gradient(160deg,#114a37,#0c3326);border:1px solid var(--line);border-radius:18px;
  padding:26px 22px;max-width:340px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.modal-card h2{font-size:24px;margin-bottom:6px}
.modal-card .sub{color:var(--muted);font-size:13px;margin-bottom:16px}
.modal-card .big{font-size:40px;margin:8px 0}
.modal-btns{display:flex;gap:10px;justify-content:center;margin-top:18px}
.btn{background:rgba(255,255,255,.1);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 18px;font-size:14px;cursor:pointer}
.btn.primary{background:linear-gradient(180deg,#ffe08a,#ffc24d);color:#0a2a20;font-weight:800;border:none}
@media(max-width:480px){.app{max-width:100%}.brand-txt b{font-size:18px}}
