/* Wizardry 8 Party Planner — all styles scoped under .wiz8-planner so they never leak into the theme */
.wiz8-planner{
  --w8-bg:#14110f; --w8-panel:#1e1a16; --w8-panel2:#26211b; --w8-line:#3a3128;
  --w8-ink:#efe7db; --w8-muted:#a89a86; --w8-gold:#d9a441; --w8-gold2:#f0c46b;
  --w8-green:#6bbf59; --w8-red:#d9605a;
  --w8-radius:12px;
  --w8-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --w8-sans:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--w8-bg); color:var(--w8-ink); font-family:var(--w8-sans); line-height:1.5;
  -webkit-font-smoothing:antialiased; box-sizing:border-box;
  display:block; max-width:620px; margin:0 auto; padding:18px 16px 26px; border-radius:16px;
}
.wiz8-planner *,.wiz8-planner *::before,.wiz8-planner *::after{box-sizing:border-box}
.wiz8-planner .w8-apptitle{font-size:20px;font-weight:800;color:var(--w8-gold2);letter-spacing:.3px;margin-bottom:14px}

.wiz8-planner .w8-col{display:flex;flex-direction:column;gap:16px}
.wiz8-planner .w8-panel{background:var(--w8-panel);border:1px solid var(--w8-line);border-radius:var(--w8-radius);padding:16px}
.wiz8-planner .w8-h2{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:var(--w8-muted);margin:0 0 12px;font-weight:700}

/* character panel */
.wiz8-planner .w8-cname{width:100%;background:var(--w8-panel2);color:var(--w8-gold2);border:1px solid var(--w8-line);border-radius:8px;padding:10px 12px;font-size:18px;font-weight:700;font-family:var(--w8-sans);letter-spacing:.4px;margin-bottom:12px}
.wiz8-planner .w8-cname::placeholder{color:var(--w8-muted);font-weight:600}
.wiz8-planner .w8-cname:focus{outline:2px solid var(--w8-gold);outline-offset:1px}
.wiz8-planner .w8-charsel{display:flex;flex-direction:column;gap:12px}
.wiz8-planner .w8-fld{display:block;font-size:12px;color:var(--w8-muted);margin:0 0 5px;text-transform:uppercase;letter-spacing:.8px}
.wiz8-planner select{width:100%;background:var(--w8-panel2);color:var(--w8-ink);border:1px solid var(--w8-line);border-radius:8px;padding:9px 10px;font-size:14px;font-family:var(--w8-sans)}
.wiz8-planner select:focus{outline:2px solid var(--w8-gold);outline-offset:1px}

/* class path chips */
.wiz8-planner .w8-classpath{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wiz8-planner .w8-cchip{display:inline-flex;align-items:center;gap:6px;background:var(--w8-panel2);border:1px solid var(--w8-line);border-radius:20px;padding:4px 8px;font-size:13px}
.wiz8-planner .w8-cchip.w8-start{border-color:var(--w8-gold)}
.wiz8-planner .w8-cchip .w8-cname2{font-weight:600;color:var(--w8-gold2)}
.wiz8-planner .w8-cchip .w8-startbadge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--w8-bg);background:var(--w8-gold);border-radius:10px;padding:1px 6px;font-weight:700}
.wiz8-planner .w8-cchip .w8-cx,.wiz8-planner .w8-cchip .w8-promote{background:none;border:none;color:var(--w8-muted);cursor:pointer;font-size:12px;padding:0 1px;line-height:1}
.wiz8-planner .w8-cchip .w8-cx:hover{color:var(--w8-red)}
.wiz8-planner .w8-cchip .w8-promote:hover{color:var(--w8-gold2)}
.wiz8-planner .w8-addclass{background:var(--w8-panel2);color:var(--w8-ink);border:1px dashed var(--w8-line);border-radius:20px;padding:5px 10px;font-size:12px;cursor:pointer;width:auto}
.wiz8-planner .w8-addclass:focus{outline:2px solid var(--w8-gold);outline-offset:1px}

/* tabs */
.wiz8-planner .w8-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.wiz8-planner .w8-tab{flex:0 0 90px;width:90px;text-align:left;background:var(--w8-panel);border:1px solid var(--w8-line);border-bottom:2px solid transparent;border-radius:10px 10px 6px 6px;padding:7px 9px;cursor:pointer;color:var(--w8-ink);display:flex;flex-direction:column;gap:0;overflow:hidden}
.wiz8-planner .w8-tab:hover{border-color:var(--w8-gold)}
.wiz8-planner .w8-tab.w8-active{border-color:var(--w8-gold);border-bottom-color:var(--w8-gold);background:var(--w8-panel2)}
.wiz8-planner .w8-tab .w8-tabname{font-size:13px;font-weight:700;color:var(--w8-gold2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wiz8-planner .w8-tab .w8-tabsub{font-size:10.5px;color:var(--w8-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* goals */
.wiz8-planner .w8-goalrow{display:grid;grid-template-columns:24px 1fr 150px 52px;align-items:center;gap:10px;padding:8px;border-radius:8px;border:1px solid transparent;transition:background .12s}
.wiz8-planner .w8-goalrow.w8-on{background:var(--w8-panel2);border-color:var(--w8-line)}
.wiz8-planner .w8-ord{display:flex;flex-direction:column;gap:2px}
.wiz8-planner .w8-ord button{background:var(--w8-panel2);border:1px solid var(--w8-line);color:var(--w8-muted);width:22px;height:18px;border-radius:5px;cursor:pointer;font-size:10px;line-height:1;padding:0}
.wiz8-planner .w8-ord button:hover:not(:disabled){color:var(--w8-gold2);border-color:var(--w8-gold)}
.wiz8-planner .w8-ord button:disabled{opacity:.3;cursor:default}
.wiz8-planner .w8-ginfo .w8-gname{font-size:13.5px}
.wiz8-planner .w8-ginfo .w8-gmeta{font-size:11px;color:var(--w8-muted)}
.wiz8-planner .w8-ginfo .w8-star{color:var(--w8-green);margin-left:5px}
.wiz8-planner .w8-abbr{font-family:var(--w8-mono);font-weight:700;color:var(--w8-gold2)}
.wiz8-planner .w8-goalrow input[type=range]{width:100%;accent-color:var(--w8-gold);cursor:pointer}
.wiz8-planner .w8-gnum{width:52px;background:var(--w8-panel2);color:var(--w8-ink);border:1px solid var(--w8-line);border-radius:6px;padding:5px 6px;font-size:13px;font-family:var(--w8-mono);text-align:center}
.wiz8-planner .w8-gnum:focus{outline:2px solid var(--w8-gold);outline-offset:1px}
.wiz8-planner .w8-elitetip{text-decoration:underline dotted;text-underline-offset:2px;cursor:help}

/* results */
.wiz8-planner .w8-results{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
.wiz8-planner .w8-kpi{background:var(--w8-panel2);border:1px solid var(--w8-line);border-radius:10px;padding:14px}
.wiz8-planner .w8-kpi .w8-k{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--w8-muted)}
.wiz8-planner .w8-kpi .w8-v{font-size:30px;font-weight:800;font-family:var(--w8-mono);color:var(--w8-gold2);line-height:1.1;margin-top:4px}
.wiz8-planner .w8-kpi .w8-s{font-size:11.5px;color:var(--w8-muted);margin-top:3px}
.wiz8-planner .w8-warn{background:rgba(217,96,90,.12);border:1px solid var(--w8-red);color:#f2b8b5;border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}
.wiz8-planner .w8-hidden{display:none}
.wiz8-planner .w8-empty{color:var(--w8-muted);font-size:13px;font-style:italic;padding:6px 0}

/* schedule table */
.wiz8-planner .w8-tblwrap{max-height:290px;overflow:auto;border:1px solid var(--w8-line);border-radius:8px}
.wiz8-planner table.w8-sched{width:100%;border-collapse:collapse;font-size:12.5px}
.wiz8-planner table.w8-sched th,.wiz8-planner table.w8-sched td{text-align:center;padding:6px 4px;border-bottom:1px solid var(--w8-line)}
.wiz8-planner table.w8-sched th{color:var(--w8-muted);text-transform:uppercase;letter-spacing:.6px;font-size:10.5px;font-weight:700;position:sticky;top:0;background:var(--w8-panel);z-index:1}
.wiz8-planner table.w8-sched td.w8-lv{font-family:var(--w8-mono);color:var(--w8-gold2);font-weight:700}
.wiz8-planner table.w8-sched td.w8-add{font-family:var(--w8-mono)}
.wiz8-planner table.w8-sched td.w8-add.w8-z{color:#4d453b}
.wiz8-planner table.w8-sched tr.w8-unlock td{background:rgba(107,191,89,.08)}

/* toolbar */
.wiz8-planner .w8-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:2px}
.wiz8-planner .w8-btn{background:var(--w8-panel2);color:var(--w8-ink);border:1px solid var(--w8-line);border-radius:8px;padding:8px 12px;font-size:13px;font-family:var(--w8-sans);cursor:pointer}
.wiz8-planner .w8-btn:hover{border-color:var(--w8-gold);color:var(--w8-gold2)}
.wiz8-planner .w8-btn.w8-danger:hover{border-color:var(--w8-red);color:#f2b8b5}
.wiz8-planner .w8-toolmsg{font-size:12px;color:var(--w8-green);margin-left:2px}
.wiz8-planner .w8-sub{font-size:12px;color:var(--w8-muted);margin:8px 0 0}

@media(max-width:560px){
  .wiz8-planner .w8-results{grid-template-columns:1fr}
  .wiz8-planner .w8-goalrow{grid-template-columns:24px 1fr 52px}
  .wiz8-planner .w8-goalrow input[type=range]{display:none}
}
