:root{
  --space-2:var(--s-2);--space-3:var(--s-3);--space-4:var(--s-4);--space-6:var(--s-6);--space-8:var(--s-8);
  --text-xs:.68rem;--text-sm:.8rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:2rem;--text-2xl:2.8rem;
  --text:var(--sand-50);--text-muted:var(--sand-300);--text-subtle:var(--sand-500);
  --border:var(--line);--border-strong:var(--line-strong);--input-border:var(--line-strong);
  --surface:var(--ink-900);--surface-raised:var(--ink-800);--surface-input:var(--ink-950);--input-bg:var(--ink-950);--canvas:var(--ink-950);
  --action:var(--rust-500);--action-hover:var(--lime-400);--focus:var(--lime-400);--danger:var(--danger-400);
  --radius-sm:0;--radius-md:0;--control-height:42px;--duration-fast:.16s;
}
.raid-workspace{min-width:0;width:min(100%,1600px);padding:var(--space-6)}
.raid-page-head{min-height:62px;margin-bottom:var(--space-4);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}
.raid-page-head h1{margin:0;font-size:var(--text-xl);line-height:1.25;letter-spacing:-.03em}.raid-page-head p{max-width:720px;margin:5px 0 0;color:var(--text-subtle)}
.raid-config{min-height:70px;margin-bottom:var(--space-3);padding:var(--space-3);display:flex;align-items:flex-end;gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.raid-config fieldset{min-width:0;margin:0;padding:0;border:0}.raid-config legend,.raid-config label>span,.inventory-panel>span{display:block;margin-bottom:6px;color:var(--text-subtle);font-size:var(--text-xs)}
.segmented{height:var(--control-height);display:flex;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-input)}
.segmented button{min-width:94px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}
.segmented button:hover{background:var(--surface-raised);color:var(--text)}.segmented button:active{transform:translateY(1px)}.segmented button[aria-pressed=true]{background:var(--surface-raised);color:var(--text);font-weight:700}.segmented button:disabled{opacity:.5;cursor:not-allowed}
.raid-config select,.inventory-panel input,.route-controls input{height:var(--control-height);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text)}
.raid-config select{min-width:220px;padding:0 34px 0 var(--space-3)}.raid-config select:hover,.inventory-panel input:hover,.route-controls input:hover{border-color:var(--border-strong)}.raid-config select:focus-visible,.inventory-panel input:focus-visible,.route-controls input:focus-visible{border-color:var(--focus)}
.inventory-panel{min-width:0;flex:1}.inventory-panel>div{display:flex;gap:6px;overflow-x:auto}.inventory-field{position:relative;flex:0 0 82px}.inventory-field input{width:100%;padding:0 8px 0 34px;font-variant-numeric:tabular-nums}.inventory-field img{position:absolute;left:8px;top:9px;width:22px;height:22px;object-fit:contain}.inventory-field span{display:none}
.raid-grid{min-height:590px;display:grid;grid-template-columns:minmax(260px,320px) minmax(390px,1fr) minmax(300px,370px);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}
.target-panel,.route-panel,.result-panel{min-width:0}.target-panel,.route-panel{border-right:1px solid var(--border)}.result-panel{background:var(--canvas)}
.panel-head{min-height:62px;padding:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border)}.panel-head h2{margin:0;font-size:var(--text-md);letter-spacing:-.02em}.panel-head div>span{display:block;margin-top:2px;color:var(--text-subtle);font-size:var(--text-xs)}
.compact-search input{width:145px;height:34px;padding:0 10px;border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text)}.compact-search input:hover{border-color:var(--border-strong)}.compact-search input:focus-visible{width:170px;border-color:var(--focus)}
.target-groups{min-height:45px;padding:7px var(--space-3);display:flex;align-items:center;gap:5px;overflow-x:auto;border-bottom:1px solid var(--border);scrollbar-width:none}.target-groups::-webkit-scrollbar{display:none}.target-groups button{height:28px;padding:0 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--text-subtle);white-space:nowrap;cursor:pointer}.target-groups button:hover{border-color:var(--border);color:var(--text)}.target-groups button[aria-pressed=true]{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text)}
.target-list{max-height:590px;overflow-y:auto}.target-row{width:100%;min-height:62px;padding:8px var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) 28px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background var(--duration-fast)}.target-row:hover{background:var(--surface-raised)}.target-row:active{background:var(--canvas)}.target-row.is-added{background:color-mix(in oklch,var(--action) 8%,var(--surface))}.target-row img{width:42px;height:42px;object-fit:contain}.target-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-row small{display:block;margin-top:3px;color:var(--text-subtle);font-variant-numeric:tabular-nums}.target-row b{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:50%;font-size:var(--text-md);font-weight:500}.target-row.is-added b{border-color:var(--action);background:var(--action);color:#fff;font-size:var(--text-xs);font-weight:700}
.quiet-button{padding:6px;border:0;background:transparent;color:var(--text-subtle);cursor:pointer}.quiet-button:hover{color:var(--action-hover)}.quiet-button:disabled{opacity:.4;cursor:not-allowed}
.route-list{max-height:652px;overflow-y:auto}.route-empty,.result-empty,.tool-loading,.tool-error{padding:var(--space-8);color:var(--text-subtle);text-align:center}.route-empty strong,.result-empty strong{color:var(--text);font-size:var(--text-md)}.route-empty p,.result-empty p{margin:7px auto 0;max-width:280px}
.route-row{padding:var(--space-3);display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:var(--space-3);align-items:start;border-bottom:1px solid var(--border)}.route-row>img{width:42px;height:42px;object-fit:contain}.route-info{min-width:0}.route-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-info small{display:block;margin-top:3px;color:var(--text-subtle)}.route-controls{grid-column:2/-1;margin-top:3px;display:grid;grid-template-columns:120px minmax(150px,1fr) 32px;gap:8px;align-items:end}.route-controls label{display:grid;gap:4px;color:var(--text-subtle);font-size:var(--text-xs)}.route-controls input[type=number]{width:100%;padding:0 9px}.health-control{display:grid;grid-template-columns:1fr 54px;gap:7px;align-items:center}.health-control input[type=range]{height:26px;padding:0;accent-color:var(--action)}.remove-target{width:32px;height:32px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-subtle);font-size:var(--text-lg);cursor:pointer}.remove-target:hover{border-color:var(--border);background:var(--surface-raised);color:var(--danger)}
.raid-result{min-height:280px}.result-summary{padding:var(--space-4);border-bottom:1px solid var(--border)}.result-summary>span{color:var(--text-subtle);font-size:var(--text-xs)}.result-summary>strong{display:block;margin-top:4px;font-size:var(--text-2xl);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.result-summary>strong small{font-size:var(--text-sm);letter-spacing:0;color:var(--text-muted)}.result-summary p{margin:8px 0 0;color:var(--text-subtle);font-size:var(--text-xs)}
.loadout,.resource-breakdown{padding:var(--space-3);border-bottom:1px solid var(--border)}.loadout h3,.resource-breakdown h3,.route-breakdown h3{margin:0 0 var(--space-2);color:var(--text-subtle);font-size:var(--text-xs);font-weight:600}.loadout-row,.resource-row{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.loadout-row span,.resource-row span{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.loadout-row img,.resource-row img{width:25px;height:25px;object-fit:contain}.loadout-row strong,.resource-row strong{font-variant-numeric:tabular-nums}.loadout-row small{color:var(--text-subtle)}
.route-breakdown{padding:var(--space-3)}.breakdown-row{padding:8px 0;border-bottom:1px solid var(--border)}.breakdown-row:last-child{border:0}.breakdown-row>div{display:flex;justify-content:space-between;gap:var(--space-2)}.breakdown-row strong{font-size:var(--text-xs)}.breakdown-row span{color:var(--text-subtle);font-size:var(--text-xs)}.breakdown-row p{margin:4px 0 0;color:var(--text-muted);font-size:var(--text-xs)}
.result-loading{padding:var(--space-6);display:grid;gap:10px}.result-loading span{height:14px;border-radius:var(--radius-sm);background:var(--surface-raised);animation:pulse 1.2s ease-in-out infinite}.result-loading span:first-child{width:62%;height:30px}.result-loading span:nth-child(2){width:80%}
.data-note{margin-top:var(--space-3);padding:var(--space-4);display:flex;justify-content:space-between;gap:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.data-note h2{margin:0;font-size:var(--text-sm)}.data-note p{max-width:780px;margin:5px 0 0;color:var(--text-subtle);font-size:var(--text-xs)}.data-note>div:last-child{display:flex;align-items:center;gap:var(--space-3)}.data-note a{color:var(--action-hover);font-size:var(--text-xs)}.data-note a:hover{text-decoration:underline}
.index-health strong{font-size:var(--text-sm);white-space:nowrap}
@media(max-width:1250px){.raid-grid{grid-template-columns:300px minmax(390px,1fr)}.result-panel{grid-column:1/-1;border-top:1px solid var(--border)}.raid-result{display:grid;grid-template-columns:minmax(230px,.7fr) 1fr 1fr}.result-summary{border-right:1px solid var(--border)}.loadout{border-right:1px solid var(--border)}.route-breakdown{grid-column:1/-1}}
@media(max-width:820px){.raid-workspace{padding:var(--space-4)}.raid-page-head{min-height:0}.raid-config{align-items:stretch;flex-direction:column}.segmented button{min-width:0;flex:1}.raid-config select{width:100%}.raid-grid{display:block}.target-panel,.route-panel{border-right:0;border-bottom:1px solid var(--border)}.target-list,.route-list{max-height:none}.target-panel{max-height:520px;overflow:hidden}.target-list{max-height:410px}.raid-result{display:block}.result-summary,.loadout{border-right:0}.data-note{flex-direction:column}}
@media(max-width:560px){.raid-workspace{padding:var(--space-3)}.raid-page-head{align-items:flex-start}.raid-page-head p{font-size:var(--text-xs)}.raid-page-head .button{padding:0 10px;font-size:var(--text-xs)}.raid-config{padding:var(--space-2);gap:var(--space-3)}.segmented button{padding:0 6px;font-size:var(--text-xs)}.raid-grid{border-inline:0;border-radius:0;margin-inline:calc(var(--space-3) * -1)}.panel-head{padding-inline:var(--space-3)}.compact-search input{width:132px}.route-controls{grid-template-columns:90px 1fr 32px}.health-control{grid-template-columns:1fr 48px}.data-note{margin-inline:calc(var(--space-3) * -1);border-inline:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){.result-loading span{animation:none}}

/* Wipe OS Raid Lab */
.raid-workspace{width:min(100% - 40px,var(--content));margin-inline:auto;padding:clamp(7rem,10vw,9rem) 0 var(--s-9)}
.raid-page-head{min-height:0;margin-bottom:var(--s-7);padding-bottom:var(--s-7);align-items:flex-end;border-bottom:1px solid var(--line-strong)}
.raid-page-head h1{margin:var(--s-4) 0 0;font-family:var(--font-display);font-size:clamp(4rem,8vw,8rem);font-weight:800;line-height:.78;letter-spacing:-.065em;text-transform:uppercase}
.raid-page-head h1 em{color:var(--rust-500);font-style:normal}
.raid-page-head>div>p:last-child{max-width:720px;margin:var(--s-5) 0 0;color:var(--sand-300);font-size:1rem}
.raid-page-head .eyebrow{margin:0}.raid-page-head .eyebrow b{color:var(--sand-500);font-weight:700}
.raid-page-head .button{flex:0 0 auto}
.raid-config{min-height:0;margin-bottom:var(--s-4);padding:var(--s-4);gap:var(--s-5);border-color:var(--line-strong);background:rgba(17,17,15,.9)}
.raid-config legend,.raid-config label>span,.inventory-panel>span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.segmented{height:46px;padding:0;border-color:var(--line-strong);background:var(--ink-950)}
.segmented button{min-width:112px;border-right:1px solid var(--line);text-transform:uppercase;font-size:.65rem;font-weight:800;letter-spacing:.04em}
.segmented button:last-child{border-right:0}.segmented button[aria-pressed=true]{color:var(--ink-950);background:var(--lime-400)}
.raid-config select,.inventory-panel input,.route-controls input,.compact-search input{border-color:var(--line-strong);background:var(--ink-950)}
.raid-grid{min-height:620px;border-color:var(--line-strong);background:rgba(17,17,15,.92)}
.panel-head{min-height:70px;padding:var(--s-4)}.panel-head h2{font-family:var(--font-display);font-size:1.3rem;text-transform:uppercase}
.target-groups{padding-inline:var(--s-4)}.target-groups button{border-radius:0;font:700 .62rem/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}
.target-groups button[aria-pressed=true]{color:var(--ink-950);border-color:var(--rust-500);background:var(--rust-500)}
.target-row{min-height:70px;padding:var(--s-3) var(--s-4)}.target-row b{border-radius:0}.target-row.is-added{background:rgba(185,227,75,.06)}.target-row.is-added b{color:var(--ink-950);border-color:var(--lime-400);background:var(--lime-400)}
.route-row{padding:var(--s-4)}
.result-summary>strong{font-family:var(--font-display);font-size:3.5rem;color:var(--rust-500);line-height:1}
.loadout h3,.resource-breakdown h3,.route-breakdown h3{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.data-note{margin-top:var(--s-4);padding:var(--s-5);border-color:var(--line-strong);background:var(--ink-900)}
.data-note h2{font-family:var(--font-display);font-size:1.4rem;text-transform:uppercase}.data-note a{color:var(--lime-400)}
.raid-footer{width:min(100% - 40px,var(--content));margin-inline:auto}
@media(max-width:620px){
  .raid-workspace,.raid-footer{width:min(100% - 28px,var(--content))}
  .raid-workspace{padding-top:8rem}
  .raid-page-head{display:grid}.raid-page-head h1{font-size:clamp(3.4rem,17vw,5rem)}
  .raid-page-head .button{width:100%}
  .raid-grid,.data-note{margin-inline:0;border-inline:1px solid var(--line-strong)}
  .raid-config{padding:var(--s-3)}
}
