.artifact-field input:focus-visible {outline:2px solid var(--accent);outline-offset:2px}
.loadout-item.is-manual-off .loadout-name {color:var(--muted)}
.loadout-permanent.is-permanent {color:#ed81df}
.slot-workflow{font-size:12px;color:var(--muted);line-height:1.7;margin:6px 0 0;flex-basis:100%}.slot-counters #choose-permanent{padding:6px 10px;min-height:36px;font-size:12px}.loadout-permanent:has(input:disabled){opacity:.5}
dialog.permanent-picker{width:560px;max-width:calc(100vw - 24px);max-height:90dvh;padding:18px}.permanent-picker>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.permanent-picker h2{font-size:18px;margin:0}.permanent-picker-list{max-height:54dvh;overflow:auto;overscroll-behavior:contain;margin:12px 0}.permanent-picker #permanent-picker-count{font-size:13px;color:var(--accent);margin:12px 0}.permanent-pick-row{display:flex;align-items:center;gap:12px;padding:10px;border-bottom:1px solid var(--line);min-height:50px;cursor:pointer}.permanent-pick-row.is-permanent{background:var(--game-inset);color:#ed81df}.permanent-pick-row input{width:18px;height:18px;flex-shrink:0;accent-color:#ed81df}.permanent-pick-row span{display:grid;gap:3px;min-width:0}.permanent-pick-row strong{font-size:14px;overflow-wrap:anywhere}.permanent-pick-row small{font-size:11px;color:var(--muted)}.permanent-pick-row:has(input:disabled){opacity:.5;cursor:default}.permanent-picker>footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}.permanent-picker footer .error{font-size:12px}.permanent-picker footer .error:empty{display:none}.permanent-picker button{min-height:40px}
.loadout-actions {flex-wrap:wrap}
/* The party iframe can be much taller than its visible dialog height limit.
   Bulk help and choices share one shrinking scroll body; exits stay outside. */
dialog.permanent-picker[open] {display:flex;flex-direction:column;overflow:hidden}
.permanent-picker>header,.permanent-picker>#permanent-picker-count,.permanent-picker>footer {flex-shrink:0}
.permanent-picker>header {margin:0}
.permanent-picker>#permanent-picker-count {margin:8px 0}
.permanent-picker-body {flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.permanent-picker-list {max-height:none;overflow:visible;margin:8px 0}
.permanent-picker>footer {padding-top:8px}
.permanent-bulk {flex-shrink:0;display:grid;gap:6px;padding:10px 0;border-block:1px solid var(--line)}
.permanent-bulk[hidden] {display:none}
.permanent-bulk>span {font-size:12px;font-weight:700}
.permanent-bulk>div {display:flex;flex-wrap:wrap;gap:8px}
.permanent-bulk button {font-size:12px;min-height:44px;padding:6px 10px}
.permanent-bulk small {font-size:11px;color:var(--muted);line-height:1.6}
.permanent-bulk-status {font-size:12px;color:var(--accent);margin:0;line-height:1.6}
.permanent-bulk-status:empty {display:none}
.permanent-picker>footer>button {flex-shrink:0;white-space:nowrap;min-width:56px}
.permanent-picker>footer>.error {min-width:0}
.with-catalog .loadout-group.is-compact .loadout-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:1px 8px;min-height:44px}
.with-catalog .loadout-group.is-compact .loadout-name {min-width:0;min-height:42px;padding:4px 0;gap:5px;overflow:hidden}
.with-catalog .loadout-group.is-compact .loadout-kind {display:none}
.with-catalog .loadout-group.is-compact .loadout-title {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.with-catalog .loadout-group.is-compact .loadout-actions {flex-wrap:nowrap;gap:4px;margin:0;white-space:nowrap}
.with-catalog .loadout-group.is-compact .loadout-permanent {min-height:40px;gap:4px;padding:0 3px;font-size:11px}
.with-catalog .loadout-group.is-compact .loadout-permanent input {width:16px;height:16px;margin:0;flex-shrink:0}
.with-catalog .loadout-group.is-compact .loadout-remove {min-height:36px;padding:4px 6px;font-size:11px}
.with-catalog .loadout-group.is-compact .fixed-state {padding:0;font-size:11px}
.with-catalog .loadout-group.is-compact .loadout-issue-mark {color:var(--warning,#e7b861);flex-shrink:0;font-weight:700}
.artifact-panel {margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface,var(--paper,transparent))}
.artifact-panel-heading {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.artifact-panel-heading h2 {font-size:17px;margin:0}.artifact-panel-heading>span,.artifact-panel-note {font-size:12px;color:var(--muted);line-height:1.6}
.artifact-panel-note {margin:0 0 12px}.artifact-input-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}
.artifact-field {display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;min-width:0}
.artifact-input-value {display:flex;align-items:center;gap:5px;max-width:70%;min-width:0}
.artifact-field input {width:100%;min-width:0;max-width:120px;min-height:42px;padding:8px;color:var(--ink);background:var(--surface,var(--paper,transparent));border:1px solid var(--line);border-radius:5px;font:inherit;text-align:right}
.artifact-breakdown {margin-top:14px;border-top:1px solid var(--line);padding-top:9px}.artifact-breakdown>summary {font-size:12px;padding:5px 0;cursor:pointer}
.artifact-breakdown[open]>.artifact-panel-note {margin-top:12px}.artifact-breakdown-rows {display:grid;gap:0}
.artifact-breakdown-row {display:grid;grid-template-columns:minmax(70px,1fr) repeat(3,minmax(0,1fr));gap:6px 10px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}
.artifact-breakdown-row>small {grid-column:2/-1;color:var(--muted);font-size:11px}.artifact-breakdown-row>span {display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.artifact-formula {font-size:11px;line-height:1.7;color:var(--muted);margin-top:14px}
@media(max-width:700px){.artifact-panel {padding:12px}.artifact-input-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.artifact-field {align-items:flex-start;flex-direction:column;gap:4px}.artifact-input-value {max-width:none;width:100%}.artifact-field input {max-width:none}.artifact-breakdown-row {grid-template-columns:repeat(3,minmax(0,1fr))}.artifact-breakdown-row>strong {grid-column:1/-1}.artifact-breakdown-row>small {grid-column:1/-1}.loadout-toggle {min-height:40px}}
@media(max-width:480px){
  .loadout-row:has(.loadout-permanent) {display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .loadout-row:has(.loadout-permanent)>.loadout-name {width:100%}
  .loadout-row:has(.loadout-permanent)>.loadout-actions {justify-content:flex-end;margin:0 0 4px;min-width:0}
}
.acquired-bulk-controls {margin:8px 0 12px;padding:0;border:0}
.acquired-bulk-controls>summary {cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;color:var(--accent)}
.acquired-bulk-controls>div {display:flex;gap:8px;flex-wrap:wrap}
.acquired-bulk-controls button {min-height:44px}
.acquired-bulk-controls .acquired-bulk-names {font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:0 0 8px}
.acquired-bulk-controls .acquired-bulk-names:empty {display:none}
.effect-controls:has(>.effect-comparison-options) {padding:4px 0;display:block}
.effect-comparison-options>summary {cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;color:var(--accent);line-height:1.6;overflow-wrap:anywhere}
.effect-comparison-fields {display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:8px 0 12px}
.effect-comparison-fields>strong {display:none}
.display-settings>div:has(#skill-brief-display) {min-width:240px;max-width:calc(100vw - 32px)}
.display-settings #skill-brief-display {display:flex;margin-bottom:10px}
.display-settings #skill-brief-display button {flex:1;min-height:44px}
.display-settings #page-size-label {margin-bottom:10px;display:flex;justify-content:space-between;gap:8px}
.display-settings #page-size {min-height:44px}
.loadout-order-toolbar {display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}
.loadout-order-toolbar>span {font-size:12px;color:var(--muted)}
.loadout-order-toolbar>button {min-height:44px}
.loadout-order {display:inline-flex;gap:4px;flex-shrink:0}
.game-ui .loadout-actions .loadout-order button {min-width:44px;min-height:44px;padding:4px;font-size:18px;line-height:1}
.loadout-order button:disabled {opacity:.3;cursor:default}
.loadout-group.is-ordering .loadout-row {display:flex;flex-wrap:nowrap;gap:8px}
.loadout-group.is-ordering .loadout-name {flex:1;min-width:0}
.loadout-group.is-ordering .loadout-actions {flex:none;flex-wrap:nowrap;margin:0}
.loadout-group.is-ordering .loadout-actions>:not(.loadout-order) {display:none}
.loadout-group.is-ordering .loadout-brief {display:none}
.loadout-group.is-ordering .loadout-kind,.loadout-group.is-ordering .owned-importance-label {display:none}
