:root{--bg: #f4f2ec;--panel: #ffffff;--ink: #23211c;--muted: #77736a;--line: #d9d4c8;--p1: #2f6db5;--p2: #b5452f;--eye: #d6a21e;--hp: #3f9d55;--hp-low: #d0533a;--energy: #6b4fc4;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink)}#app{max-width:1280px;margin:0 auto;padding:16px}h1{font-size:20px;margin:0 0 12px}h2{font-size:15px;margin:0 0 8px}button,select,input{font:inherit}button{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:4px 10px;cursor:pointer}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button:disabled{opacity:.5;cursor:default}select,input{border:1px solid var(--line);border-radius:6px;padding:3px 6px;background:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}.grow{flex:1 1 0;min-width:280px}.muted{color:var(--muted)}.small{font-size:12px}.side-p1{color:var(--p1)}.side-p2{color:var(--p2)}.error{color:var(--hp-low);white-space:pre-wrap}.member{display:flex;gap:6px;margin-bottom:4px;align-items:center;flex-wrap:wrap}.member select:first-child{min-width:140px}.field{display:grid;grid-template-columns:24px repeat(3,minmax(92px,1fr));gap:4px}.field .hdr{text-align:center;font-size:12px;color:var(--muted)}.cell{min-height:92px;border:1px dashed var(--line);border-radius:8px;padding:4px 6px;background:#faf9f5;font-size:12px;position:relative}.cell.occupied{border-style:solid;background:#fff}.cell.eye{box-shadow:inset 0 0 0 2px var(--eye)}.cell.p1 .name{color:var(--p1)}.cell.p2 .name{color:var(--p2)}.cell.targetable{cursor:pointer;outline:2px solid #8bb7ea}.cell.selected{outline:3px solid var(--ink)}.cell .name{font-weight:600;font-size:13px}.bar{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin:2px 0}.bar>div{height:100%;background:var(--hp)}.bar.low>div{background:var(--hp-low)}.pips{color:var(--energy);letter-spacing:1px}.tag{display:inline-block;border-radius:4px;padding:0 4px;margin-right:2px;font-size:11px;background:#eee}.tag.status{background:#f3e0c8}.tag.def{background:#d9e6f5}.eye-mark{position:absolute;right:4px;top:2px;color:var(--eye);font-size:11px}.order-list{display:flex;gap:4px;flex-wrap:wrap}.order-list span{border-radius:4px;padding:0 6px;background:#eee}.order-list .p1{background:#dbe7f6}.order-list .p2{background:#f6dfd9}.cmd{display:grid;grid-template-columns:120px 1fr 1.6fr;gap:6px;align-items:center;margin-bottom:6px}.cmd select{width:100%}.log{max-height:520px;overflow:auto;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}.log .round{font-weight:700;margin-top:6px}@media(max-width:720px){.cmd{grid-template-columns:1fr}}.member.skills{padding-left:12px;margin-bottom:10px}.member.skills select{max-width:220px;font-size:12px}.frozen-hint{font-size:11px;color:#2f6db5;background:#e3eefb;border-radius:4px;padding:0 4px;display:inline-block}.order-list sup{font-size:10px;color:var(--p1);margin-left:2px}.cell .talent{color:#8a5a00}.indiv.sel{background:#eef3fa;border-radius:6px}table.stats{border-collapse:collapse;margin-bottom:6px}table.stats td,table.stats th{padding:2px 10px 2px 0;text-align:right;font-size:13px}table.stats td:first-child{text-align:left}.veins{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px}.vein h3{font-size:13px;margin:4px 0}.tier{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:3px 0;border-top:1px dotted var(--line)}.tier.sealed{opacity:.55}.tier-no{font-size:11px;color:var(--muted);width:16px}.node{font-size:12px;padding:2px 6px;border-radius:6px;border:1px solid var(--line);background:#fff;display:inline-flex;gap:4px;align-items:center}.node.lit{background:#dff0e2;border-color:#7fbf8c;color:#1f5e2c}.node.open{background:#fff7dd;border-color:var(--eye);cursor:pointer}.node.locked{background:#f3f1ec;color:var(--muted)}.node .cost{font-size:10px;color:var(--muted)}.gate{margin-top:6px;padding:6px;border:1px solid var(--eye);border-radius:8px;background:#fffaf0;font-size:12px}.gate.lit{border-color:#7fbf8c;background:#eef8f0}.form-section{margin-top:10px}.dex-line ul{margin:4px 0;padding-left:18px}.dex-form.unknown{color:var(--muted)}.debug{border-style:dashed}.encounter{padding:4px 0;border-top:1px dotted var(--line)}h3{font-size:13px;margin:8px 0 4px}.node:disabled{opacity:1;cursor:default}
