/* Native simulator controls, using the shared Marathon palette. */
.sim-workspace { min-width:0; max-width:none; font-size:14px; line-height:1.5; }
.sim-workspace *, .sim-workspace *::before, .sim-workspace *::after { box-sizing:border-box; }
.sim-workspace button, .sim-workspace input { font-family:var(--font-sans,system-ui,sans-serif); }
.sim-workspace button { cursor:pointer; }
.sim-workspace button:disabled { cursor:default; opacity:.55; }
.sim-workspace :is(button,input,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.sim-workspace [hidden] { display:none!important; }
.sim-workspace :is(h2,h3) { font-family:var(--font-display,var(--font-sans,system-ui,sans-serif)); font-weight:900; letter-spacing:-.04em; }
.sim-loot-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(350px,1fr); gap:16px; align-items:stretch; }
.sim-repair-layout { display:grid; grid-template-columns:minmax(230px,.86fr) minmax(270px,1fr) minmax(340px,1.18fr); gap:14px; align-items:stretch; }
.sim-panel { min-width:0; padding:22px; border:1px solid var(--border); border-radius:0; background:var(--surface); color:var(--ink); }
.sim-panel h2 { margin:0 0 20px; font-size:clamp(22px,2.05vw,32px); line-height:1.15; }
.sim-side { display:grid; min-width:0; align-content:stretch; }
.sim-paper {
  --surface:var(--marathon-paper,#f2f3eb); --ink:var(--marathon-paper-ink,#10120e); --muted:var(--marathon-paper-muted,#5e635a);
  --border:var(--marathon-paper-border,#bcc0b7); --border-strong:#92998a; --soft:#e5e7df; --surface-input:#fafbf5;
  background:var(--surface); color:var(--ink);
}
.sim-control-group { display:flex; align-items:center; gap:10px; min-width:0; }
.sim-control-group > span { font-size:13px; color:var(--muted); flex-shrink:0; }
.sim-choices { display:flex; min-width:0; gap:0; flex-wrap:wrap; }
.sim-choices button { min-height:44px; padding:10px 13px; border:1px solid var(--border); border-radius:0; background:transparent; color:var(--ink); font-size:13px; font-weight:650; line-height:1.35; }
.sim-choices button + button { margin-left:-1px; }
.sim-choices button:hover:not(:disabled) { border-color:var(--accent); position:relative; }
.sim-choices button[aria-pressed='true'] { position:relative; color:var(--accent-ink); background:var(--accent); border-color:var(--accent); }
.sim-board-panel { padding:0 22px 20px; }
.sim-board-controls { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; margin:0 -22px 22px; padding:16px 22px; border-bottom:1px solid var(--border); }
.sim-board-controls .sim-choices button { padding-inline:11px; }
.sim-audio { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; cursor:pointer; white-space:nowrap; margin-left:auto; }
.sim-audio input { width:18px; height:18px; accent-color:var(--accent); margin:0; }
.sim-grid { position:relative; display:grid; grid-template-columns:repeat(var(--sim-cols),minmax(0,1fr)); grid-template-rows:repeat(var(--sim-rows),minmax(0,1fr)); width:min(100%,510px); aspect-ratio:var(--sim-cols) / var(--sim-rows); margin:0 auto; gap:4px; }
.sim-empty-cell { position:relative; background:var(--soft); border:1px solid var(--border); }
.sim-empty-cell::after { content:'+'; position:absolute; inset:0; display:grid; place-items:center; color:var(--border-strong); font-size:20px; font-weight:300; }
.sim-grid-empty { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; pointer-events:none; color:var(--muted); }
.sim-grid-empty strong { padding:8px 14px; background:var(--surface); color:var(--ink); font-size:24px; font-weight:850; }
.sim-grid-empty small { padding:3px 8px; background:var(--surface); font-size:13px; }
.sim-quality-1 { --sim-quality:#a2aba1; }
.sim-quality-2 { --sim-quality:#67b86d; }
.sim-quality-3 { --sim-quality:#6aaee9; }
.sim-quality-4 { --sim-quality:#bc7ee7; }
.sim-quality-5 { --sim-quality:#ddb449; }
.sim-quality-6 { --sim-quality:#ed5a54; }
.sim-loot-cell { position:relative; z-index:1; min-width:0; min-height:0; overflow:hidden; border:1px solid var(--sim-quality,var(--border-strong)); border-top-width:3px; border-radius:0; background:color-mix(in srgb,var(--sim-quality,var(--soft)) 12%,var(--surface)); color:var(--ink); }
.sim-workspace .sim-loot-cell:disabled { opacity:1; }
.sim-loot-cell:hover:not(:disabled), .sim-loot-cell[aria-pressed='true'] { box-shadow:inset 0 0 0 1px var(--sim-quality); }
.sim-art.gc-media { width:56px; height:56px; flex:0 0 56px; border:0; border-radius:0; background:transparent; }
.sim-loot-art.gc-media { position:absolute; inset:22px 5px 18px; width:calc(100% - 10px); height:calc(100% - 40px); border:0; border-radius:0; background:transparent; }
.sim-loot-name, .sim-loot-price { position:absolute; z-index:2; max-width:calc(100% - 10px); font-size:11px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sim-loot-name { top:4px; left:5px; padding:1px 2px; background:color-mix(in srgb,var(--surface) 90%,transparent); }
.sim-loot-price { right:5px; bottom:3px; font-family:var(--font-mono,ui-monospace,monospace); font-variant-numeric:tabular-nums; font-weight:700; }
.sim-scanning, .sim-unrevealed { color:var(--muted); font-size:12px; background:var(--soft); }
.sim-scanning::after { content:''; position:absolute; inset:0; border:2px solid var(--accent); animation:sim-scan 900ms ease-in-out infinite alternate; }
@keyframes sim-scan { from { opacity:.15; } to { opacity:.85; } }
.sim-board-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin:14px auto 0; max-width:510px; font-size:12px; color:var(--muted); }
.sim-open-actions { display:flex; gap:10px; margin-top:20px; }
.sim-primary, .sim-secondary { min-height:50px; padding:12px 20px; border:1px solid var(--accent); border-radius:0; font-size:16px; font-weight:800; }
.sim-workspace .sim-primary { flex:1; background:var(--accent); color:var(--accent-ink); }
.sim-workspace .sim-primary:hover:not(:disabled) { background:var(--accent-dark); }
.sim-secondary { background:transparent; color:var(--ink); }
.sim-note { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.sim-empty { margin:0; padding:16px 0; color:var(--muted); font-size:13px; }
.sim-total { padding:20px 0 24px; border-top:1px solid var(--border); }
.sim-total > span { color:var(--ink); font-size:16px; font-weight:750; }
.sim-total > div { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-top:8px; }
.sim-total strong { font-family:var(--font-mono,ui-monospace,monospace); font-size:clamp(38px,4.6vw,70px); line-height:1.05; font-weight:900; letter-spacing:-.07em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sim-total small { font-size:14px; white-space:nowrap; }
.sim-metrics { display:grid; gap:18px; margin:0; }
.sim-metrics-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sim-metrics dt { font-size:13px; color:var(--muted); margin-bottom:6px; }
.sim-metrics dd { margin:0; font-family:var(--font-mono,ui-monospace,monospace); font-size:26px; font-weight:800; font-variant-numeric:tabular-nums; line-height:1.2; }
.sim-loot-summary > .sim-metrics { padding:20px 0; border-top:1px solid var(--border); }
.sim-loot-summary > .sim-metrics > div + div { padding-left:20px; border-left:1px solid var(--border); }
.sim-loot-summary > .sim-metrics dd { font-size:clamp(28px,2.8vw,42px); }
.sim-reward-list { border-top:1px solid var(--border); }
.sim-reward-heading { display:flex; justify-content:space-between; padding:12px 0; font-size:13px; font-weight:650; }
.sim-reward-row { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:12px; align-items:center; width:100%; border:0; border-top:1px solid var(--border); padding:10px 0; border-radius:0; background:transparent; color:var(--ink); text-align:left; }
.sim-reward-row .sim-art { width:52px; height:52px; }
.sim-reward-row > span:not(.gc-media) { font-size:14px; font-weight:650; overflow-wrap:anywhere; }
.sim-reward-row > strong { font-family:var(--font-mono,ui-monospace,monospace); font-size:19px; font-weight:800; font-variant-numeric:tabular-nums; }
.sim-reward-row:hover, .sim-reward-row[aria-pressed='true'] { background:var(--soft); color:var(--ink); }
.sim-best { padding:16px 0 0; border-top:1px solid var(--border); margin-top:8px; }
.sim-best > span { font-size:15px; font-weight:800; }
.sim-best > div { display:flex; align-items:center; gap:12px; margin-top:8px; }
.sim-best strong { font-size:14px; flex:1; min-width:0; overflow-wrap:anywhere; }
.sim-best b { font-family:var(--font-mono,ui-monospace,monospace); font-size:18px; font-variant-numeric:tabular-nums; }
.sim-selected-pull { border-top:1px solid var(--border); margin-top:16px; padding-top:2px; }
.sim-pull-detail { display:flex; align-items:center; gap:10px; min-width:0; padding:14px 0 0; }
.sim-pull-detail > div { min-width:0; }
.sim-pull-detail strong { display:block; font-size:13px; overflow-wrap:anywhere; }
.sim-pull-detail span:not(.gc-media,.gc-media-empty,.gc-sprite-image), .sim-pull-detail small { display:block; color:var(--muted); font-size:11px; }
.sim-pull-detail > div:last-child { margin-left:auto; text-align:right; flex-shrink:0; }
.sim-pull-detail b { font-size:16px; font-family:var(--font-mono,ui-monospace,monospace); font-variant-numeric:tabular-nums; }
.sim-secondary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; align-items:start; }
.sim-foldout { padding:0; }
.sim-foldout summary { display:flex; align-items:center; gap:16px; min-height:64px; padding:16px 22px; list-style:none; cursor:pointer; }
.sim-foldout summary::-webkit-details-marker { display:none; }
.sim-foldout summary > span { font-family:var(--font-display,var(--font-sans,system-ui,sans-serif)); font-size:24px; font-weight:900; letter-spacing:-.04em; }
.sim-foldout summary > small { color:var(--muted); font-size:12px; }
.sim-foldout summary::after { content:'+'; margin-left:auto; font-size:28px; font-weight:300; line-height:1; }
.sim-foldout[open] summary::after { content:'−'; }
.sim-foldout-body { padding:0 22px 20px; }
.sim-odds { display:grid; gap:12px; padding-top:4px; }
.sim-odds > div { display:grid; grid-template-columns:58px minmax(0,1fr) 52px; gap:12px; align-items:center; font-size:12px; }
.sim-odds > div > span { display:flex; align-items:center; gap:8px; color:var(--muted); }
.sim-odds b { font-weight:650; text-align:right; font-variant-numeric:tabular-nums; }
.sim-quality-dot { width:8px; height:13px; border-radius:0; background:var(--sim-quality); }
.sim-workspace progress { display:block; width:100%; height:7px; border:0; border-radius:0; overflow:hidden; background:var(--soft); accent-color:var(--accent); }
.sim-workspace progress::-webkit-progress-bar { background:var(--soft); }
.sim-workspace progress::-webkit-progress-value { background:var(--accent); border-radius:0; }
.sim-workspace progress::-moz-progress-bar { background:var(--accent); border-radius:0; }
.sim-history { list-style:none; padding:0; margin:18px 0 0; }
.sim-history li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid var(--border); }
.sim-history li > div { min-width:0; }
.sim-history strong { display:block; font-size:13px; font-weight:650; overflow-wrap:anywhere; }
.sim-history small { display:block; margin-top:4px; color:var(--muted); font-size:11px; }
.sim-history b { font-family:var(--font-mono,ui-monospace,monospace); color:var(--ink); font-size:14px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.sim-notice { color:var(--muted); margin:12px 0 0; font-size:13px; }
.sim-notice:empty { display:none; }
.sim-gear-panel > .sim-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sim-search { display:block; margin:14px 0; }
.sim-search input { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--border-strong); border-radius:0; background:var(--surface-input); color:var(--ink); font-size:14px; }
.sim-gear-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; max-height:312px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:3px; margin:-3px; }
.sim-gear { display:flex; align-items:center; gap:12px; min-width:0; min-height:88px; padding:10px; border:1px solid var(--border); border-radius:0; background:transparent; color:var(--ink); text-align:left; }
.sim-gear[aria-pressed='true'] { border-color:var(--accent); box-shadow:inset 3px 0 var(--accent); background:color-mix(in srgb,var(--accent) 5%,var(--surface)); }
.sim-gear .sim-art { width:64px; height:64px; flex-basis:64px; }
.sim-gear > span:last-child { min-width:0; }
.sim-gear strong { display:block; font-size:14px; font-weight:750; line-height:1.4; overflow-wrap:anywhere; }
.sim-gear small { display:block; margin-top:5px; color:var(--muted); font-size:12px; }
.sim-selected-gear { display:flex; align-items:center; gap:14px; padding-top:20px; margin-top:20px; border-top:1px solid var(--border); }
.sim-selected-gear > .sim-art { width:112px; height:132px; flex-basis:112px; }
.sim-selected-gear > div { flex:1; min-width:0; }
.sim-selected-gear strong { display:block; font-family:var(--font-display,var(--font-sans,system-ui,sans-serif)); font-size:20px; font-weight:900; line-height:1.35; }
.sim-selected-gear dl { margin:12px 0 0; }
.sim-selected-gear dl > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px; padding:8px 0; border-top:1px solid var(--border); }
.sim-selected-gear dt { font-size:12px; color:var(--muted); }
.sim-selected-gear dd { margin:0; font-size:15px; font-weight:750; font-variant-numeric:tabular-nums; }
.sim-settings-panel > .sim-control-group { display:block; }
.sim-settings-panel > .sim-control-group .sim-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.sim-settings-panel .sim-choices button { padding-inline:6px; font-size:12px; }
.sim-number-fields { display:grid; gap:24px; margin-top:28px; }
.sim-number-fields label { display:block; margin-bottom:10px; font-size:14px; font-weight:650; }
.sim-number-entry { display:flex; align-items:center; gap:12px; }
.sim-number-entry input { width:100%; min-width:0; min-height:54px; padding:10px 14px; border:1px solid var(--border-strong); border-radius:0; background:var(--surface-input); color:var(--ink); font-family:var(--font-mono,ui-monospace,monospace); font-size:27px; font-weight:750; font-variant-numeric:tabular-nums; }
.sim-number-entry > span { flex-shrink:0; color:var(--muted); font-family:var(--font-mono,ui-monospace,monospace); font-size:17px; }
.sim-number-fields input[type='range'] { appearance:none; -webkit-appearance:none; width:100%; height:24px; margin:10px 0 0; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; }
.sim-number-fields input[type='range']:disabled { opacity:.4; cursor:default; }
.sim-number-fields input[type='range']::-webkit-slider-runnable-track { height:6px; border-radius:0; background:linear-gradient(to right,var(--accent) 0 var(--sim-progress,0%),var(--border-strong) var(--sim-progress,0%) 100%); }
.sim-number-fields input[type='range']::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:20px; height:20px; margin-top:-7px; border:1px solid var(--ink); border-radius:0; background:var(--ink); }
.sim-number-fields input[type='range']::-moz-range-track { height:6px; border-radius:0; background:var(--border-strong); }
.sim-number-fields input[type='range']::-moz-range-progress { height:6px; background:var(--accent); }
.sim-number-fields input[type='range']::-moz-range-thumb { width:18px; height:18px; border-radius:0; background:var(--ink); border:1px solid var(--ink); }
.sim-presets { margin-top:24px; }
.sim-presets > span { display:block; margin-bottom:10px; font-size:13px; color:var(--muted); }
.sim-presets > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.sim-presets button { min-width:0; min-height:40px; padding:7px 4px; border:1px solid var(--border); border-radius:0; background:transparent; color:var(--ink); font-size:12px; }
.sim-presets button:hover { border-color:var(--accent); }
.sim-durability-comparison { margin-top:24px; padding-top:18px; border-top:1px solid var(--border); }
.sim-durability-comparison h3 { margin:0 0 16px; font-size:18px; }
.sim-durability-comparison > div { display:grid; grid-template-columns:48px minmax(0,1fr) 78px; align-items:center; gap:10px; margin-top:14px; }
.sim-durability-comparison > div > span { color:var(--muted); font-size:12px; }
.sim-durability-comparison progress { height:13px; }
.sim-durability-comparison b { font-family:var(--font-mono,ui-monospace,monospace); font-size:13px; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.sim-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:20px; }
.sim-section-heading h2 { margin:0; }
.sim-repaired { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:28px 0 24px; }
.sim-repaired > div { min-width:0; text-align:center; }
.sim-repaired > div + div { border-left:1px solid var(--border); }
.sim-repaired dt { font-size:15px; font-weight:650; margin-bottom:8px; }
.sim-repaired dd { margin:0; font-family:var(--font-mono,ui-monospace,monospace); font-size:clamp(46px,5.6vw,82px); font-weight:900; letter-spacing:-.08em; line-height:1.05; font-variant-numeric:tabular-nums; }
.sim-result-lines { margin:0; border-top:1px solid var(--border); }
.sim-result-lines > div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:15px 0; border-bottom:1px solid var(--border); }
.sim-result-lines dt { font-size:14px; font-weight:650; }
.sim-result-lines dd { margin:0; font-family:var(--font-mono,ui-monospace,monospace); font-size:23px; font-weight:850; font-variant-numeric:tabular-nums; }
.sim-result-lines > div:last-child dd { font-size:19px; }
.sim-listing { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:16px 0 22px; }
.sim-listing > strong { padding:7px 10px; background:var(--accent); color:var(--accent-ink); font-size:13px; font-weight:800; }
.sim-listing > span { color:var(--ink); font-size:17px; font-weight:800; }
.sim-comparison-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.sim-comparison-heading h3 { margin:0; font-size:17px; }
.sim-comparison-heading > span { color:var(--muted); font-size:11px; }
.sim-comparison { width:100%; border-collapse:collapse; font-size:13px; table-layout:fixed; }
.sim-comparison th, .sim-comparison td { border-bottom:1px solid var(--border); padding:10px 8px; text-align:center; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sim-comparison thead { background:var(--soft); }
.sim-comparison thead th { font-size:12px; font-weight:650; }
.sim-comparison tbody th { padding:0; }
.sim-comparison tbody button { width:100%; min-height:44px; padding:8px 6px; border:0; border-radius:0; background:transparent; color:var(--ink); font-size:13px; font-weight:650; }
.sim-comparison tbody td { font-family:var(--font-mono,ui-monospace,monospace); font-weight:650; }
.sim-comparison tr.is-selected { box-shadow:inset 4px 0 var(--accent); background:color-mix(in srgb,var(--accent) 8%,var(--surface)); }
.sim-comparison tbody button:hover { background:var(--soft); }
.sim-error { color:var(--coral,#ed5a54); font-size:14px; padding:14px 0; line-height:1.7; }
@media (min-width:1800px) {
  .sim-grid { width:min(100%,560px); }
  .sim-board-meta { max-width:560px; }
  .sim-panel { padding:28px; }
  .sim-board-panel { padding:0 28px 24px; }
  .sim-board-controls { margin-inline:-28px; padding-inline:28px; }
  .sim-foldout { padding:0; }
  .sim-gear-grid { max-height:344px; }
}
@media (max-width:1160px) {
  .sim-repair-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1fr); }
  .sim-repair-layout > .sim-side { grid-column:1 / -1; }
  .sim-repair-result { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px; }
  .sim-repair-result > .sim-section-heading { grid-column:1 / -1; }
  .sim-repair-result > .sim-repaired { grid-column:1; grid-row:2 / 4; align-self:center; }
  .sim-repair-result > .sim-result-lines { grid-column:2; grid-row:2 / 4; }
  .sim-repair-result > :is(.sim-listing,.sim-comparison-heading,.sim-comparison,.sim-note,.sim-error) { grid-column:1 / -1; }
  .sim-loot-layout { grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr); }
  .sim-panel { padding:18px; }
  .sim-board-panel { padding:0 18px 18px; }
  .sim-board-controls { margin-inline:-18px; padding:14px 18px; gap:12px; }
  .sim-foldout { padding:0; }
  .sim-board-controls .sim-control-group { width:100%; }
  .sim-board-controls .sim-choices { flex:1; }
  .sim-board-controls .sim-choices button { flex:1; }
  .sim-board-controls .sim-audio { margin-left:0; }
  .sim-total strong { font-size:clamp(34px,4.8vw,54px); }
  .sim-reward-row { grid-template-columns:42px minmax(0,1fr) auto; gap:8px; }
  .sim-reward-row .sim-art { width:42px; height:42px; }
  .sim-reward-row > strong { font-size:16px; }
  .sim-pull-detail { flex-wrap:wrap; }
  .sim-selected-gear > .sim-art { width:100px; height:120px; flex-basis:100px; }
}
@media (max-width:760px) {
  .sim-loot-layout, .sim-repair-layout, .sim-secondary-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .sim-repair-layout > .sim-side { grid-column:auto; }
  .sim-repair-result { display:block; }
  .sim-panel h2 { font-size:26px; }
  .sim-grid { width:min(100%,440px); }
  .sim-board-meta { max-width:440px; }
  .sim-board-controls .sim-choices button { font-size:12px; padding-inline:9px; }
  .sim-gear-grid { max-height:280px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sim-gear { gap:8px; min-height:90px; padding:8px; }
  .sim-gear .sim-art { width:56px; height:56px; flex-basis:56px; }
  .sim-gear strong { font-size:13px; }
  .sim-gear small { font-size:11px; }
  .sim-selected-gear > .sim-art { width:112px; height:120px; flex-basis:112px; }
  .sim-settings-panel .sim-choices button, .sim-presets button { min-height:44px; font-size:13px; }
  .sim-search input { font-size:16px; }
  .sim-number-fields { gap:20px; }
  .sim-number-entry input { font-size:26px; }
  .sim-repaired dd { font-size:68px; }
  .sim-total strong { font-size:clamp(40px,10vw,60px); }
  .sim-loot-summary > .sim-metrics dd { font-size:36px; }
  .sim-reward-row { grid-template-columns:56px minmax(0,1fr) auto; gap:12px; }
  .sim-reward-row .sim-art { width:56px; height:56px; }
  .sim-reward-row > strong { font-size:18px; }
  .sim-foldout summary { padding:14px 18px; }
  .sim-foldout-body { padding:0 18px 18px; }
  .sim-open-actions { flex-wrap:wrap; }
  .sim-open-actions .sim-secondary { flex:1; }
}
@media (max-width:440px) {
  .sim-panel { padding:16px; }
  .sim-board-panel { padding:0 14px 16px; }
  .sim-board-controls { margin-inline:-14px; padding:14px; }
  .sim-foldout { padding:0; }
  .sim-control-group { gap:7px; }
  .sim-board-controls .sim-choices button { padding-inline:6px; }
  .sim-gear-grid { grid-template-columns:minmax(0,1fr); max-height:270px; }
  .sim-gear .sim-art { width:64px; height:64px; flex-basis:64px; }
  .sim-gear strong { font-size:14px; }
  .sim-repaired dd { font-size:60px; }
  .sim-reward-row { gap:8px; }
  .sim-reward-row > strong { font-size:16px; }
  .sim-total strong { font-size:clamp(33px,10.3vw,46px); }
  .sim-loot-name, .sim-loot-price { font-size:10px; }
  .sim-best > div { flex-wrap:wrap; }
  .sim-best strong { flex-basis:calc(100% - 70px); }
  .sim-best b { margin-left:68px; }
  .sim-presets > div { gap:4px; }
  .sim-presets button { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .sim-scanning::after { animation:none; }
}
