:root{color-scheme:dark;--bg:#0f1116;--surface:#181b23;--surface2:#222632;--border:#2c3140;--text:#e5e7eb;--muted:#8a92a4;--accent:#7dd3fc;--success:#86efac;--danger:#fca5a5;--curse:#b0a574;--ring-fix:#c4b5fd}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font:13px/1.35 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1180px;margin:0 auto;padding:10px 14px 48px}header.site{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:8px 14px;gap:12px}header.site h1{font-size:14px;margin:0;font-weight:600}header.site h1 a{color:var(--text)}header.site .who{color:var(--muted);font-size:12px}header.site button.link{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;padding:0 0 0 8px}header.site button.link:hover{color:var(--text);text-decoration:underline}.site-nav{display:flex;gap:14px;font-size:12px;flex:1 1;margin-left:14px}.site-nav,.site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--text);text-decoration:none}form.stack{gap:10px;max-width:360px}form.stack,label{display:flex;flex-direction:column}label{gap:3px;font-size:11px;color:var(--muted)}input[type=number],input[type=password],input[type=text],input[type=url]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font:inherit;width:100%}input:focus{outline:1px solid var(--accent);border-color:var(--accent)}button{background:var(--accent);color:#0b1020;border:0;border-radius:5px;padding:6px 12px;font-weight:600;cursor:pointer;font-size:13px}button.secondary{background:var(--surface2);color:var(--text)}button:hover{filter:brightness(1.1)}.error{color:var(--danger);margin-top:6px;font-size:12px}.build-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:8px 12px;margin-bottom:6px;transition:background .1s}.build-card:hover{background:var(--surface2);text-decoration:none}.build-card .title{font-weight:600;font-size:13px;margin:0;color:var(--text)}.build-card .meta{color:var(--muted);font-size:11px;display:flex;gap:10px;margin-top:1px}.build-card .progress{margin-top:6px;height:4px;background:var(--surface2);border-radius:2px;overflow:hidden}.build-card .progress>div{height:100%;background:var(--accent)}.build-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}.build-head .title-display,.build-head .title-edit{margin:0;font-size:17px;font-weight:600}.build-head .title-display{cursor:text;padding:0 2px;border-radius:3px}.build-head .title-display:hover{background:var(--surface2)}.build-head .title-edit{background:var(--surface);color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:1px 4px;width:auto;min-width:220px}.build-head .meta{color:var(--muted);font-size:11px}.build-head .danger-link{background:none;border:0;padding:0;margin:0;color:var(--danger);font:inherit;cursor:pointer;text-decoration:underline}.build-head .danger-link:hover{filter:brightness(1.2)}.section{display:grid;grid-template-columns:1fr;grid-gap:4px 16px;gap:4px 16px;margin-top:8px}.section.armor,.section.rings,.section.weapons{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.section-title{grid-column:1/-1;font-size:11px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-weight:600;margin:10px 0 2px;padding-bottom:3px;border-bottom:1px solid var(--border)}.slot{margin:4px 0 6px}.slot-head{font-size:12px;font-weight:600;color:var(--text);padding:2px 0 3px}.slot-head .sub{color:var(--muted);font-weight:400;margin-left:4px;font-size:11px}.rows{display:flex;flex-direction:column}.target-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:6px;gap:6px;align-items:center;padding:2px 0;font-size:12px}.target-row+.target-row{border-top:1px dashed rgba(44,49,64,.5)}.target-row .label{color:var(--text);line-height:1.3}.target-row .label.curse{color:var(--curse);font-style:italic}.target-row .label .kind{color:var(--muted);margin-left:4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.target-row .label .ring-fix{color:var(--ring-fix);margin-left:4px;font-size:10px}.target-row .range{font-size:10px;color:var(--muted);min-width:46px;text-align:right;white-space:nowrap}.target-row input[type=number]{width:56px;padding:1px 4px;font-size:12px;text-align:right}.target-row input[type=number]::placeholder{color:var(--muted);font-style:italic;font-size:10px}.target-row .input-cell{display:flex;align-items:center;gap:2px}.target-row .input-cell .clear{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:4px;width:18px;height:20px;padding:0;font-size:12px;line-height:1;cursor:pointer}.target-row .input-cell .clear:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.target-row .input-cell .clear:disabled{opacity:.25;cursor:default}.target-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);margin:0}.target-row .check-cell{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;min-width:64px;justify-content:flex-end}.target-row.have .label{color:var(--success)}.target-row .owner{color:var(--muted);font-size:10px}.target-row .dash{color:var(--muted);font-size:11px;min-width:56px;text-align:right}.flash{padding:6px 10px;border-radius:5px;margin-bottom:8px;font-size:12px}.flash.success{background:rgba(134,239,172,.08);color:var(--success);border:1px solid rgba(134,239,172,.3)}.flash.error{background:hsla(0,94%,82%,.08);color:var(--danger);border:1px solid hsla(0,94%,82%,.3)}.url-form{display:flex;gap:6px;margin-bottom:12px}.url-form input{flex:1 1}@media (max-width:640px){.section.armor,.section.rings,.section.weapons{grid-template-columns:1fr}}.split-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-gap:24px;gap:24px;align-items:start}.split-page .col-builds,.split-page .col-findings{min-width:0}@media (max-width:1100px){.split-page{grid-template-columns:1fr}}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:2px dashed var(--border);border-radius:10px;padding:32px 18px;margin-bottom:14px;background:var(--surface);color:var(--muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .12s}.drop-zone:hover{background:var(--surface2);color:var(--text);border-color:var(--muted)}.drop-zone.over{background:rgba(125,211,252,.12);border-color:var(--accent);border-style:solid;color:var(--text);transform:scale(1.01)}.drop-zone.found,.drop-zone.nothing,.drop-zone.processing{border-style:solid;color:var(--text);cursor:default;flex-direction:row;align-items:center;justify-content:center;gap:18px;padding:16px}.drop-zone.processing{border-color:var(--accent)}.drop-zone.found{border-color:var(--success);background:rgba(134,239,172,.06)}.drop-zone.nothing{border-color:var(--border);background:var(--surface2)}.drop-zone.found:hover,.drop-zone.nothing:hover,.drop-zone.processing:hover{background:inherit;transform:none}.drop-processing .result-found{color:var(--success)}.drop-processing .result-nothing{color:var(--muted)}.drop-zone .drop-preview{width:140px;height:140px;object-fit:cover;border-radius:6px;border:1px solid var(--border);background:#000;flex:0 0 auto}.drop-zone .drop-processing{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;min-width:0;flex:0 1 auto}.drop-zone .drop-processing .drop-main{font-size:14px}.drop-zone .drop-processing .drop-sub{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-zone .drop-processing .mini{margin-top:4px;padding:3px 10px;font-size:11px;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--muted)}.drop-zone .drop-processing .mini:hover{color:var(--text);border-color:var(--muted)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite;display:inline-block;vertical-align:-2px;margin-right:6px}@keyframes spin{to{transform:rotate(1turn)}}.drop-zone .drop-icon{color:var(--muted);margin-bottom:2px;transition:color .12s}.drop-zone.over .drop-icon,.drop-zone.uploading .drop-icon,.drop-zone:hover .drop-icon{color:var(--accent)}.drop-zone .drop-main{font-size:15px;font-weight:600;color:var(--text)}.drop-zone .drop-sub{font-size:12px;color:var(--muted)}.drop-zone .drop-sub u{-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:2px}.drop-zone .drop-hint{font-size:11px;color:var(--muted);opacity:.7;margin-top:4px;font-style:italic}.findings-feed{display:flex;flex-direction:column;gap:4px}.findings-feed .empty{color:var(--muted);font-size:12px;padding:10px 0}.findings-feed .handled-toggle{align-self:flex-start;margin:6px 0 2px;background:none;border:0;padding:2px 0;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;letter-spacing:.04em}.findings-feed .handled-toggle:hover{color:var(--text)}.finding-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:7px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:12px;transition:opacity .2s}.finding-row.handled{opacity:.45}.finding-row .finding-text{line-height:1.4}.finding-row .finding-text .ench{color:var(--text)}.finding-row .finding-text .ench .old{color:var(--danger);font-weight:600}.finding-row .finding-text .ench .new{color:var(--success);font-weight:600}.finding-row .finding-text .for-build{color:var(--muted)}.finding-row .finding-meta{display:flex;align-items:center;gap:6px;white-space:nowrap}.finding-row .finding-meta .ago{color:var(--muted);font-size:11px;margin-right:4px}.finding-row button.mini{padding:3px 8px;font-size:11px;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid transparent}.finding-row button.mini.primary{background:var(--accent);color:#0b1020}.finding-row button.mini.secondary{background:transparent;color:var(--muted);border-color:var(--border)}.finding-row button.mini.secondary:hover{color:var(--text);border-color:var(--muted)}.finding-row .status-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px 6px;border:1px solid var(--border);border-radius:3px}.finding-row.updated .status-tag{color:var(--success);border-color:var(--success)}.finding-row.dismissed .status-tag{color:var(--muted)}