:root,:root[data-theme=abyss]{--bg: #050b0d;--bg-deep: #030708;--surface: #132428;--surface-raised: #1d353b;--surface-sunken: #0a1518;--border: #2e4b54;--border-strong: #42656f;--text: #f2fafb;--text-muted: #879ca0;--accent: #d98a5f;--accent-strong: #f2a97d;--accent-contrast: #140903;--success: #5fd1b0;--error: #e2706b;--logo-metal-1: #f7d3ba;--logo-metal-2: #e0a077;--logo-metal-3: #b96a3c;--logo-metal-4: #7d4321;--logo-metal-edge: #5a2f16;--logo-second-1: #f4fbfc;--logo-second-2: #cfe4e6;--logo-second-3: #92aeb2;--logo-second-4: #64807f;--logo-second-edge: #3d5a5d;--logo-disc-1: #1c7b7d;--logo-disc-2: #10484f;--logo-disc-3: #07222a;--logo-inset: #0a1f24;--logo-rim-1: #f2c6a6;--logo-rim-2: #c9793f;--logo-rim-3: #7d431c}:root[data-theme=graphite]{--bg: #121214;--bg-deep: #0b0b0d;--surface: #1a1a1d;--surface-raised: #252529;--surface-sunken: #141416;--border: #2c2c31;--border-strong: #42424a;--text: #fbfbfc;--text-muted: #8d8d96;--accent: #e8722c;--accent-strong: #ff9354;--accent-contrast: #180a02;--success: #4fbf68;--error: #e2544e;--logo-metal-1: #ffd9b0;--logo-metal-2: #f0a05a;--logo-metal-3: #c86a24;--logo-metal-4: #8a4413;--logo-metal-edge: #5c2d0c;--logo-second-1: #ffffff;--logo-second-2: #e4e4e6;--logo-second-3: #a2a2a9;--logo-second-4: #6e6e76;--logo-second-edge: #48484f;--logo-disc-1: #6b3320;--logo-disc-2: #3d1c11;--logo-disc-3: #1c0d07;--logo-inset: #1e1310;--logo-rim-1: #ffd9b0;--logo-rim-2: #d07b2e;--logo-rim-3: #7a3f10}:root[data-theme=midnight]{--bg: #0f1116;--bg-deep: #090b0f;--surface: #171a21;--surface-raised: #212530;--surface-sunken: #101318;--border: #272c37;--border-strong: #3b4252;--text: #f4f6fa;--text-muted: #88909f;--accent: #c8a45c;--accent-strong: #e3bf72;--accent-contrast: #100d06;--success: #5fc46a;--error: #e06c6c;--logo-metal-1: #f6e3a8;--logo-metal-2: #e0b968;--logo-metal-3: #b8862f;--logo-metal-4: #8a5f1d;--logo-metal-edge: #5f4110;--logo-second-1: #ffffff;--logo-second-2: #dfe4ee;--logo-second-3: #9aa4b6;--logo-second-4: #6d778a;--logo-second-edge: #4b5364;--logo-disc-1: #2f7d96;--logo-disc-2: #1b5268;--logo-disc-3: #0d2b39;--logo-inset: #0e2937;--logo-rim-1: #f2dda2;--logo-rim-2: #c2903a;--logo-rim-3: #7d5518}:root[data-theme=obsidian]{--bg: #0d0d12;--bg-deep: #08080c;--surface: #15151d;--surface-raised: #1f1f2a;--surface-sunken: #101016;--border: #262633;--border-strong: #3b3b4e;--text: #f6f6fb;--text-muted: #88889c;--accent: #8b6cf0;--accent-strong: #a992ff;--accent-contrast: #0b0715;--success: #4fc98a;--error: #f0616e;--logo-metal-1: #ded7ff;--logo-metal-2: #ab92f5;--logo-metal-3: #7a5ce0;--logo-metal-4: #4b32a0;--logo-metal-edge: #33207a;--logo-second-1: #ffffff;--logo-second-2: #e4e4f0;--logo-second-3: #a6a6c0;--logo-second-4: #74748c;--logo-second-edge: #4a4a60;--logo-disc-1: #4a37a8;--logo-disc-2: #2a1d63;--logo-disc-3: #120c2e;--logo-inset: #14102b;--logo-rim-1: #d6cbff;--logo-rim-2: #8f74e8;--logo-rim-3: #533aa8}:root{--accent-wash: color-mix(in srgb, var(--accent) 16%, transparent);--accent-wash-hover: color-mix(in srgb, var(--accent) 26%, transparent);--accent-bar: color-mix(in srgb, var(--accent) 22%, transparent);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--tree-1: #b4622a;--tree-2: #a33b2a;--tree-3: #3a6f93;--class-warrior: #c79c6e;--class-paladin: #f58cba;--class-hunter: #abd473;--class-rogue: #fff569;--class-priest: #e8eef0;--class-shaman: #3a8ee6;--class-mage: #69ccf0;--class-warlock: #9482c9;--class-druid: #ff7d0a;--class-ink: #11181a;--quality-0: #9d9d9d;--quality-1: #ffffff;--quality-2: #1eff00;--quality-3: #0070dd;--quality-4: #a335ee;--quality-5: #ff8000;--quality-edge-0: #5a5a5a;--quality-edge-1: var(--border);--quality-edge-2: #1a7a1a;--quality-edge-3: #1d4f99;--quality-edge-4: #6b2b96;--quality-edge-5: #9c5200;--item-card-bg: #06080c;--item-card-border: #2a2f3a;--item-card-text: #ffffff;--item-card-dim: #9d9d9d;--item-card-stat: #1eff00;--item-card-shadow: rgb(0 0 0 / 70%);--popup-shadow: rgb(0 0 0 / 55%);--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Consolas", monospace;--pill-width: 104px;--rail-width: calc(var(--pill-width) * 2 + 5px);--radius: 4px;--radius-panel: 8px;--control-padding: 7px 10px;--control-font-size: 13px;--label-font-size: 13px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5}.app{max-width:1400px;margin:0 auto;padding:24px 16px 64px}.app-header{display:flex;justify-content:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.logo{width:clamp(240px,34vw,340px);height:auto;display:block}.logo-sim{font-family:Georgia,Times New Roman,serif;font-size:46px;font-weight:700;letter-spacing:.22em}.logo-forever{font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:700;letter-spacing:.1em}.app-layout{display:grid;grid-template-columns:minmax(280px,340px) 1fr var(--rail-width);gap:20px;align-items:start}@media(max-width:1200px){.app-layout{grid-template-columns:minmax(280px,340px) 1fr}.column-rail{grid-column:1 / -1}}@media(max-width:900px){.app-layout{grid-template-columns:1fr}}.column{display:flex;flex-direction:column;gap:16px;min-width:0}.app-layout.single{grid-template-columns:minmax(280px,460px) var(--rail-width);justify-content:center}.confirm{width:100%;margin-top:16px;padding:10px 12px;background:var(--accent-wash);border-color:var(--accent);color:var(--accent-strong);font-size:13px;font-weight:600;letter-spacing:.04em}.confirm:hover:not(:disabled){background:var(--accent-wash-hover)}.character-summary-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.character-summary-body strong{color:var(--accent-strong);margin-right:8px}.character-summary-actions{display:flex;gap:8px;flex-shrink:0}.character-summary-race{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.warn{color:var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);overflow:hidden}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.panel-header h2{margin:0;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.panel-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.panel-badge{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.panel-toggle{min-width:28px;line-height:1}.panel-subtitle{margin:0;font-size:12px;color:var(--text-muted)}.panel-actions{display:flex;gap:8px;flex-shrink:0}.panel-body{padding:16px;overflow-x:auto}.panel-body h3{margin:20px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.panel-body h3:first-child{margin-top:0}.field{display:block;margin-bottom:12px}.field:last-child{margin-bottom:0}.field-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:var(--label-font-size);color:var(--text-muted)}.field-hint{font-size:11px;color:var(--text-muted)}input[type=text],input[type=number],textarea,select{width:100%;padding:var(--control-padding);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);font-size:var(--control-font-size)}select:hover:not(:disabled),input:hover:not(:disabled),textarea:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}button{padding:6px 12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:inherit;font-size:12px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}.option-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px}.option{padding:var(--control-padding);background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:12px;text-align:center;cursor:pointer}.option:hover:not(.selected){color:var(--text);border-color:var(--border-strong)}.option.selected{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.readonly-value{padding:var(--control-padding);background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-family:var(--font-mono);font-size:13px}.base-stats{width:100%;border-collapse:collapse;font-size:var(--control-font-size)}.base-stats td{padding:5px 10px;border-bottom:1px solid var(--border);color:var(--text-muted)}.base-stats td.numeric{font-family:var(--font-mono);color:var(--text);font-weight:500}.base-stats tr:last-child td{border-bottom:none}.resource-list{margin:0;padding:0;list-style:none}.resource-list li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border);font-size:var(--control-font-size);color:var(--text-muted)}.resource-list li strong,.resource-list li span:last-child{color:var(--text);font-weight:500}.resource-list li:last-child{border-bottom:none}.run-button{width:100%;margin-top:16px;padding:11px;background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.run-button:hover:not(:disabled){background:var(--accent-strong)}.progress{height:4px;margin-top:8px;background:var(--surface-sunken);border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);transition:width .1s linear}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat{display:flex;flex-direction:column;padding:10px 12px;background:var(--surface-sunken);border-radius:6px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.stat-value{font-family:var(--font-mono);font-size:19px;font-weight:500;color:var(--accent)}.stat-note{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:2px}.breakdown{width:100%;border-collapse:collapse;font-size:var(--control-font-size)}.breakdown th,.breakdown td{padding:7px 5px;border-bottom:1px solid var(--border);text-align:left}.breakdown .outcome{padding-left:3px;padding-right:3px;font-size:10px}.breakdown th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.breakdown td{font-family:var(--font-mono);color:var(--text)}.breakdown td.numeric{font-weight:500}.breakdown tbody tr:last-child td{border-bottom:none}.numeric{text-align:right!important}.share{position:relative;display:inline-block;min-width:72px}.share-bar{position:absolute;top:0;right:0;bottom:0;background:var(--accent-bar);border-radius:2px}.share-text{position:relative}.combat-log{max-height:520px;margin:0;padding:12px;overflow:auto;background:var(--surface-sunken);border-radius:6px;font-family:var(--font-mono);font-size:12px;line-height:1.6;white-space:pre}.profile-json{height:220px;resize:vertical;white-space:pre}.placeholder{padding:48px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-panel);color:var(--text-muted);text-align:center}.placeholder.error{border-color:var(--error);color:var(--error)}.muted{color:var(--text-muted);font-size:12px}.issues{margin:12px 0 0;padding-left:20px;color:var(--error);font-size:12px}.talent-remaining{align-self:center;font-size:12px;color:var(--accent-strong)}.talent-remaining.spent{color:var(--text-muted)}.talent-trees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:1100px){.talent-trees{grid-template-columns:1fr}}.talent-tree{border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.talent-tree-header{display:flex;align-items:baseline;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.talent-tree-name{font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--text)}.talent-tree-points{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.talent-grid{display:grid;gap:8px;padding:12px;background:var(--bg-deep);flex:1}.talent{position:relative;padding:0;width:100%;aspect-ratio:1;background:none;border:2px solid var(--border);border-radius:4px;overflow:visible;cursor:pointer}.talent-icon{display:block;width:100%;height:100%;border-radius:2px;object-fit:cover}.talent.locked .talent-icon{filter:grayscale(.85) brightness(.62)}.talent.open{border-color:var(--border-strong)}.talent.open:hover,.talent.partial{border-color:var(--accent)}.talent.maxed{border-color:var(--success)}.talent:disabled{cursor:default}.talent-rank{position:absolute;right:-4px;bottom:-6px;padding:0 3px;background:var(--bg-deep);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--text-muted)}.talent.partial .talent-rank{color:var(--accent-strong)}.talent.maxed .talent-rank{color:var(--success)}.talent-reset{margin:10px;font-size:12px}.gear-pane{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 18px}.gear-column{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;align-content:start}.gear-weapons{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.gear-sort-note{margin:0 0 12px;font-size:12px;color:var(--text-muted)}.gear-valuation-reset{padding:0;background:none;border:none;color:var(--accent-strong);font-size:12px;text-decoration:underline}.gear-valuation-reset:hover:not(:disabled){border:none;color:var(--accent)}.gear-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0}.gear-row-icon{display:block;line-height:0}.gear-icon-button{padding:0;background:none;border:none;border-radius:2px;line-height:0}.item-icon{display:block;border:1px solid var(--border);border-radius:3px;object-fit:cover}.item-icon.is-empty{background:var(--surface-sunken);border-style:dashed}.gear-row-text{min-width:0}.gear-item-button{display:block;width:100%;padding:0;background:none;border:none;color:var(--text);font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-item-button:hover:not(:disabled){border:none;text-decoration:underline}.gear-empty{color:var(--text-muted)}.gear-row-second{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.gear-enchant-button{padding:0;background:none;border:none;color:var(--text-muted);font-size:11px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gear-enchant-button:hover:not(:disabled){border:none;color:var(--text)}.gear-enchant-button.is-set{color:var(--success)}.gear-row-score{flex:none;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.picker{position:absolute;top:calc(100% + 4px);left:0;z-index:40;width:min(420px,90vw);max-height:440px;overflow-y:auto;padding:8px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 10px 30px var(--popup-shadow)}.picker-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.picker-header h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.picker-close{padding:0 6px;background:none;border:none;color:var(--text-muted);font-size:16px;line-height:1}.picker-controls{display:grid;gap:6px;margin-bottom:8px}.picker-search{width:100%;padding:5px 8px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-ui);font-size:12px}.picker-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);cursor:pointer}.picker-toggle input{width:auto;margin:0}.picker-list{margin:0;padding:0;list-style:none}.picker-list>li>span{display:block}.picker-row{display:grid;grid-template-columns:auto minmax(0,1fr) 34px 52px;align-items:center;gap:8px;width:100%;padding:3px 6px;background:none;border:1px solid transparent;border-radius:3px;text-align:left}.picker-row:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border-strong)}.picker-row.is-empty{grid-template-columns:auto minmax(0,1fr);margin-bottom:4px;color:var(--text-muted)}.picker-row.is-equipped{border-color:var(--accent)}.picker-row.is-illegal{opacity:.45}.picker-name{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.picker-ilvl,.picker-score{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;text-align:right;color:var(--text-muted)}.picker-score{color:var(--text)}.picker-empty{margin:8px 2px 2px;font-size:12px;color:var(--text-muted)}.hover-card{position:fixed;z-index:60;pointer-events:none}.item-card{width:max-content;max-width:340px;padding:10px 12px;background:var(--item-card-bg);border:1px solid var(--item-card-border);border-radius:4px;box-shadow:0 12px 34px var(--item-card-shadow);font-size:12px;line-height:1.45}.item-card-name{font-size:13px;font-weight:600}.item-card-name.is-enchant{color:var(--item-card-stat)}.item-card-name.is-empty{color:var(--text-muted)}.item-card-meta{margin-bottom:4px;font-size:11px;color:var(--item-card-dim)}.item-card-line{display:flex;justify-content:space-between;gap:18px;color:var(--item-card-text)}.item-card-line.is-stat{color:var(--item-card-stat)}.item-card-line.is-muted{color:var(--item-card-dim)}.item-card-right{flex:none}.item-card-score{margin-top:6px;padding-top:5px;border-top:1px solid var(--item-card-border);font-family:var(--font-mono);font-size:11px;color:var(--accent-strong)}.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:8px}.gear-slot{display:grid;grid-template-columns:84px 1fr 168px;align-items:center;gap:6px}.gear-slot-name{font-size:var(--label-font-size);color:var(--text-muted)}.gear-select:disabled{opacity:.7;cursor:default}.gear-stone{margin-top:.75rem}.gear-stone-hint{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted)}* A consumable row is a gear row with no third column: a category and a choice,* where a gear slot has an item AND an enchant. It reuses `.gear-slot` so the * two panels line up,and overrides the template rather than growing a second * grid that would drift from it. */ .consumable-slot{grid-template-columns:150px 1fr}.consumable-hint{margin:12px 0 0;font-size:12px;color:var(--text-muted)}.consumable-caveats{margin:12px 0 0;padding-left:18px;font-size:12px;color:var(--text-muted)}.consumable-caveats li+li{margin-top:4px}.gear-no-enchant{text-align:center;font-size:12px;color:var(--text-muted)}.donut-row{display:flex;flex-wrap:wrap;gap:24px;margin:12px 0 18px}.donut{flex:1 1 320px;min-width:300px}.donut h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.donut-body{display:flex;align-items:center;gap:16px}.donut-body svg{flex:0 0 auto}.donut-total{fill:var(--text);font-family:var(--font-mono);font-size:17px;text-anchor:middle}.donut-unit{fill:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-anchor:middle}.donut-legend{list-style:none;margin:0;padding:0;flex:1 1 auto;font-size:var(--control-font-size)}.donut-legend li{display:flex;align-items:baseline;gap:8px;padding:5px 0;border-bottom:1px solid var(--border)}.donut-legend li:last-child{border-bottom:none}.donut-swatch{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.donut-label{flex:1 1 auto;color:var(--text-muted)}.donut-value{font-family:var(--font-mono);white-space:nowrap;color:var(--text);font-weight:500}@media(max-width:720px){.donut-body{flex-direction:column;align-items:flex-start}}.uptime-list{list-style:none;margin:0;padding:0}.uptime-row{display:grid;grid-template-columns:160px minmax(0,1fr) 64px 110px;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid var(--border);font-size:var(--control-font-size)}.uptime-row:last-child{border-bottom:none}.uptime-name{color:var(--text);font-weight:500}.uptime-track{position:relative;height:10px;background:var(--surface-sunken);border-radius:2px;overflow:hidden}.uptime-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:2px}.uptime-value{font-family:var(--font-mono);color:var(--text);font-weight:500;text-align:right}.uptime-count{text-align:right;white-space:nowrap}@media(max-width:760px){.uptime-row{grid-template-columns:1fr 56px}.uptime-track,.uptime-count{display:none}}.buff-group{margin-top:12px}.buff-source{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.buff-list{list-style:none;margin:0;padding:0}.buff-row{display:grid;grid-template-columns:auto minmax(120px,max-content) 1fr;align-items:baseline;gap:8px;padding:3px 0;cursor:pointer}.buff-row:hover .buff-name{color:var(--accent)}.buff-name{color:var(--text);font-weight:500}.buff-detail{font-size:12px}.buff-value{display:flex;align-items:center;gap:8px;padding:0 0 4px 24px;font-size:12px}.buff-value input{width:80px}.profile-rail{position:sticky;top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.profile-rail .field-label{grid-column:1 / -1;margin-bottom:3px}@media(max-width:1200px){.profile-rail{position:static;grid-template-columns:repeat(auto-fill,var(--pill-width));justify-content:start}}.profile-pill{padding:6px 12px;border:1px solid transparent;border-radius:999px;background:var(--class-colour);color:var(--class-ink);font-size:12.5px;font-weight:600;text-align:center;cursor:pointer}.profile-pill:hover{filter:brightness(1.12)}.profile-pill.active{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--class-colour)}.timeline{margin:4px 0 20px}.timeline figcaption{font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.timeline svg{width:100%;height:120px;display:block}.timeline-line{stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.timeline-limit{stroke:var(--border);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.timeline-axis{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.timeline-label{fill:var(--text-muted);font-size:9px}.timeline-end{text-anchor:end}.fight-timeline{display:flex;flex-direction:column;gap:10px;font-size:12px}.ft-row{display:flex;align-items:center;gap:8px;min-height:18px}.ft-label{flex:0 0 9.5rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-track{position:relative;flex:1;height:14px;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.ft-count{flex:0 0 3rem;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.ft-axis-row{align-items:flex-end}.ft-axis-row .ft-track{height:16px;border-bottom-color:var(--border-strong)}.ft-tick{position:absolute;top:0;bottom:0;border-left:1px solid var(--border)}.ft-tick-label{position:absolute;bottom:100%;left:2px;color:var(--text-muted);white-space:nowrap}.ft-mark{position:absolute;top:1px;bottom:1px;width:3px;margin-left:-1px;border-radius:1px;background:var(--accent)}.ft-mark-crit{background:var(--accent-strong)}.ft-bar{position:absolute;top:2px;bottom:2px;min-width:2px;border-radius:2px;background:var(--series-1)}.ft-bar-debuff{background:var(--series-2)}.ft-row-pool .ft-track{height:34px}.ft-pool{width:100%;height:100%;display:block}.ft-pool-fill{fill:var(--accent-wash)}.ft-pool-line{stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}.ft-section{display:flex;flex-direction:column;gap:4px}.ft-section-head{align-self:flex-start;background:none;border:none;padding:2px 0;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);cursor:pointer}.ft-section-mark{display:inline-block;min-width:1rem}.ft-rows{display:flex;flex-direction:column;gap:3px}.ft-empty{margin:0;font-size:12px}.stat-weight-toggle{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);grid-template-columns:auto 1fr}.stat-weight-picker{margin-top:4px}.stat-weight-picker .field-hint{margin:0 0 10px}.stat-weight-actions{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.stat-weight-actions .muted{flex:1;font-size:12px}.stat-weight-row{grid-template-columns:auto 1fr}.stat-weight-list .stat-weight-row{padding:1px 0}.apl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.apl-entry{display:flex;align-items:baseline;gap:10px;padding:6px 8px;border-radius:6px}.apl-entry:nth-child(odd){background:var(--surface-raised)}.apl-rank{flex-shrink:0;min-width:18px;text-align:right;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.apl-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;flex:1}.apl-ability{color:var(--accent-strong);font-weight:600}.apl-condition{font-size:12px;color:var(--text-muted)}.apl-note{flex-basis:100%;font-size:11px;color:var(--text-muted);font-style:italic}.apl-flag{flex-shrink:0;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);align-self:center}.apl-warning{margin:0 0 10px;font-size:12px}.apl-controls{display:flex;gap:2px;flex-shrink:0;align-self:center}.apl-controls button,.apl-clause-remove{padding:2px 6px;font-size:11px;line-height:1.2}.apl-clauses{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.apl-clause{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border-radius:5px;background:var(--surface-sunken)}.apl-clause select,.apl-clause input,.apl-add-clause,.apl-add select{font-size:11px;padding:2px 4px}.apl-aura{width:auto;max-width:210px}.apl-number{width:56px}.apl-fixed{font-style:italic;opacity:.75}.apl-add{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.apl-group{display:flex;flex-direction:column;gap:3px}.apl-group:not(.apl-group-root){border-left:2px solid var(--accent-wash);padding-left:10px;margin-left:6px}.apl-group-head,.apl-adders{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.apl-group-children{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.apl-not{padding:2px 5px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.45}.apl-not-on{opacity:1;color:var(--accent);border-color:var(--accent)}.apl-add-group{font-size:11px;padding:2px 6px}.apl-clause-fixed{gap:6px}.apl-unit{font-size:11px;color:var(--text-muted)}.apl-interrupt{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;align-self:center;font-size:11px;color:var(--text-muted);white-space:nowrap}.apl-interrupt input{margin:0}.apl-entry-off>.apl-rank,.apl-entry-off>.apl-body{opacity:.4}.apl-entry-off>.apl-body .apl-ability{text-decoration:line-through}.apl-toggle,.apl-duplicate{min-width:1.9rem}.apl-ability-choice{background:transparent;border-color:transparent;font-weight:600;color:var(--accent-strong);padding:1px 2px;max-width:14rem}.apl-ability-choice:hover,.apl-ability-choice:focus{border-color:var(--border)}.apl-sequence{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.apl-sequence-step{display:inline-flex;align-items:center;gap:4px}.apl-sequence-label{font-size:11px;color:var(--text-muted);font-style:italic}.apl-sequence-add{background:transparent;border-color:transparent;font-size:11px;color:var(--text-muted);padding:1px 2px;max-width:9rem}.apl-sequence-add:hover,.apl-sequence-add:focus{border-color:var(--border);color:var(--text)}.apl-precombat{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border)}.apl-precombat-title{margin:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.apl-precombat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.apl-precombat-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.apl-precombat-at{display:inline-flex;align-items:center;gap:4px}.apl-precombat-at input{width:4.5rem}.apl-precombat-unit{font-size:11px;color:var(--text-muted)}:root{--header-height: 72px;--column-gap: 20px}.app{max-width:1880px;padding-top:0}.app-header{position:sticky;top:0;z-index:20;height:var(--header-height);align-items:center;margin:0 -16px var(--column-gap);padding:6px 16px;background:var(--bg)}.logo{width:auto;height:calc(var(--header-height) - 14px)}.app-layout{grid-template-columns:minmax(300px,340px) minmax(0,1fr) var(--rail-width);gap:var(--column-gap)}.column>*{flex-shrink:0}@media(min-width:901px){.column-config{position:sticky;top:calc(var(--header-height) + var(--column-gap));max-height:calc(100vh - var(--header-height) - 2 * var(--column-gap));overflow-y:auto;scrollbar-gutter:stable;padding-right:2px}}@media(min-width:1201px){.column-rail{position:sticky;top:calc(var(--header-height) + var(--column-gap));max-height:calc(100vh - var(--header-height) - 2 * var(--column-gap));overflow-y:auto}}.column-config,.column-rail{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.base-stats .sheet-section th{padding:12px 0 4px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong);border-bottom:1px solid var(--border-strong)}.base-stats .sheet-section:first-child th{padding-top:0}.sim-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sim-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);cursor:pointer;-webkit-user-select:none;user-select:none}.sim-history-row:hover{border-color:var(--border-strong)}.sim-history-row.selected{border-color:var(--accent);background:var(--accent-wash)}.sim-history-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sim-history-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-history-dps{font-family:var(--font-mono);font-weight:700;color:var(--accent-strong);text-align:right}.sim-history-meta,.sim-history-tps{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.sim-history-tps{text-align:right}.sim-history-empty{margin:0;font-size:12px}.app-header{background:var(--surface-sunken);border-bottom:2px solid var(--accent)}.panel{border-color:var(--border);box-shadow:0 1px 0 var(--bg-deep)}.panel-header{background:var(--surface-raised);border-left:3px solid var(--accent)}.panel-header h2{color:var(--accent-strong);font-weight:700}.panel-badge,.panel-subtitle{color:var(--text-muted)}.panel-body h3{color:var(--accent-strong);font-weight:700;padding-bottom:4px;border-bottom:1px solid var(--border)}.stat{border:1px solid var(--border);background:var(--surface-sunken)}.stat-label{font-weight:600}.headline-stats .stat:first-child{border-color:var(--accent)}.headline-stats .stat:first-child .stat-label{color:var(--accent-strong)}.headline-stats .stat:first-child .stat-value{color:var(--text);font-weight:700}.headline-stats .stat:nth-child(2) .stat-value{color:var(--success)}.breakdown th{color:var(--accent-strong);font-weight:700;border-bottom:1px solid var(--border-strong)}.breakdown tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-sunken) 70%,transparent)}.base-stats td:first-child{color:var(--text-muted)}.base-stats td.numeric{color:var(--text);font-weight:700}.character-summary-body{flex-wrap:wrap}
