:root{--bg:#0a0e14;--surface:#121822;--border:#232b36;--text:#e4e9f0;--muted:#6b7686;--accent:#4fd69c;--accent-warm:#ff7f4d;--danger:#e0607a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0}main{max-width:1200px;min-height:100dvh;padding:calc(2.5rem + var(--safe-top)) calc(1.5rem + var(--safe-right)) calc(4rem + var(--safe-bottom)) calc(1.5rem + var(--safe-left));margin:0 auto}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.75rem;display:flex}.topbar h1{letter-spacing:.01em;margin:0;font-size:1.05rem;font-weight:600}.topbar h1 span{color:var(--muted);font-weight:400}.pulse{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.pulse-sep{opacity:.5;margin:0 .35rem}.dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pulse-ok .dot{background:var(--accent-warm);animation:2.4s ease-out infinite pulse}.pulse-error .dot{background:var(--danger)}@keyframes pulse{0%{box-shadow:0 0 #ff7f4d73}70%{box-shadow:0 0 0 6px #ff7f4d00}to{box-shadow:0 0 #ff7f4d00}}@media (prefers-reduced-motion:reduce){.pulse-ok .dot{animation:none}.sort-icon{transition:none}.refresh-spin,.tooltip-bubble{animation:none}}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex}.btn{font-family:var(--font-sans);cursor:pointer;transition:color .15s ease-out,border-color .15s ease-out,background-color .15s ease-out}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:2px}.btn-tab{color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.6rem .9rem;font-size:.875rem}.btn-tab:hover{color:var(--text)}.btn-tab.active{color:var(--text);border-bottom-color:var(--accent-warm)}.btn-ghost{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.72rem;font-weight:500;display:inline-flex}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent-warm);background:color-mix(in srgb, var(--accent-warm) 8%, transparent)}.btn-ghost:disabled{opacity:.4;cursor:default}table a:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px}.table-wrap{border:1px solid var(--border);border-radius:6px;overflow-x:hidden}.data-table{border-collapse:collapse;width:100%;font-size:.85rem;display:table}.card-list{display:none}.tag-filter{border-bottom:1px solid var(--border);background:var(--surface);border-top-left-radius:6px;border-top-right-radius:6px;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex}.tag-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;font-size:.7rem}.tag-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tag-chip{border:1px solid var(--border);min-height:28px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:0 .55rem;font-size:.78rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.tag-chip:hover{color:var(--text);border-color:#3a4452}.tag-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tag-chip[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:var(--accent);color:var(--text)}.tag-chip-name{text-transform:capitalize}.tag-chip-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem}.tag-chip[aria-pressed=true] .tag-chip-count{color:var(--accent)}.tag-clear{min-height:28px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0 .45rem;font-size:.78rem}.tag-clear:hover{text-decoration:underline}.tag-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:.5rem;font-size:.875rem;text-decoration:underline}.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-toolbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:flex-end;padding:.45rem .6rem;display:flex}.table-wrap>.table-toolbar:first-child{border-top-left-radius:6px;border-top-right-radius:6px}thead th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface);border-bottom:1px solid var(--border);padding:.65rem .75rem;font-size:.75rem;font-weight:500}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:color .15s ease-out,background-color .15s ease-out}thead th.sortable:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 60%, var(--bg))}thead th.sortable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:2px}thead th.sortable[data-sort=asc],thead th.sortable[data-sort=desc]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}thead th .th-label{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}thead th.num .th-label{justify-content:flex-end}.th-info{color:var(--muted);cursor:help;align-items:center;transition:color .15s ease-out;display:inline-flex}.th-info:hover{color:var(--text)}.sort-icon{opacity:.7;flex-shrink:0;transition:opacity .15s ease-out,color .15s ease-out}thead th.sortable:hover .sort-icon{opacity:1;color:var(--text)}thead th.sortable[data-sort=asc] .sort-icon,thead th.sortable[data-sort=desc] .sort-icon{opacity:1;color:var(--accent)}.sort-rank{min-width:1.1rem;height:1.1rem;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);font-variant-numeric:tabular-nums;border-radius:3px;justify-content:center;align-items:center;margin-left:.15rem;padding:0 .25rem;font-size:.6rem;font-weight:600;line-height:1;display:inline-flex}tbody td{border-bottom:1px solid var(--border);padding:.6rem .75rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface)}tbody td:not(.num){overflow-wrap:anywhere}.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.cell-stack{flex-direction:column;align-items:flex-end;line-height:1.3;display:flex}.cell-sub{color:var(--muted);font-size:.72rem;font-weight:400}table a{color:var(--text);border-bottom:1px solid var(--border);text-decoration:none}table a:hover{border-bottom-color:var(--accent-warm)}.card-title a{color:var(--text);border-bottom:1px solid var(--border);text-decoration:none}.card-title a:hover{border-bottom-color:var(--accent-warm)}.card-title a:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px;border-radius:2px}.min-profit{font-variant-numeric:tabular-nums}.min-profit-green{color:var(--accent);font-weight:600}.min-profit-orange{color:var(--accent-warm);font-weight:600}.min-profit-red{color:var(--danger);text-underline-offset:3px;cursor:help;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tooltip-wrap{align-items:center;display:inline-flex}.tooltip-bubble{border:1px solid var(--border);width:max-content;max-width:220px;color:var(--text);font-family:var(--font-sans);text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;pointer-events:none;z-index:1000;background:#1a2130;border-radius:6px;padding:.5rem .65rem;font-size:.72rem;font-weight:400;line-height:1.4;animation:.12s ease-out tooltip-fade-in;position:fixed;box-shadow:0 6px 16px #0006}@keyframes tooltip-fade-in{0%{opacity:0}to{opacity:1}}.tooltip-bubble:after{content:"";border:5px solid #0000;position:absolute;right:10px}.tooltip-bubble-above:after{border-top-color:#1a2130;top:100%}.tooltip-bubble-below:after{border-bottom-color:#1a2130;bottom:100%}.tooltip-bubble-wide{max-width:min(300px,100vw - 2rem);padding:.65rem .75rem}.parts-tooltip{flex-direction:column;gap:.65rem;display:flex}.parts-tooltip-part+.parts-tooltip-part{border-top:1px solid var(--border);padding-top:.65rem}.parts-tooltip-part-header{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.35rem;display:flex}.parts-tooltip-slug{color:var(--text);font-size:.74rem;font-weight:600}.parts-tooltip-part-total{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem}.parts-tooltip-fill{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.7rem;line-height:1.55;display:flex}.parts-tooltip-seller{color:var(--muted);overflow-wrap:anywhere;min-width:0}.parts-tooltip-price{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.empty-state{border:1px dashed var(--border);text-align:center;color:var(--muted);border-radius:6px;padding:2.5rem 1rem;font-size:.875rem}.empty-state.error{color:var(--danger);border-color:var(--danger)}@media (max-width:1260px){main{padding-top:calc(1.25rem + var(--safe-top));padding-bottom:calc(2.5rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left));padding-right:calc(1rem + var(--safe-right))}.topbar{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem}.tabs{width:100%}.btn-tab{flex:1;min-height:44px;padding:.75rem .5rem;font-size:.95rem}.btn-ghost{min-height:40px;padding:.5rem .85rem;font-size:.8rem}.tag-chip{white-space:nowrap;flex-shrink:0;min-height:36px;padding:0 .7rem;font-size:.85rem}.tag-clear{white-space:nowrap;flex-shrink:0;min-height:36px;padding:0 .55rem;font-size:.85rem}.tag-chips{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.table-toolbar{padding:.5rem .75rem}.data-table{display:none}.card-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card-sort-bar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.25rem;padding:.45rem .5rem;display:flex;overflow-x:auto}.card-sort-bar>span{flex-shrink:0}.card-sort{min-height:36px;color:var(--muted);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.25rem;padding:0 .5rem;font-size:.68rem;transition:color .15s ease-out,border-color .15s ease-out,background .15s ease-out;display:inline-flex}.card-sort:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 60%, var(--bg))}.card-sort:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.card-sort[aria-sort=ascending],.card-sort[aria-sort=descending]{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.card-sort[aria-sort=ascending] .sort-icon,.card-sort[aria-sort=descending] .sort-icon{opacity:1}.card{border-bottom:1px solid var(--border);padding:.75rem .85rem}.card-list .card:last-child{border-bottom:none}.card-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.card-title{min-width:0;color:var(--text);word-break:break-word;flex:1;font-size:.95rem;font-weight:500}.card-title a{display:inline-block}.card-highlight{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.card-highlight-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem}.card-highlight-value{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600}.card-meta{flex-wrap:wrap;gap:.5rem 1.25rem;margin:.5rem 0 0;display:flex}.card-meta-item{flex-direction:column;gap:.1rem;display:flex}.card-meta-item dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.62rem}.card-meta-item dd{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:.85rem}.empty-state{padding:2rem 1rem}}.cell-with-refresh{align-items:center;gap:.4rem;display:inline-flex}.refresh-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s ease-out,border-color .15s ease-out,background-color .15s ease-out;display:inline-flex}.refresh-btn:hover:not(:disabled){color:var(--text);border-color:var(--accent-warm);background:color-mix(in srgb, var(--accent-warm) 8%, transparent)}.refresh-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.refresh-btn:disabled{cursor:default}.refresh-btn-queued,.refresh-btn-in-progress{color:var(--accent-warm);border-color:var(--accent-warm)}.refresh-btn-done{color:var(--accent);border-color:var(--accent)}.refresh-spin{animation:.8s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}@media (max-width:1260px){.refresh-btn{width:34px;height:34px}}
