/* WoW Forever Tavern gear planner. Scoped to .gp; site tokens: charcoal, surface, ivory, brass. */
/* Reserve the first screen while data loads, keeping the footer out of view. */
.fg-gear-planner:not([data-planner-state=ready]):not([data-planner-state=error]){min-height:900px;min-height:max(900px,calc(100svh + 100px))}
.gp-initial-loading{padding:40px 16px;color:#b4b1aa;font:15px/1.8 FieldSans,system-ui,sans-serif}
.gp{--gp-bg:#101215;--gp-surface:#1b1e23;--gp-surface-2:#23272d;--gp-well:#14171b;--gp-ink:#f0e7d8;--gp-muted:#b4b1aa;--gp-brass:#e8c26d;--gp-link:#80d4ef;--gp-line:#74664666;--gp-line-strong:#8b7a4f;--gp-ok:#8bd5a0;--gp-miss:#f5b599;--gp-warn:#ecbc67;--gp-cc:#e8c26d;
  --q0:#9d9d9d;--q1:#ffffff;--q2:#1eff00;--q3:#0070dd;--q4:#a335ee;--q5:#ff8000;--q3t:#3d9bff;
  position:relative;color:var(--gp-ink);background:var(--gp-bg);font:15px/1.6 FieldSans,Inter,system-ui,sans-serif;max-width:1440px;margin:0 auto;padding:24px 16px 40px;box-sizing:border-box;overflow-wrap:anywhere}
.gp *,.gp *::before,.gp *::after{box-sizing:border-box}
.gp h2,.gp h3,.gp h4{font-family:FieldSerif,'EB Garamond',Georgia,serif;margin:0;color:#f1e5cf;font-weight:700}
.gp a{color:var(--gp-link)}
.gp button,.gp input,.gp select{font:inherit;color:inherit}
.gp button{cursor:pointer}
.gp :focus-visible{outline:2px solid #f2d382;outline-offset:2px}
.gp [hidden]{display:none!important}
.gp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gp-dim{color:var(--gp-muted)}.gp-small{font-size:12px;margin:10px 0 0}.gp-warn{color:var(--gp-warn)}
.gp-loading{padding:40px 0;color:var(--gp-muted)}
/* quality colours (rare uses a lighter blue for contrast on charcoal in body text) */
.gp .q0{color:var(--q0)}.gp .q1{color:var(--q1)}.gp .q2{color:var(--q2)}.gp .q3{color:var(--q3t)}.gp .q4{color:#b866f2}.gp .q5{color:var(--q5)}
.gp-tip .gp-tt-title.q3,.gp-eqtip .gp-tt-title.q3,.gp-rowtip .gp-tt-title.q3{color:var(--q3t)}
/* header */
.gp-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:end;padding-bottom:18px;border-bottom:1px solid var(--gp-line)}
.gp-intro{min-width:0}.gp-kicker{margin:0 0 6px;color:#d3b776;font-size:12px;letter-spacing:1.6px;text-transform:uppercase}
.gp-intro h2{font-size:clamp(28px,3.6vw,42px);line-height:1.1}.gp-intro p:last-child{margin:10px 0 0;max-width:680px;color:#c4bdb1}
.gp-intro strong{color:var(--gp-brass);font-weight:700}
.gp-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;grid-column:1/-1}
.gp-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--gp-muted);min-width:0}
.gp-field>span,.gp-field>label{letter-spacing:.4px}
.gp select,.gp input[type=search],.gp input[type=text],.gp input[type=number]{min-height:44px;background:var(--gp-well);border:1px solid #4b5666;border-radius:3px;color:var(--gp-ink);padding:8px 10px;font-size:14px;max-width:100%}
.gp select{padding-right:28px}
.gp-controls .gp-field select{min-width:150px}
.gp-class{border-left:3px solid var(--gp-cc)!important}
.gp-stepper{display:flex;align-items:stretch}
.gp-stepper input{width:64px;text-align:center;border-radius:0;-moz-appearance:textfield}
.gp-stepper input::-webkit-inner-spin-button,.gp-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gp-step{min-width:44px;min-height:44px;background:#1d2025;border:1px solid #4b5666;color:#e3d4ab;font-size:20px;line-height:1}
.gp-step:first-child{border-radius:3px 0 0 3px;border-right:0}.gp-step:last-child{border-radius:0 3px 3px 0;border-left:0}
.gp-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:2;grid-row:1;align-self:end;justify-content:flex-end}
.gp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;background:linear-gradient(#38332a,#24211b);border:1px solid #8b7a4f88;border-radius:3px;color:#e3d4ab;font-weight:700;font-size:13px;text-decoration:none;text-align:center}
.gp-btn:hover{border-color:#ceb165}.gp-btn:disabled{opacity:.45;cursor:default}
.gp-btn-primary{background:linear-gradient(#665326,#403317);color:#f6df9a;border-color:#ceb165}
.gp-prof{grid-column:1/-1;margin:0;font-size:13px;color:#d9d2c4}.gp-prof em{color:var(--gp-warn);font-style:normal}
.gp-linkout{grid-column:1/-1}.gp-linkout label{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--gp-muted)}.gp-linkout input{flex:1;min-width:0;font-size:13px}
.gp-alert,.gp-issues{grid-column:1/-1;padding:12px 14px;border:1px solid #9a5b45;background:#2a1c18;border-radius:4px}
.gp-alert p,.gp-issues p{margin:0 0 8px;color:#f3d3c4}.gp-alert ul{margin:0 0 10px;padding-left:20px;color:#f3d3c4;font-size:14px}
.gp-issues{border-color:#a5874a;background:#2a2417}.gp-issues p{color:#f0dfb7;font-size:14px}
.gp-alert-actions{display:flex;flex-wrap:wrap;gap:8px}
.gp-toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;max-width:min(560px,calc(100vw - 32px));background:#0c0e11;border:1px solid #b69b59;border-radius:4px;padding:10px 14px;font-size:13px;box-shadow:0 10px 30px #000a}
/* board */
.gp-board{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start;margin-top:18px}
.gp-doll,.gp-picker,.gp-panel{background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:4px;padding:14px;min-width:0}
.gp-doll h3,.gp-panel h3{font-size:22px}.gp-hint{font-size:12px;color:var(--gp-muted);margin:4px 0 10px}
.gp-doll{position:sticky;top:12px}
.gp-doll-grid{display:grid;gap:6px}
.gp-col{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:5px}.gp-col>li{min-width:0}
.gp-col-bottom{border-top:1px solid #ffffff14;padding-top:8px;margin-top:4px}
.gp-slot{width:100%;display:flex;align-items:center;gap:9px;min-height:50px;padding:5px 8px;background:var(--gp-well);border:1px solid #33373d;border-left:3px solid #3a3d42;border-radius:3px;text-align:left}
.gp-slot:hover{border-color:#6d6449}
.gp-slot.is-selected{outline:2px solid var(--gp-brass);outline-offset:1px;background:#2a2619;border-left-color:var(--gp-brass)}
.gp-slot.is-empty .gp-slot-text>span{font-size:12px}
.gp-slot.is-problem{border-left:3px solid var(--gp-warn)}
.gp-slot-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;font-size:13px}
.gp-slot-text>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-slot-text small{font-size:11px;color:#a9a397}
.gp-icon{flex:none;border-radius:3px;border:1px solid #000;background:#0b0c0e}
.gp-icon.q2{border-color:#1eff0055}.gp-icon.q3{border-color:#0070dd88}.gp-icon.q4{border-color:#a335ee99}.gp-icon.q5{border-color:#ff8000aa}
.gp-noicon{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;background:#2b2e33;color:#9a968e;font-size:11px;font-weight:700;border-radius:3px;border:1px solid #000}
.gp-empty-icon{background:transparent;border:1px dashed #4a4d52;color:#77746d}
.gp-total{margin:12px 0 0;font-size:13px;color:#d9d2c4}.gp-total b{color:var(--gp-brass);font-size:18px}
/* picker */
.gp-picker-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.gp-picker-title{font-size:26px;outline-offset:4px}.gp-picker-sub{margin:0;font-size:13px;color:var(--gp-muted);flex-basis:100%}
.gp-back{display:none}
.gp-equipped:not(:empty){margin:12px 0 0}
.gp-eqcard{border:1px solid #6d6449;background:var(--gp-well);border-radius:4px;padding:10px 12px}
.gp-eqhead{display:flex;align-items:center;gap:10px}.gp-eqhead div{display:flex;flex-direction:column;min-width:0;line-height:1.3}.gp-eqhead small{font-size:12px;color:var(--gp-muted)}.gp-eqhead .gp-name{font-weight:700}
.gp-eqtip{margin:8px 0 0;font-size:13px;line-height:1.45}
.gp-eqactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gp-note{margin:0;padding:8px 10px;border-left:3px solid var(--gp-warn);background:var(--gp-well);font-size:13px}
.gp-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:14px 0 4px;padding:12px 0 0;border-top:1px solid #ffffff12}
.gp-search-field{flex:1 1 220px}.gp-search-field input{width:100%}
.gp-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:#d9d2c4;cursor:pointer}
.gp-check input{width:20px;height:20px;accent-color:#ceb165;margin:0}
.gp-count{margin:6px 0;font-size:12px;color:var(--gp-muted)}
.gp-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.gp-row{background:var(--gp-well);border:1px solid #33373d;border-radius:3px;min-width:0}
.gp-row.is-equipped{border-color:var(--gp-brass);background:#211e15}
.gp-row.is-unusable{opacity:.6}
.gp-rowline{display:flex;align-items:stretch;min-width:0}
.gp-pick{flex:1;min-width:0;display:flex;align-items:center;gap:9px;min-height:52px;padding:6px 8px;background:none;border:0;text-align:left;border-radius:3px 0 0 3px}
.gp-pick:hover{background:#ffffff08}
.gp-rank{flex:none;width:22px;text-align:right;font-size:11px;color:#77746d;font-variant-numeric:tabular-nums}
.gp-row-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.gp-row-main .gp-name{font-weight:700;font-size:14px}
.gp-row-sub{font-size:12px;color:var(--gp-muted)}
.gp-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.gp-badge{font-size:10.5px;line-height:16px;padding:0 5px;border:1px solid #4a4d52;border-radius:2px;color:#b9b4a9;white-space:nowrap}
.gp-badge-new{color:var(--gp-brass);border-color:#8b7a4f}
.gp-src-f{color:var(--gp-ok);border-color:#4f7a5a}.gp-src-c{color:#9fd3e4;border-color:#4b6a74}.gp-src-x{color:#d9c08a;border-color:#6d6449;border-style:dashed}.gp-src-none{color:#8d8a84;border-style:dotted}
.gp-score{flex:none;display:flex;flex-direction:column;align-items:flex-end;min-width:58px;font-variant-numeric:tabular-nums;line-height:1.25}
.gp-score b{font-size:15px;color:#f1e5cf}
.gp-delta{font-size:12px;color:var(--gp-muted)}.gp-delta.is-up{color:var(--gp-ok)}.gp-delta.is-down{color:var(--gp-miss)}
.gp-info{flex:none;width:44px;min-height:44px;background:transparent;border:0;border-left:1px solid #33373d;color:#a9a39a;font:italic 700 16px FieldSerif,Georgia,serif;border-radius:0 3px 3px 0}
.gp-info:hover,.gp-info[aria-expanded=true]{color:var(--gp-brass);background:#ffffff06}
.gp-rowtip{padding:8px 12px 10px 39px;border-top:1px solid #ffffff10;font-size:13px;line-height:1.45}
.gp-none{padding:14px;color:var(--gp-muted);font-size:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gp-more{margin-top:10px;width:100%}
/* tooltip lines (shared by floating tip, equipped card and expanded rows) */
.gp-tip p,.gp-eqtip p,.gp-rowtip p{margin:0}
.gp-tt-title{font-weight:700;font-size:15px}
.gp-tt-split{display:flex;justify-content:space-between;gap:16px}
.gp-tt-meta{color:var(--q2)}.gp-tt-green{color:var(--q2)}.gp-tt-desc{color:#ffd100}.gp-tt-set{color:#ffd100;margin-top:6px!important}
.gp-tt-setOn{color:#ffd100}.gp-tt-setOff{color:#8d8a84}.gp-tt-req,.gp-tt-warn{color:#ff6b5e}
.gp-tt-note{color:#b9d3da;font-size:12px;margin-top:6px!important}
.gp-tt-src{color:#8f8b84;font-size:12px;margin-top:6px!important}
.gp-tt-score{color:#d9c08a;font-size:12px;margin-top:6px!important}
.gp-tip{position:fixed;z-index:50;width:max-content;max-width:min(340px,calc(100vw - 16px));background:#0c0e11;border:1px solid #b69b59;border-radius:4px;padding:10px 12px;box-shadow:0 10px 30px #000a;font-size:13px;line-height:1.45;pointer-events:none}
/* side panels */
.gp-side{display:grid;gap:14px;min-width:0}
.gp-sheet h4{font:700 12px FieldSans,Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#d3b776;margin:14px 0 4px}
.gp-table{width:100%;border-collapse:collapse;font-size:13px}
.gp-table th,.gp-table td{padding:3px 0;border-bottom:1px solid #ffffff0f;vertical-align:top}
.gp-table th{text-align:left;font-weight:400;color:#d9d2c4;padding-right:8px}.gp-table td{text-align:right;font-variant-numeric:tabular-nums}
.gp-set{margin:6px 0}.gp-set-name{margin:0;font-size:13px;color:#ffd100}.gp-set ul{margin:2px 0 0;padding-left:18px;font-size:12.5px}
.gp-set li.is-on{color:#ffd100}.gp-set li.is-off{color:#8d8a84}
.gp-wlabel{margin:4px 0 0;color:var(--gp-brass);font-weight:700;font-size:13px}
.gp-why{margin:6px 0 10px;font-size:12.5px;color:#c1bcb1;line-height:1.5}
.gp-wgrid{display:grid;grid-template-columns:1fr;gap:4px}
.gp-wrow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;padding:1px 0 1px 8px;border-left:2px solid transparent}
.gp-wrow.is-changed{border-left-color:var(--gp-brass)}
.gp-wrow label{flex:1;min-width:0;color:#d9d2c4}
.gp-wrow input{width:84px;text-align:right;font-variant-numeric:tabular-nums}
.gp-wactions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.gp-wactions .gp-btn{flex:1 1 auto}
/* about */
.gp-about{margin-top:22px;background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:4px;padding:4px 14px}
.gp-about summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:700 17px FieldSerif,Georgia,serif;color:#eddfc3}
.gp-about h4{font-size:16px;margin:10px 0 4px}
.gp-about li,.gp-about p{font-size:13px;color:#c1bcb1}
/* responsive */
@media(max-width:1180px){.gp-board{grid-template-columns:minmax(250px,290px) minmax(0,1fr)}.gp-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
@media(max-width:899px){
  .gp-head{grid-template-columns:1fr}.gp-actions{grid-column:1;grid-row:auto;justify-content:flex-start}
  .gp-board{grid-template-columns:1fr}.gp-doll{position:static}.gp-side{grid-template-columns:1fr}
  .gp-doll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-col-bottom{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}
  .gp-back{display:inline-flex;min-height:44px;padding:6px 12px;order:3;margin-left:auto}
  .gp-picker{scroll-margin-top:8px}
}
@media(max-width:520px){
  .gp{padding:16px 16px 32px;font-size:14px}
  .gp-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .gp-controls .gp-field select{min-width:0;width:100%}
  .gp-level-field{grid-column:1/-1}.gp-stepper input{flex:1;width:auto}
  .gp-actions{display:grid;grid-template-columns:1fr 1fr}.gp-actions .gp-best{grid-column:1/-1}
  .gp-col-bottom{grid-template-columns:1fr}
  .gp-slot{gap:7px;padding:5px 6px}.gp-slot .gp-icon,.gp-slot .gp-noicon{width:30px;height:30px}
  .gp-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gp-search-field{grid-column:1/-1}
  .gp-filters .gp-field select{width:100%;min-width:0}.gp-check{grid-column:1/-1}
  .gp-rank{display:none}.gp-pick{gap:7px;padding:6px}.gp-rowtip{padding-left:12px}
  .gp-linkout label>span{display:none}
}
@media(prefers-reduced-motion:reduce){.gp *{transition:none!important;scroll-behavior:auto!important}}
/* Character window: original vector equipment figure, with adjacent picker and sheet. */
.gp{padding:16px 0 32px;max-width:none}
.gp-head{grid-template-columns:1fr auto;gap:10px 18px;padding-bottom:12px}
.gp-intro h2{font-size:34px}.gp-intro p:last-child{margin:6px 0 0;font-size:14px}
.gp-kicker{margin-bottom:4px;font-size:12px}.gp-controls{grid-column:1;grid-row:2}
.gp-actions{grid-column:2;grid-row:2;align-self:end;gap:6px}.gp-actions .gp-btn{padding-inline:10px}
.gp-proficiency{grid-column:1/-1;font-size:12px;color:var(--gp-muted)}
.gp-proficiency summary,.gp-weights>summary,.gp-talent-status summary{cursor:pointer;min-height:44px;align-content:center;color:var(--gp-brass);font-weight:700}
.gp-prof{padding:6px 0}.gp-board{grid-template-columns:minmax(360px,1fr) minmax(400px,1.2fr) minmax(240px,.66fr);gap:14px;margin-top:14px}
.gp-doll,.gp-picker,.gp-panel{background:linear-gradient(140deg,#24282f,#1b1e23 70%);border-color:#766a505f;padding:12px;border-radius:8px}
.gp-doll{position:static;border-top:3px solid var(--gp-cc)}.gp-doll h3,.gp-panel h3{font-size:23px}
.gp-doll-grid{grid-template-columns:minmax(72px,1fr) minmax(100px,1.2fr) minmax(72px,1fr);gap:8px;align-items:stretch}
.gp-col-left{grid-column:1;grid-row:1}.gp-col-right{grid-column:3;grid-row:1}
.gp-col{gap:7px}.gp-col-bottom{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.gp-slot{flex-direction:column;justify-content:center;gap:3px;padding:5px 3px;min-height:69px;border-radius:5px;border-left-width:1px}
.gp-slot .gp-icon,.gp-slot .gp-noicon{width:34px;height:34px}.gp-slot-text{width:100%;text-align:center;flex:0 1 auto;font-size:12px;line-height:1.2;gap:2px}
.gp-slot-text small{font-size:12px;color:#c7c1b7}.gp-slot-text>small:last-child:not(:first-child){display:none}
.gp-slot.is-empty .gp-slot-text>span{display:none}.gp-slot .gp-name{max-width:100%;font-size:12px}
.gp-slot.is-selected{outline-width:1px;border-color:var(--gp-brass);background:#40361e}
.gp-character{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;color:var(--gp-cc);min-width:0;background:radial-gradient(ellipse,#fff1 0,transparent 67%)}
.gp-character svg{width:100%;max-height:405px;flex:1;min-height:0}.gp-character small{font-size:12px;color:var(--gp-muted);padding:5px 0}
.gp-character-class{display:flex;align-items:center;justify-content:center;gap:5px;font-family:FieldSerif,Georgia,serif;font-size:20px;font-weight:700}.gp-character-class img{border:1px solid currentColor;border-radius:50%;width:28px;height:28px}
.gp-total{padding-top:10px;border-top:1px solid #ffffff16;font-size:12px;line-height:1.5}.gp-total b{font-size:17px}
.gp-filters{gap:7px;margin-top:10px;padding-top:8px}.gp-filters .gp-field{flex:1 1 150px}.gp-filters .gp-search-field{flex-basis:100%}
.gp-filters select{width:100%}.gp-check{font-size:12px;min-height:38px}.gp-classic-optin{width:100%;color:#e8c26d}
.gp-availability-note{font-size:12px;line-height:1.5;color:var(--gp-muted);margin:6px 0 10px;padding-left:9px;border-left:2px solid #887346}
.gp-list{max-height:585px;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 3px 2px;scrollbar-color:#71633f #15181c;scrollbar-width:thin}
.gp-row{border-color:#565b645f}.gp-pick{min-height:78px;gap:8px}.gp-rank{width:15px;font-size:12px}.gp-info{width:34px;min-width:34px}
.gp-badge{font-size:12px;line-height:1.35;white-space:normal;padding:2px 5px}.gp-acquisition{color:#e8d29d;border-color:#7f704a;font-weight:600}
.gp-acquisition.gp-src-f{color:#a5eab2;border-color:#587d56}.gp-acquisition.gp-src-c{color:#9bd8ec;border-color:#4d8292}
.gp-src-u,.gp-src-t0,.gp-src-t05,.gp-src-pvp,.gp-src-raid,.gp-src-dm{border-style:dashed;color:#dfb5a4}.gp-tt-src{color:#d4c4a7}
.gp-side{gap:12px}.gp-table td{font-weight:700}.gp-table td .gp-dim{display:block;font-size:12px;font-weight:400}.gp-sheet h4{margin-top:12px;font-size:12px}
.gp-sheet-body:empty:after{content:'Equip an item to begin.'}.gp-weights>summary{font:700 22px FieldSerif,Georgia,serif;min-height:32px}.gp-why{font-size:12px}
.gp-talent-status{font-size:12px}.gp-talent-status p{margin:8px 0}.gp-talent-status ul{padding:0;list-style:none;margin:6px 0}.gp-talent-status h4{margin:12px 0 5px;font-size:16px}
.gp-talent-entry{background:#11171d80;width:100%;border:1px solid #ffffff16;display:flex;align-items:flex-start;gap:7px;text-align:left;padding:7px;margin-bottom:4px;min-height:44px;border-radius:4px}
.gp-talent-entry img{border:1px solid #786847;border-radius:3px;flex:none}.gp-talent-entry span{display:flex;flex-direction:column}.gp-talent-entry small{font-size:12px;color:var(--gp-muted);margin-top:3px}
.gp-talent-dialog{background:#20252c;color:var(--gp-ink);border:1px solid var(--gp-brass);border-radius:10px;padding:22px;max-width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;font:14px/1.55 FieldSans,system-ui,sans-serif}
.gp-talent-dialog::backdrop{background:#05080bce}.gp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gp-dialog-head h3{font-size:28px}.gp-dialog-head button{min-width:44px;font-size:22px;padding:4px}
.gp-talent-dialog .gp-field{margin:14px 0}.gp-talent-dialog input,.gp-talent-dialog select{width:100%}.gp-talent-message{padding:10px;border-left:2px solid var(--gp-brass);background:#10151b;color:#e4cf9c;font-size:13px}
@media(min-width:1600px){.gp-board{grid-template-columns:minmax(420px,1fr) minmax(470px,1.2fr) minmax(280px,.66fr)}}
@media(max-width:1200px) and (min-width:900px){.gp-board{grid-template-columns:minmax(350px,.9fr) minmax(0,1.1fr)}.gp-side{grid-column:1/-1;grid-template-columns:1fr 1fr}.gp-weights{grid-column:1/-1}.gp-actions{grid-column:1/-1;grid-row:3;justify-content:flex-start}}
@media(max-width:899px){.gp-head{grid-template-columns:1fr}.gp-controls,.gp-actions{grid-column:1;grid-row:auto}.gp-board{grid-template-columns:1fr}.gp-side{grid-column:1;grid-template-columns:1fr}.gp-doll-grid{grid-template-columns:minmax(72px,1fr) minmax(100px,1.2fr) minmax(72px,1fr)}.gp-col-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.gp-list{max-height:none;overflow:visible}.gp-actions{display:flex;justify-content:flex-start}.gp-actions .gp-best{grid-column:auto}.gp-character svg{max-height:405px}}
@media(max-width:520px){.gp{padding:8px 0 24px}.gp-intro h2{font-size:30px}.gp-actions .gp-btn{flex:1 1 40%;padding-inline:7px}.gp-controls{grid-template-columns:1fr 1fr}.gp-level-field{grid-column:1/-1}.gp-doll,.gp-picker,.gp-panel{padding:10px}.gp-doll-grid{gap:6px;grid-template-columns:78px minmax(0,1fr) 78px}.gp-slot{min-height:67px}.gp-character-class{font-size:18px;flex-direction:column}.gp-character-class img{width:26px;height:26px}.gp-col-bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.gp-filters{display:flex}.gp-filters .gp-field{flex:1 1 120px}.gp-filters .gp-search-field{flex-basis:100%}.gp-talent-dialog{padding:16px}.gp-proficiency summary{font-size:12px}.gp-acquisition{font-size:12px}}
.gp-mobile-views{display:none}
.gp-filter-details{flex-basis:100%;border-block:1px solid #ffffff16;font-size:12px}.gp-filter-details>summary,.gp-equipped-details>summary{cursor:pointer;min-height:44px;align-content:center;color:var(--gp-brass);font-size:12px;font-weight:700}
.gp-filter-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding-bottom:8px}.gp-filter-grid .gp-availability-note{flex-basis:100%;margin:0}.gp-filter-grid>.gp-check{flex:1 1 45%}.gp-filter-grid>.gp-classic-optin{flex-basis:100%}.gp-equipped-details>summary{min-height:36px}.gp-eqactions{margin-top:4px}.gp-eqcard{padding:10px}
@media(max-width:899px){.gp-mobile-views{display:flex;gap:5px;padding:5px;margin-top:14px;background:#20252c;border:1px solid #756744;border-radius:6px}.gp-mobile-views button{flex:1;min-height:44px;border:1px solid transparent;background:none;border-radius:4px;font-size:13px;font-weight:700}.gp-mobile-views button[aria-pressed=true]{background:#514328;color:#f4d797;border-color:#b49b59}.gp[data-gear-view=equipment] .gp-picker,.gp[data-gear-view=equipment] .gp-side,.gp[data-gear-view=items] .gp-doll,.gp[data-gear-view=items] .gp-side,.gp[data-gear-view=stats] .gp-doll,.gp[data-gear-view=stats] .gp-picker{display:none}}
.gp-rare-sources{margin:0 14px 10px 54px;padding:8px 10px;border-left:2px solid #a9b9cd;background:#172432;color:#cbd7e2;font-size:12px;line-height:1.5}
.gp-rare-sources p{margin:0}.gp-rare-sources a{color:#e6c97e;font-weight:600}.gp-rare-sources small{display:block;color:#acb8c5;font-size:11px;margin-top:3px}
.gp-rare-sources summary{cursor:pointer;color:#cfba82}.gp-rare-sources ul{margin:5px 0;padding-left:18px}.gp-tt .gp-rare-sources,.gp-rowtip .gp-rare-sources{margin:10px 0 0}

/* ---------- 27.10: WoW character frame (paperdoll) ---------- */
.gp .gp-doll{--slot:50px}
.gp .gp-race-bar{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px}
.gp .gp-race-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.gp .gp-race-faction{font:700 10px/1 FieldSans,system-ui,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#8f9aa3;margin-right:2px}
.gp .gp-alliance .gp-race-faction{color:#7fa8e8}
.gp .gp-horde .gp-race-faction{color:#e07a6a}
.gp .gp-race{width:38px;height:38px;min-height:0;padding:0;border:1px solid #3d4248;border-radius:4px;background:#0c0e11;overflow:hidden;cursor:pointer;opacity:.7;transition:opacity .12s,border-color .12s,transform .12s}
.gp .gp-race img{display:block;width:100%;height:100%;object-fit:cover}
.gp .gp-race:hover,.gp .gp-race:focus-visible{opacity:1;border-color:#b9a36d}
.gp .gp-race[aria-pressed=true]{opacity:1;border-color:#f2cf75;box-shadow:0 0 0 2px #f2cf7555,0 0 12px #f2cf7533}
.gp .gp-doll-grid{display:grid;grid-template-columns:var(--slot) minmax(0,1fr) var(--slot);grid-template-rows:auto auto;gap:8px;align-items:stretch}
.gp .gp-col{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
.gp .gp-col-left{grid-column:1;grid-row:1}
.gp .gp-col-right{grid-column:3;grid-row:1}
.gp .gp-col-bottom{grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:center;gap:8px;border:0;padding:4px 0 0;margin:0;display:flex}
.gp .gp-slot{position:relative;width:var(--slot);height:var(--slot);min-height:0;padding:0;display:block;border:1px solid #000;border-radius:4px;background:#07080a;box-shadow:inset 0 0 0 1px #5a5446,0 2px 6px #0008;overflow:hidden;cursor:pointer;flex:none;outline:none}
.gp .gp-slot img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}
.gp .gp-slot .gp-icon{width:100%;height:100%}
.gp .gp-slot .gp-noicon{width:100%!important;height:100%!important;display:grid;place-items:center}
.gp .gp-slot.is-empty img{opacity:.9}
.gp .gp-slot.q1{box-shadow:inset 0 0 0 2px #cfcfcf88,0 2px 6px #0008}
.gp .gp-slot.q2{box-shadow:inset 0 0 0 2px #1eff00cc,0 2px 6px #0008}
.gp .gp-slot.q3{box-shadow:inset 0 0 0 2px #0070ddee,0 2px 6px #0008}
.gp .gp-slot.q4{box-shadow:inset 0 0 0 2px #a335eeee,0 2px 6px #0008}
.gp .gp-slot.q5{box-shadow:inset 0 0 0 2px #ff8000ee,0 2px 6px #0008}
.gp .gp-slot:hover,.gp .gp-slot:focus-visible{border-color:#e8c26d;filter:brightness(1.15)}
.gp .gp-slot.is-selected{border-color:#ffd56b;box-shadow:0 0 0 2px #ffd56b,0 0 14px #ffd56b88;background:#07080a}
.gp .gp-slot.is-problem{border-color:#e05a4a}
.gp .gp-slot.is-blocked img{opacity:.35}
.gp .gp-slot.is-cosmetic{cursor:help;opacity:.55}
.gp .gp-slot-flag{position:absolute;right:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#c43c2c;color:#fff;font:700 10px/15px FieldSans,system-ui,sans-serif;text-align:center}
.gp .gp-character{grid-column:2;grid-row:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:calc(var(--slot) * 8 + 42px);padding:12px;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 0 1px #6a5f45,inset 0 0 40px #000c;overflow:hidden;color:#f3e7c8;background:#141820 var(--gp-char-bg) center/cover no-repeat}
.gp .gp-character::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#000a 0,#0000 32%,#0000 62%,#000c 100%);pointer-events:none}
.gp .gp-character:not(.has-bg){background-image:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--gp-cc) 22%,#20252d),#0d1015 75%)}
.gp .gp-character.is-sky{background-image:linear-gradient(180deg,#36508a 0,#7d7fb8 45%,#e3b48a 100%)}
.gp .gp-character>*{position:relative}
.gp .gp-character-head{display:flex;align-items:center;gap:10px}
.gp .gp-race-portrait{width:58px;height:58px;flex:none;border-radius:50%;overflow:hidden;border:2px solid #d6b56a;box-shadow:0 0 0 3px #0009,0 3px 10px #000;background:#000}
.gp .gp-race-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.gp .gp-character-title{margin:0;display:flex;flex-direction:column;min-width:0;text-shadow:0 1px 3px #000,0 0 8px #000}
.gp .gp-character-name{font:700 19px/1.15 FieldSerif,Georgia,serif;color:#ffd97a}
.gp .gp-character-level{font:600 12px/1.4 FieldSans,system-ui,sans-serif;color:#f1e9d6}
.gp .gp-character-class{position:absolute;top:12px;right:12px;font-size:0}
.gp .gp-character-class img{width:28px;height:28px;border-radius:50%;border:1px solid #d6b56a;box-shadow:0 2px 6px #000}
.gp .gp-character svg,.gp .gp-character small{display:none}
.gp .gp-sex{position:absolute;right:12px;bottom:58px;display:flex;flex-direction:column;gap:5px}
.gp .gp-sex button{width:30px;height:30px;min-height:0;padding:0;border:1px solid #6b6045;border-radius:50%;background:#0b0d10cc;color:#d9cfb6;font:16px/1 system-ui,sans-serif;cursor:pointer}
.gp .gp-sex button[aria-pressed=true]{border-color:#ffd56b;color:#ffe39a;background:#3a301bcc}
.gp .gp-racials{display:flex;gap:6px;margin:0;padding:0;list-style:none;flex-wrap:wrap}
.gp .gp-racial{display:block;width:34px;height:34px;border:1px solid #000;border-radius:4px;box-shadow:inset 0 0 0 1px #8c7b52,0 2px 6px #000;overflow:hidden;background:#000;cursor:help}
.gp .gp-racial img{display:block;width:100%;height:100%}
.gp .gp-racial:focus-visible{outline:2px solid #ffd56b;outline-offset:1px}
.gp .gp-total{margin:12px 0 0;text-align:center}
@media(max-width:520px){.gp .gp-doll{--slot:44px}.gp .gp-character{padding:9px}.gp .gp-character-name{font-size:16px}.gp .gp-race-portrait{width:46px;height:46px}.gp .gp-racial{width:28px;height:28px}.gp .gp-race{width:34px;height:34px}}
/* centred character medallion */
.gp .gp-character{align-items:center;text-align:center}
.gp .gp-character-title{align-items:center}
.gp .gp-character-name{font-size:21px}
.gp .gp-character-figure{position:relative;margin:auto 0}
.gp .gp-race-portrait{width:132px;height:132px;border:3px solid #d6b56a;box-shadow:0 0 0 4px #0008,0 0 0 6px #d6b56a55,0 10px 30px #000d}
.gp .gp-character-class{position:absolute;top:auto;right:-4px;bottom:-4px}
.gp .gp-character-class img{width:38px;height:38px;border:2px solid #d6b56a;background:#000}
.gp .gp-character-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.gp .gp-sex{position:static;flex-direction:row}
@media(max-width:520px){.gp .gp-race-portrait{width:96px;height:96px}.gp .gp-character-class img{width:30px;height:30px}.gp .gp-sex button{width:26px;height:26px;font-size:14px}}
.gp .gp-race-portrait{display:block;border-radius:50%;overflow:hidden}
.gp .gp-race-portrait img{width:100%!important;height:100%!important;max-width:none}
.gp .gp-character-figure::before{content:'';position:absolute;inset:-26px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gp-cc) 35%,transparent) 0,transparent 70%);z-index:-1}
.gp-filter-grid>.gp-optin-row{display:flex;align-items:center;gap:8px;flex:1 1 100%;min-width:0}.gp-optin-row>.gp-check{margin:0}.gp-optin-row>.infotip{flex:none}

.gp-reputation-source{display:flex;align-items:center;gap:7px;margin:7px 0;color:#b8c9be;font-size:12px;line-height:1.6}.gp-reputation-source>a{color:#d9cf9e}.gp-reputation-badge{color:#cbdab1;border-color:#6b805e}
