:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d10;--panel:#15171c;--panel-raised:#1c1f26;--border:#2c303a;--text:#e8e6e1;--muted:#a3a09a;--accent:#f8b700;--gain:#3fd16b;--loss:#ff5a52;--error:#ff6b5e;--q-poor:#9d9d9d;--q-common:#fff;--q-uncommon:#1eff00;--q-rare:#3a97ff;--q-epic:#b65cff;--q-legendary:#ff8000;--q-artifact:#e6cc80;--faction:#8a8a8a;--radius:6px;--ease-out:cubic-bezier(.22, 1, .36, 1);interpolate-size:allow-keywords;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:#ffd25e}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{line-height:1.2}.lang-switch a,.muted{color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.input-number{width:4.5em}.footer,.lang-switch a,.small{font-size:.85rem}.shell{flex-direction:column;min-height:100vh;display:flex}.lang-switch{border:1px solid var(--border);border-radius:var(--radius);gap:2px;margin:0;padding:2px;list-style:none;display:flex}.lang-switch a{border-radius:4px;padding:3px 9px;font-weight:700;text-decoration:none;display:block}.lang-switch a:hover{color:var(--text)}.lang-switch a[aria-current=true]{color:#1a1200;background:var(--accent)}.content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:24px}.footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:16px 24px;display:flex}.footer p{margin:0}.footer-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-left:auto;display:flex}.footer-nav{flex-wrap:wrap;gap:4px 16px;display:flex}#footer-controls:empty{display:none}.field{flex-direction:column;gap:4px;display:flex}.field label{font-size:.9rem;font-weight:600}.field-inline{flex-direction:row;align-items:center;gap:8px}input,select{font:inherit;color:var(--text);background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}input[aria-invalid=true]{border-color:var(--error)}.hint{color:var(--muted);margin:0;font-size:.85rem}.hint-error{color:var(--error)}.button{font:inherit;color:#1a1200;background:var(--accent);border-radius:var(--radius);cursor:pointer;border:0;padding:10px 18px;font-weight:700;text-decoration:none;display:inline-block}.button:hover{background:#ffc933}.button:disabled{cursor:progress;opacity:.7}.button-icon{align-items:center;gap:8px;padding:6px 14px 6px 8px;display:inline-flex}.button-icon img{flex:none}.start{max-width:480px;margin:calc(clamp(48px,32vh,380px)) auto 48px}.start h1{color:var(--accent);letter-spacing:.02em;margin:0 0 16px;font-size:2rem}.lead{color:var(--muted);margin:0 0 24px}.start-form{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:start;gap:16px;padding:20px;display:grid}.field-wide{grid-column:1/-1}.start-form .button{align-self:end}.login-bg{z-index:-1;opacity:0;transition:opacity .6s;position:fixed;inset:0}.login-bg-ready{opacity:1}.login-bg video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.login-bg:after{content:"";background:linear-gradient(#0c0d10d9,#0c0d108c 60%,#0c0d10cc);position:absolute;inset:0}.footer-toggle{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#15171cd9;padding:6px 12px;font-size:.85rem}.footer-toggle:hover{background:var(--panel-raised)}@media (prefers-reduced-motion:reduce){.login-bg{transition:none}}.notice{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);max-width:640px;margin:48px auto;padding:20px}.notice-error{border-color:var(--error)}.faction-horde{--faction:#c8302b}.faction-alliance{--faction:#2f6fd6}.char-header{background:linear-gradient(90deg,color-mix(in srgb,var(--faction) 28%,var(--panel)) 0,var(--panel) 60%);border:1px solid var(--border);border-left:4px solid var(--faction);border-radius:var(--radius);z-index:5;align-items:center;gap:16px;padding:16px 20px;display:flex;position:relative}.avatar{border:2px solid var(--faction);border-radius:50%}.char-title{flex:1;min-width:0}.char-title h1{margin:0;font-size:1.8rem}.surname{color:var(--muted);font-weight:400}.char-line{margin:2px 0 0}.ilvl{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.ilvl-value{color:var(--accent);font-size:2rem;font-weight:700;line-height:1}.ilvl-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem}.char-stats{align-items:flex-start;gap:28px;display:flex}.power{text-align:right;cursor:help;flex-direction:column;align-items:flex-end;display:flex}.power-value{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;line-height:1}.power-unit{color:var(--muted);font-size:1rem}.power-bar{background:var(--border);border-radius:3px;width:132px;height:6px;margin:6px 0 4px;overflow:hidden}.power-fill{background:var(--accent);transform-origin:0;border-radius:3px;height:100%;transition:width .45s ease-out,background-color .45s ease-out;animation:.9s ease-out .35s backwards power-grow;display:block}.power-tier-0,.power-tier-1{background:var(--loss)}.power-tier-4,.power-tier-5{background:var(--gain)}.power-rank{font-size:.85rem}@keyframes power-grow{0%{transform:scaleX(0)}}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:12px 0;display:flex}.notice-inline{border-left:3px solid var(--accent);background:var(--panel);margin:0 0 12px;padding:8px 12px}.toolbar-note{flex:1;margin:0}.sheet-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.sheet-layout[aria-busy=true]{opacity:.6}.sheet-layout.layout-wide{grid-template-columns:minmax(0,1fr)}@container upgrades (width>=600px){.list-columns{-moz-column-gap:24px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:24px;display:grid}.upgrades h2.visually-hidden+.list-columns>div>.panel-section{margin-top:0}}@container upgrades (width>=880px){.upgrades-body{-moz-column-gap:24px;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1fr) clamp(300px,34%,440px);align-items:start;column-gap:24px;display:grid}.data-note,.score-help,.upgrades-lists{grid-column:1}.upgrades-body>.detail{background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);grid-area:1/2/span 3;margin:0;padding:16px;position:sticky;top:16px;box-shadow:0 8px 24px #00000073}.upgrades-body>.detail .source{border:1px solid var(--border);background:#0b0c0f}}.layout-switch{background:var(--panel);border:1px solid var(--border);gap:2px;padding:2px}.layout-option,.layout-switch{border-radius:999px;display:inline-flex}.layout-option{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem}.layout-option:hover{color:var(--text)}.layout-option[aria-pressed=true]{color:var(--text);background:#464c59}.layout-glyph{grid-template-rows:1fr 1fr;gap:2px;width:18px;height:14px;display:inline-grid}.layout-glyph span{opacity:.8;background:currentColor;border-radius:1px}.layout-glyph-side,.layout-glyph-wide{grid-template-columns:3fr 2fr}.layout-glyph-side span:first-child{grid-row:1/span 2}.layout-glyph-wide span:first-child{grid-column:1/span 2}.sheet{background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--faction) 22%,#23262e) 0,var(--panel) 70%);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) minmax(120px,.8fr) minmax(0,1fr);grid-template-areas:"left.right""row row row";gap:12px;min-height:700px;padding:16px;display:grid;position:relative;overflow:hidden}.race-bg{pointer-events:none;position:absolute;inset:0}.race-bg img,.render{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.race-bg:after{content:"";background:linear-gradient(90deg,#0c0d10b3,#0c0d1026 30% 70%,#0c0d10b3),linear-gradient(#0000 60%,#0c0d10bf)}.race-bg:after,.render{position:absolute;inset:0}.render{-o-object-position:50% 30%;object-position:50% 30%;pointer-events:none}.slot-column,.slot-row{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;position:relative}.slot-column-left{grid-area:left}.slot-column-right{grid-area:right}.slot-row{flex-direction:row;grid-area:row;justify-content:center;gap:16px;margin-top:8px}.slot{border-radius:var(--radius);text-shadow:0 1px 2px #000,0 0 6px #000;align-items:center;gap:10px;min-height:56px;padding:4px;display:flex}.slot-right{text-align:right;flex-direction:row-reverse}.slot-bottom{flex:0 260px}.slot-selected{background:#3fd16b24;box-shadow:inset 0 0 0 1px #3fd16b99}.slot-icon{width:48px;height:48px;color:var(--q-poor);background:#050506;border:2px solid;border-radius:4px;flex:none;padding:1px}a.slot-icon{display:block}.slot-icon-button{cursor:pointer;font:inherit}.slot-icon-button:hover{filter:brightness(1.25);transform:scale(1.06)}.slot-icon img{border-radius:2px;width:100%;height:100%;display:block}.slot-icon-small{border-width:1px;width:32px;height:32px}.slot-empty .slot-icon{opacity:.6;border-style:dashed}.slot-text{flex-direction:column;flex:1;min-width:0;display:flex}.slot-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.link-button,.slot-name:hover{text-decoration:underline}.slot-meta,.slot-name-empty{color:var(--muted)}.slot-meta{gap:6px;font-size:.8rem;display:flex}.slot-right .slot-meta{justify-content:flex-end}.slot-meta span:first-child:not(.slot-label){color:var(--accent);font-weight:700}.upgrade-badge{font:inherit;color:#04140a;background:var(--gain);cursor:pointer;text-shadow:none;border:0;border-radius:999px;flex:none;padding:3px 9px;font-size:.8rem;font-weight:700}.upgrade-badge[aria-pressed=true]{box-shadow:0 0 0 2px #fff}.q-poor{color:var(--q-poor)}.q-common{color:var(--q-common)}.q-uncommon{color:var(--q-uncommon)}.q-rare{color:var(--q-rare)}.q-epic{color:var(--q-epic)}.q-legendary{color:var(--q-legendary)}.q-artifact{color:var(--q-artifact)}.upgrades{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;container:upgrades/inline-size}.upgrades h2{margin:0 0 12px;font-size:1.2rem}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.link-button{font:inherit;color:#ffd25e;cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem}.source-filter{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.source-toggle{color:var(--muted);font:inherit;cursor:pointer;background:#23262e;border:0;border-radius:999px;padding:3px 10px;font-size:.8rem;text-decoration:line-through}.source-toggle:hover{color:var(--text)}.source-toggle[aria-pressed=true]{color:var(--text);background:#464c59;text-decoration-color:#0000}.panel-section{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 0 6px;font-size:.8rem}.upgrades h2.visually-hidden+.list-columns>div:first-child>.panel-section{margin-top:0}.show-all{margin:8px 0 12px;display:block}.top-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.top-item{width:100%;font:inherit;color:var(--text);text-align:left;border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:6px;display:flex}.compare dd a,.detail-item h3 a,a.top-item{text-decoration:none}.top-item:hover,.top-item[aria-pressed=true]{background:var(--panel-raised)}.top-item[aria-pressed=true]{border-color:#3fd16b99}.top-text{flex-direction:column;flex:1;min-width:0;font-weight:600;display:flex}.top-text .muted{font-size:.8rem;font-weight:400}.gain{color:var(--gain);white-space:nowrap;font-weight:700}.detail{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.detail-slot{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:.8rem}.detail-item{align-items:center;gap:12px;display:flex}.detail-item h3{margin:0;font-size:1.05rem}.detail-item p{margin:2px 0 0;font-size:.85rem}.soon{color:var(--accent);background:#3a3220;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.75rem;font-weight:700}.stat-changes{border:1px solid var(--border);border-radius:var(--radius);background:#0b0c0f;margin:12px 0 0;padding:10px 12px}.stat-changes-title{color:var(--muted);margin:0 0 4px;font-size:.85rem}.stat-changes ul{margin:0;padding:0;list-style:none}.stat-changes p.muted{margin:0}.stat-gain{color:var(--gain)}.stat-loss{color:var(--loss)}.compare{gap:4px;margin:12px 0;display:grid}.compare div{grid-template-columns:80px 1fr;gap:8px;display:grid}.compare dt{color:var(--muted)}.compare dd{margin:0}.detail h4{margin:16px 0 8px;font-size:.95rem}.source{background:var(--panel-raised);border-radius:var(--radius);margin-bottom:8px;padding:10px 12px}.source div,.source p{margin:0}.source-head{flex-wrap:wrap;align-items:baseline;gap:6px;font-weight:600;display:flex}.source-kind{text-transform:uppercase;letter-spacing:.04em;background:#2d3340;border-radius:999px;padding:1px 7px;font-size:.75rem}.kind-quest{color:#ffd25e;background:#4a3b10}.kind-boss,.kind-rare{color:#ff9f94;background:#4a1f1f}.kind-crafting{color:#84e0d0;background:#123c3a}.source-note{color:var(--muted);font-size:.8rem;font-weight:400}.source-line{font-size:.9rem;margin-top:4px!important}.prerequisites{margin:4px 0 0;padding-left:20px}.source-origin{color:var(--muted);font-size:.75rem;margin-top:6px!important}.credits{max-width:860px;margin:0 auto}.prose h1{display:none}.prose h2{border-bottom:1px solid var(--border);margin-top:32px;padding-bottom:4px}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose td,.prose th{text-align:left;border:1px solid var(--border);padding:6px 10px}.prose code{background:var(--panel-raised);border-radius:3px;padding:1px 4px}.weights-page{max-width:860px;margin:0 auto}.weights-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:20px 24px}.weights-card h2{margin:0 0 4px}.weights-card h3{margin:28px 0 4px}.table-scroll{position:relative;overflow-x:auto}.weights-table{border-collapse:collapse;width:100%;margin:12px 0 8px}.weights-table td,.weights-table th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.weights-table thead th{color:var(--muted);font-size:.85rem;font-weight:600}.weights-table tbody th{font-weight:500}.weights-table .num{text-align:right;font-variant-numeric:tabular-nums}.weights-table .bar-col{width:35%;min-width:80px}.weight-bar{background:var(--accent);border-radius:4px;height:8px;display:block}.coverage-page{max-width:860px;margin:0 auto}.coverage-tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0;display:grid}.coverage-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.coverage-tile dt{color:var(--muted);font-size:.85rem}.coverage-tile dd{flex-direction:column;margin:4px 0 0;display:flex}.coverage-value{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700}.coverage-notes{color:var(--muted);margin:0 0 8px;padding-left:20px}.coverage-notes li+li{margin-top:4px}.coverage-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:20px 24px}.coverage-card h2{margin:0 0 4px}.coverage-table{border-collapse:collapse;width:100%;margin:12px 0 8px}.coverage-table td,.coverage-table th{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.coverage-table thead th{color:var(--muted);font-size:.85rem;font-weight:600}.coverage-table tbody th{font-weight:500}.coverage-table .num{text-align:right;font-variant-numeric:tabular-nums}.coverage-count{color:var(--muted);font-size:.75rem;display:block}.coverage-low{color:var(--loss);font-weight:600}.coverage-table .bar-col{width:30%;min-width:80px}.coverage-track{background:var(--panel-raised);height:8px}.coverage-bar,.coverage-track{border-radius:4px;display:block}.coverage-bar{background:var(--accent);height:100%}.button-secondary{color:var(--text);border:1px solid var(--accent);background:0 0;padding:8px 14px}.button-secondary:hover,.move-button,.weights-card .notice-inline{background:var(--panel-raised)}.weights-custom{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.weights-editing tbody tr.drop-before{box-shadow:inset 0 2px 0 0 var(--accent)}.weights-editing tbody tr.drop-after{box-shadow:inset 0 -2px 0 0 var(--accent)}.weights-editing tbody tr.dragging{opacity:.5}.move-controls{align-items:center;gap:4px;display:flex}.drag-handle{cursor:grab;color:var(--muted);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:1.1rem}.move-button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:4px 6px;font-size:.7rem;line-height:1}.move-button:disabled{opacity:.35;cursor:default}.input-weight{text-align:right;width:6.5em;padding:4px 6px}.weight-default{font-size:.75rem;display:block}.weights-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin:8px 0;display:flex}@media (width<=1100px){.sheet-layout{grid-template-columns:1fr}}@media (width<=720px){.content{padding:16px}.start-form{grid-template-columns:1fr}.char-header{flex-wrap:wrap}.char-title{flex-basis:calc(100% - 100px)}.char-title h1{font-size:1.4rem}.ilvl,.power{text-align:left;align-items:flex-start}.char-side,.char-stats{flex-direction:row-reverse}.char-side{flex-basis:100%;justify-content:space-between;align-items:center}.sheet{grid-template-columns:minmax(0,1fr);grid-template-areas:"left""right""row";min-height:0}.race-bg,.render{opacity:.25}.slot-right{text-align:left;flex-direction:row}.slot-right .slot-meta{justify-content:flex-start}.slot-row{flex-direction:column}.slot-bottom{flex:none}}.character-page>.char-header{view-transition-name:char-header;view-transition-class:glide}.character-page>.toolbar{view-transition-name:toolbar;view-transition-class:glide}.sheet-layout .sheet{view-transition-name:sheet-panel;view-transition-class:frame}.sheet-layout .race-bg{view-transition-name:sheet-background;view-transition-class:fill}.sheet-layout .render{view-transition-name:sheet-render;view-transition-class:fill}.sheet-layout .slot{view-transition-class:glide}.sheet-layout .slot-right{view-transition-class:glide-right}.sheet-layout .top-list .gain,.sheet-layout .upgrade-badge{view-transition-class:glide}.sheet-layout .upgrades{view-transition-name:upgrades-panel;view-transition-class:frame}.sheet-layout .source-filter{view-transition-name:source-filter;view-transition-class:glide}.sheet-layout #upgrades-title{view-transition-name:upgrades-title;view-transition-class:glide}.sheet-layout .list-columns>div:first-child>.panel-section{view-transition-name:heading-now;view-transition-class:glide}.sheet-layout .list-columns>div:last-child>.panel-section{view-transition-name:heading-soon;view-transition-class:glide}.sheet-layout .list-columns>div:first-child>p{view-transition-name:empty-now;view-transition-class:glide}.sheet-layout .list-columns>div:last-child>p{view-transition-name:empty-soon;view-transition-class:glide}.sheet-layout .click-hint,.sheet-layout .data-note,.sheet-layout .score-help,.sheet-layout .show-all,.sheet-layout .top-list>li{view-transition-class:glide}.sheet-layout .show-all{view-transition-name:show-all}.sheet-layout .click-hint{view-transition-name:click-hint}.sheet-layout .score-help{view-transition-name:score-help}.sheet-layout .data-note{view-transition-name:data-note}.sheet-layout .upgrades .detail{view-transition-name:upgrade-detail;view-transition-class:glide}::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(*){-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;height:100%}::view-transition-old(*){-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;height:100%}::view-transition-group(*.glide){overflow:clip}::view-transition-group(*.glide-right){overflow:clip}::view-transition-old(*.glide){opacity:0;animation:none}::view-transition-old(*.glide-right){opacity:0;animation:none}::view-transition-new(*.glide){width:auto;height:auto;animation:none}::view-transition-new(*.glide-right){width:auto;height:auto;animation:none}::view-transition-new(*.glide-right){left:auto;right:0}::view-transition-old(*.fill){opacity:0;animation:none}::view-transition-old(*.frame){opacity:0;animation:none}::view-transition-new(*.frame){-o-object-fit:fill;object-fit:fill;width:100%;height:100%;animation:none}::view-transition-new(*.fill){-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;animation:none}::view-transition-new(sheet-render){-o-object-position:50% 30%;object-position:50% 30%}.search-enter-active{transition:opacity .3s}.search-enter-from{opacity:0}.search-leave-active .start-form,.search-leave-active h1{animation:.38s cubic-bezier(.55,0,1,.45) both summon-out}.search-leave-active .start-form{animation-delay:40ms}.search-leave-active .login-bg{opacity:0;transition:opacity .38s}.character-page.summon-leave-active{transition:opacity .3s}.character-page.summon-leave-to{opacity:0}@keyframes summon-out{to{opacity:0;filter:blur(8px);transform:translateY(-28px)scale(1.04)}}.summon-enter-active .char-header{animation:.55s cubic-bezier(.22,1,.36,1) both summon-drop,1.1s ease-out both summon-glow}.summon-enter-active .toolbar{animation:.5s ease-out .15s both summon-fade}.summon-enter-active .sheet{animation:.6s cubic-bezier(.22,1,.36,1) .1s both summon-rise}.summon-enter-active .render{animation:.9s cubic-bezier(.22,1,.36,1) .2s both summon-render}.summon-enter-active .slot-column-left>.slot{animation:summon-from-left .45s cubic-bezier(.22,1,.36,1) calc(.25s + var(--i,0) * 40ms) both}.summon-enter-active .slot-column-right>.slot{animation:summon-from-right .45s cubic-bezier(.22,1,.36,1) calc(.25s + var(--i,0) * 40ms) both}.summon-enter-active .slot-row>.slot{animation:summon-rise .45s cubic-bezier(.22,1,.36,1) calc(.55s + var(--i,0) * 60ms) both}.summon-enter-active .upgrade-badge{animation:.35s cubic-bezier(.34,1.56,.64,1) .8s both summon-pop}.summon-enter-active .upgrades{animation:.6s cubic-bezier(.22,1,.36,1) .4s both summon-rise}.summon-enter-active .professions{animation:.6s cubic-bezier(.22,1,.36,1) .5s both summon-rise}@keyframes summon-drop{0%{opacity:0;filter:blur(6px);transform:translateY(-32px)scale(.97)}}@keyframes summon-glow{0%{box-shadow:0 0 #0000}35%{box-shadow:0 0 36px 2px color-mix(in srgb,var(--accent) 45%,transparent)}to{box-shadow:0 0 #0000}}@keyframes summon-fade{0%{opacity:0}}@keyframes summon-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes summon-render{0%{opacity:0;filter:brightness(1.8)blur(4px);transform:scale(1.08)}}@keyframes summon-from-left{0%{opacity:0;transform:translate(-32px)}}@keyframes summon-from-right{0%{opacity:0;transform:translate(32px)}}@keyframes summon-pop{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.search-leave-active *,.summon-enter-active *,.summon-leave-active *{animation:none!important}.character-page.summon-leave-active,.search-enter-active{transition:none}::view-transition-group(*){animation:none}}.favorites-anchor{position:relative}.favorites-anchor input{width:100%}.favorites-menu{z-index:10;background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);padding:6px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #00000073}.favorites-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:2px 8px 6px;font-size:.75rem;font-weight:600}.favorites-menu ul{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.favorites-menu li{align-items:center;gap:4px;display:flex}.favorite-link{min-width:0;color:var(--text);border-radius:4px;flex:1;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.favorite-link:focus-visible,.favorite-link:hover{background:var(--panel)}.favorite-avatar{border:1px solid var(--border);border-radius:50%;flex:none;width:36px;height:36px}.favorite-avatar-empty{background:var(--panel);color:var(--muted);place-items:center;font-weight:700;display:grid}.favorite-text{flex-direction:column;min-width:0;display:flex}.favorite-name{font-weight:600}.favorite-remove{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;font-size:1.2rem;line-height:1}.favorite-remove:focus-visible,.favorite-remove:hover{color:var(--loss);border-color:var(--border)}.char-name-row{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.favorite-toggle{border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;display:inline-flex}.favorite-toggle:hover{color:var(--text)}.favorite-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.char-side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.char-nav{gap:2px;display:flex}.char-nav-favorites{position:relative}.char-nav-button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.8rem;text-decoration:none;display:inline-flex}.char-nav-button:focus-visible,.char-nav-button:hover,.char-nav-button[aria-expanded=true]{color:var(--text);border-color:var(--border);background:var(--panel)}.char-nav-chevron{transition:rotate .15s}.char-nav-button[aria-expanded=true] .char-nav-chevron{rotate:180deg}.char-nav-menu{text-align:left;z-index:20;width:calc(min(300px,100vw - 32px));left:auto}.favorite-current{cursor:default;background:color-mix(in srgb,var(--accent) 10%,transparent)}.char-nav-empty{margin:6px 8px}.data-note{border-top:1px solid var(--border);margin:16px 0 0;padding-top:12px}.score-help{margin-top:16px}.score-help summary{cursor:pointer;color:var(--accent)}.score-help p{margin:8px 0 0}.score-example{border-collapse:collapse;width:100%;margin:8px 0 0}.score-example td,.score-example th{text-align:left;border-bottom:1px solid var(--border);padding:4px 6px}.score-example thead th{color:var(--muted);font-weight:600}.score-example tbody th{font-weight:400}.score-example .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.score-example tfoot td,.score-example tfoot th{border-bottom:0;font-weight:700}.admin-page{max-width:760px;margin:0 auto}.admin-login{max-width:420px}.admin-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin:20px 0;padding:16px 20px}.admin-card h2{margin-top:0}.admin-analytics{--analytics-accent:var(--accent);--analytics-fg:var(--text);--analytics-muted:var(--muted);--analytics-border:var(--border);--analytics-surface:var(--panel-raised);--analytics-radius:var(--radius)}.admin-analytics-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:16px;display:grid}.admin-analytics-wide{grid-column:1/-1}.admin-state-running{color:var(--accent)}.admin-state-done{color:var(--gain)}.admin-state-failed,.admin-state-interrupted{color:var(--error)}.admin-progress{grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin:12px 0;display:grid}.admin-progress label{color:var(--muted);grid-column:1/-1;font-size:.9rem}.admin-progress progress{appearance:none;background:#050506;border:0;border-radius:999px;width:100%;height:14px;overflow:hidden}.admin-progress progress::-webkit-progress-bar{background:#050506}.admin-progress progress::-webkit-progress-value{background:var(--accent);transition:width .45s ease-out}.admin-progress progress::-moz-progress-bar{background:var(--accent)}.admin-percent{font-variant-numeric:tabular-nums;font-weight:700}.admin-steps{margin:12px 0;padding:0;list-style:none}.admin-step{gap:8px;padding:3px 0;display:flex}.admin-step-mark{text-align:center;width:1.2em}.admin-step-done .admin-step-mark{color:var(--gain)}.admin-step-current .admin-step-mark{color:var(--accent)}.admin-step-failed .admin-step-mark{color:var(--error)}.admin-step-pending{color:var(--muted)}.admin-log{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;margin:8px 0 0;padding:10px 12px;font-size:.8rem;overflow:auto}.admin-step-choice{border:0;margin:0 0 12px;padding:0}.admin-step-choice legend{margin-bottom:6px;font-weight:700}.admin-check{align-items:flex-start;gap:8px;padding:4px 0;display:flex}.admin-check input{accent-color:var(--accent);margin-top:.3em}.admin-actions{align-items:center;gap:16px;margin-top:12px;display:flex}.admin-login .button{margin-top:8px}.admin-history{--history-ease:cubic-bezier(.22, 1, .36, 1);interpolate-size:allow-keywords;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:grid}.admin-history>li{border:1px solid var(--border);border-radius:var(--radius);min-width:0;transition:background-color .25s ease,border-color .25s ease,box-shadow .35s var(--history-ease)}.admin-history>li:hover{border-color:color-mix(in srgb,var(--border),var(--text) 15%)}.admin-history>li:has(>details[open]){background:var(--panel-raised);box-shadow:inset 3px 0 0 var(--accent),0 8px 24px #00000040;border-color:#f8b70059}.admin-history summary{border-radius:var(--radius);cursor:pointer;align-items:center;gap:16px;padding:12px 14px;list-style:none;transition:background-color .2s;display:flex}.admin-history summary:hover{background:#ffffff08}.admin-history summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-history summary::-webkit-details-marker{display:none}.admin-history-head{flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.admin-history-duration{color:var(--accent);background:#f8b7001f;border-radius:999px;padding:1px 9px;font-size:.85rem;font-weight:600}.admin-history-duration,.admin-history-totals{font-variant-numeric:tabular-nums}.admin-history-meta{flex-basis:100%;font-size:.9rem}.admin-history-chevron{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);transition:rotate .45s var(--history-ease),color .2s ease,background-color .2s ease,border-color .2s ease;border-radius:50%;flex:none;place-items:center;display:grid}.admin-history summary:focus-visible .admin-history-chevron,.admin-history summary:hover .admin-history-chevron{color:var(--accent);border-color:#f8b70080}.admin-history details[open] .admin-history-chevron{color:var(--accent);background:#f8b7001f;border-color:#f8b70080;rotate:180deg}.admin-history details::details-content{opacity:0;block-size:0;transition:block-size .4s var(--history-ease),opacity .3s ease,content-visibility .4s allow-discrete;overflow:clip}.admin-history details[open]::details-content{opacity:1;block-size:auto}.admin-history-body{padding:0 14px 12px;overflow-x:auto}.admin-history details[open] .admin-history-table tbody{animation:history-row-in .45s var(--history-ease) both;animation-delay:calc(80ms + var(--row,0) * 55ms)}@keyframes history-row-in{0%{opacity:0;translate:0 6px}}@media (prefers-reduced-motion:reduce){.admin-history summary,.admin-history-chevron,.admin-history>li{transition:none}.admin-history details::details-content{transition:none}.admin-history details[open] .admin-history-table tbody{animation:none}}.admin-history-steps{margin:8px 0 0;font-size:.9rem}.admin-history-table{border-collapse:collapse;width:100%;margin:0 0 4px;font-size:.9rem}.admin-history-table tbody tr{transition:background-color .15s}.admin-history-table tbody tr:hover{background:#ffffff08}.admin-history-table td,.admin-history-table th{text-align:left;border-bottom:1px solid var(--border);padding:4px 8px}.admin-history-table thead th{color:var(--muted);font-weight:600}.admin-history-table tbody th{font-weight:400}.admin-history-table .admin-history-step th{font-weight:600}.admin-history-table .admin-history-data th{color:var(--muted);padding-left:24px}.admin-history-table .num{text-align:right;font-variant-numeric:tabular-nums}.professions{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:16px;container:professions/inline-size}.node-grey,.node-locked,.professions[aria-busy=true],.step-done,.step-locked{opacity:.6}.professions h2{margin:0 0 12px;font-size:1.2rem}.profession-tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.profession-plain,.profession-tabs{display:contents}.profession-plain{list-style:none}.profession-tile{font:inherit;color:var(--text);text-align:left;background:var(--panel-raised);border-radius:var(--radius);border:1px solid #0000;padding:10px 12px;display:block}.profession-tab{border-color:var(--border);cursor:pointer}.profession-tab:hover{border-color:var(--muted)}.profession-plain .profession-tile{color:var(--muted);background:0 0}.profession-plain .profession-name{font-weight:400}.profession-plain .skill-bar{height:4px}.profession-plain .skill-bar::-webkit-progress-value{background:var(--muted)}.profession-plain .skill-bar::-moz-progress-bar{background:var(--muted)}.profession-tab[aria-selected=true]{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.profession{background:var(--panel-raised);border-radius:var(--radius);margin-top:8px;padding:12px}.profession p{margin:6px 0 0}.profession-detail>p:first-child{margin-top:0}.profession-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.profession-name{font-weight:700}.profession-skill{font-variant-numeric:tabular-nums;font-weight:700}.skill-bar{appearance:none;background:#050506;border:0;border-radius:999px;width:100%;height:8px;margin-top:6px;display:block;overflow:hidden}.skill-bar::-webkit-progress-bar{background:#050506}.skill-bar::-webkit-progress-value{background:var(--accent);transition:width .45s ease-out}.skill-bar::-moz-progress-bar{background:var(--accent)}.rank-note{border-left:3px solid var(--border);padding-left:8px;font-size:.9rem}.rank-ready{border-left-color:var(--gain)}@container professions (width>=760px){.profession-columns{-moz-column-gap:32px;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;column-gap:32px;display:grid}}.reagent-row,.shopping-list,.step-list{margin:0;padding:0;list-style:none}.step{border-top:1px solid var(--border);align-items:flex-start;gap:10px;padding:6px 0;display:flex}.step:first-child{border-top:0}.step-range{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;width:5.5em;padding-top:6px}.step-text{flex-direction:column;min-width:0;font-weight:600;display:flex}.shopping-list a,.step-text a{text-decoration:none}.shopping-list a:hover,.step-text a:hover{text-decoration:underline}.reagent-row,.step-meta{color:var(--muted);font-size:.8rem;font-weight:400}.step-learn{color:var(--accent);font-size:.8rem;font-weight:400}.reagent-row{flex-wrap:wrap;gap:2px 12px;display:flex}.shopping-list li{gap:8px;padding:3px 0;display:flex}.shopping-count{text-align:right;font-variant-numeric:tabular-nums;min-width:3em;font-weight:700}.vendor-tag{color:var(--muted);background:#23262e;border-radius:999px;padding:1px 8px;font-size:.75rem}.path-source{margin-top:12px}.step-name{-moz-column-gap:8px;flex-wrap:wrap;align-items:baseline;column-gap:8px;font-size:1.05rem;display:flex}.step-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.step-range[title]{cursor:help}.reagent-row li{align-items:center;gap:4px;display:flex}.reagent-icon{border:1px solid var(--border);background:#050506;border-radius:3px;flex:none;width:18px;height:18px;overflow:hidden}.reagent-icon img{width:100%;height:100%;display:block}.shopping-list li{box-sizing:border-box;align-items:center;gap:10px;min-height:52px;padding:5px 0}.shopping-list .slot-icon{width:40px;height:40px}.shopping-text{flex-direction:column;min-width:0;display:flex}.shopping-zones{color:var(--muted);font-size:.8rem}.shopping-list .shopping-zones a{color:inherit}.shopping-name{flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.gather-title{margin-top:0}.node-list{margin:0;padding:0;list-style:none}.node{-moz-column-gap:10px;border-top:1px solid var(--border);grid-template-columns:6.5em 32px minmax(0,1fr) minmax(0,1.2fr);align-items:center;column-gap:10px;padding:6px 0;display:grid}.node:first-child{border-top:0}.node-colour{cursor:help;align-items:center;gap:6px;font-size:.85rem;display:flex}.node-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.node-orange .node-dot{background:#ff8040}.node-yellow .node-dot{background:#ff0}.node-green .node-dot{background:#40c040}.node-locked .node-dot{border:1px solid var(--muted);background:0 0}.node-text{flex-direction:column;min-width:0;display:flex}.node-name{font-weight:600}.node-text a,.node-zones a{text-decoration:none}.node-text a:hover,.node-zones a:hover{text-decoration:underline}.node-zones{color:var(--muted);font-size:.85rem}.node-zones a{color:inherit}@container professions (width<=620px){.node{grid-template-columns:6.5em 32px minmax(0,1fr)}.node-zones{grid-column:3}}.admin-state,.admin-step,.admin-step-mark,.button,.char-nav-button,.favorite-remove,.favorite-toggle,.footer-toggle,.hint,.layout-option,.link-button,.move-button,.profession-tile,.slot,.source-toggle,.top-item,.upgrade-badge,a,input,select{transition:color .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,box-shadow .25s ease-out,opacity .2s ease-out,text-decoration-color .2s ease-out,transform .15s ease-out}.button:active:not(:disabled){transform:scale(.97)}.slot-icon-button{transition:filter .2s ease-out,transform .25s var(--ease-out)}.favorite-toggle[aria-pressed=true]>span{animation:.35s cubic-bezier(.34,1.56,.64,1) summon-pop;display:inline-block}.professions,.sheet-layout{transition:opacity .25s ease-out}.admin-card,.notice,.notice-inline,.profession-tiles,.professions>.profession,.weights-actions{animation:reveal .35s var(--ease-out) backwards}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}}.page-enter-active{transition:opacity .3s ease-out,transform .3s var(--ease-out)}.page-leave-active{transition:opacity .18s ease-out}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0}.swap-enter-active{transition:opacity .28s ease-out,transform .28s var(--ease-out)}.swap-leave-active{transition:opacity .12s ease-out}.swap-enter-from{opacity:0;transform:translateY(8px)}.swap-leave-to{opacity:0}.profession{transition:height .3s var(--ease-out);overflow:clip}.rows-enter-active,.rows-leave-active{min-height:0;transition:height .3s var(--ease-out),min-height .3s var(--ease-out),padding .3s var(--ease-out),margin .3s var(--ease-out),opacity .25s ease-out;overflow:clip}.rows-leave-active{pointer-events:none}.rows-enter-from,.rows-leave-to{opacity:0;height:0;padding-block:0}.top-list>.rows-enter-from,.top-list>.rows-leave-to{margin-bottom:-4px}.favorites-menu{transform-origin:top}.pop-enter-active{transition:opacity .2s ease-out,transform .25s var(--ease-out)}.pop-leave-active{transition:opacity .15s ease-out,transform .15s ease-out}.pop-enter-from,.pop-leave-to{opacity:0;transform:translateY(-6px)scale(.98)}.badge-enter-active{transition:opacity .3s ease-out,transform .35s cubic-bezier(.34,1.56,.64,1)}.badge-leave-active{transition:opacity .2s ease-out,transform .2s ease-out}.badge-enter-from,.badge-leave-to{opacity:0;transform:scale(.4)}.weight-row-move{transition:transform .4s var(--ease-out)}.weight-row-enter-active{transition:opacity .3s ease-out}.weight-row-enter-from{opacity:0}.weight-bar{transition:width .4s var(--ease-out)}.coverage-bar{transform-origin:0;animation:power-grow .6s var(--ease-out) backwards;animation-delay:calc(30ms * min(var(--i,0),12))}.admin-log-box summary,.score-help summary{cursor:pointer;list-style:none}.admin-log-box summary::-webkit-details-marker{display:none}.score-help summary::-webkit-details-marker{display:none}.admin-log-box summary:before,.score-help summary:before{content:"";width:.4em;height:.4em;transition:rotate .3s var(--ease-out);border-bottom:2px solid;border-right:2px solid;margin:0 .6em .1em .15em;display:inline-block;rotate:-45deg}.admin-log-box[open]>summary:before,.score-help[open]>summary:before{rotate:45deg}.admin-log-box::details-content{opacity:0;block-size:0;transition:block-size .35s var(--ease-out),opacity .3s ease-out,content-visibility .35s allow-discrete;overflow:clip}.score-help::details-content{opacity:0;block-size:0;transition:block-size .35s var(--ease-out),opacity .3s ease-out,content-visibility .35s allow-discrete;overflow:clip}.admin-log-box[open]::details-content{opacity:1;block-size:auto}.score-help[open]::details-content{opacity:1;block-size:auto}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
