:root{--paper:#0b1020;--sheet:#151c31;--well:#1b2540;--ink:#f4f5ff;--ink-2:#aeb9d0;--ink-3:#828fae;--rule:#303b57;--seal:#b6a5ff;--seal-soft:#b6a5ff1a;--seal-tint:#b6a5ff2e;--hi:#73dac8;--ink-hover:#fff;--overlay:#0b1020eb;--weapon-shadow:drop-shadow(0 2px 4px #0206118c);--icon-rim:drop-shadow(0 0 1px #f4f5ff73);--raised:#1b2540;--raised-shadow:0 1px 3px #0206118c, inset 0 1px 0 #ffffff0d;--switch-off:#2a3350;--knob:#ece1c8;--frame:#b6a5ff2e;--gold:#f1c77e;--danger:#ff9fa4;--gold-grad:linear-gradient(135deg, #d3bdff, #9f8af4);--gold-grad-hi:linear-gradient(135deg, #e6d8ff, #b3a0ff);--paper-glow:radial-gradient(circle at 88% -12%, #5045796b, transparent 31rem), radial-gradient(circle at -9% 32%, #143d5152, transparent 35rem);--vignette:radial-gradient(140% 130% at 50% 40%, transparent 60%, #0206115c);--serif:"Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--num:"Inter", "Noto Sans SC", system-ui, sans-serif;--sans:"Inter", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--shadow:0 22px 55px #0206115c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:lang(zh-Hant){--serif:"Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--num:"Inter", "Noto Sans TC", system-ui, sans-serif;--sans:"Inter", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif}:root[data-theme=light]{--paper:#f3f0ea;--sheet:#fffefa;--well:#f2eef8;--ink:#1e2032;--ink-2:#515a70;--ink-3:#68728b;--rule:#d8d0df;--seal:#6048ad;--seal-soft:#6048ad14;--seal-tint:#6048ad29;--hi:#087b6b;--ink-hover:#16112b;--overlay:#f3f0eaeb;--weapon-shadow:drop-shadow(0 2px 3px #1e20322e);--icon-rim:none;--raised:#fff;--raised-shadow:0 1px 2px #28213c1f;--switch-off:#d8d0df;--knob:#fff;--frame:#6048ad33;--gold:#a66818;--danger:#b34650;--gold-grad:linear-gradient(135deg, #8f74e0, #6d55c8);--gold-grad-hi:linear-gradient(135deg, #a58cec, #7c64d6);--paper-glow:radial-gradient(circle at 88% -12%, #b6a5ff47, transparent 31rem), radial-gradient(circle at -9% 32%, #73dac829, transparent 35rem);--vignette:radial-gradient(140% 130% at 50% 40%, transparent 66%, #28213c0f);--shadow:0 20px 40px #28213c17;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scrollbar-color:var(--rule) transparent}html,body{margin:0}body{background:var(--paper);background-image:var(--paper-glow);color:var(--ink);font:15px / 1.6 var(--sans);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;background-attachment:fixed}body:before{content:"";z-index:0;pointer-events:none;background:var(--vignette);position:fixed;inset:0}body:after{content:"";z-index:60;pointer-events:none;border:1px solid var(--frame);position:fixed;inset:8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--seal) 55%, transparent);border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-track{background:0 0}button,input,select{font:inherit;color:inherit}::placeholder{color:var(--ink-2);opacity:1}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--seal);outline-offset:2px}a{color:inherit}::selection{background:var(--seal-tint)}.muted{color:var(--ink-3)}.small{font-size:12.5px}.ico{object-fit:contain;vertical-align:-3px;flex:none;width:18px;height:18px;display:inline-block}.stat-name{align-items:center;gap:4px;display:inline-flex}.stat-name .sep{color:var(--ink-3);margin-left:1px}.stat-name .sep.wide{margin-left:5px}.with-ico{align-items:center;gap:4px;display:inline-flex}.num,.fig{font-family:var(--num);font-variant-numeric:lining-nums tabular-nums}.app{z-index:1;max-width:1360px;margin:0 auto;padding:0 36px 72px;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.top{animation:.5s ease-out both rise}.coach,.article,.ranges{animation:.55s ease-out 70ms both rise}.site-foot{border-top:1px solid var(--rule);letter-spacing:.04em;color:var(--ink-3);text-align:center;margin-top:48px;padding-top:18px;font-size:13px;animation:.55s ease-out .14s both rise}.site-foot a{color:var(--seal);border-bottom:1px solid color-mix(in srgb, var(--seal) 45%, transparent);text-decoration:none}.site-foot a:hover{color:var(--ink);border-bottom-color:var(--seal)}.site-foot .mail-ico{vertical-align:-3px;margin-right:6px}.site-foot .foot-meta{margin:6px 0 0;line-height:1.7}.top{border-bottom:1px solid var(--rule);background:linear-gradient(180deg, color-mix(in srgb, var(--sheet) 55%, transparent), transparent 85%);flex-wrap:wrap;align-items:center;gap:24px;min-height:76px;margin:0 -36px;padding:20px 36px 18px;display:flex}.top:before{content:"";inset-inline:0;background:linear-gradient(90deg, transparent 4%, var(--seal) 32%, var(--seal) 68%, transparent 96%);opacity:.55;pointer-events:none;height:3px;position:absolute;top:0}.brand{font:900 26px / 1.2 var(--serif);letter-spacing:.04em;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.kuva-ico,.splicer-ico{filter:var(--icon-rim)}.mixed-bars{flex-basis:100%;font-size:12px}.theme-btn{margin-left:-16px}.lang{color:var(--ink-2);align-items:center;display:inline-flex;position:relative}.lang>.translate-ico{z-index:1;pointer-events:none;position:absolute;left:10px}.lang select{border:1px solid var(--rule);background:var(--sheet);min-height:36px;color:var(--ink);cursor:pointer;border-radius:0;padding:0 8px 0 34px;font-size:14px}.lang:hover select{border-color:var(--seal)}.lang:hover>.translate-ico{color:var(--seal)}@supports ((-webkit-appearance:base-select) or (appearance:base-select)){.lang select{-webkit-appearance:base-select;appearance:base-select}.lang ::picker(select){-webkit-appearance:base-select;appearance:base-select}.lang select{align-items:center;gap:6px;padding:0 10px 0 34px;display:inline-flex}.lang select::picker-icon{color:var(--ink-3);transition:rotate .2s}.lang select:open::picker-icon{rotate:180deg}.lang select:open{border-color:var(--seal)}.lang select>button{all:unset}.lang select>button .lang-sep,.lang select>button .lang-eg{display:none}.lang ::picker(select){width:max-content;min-width:max(anchor-size(width), 184px);border:1px solid var(--seal);background:var(--sheet);color:var(--ink);box-shadow:var(--shadow);position-area:block-end span-inline-start;position-try-fallbacks:flip-block, flip-inline;opacity:0;transition:opacity .14s, translate .14s, overlay .14s allow-discrete, display .14s allow-discrete;border-radius:0;margin-block:6px;padding:6px;translate:0 -4px}.lang select:open::picker(select){opacity:1;translate:0}@starting-style{.lang select:open::picker(select){opacity:0;translate:0 -4px}}.lang option{cursor:pointer;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;min-height:48px;padding:6px 10px 6px 12px;display:grid}:is(.lang option:hover,.lang option:focus-visible){background:var(--well);outline:none}.lang option::checkmark{color:var(--seal);grid-area:1/2/span 2}.lang option:checked .lang-name{font-weight:600}.lang-name{grid-column:1;font-size:14.5px;line-height:1.3}.lang-sep{display:none}.lang-eg{color:var(--ink-3);grid-column:1;font-size:12px;line-height:1.3}@media (max-width:720px){.lang select{gap:0;padding-right:8px}.lang select>button{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}}.tabs{gap:2px;margin-right:auto;display:flex}.tabs a{color:var(--ink-3);letter-spacing:.16em;padding:10px 16px;font-size:14.5px;text-decoration:none;position:relative}.tabs a[aria-current=page]{color:var(--seal);font-weight:600}.tabs a[aria-current=page]:after{content:"";background:linear-gradient(90deg, transparent, var(--seal), transparent);height:2px;position:absolute;bottom:4px;left:14px;right:14px}.coach{grid-template-columns:450px minmax(0,1fr);align-items:start;gap:30px;margin-top:30px;display:grid}.col-left,.col-right{grid-template-columns:minmax(0,1fr);gap:22px;min-width:0;display:grid}.coach-new{grid-template-columns:minmax(0,1fr)}.coach-inputs{grid-template-columns:450px minmax(0,1fr);align-items:start;gap:30px;display:grid}.coach-results{grid-template-columns:minmax(0,1fr);gap:22px;min-width:0;display:grid}.coach-summary{border:1px solid var(--rule);border-top:2px solid var(--seal);background:linear-gradient(180deg, color-mix(in srgb, var(--seal) 5%, var(--sheet)), var(--sheet));grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:center;gap:16px 28px;padding:18px 22px;display:grid}.coach-summary h1{font:900 26px / 1.2 var(--serif);letter-spacing:.06em;margin:0}.coach-summary .eyebrow{color:var(--seal);letter-spacing:.18em;margin-top:10px;font-size:11px;display:block}.coach-summary strong{font:700 16px / 1.4 var(--serif);margin-top:3px;display:block}.coach-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.coach-summary-metrics dt{color:var(--ink-3);font-size:11px}.coach-summary-metrics dd{font-family:var(--num);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:20px}.coach-jump{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ocr-check{border:1px solid color-mix(in srgb, var(--seal) 40%, var(--rule));background:color-mix(in srgb, var(--seal) 6%, var(--sheet));border-radius:12px;margin-top:10px;padding:12px 13px 10px;font-size:12.5px}.ocr-check-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 14px;display:flex}.ocr-check-h h3{font:750 13px var(--sans);color:var(--seal);letter-spacing:.04em;margin:0}.ocr-check-h .small{text-align:right;margin-left:auto}.ocr-list{gap:6px;margin:10px 0 8px;padding:0;list-style:none;display:grid}.ocr-list li{border:1px solid var(--rule);background:var(--sheet);border-radius:9px;align-items:center;gap:6px;min-height:48px;padding:2px 4px 2px 2px;display:flex}.ocr-list li.done{border-color:color-mix(in srgb, var(--hi) 45%, var(--rule));background:color-mix(in srgb, var(--hi) 6%, var(--sheet))}.ocr-list li.warn{border-color:color-mix(in srgb, var(--gold) 45%, var(--rule));background:color-mix(in srgb, var(--gold) 7%, var(--sheet));flex-wrap:wrap}.ocr-goto{min-width:0;min-height:40px;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;padding:4px 8px;display:flex}.ocr-goto .sign{color:var(--hi);font-weight:700}.ocr-goto.neg .sign{color:var(--danger)}.ocr-goto .name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ocr-goto b{font-family:var(--num);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;margin-left:auto}.ocr-goto:hover .name{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ocr-ok{border:1px solid var(--rule);min-width:44px;min-height:44px;color:var(--ink-3);background:0 0;border-radius:8px;flex:none;padding:0 10px;font-size:12px}.ocr-ok.on{border-color:color-mix(in srgb, var(--hi) 55%, var(--rule));background:color-mix(in srgb, var(--hi) 12%, transparent);color:var(--hi)}.ocr-warn{color:var(--gold);flex-basis:100%;padding:0 10px 6px;font-size:11.5px}.ocr-check-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;padding-top:2px;display:flex}.ocr-check-foot .text-btn{border:1px solid color-mix(in srgb, var(--seal) 45%, var(--rule));background:var(--seal-soft);min-height:44px;color:var(--ink);padding:0 12px;font-weight:650}.panel{background:linear-gradient(180deg, color-mix(in srgb, var(--seal) 3%, var(--sheet)), var(--sheet) 90px), var(--sheet);border:1px solid var(--rule);border-radius:0;padding:18px 22px 22px;position:relative}.panel:before{content:"";inset-inline:0;background:linear-gradient(90deg, transparent 1%, var(--seal) 28%, var(--seal) 72%, transparent 99%);opacity:.6;pointer-events:none;height:2px;position:absolute;top:0}.panel:after{content:"";border-right:1px solid var(--seal);border-bottom:1px solid var(--seal);opacity:.5;pointer-events:none;width:15px;height:15px;position:absolute;bottom:-1px;right:-1px}.panel-h{align-items:center;gap:12px;min-height:40px;margin-bottom:8px;display:flex}.panel-h h1,.panel-h h2{font:700 18px var(--serif);letter-spacing:.08em;align-items:center;margin:0 auto 0 0;display:inline-flex}.panel-h h1:before,.panel-h h2:before{content:"";background:var(--seal);flex:none;width:7px;height:7px;margin-right:10px;transform:rotate(45deg)}.panel-tools,.text-tools{gap:4px;display:inline-flex}.empty{text-align:center;letter-spacing:.05em;color:var(--ink-3);margin:8px 0;padding:30px 0}.empty.good{color:var(--hi);font-weight:600}.empty.warn{color:var(--seal)}.btn{z-index:0;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:14px;transition:background .12s,transform 60ms;display:inline-flex;position:relative}.btn:before,.btn:after{content:"";z-index:-1;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);pointer-events:none;position:absolute;inset:0}.btn:before{background:var(--ink)}.btn:after{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);background:var(--sheet);transition:background .12s;inset:1px}.btn:hover:after{background:var(--well)}.btn:active{transform:translateY(1px)}.btn.primary:before{background:var(--gold-grad-hi)}.btn.primary:after{background:var(--gold-grad)}.btn.primary{color:#2b1d08;font-weight:600}.btn.primary:hover:after{background:var(--gold-grad-hi)}.btn.big{flex:1 1 0;min-height:48px;font-size:15px}.btn.block{width:100%;margin-top:12px}.text-btn{color:var(--ink-3);background:0 0;border:0;padding:6px 8px;font-size:13.5px}.text-btn:hover,.text-btn.on{color:var(--seal);background:var(--seal-soft)}.share-btn{border:1px solid var(--seal);color:var(--seal);letter-spacing:.05em;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}.share-btn:hover{background:var(--seal);color:var(--paper)}.pool-search{border:1px solid var(--seal-soft);width:160px;color:inherit;background:0 0;padding:5px 9px;font-family:inherit;font-size:13px}.pool-search:focus{border-color:var(--seal);outline:none}.icon-btn{width:32px;height:32px;color:var(--ink-3);background:0 0;border:1px solid #0000;border-radius:0;place-items:center;font-size:18px;line-height:1;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--seal-soft);border-color:var(--seal);color:var(--seal)}.icon-btn.ghost{border:1px dashed var(--ink-3);width:36px;height:36px;font-size:20px}.icon-btn:disabled{opacity:.35}.add-row{border:1px dashed var(--ink-3);width:100%;min-height:44px;color:var(--ink-2);background:0 0;border-radius:0;margin-top:8px}.add-row:hover:not(:disabled){border-color:var(--seal);color:var(--seal);background:var(--seal-soft)}.add-row:disabled{display:none}.seal{border:2px solid var(--seal);min-width:24px;height:24px;color:var(--seal);font:900 13px / 1 var(--serif);vertical-align:1px;border-radius:0;place-items:center;margin-right:8px;padding:0 4px;display:inline-grid;transform:rotate(-6deg)}.seg{border:1px solid var(--rule);background:var(--well);border-radius:0;flex-wrap:wrap;gap:2px;min-inline-size:0;margin:0;padding:3px;display:inline-flex}.seg button{min-height:32px;color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0 12px;font-size:13.5px}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--raised);color:var(--seal);box-shadow:var(--raised-shadow), inset 0 -2px 0 var(--seal);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{z-index:0;min-height:34px;color:var(--ink-2);background:0 0;border:0;border-radius:0;padding:0 14px;font-size:13.5px;position:relative}.chip:before,.chip:after{content:"";z-index:-1;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);pointer-events:none;position:absolute;inset:0}.chip:before{background:var(--rule)}.chip:after{clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:var(--paper);transition:background .12s;inset:1px}.chip:hover:before{background:var(--seal)}.chip.on:before{background:var(--gold-grad-hi)}.chip.on:after{background:var(--gold-grad)}.chip.on{color:#2b1d08;font-weight:600}.switch{cursor:pointer;align-items:center;gap:8px;min-height:32px;font-size:14px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch .track{background:var(--switch-off);border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.switch .track:after{content:"";background:var(--knob);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.track{background:var(--seal)}.switch input:checked+.track:after{transform:translate(14px)}.switch input:focus-visible+.track{outline:2px solid var(--seal);outline-offset:2px}.slider{align-items:center;gap:8px;display:inline-flex}.slider-label{color:var(--ink-2);font-size:13.5px}.slider input[type=range]{width:120px;accent-color:var(--seal)}input.num,.weapon input,.picker-search{border:1px solid var(--rule);background:color-mix(in srgb, var(--well) 45%, transparent);border-radius:0;min-width:0;padding:6px 8px}input.num{font-size:16px}input.num:hover,.weapon input:hover,.picker-search:hover{border-color:var(--ink-3)}input.num:focus,.weapon input:focus,.picker-search:focus{border-color:var(--seal);box-shadow:0 0 0 3px var(--seal-soft);outline:none}input.num::placeholder{color:var(--rule)}.field-label{letter-spacing:.06em;color:var(--ink-3);min-width:76px;font-size:12.5px}.pop{min-width:0;position:relative}.pop-panel{z-index:40;background:var(--sheet);border:1px solid var(--seal);width:max(100%,280px);max-height:min(70vh,560px);box-shadow:var(--shadow);border-radius:0;padding:12px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.pop-panel.wide{width:min(560px,86vw)}.picker-label{flex-wrap:wrap;align-items:center;gap:2px 4px;min-width:0;display:inline-flex}.picker-btn{border:0;border-bottom:1px solid var(--rule);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;padding:4px 2px;font-size:15px;display:flex}.picker-btn:hover{border-bottom-color:var(--seal)}.picker-btn[aria-expanded=true]{border-bottom:2px solid var(--seal)}.picker-btn.empty{color:var(--ink-3)}.picker-btn .caret{color:var(--ink-3);font-size:12px}.picker-search{width:100%;margin-bottom:4px;font-size:15px}.picker-note{color:var(--ink-3);margin:6px 0 0;font-size:12px}.picker-group h4{font:600 11.5px var(--sans);letter-spacing:.12em;color:var(--seal);margin:14px 0 6px}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.opt{border:1px solid var(--rule);background:var(--paper);text-align:left;border-radius:0;flex-direction:column;justify-content:center;align-items:flex-start;min-height:40px;padding:6px 10px;font-size:14px;line-height:1.35;display:flex}.opt:hover:not(:disabled){border-color:var(--seal)}.opt.on{border-color:var(--seal);background:var(--seal-soft);box-shadow:inset 0 0 0 1px var(--seal)}.opt small{color:var(--ink-3);font-size:11.5px}.opt:disabled{opacity:.38}.drop{border:1.5px dashed var(--ink-3);background:color-mix(in srgb, var(--well) 30%, transparent);text-align:left;border-radius:0;align-items:center;gap:14px;width:100%;min-height:96px;margin-bottom:14px;padding:12px 18px;transition:border-color .15s,background .15s;display:flex}.drop:hover{border-color:var(--seal);background:var(--seal-soft)}.drop b{font:700 17px var(--serif);display:block}.drop small{color:var(--ink-3);font-size:12.5px}.riven-mark{object-fit:contain;flex:none}.shot{margin:0 0 14px}.shot-img{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.shot-full{max-width:100%;max-height:300px;box-shadow:var(--shadow);border-radius:0;margin:0 auto;display:block}.shot-crop{box-shadow:var(--shadow);border-radius:0;margin:0 auto;display:block;position:relative;overflow:hidden}.shot-crop img{max-width:none;position:absolute}.shot figcaption{justify-content:space-between;align-items:center;gap:8px;padding:10px 2px 0;display:flex}.shot-status{color:var(--ink-3);font-size:12.5px}.shot-status.warn{color:var(--seal);background:var(--seal-soft);padding:3px 10px}.shot-again{color:var(--ink-2);background:var(--sheet);border:1px solid var(--rule);border-radius:0;padding:4px 12px;font-size:12.5px}.shot-status.busy:before{content:"";background:var(--seal);width:8px;height:8px;margin-right:6px;animation:.9s ease-in-out infinite alternate pulse;display:inline-block}@keyframes pulse{to{opacity:.25}}.shot-again{min-height:32px;margin-left:auto}.shot-again:hover{border-color:var(--seal);color:var(--seal)}dialog.lightbox{cursor:zoom-out;background:0 0;border:0;max-width:96vw;max-height:94vh;padding:0}dialog.lightbox::backdrop{background:#08050ee0}dialog.lightbox img{border-radius:0;max-width:96vw;max-height:94vh;display:block}.weapon{align-items:center;gap:14px;margin-bottom:6px;display:flex;position:relative}.weapon-img{object-fit:contain;width:132px;height:88px;filter:var(--weapon-shadow);flex:none}.weapon-img.empty{border:1px dashed var(--rule);filter:none;border-radius:0}.weapon-img.small{width:54px;height:36px}.weapon-field{flex:1;min-width:0}.weapon input{width:100%;min-height:44px;font-size:16px}.weapon input.has-value::placeholder{color:var(--ink);font:700 19px var(--serif);letter-spacing:.04em}.weapon-cls{letter-spacing:.04em;color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:0 2px;margin-top:2px;font-size:12.5px;display:flex}.disp{align-items:baseline;gap:4px;display:inline-flex}.disp .num{width:4.6em;min-height:0;font:inherit;color:var(--ink-2);box-shadow:none;background:0 0;border-color:#0000;padding:0 4px}.disp .num:hover{border-color:var(--rule)}.disp.own,.disp.own .num{color:var(--seal)}.weapon-list{z-index:40;background:var(--sheet);border:1px solid var(--seal);max-height:340px;box-shadow:var(--shadow);border-radius:0;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.weapon-list [role=option]{cursor:pointer;border-radius:0;align-items:center;gap:10px;min-height:44px;padding:2px 10px 2px 4px;display:flex}.weapon-list [role=option] small{margin-left:auto}.weapon-list [role=option][aria-selected=true],.weapon-list [role=option]:hover{background:var(--seal-soft)}.weapon-list small{color:var(--ink-3)}.traits{margin:4px 0 0;padding:0;list-style:none}.trait{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);grid-template-rows:auto 6px auto;grid-template-columns:16px 96px minmax(0,1fr) 50px 32px;align-items:center;column-gap:8px;padding:6px 0 8px;display:grid}.trait .sign{font:600 18px var(--num);color:var(--ink-3);text-align:center}.trait.neg .sign,.trait.neg .trait-val{color:var(--seal)}.trait-val{width:100%}.trait .picker-btn{border-bottom-color:#0000}.trait .picker-btn:hover{border-bottom-color:var(--seal)}.trait-w{font:15px var(--num);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-2);position:relative}.trait-w.hi{color:var(--hi);font-weight:600}.trait-w.lo{color:var(--ink-3)}.warn-dot{background:var(--seal);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.trait-bar{background:var(--well);border-radius:2px;grid-area:2/2/auto/5;height:3px;position:relative}.trait-bar i{background:color-mix(in srgb, var(--seal) 60%, transparent);border-radius:2px;position:absolute;top:0;bottom:0;left:0}.trait-bar i.hi{background:var(--hi)}.trait-bar b{background:var(--seal);width:2px;height:9px;position:absolute;top:-3px;transform:translate(-1px)}.trait-range{color:var(--ink-3);font-variant-numeric:tabular-nums;grid-area:3/2/auto/5;margin-top:3px;font-size:11.5px}.trait-add{color:var(--ink-3);align-items:center;gap:8px;padding-top:12px;font-size:13px;display:flex}.layout-tag{font:600 15px var(--num);color:var(--ink-2);margin-left:auto}.card-foot{border-top:1px solid color-mix(in srgb, var(--rule) 55%, transparent);flex-wrap:wrap;gap:8px 24px;margin-top:14px;padding-top:12px;display:flex}.card-foot label{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.card-foot input.num{color:var(--ink)}.more{background:color-mix(in srgb, var(--well) 55%, transparent);border-radius:0;gap:10px;margin-bottom:8px;padding:12px;display:grid;box-shadow:inset 0 1px 3px #00000014}.more-row{flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:14px;display:flex}.quick{margin-bottom:8px}.quick-row{align-items:center;gap:8px;display:flex}@media (max-width:480px){.quick-row{flex-wrap:wrap}}.quick-input{border:1px solid var(--rule);background:var(--paper);border-radius:0;flex:1;min-width:0;min-height:44px;padding:0 12px;font-size:15px}.quick-input:hover{border-color:var(--ink-3)}.quick-input:focus{border-color:var(--seal);box-shadow:0 0 0 3px var(--seal-soft);outline:none}.quick-row .btn:disabled{opacity:.4}.quick-read{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;display:flex}.quick-set{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.quick-set+.quick-set:before{content:"|";color:var(--rule)}.tag{z-index:0;background:0 0;flex-wrap:wrap;align-items:center;padding:3px 9px;font-size:13px;display:inline-flex;position:relative}.tag:before,.tag:after{content:"";z-index:-1;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);pointer-events:none;position:absolute;inset:0}.tag:before{background:var(--rule)}.tag:after{clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);background:color-mix(in srgb, var(--well) 65%, var(--sheet));inset:1px}.tag.muted{color:var(--ink-3)}.tag.muted:before{opacity:.45}.tag.muted:after{background:0 0}.tag.bad:before{background:var(--seal)}.tag.bad:after{background:var(--seal-soft)}.tag.soft:before{opacity:.5}.tag.soft:after{background:0 0}.tag.soft{color:var(--ink-3)}.quick-help{gap:8px;margin:0;padding:0;font-size:13.5px;list-style:none;display:grid}.quick-help li{gap:2px;display:grid}.quick-help code{font:600 14px var(--sans);color:var(--ink)}.quick-help span{color:var(--ink-3)}.target-set.multi{border:1px solid color-mix(in srgb, var(--seal) 40%, var(--rule));background:color-mix(in srgb, var(--well) 35%, transparent);border-radius:0;padding:4px 12px 12px}.or{font:700 14px var(--serif);color:var(--seal);align-items:center;gap:10px;margin:14px -12px 10px;display:flex}.or:before,.or:after{content:"";border-top:1px dashed color-mix(in srgb, var(--seal) 45%, transparent);flex:1}.set-h{justify-content:space-between;align-items:center;min-height:36px;display:flex}.set-name{border:1px solid var(--seal);width:24px;height:24px;color:var(--seal);font:700 13px var(--num);background:0 0;border-radius:50%;place-items:center;display:inline-grid}.add-alt{color:var(--seal);margin:10px 0 0 auto;display:block}.slots{margin:0;padding:0;list-style:none}.slot{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);grid-template-columns:22px minmax(0,1fr) 32px;align-items:center;gap:8px;padding:10px 0 12px;display:grid}.slot-n{font:600 17px var(--num);color:var(--seal);text-align:center}.slot-bar{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:8px 14px;display:flex}.slot-range{font-variant-numeric:tabular-nums;flex-basis:100%;font-size:11.5px}.bar-field{color:var(--ink-3);align-items:baseline;gap:6px;font-size:12.5px;display:inline-flex}.bar-field input.num{color:var(--ink)}.bar-field.out input.num{color:var(--seal)}.opts{gap:12px;margin-top:16px;display:grid}.opt-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.routes-panel{transition:opacity .2s}.routes-panel.stale .routes{opacity:.5}.routes{margin:0;padding:0;list-style:none}.route{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);position:relative}.route.rec:before{content:"";background:linear-gradient(180deg, transparent, var(--seal) 20%, var(--seal) 80%, transparent);width:2px;position:absolute;top:10px;bottom:10px;left:0}.route-head{text-align:left;background:0 0;border:0;grid-template-columns:36px minmax(0,1fr) minmax(110px,auto) minmax(150px,auto);align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 4px 6px 10px;display:grid}.route-head:hover .route-title{color:var(--seal)}.route-no{font:600 20px var(--num);color:var(--ink-3)}.route.rec .route-no{color:var(--seal)}.route-title{font-size:15.5px;font-weight:600;line-height:1.4;transition:color .12s}.route-title .ico{vertical-align:-4px;width:20px;height:20px;margin-right:4px}.route-num{text-align:right;justify-items:end;display:grid}.route-num b{font:600 19px / 1.2 var(--num);font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:inline-flex}.route-num.total b{font-size:22px}.route-num.total .ico{width:20px;height:20px}.route-num small{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.route-body{gap:8px;padding:0 4px 14px 52px;display:grid}.range{height:12px;position:relative}.range i{background:var(--ink-3);opacity:.6;height:2px;position:absolute;top:5px}.range em{background:var(--well);border:1px solid var(--ink-3);border-radius:2px;height:10px;position:absolute;top:1px}.route.rec .range em{background:var(--seal-tint);border-color:var(--seal)}.range b{background:var(--ink);width:2px;height:14px;position:absolute;top:-1px;transform:translate(-1px)}.keep{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.keep-label{color:var(--ink-3);margin-right:2px;font-size:12px}.tag .tag-n{color:var(--ink-3);margin-right:4px}.tag .tag-q{border-left:1px solid var(--rule);color:var(--ink-3);margin-left:6px;padding-left:6px}.tag .plus{color:var(--ink-3);margin:0 5px}.tag .ico{width:16px;height:16px}.route-foot{color:var(--ink-3);gap:16px;font-size:12px;display:flex}.route-foot:empty{display:none}.rule-note{color:var(--seal);text-align:left;margin:6px 0 0;display:block}.route.open{background:linear-gradient(90deg, var(--seal-soft), color-mix(in srgb, var(--seal-soft) 30%, transparent) 60%)}.route-steps{background:var(--sheet);border:1px solid color-mix(in srgb, var(--seal) 45%, var(--rule));box-shadow:var(--shadow);border-radius:0;margin:0 8px 14px 52px;padding:14px 16px}.steps{counter-reset:s;margin:0;padding:0;list-style:none}.steps li{counter-increment:s;grid-template-columns:24px minmax(0,1fr);padding:6px 0;font-size:14.5px;display:grid}.steps li:before{content:counter(s);font:600 16px var(--num);color:var(--seal)}.loop{gap:10px;margin-top:12px;display:flex}.loop.retry{justify-content:center;margin-bottom:8px}.tally{border-top:1px solid color-mix(in srgb, var(--seal) 35%, var(--rule));grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0;padding-top:10px;display:grid}.tally dt{letter-spacing:.08em;color:var(--ink-3);font-size:11.5px}.tally dd{font:500 18px var(--num);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin:0;display:flex}.tally small{color:var(--ink-3);font-size:12px}.axis{font:11px var(--num);color:var(--ink-3);justify-content:space-between;padding:8px 4px 0 52px;display:flex}.compare{border-color:var(--seal)}.compare-cards{grid-template-columns:1fr 1fr;gap:12px;display:grid}.compare-card{border:1px solid var(--rule);background:var(--paper);text-align:left;border-radius:0;align-content:start;gap:4px;padding:12px;display:grid}.compare-card:hover{border-color:var(--ink-3)}.compare-card.better{border:1px solid var(--seal);box-shadow:inset 0 0 0 1px var(--seal-soft), 0 0 0 1px color-mix(in srgb, var(--seal) 30%, transparent);background:var(--seal-soft)}.compare-h{align-items:center;gap:8px;margin-bottom:4px;display:flex}.compare-h .muted{margin-left:auto;font-size:13px}.compare-line{font-size:13.5px}.compare-line.neg{color:var(--seal)}.compare-card .btn{pointer-events:none;margin-top:8px}.ranges{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px;display:grid}.ranges-panel{padding-bottom:16px}.ranges-bar{flex-wrap:wrap;align-items:center;gap:10px 20px;margin:4px 0 12px;display:flex}.ranges-note{margin:14px 0 0}.ranges-hint{margin-left:auto}.row-btn{font:inherit;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px dashed #0000;padding:2px 0;display:inline-flex}.row-btn:hover,.row-btn[aria-expanded=true]{border-bottom-color:var(--seal);color:var(--seal)}.row-value{margin-top:4px;display:block}.row-value input.num{color:var(--ink);font-size:15px}.range-table tr.checking{background:var(--seal-soft)}.cell-range{display:block}.cell-roll{font:600 13px var(--num);color:var(--hi);margin-top:2px;display:block}.cell-roll.bad{color:var(--ink-3);font-weight:400}.range-table th.mine{color:var(--seal)}.range-table td.mine{background:var(--seal-soft)}.table-wrap{border:1px solid var(--rule);background:var(--sheet);border-radius:0;overflow-x:auto}.range-table{border-collapse:collapse;width:100%;font-size:13.5px}.range-table th,.range-table td{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);white-space:nowrap;text-align:left;padding:8px 12px}.range-table thead th{background:var(--sheet);letter-spacing:.1em;color:var(--ink-3);border-bottom:1px solid color-mix(in srgb, var(--seal) 55%, var(--rule));font-weight:600;position:sticky;top:0}.range-table .r{text-align:right}.range-table .neg{color:var(--seal)}.range-table tr.cat th{font:700 14px var(--serif);letter-spacing:.08em;color:var(--ink-2);background:var(--paper);padding-top:18px}.range-table tbody tr:not(.cat):hover{background:color-mix(in srgb, var(--well) 50%, transparent)}.range-table tr.off{opacity:.4}.range-table th[scope=row]{font-weight:500}.range-table th small{letter-spacing:normal;color:var(--ink-3);font-size:11.5px;font-weight:400;display:block}.range-mobile{display:grid}.range-mobile .rm-cat{font:700 14px var(--serif);letter-spacing:.08em;color:var(--ink-2);margin:18px 0 2px}.range-mobile section:first-child .rm-cat{margin-top:0}.rm-row summary{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:9px 2px;list-style:none;display:flex}.rm-row summary::-webkit-details-marker{display:none}.rm-row summary:after{content:"▸";color:var(--ink-3);order:1;margin-left:auto;font-size:12px;transition:rotate .15s}.rm-row[open]>summary:after{rotate:90deg}.rm-row summary small{font:400 11.5px var(--sans);color:var(--ink-3);flex-basis:100%;order:2}.rm-row.checking{background:var(--seal-soft)}.rm-row.off summary{opacity:.4;cursor:default}.rm-row.off summary:after{content:none}.rm-cells{grid-template-columns:1fr 1fr;gap:6px 10px;padding:8px 2px 10px 30px;display:grid}.rm-cell{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rm-cell b{font:400 11px var(--num);color:var(--ink-3);white-space:nowrap;flex:none}.rm-cell span.num{min-width:0;font:500 13px var(--num);font-variant-numeric:tabular-nums;text-align:right}.rm-cell.neg b,.rm-cell.neg span.num{color:var(--seal)}.rm-cell.mine b{color:var(--seal);font-weight:600}.rm-check{grid-column:1/-1}.rm-check input.num{color:var(--ink);font-size:15px}.drop-overlay{z-index:100;border:3px dashed var(--seal);background:var(--overlay);font:700 28px var(--serif);letter-spacing:.1em;color:var(--seal);pointer-events:none;border-radius:0;place-items:center;display:grid;position:fixed;inset:12px}.toast{z-index:90;border:1px solid var(--seal);background:var(--ink);color:var(--paper);box-shadow:var(--shadow);border-radius:0;padding:10px 18px;font-size:14px;animation:.2s ease-out toast;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast.undo{align-items:center;gap:14px;display:flex}.toast.undo .text-btn{color:var(--seal);font-weight:600;text-decoration:underline}.toast.undo .text-btn:hover{color:var(--ink-hover);background:0 0}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}}.article{max-width:760px;margin:28px auto 0}.article h1{font:900 30px / 1.2 var(--serif);letter-spacing:.06em;margin:0 0 6px}.article h2{font:700 21px var(--serif);letter-spacing:.06em;border-bottom:1px solid color-mix(in srgb, var(--seal) 45%, var(--rule));align-items:center;gap:8px;margin:36px 0 10px;padding-bottom:6px;display:flex}.article h2 .ico{width:24px;height:24px}.article p,.article li{font-size:15.5px;line-height:1.85}.article table{border-collapse:collapse;margin:12px 0;font-size:14px}.article th,.article td{border-bottom:1px solid var(--rule);text-align:left;padding:6px 18px 6px 0}.article th{border-bottom-color:color-mix(in srgb, var(--seal) 55%, var(--rule));color:var(--ink-3);font-weight:500}.article .recipe{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.article .stat-name+.stat-name{margin-left:6px}.article .formula{font:18px var(--num);text-align:center;border-top:1px solid color-mix(in srgb, var(--seal) 45%, var(--rule));border-bottom:1px solid color-mix(in srgb, var(--seal) 45%, var(--rule));margin:12px 0;padding:12px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:1180px){.coach,.coach-inputs{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.app{padding:0 12px 48px}.top{gap:8px 12px;margin:0 -12px;padding:12px}.brand{margin-right:auto;font-size:19px}.tabs{white-space:nowrap;flex:0 0 100%;order:3;margin:0 -12px;padding:0 12px;overflow-x:auto}.tabs a{flex:none}.panel{padding:12px 14px 16px}.coach-summary{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 16px}.coach-summary h1{font-size:21px}.coach-summary-metrics dd{font-size:17px}.coach-new{margin-bottom:56px}.coach-jump{z-index:40;width:100%;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--rule);background:color-mix(in srgb, var(--paper) 93%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--seal);font:600 15px var(--sans);letter-spacing:.04em;display:block;position:fixed;bottom:0;left:0;right:0}.text-btn,.tabs a{min-height:44px}.icon-btn{min-width:44px;min-height:44px}.panel-h{flex-wrap:wrap}.route-head{grid-template-columns:28px minmax(0,1fr) auto;row-gap:4px}.route-head .route-num:not(.total){text-align:left;grid-area:2/2;place-items:baseline start;gap:8px;display:flex}.route-head .route-num.total{grid-area:1/3/3}.route-body,.axis{padding-left:40px}.route-steps{margin-left:4px;margin-right:4px}.loop{flex-direction:column}.compare-cards{grid-template-columns:minmax(0,1fr)}.trait{grid-template-columns:14px 84px minmax(0,1fr) 46px 28px;column-gap:6px}.pop-panel,.pop-panel.wide{border-bottom:0;border-radius:0;width:auto;max-height:75vh;position:fixed;inset:auto 0 0}}.build-switch{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;display:flex}.build-riven{margin-top:10px}.build-traits{margin:6px 0 0;padding:0;list-style:none}.build-traits li{border-bottom:1px solid var(--rule);color:var(--ink-2);justify-content:space-between;gap:12px;padding:5px 0;font-size:14px;display:flex}.build-traits li:last-child{border-bottom:0}.build-traits li.neg{color:var(--ink-3)}.build-traits b{font:600 14px / 1 var(--serif);color:var(--seal);font-variant-numeric:tabular-nums;white-space:nowrap}.build-controls{flex-direction:column;gap:10px;margin-top:12px;display:flex}.build-controls>label{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;display:flex}.build-controls input[type=number]{border:1px solid var(--rule);background:var(--well);width:76px;min-height:32px;color:var(--ink);font:600 14px / 1 var(--serif);font-variant-numeric:tabular-nums;border-radius:0;padding:0 8px}.build-controls input[type=number]:focus{border-color:var(--seal);outline:none}.build-slots{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.build-slots li{border:1px solid var(--rule);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--seal) 3%, var(--well));border-radius:11px;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;min-height:96px;padding:11px 12px 9px;display:flex}.build-slots li:last-child{border-bottom:1px solid var(--rule)}.build-slots .slot-no{color:var(--gold);font:750 10.5px / 1 var(--sans);letter-spacing:.14em;font-variant-numeric:tabular-nums}.build-slots .slot-name{color:var(--ink);font-size:14px;font-weight:700}.build-slots .slot-stats{text-align:left;color:var(--ink-3);overflow-wrap:anywhere;margin-left:0;font-size:12px;line-height:1.45}.build-slots .slot-ops,.build-slots .slot-stack{flex-wrap:wrap;gap:6px;max-width:100%;margin-top:auto;margin-left:0;padding-top:4px}.build-slots .slot-ops .text-btn,.build-slots .slot-stack .text-btn{border:1px solid var(--rule);background:var(--sheet);border-radius:8px;min-width:36px;min-height:36px;padding:0}.build-slots .riven-slot{border-color:color-mix(in srgb, var(--seal) 55%, var(--rule));background:linear-gradient(145deg, color-mix(in srgb, var(--seal) 11%, var(--sheet)), var(--sheet));box-shadow:none;padding-left:12px}.build-slots .slot-empty{opacity:.55;background:0 0;border-style:dashed}.build-slots .slot-empty .slot-name{color:var(--ink-3);font-size:12.5px;font-weight:500}@media (max-width:900px){.build-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}.build-verdict{border-left:3px solid var(--seal);background:var(--seal-soft);font:600 14px / 1.6 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;padding:9px 12px}.build-figs{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px 14px;margin:0 0 14px;display:grid}.build-figs>div{border-left:2px solid var(--rule);padding-left:10px}.build-figs dt{color:var(--ink-3);font-size:12px}.build-figs dd{font:600 16px / 1.2 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;margin:3px 0 0}.build-panel,.build-marginal{margin:0;padding:0;list-style:none}.build-panel li{grid-template-columns:52px 1fr 64px;align-items:center;gap:10px;padding:4px 0;display:grid}.build-marginal li{border-bottom:1px solid var(--rule);grid-template-columns:112px 1fr 52px;align-items:center;gap:10px;padding:5px 0;display:grid}.build-marginal li:last-child{border-bottom:0}.build-panel .type,.build-marginal .name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.build-panel .val,.build-marginal .val{text-align:right;font:600 13px / 1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}.build-panel .bar,.build-marginal .bar{background:var(--seal);opacity:.85;min-width:2px;height:8px}.build-vs{border-top:1px solid var(--rule);margin:14px 0 0;padding:10px 0 0;list-style:none}.build-vs li{color:var(--ink-2);justify-content:space-between;gap:12px;padding:3px 0;font-size:13.5px;display:flex}.build-vs b{font:600 14px / 1 var(--serif);color:var(--seal);font-variant-numeric:tabular-nums;white-space:nowrap}.build-vs li.vs-detail{color:var(--ink-3);font-size:12.5px}.build-tiers{margin:0;padding:0;list-style:none}.build-tiers li{border-bottom:1px solid var(--rule);grid-template-rows:auto auto;grid-template-columns:96px 1fr 176px;align-items:center;gap:2px 10px;padding:8px 0;display:grid}.build-tiers li:last-child{border-bottom:0}.build-tiers .name{color:var(--ink-2);grid-row:1/3;font-size:13px}.build-tiers .bar{background:var(--seal);opacity:.55;grid-column:2;min-width:2px;height:10px}.build-tiers .val{text-align:right;font:600 13px / 1.2 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/3}.build-tiers .note{color:var(--ink-3);grid-area:2/2/auto/4;font-size:11px}.build-tiers li.mine .bar,.build-tiers li.gold .bar{background:var(--gold-grad-hi);opacity:1}.build-tiers li.gold .name,.build-tiers li.gold .val{color:var(--seal)}.build-god{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;display:flex}.build-god .god-label{color:var(--ink-3);font-size:12px}.build-god .chip{border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;padding:3px 9px;font-size:12px}.build-god .chip b{font:600 12px / 1 var(--serif);color:var(--seal);font-variant-numeric:tabular-nums}.build-god .chip.neg,.build-god .chip.neg b{opacity:.65}.build-mode-btns{gap:2px;margin-left:auto;display:inline-flex}.slot-ops{align-self:center;gap:0;margin-left:6px;display:inline-flex}.slot-ops .text-btn{padding:2px 6px;font-size:13px;line-height:1.2}.slot-stack{align-items:center;gap:2px;margin-left:6px;display:inline-flex}.slot-stack .stack-n{opacity:.75;white-space:nowrap;font-size:12px}.slot-stack .text-btn{padding:2px 6px;font-size:13px;line-height:1.2}.build-pool{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.build-pool li{border-bottom:1px solid var(--rule)}.build-pool li:last-child{border-bottom:0}.build-pool button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:10px;padding:6px 4px;display:flex}.build-pool button:hover{background:var(--well)}.build-pool button.on{box-shadow:inset 2px 0 0 var(--seal)}.build-pool button.on .slot-name{color:var(--seal)}.build-pool button:disabled{opacity:.4;cursor:default}.build-pool button:disabled:hover{background:0 0}.build-tiers li.wish .bar{background:var(--seal);opacity:.85}.build-tiers li.wish .name{color:var(--seal)}.build-marginal .bar.hurt{background:var(--ink-3);opacity:.5}@media (max-width:480px){.build-pool button{flex-wrap:wrap}.build-pool .slot-stats{text-align:left;flex-basis:100%;margin-top:-2px;margin-left:34px}.build-tiers li{grid-template-columns:auto minmax(0,1fr) auto}.build-tiers .val{padding-left:10px}.build-marginal li{grid-template-columns:minmax(0,1fr) 64px}.build-marginal .bar{grid-area:2/1/auto/3}.build-marginal .val{grid-row:1}.build-marginal .name{white-space:normal}}.market{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;margin-top:28px;display:grid}.market-panel{padding-bottom:12px}.market-more{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.market-more .text-btn{border:1px solid var(--rule);min-height:40px;color:var(--ink);padding:0 14px}.market-meta{margin:0}.market-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin:14px 0 6px;display:flex}.market-q{background:var(--well);min-width:150px;max-width:320px;color:var(--ink);border:1px solid var(--rule);font:400 13px / 1 var(--sans);flex:220px;padding:8px 11px}.market-q:focus{border-color:var(--seal);outline:none}.market-skeleton{gap:10px;padding:4px 0 6px;display:grid}.market-skeleton span{background:linear-gradient(90deg, var(--well) 40%, color-mix(in srgb, var(--ink) 8%, var(--well)) 50%, var(--well) 60%);background-size:300% 100%;height:38px;animation:1.5s linear infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}.market-list{margin:0;padding:0;list-style:none}.market-list li{border-top:1px solid color-mix(in srgb, var(--rule) 55%, transparent)}.market-list li:first-child{border-top:none}.market-head-row{border-bottom:1px solid color-mix(in srgb, var(--rule) 55%, transparent);color:var(--ink-3);grid-template-columns:40px minmax(0,1fr) 78px 78px 72px 96px 96px;gap:10px;padding:0 10px 8px;font-size:11px;display:grid}.market-head-row .whdr{text-align:right;white-space:nowrap}.market-row{width:100%;color:var(--ink);font:400 14px / 1.3 var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:40px minmax(0,1fr) 78px 78px 72px 96px 96px;align-items:center;gap:10px;padding:9px 10px;display:grid}.market-row:hover{background:var(--seal-soft)}.market-row .rank{font:500 13px / 1 var(--num);font-variant-numeric:tabular-nums;color:var(--ink-3)}.market-row .wname{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.market-row .wcls,.market-row .wlistings,.market-row .wturnover,.market-row .wprofit,.market-row .wprice{text-align:right;font:500 13px / 1 var(--num);font-variant-numeric:tabular-nums;color:var(--ink-2)}.market-row .wprofit.up{color:var(--hi)}.market-row .wprofit.down{color:var(--seal);opacity:.85}.market-row .wprice{color:var(--seal);font-weight:600}.market-row .cl{display:none}.market-detail{padding:4px 12px 14px 50px}.market-combos{gap:7px;margin:8px 0 10px;padding:0;list-style:none;display:grid}.market-combos li{border-top:none;flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.market-combos li.best .chip{border-color:var(--hi)}.combo-chips{flex-wrap:wrap;gap:5px;display:flex}.combo-chips .chip{border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;padding:3px 9px;font-size:12px}.combo-chips .chip.neg{opacity:.65}.combo-meta{font:500 12px / 1 var(--num);font-variant-numeric:tabular-nums;color:var(--ink-3)}.text-btn.gold{color:var(--seal);font-weight:600}.profit-cost{font:500 13px / 1.6 var(--sans);color:var(--ink);margin:12px 0 2px}.profit-cost b{font:600 16px / 1 var(--num);font-variant-numeric:tabular-nums;color:var(--seal)}.profit-cost small{font:400 12px / 1.5 var(--num);font-variant-numeric:tabular-nums;color:var(--ink-3)}.profit .market-combos li{align-items:center}.profit .market-combos{margin:8px 0 2px}.profit-num{font:600 14px / 1 var(--num);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.profit-num.up{color:var(--hi)}.profit-num.down{color:var(--seal);opacity:.85}.profit-num.pending{color:var(--ink-3);opacity:.6}.profit-num.muted{color:var(--ink-3)}.market-combos .profit-num{order:1;margin-left:auto}.market-combos .text-btn.gold{order:2}.profit-verdict{font:600 13px / 1.5 var(--sans);margin:6px 0 2px}.profit-verdict.good{color:var(--hi)}.profit-verdict.warn{color:var(--seal)}.combo-chips .chip.soft{color:var(--ink-3);border-style:dashed}.profit-formula{font-family:var(--num);letter-spacing:.01em}.profit-wage{flex-wrap:wrap;gap:8px 16px;margin-top:10px;display:flex}.profit-wage label{font:500 12px / 1 var(--sans);color:var(--ink-2);align-items:center;gap:7px;display:flex}.profit-wage input{background:var(--well);width:88px;color:var(--ink);border:1px solid var(--rule);font:500 13px / 1 var(--num);font-variant-numeric:tabular-nums;padding:6px 9px}.profit-wage input:focus{border-color:var(--frame);outline:none}@media (max-width:720px){.market-head-row{display:none}.market-row{grid-template-columns:26px minmax(0,1fr) auto auto auto;gap:3px 8px;padding:10px 8px}.market-row .rank{grid-area:1/1/3;align-self:center}.market-row .wname{grid-area:1/2/auto/5;min-width:0}.market-row .wprofit{grid-area:1/5}.market-row .wlistings{grid-area:2/2/auto/4}.market-row .wturnover{grid-area:2/4}.market-row .wprice{grid-area:2/5}.market-row .wcls{display:none}.market-row .cl{font:400 11px / 1 var(--sans);color:var(--ink-3);margin-left:3px;display:inline}.market-detail{padding-left:12px}.market-toolbar .market-q{flex-basis:100%;max-width:none}.page-hero{flex-direction:column;align-items:flex-start;gap:10px}}.auth-overlay{z-index:110;background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--seal) 3%, var(--sheet)), var(--sheet) 90px), var(--sheet);border:1px solid var(--rule);width:min(360px,100%);box-shadow:var(--shadow);padding:22px 24px 18px}.auth-form h2{font:700 17px var(--serif);letter-spacing:.04em;color:var(--ink);align-items:center;gap:8px;margin:0 0 14px;display:flex}.auth-field{margin-bottom:12px;display:block}.auth-field span{color:var(--ink-3);margin-bottom:4px;font-size:12.5px;display:block}.auth-field input{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font:inherit;padding:8px 10px}.auth-field input:focus{border-color:var(--seal);outline:none}.auth-hint{color:var(--ink-3);margin:-4px 0 10px;font-size:12px}.auth-submit{border:1px solid var(--seal);background:var(--seal);width:100%;color:var(--paper);font:600 14px var(--serif);letter-spacing:.08em;cursor:pointer;padding:10px 12px}.auth-submit:hover:not(:disabled){background:var(--seal-strong,var(--seal))}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-switch{text-align:center;width:100%;margin-top:10px;display:block}.auth-privacy,.auth-line{color:var(--ink-3);font-size:12px;line-height:1.6}.auth-privacy{border-top:1px dashed var(--rule);margin:14px 0 0;padding-top:10px}.auth-line{align-items:center;gap:10px;margin:0 0 14px;display:flex}.auth-plan{border:1px solid var(--rule);color:var(--ink-3);padding:1px 8px;font-size:11.5px}.auth-plan.pro{border-color:var(--seal);color:var(--seal);font-weight:600}.auth-sync{color:var(--ink-3)}.auth-err{color:var(--bad,#b23b3b);margin:0 0 10px;font-size:13px}.auth-note{color:var(--ok,#2e7d43);margin:0 0 10px;font-size:13px}.auth-logout{text-align:center;width:100%;margin-top:14px;display:block}.share-ask h2{font:700 17px / 1.4 var(--serif);letter-spacing:.05em;margin:0 0 10px}.share-ask .share-body{font:400 13.5px / 1.7 var(--sans);color:var(--ink-2);margin:0}.share-ask .share-btns{align-items:center;gap:10px;margin-top:16px;display:flex}.share-ask .share-btns .auth-submit{width:auto;padding:9px 22px}.app{max-width:1380px}body{background-attachment:fixed}body:after{content:none}.top{z-index:50;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom-color:color-mix(in srgb, var(--rule) 70%, transparent);position:sticky;top:0}.top:before{background:linear-gradient(90deg, transparent 4%, var(--seal) 32%, var(--seal) 68%, transparent 96%);opacity:.45;height:1px}.brand{font:800 22px / 1.2 var(--sans);letter-spacing:.02em}.brand .riven-mark,.brand>svg{color:var(--seal)}.tabs a{color:var(--ink-2);letter-spacing:.02em;border-radius:9px;padding:10px 14px;font-size:14px}.tabs a:hover{color:var(--ink);background:var(--seal-soft)}.tabs a[aria-current=page]{color:var(--ink);background:var(--seal-soft);font-weight:700}.tabs a[aria-current=page]:after{content:none}.panel{border-color:var(--rule);background:linear-gradient(180deg, color-mix(in srgb, var(--seal) 4%, var(--sheet)), var(--sheet) 120px);box-shadow:var(--shadow);border-radius:16px}.panel:before,.panel:after{content:none}.panel-h h1,.panel-h h2{font-family:var(--sans);letter-spacing:.01em;font-weight:750}.panel-h h1:before,.panel-h h2:before{border-radius:2px}button,input,select,textarea{border-radius:8px}.seg{border-radius:10px}.seg button{border-radius:7px}.seg button.on{background:var(--seal-soft);box-shadow:inset 0 0 0 1px var(--seal);color:var(--ink)}.chip,.tag,.badge{border-radius:999px}.icon-btn{border-color:var(--rule);background:var(--sheet);border-radius:9px}.text-btn{border-radius:8px}.icon-btn:hover:not(:disabled){border-color:var(--seal)}.coach-summary{border-top-width:1px;border-color:var(--rule);background:linear-gradient(135deg, color-mix(in srgb, var(--seal) 12%, var(--sheet)), var(--sheet) 70%);box-shadow:var(--shadow);border-radius:16px}.coach-summary h1{font-family:var(--sans);letter-spacing:-.02em;font-size:30px;font-weight:800}.coach-summary .eyebrow{color:var(--seal);letter-spacing:.16em}.coach-summary-metrics dd{color:var(--gold);font-weight:650}.site-foot{border-top-color:var(--rule)}.btn,.chip,.tag{border-radius:9px}.btn:before,.btn:after,.chip:before,.chip:after,.tag:before,.tag:after{clip-path:none}.btn:before{border-radius:9px}.btn:after{border-radius:8px}.btn.primary{color:#15102b}.chip,.chip:before,.chip:after,.tag,.tag:before,.tag:after{border-radius:999px}.chip.on{color:#15102b}.seal{font-family:var(--sans);letter-spacing:.04em;border-width:1px;border-radius:999px;padding:0 8px;font-weight:800;transform:none}.drop{border-radius:12px}.routes{gap:10px;display:grid}.route{border:1px solid var(--rule);background:color-mix(in srgb, var(--seal) 3%, var(--well));border-radius:12px;overflow:hidden}.route:last-child{border-bottom:1px solid var(--rule)}.route.rec{border-color:color-mix(in srgb, var(--seal) 55%, var(--rule));background:linear-gradient(145deg, color-mix(in srgb, var(--seal) 11%, var(--sheet)), var(--sheet))}.route.rec:before{content:none}.route-head{padding:12px 14px 8px}.route-head:hover{background:var(--seal-soft)}.route-no{font-family:var(--sans);font-variant-numeric:tabular-nums}.market-list{gap:6px;display:grid}.market-list li{border-radius:10px}.market-list li.open{background:color-mix(in srgb, var(--seal) 6%, var(--sheet))}.market-row{border-radius:10px}.market-head-row{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.build-slots li,.build-pool button,.build-pool li{border-radius:10px}.article h1{letter-spacing:-.02em;font-size:34px;font-weight:800}.top .brand,.panel-h h1,.panel-h h2,.section-title h2,.article h1,.article h2{font-family:var(--sans)}.page-hero{grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:2px;display:flex}.page-hero>div{flex-direction:column;gap:6px;min-width:0;display:flex}.page-hero .eyebrow{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:750}.page-hero h1{font:800 clamp(26px, 3vw, 38px) / 1.15 var(--sans);letter-spacing:-.02em;margin:0}.page-hero p{color:var(--ink-2);margin:0;font-size:14px}.page-hero .badge{border:1px solid color-mix(in srgb, var(--hi) 34%, var(--rule));background:color-mix(in srgb, var(--hi) 9%, transparent);color:var(--hi);letter-spacing:.05em;white-space:nowrap;flex:none;align-self:flex-start;margin-top:2px;padding:5px 11px;font-size:11.5px;font-weight:650}.panel-h .subtle{color:var(--ink-3);letter-spacing:.03em;margin-left:auto;font-size:12px}
