:root{--bg: #14141a;--panel: #1c1c24;--raised: #24242e;--border: #2e2e3a;--border-bright: #3d3d4d;--text: #e8e6e3;--text-dim: #a9a6b3;--text-faint: #6e6b78;--accent: #3fbf5a;--gold: #f0b429;--rarity-common: #c8c8c8;--rarity-rare: #6ee79a;--rarity-unique: #f0b429;--kind-item: #f0b429;--kind-level: #5aa9e6;--kind-artifact: #b58cf0;--kind-enchant: #3fbf5a;--kind-build: #e8734a;--kind-rune: #d8c47a;--kind-mechanic: #6e6b78;--corner: 10px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45}#root{max-width:72rem;margin:0 auto;padding:16px}a,a:visited{color:var(--accent)}.app-main{display:flex;flex-direction:column;gap:12px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);padding:14px}.entity-row{display:flex;gap:12px;align-items:center;min-height:60px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.entity-row a{color:var(--text);font-weight:600;text-decoration:none}.entity-row a:hover{text-decoration:underline}.tag{display:inline-flex;align-items:center;min-height:26px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--text-dim);background:color-mix(in srgb,var(--text-dim) 14%,transparent);border:1px solid color-mix(in srgb,var(--text-dim) 35%,transparent)}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin:16px 0 8px}.section-header h2,.section-header h3{margin:0;color:var(--text)}.section-header .trailing{color:var(--text-faint);font-size:.8125rem}.search-field{width:min(100%,24rem);background:var(--raised);color:var(--text);border:1px solid var(--border-bright);border-radius:8px;padding:8px 12px;font-size:1rem}.search-field::placeholder{color:var(--text-faint)}.chip-row{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}button:where(:not(.d2 *)){background:var(--raised);color:var(--text);border:1px solid var(--border-bright);border-radius:8px;padding:6px 12px;font-size:.875rem;cursor:pointer}button:where(:not(.d2 *)):disabled{opacity:.45;cursor:default}button:where(:not(.d2 *))[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}input:where(:not(.d2 *)),select:where(:not(.d2 *)),textarea:where(:not(.d2 *)){background:var(--raised);color:var(--text);border:1px solid var(--border-bright);border-radius:8px;padding:6px 10px}.top-bar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:8px;background:var(--panel);border-bottom:1px solid var(--border);padding:8px max(16px,calc((100vw - 72rem)/2 + 16px));margin-bottom:0}.top-bar h1{margin:0;font-size:1.125rem;flex:1}.top-bar .menu-button{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.125rem;background:transparent;border-color:transparent;color:var(--text-dim)}.tab-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--panel);border-top:1px solid var(--border);z-index:40}.tab-bar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px calc(8px + env(safe-area-inset-bottom));color:var(--text-dim);text-decoration:none;font-size:.8125rem;font-weight:600}.tab-glyph{display:inline-flex;line-height:1}.tab-glyph svg{display:block}.tab-active,.tab-bar a.tab-active{color:var(--accent)}.app-main{padding-top:61px;padding-bottom:76px}.drawer-panel{position:fixed;top:0;left:0;bottom:0;width:min(320px,85vw);max-width:320px;background:var(--panel);border-right:1px solid var(--border);padding:12px 16px calc(12px + env(safe-area-inset-bottom));overflow-y:auto;z-index:51;display:flex;flex-direction:column;gap:12px}.drawer-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);text-decoration:none}.drawer-row .chevron{margin-left:auto;color:var(--text-faint)}.home-list{display:flex;flex-direction:column;gap:14px}.home-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);padding:12px;display:flex;flex-direction:column;gap:10px}.home-card-header{display:flex;align-items:center;gap:8px;min-height:36px;color:var(--text);text-decoration:none;font-weight:700}.home-card-header .preview{font-size:.8125rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card-header .count{font-size:.8125rem;font-weight:400;color:var(--text-faint)}.home-card-header .chevron{margin-left:auto;color:var(--text-faint)}.sprite-strip{display:flex;gap:8px;overflow-x:auto;padding:1px 0;scrollbar-width:none}.sprite-strip::-webkit-scrollbar{display:none}.sprite-tile{position:relative;display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;padding:6px;flex-shrink:0;background:var(--raised);border-radius:8px;text-decoration:none}.sprite-tile.press-preview{filter:brightness(1.18);transform:scale(.94)}.sprite-badge{position:absolute;right:2px;bottom:2px;font-size:16px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}.example-pill{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:999px;font-size:.8125rem;color:var(--text-dim);background:var(--raised);text-decoration:none}.example-pill:hover{color:var(--text)}.example-row{display:flex;gap:8px;flex-wrap:wrap}.recents-row{display:flex;flex-direction:column;gap:8px}.recents-head{display:flex;align-items:center;justify-content:space-between}.recents-title{margin:0;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.recents-clear{min-width:36px;min-height:36px;padding:0 8px;background:transparent;border-color:transparent;color:var(--text-faint)}.recents-strip{display:flex;gap:6px;overflow-x:auto;padding:2px 0;scrollbar-width:none}.recents-strip::-webkit-scrollbar{display:none}.recent-pill{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:999px;font-size:.8125rem;white-space:nowrap;color:var(--text);background:var(--raised);border:1px solid var(--border);cursor:pointer}.top-search{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.top-search .search-field{flex:1;width:auto;min-width:0;padding:6px 12px}.search-field:focus{outline:none;border-color:var(--accent)}.top-search .dock-clear{min-width:36px;min-height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-color:transparent;color:var(--text-faint);font-size:1rem}.chip-row button{border-radius:999px}.chip-selected{background:var(--accent);border-color:var(--accent);border-radius:999px;color:var(--bg)}.chip-disabled{opacity:.45}.segmented{display:flex;gap:4px;background:var(--raised);border:1px solid var(--border);border-radius:var(--corner);padding:4px;margin-bottom:12px}.segmented button{flex:1;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-weight:600}.segmented button[aria-selected=true]{background:var(--panel);border-color:var(--border);color:var(--text)}.progress-bar{height:6px;border-radius:999px;background:var(--raised);overflow:hidden;margin:6px 0}.progress-bar>div{height:100%;border-radius:999px;background:var(--accent)}.vault-row{display:flex;gap:12px;align-items:center;min-height:60px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:8px}.vault-row a{color:var(--text);font-weight:600;text-decoration:none}.vault-row a:hover{text-decoration:underline}.equip-empty{padding:14px;border:1px dashed var(--border-bright);border-radius:var(--corner);color:var(--text-dim)}.detail-scroll{padding:8px 16px 32px;margin:0 -16px}.detail-header{display:flex;flex-direction:column;align-items:center;gap:10px;margin:8px 0 16px;text-align:center}.detail-header h2{margin:0}.detail-header .detail-subtitle{margin:0;color:var(--text-dim);font-size:.8125rem}.detail-art{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;background:var(--raised);border-radius:14px}.detail-art img{width:96px;height:96px;object-fit:contain;border-radius:14px}.badge-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:0;margin:0;list-style:none}.drop-row{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.drop-row a{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.drop-row .drop-mission{font-weight:600}.note-badge{display:inline-flex;align-items:center;min-height:22px;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--text-dim);background:color-mix(in srgb,var(--text-dim) 14%,transparent);border:1px solid color-mix(in srgb,var(--text-dim) 35%,transparent)}.stack{display:flex;flex-direction:column;gap:12px}.button-prominent{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.dim-text{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-variant-numeric:tabular-nums}.tag{--tag-color: var(--text-dim);color:var(--tag-color);background:color-mix(in srgb,var(--tag-color) 14%,transparent);border:1px solid color-mix(in srgb,var(--tag-color) 35%,transparent);text-decoration:none;white-space:nowrap}a.tag:hover{filter:brightness(1.15)}.flow-tags{display:flex;flex-wrap:wrap;gap:6px}.section-header .trailing{font-variant-numeric:tabular-nums}.entity-row{color:var(--text);text-decoration:none;width:100%;text-align:left;font:inherit;cursor:default}a.entity-row,.entity-row.entity-button{cursor:pointer}a.entity-row:hover,.entity-row.entity-button:hover{border-color:var(--border-bright)}.entity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.entity-name{font-weight:600;font-size:.9375rem}.entity-sub{color:var(--text-dim);font-size:.8125rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entity-row .chevron{color:var(--text-faint);font-size:1.1rem}.row-trailing{display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);font-size:.8125rem;font-variant-numeric:tabular-nums;padding-right:4px}.row-trailing.accent{color:var(--accent)}.row-trailing.strong{font-weight:700}.stepper{display:inline-flex;align-items:center;gap:2px}.stepper button{width:40px;height:40px;padding:0;background:transparent;border-color:transparent;color:var(--text-dim);font-size:1.25rem;line-height:1}.stepper button:disabled{opacity:.35}.stepper-count{min-width:22px;text-align:center;font-weight:700;color:var(--text-faint);font-variant-numeric:tabular-nums}.stepper-count.owned{color:var(--accent)}.stars{display:inline-flex;align-items:center;gap:2px;color:var(--gold);font-size:.75rem}.star-count{color:var(--text-faint);margin-left:2px;font-variant-numeric:tabular-nums}.stars.large{font-size:1.5rem}.stars.large button{background:transparent;border:none;padding:0;width:44px;height:44px;color:var(--gold);font-size:1.5rem}.bar{width:100%;border-radius:999px;background:var(--raised);overflow:hidden}.bar>div{height:100%;border-radius:999px}.owned-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:.6875rem;font-weight:700;margin-right:8px;white-space:nowrap}.owned-badge.owned{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.owned-badge.substitute{color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}.checkbox{width:44px;height:44px;padding:0;background:transparent;border-color:transparent;color:var(--text-faint);font-size:1.375rem;line-height:1}.checkbox.on{color:var(--accent)}.checkbox:disabled{opacity:.6}.button-plain{background:transparent;border-color:transparent;color:var(--accent);font-weight:600;padding:6px 8px}.button-plain.dim{color:var(--text-dim)}.button-plain.faint{color:var(--text-faint)}.button-plain.destructive{color:#e05252}.button-bordered{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.button-bordered.gold{border-color:color-mix(in srgb,var(--gold) 50%,transparent);background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--gold)}.button-bordered.dim{border-color:var(--border-bright);background:var(--raised);color:var(--text-dim)}.linked-text{margin:0;color:var(--text-dim);font-size:.875rem;line-height:1.5}.linked-text.body{color:var(--text);font-size:.9375rem}.linked-text.caption{font-size:.8125rem}.text-link{color:var(--accent);text-decoration:none}.text-link:hover{text-decoration:underline}.markdown{display:flex;flex-direction:column;gap:8px}.markdown .md-heading{margin:4px 0 0;font-size:1rem;color:var(--text)}.markdown .md-subheading{margin:4px 0 0;font-size:.9375rem;color:var(--text)}.markdown .md-bullet{display:flex;gap:8px;align-items:flex-start}.markdown .md-dot{color:var(--text-faint)}.markdown .md-bullet .linked-text{display:inline}body.sheet-open{overflow:hidden}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:88vh;background:var(--bg);border:1px solid var(--border);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 720px){.sheet-backdrop{align-items:center}.sheet{border-radius:14px;max-height:80vh}}.sheet-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 8px;background:var(--panel);border-bottom:1px solid var(--border)}.sheet-head h2{margin:0;font-size:1rem;text-align:center}.sheet-leading{justify-self:start}.sheet-trailing{justify-self:end}.sheet-body{overflow-y:auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.list-row{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);text-align:left;font:inherit;cursor:pointer}.list-row:hover{border-color:var(--border-bright)}.list-row.destructive{color:#e05252;font-weight:600}.list-row .grow{flex:1;min-width:0}.list-row .sub{display:block;color:var(--text-dim);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-group{display:flex;flex-direction:column;gap:6px}.list-caption{color:var(--text-faint);font-size:.8125rem;margin:0}.chip-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0;flex-wrap:nowrap}.chip-row::-webkit-scrollbar{display:none}.chip-row button{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:999px;border:none;background:var(--raised);color:var(--text);font-weight:600;font-size:.8125rem;white-space:nowrap}.chip-row button .chip-count{color:var(--text-faint);font-weight:400;font-size:.6875rem;font-variant-numeric:tabular-nums}.chip-row button.chip-selected{background:var(--accent);color:var(--bg)}.chip-row button.chip-selected .chip-count{color:color-mix(in srgb,var(--bg) 70%,transparent)}.chip-row button.chip-disabled{color:var(--text-faint)}.result-group{display:flex;flex-direction:column;gap:8px}.result-group .entity-row{margin-bottom:0}.show-all{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;background:transparent;border:none;color:var(--accent);font-weight:600;font-size:.875rem}.results{display:flex;flex-direction:column;gap:14px}.no-results{display:flex;flex-direction:column;gap:8px}.no-results .title{font-weight:600}.no-results .hint{color:var(--text-dim);font-size:.875rem;margin:0}.did-you-mean{background:transparent;border:none;padding:0;min-height:44px;text-align:left;color:var(--text-dim);font-size:.9375rem}.did-you-mean strong{color:var(--accent)}.top-bar .back-button{display:inline-flex;align-items:center;gap:2px;height:44px;padding:0 8px 0 4px;background:transparent;border-color:transparent;color:var(--accent);font-size:1rem;font-weight:500}.top-bar .back-button .glyph{font-size:1.5rem;line-height:1}.top-bar .page-title{flex:1;margin:0;font-size:1.0625rem;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar .trailing-slot{min-width:44px;display:flex;justify-content:flex-end}.top-bar .trailing-slot a,.top-bar .trailing-slot button{color:var(--accent);text-decoration:none;font-weight:600;background:transparent;border-color:transparent}.top-bar .leading-slot{min-width:44px;display:flex}.detail-scroll{display:flex;flex-direction:column;gap:14px}.detail-header h2{font-size:1.25rem}.detail-label{margin:0 0 6px;font-size:.75rem;font-weight:700;color:var(--text-faint)}.detail-label.gold{color:var(--gold)}.stat-line{margin:0;color:var(--text-dim);font-size:.875rem}.stack-8{display:flex;flex-direction:column;gap:8px}.stack-6{display:flex;flex-direction:column;gap:6px}.stack-10{display:flex;flex-direction:column;gap:10px}.stack-4{display:flex;flex-direction:column;gap:4px}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.drop-row{display:flex;flex-direction:column;gap:6px;color:var(--text);text-decoration:none}.drop-row .drop-head{display:flex;align-items:center;gap:10px}.drop-row .drop-mission{font-weight:600;font-size:.9375rem}.drop-row .drop-mission.unknown{color:var(--text-dim)}.drop-row .spacer{flex:1}a.drop-row:hover{border-color:var(--border-bright)}.drop-rest{margin:0;color:var(--text-faint);font-size:.75rem}.found-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.found-toggle .checkbox{width:32px;height:32px}.collapse-head{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;background:transparent;border:none;padding:0;color:var(--text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.collapse-head .count{color:var(--text-faint);font-weight:400;font-size:.8125rem;font-variant-numeric:tabular-nums}.collapse-head .count.done{color:var(--accent)}.collapse-head .caret{margin-left:auto;color:var(--text-faint);font-size:.8125rem}.rune-card{display:flex;flex-direction:column;gap:8px}.rune-card .rune-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--kind-rune);color:var(--bg);font-size:.75rem;font-weight:700}.rune-card .rune-mission{font-weight:600;font-size:.9375rem}.rune-card .rune-landmark{color:var(--kind-rune);font-size:.875rem}.rune-card .rune-how{margin:0;color:var(--text-dim);font-size:.875rem}.rune-card .open-level{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--accent);font-weight:600;font-size:.8125rem;text-decoration:none}.more-row{display:flex;align-items:center;min-height:48px;padding:0 12px;background:var(--panel);border-radius:var(--corner);color:var(--text);text-decoration:none;font-size:.9375rem}.more-row .chevron{margin-left:auto;color:var(--text-faint)}.more-row.accent{color:var(--accent);font-weight:600;font-size:.875rem;gap:10px}.top-bar .page-search{flex:1;min-width:0;width:auto;height:36px}.build-card{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);text-decoration:none}.build-card:hover{border-color:var(--border-bright)}.build-card .build-name{font-weight:700;font-size:.9375rem}.build-card .build-trailing{margin-left:auto;font-size:.6875rem;font-weight:600;color:var(--kind-build);white-space:nowrap}.build-card .build-trailing.draft{color:var(--gold);font-weight:700}.build-card .sprite-row{display:flex;align-items:center;gap:6px}.compare-toggle{margin-left:auto;flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--raised);color:var(--text-faint);font-size:.8125rem;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.build-trailing+.compare-toggle{margin-left:8px}.compare-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 8px;border-radius:999px;border:1px solid currentColor;background:color-mix(in srgb,currentColor 14%,transparent);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer}.compare-chip span{opacity:.7;font-size:.875rem;line-height:1}.home-card-header.as-button{width:100%;background:none;border:none;padding:0;font:inherit;font-weight:700;text-align:left;cursor:pointer}.home-card-header .filter-state{margin-left:auto;font-size:.6875rem;font-weight:600;color:var(--text-faint);white-space:nowrap}.favorites-card.active .filter-state{color:var(--gold)}.chip-favorite{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.chip-favorite.chip-selected{border-color:var(--gold)}.score-average{font-size:1.5rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.score-row{display:flex;align-items:center;justify-content:flex-end;gap:6px}.score-select{height:36px;min-width:8rem;font-size:.8125rem;font-weight:600}.score-pip{width:36px;height:36px;padding:0;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}.score-pip.clear{display:inline-flex;align-items:center;justify-content:center;margin-right:2px;color:var(--text-faint)}.score-pip.clear:not(:disabled):hover{color:var(--text);border-color:var(--border-bright)}.score-pip.clear:disabled{opacity:.3}.upvote{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:44px;padding:6px 4px;font-size:.6875rem;line-height:1.1}.upvote.on{border-color:var(--accent);color:var(--accent)}.upvote:disabled{opacity:.4}.compare-link{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--accent);text-decoration:none}.compare-link .count{font-size:.8125rem;font-weight:700}.compare-link.disabled{color:var(--text-faint);cursor:default}.share-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;border:none;background:none;color:var(--text-dim);cursor:pointer}.share-button:hover{color:var(--text)}.favorite-button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0;border:none;background:none;color:var(--text-faint);font-size:1.125rem;line-height:1;cursor:pointer}.favorite-button:hover,.favorite-button.on{color:var(--gold)}.compare-chip:hover span{opacity:1}.compare-toggle:hover{border-color:var(--border-bright);color:var(--text)}.compare-toggle.on{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:700}.compare-toggle[aria-disabled=true]{opacity:.35;cursor:default}.build-card .byline{color:var(--text-faint);font-size:.6875rem}.build-card .summary{margin:0;color:var(--text-dim);font-size:.8125rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.publish-row{display:flex;align-items:center;gap:8px;padding:14px;background:var(--panel);border-radius:var(--corner);color:var(--accent);font-weight:600;text-decoration:none;font-size:.9375rem}.status-line{display:flex;align-items:center;gap:8px;color:var(--text-faint);font-size:.8125rem;justify-content:center;padding:8px 0}.segmented button[aria-selected=true]{background:var(--border-bright);border-color:transparent}.radar{width:100%;height:300px;display:block}.compare-pick{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 12px;background:var(--panel);border:none;border-radius:var(--corner);color:var(--text);font:inherit;font-size:.9375rem;text-align:left}.compare-pick:disabled{opacity:.5}.compare-pick .archetype{margin-left:auto;color:var(--kind-build);font-size:.6875rem}.compare-pick .mark{font-size:1.125rem}.equip-empty{display:flex;align-items:center;gap:10px;width:100%;padding:14px;background:var(--panel);border:1px dashed var(--border);border-radius:var(--corner);color:var(--text-dim);font:inherit;font-size:.9375rem;text-align:left;cursor:pointer}.equip-empty .chevron{margin-left:auto;color:var(--text-faint)}.slot-button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);font:inherit;font-size:.9375rem;text-align:left;cursor:pointer}.slot-button .change{margin-left:auto;color:var(--accent);font-size:.8125rem;font-weight:600}.slot-button .chevron{color:var(--text-faint)}.slot-button.plain{background:transparent;border:none;padding:0;min-height:0}.equipped-card{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner)}.gilded-line{color:var(--gold);font-size:.6875rem;font-weight:700}.roll-line{color:var(--text-dim);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diamonds{display:flex;flex-wrap:wrap;gap:6px}.diamond-slot{display:inline-flex;gap:2px;padding:2px 4px;background:var(--raised);border-radius:8px}.diamond{position:relative;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;cursor:pointer}.diamond .rot{position:absolute;width:21px;height:21px;border:1px solid var(--border);transform:rotate(45deg)}.diamond .rot.gilded{border-color:var(--gold)}.diamond.empty{cursor:default}.vault-copy{display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);min-height:60px}.vault-copy .copy-main{flex:1;display:flex;align-items:center;gap:12px;padding:10px 0 10px 12px;background:transparent;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;min-width:0}.vault-copy .copy-main .edit{color:var(--accent);font-size:.8125rem;font-weight:600;margin-left:auto;white-space:nowrap}.vault-copy .trash{width:44px;background:transparent;border:none;color:var(--text-faint);font-size:1.1rem;cursor:pointer}.progress-card{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--corner);color:var(--text);text-decoration:none}.progress-card .head{display:flex;justify-content:space-between;font-weight:700;font-size:.9375rem}.progress-card .head .count{color:var(--text-dim);font-variant-numeric:tabular-nums}.progress-card .head .count.done{color:var(--accent)}.progress-card .note{color:var(--text-faint);font-size:.8125rem}.axis-bar{display:flex;flex-direction:column;gap:4px}.axis-bar .head{display:flex;justify-content:space-between;font-size:.875rem;font-weight:600}.axis-bar .head .score{color:var(--text-faint);font-weight:400;font-variant-numeric:tabular-nums}.lines{display:flex;flex-direction:column;gap:8px}.lines .line{display:flex;gap:8px;align-items:flex-start;color:var(--text-dim);font-size:.875rem}.lines .dot{width:6px;height:6px;border-radius:50%;margin-top:7px;flex-shrink:0}.suggestion{display:flex;gap:10px;align-items:flex-start;font-size:.875rem}.suggestion .glyph{width:20px;flex-shrink:0;text-align:center}.disclosure{display:flex;flex-direction:column;gap:6px}.disclosure>summary{cursor:pointer;font-weight:600;font-size:.875rem;color:var(--text-dim);list-style:none;display:flex;align-items:center;gap:6px;min-height:32px}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"›";display:inline-block;color:var(--accent);transition:transform .15s;font-size:1.1rem}.disclosure[open]>summary:before{transform:rotate(90deg)}.disclosure.panelled{padding:12px;background:var(--panel);border-radius:var(--corner)}.disclosure.panelled>summary{color:var(--text)}.ledger{display:flex;flex-direction:column;gap:10px;padding-top:6px}.ledger .axis{display:flex;flex-direction:column;gap:3px}.ledger .axis-label{color:var(--text-faint);font-size:.75rem;font-weight:700}.ledger .entry{display:flex;gap:6px;font-size:.75rem;color:var(--text-dim)}.ledger .entry .pts{color:var(--accent);width:30px;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.stars-input{display:flex;align-items:center;gap:4px}.comment-menu{position:relative}.comment-menu .menu{position:absolute;right:0;top:34px;z-index:5;display:flex;flex-direction:column;min-width:160px;background:var(--raised);border:1px solid var(--border-bright);border-radius:8px;overflow:hidden}.comment-menu .menu button{background:transparent;border:none;border-radius:0;text-align:left;padding:10px 12px}.comment-menu .menu button:hover{background:var(--panel)}.tag-chip{display:inline-flex;align-items:center;height:28px;padding:0 8px;border-radius:999px;border:none;background:var(--raised);color:var(--text-dim);font-size:.6875rem;font-weight:600}.tag-chip.on{background:var(--accent);color:var(--bg)}.text-area,.text-input{width:100%;background:var(--raised);color:var(--text);border:1px solid transparent;border-radius:8px;padding:10px;font:inherit;font-size:.875rem}.text-area:focus,.text-input:focus{outline:none;border-color:var(--accent)}.text-area::placeholder,.text-input::placeholder{color:var(--text-faint);opacity:1}.text-area{resize:vertical;min-height:72px}.notice{margin:0;color:var(--text-faint);font-size:.6875rem;font-weight:600}.notice.plain{font-weight:400}.problem{margin:0;color:var(--kind-build);font-size:.8125rem}.sync-badge{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:999px;font-size:.6875rem;font-weight:700;white-space:nowrap}.drawer-account{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.drawer-account .glyph{font-size:1.5rem}.drawer-account .glyph.on{color:var(--accent)}.drawer-account .glyph.off{color:var(--text-faint)}.drawer-row .glyph{color:var(--accent);width:22px;text-align:center}.rule-title{margin:0;font-weight:700;font-size:.9375rem}.rule-body{margin:0;color:var(--text-dim);font-size:.875rem}.entity-row .entity-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;background:transparent;border:none;padding:0;font:inherit;text-align:left;cursor:pointer}.entity-row span.entity-main{cursor:default}a.entity-row:hover,.entity-row:has(a.entity-main:hover),.entity-row:has(.entity-button:hover){border-color:var(--border-bright)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.entity-row a.entity-main:hover{text-decoration:none}.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:12px 8px 4px}.welcome-logo{width:96px;height:96px;border-radius:22px}.welcome-banner{background:var(--gold);color:#1a1305;font-weight:700;font-size:.8125rem;padding:6px 12px;border-radius:999px}.welcome-title{margin:4px 0 0;font-size:2rem;letter-spacing:-.02em}.welcome-sub{margin:0;color:var(--text-dim);font-size:1.0625rem;line-height:1.5;max-width:420px}.welcome-store{display:inline-flex;align-items:center;gap:10px;margin-top:6px;background:#000;color:#fff;border:1px solid #444;text-decoration:none;padding:12px 20px;border-radius:12px;font-weight:600;font-size:1.0625rem}.welcome-store-text{text-align:left;line-height:1.2}.welcome-store-text small{display:block;font-weight:400;font-size:.75rem;color:#ccc;line-height:1}.welcome-continue{min-height:48px;padding:0 22px;font-size:1rem;border-radius:12px}.welcome-meta{margin:6px 0 0;font-size:.8125rem;color:var(--text-faint);line-height:1.5}.achievement-row{display:flex;align-items:flex-start;gap:10px;padding:8px 2px}.achievement-row .checkbox{margin-top:2px;flex-shrink:0}.achievement-name{font-weight:600;font-size:.875rem}.achievement-how{color:var(--text-dim);font-size:.8125rem;line-height:1.4}.achievement-hint{color:var(--text-faint);font-size:.75rem;line-height:1.4}.achievement-row .row-trailing{flex-shrink:0;font-variant-numeric:tabular-nums}.game-switch button{font-size:.8125rem}.game-switch button[aria-pressed=true]{background:var(--border-bright);border-color:transparent;color:var(--text)}.d2-boot{min-height:100vh;background:#063746}
