:root{--bg:#1b1b22;--card:#262631;--line:#3a3a48;--text:#ececf1;--muted:#9a9aab;--accent:#ff7f27;--gold:#ffd84a;--danger:#ff4d5e;--ok:#3ccf6e}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:13px/1.4 system-ui,sans-serif}#app{padding:8px 10px 16px}h1{color:var(--gold);letter-spacing:1px;align-items:center;gap:8px;margin:0 0 6px;font:30px VT323,monospace;display:flex}h1 .heart{color:#ff2a2a}h2{color:var(--accent);margin:14px 0 6px;font:22px VT323,monospace}.tabs{background:var(--bg);z-index:2;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:10px;padding:4px 0;display:grid;position:sticky;top:0}.tabs button{color:var(--muted);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 0;font:18px VT323,monospace}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--gold);border-color:var(--gold);background:#2a2410}.filters{gap:4px;margin-bottom:6px;display:flex}.filters button{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;flex:1;padding:1px 0;font:17px VT323,monospace}.filters button.on{color:var(--gold);border-color:var(--gold)}details.sec{border:1px solid var(--line);background:var(--card);border-radius:6px;margin:8px 0;padding:2px 10px 8px}details.sec:not([open]){padding-bottom:2px}details.sec>summary{cursor:pointer;color:var(--accent);padding:4px 0;font:20px VT323,monospace;list-style:none}details.sec>summary::-webkit-details-marker{display:none}details.sec>summary:before{content:"▸ ";color:var(--muted)}details.sec[open]>summary:before{content:"▾ "}.hero{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.hero-title{color:var(--gold);justify-content:space-between;align-items:baseline;font:26px VT323,monospace;display:flex}.hero-title .muted{font:13px system-ui,sans-serif}.hpbar.wide{flex:1;width:auto;height:10px}.phase{margin-top:6px}.presets{flex-direction:column;gap:6px;margin-top:6px;display:flex}.preset{background:var(--card);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.preset:hover{border-color:#55556a}.preset-main{flex-direction:column;flex:1;min-width:0;display:flex}.preset-main b{font:21px VT323,monospace}.preset-main .muted{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.preset-actions{flex-direction:column;gap:4px;display:flex}.tag{color:var(--gold);opacity:.8;margin-top:2px;font-size:11px}.card .dur{text-align:center;flex:none;width:54px;padding:4px}.card-head .dot{border-radius:50%;flex:none;width:10px;height:10px}.card.open{border-color:#55556a}label{color:var(--muted);margin:8px 0 3px;font-size:12px;display:block}input[type=text],input[type=number],input[type=url],select,textarea{width:100%;color:var(--text);border:1px solid var(--line);font:inherit;background:#111117;border-radius:4px;padding:5px 7px}textarea{resize:vertical;min-height:54px}input[type=range]{width:100%;accent-color:var(--accent)}input[type=color]{border:1px solid var(--line);background:0 0;border-radius:4px;width:44px;height:28px;padding:0}.row{align-items:center;gap:8px;display:flex}.row>*{flex:1}.row>.shrink{flex:none}.grid2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:0 8px;display:grid}.check{color:var(--text);align-items:center;gap:6px;margin:6px 0;font-size:13px;display:flex}button{font:inherit;cursor:pointer}.btn{color:var(--text);border:1px solid var(--line);background:#33333f;border-radius:4px;padding:5px 10px}.btn:hover{border-color:var(--accent)}.btn.big{width:100%;margin-top:6px;padding:6px;font:22px VT323,monospace}.btn.go{border-color:var(--accent);color:var(--gold);background:#3a2410}.btn.stop{border-color:var(--danger);color:#ffb3bc;background:#3a1018}.btn.small{padding:2px 7px;font-size:12px}.muted{color:var(--muted);font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:6px;margin:8px 0;padding:8px 10px}.card-head{align-items:center;gap:6px;display:flex}.card-head .num{color:var(--gold);width:20px;font:20px VT323,monospace}.card-head select{flex:1}.souls{grid-template-columns:1fr 1fr;gap:6px;display:grid}.soul-opt{border:2px solid var(--line);cursor:pointer;background:var(--card);border-radius:6px;padding:4px 8px}.soul-opt.on{border-color:var(--gold)}.soul-opt b{font:20px VT323,monospace;display:block}.preview{max-width:100%;max-height:70px;image-rendering:pixelated;border-radius:4px;margin-top:6px;display:block}.player{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:4px 0;display:flex}.player .dot{border-radius:50%;flex:none;width:10px;height:10px}.player .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.hpbar{background:#600;border-radius:2px;flex:none;width:70px;height:8px;overflow:hidden}.hpbar div{background:var(--gold);height:100%}.status{border:1px solid var(--line);background:#111117;border-radius:4px;padding:6px 8px;font:20px VT323,monospace}.status.on{color:var(--ok);border-color:var(--ok)}.log{border:1px solid var(--line);background:#111117;border-radius:4px;max-height:140px;padding:6px;font-size:12px;overflow:auto}.log div{border-bottom:1px dashed #2c2c38;padding:2px 0}.hidden{display:none!important}.btn:disabled{opacity:.4;cursor:default;border-color:var(--line)}.phase select{min-width:0}.phase-pos{margin:2px 0 0 2px}.row.dodge>div{flex:1}
