:root{
  --accent:#c98a3a; --accent2:#8a9a5b; --warn:#c0533a; --gold:#e6c259; --ink:#f0e6d2; --dim:#a99a80;
  --panel:rgba(28,22,16,.95); --line:rgba(201,138,58,.28);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:#0e0b07;color:var(--ink);overflow:hidden;font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none}
#game{position:fixed;inset:0;width:100vw;height:100vh;display:block;background:#1c140c;image-rendering:pixelated;z-index:0;cursor:crosshair}
.hidden{display:none !important}
.screen{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 25%,#3a2a16 0%,#1c1209 50%,#0e0b07 100%)}
.menu-card{width:min(540px,93vw);background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.logo{font-weight:700;font-size:34px;letter-spacing:.14em;text-align:center;color:#fff;text-shadow:0 0 26px rgba(201,138,58,.5)}
.logo span{color:var(--accent)} .logo.small{font-size:22px}
.tagline{text-align:center;color:var(--dim);font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:8px 0 20px}
.tabs{display:flex;gap:8px;margin-bottom:16px}
.tab{flex:1;padding:10px 6px;border:1px solid var(--line);background:rgba(201,138,58,.05);color:var(--dim);border-radius:10px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:.18s}
.tab:hover{color:var(--ink)} .tab.active{background:rgba(201,138,58,.16);color:#fff;border-color:var(--accent);box-shadow:0 0 18px rgba(201,138,58,.22)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:5px}
.field span{font-size:11px;color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
.field input,.field select{background:#1c1209;border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:10px;font-family:inherit;font-size:14px;outline:none}
.field input:focus,.field select:focus{border-color:var(--accent)}
.play{margin-top:18px;width:100%;padding:14px;border:none;border-radius:11px;cursor:pointer;background:linear-gradient(90deg,var(--accent),#a86f2c);color:#1c1205;font-family:inherit;font-weight:700;font-size:17px;letter-spacing:.06em;transition:.18s;box-shadow:0 10px 30px rgba(201,138,58,.28)}
.play:hover{filter:brightness(1.07);transform:translateY(-1px)}
.menu-msg{min-height:18px;text-align:center;color:var(--warn);font-size:13px;margin-top:10px;font-family:'Space Mono',monospace}
.howto{margin-top:16px;font-size:12px;color:var(--dim);line-height:1.7;border-top:1px solid var(--line);padding-top:12px}
.howto b{color:var(--accent)}
.credit{margin-top:16px;color:#6b5f48;font-size:11px;font-family:'Space Mono',monospace}.credit i{color:var(--dim)}
.loadbox{width:min(440px,90vw);text-align:center}#load-stage{margin:16px 0 10px;font-size:15px}
.bar{height:14px;background:#1c1209;border:1px solid var(--line);border-radius:8px;overflow:hidden}#load-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .12s}

#hud{position:fixed;inset:0;z-index:10;pointer-events:none}
.topbar{position:absolute;top:0;left:0;right:0;height:46px;display:flex;align-items:center;gap:16px;padding:0 14px;background:linear-gradient(180deg,rgba(14,11,7,.94),rgba(14,11,7,.4));pointer-events:auto}
.tb-left{display:flex;align-items:center;gap:10px;min-width:160px}
.clock{font-family:'Space Mono',monospace;font-size:13px}
.net-tag{font-family:'Space Mono',monospace;font-size:11px;color:var(--accent);background:rgba(201,138,58,.1);padding:3px 8px;border-radius:8px;border:1px solid var(--line)}
.status{flex:1;text-align:center;font-family:'Space Mono',monospace;font-size:12px;color:var(--dim)}
.tb-right{display:flex;align-items:center;gap:10px}
.score{font-family:'Space Mono',monospace;font-size:15px;color:var(--gold);font-weight:700}
.hbtn{padding:7px 12px;border:1px solid var(--line);background:rgba(201,138,58,.06);color:var(--ink);border-radius:8px;font-family:inherit;font-weight:600;font-size:12px;cursor:pointer}
.hbtn:hover{border-color:var(--accent)} .hbtn.active{background:var(--accent2);color:#10140a;border-color:var(--accent2)}
.hbtn.finish{background:rgba(192,83,58,.16);border-color:rgba(192,83,58,.5)}

.toolbar{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;pointer-events:auto;flex-wrap:wrap;justify-content:center;max-width:94vw}
.tool{display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:7px 4px;background:rgba(28,22,16,.9);border:1.5px solid var(--line);border-radius:10px;cursor:pointer;transition:.12s}
.tool:hover{border-color:var(--accent)} .tool.active{border-color:var(--accent);background:rgba(201,138,58,.16);box-shadow:0 0 14px rgba(201,138,58,.3)}
.tool .ic{font-size:20px} .tool .nm{font-size:10px;color:var(--dim)} .tool.active .nm{color:#fff}

.findtray{position:absolute;right:12px;top:54px;width:190px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;pointer-events:auto}
.findtray h4{margin:0 0 6px;font-family:'Space Mono',monospace;font-size:11px;color:var(--accent);letter-spacing:.08em}
.find-item{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 0;color:var(--ink)}
.find-item .dot{width:9px;height:9px;border-radius:50%;flex:none}
.find-empty{color:var(--dim);font-size:11px;font-style:italic}

.inspect{position:absolute;left:12px;bottom:96px;width:240px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;pointer-events:auto}
.inspect .it-name{font-weight:700;font-size:15px} .inspect .it-sub{font-family:'Space Mono',monospace;font-size:11px;color:var(--dim);margin-bottom:8px}
.inspect .it-bar{margin:5px 0}.inspect .lbl{display:flex;justify-content:space-between;font-size:11px;color:var(--dim);font-family:'Space Mono',monospace}
.inspect .track{height:7px;background:#1c1209;border-radius:5px;overflow:hidden;margin-top:2px}.inspect .fill{height:100%}
.inspect .acts{display:flex;gap:6px;margin-top:10px}
.inspect button{flex:1;padding:8px;border:none;border-radius:8px;font-family:inherit;font-weight:700;cursor:pointer;font-size:12px}
.inspect .rec{background:var(--accent2);color:#10140a}.inspect .lift{background:var(--accent);color:#1c1205}.inspect button:disabled{background:#3a3324;color:#6b5f48;cursor:not-allowed}

.toast{position:absolute;bottom:96px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:4px;align-items:center;pointer-events:none}
.toast div{background:rgba(28,22,16,.92);border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-size:13px;animation:tin .3s ease,tout .4s ease 2.6s forwards}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1}}@keyframes tout{to{opacity:0;transform:translateY(-8px)}}

.overlay{position:fixed;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:rgba(8,6,4,.8);backdrop-filter:blur(4px)}
.results-card{width:min(560px,93vw);max-height:88vh;overflow:auto;background:linear-gradient(180deg,rgba(201,138,58,.08),var(--panel));border:1px solid var(--accent);border-radius:16px;padding:26px;box-shadow:0 0 60px rgba(201,138,58,.2)}
.results-title{font-family:'Space Mono',monospace;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:15px;margin-bottom:14px}
.results-body{line-height:1.6;font-size:14px}.results-body .big{font-size:30px;font-weight:700;color:var(--gold);margin:6px 0}
.results-close{margin-top:18px;padding:11px 18px;border:1px solid var(--accent);background:rgba(201,138,58,.12);color:var(--accent);border-radius:9px;font-family:inherit;font-weight:600;cursor:pointer}
@media (max-width:560px){.fields{grid-template-columns:1fr}.findtray{width:130px}.inspect{width:170px}}
