:root{--text:#1f2937;--muted:#6b7280;--border:#d1d5db;--card:#fff;--panel:#f7f7f8;--accent:#2563eb;--safe:#86efac;--page:#f3f4f6;--gold:#b7791f}
*{box-sizing:border-box}
html,body{margin:0;background:var(--page);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button{font:inherit;color:inherit}
#mine{width:min(100%,760px);margin:auto;padding:16px}
.brand{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 14px}.brand h1{margin:0;font-size:24px;letter-spacing:.02em}.brand span{font-size:12px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.stat{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:11px 12px}.label{font-size:12px;color:var(--muted)}.value{font-size:18px;font-weight:700;margin-top:3px}.tool-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.tool-line .value{white-space:nowrap}.tool-line button{border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:#fff;padding:6px 10px;cursor:pointer}.tool-line button[aria-pressed=true]{background:#1e40af}.tool-line button:disabled{opacity:.4;cursor:not-allowed}
.objective-card{border:2px solid var(--accent);background:#eff6ff;border-radius:16px;padding:14px 15px;margin-bottom:10px;box-shadow:0 5px 16px rgba(37,99,235,.08)}.eyebrow{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.04em}.objective-title{font-size:20px;font-weight:800;margin-top:3px}.objective-copy{font-size:14px;line-height:1.55;margin-top:4px}.objective-progress{font-size:13px;color:var(--muted);margin-top:5px}
.toast{position:fixed;top:112px;left:50%;z-index:30;width:min(calc(100vw - 24px),460px);border:1px solid #f3c66b;background:#fffbeb;border-radius:12px;padding:10px 13px;line-height:1.45;box-shadow:0 8px 24px rgba(15,23,42,.16);transform:translate(-50%,-8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast:not(.hidden):not(.toast-leaving){transform:translate(-50%,0);opacity:1}.toast.toast-leaving{transform:translate(-50%,-8px);opacity:0}.toast-title{font-weight:750}.toast-copy{font-size:13px;margin-top:2px}.toast-copy:empty{display:none}
.panel{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:12px;margin-top:12px;font-size:14px;line-height:1.65}.rules p{margin:5px 0 0}.debug-panel{margin-top:14px;border:1px solid var(--border);border-radius:14px;background:#eef0f3}.debug-panel summary{padding:11px 12px;cursor:pointer;font-weight:700;color:#4b5563}.debug-content{padding:0 12px 12px}.debug-content .panel{margin-top:0}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.toolbar button{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:9px 11px;cursor:pointer}.toolbar button:disabled{opacity:.4;cursor:not-allowed}#diff{margin-bottom:8px;font-size:13px;color:var(--muted)}#board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;border:1px solid var(--border);background:var(--panel);padding:8px;border-radius:18px;touch-action:manipulation}.cell{position:relative;aspect-ratio:1;border:0;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;border-radius:11px;min-width:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.cell::before{content:"";position:absolute;inset:6%;border-radius:38%;border:1px solid var(--border);background:var(--card)}.cell.known::before{background:#dcfce7}.cell.current::before{outline:3px solid var(--accent);outline-offset:1px}.cell.frontier::before{box-shadow:0 0 0 2px rgba(37,99,235,.2)}.cell.certified::before{outline:3px solid var(--safe);outline-offset:2px}.cell.wall{visibility:hidden}.num{position:relative;z-index:2;font-size:15px;font-weight:750}.miner{position:absolute;z-index:3;right:0;bottom:0;font-size:10px}.gold .num,.exit .num{font-size:18px}
#msg,#proof{margin-top:10px;border:1px solid var(--border);background:var(--card);padding:12px;border-radius:14px;font-size:14px;line-height:1.6}#proof{background:var(--panel)}.note{margin-top:8px;font-size:12px;color:var(--muted)}.hidden{display:none!important}
.transition{position:fixed;left:50%;bottom:24px;z-index:20;display:flex;gap:12px;align-items:center;max-width:calc(100vw - 32px);padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 8px 30px rgba(15,23,42,.18);transform:translateX(-50%)}.transition button{border:1px solid var(--border);border-radius:8px;background:var(--accent);color:#fff;padding:7px 10px}
.modal{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.48)}.modal-card{width:min(100%,420px);padding:22px;border-radius:18px;background:var(--card);box-shadow:0 18px 60px rgba(15,23,42,.3)}.modal-card h2{margin:0 0 12px}.modal-card p{line-height:1.6}.modal-emphasis{font-size:20px;font-weight:750}.modal-card button{width:100%;border:0;border-radius:10px;background:var(--accent);color:#fff;padding:11px;cursor:pointer}.modal-card button:disabled{opacity:.5;cursor:not-allowed}
@media(min-width:640px){.stats{grid-template-columns:repeat(4,1fr)}}@media(max-width:420px){#mine{padding:10px}.brand h1{font-size:21px}.brand{margin-bottom:10px}#board{gap:2px;padding:6px}.num{font-size:13px}.objective-title{font-size:18px}.tool-line button{padding:6px 8px}.toast{top:104px}}
