:root{--accent-l: #e2ab2a;--accent-d: #e2ab2a;--on-accent-l: #fff;--on-accent-d: #fff;--bg: #fbfbfa;--panel: #fff;--fg: #1a1a18;--muted: #73726c;--line: #e3e2dd;--grid: #efeeeb;--axis: #c9c8c2;--accent: var(--accent-l);--on-accent: var(--on-accent-l);--clamp: #b08900;--good: #2f855a;--bad: #c0392b;--random: #7c4dbd;--focus: #e8590c;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #171714;--panel: #201f1c;--fg: #f4f3ee;--muted: #918f86;--line: #33322d;--grid: #282722;--axis: #4a4943;--accent: var(--accent-d);--on-accent: var(--on-accent-d);--clamp: #d4af37;--good: #68d391;--bad: #fc8181;--random: #b594f0;--focus: #ff8a3d;color-scheme:dark}}:root[data-theme=dark]{--bg: #171714;--panel: #201f1c;--fg: #f4f3ee;--muted: #918f86;--line: #33322d;--grid: #282722;--axis: #4a4943;--accent: var(--accent-d);--on-accent: var(--on-accent-d);--clamp: #d4af37;--good: #68d391;--bad: #fc8181;--random: #b594f0;--focus: #ff8a3d;color-scheme:dark}:root[data-faction=valkyra]{--accent-l: #cc3a2a;--accent-d: #fa503e;--on-accent-l: #fff;--on-accent-d: #fff}:root[data-faction=manticore]{--accent-l: #13823b;--accent-d: #1dd65c;--on-accent-l: #fff;--on-accent-d: #0c1a11}:root[data-faction=lonestar]{--accent-l: #1a6fa8;--accent-d: #4cb1ef;--on-accent-l: #fff;--on-accent-d: #0b1620}*{box-sizing:border-box}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:16px;margin:0;background:transparent;cursor:pointer;vertical-align:middle}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--p, 0%),var(--line) var(--p, 0%))}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--line)}input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border:2px solid var(--panel);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--axis)}input[type=range]::-moz-range-thumb{width:10px;height:10px;border:2px solid var(--panel);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--axis)}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 ui-sans-serif,system-ui,Segoe UI,Roboto,sans-serif}.app{max-width:1440px;margin:0 auto;padding:18px 20px 60px}header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}h1{margin:0;font-size:22px;letter-spacing:-.01em}.sub{margin:4px 0 0;color:var(--muted);font-size:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}main.collapsed{grid-template-columns:minmax(0,1fr) 44px}@media (max-width: 960px){main,main.collapsed{grid-template-columns:1fr}.builds{order:-1}}.viz{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;min-width:0}.canvas-wrap{width:100%;position:relative}.recoil-block>.canvas-wrap{container-type:inline-size}.layout-block:empty{display:none}.layout-block:not(:empty)~.layout-block:not(:empty){margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.layout-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:12px;padding:8px 10px;border:1px dashed var(--accent);border-radius:8px;font-size:12px;color:var(--muted);position:sticky;top:0;z-index:5;background:var(--panel);box-shadow:0 4px 14px #0000001f}.layout-head>span{margin-right:auto}.layout-head button,.layout-tools button{font:inherit;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:0 8px;line-height:22px;cursor:pointer}.layout-head button:hover:not(:disabled),.layout-tools button:hover:not(:disabled){border-color:var(--axis)}.layout-head button:disabled,.layout-tools button:disabled{opacity:.4;cursor:default}.layout-head .layout-done{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.layout-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:4px 6px 4px 10px;background:var(--bg);border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.layout-bar .layout-label{margin-right:auto}.layout-bar .layout-tools{margin-left:0}.layout-tools{display:inline-flex;gap:4px;margin-left:10px;vertical-align:middle}.layout-grip{display:inline-grid;place-items:center;width:22px;height:24px;margin-right:2px;font-size:14px;line-height:1;color:var(--muted);cursor:grab;border-radius:5px;-webkit-user-select:none;user-select:none}.layout-grip:hover{color:var(--fg);background:var(--grid)}body.reordering,body.reordering *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.layout-block.dragging,.stats .dragging{opacity:.45}.layout-block.drop-before{box-shadow:0 -3px 0 var(--accent)}.layout-block.drop-after{box-shadow:0 3px 0 var(--accent)}.stats tbody.drop-before>tr:first-child>*{box-shadow:inset 0 3px 0 var(--accent)}.stats tbody.drop-after>tr:last-child>*{box-shadow:inset 0 -3px 0 var(--accent)}.stats.single table.drop-before{box-shadow:0 -3px 0 var(--accent)}.stats.single table.drop-after{box-shadow:0 3px 0 var(--accent)}.layout-tools button{min-width:26px;padding:0 6px}.layout-tools .layout-hide{min-width:48px}.layout-block.is-hidden .layout-label,.stats .is-hidden .group-toggle,.stats.single table.is-hidden thead th{text-decoration:line-through;opacity:.6}.zoom{position:absolute;right:38px;bottom:1px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.zoom label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.zoom-icon{font-size:13px;color:var(--fg)}.zoom-std input{margin:0;accent-color:var(--accent)}.zoom input[type=range]{width:76px;margin:0}.zoom output{min-width:30px;color:var(--fg);font-weight:600}.zoom button{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:5px;padding:1px 7px;font-size:11px;cursor:pointer}.zoom button:disabled{opacity:.45;cursor:default}@container (max-width: 860px){.zoom{position:static;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:4px}}@container (max-width: 560px){.zoom-label{display:none}.zoom input[type=range]{width:58px}}canvas{display:block}.builds{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}@media (max-width: 960px){.builds{position:static;max-height:none}}.builds-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.builds-head .builds-count{margin-left:auto}.collapse{background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--muted);width:24px;height:24px;padding:0;cursor:pointer;font-size:15px;line-height:1}.collapse:hover{color:var(--fg);border-color:var(--axis)}.builds.collapsed{padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:8px}.mini{display:flex;flex-direction:column;gap:6px}.mini-card{width:28px;height:28px;border-radius:50%;border:2px solid transparent;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0}.mini-card .swatch{width:14px;height:14px}.mini-card.on{border-color:var(--c)}.mini-card:hover{background:var(--bg)}@media (max-width: 960px){.builds.collapsed{flex-direction:row;padding:6px 10px}.builds.collapsed .collapse{transform:rotate(90deg)}.mini{flex-direction:row}}.builds-head h2{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.builds-count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.card{border:1px solid var(--line);border-left:4px solid var(--c);border-radius:8px;margin-bottom:8px;background:var(--panel)}.card.on{border-color:var(--c);box-shadow:0 0 0 1px var(--c)}.card-head{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:7px 0 7px 10px;cursor:pointer;border-radius:8px 8px 0 0}.card-head:hover{background:var(--bg)}.card-name{display:inline-flex;align-items:baseline;gap:4px;max-width:100%;align-self:flex-start;background:transparent;border:0;padding:0;margin:0;cursor:pointer;color:var(--fg);font:inherit;text-align:left}.card-name b{border-bottom:1px dashed transparent}.card-name:hover b{border-bottom-color:var(--axis)}.card-name .caret{font-size:10px;color:var(--muted)}.card-name:hover .caret,.card-name[aria-expanded=true] .caret{color:var(--fg)}.card-swap{padding:0 8px 8px}.swatch{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--c)}.card-title{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.card-dup+.card-remove,.card-eye+.card-dup{margin-left:-9px}.card-title b{font-size:14px}.card-title small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.card-remove{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:4px 11px 4px 3px;font-size:12px;align-self:stretch}.card-remove:hover:not(:disabled){color:var(--bad)}.card-remove:disabled{opacity:.3;cursor:default}.card-eye{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:4px 3px;align-self:stretch;display:inline-flex;align-items:center}.card-eye:hover:not(:disabled){color:var(--accent)}.card-eye:disabled{opacity:.3;cursor:default}.card-eye.off{color:var(--fg)}.card.off>:not(.card-head){opacity:.5}.card.off .card-title,.card.off .swatch{opacity:.55}.mini-card.off .swatch{opacity:.35}.card-ver{display:block;align-self:flex-start;margin-top:3px;max-width:100%;font:inherit;font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 4px;cursor:pointer}.ver-pick select{font:inherit;font-size:12px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:0 4px;cursor:pointer}.card-dup{background:transparent;border:0;color:var(--muted);cursor:pointer;padding:4px 3px;align-self:stretch;display:inline-flex;align-items:center}.card-dup:hover:not(:disabled){color:var(--accent)}.card-dup:disabled{opacity:.3;cursor:default}.stance-wrap{padding:0 12px 6px}.stance{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.stance button{flex:1;display:inline-flex;justify-content:center;align-items:baseline;gap:4px;background:var(--panel);color:var(--fg);border:0;border-left:1px solid var(--line);padding:4px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.stance button:first-child{border-left:0}.stance button:hover{background:var(--bg)}.stance button.on{background:var(--c, var(--accent));color:#fff}.stance em{font-style:normal;font-size:10px;color:var(--bad);font-variant-numeric:tabular-nums}.stance em.good{color:var(--good)}.stance button.on em,.stance button.on em.good{color:#ffffffd9}.stance.off{display:block;margin:0 12px 6px;padding:4px 8px;border-style:dashed;color:var(--muted);font-size:11px;text-align:center}.stance-wrap+.stance-wrap{margin-top:-2px}.stance.bipod{border-style:dashed}.focus-toggle{display:flex;align-items:center;gap:6px;width:100%;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:7px;padding:4px 8px;font:inherit;font-size:12px;cursor:pointer;text-align:left}.focus-toggle:hover{background:var(--bg)}.focus-toggle.on{border-color:var(--c, var(--accent));box-shadow:inset 0 0 0 1px var(--c, var(--accent))}.focus-box{width:13px;height:13px;border:1px solid var(--axis);border-radius:3px;display:grid;place-items:center;font-size:10px;line-height:1;color:#fff;flex:0 0 auto}.focus-toggle.on .focus-box{background:var(--c, var(--accent));border-color:var(--c, var(--accent))}.focus-toggle kbd{font:inherit;font-size:10px;border:1px solid var(--line);border-radius:3px;padding:0 4px;color:var(--muted)}.focus-toggle em{margin-left:auto;font-style:normal;font-size:10.5px;font-variant-numeric:tabular-nums}.focus-toggle em.good{color:var(--good)}.stance-note{margin:5px 0 0;font-size:11px;line-height:1.4;color:var(--clamp);cursor:help}.slots{display:flex;flex-direction:column;gap:2px;padding:0 6px 6px}.slot{border-radius:6px}.slot.open{background:var(--bg)}.slot-head{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;cursor:pointer;padding:5px 6px;border-radius:6px;color:var(--fg);text-align:left;font:inherit}.slot-head:hover{background:var(--bg)}.slot-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex:0 0 72px}@supports (grid-template-columns: subgrid){.slots{display:grid;grid-template-columns:fit-content(112px) minmax(0,1fr) auto;column-gap:8px}.slot,.slot-head{grid-column:1 / -1;display:grid;grid-template-columns:subgrid}.slot-head{align-items:center}.opts,.slots>.empty{grid-column:1 / -1}}.slot-cur{flex:1;min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-cur i{color:var(--muted);font-style:normal}.slot-cur em{font-style:normal;font-size:10px;color:var(--bad);margin-left:3px;font-variant-numeric:tabular-nums}.slot-cur em.good{color:var(--good)}.slot-count{font-size:10px;color:var(--muted);background:var(--bg);border-radius:999px;padding:1px 6px;min-width:20px;text-align:center}.slot.open .slot-count{background:var(--panel)}.opts{display:flex;flex-wrap:wrap;gap:4px;padding:2px 6px 8px}.opt{display:inline-flex;align-items:center;gap:5px;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:12px;cursor:pointer;max-width:100%}.opt:hover{border-color:var(--axis)}.opt.on{background:var(--c, var(--accent));border-color:var(--c, var(--accent));color:#fff}.opt .opt-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opt em{font-style:normal;font-size:10px;color:var(--bad);font-variant-numeric:tabular-nums;opacity:.9}.opt em.good{color:var(--good)}.opt.on em,.opt.on em.good{color:#ffffffd9}.opt-price{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;margin-left:2px}.opt-price.incl{font-style:italic}.opt.on .opt-price{color:#fffc}.slot-cur .fitted{cursor:help}.empty{color:var(--muted);font-size:12px;margin:0;padding:4px 6px}.add{width:100%;padding:9px;border:1px dashed var(--axis);border-radius:8px;background:transparent;color:var(--fg);font:inherit;font-size:13px;cursor:pointer}.add:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.add:disabled{color:var(--muted);cursor:default;font-size:12px}.add-picker{border:1px solid var(--axis);border-radius:8px;padding:8px 10px 10px}.add-picker-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin-bottom:4px}.add-picker-head button{background:transparent;border:0;color:var(--muted);cursor:pointer}.add-group{margin-top:6px}.add-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;margin-bottom:3px}.add-items{display:flex;flex-wrap:wrap;gap:4px}.add-items button{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:12px;cursor:pointer}.add-items button:hover{border-color:var(--accent);color:var(--accent)}.add-items button.on{background:var(--c, var(--accent));border-color:var(--c, var(--accent));color:#fff}.add-items button small{margin-left:5px;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}.add-items button:hover small{color:inherit;opacity:.8}.add-items button.on small{color:#fffc}.card-cost{display:flex;align-items:baseline;gap:7px;margin:6px 8px 8px;padding:6px 4px 0;border-top:1px solid var(--line);font-size:12px;cursor:help;font-variant-numeric:tabular-nums}.card-cost+.card-weight{margin-top:-4px;border-top:0;padding-top:0}.card-cost-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.card-cost b{font-size:14px}.card-cost small{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.part-tip{position:fixed;z-index:50;pointer-events:none;width:280px;max-width:calc(100vw - 16px);background:var(--panel);color:var(--fg);border:1px solid var(--axis);border-radius:8px;padding:9px 11px;font-size:12px;line-height:1.4;box-shadow:0 6px 20px #00000029;font-variant-numeric:tabular-nums}.part-info .tip-head b{font-size:13px}.tip-slot{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}.tip-price{margin-top:3px}.tip-price b{font-size:13px}.part-info dl{display:grid;grid-template-columns:1fr auto;gap:1px 12px;margin:0}.part-info dt{color:var(--muted)}.part-info dd{margin:0;text-align:right}.part-info dd.good{color:var(--good)}.part-info dd.bad{color:var(--bad)}.tip-ammo,.tip-bipod,.tip-desc,.tip-fx{margin-top:7px;padding-top:6px;border-top:1px solid var(--line)}.tip-ammo>span,.tip-bipod>span,.tip-desc>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.tip-desc p{margin:0;white-space:pre-line;font-size:11.5px}.tip-flavor{margin:6px 0 0;font-style:italic;color:var(--muted);font-size:11.5px}.tip-fits,.tip-note{margin:6px 0 0;color:var(--muted);font-size:11px}.tip-cost dt{color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip-cost .total{font-weight:700;border-top:1px solid var(--line);padding-top:3px;margin-top:2px}.shot-tip{position:absolute;pointer-events:none;z-index:2;min-width:190px;max-width:250px;background:var(--panel);border:1px solid var(--axis);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 4px 14px #0000001f;font-variant-numeric:tabular-nums}.tip-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.tip-phase{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.tip-phase.rand{color:var(--random)}.tip-layer{font-size:11px;margin-top:2px}.shot-tip dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0 0}.shot-tip dt{color:var(--muted)}.shot-tip dd{margin:0}.shot-tip dd em{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}.scrub{display:flex;align-items:center;gap:12px;margin-top:12px}.scrub input[type=range]{flex:1;min-width:60px}.play{background:var(--accent);color:var(--on-accent);border:0;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;min-width:88px}.play-alt{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:6px 11px;font-size:13px;cursor:pointer;white-space:nowrap}.play-alt:hover:not(:disabled){border-color:var(--axis)}.play-alt:disabled{opacity:.4;cursor:default}.readout{color:var(--muted);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.readout strong{color:var(--fg)}.rand{color:var(--random);font-weight:600}.at-time{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px;font-size:12.5px;font-variant-numeric:tabular-nums}.at-time em{font-style:normal;font-size:11px;opacity:.8}.at-time .gap{color:var(--fg);font-weight:600}.at-right{margin-left:auto;display:inline-flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}.controls{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.controls label{display:flex;align-items:center;gap:7px}.controls label.chk{gap:5px}.controls input[type=range]{width:96px}.controls output{color:var(--fg);font-variant-numeric:tabular-nums;min-width:22px}.controls button{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.controls .hint{margin-left:auto}.controls .hint span{font-weight:600}.time h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.stats.single{columns:3 210px;column-gap:22px}.stats.single table{break-inside:avoid;margin-bottom:14px}.stats table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}.stats thead th{font-size:11px;font-weight:600;text-align:right;padding:0 0 4px 12px;white-space:nowrap}.stats thead th:first-child{text-align:left;padding-left:0;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.stats thead .swatch{width:8px;height:8px;margin-right:5px;vertical-align:0}.stats tbody th{text-align:left;font-weight:400;color:var(--muted);padding:3px 0;white-space:nowrap}.stats td{text-align:right;padding:3px 0 3px 12px;white-space:nowrap}.stats tbody tr{border-bottom:1px dotted var(--line)}.stats td em{font-style:normal;margin-left:6px;font-size:11px}.stats td .good{color:var(--good)}.stats td .bad{color:var(--bad)}.stats td.best{font-weight:700}.stats tbody th,.stats td{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.stats.single thead th:first-child{white-space:normal}.stats.single tbody th{overflow-wrap:anywhere}:lang(ja) .stats th,:lang(ja) .stats td{word-break:auto-phrase}.stats.multi{display:block;overflow-x:auto}.stats.multi table{table-layout:fixed}.stats.multi thead th{overflow:hidden;text-overflow:ellipsis}.stats.multi td{overflow:hidden;overflow-wrap:anywhere}.stats.multi tbody th[scope=row]{padding-right:8px}.stats.multi thead th:first-child,.stats.multi tbody th[scope=row]{position:sticky;left:0;z-index:1;background:var(--panel)}.stats.multi tr.group-head{border-bottom:1px solid var(--line)}.stats.multi tr.group-head th{text-align:left;padding:14px 0 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.stats.multi tbody:first-of-type tr.group-head th{padding-top:2px}.stats.multi tr.group-head th>span{position:sticky;left:0}.group-toggle{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer}.group-toggle:hover{color:var(--fg)}.group-toggle .caret{display:inline-block;width:1.1em;font-size:10px}.stats.multi tr.group-head.shut th{color:var(--muted);opacity:.8}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dist-pick{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);white-space:nowrap}.dist-pick select{font:inherit;font-size:11.5px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 3px}.dist-at{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted)}.hs-pick{font:inherit;font-size:11.5px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:0 2px;margin:-2px 0;vertical-align:baseline}.target-pick{display:block;margin-top:4px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);white-space:normal}.target-pick select{font:inherit;font-size:11.5px;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 3px;max-width:100%;margin:1px 0}.zero-picks{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 6px;font-size:12px}.zero-picks-label{color:var(--muted);cursor:help}.zero-pick{display:inline-flex;align-items:center;gap:6px}.zero-pick select{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 3px}.zero-fixed{color:var(--fg)}.damage-chart .los{stroke:var(--muted);stroke-opacity:.6}.damage-chart .zero-dot{stroke:var(--panel);stroke-width:1.5}.damage-chart .player-band{fill:var(--muted);fill-opacity:.1}.damage-chart .player-edge{stroke:var(--muted);stroke-opacity:.7;stroke-dasharray:5 4}.damage-chart .player-figure{opacity:.32}.damage-chart .hit-dot{stroke:var(--panel);stroke-width:1.5}.damage-chart .player-figure polygon{fill:var(--muted);stroke:var(--panel);stroke-width:.8;stroke-linejoin:round}.damage-chart .player-label{fill:var(--muted);font-size:10.5px}.damage-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:6px}.damage-chart-head h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.damage-chart-head label{font-size:12px;color:var(--muted)}.damage-chart-head select{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:1px 3px}.damage-chart-head .hint{font-size:11px;color:var(--muted);margin-left:auto}.damage-chart svg{display:block;-webkit-user-select:none;user-select:none}.damage-chart .grid{stroke:var(--grid);stroke-width:1}.damage-chart .axis{fill:var(--muted);font-size:10px;font-family:ui-sans-serif,system-ui,sans-serif}.damage-chart .cursor{stroke:var(--fg);stroke-opacity:.5;stroke-dasharray:2 3}.damage-chart .cursor.hover{stroke-opacity:.25}.damage-chart .dist-read{color:var(--muted)}.about{position:relative;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.about h2{display:inline;margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.about summary{cursor:pointer;width:max-content}.about summary:hover h2{color:var(--fg)}.about details[open] summary{margin-bottom:8px}.about .feedback{position:absolute;top:16px;right:0;margin:0}.about .feedback a{color:var(--fg);text-decoration:none}.about .feedback a:hover{text-decoration:underline}.about .feedback a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}@media (max-width: 560px){.about .feedback{position:static;margin-top:8px}}.version{position:fixed;right:10px;bottom:8px;z-index:5;font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 9px;opacity:.85;pointer-events:auto;cursor:default}.about p{margin:0 0 8px}.about .disclaimer{margin-top:12px;opacity:.8}.about ul{margin:0;padding-left:18px;columns:2 420px;column-gap:36px}.about li{margin-bottom:5px;break-inside:avoid}.about b{color:var(--fg)}.about code{font-size:11px;background:var(--bg);padding:1px 4px;border-radius:3px}.theme-controls{display:flex;gap:6px;align-items:center;flex-shrink:0}.theme-btn{display:inline-flex;align-items:center;gap:6px;height:30px;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:0 11px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.theme-btn:hover{border-color:var(--axis)}.theme-btn.faction-btn{position:relative;padding-left:28px}.theme-btn.faction-btn:before{content:"";position:absolute;left:11px;top:50%;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--accent)}.theme-btn.mode{width:30px;padding:0;justify-content:center;font-size:14px}.lang-pick{position:relative;gap:5px;padding:0 9px 0 10px;color:var(--muted)}.lang-pick:focus-within{border-color:var(--axis)}.lang-pick:has(select:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lang-pick .lang-short{color:var(--fg);font-weight:600;letter-spacing:.03em}.lang-pick .caret{font-size:9px}.lang-pick select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font:inherit;font-size:13px;border:0}.lang-pick option{color:var(--fg);background:var(--panel)}@media (max-width: 640px){header{flex-wrap:wrap}.theme-controls{flex-wrap:wrap}}.tip-focus{color:var(--focus)}.rand-tag{font-size:10.5px;font-weight:600;color:var(--random);text-transform:uppercase;letter-spacing:.04em;cursor:help}.focus-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--focus);margin-right:4px;vertical-align:1px}button.share-btn{display:inline-flex;align-items:center;gap:4px;vertical-align:baseline;margin:0 0 0 6px;padding:1px 3px;border:0;border-radius:4px;background:none;color:var(--muted);opacity:.65;font:inherit;font-size:11px;font-weight:400;text-transform:none;letter-spacing:0;cursor:pointer}button.share-btn:hover,button.share-btn:focus-visible{opacity:1;color:var(--fg)}button.share-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.share-btn svg{flex:none;position:relative;top:1px}button.share-btn.copied{opacity:1;color:var(--accent)}button.share-btn span:empty{display:none}.controls button.share-btn{margin-left:auto}.controls .hint+button.share-btn{margin-left:0}[data-section]{scroll-margin-top:12px}@keyframes section-flash{0%{box-shadow:0 0 0 2px var(--accent),inset 0 0 0 999px color-mix(in srgb,var(--accent) 10%,transparent)}to{box-shadow:0 0 0 2px transparent,inset 0 0 0 999px transparent}}@keyframes cell-flash{0%{box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--accent) 16%,transparent)}to{box-shadow:inset 0 0 0 999px transparent}}.layout-block.flash,.stats.single table.flash{animation:section-flash 2.6s ease-out;border-radius:6px}.stats.multi tbody.flash>tr>*{animation:cell-flash 2.6s ease-out}.share-stage{position:fixed;left:-100000px;top:0;pointer-events:none}.shot{background:var(--bg);color:var(--fg);padding:26px 26px 0;box-sizing:border-box;font-size:14px;line-height:1.4}.shot-side{display:grid;grid-template-columns:290px minmax(0,1fr);gap:26px;align-items:start}.shot-side .shot-cards{display:grid;gap:12px}.shot-top .shot-cards{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px;margin-bottom:18px}.shot-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--c);border-radius:8px;padding:12px 14px;min-width:0}.shot-card-name{display:flex;align-items:center;gap:8px;font-weight:700;font-size:17px}.shot-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--c)}.shot-card-class{color:var(--muted);font-size:12px;margin-top:1px}.shot-chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 6px}.shot-chips span{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:1px 7px}.shot-parts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:8px 0 0;font-size:12.5px}.shot-parts dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}.shot-parts dd{margin:0;overflow-wrap:anywhere}.shot-stock{color:var(--muted);font-size:12px;margin:8px 0 0}.shot-card-total{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-weight:600;font-variant-numeric:tabular-nums}.shot-sec{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px;min-width:0}.shot-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:8px}.shot-sec-head h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}.shot-ctx{color:var(--muted);font-size:12px}.shot-foot{display:flex;justify-content:space-between;gap:16px;margin:20px -26px 0;padding:11px 26px;border-top:1px solid var(--line);background:var(--panel);font-size:12px;color:var(--muted)}.shot-mark{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:7px}.shot-brand{color:var(--fg);text-transform:uppercase;letter-spacing:.08em;margin-right:8px}.picked{color:var(--fg);font-weight:600;border:1px solid var(--line);border-radius:5px;padding:0 5px}.stats.single.still{columns:auto}.stats.single.still table{margin:0}.stats.multi.still{overflow:visible}.share-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--fg);box-shadow:0 20px 60px #00000073}.share-dialog::backdrop{background:#00000080}.share-body{padding:16px 18px 14px}.share-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.share-x{font:inherit;background:none;border:0;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:4px}.share-x:hover{color:var(--fg)}.share-preview{display:grid;place-items:center;min-height:140px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg)}.share-preview img{display:block;width:100%;height:auto;max-height:min(60vh,560px);object-fit:contain}.share-preview p{color:var(--muted);font-size:13px;margin:0}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.share-actions button{font:inherit;font-size:13px;padding:6px 12px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer}.share-actions button:hover:not(:disabled){border-color:var(--muted)}.share-actions button:disabled{opacity:.5;cursor:default}.share-actions .primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.share-note{color:var(--muted);font-size:12px;margin:10px 0 0}
