:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#20201e;background:#f5f3ed;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #20201e;--muted: #75736d;--line: #ddd9cf;--paper: #fffef9;--orange: #f65d25;--orange-soft: #ffe1d2;--green: #1f7a4f;--red: #b53a2c}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f3ed}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(246,93,37,.25);outline-offset:2px}.boot-screen,.login-shell{min-height:100vh;display:grid;place-items:center}.boot-screen{gap:10px;color:var(--muted);align-content:center}.login-shell{padding:24px;background:#20201e}.login-card{width:min(430px,100%);padding:42px;border-radius:6px;background:var(--paper);box-shadow:20px 20px #f65d25}.brand-mark{width:58px;height:58px;display:grid;place-items:center;color:#fff;background:var(--orange);border-radius:4px;font-size:26px;font-weight:900;transform:rotate(-3deg)}.brand-mark.small{width:38px;height:38px;font-size:18px}.eyebrow{margin:22px 0 6px;color:var(--orange);font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em}.login-card h1{margin:0 0 28px;font-size:30px;letter-spacing:-.04em}.login-card form,.settings-form{display:grid;gap:16px}label{display:grid;gap:7px;color:#4d4b46;font-size:13px;font-weight:650}input,select{width:100%;height:44px;border:1px solid var(--line);border-radius:4px;padding:0 12px;color:var(--ink);background:#fff}input:focus,select:focus{border-color:var(--orange)}.form-error{margin:0;color:var(--red);font-size:13px}.primary-button,.secondary-button,.ghost-button,.icon-button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;text-decoration:none;transition:transform .15s ease,background .15s ease,opacity .15s ease}.primary-button{min-height:42px;padding:0 17px;border-radius:4px;color:#fff;background:var(--orange)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.disabled{pointer-events:none;opacity:.45}.secondary-button{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:var(--paper)}.ghost-button{min-height:38px;padding:0 12px;color:var(--ink);background:transparent}.icon-button{width:40px;height:40px;border-radius:50%;color:var(--ink);background:transparent}.icon-button:hover{background:#20201e0f}.icon-button.with-label{width:auto;border-radius:4px;padding:0 10px}.login-button{width:100%;margin-top:6px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.topbar{height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f5f3edf0;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand p{margin:0 0 1px;color:var(--muted);font:650 9px/1.2 ui-monospace,monospace;letter-spacing:.12em}.brand strong{font-size:17px;letter-spacing:-.02em}.topbar nav{display:flex;align-items:center;gap:4px}.main-content{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.hero-row .eyebrow{margin:0 0 7px}.hero-row h1{margin:0;font-size:clamp(28px,4vw,50px);line-height:1.05;letter-spacing:-.055em}.action-row{display:flex;align-items:center;gap:9px}.refresh-button{border:1px solid var(--line);border-radius:4px;background:var(--paper)}.alert-banner,.risk-banner,.matrix-warning-banner,.matrix-cap-banner{margin:0 0 18px;border-radius:5px;display:flex;align-items:center}.alert-banner{padding:12px 14px;gap:9px;color:var(--red);background:#fbe8e4}.alert-banner span{flex:1}.alert-banner button{border:0;background:transparent;color:inherit;cursor:pointer}.risk-banner{padding:17px;gap:13px;border:1px solid #e3b5aa;background:#fff1ed}.risk-banner div{display:grid;gap:2px}.risk-banner span{color:#7e4a40;font-size:13px}.matrix-warning-banner{padding:17px;gap:13px;border:1px solid #e1c08b;background:#fff7e7}.matrix-warning-banner div{display:grid;gap:2px}.matrix-warning-banner span{color:#785d32;font-size:13px}.matrix-cap-banner{padding:17px;gap:13px;border:1px solid #b8d8cb;background:#eef8f4}.matrix-cap-banner div{display:grid;gap:2px}.matrix-cap-banner span{color:#48685d;font-size:13px}.overview-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin-bottom:16px}.overview-grid article{min-height:184px;padding:22px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.progress-card{display:flex;flex-direction:column}.card-heading{display:flex;justify-content:space-between;gap:16px}.card-heading>div{display:grid;gap:3px}.card-heading span,.metric-card>span{color:var(--muted);font-size:12px}.card-heading b{font-size:17px}.status-pill{width:fit-content;height:27px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;font-size:11px;font-weight:800;background:#e9e7e0}.status-running,.status-queued{color:#99501f;background:var(--orange-soft)}.status-completed{color:var(--green);background:#dcefe4}.status-partial_completed{color:#8b561e;background:#f8e8c9}.status-risk_blocked,.status-failed{color:var(--red);background:#f7ded8}.progress-number{margin-top:auto;line-height:1}.progress-number strong{font-size:44px;letter-spacing:-.06em}.progress-number span{margin-left:3px;color:var(--muted);font-weight:700}.progress-track{height:7px;margin:12px 0;overflow:hidden;background:#e8e5dc}.progress-track i{height:100%;display:block;background:var(--orange);transition:width .4s ease}.progress-card footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.metric-card{display:flex;flex-direction:column}.metric-icon{width:35px;height:35px;display:grid;place-items:center;margin-bottom:auto;border-radius:4px}.metric-icon svg{width:18px}.metric-icon.orange{color:#9b3d1c;background:var(--orange-soft)}.metric-icon.ink{color:#fff;background:var(--ink)}.metric-card strong{margin-top:7px;font-size:31px;letter-spacing:-.04em}.metric-card small{margin-top:4px;color:var(--muted)}.worker-dot{width:11px;height:11px;margin:11px 0 auto;border-radius:50%;background:#bdb9af;box-shadow:0 0 0 5px #eeece6}.worker-dot.online{background:#2b9363;box-shadow:0 0 0 5px #dcefe4}.data-panel{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--paper)}.panel-header{min-height:92px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-header .eyebrow{margin:0 0 4px}.panel-header h2{margin:0;font-size:23px;letter-spacing:-.035em}.export-menu{display:flex;gap:7px}.data-tabs{min-height:48px;padding:0 22px;display:flex;align-items:stretch;gap:24px;border-bottom:1px solid var(--line)}.data-tabs button{padding:0;display:inline-flex;align-items:center;gap:7px;border:0;border-bottom:3px solid transparent;color:var(--muted);background:transparent;cursor:pointer;font-size:13px;font-weight:750}.data-tabs button.active{color:var(--ink);border-bottom-color:var(--orange)}.data-tabs span{min-width:24px;padding:2px 6px;border-radius:999px;color:var(--muted);background:#ece9e1;font:700 10px/1.4 ui-monospace,monospace}.collected-summary{min-height:54px;padding:0 22px;display:flex;align-items:center;gap:9px;color:#5f5b54;border-bottom:1px solid var(--line);background:#faf8f3;font-size:12px}.collected-summary svg{color:var(--orange)}.filter-row{padding:13px 22px;display:flex;align-items:end;gap:13px;border-bottom:1px solid var(--line);background:#faf8f3}.filter-icon{width:40px;height:40px;display:grid;place-items:center;color:var(--muted)}.filter-row label{min-width:180px;gap:3px}.filter-row label>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.filter-row select{height:38px;background:var(--paper)}.filter-result{margin-left:auto;height:38px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.ranking-table{width:100%}.ranking-head,.ranking-row{display:grid;grid-template-columns:72px minmax(240px,1.3fr) minmax(180px,1fr) minmax(160px,.7fr) 100px;align-items:center;gap:16px}.ranking-head{min-height:40px;padding:0 22px;color:var(--muted);border-bottom:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ranking-row{width:100%;min-height:88px;padding:12px 22px;border:0;border-bottom:1px solid #e9e6df;text-align:left;color:inherit;background:transparent;cursor:pointer}.ranking-row:hover{background:#faf7f1}.rank-number{width:38px;font:850 24px/1 ui-monospace,monospace;letter-spacing:-.08em}.rank-1,.rank-2,.rank-3{color:var(--orange)}.seller-cell{min-width:0;display:flex;align-items:center;gap:12px}.media-frame{display:flex;align-items:center;justify-content:center;overflow:hidden;color:#88847c;background:#e3e0d7}.media-frame img{width:100%;height:100%;display:block;object-fit:cover}.media-frame svg{width:28%;height:28%}.media-frame small{font-size:10px;font-weight:700}.media-avatar{width:47px;height:47px;flex:0 0 auto;border-radius:50%}.seller-cell>span:not(.media-frame){min-width:0;display:grid;gap:4px}.seller-cell b,.seller-cell small,.rank-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seller-cell b{font-size:14px}.seller-cell small,.rank-copy small{color:var(--muted);font-size:11px}.rank-copy{min-width:0;display:grid;gap:4px}.rank-copy b{font:800 17px/1 ui-monospace,monospace}.preview-stack{display:flex;align-items:center;min-height:42px}.media-preview{width:42px;height:42px;border:2px solid var(--paper);border-radius:4px;margin-left:-9px}.media-preview:first-child{margin-left:0}.preview-stack small{color:var(--muted)}.archive-summary{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:start;gap:2px 7px}.archive-summary b{font:800 13px/1.2 ui-monospace,monospace}.archive-summary small{color:var(--muted);font-size:10px}.coverage-dot{display:flex;align-items:center;gap:5px;color:#a15a2a;font-size:11px;font-weight:750}.coverage-dot.complete{color:var(--green)}.coverage-dot.partial{color:#9a5f16}.coverage-dot.collecting{color:#a15a2a}.coverage-dot.failed{color:var(--red)}.pagination{min-height:68px;padding:0 18px;display:flex;align-items:center;justify-content:center;gap:20px}.pagination span{color:var(--muted);font-size:12px}.empty-state{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);text-align:center}.empty-state svg{color:#aaa69c}.empty-state b{color:var(--ink)}.empty-state span{font-size:12px}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:50;background:#14141375;backdrop-filter:blur(4px)}.modal-backdrop{display:grid;place-items:center;padding:20px}.modal-card{width:min(490px,100%);border-radius:6px;overflow:hidden;background:var(--paper);box-shadow:0 24px 80px #00000038}.modal-card>header,.seller-drawer>header{min-height:68px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-card h2,.seller-drawer h2{margin:0;font-size:20px;letter-spacing:-.03em}.settings-form,.help-content{padding:22px}.switch-row{grid-template-columns:1fr auto;align-items:center;padding:14px;border:1px solid var(--line);border-radius:4px}.switch-row span{display:grid;gap:3px}.switch-row small{color:var(--muted);font-weight:400}.switch-row input{width:42px;height:22px;accent-color:var(--orange)}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.help-content{display:grid;gap:6px}.help-content>div{display:grid;grid-template-columns:28px 1fr;gap:11px;padding:13px 0;border-bottom:1px solid #e8e5dd}.help-content>div:last-child{border-bottom:0}.help-content svg{color:var(--orange)}.help-content p{margin:0;display:grid;gap:4px}.help-content span{color:var(--muted);font-size:12px;line-height:1.55}.drawer-backdrop{display:flex;justify-content:flex-end}.seller-drawer{width:min(650px,100%);height:100%;overflow:auto;overscroll-behavior:contain;background:var(--paper);box-shadow:-20px 0 60px #0000002e}.seller-drawer>header{position:sticky;top:0;z-index:2;min-height:82px;background:var(--paper)}.seller-drawer .eyebrow{margin:0 0 4px}.drawer-loading{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.drawer-body{padding:22px;display:grid;gap:28px}.seller-identity{display:flex;align-items:center;gap:14px}.seller-identity>.media-avatar{width:64px;height:64px}.seller-identity>div{display:grid;gap:7px}.seller-identity p{margin:0;color:var(--muted);font-size:12px}.seller-introduction{margin:-10px 0 0;padding:14px 16px;color:#57544e;border-left:3px solid var(--orange);background:#faf7f1;font-size:13px;line-height:1.65}.drawer-body h3{margin:0 0 12px;font-size:14px}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.fact-grid>div{min-width:0;padding:11px;display:grid;gap:5px;border:1px solid #e8e5dd;border-radius:4px}.fact-grid span{color:var(--muted);font-size:10px}.fact-grid b{overflow:hidden;font:800 14px/1.2 ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.certification-row{margin-top:9px;display:flex;flex-wrap:wrap;gap:6px}.certification-row span{padding:5px 8px;display:inline-flex;align-items:center;gap:4px;color:#356354;border-radius:999px;background:#e7f0eb;font-size:10px;font-weight:750}.coverage-note{margin:10px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.state-grid>div{padding:10px;display:flex;justify-content:space-between;gap:10px;border:1px solid #e8e5dd;border-radius:4px;font-size:11px}.state-grid b{color:var(--muted)}.state-grid .field-available{color:var(--green)}.state-grid .field-pending{color:#9c592a}details{border:1px solid var(--line);border-radius:4px}summary{padding:12px;cursor:pointer;font-size:12px;font-weight:750}pre{max-height:320px;margin:0;padding:12px;overflow:auto;border-top:1px solid var(--line);background:#f3f1eb;font-size:10px;white-space:pre-wrap}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading span{min-width:28px;height:23px;padding:0 7px;display:grid;place-items:center;border-radius:999px;color:var(--muted);background:#ece9e1;font-size:11px}.detail-coverage{margin:-6px 0 10px;color:var(--muted);font-size:10px}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.item-grid article{overflow:hidden;border:1px solid var(--line);border-radius:4px}.media-item{width:100%;aspect-ratio:1.55;flex-direction:column;gap:7px;background:#e8e5dc}.item-grid article>div{padding:10px;display:grid;gap:4px}.item-grid b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.item-grid p,.review-list p{margin:0;color:var(--muted);font-size:11px}.item-tags,.item-metrics{display:flex;flex-wrap:wrap;gap:5px}.item-tags span,.item-metrics span{padding:3px 6px;border-radius:999px;background:#efede7;color:#68645c;font-size:9px}.item-description{display:-webkit-box;overflow:hidden;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.review-list{display:grid;gap:7px}.review-list article{padding:12px;border:1px solid var(--line);border-radius:4px}.review-list article>div{display:flex;justify-content:space-between;margin-bottom:7px}.review-list b{font-size:11px}.review-list time{color:var(--muted);font-size:10px}.review-list p{line-height:1.55}.archive-limit{margin:0 0 10px;color:var(--muted);font-size:10px;line-height:1.5}.load-more-button{width:100%;min-height:42px;margin-top:9px;border:1px solid var(--line);border-radius:4px;color:var(--ink);background:#faf8f3;cursor:pointer;font-size:11px;font-weight:750}.load-more-button:hover{border-color:#c9c4b8;background:#f5f1e8}.empty-compact{padding:24px;color:var(--muted);border:1px dashed var(--line);text-align:center;font-size:12px}@media(max-width:1050px){.overview-grid{grid-template-columns:1fr 1fr}.ranking-head,.ranking-row{grid-template-columns:60px minmax(220px,1.3fr) minmax(150px,1fr) 120px}.ranking-head span:nth-child(4),.ranking-row>span:nth-child(4){display:none}.ranking-head.collected-view,.ranking-row.collected-row{grid-template-columns:60px minmax(190px,1.2fr) minmax(140px,1fr) minmax(130px,.7fr) 100px}.ranking-head.collected-view span:nth-child(4){display:block}.ranking-row.collected-row>span:nth-child(4){display:grid}}@media(max-width:720px){.topbar{height:62px;padding:0 15px}.topbar .with-label span{display:none}.topbar .with-label{width:40px;padding:0;border-radius:50%}.fact-grid{grid-template-columns:1fr 1fr}.main-content{width:min(100% - 24px,1480px);padding-top:30px}.hero-row{align-items:flex-start;flex-direction:column}.hero-row h1{font-size:32px}.action-row{width:100%}.action-row .primary-button,.action-row .secondary-button{flex:1}.overview-grid{grid-template-columns:1fr 1fr}.overview-grid article{min-height:150px;padding:16px}.progress-card{grid-column:1 / -1;min-height:180px!important}.worker-card{grid-column:1 / -1;min-height:128px!important}.panel-header{min-height:76px;padding:15px}.data-tabs{min-height:48px;padding:0 15px;gap:20px}.collected-summary{min-height:50px;padding:0 15px}.filter-row{padding:12px;display:grid;grid-template-columns:1fr 1fr}.filter-icon,.filter-result{display:none}.filter-row label{min-width:0}.ranking-head{display:none}.ranking-row{min-height:104px;grid-template-columns:42px 1fr auto;gap:8px;padding:12px}.ranking-row.collected-row{grid-template-columns:42px 1fr auto}.rank-number{width:32px;font-size:21px}.seller-cell>img,.seller-cell>i{width:42px;height:42px}.rank-copy{grid-column:2 / -1;padding-left:54px;margin-top:-28px}.collected-row .archive-summary{grid-column:2 / -1;padding-left:54px;display:flex!important;gap:5px}.coverage-dot{grid-column:3;grid-row:1}.pagination{gap:7px;justify-content:space-between}.pagination .ghost-button{min-height:44px}.item-grid,.state-grid{grid-template-columns:1fr}.login-card{padding:28px;box-shadow:10px 10px 0 var(--orange)}}@media(max-width:420px){.overview-grid{grid-template-columns:1fr}.progress-card,.worker-card{grid-column:auto}.metric-card{min-height:128px!important}.brand p,.icon-only-mobile span{display:none}.icon-only-mobile{width:40px;padding:0}}
