:root{--bg:#141824;--surface:#1d2433;--surface2:#232b3d;--line:#333d54;--ink:#e9e4d6;--ink-dim:#9ba3b4;--gold:#c9a96a;--gold-dim:#8a7448;--mou:#c25b4a;--ken:#5e7ba6;--gi:#7a5ea6;--ran:#b08a3e;--yu:#5e9e7a;--danger:#d08070}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--bg);color:var(--ink);background-image:radial-gradient(80% 50% at 50% -10%,#232b3d 0%,#0000 60%);min-height:100vh;font-family:Zen Kaku Gothic New,system-ui,sans-serif}.wrap{max-width:860px;margin:0 auto;padding:20px 14px 60px}h1{letter-spacing:.12em;font-family:Shippori Mincho,serif;font-size:22px;font-weight:800}h1 .sub{color:var(--gold);letter-spacing:.3em;margin-bottom:4px;font-size:11px;font-weight:500;display:block}.lede{color:var(--ink-dim);margin-top:8px;font-size:12.5px;line-height:1.8}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:16px}label{color:var(--gold);letter-spacing:.18em;margin-bottom:6px;font-size:11px;display:block}textarea,input[type=text]{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.6}textarea:focus,input:focus{border-color:var(--gold-dim);outline:none}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}button{background:var(--gold);color:#191510;letter-spacing:.06em;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700}button:disabled{opacity:.4;cursor:default}button.ghost{color:var(--gold);border:1px solid var(--gold-dim);background:0 0}button.mini{border-radius:5px;padding:3px 10px;font-size:11.5px}.status{color:var(--ink-dim);font-size:12px}.status.err{color:var(--danger)}.dice{color:var(--ink-dim);border-left:2px solid var(--gold-dim);margin-top:10px;padding:3px 10px;font-size:11.5px;line-height:1.8}.dice b{color:var(--gold)}details.settings{color:var(--ink-dim);margin-top:10px;font-size:12px}details.settings summary{cursor:pointer;color:var(--gold-dim)}.toggle{color:var(--ink-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.decklist{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px;display:grid}.dcard{background:var(--surface2);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;position:relative}.dcard .nm{padding-right:20px;font-family:Shippori Mincho,serif;font-size:12.5px;font-weight:700}.dcard .meta{color:var(--ink-dim);margin-top:3px;line-height:1.5}.dcard .cost{background:radial-gradient(circle at 35% 30%,#e7cf9a,var(--gold) 60%,#8a6e38);color:#20180c;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:6px;right:6px}.hud{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;font-size:12.5px;display:flex}.hud .nm{font-family:Shippori Mincho,serif;font-weight:700}.hud .hp{color:var(--danger);font-size:15px;font-weight:800}.hud .armor{color:var(--ken)}.hud .mana{color:#7fb2e5;font-weight:700}.hud.me{border-color:var(--gold-dim)}.hud .sub{color:var(--ink-dim);font-size:11px}.board{flex-wrap:nowrap;justify-content:center;gap:6px;min-height:86px;margin-top:8px;display:flex;overflow-x:auto}.unit{background:var(--surface2);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:none;width:96px;padding:6px;font-size:10.5px;transition:border-color .12s;position:relative}.unit .nm{height:29px;font-family:Shippori Mincho,serif;font-size:11px;font-weight:700;line-height:1.3;overflow:hidden}.unit .st{font-size:13px;font-weight:800;position:absolute;bottom:4px;right:6px}.unit .st .a{color:#e7cf9a}.unit .st .h{color:var(--danger)}.unit .kw{color:var(--gold);font-size:9.5px}.unit.frozen{opacity:.55;border-color:var(--ken)}.unit.can-act{border-color:var(--gold-dim)}.unit.selected{border-color:var(--gold);box-shadow:0 0 8px #c9a96a66}.unit.targetable{border-color:var(--danger);animation:1s infinite pulse;box-shadow:0 0 8px #d0807073}@keyframes pulse{50%{box-shadow:0 0 14px #d08070b3}}.hud.targetable{border-color:var(--danger);cursor:pointer;box-shadow:0 0 8px #d0807073}.logpane{background:var(--bg);border:1px solid var(--line);height:120px;color:var(--ink-dim);border-radius:8px;margin-top:8px;padding:8px 10px;font-size:11.5px;line-height:1.8;overflow-y:auto}.logpane .new{color:var(--ink)}.hand{gap:6px;margin-top:8px;padding-bottom:6px;display:flex;overflow-x:auto}.hcard{background:linear-gradient(170deg,var(--surface2),var(--surface));border:1px solid var(--line);cursor:pointer;border-radius:8px;flex:none;width:110px;min-height:96px;padding:7px;font-size:10.5px;position:relative}.hcard .nm{padding-right:20px;font-family:Shippori Mincho,serif;font-size:11.5px;font-weight:700;line-height:1.3}.hcard .cost{background:radial-gradient(circle at 35% 30%,#e7cf9a,var(--gold) 60%,#8a6e38);color:#20180c;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:flex;position:absolute;top:5px;right:5px}.hcard .eff{color:var(--ink-dim);margin-top:3px;font-size:9.8px;line-height:1.45}.hcard .st{font-size:12px;font-weight:800;position:absolute;bottom:4px;right:7px}.hcard .st .a{color:#e7cf9a}.hcard .st .h{color:var(--danger)}.hcard.playable{border-color:var(--gold-dim)}.hcard.selected{border-color:var(--gold);box-shadow:0 0 8px #c9a96a66}.hcard.dim{opacity:.45;cursor:default}.actionbar{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.hintbar{color:var(--gold);min-height:16px;font-size:11.5px}.overlay{z-index:10;background:#0a0c14d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .box{background:var(--surface);border:1px solid var(--gold-dim);text-align:center;border-radius:12px;width:90%;max-width:420px;padding:28px}.overlay h2{letter-spacing:.2em;font-family:Shippori Mincho,serif;font-size:24px}.overlay .win{color:var(--gold)}.overlay .lose{color:var(--ink-dim)}.overlay .comm{color:var(--ink);text-align:left;border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-family:Shippori Mincho,serif;font-size:12.5px;line-height:1.9}.hidden{display:none!important}.editor{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px;display:none}.editor.on{display:block}.editor input{margin-top:4px;padding:5px 8px;font-size:11.5px}.steppers{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.stepper{align-items:center;gap:5px;font-size:11px;display:flex}.stepper .val{text-align:center;min-width:18px;font-size:12px;font-weight:700}.budgetline{color:var(--ink-dim);margin-top:6px;font-size:9.5px}.budgetline .track{background:var(--bg);border-radius:2px;height:3px;margin-top:2px;overflow:hidden}.budgetline .fill{background:var(--yu);height:100%}.budgetline.tight .fill{background:var(--ran)}.edmsg{color:var(--ran);min-height:12px;margin-top:5px;font-size:10px}.creditbar{color:var(--gold);border:1px solid var(--gold-dim);border-radius:99px;padding:4px 12px;font-size:11.5px}.lb-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:6px 2px;font-size:12.5px;display:flex}.lb-row .rank{color:var(--gold);width:28px;font-weight:800}.lb-row .nm{flex:1;font-family:Shippori Mincho,serif;font-weight:700}.lb-row .rec{color:var(--ink-dim);font-size:11.5px}
