:root{color:#b8a080;font-family:Geneva,Chicago,Monaco,Courier New,monospace}*{box-sizing:border-box}body{color:#b8a080;background:#0e0a0c radial-gradient(#150e12 0%,#0e0a0c 60%);min-height:100vh;margin:0}a{color:#c4a44e}.pl{--gold:#c4a44e;--text:#b8a080;--line:#4a2030;--panel:#140e1299;--panel2:linear-gradient(180deg, #1a1018, #120c10);--red:#c0392b;--green:#3fa34d;color:var(--text);max-width:1200px;margin:0 auto;padding:12px;font-size:14px}.pl h1,.pl h2,.pl h3{color:var(--gold);margin:0}.pl button{cursor:pointer;font-family:inherit}.select-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:20px;display:grid}.select-card{border:1px solid var(--line);background:var(--panel2);color:var(--text);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.select-card:hover{border-color:var(--gold)}.select-name{color:var(--gold);font-size:16px;font-weight:700}.select-class{opacity:.7;margin-top:2px;font-size:12px}.pl-header{border-bottom:2px solid var(--line);align-items:center;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.pl-title{color:var(--gold);cursor:pointer;font-size:20px;font-weight:700}.pl-sub{opacity:.7;cursor:pointer;border-bottom:1px dotted;font-size:12px}.pl-close{border:1px solid var(--line);background:var(--panel2);width:30px;height:30px;color:var(--gold);border-radius:6px}.tabbar{gap:6px;margin-bottom:12px;display:flex}.tabbar button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;flex:1;padding:10px}.tabbar button.active{border-color:var(--gold);color:var(--gold)}@media (width>=980px){.tabbar{display:none}.panels{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:16px;display:grid}.panel{display:block!important}.desktop-title{display:block}}@media (width<=979px){.panel{display:none}.panel.active{display:block}.desktop-title{display:none}}.desktop-title{color:var(--gold);border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:4px}.card{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-bottom:10px;padding:10px 12px}.row{align-items:center;gap:8px;display:flex}.spread{justify-content:space-between}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--gold);border-radius:6px;padding:6px 10px}.btn:disabled{opacity:.4;cursor:default}.iconbtn{width:30px;height:30px;padding:0}.crit{color:var(--green);font-weight:700}.fail{color:var(--red);font-weight:700}.muted{opacity:.6}.pending{color:var(--gold);font-style:italic}.acc-head{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--gold);justify-content:space-between;align-items:center;padding:4px 0;font-weight:700;display:flex}.acc-arrow{transition:transform .15s}.acc-arrow.open{transform:rotate(90deg)}.hp-bar-track{border:1px solid var(--line);background:#1a0f12;border-radius:7px;height:14px;overflow:hidden}.hp-bar-fill{background:var(--green);height:100%;transition:width .25s}.hp-bar-fill.mid{background:#d68a2e}.hp-bar-fill.low{background:var(--red)}.switch{border:1px solid var(--line);background:#1a0f12;border-radius:11px;width:38px;height:22px;position:relative}.switch.on{background:var(--green)}.switch:after{content:"";background:var(--gold);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.switch.on:after{background:#fff;left:18px}.pip{border:1px solid var(--gold);cursor:pointer;width:16px;height:16px;margin:2px;display:inline-block;transform:rotate(45deg)}.pip.spent{background:var(--gold);opacity:.35}.chip{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:6px;margin:3px;padding:4px 8px;display:inline-block}.chip.passive{opacity:.8;border-style:dashed}.chip.cond{border-color:var(--red);color:#e08}.backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border:1px solid var(--gold);background:#140e12;border-radius:10px;width:90%;max-width:420px;padding:18px}.popup{z-index:60;border:1px solid var(--gold);background:#140e12;border-radius:8px;max-width:280px;padding:10px 12px;font-size:12px;position:fixed;box-shadow:0 4px 16px #0009}.input{border:1px solid var(--line);color:var(--text);background:#1a0f12;border-radius:6px;padding:6px 8px;font-family:inherit}.dm-top{border-bottom:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.dm-campaign{color:var(--gold);flex:1;font-size:18px;font-weight:700}.dm-grid{grid-template-columns:290px 1fr 300px;align-items:start;gap:12px;display:grid}@media (width<=1100px){.dm-grid{grid-template-columns:1fr}}.story-area{border:1px solid var(--line);background:var(--panel);border-radius:8px;min-height:320px;max-height:60vh;padding:12px;overflow-y:auto}.story-entry{margin-bottom:14px}.story-entry .label{color:var(--gold);margin-bottom:3px;font-size:12px;font-weight:700}.story-entry.user .label{color:#9ab}.story-entry .text p{margin:0 0 8px;line-height:1.5}.story-entry .text h2,.story-entry .text h3,.story-entry .text h4{color:var(--gold);margin:8px 0 4px}.story-entry .text ul{margin:4px 0 8px 18px}.mode-badge{border:1px solid var(--line);opacity:.8;border-radius:4px;margin-left:6px;padding:0 4px;font-size:10px}.mode-badge.mode-action{color:var(--gold)}.welcome-message{opacity:.6;text-align:center;padding:30px 10px}.prompt-tabs{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.prompt-tabs button{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:6px 6px 0 0;padding:6px 10px;font-size:12px}.prompt-tabs button.active{border-color:var(--gold);color:var(--gold)}.prompt-box{gap:8px;margin-top:6px;display:flex}.prompt-box textarea{resize:vertical;flex:1;min-height:56px}.budget{margin-top:8px;font-size:12px}.budget-track{background:#1a0f12;border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.budget-fill{background:linear-gradient(90deg,#3fa34d,#c4a44e,#c0392b);height:100%}.req-row{align-items:center;gap:6px;padding:5px 0;font-size:13px;display:flex}.req-row .approve{color:var(--green)}.req-row .reject{color:var(--red)}.badge-count{opacity:.7;font-size:11px}
