:root{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;color:#1f2937;background:#f3f5f8}body{margin:0}.catchup-shell{min-height:100vh;display:flex}.catchup-nav{width:184px;flex:none;background:#fff;border-right:1px solid #e6eaf0;padding:18px 12px;color:#657084}.catchup-brand{font-weight:800;color:#172033;font-size:15px;margin:0 4px 24px}.catchup-brand svg{color:#f0b429;margin-right:7px}.catchup-nav small{display:block;text-transform:uppercase;font-size:10px;color:#9aa4b2;margin:20px 8px 8px}.catchup-nav a,.catchup-nav button,.catchup-nav span{display:block;width:100%;border:0;background:none;text-align:left;padding:10px 12px;border-radius:7px;color:#657084;font-size:13px;text-decoration:none}.catchup-nav .nav-current{background:#eaf3ff;color:#1976d2;font-weight:700}.catchup-nav em{float:right;font-style:normal;font-size:9px;color:#1976d2}.catchup-main{width:min(1420px,calc(100vw - 184px));padding:24px 28px 44px;margin:auto}.catchup-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.catchup-top h1{font-size:22px;margin:0 0 5px;color:#172033}.catchup-top h1 small{font-size:12px;color:#738095;font-weight:400;margin-left:8px}.catchup-top p,.candidate-card header p,.watch-card header p{font-size:12px;color:#758196;margin:0}.snapshot{font-size:12px;font-weight:500;background:#fff8e7;border:1px solid #f4d795;color:#9c6811;padding:9px 12px;border-radius:7px;height:max-content}.snapshot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#faad14;margin-right:5px}.leader-card,.rule-strip,.candidate-card,.watch-card{background:#fff;border:1px solid #e1e7ef;border-radius:10px;margin-bottom:14px;box-shadow:0 1px 2px #15223808}.leader-card{padding:15px}.search-line{display:flex;align-items:center;gap:8px}.search-line label{font-weight:700;font-size:13px;white-space:nowrap}.search-line input,.create-pool input{height:34px;border:1px solid #d8e0ea;border-radius:6px;padding:0 10px;min-width:290px;outline-color:#1890ff}.primary,.create-pool button{height:34px;border:0;border-radius:6px;background:#1890ff;color:#fff;padding:0 14px;cursor:pointer}.search-results{display:flex;gap:8px;margin-top:9px}.search-results button{background:#f6f9fc;border:1px solid #dfe7f0;border-radius:6px;text-align:left;padding:8px 12px;cursor:pointer}.search-results strong,.search-results span,.search-results small{display:block}.search-results span{color:#6e7c90;font-size:12px;margin-top:2px}.search-results small{color:#9aa5b5;font-size:11px;margin-top:4px}.leader-summary{border-top:1px solid #edf0f4;margin-top:14px;padding-top:14px;display:grid;grid-template-columns:200px 180px 1fr;gap:18px;align-items:center}.leader-summary>div>strong{font-size:17px}.leader-summary>div>span{font:12px ui-monospace,monospace;margin-left:7px;color:#64748b}.leader-summary>div>small{display:block;font-size:11px;color:#8995a7;margin-top:5px}.leader-themes label,.leader-sectors label{display:block;font-size:11px;color:#8793a6;margin-bottom:6px}.leader-themes b,.leader-sectors button,.candidate-row i{border:0;border-radius:4px;padding:3px 7px;margin:0 4px 4px 0;font-size:11px;background:#f0f5ff;color:#3976be}.leader-sectors button{cursor:pointer;color:#758196;background:#f4f6f8}.leader-sectors button.selected{color:#1677ff;background:#e6f4ff}.leader-sectors svg{font-size:9px;margin-right:2px}.rule-strip{padding:13px 15px}.rule-strip>div:first-child{display:flex;align-items:baseline;gap:9px}.rule-strip strong{font-size:14px}.rule-strip span{font-size:11px;color:#8390a1}.rule-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.rule-tags button{border:1px solid #ffd2d2;background:#fff8f8;color:#d94a4a;border-radius:16px;padding:5px 9px;font-size:12px;cursor:pointer}.rule-tags button b{font-size:10px;margin-left:3px}.rule-tags button.active{background:#e94a4a;color:#fff;border-color:#e94a4a}.rule-tags button.unavailable{color:#a2aab6;background:#f7f8fa;border-color:#e5e8ec;cursor:not-allowed}.ten-switch{font-size:12px;color:#4c5d71;display:block;margin-top:11px}.candidate-card header,.watch-card header{padding:14px 15px;border-bottom:1px solid #e9edf2;display:flex;justify-content:space-between;gap:12px}.candidate-card h2,.watch-card h2{margin:0 0 4px;font-size:15px}.candidate-card h2 small{font-size:11px;color:#8290a1;font-weight:400}.pool-select label{font-size:11px;color:#8492a3;margin-right:4px}.pool-select select{border:1px solid #dce3eb;border-radius:5px;padding:5px;background:#fff;color:#334155}.candidate-table{overflow:auto}.candidate-head,.candidate-row{display:grid;grid-template-columns:1.05fr 1.65fr 1fr .82fr .86fr 1.35fr .56fr;min-width:1030px;gap:12px;align-items:center}.candidate-head{background:#f7f9fb;color:#748195;padding:9px 15px;font-size:11px}.candidate-row{padding:11px 15px;border-top:1px solid #edf0f4;font-size:12px}.candidate-row:hover{background:#fbfdff}.candidate-row strong,.candidate-row small,.candidate-row em{display:block}.candidate-row strong{color:#263445}.candidate-row small{font-size:10px;color:#8b97a7;margin-top:3px;line-height:1.35}.candidate-row em{font-style:normal;color:#9a7b45;font-size:10px;margin-top:4px}.score{display:inline-flex;background:#fff1f0;color:#e5484d;border-radius:4px;padding:3px 6px;margin-right:6px}.candidate-row i{display:inline-block;background:#ecf5ff;color:#3976be;font-style:normal}.pending{color:#9ca6b4!important}.stale{font-size:11px;color:#a56812!important}.add-watch{border:1px solid #f0c66a;background:#fff9ea;color:#a56c00;border-radius:5px;padding:6px 7px;cursor:pointer;font-size:11px}.watch-card{border-color:#f0d289;background:#fffdf7}.watch-card header{border-color:#f4e5b9}.watch-card header p svg{color:#e0a226}.create-pool{display:flex;gap:7px}.create-pool input{min-width:170px;height:31px}.create-pool button{height:31px;background:#d99a21}.watch-pools{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:14px}.watch-pool{border:1px solid #eadfbf;background:#fff;border-radius:8px;padding:11px}.watch-pool.selected{box-shadow:0 0 0 2px #f5d77e}.pool-name{background:none;border:0;padding:0;text-align:left;cursor:pointer}.pool-name strong{font-size:13px;color:#614819}.pool-name span{font-size:11px;color:#a4823c;margin-left:6px}.watch-pool textarea{display:block;width:100%;min-height:38px;resize:vertical;border:0;border-bottom:1px dashed #eadcb8;background:transparent;margin:8px 0;padding:3px 0;font:11px inherit;color:#8b7951}.watch-pool ul{list-style:none;margin:0;padding:0}.watch-pool li{position:relative;border-top:1px solid #f4eddd;padding:7px 25px 7px 0}.watch-pool li b,.watch-pool li span,.watch-pool li small{display:block}.watch-pool li span,.watch-pool li small{font-size:10px;color:#917c49;margin-top:2px}.watch-pool li button{position:absolute;right:0;top:9px;border:0;color:#b99034;background:none;cursor:pointer}.pool-empty{font-size:11px;color:#a68b4b;padding:12px 0 3px}@media(max-width:850px){.catchup-nav{display:none}.catchup-main{width:100%;padding:16px}.catchup-top,.leader-summary{display:block}.snapshot{display:inline-block;margin-top:8px}.leader-summary>div{margin-top:10px}.search-line input{min-width:0;flex:1}}.catchup-shell.catchup-embedded{min-height:calc(100vh - 110px)}.catchup-shell.catchup-embedded .catchup-main{width:min(1420px,100%);margin:0 auto}.candidate-card{border-radius:8px}.candidate-card header{padding:12px 15px}.candidate-head,.candidate-row{grid-template-columns:1.25fr .42fr .88fr 1.48fr 1.48fr .52fr .72fr .76fr .46fr;min-width:1020px;gap:8px}.candidate-head{padding:8px 15px}.candidate-row{min-height:68px;padding:8px 15px}.candidate-row>div:first-child strong{font-size:13px}.candidate-row>div:first-child small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.score-cell,.sector-cell{justify-self:start}.candidate-row .score{margin:0}.chart-pending{min-height:38px;display:flex;align-items:center;width:100%;padding-left:10px;border-left:2px solid #e6eaf0;color:#99a4b3;font-size:10px;white-space:nowrap}.price-cell{padding-left:0}.price-cell strong{font-size:13px;font-variant-numeric:tabular-nums}.candidate-row .stale{white-space:nowrap}.candidate-row>div:nth-child(8) small{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-watch{min-width:54px;padding:6px 4px}:root{font-family:Inter,Microsoft YaHei,Arial,sans-serif;color:#2a303b;background:#f5f6f8}*{box-sizing:border-box}body{margin:0;min-width:1200px;background:#f5f6f8}button{font:inherit;cursor:pointer}.desktop-app{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:2;width:236px;height:100vh;padding:0 13px 48px;overflow:auto;background:#f8f9fb;border-right:1px solid #e7ebef}.brand{height:64px;display:flex;align-items:center;gap:10px;font-size:18px}.brand i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;color:#fff;background:#377bf0;font-style:normal}.sidebar p{margin:20px 8px 8px;color:#98a2af;font-size:12px}.sidebar nav{display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:14px;width:100%;height:41px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#596576;text-align:left}.nav-item svg{font-size:17px;color:#788597}.nav-item.active{background:#e7f0ff;color:#3978e5}.nav-item.active svg{color:#3978e5}.collapse{position:absolute;bottom:15px;left:20px;display:flex;gap:10px;align-items:center;border:0;background:none;color:#657282}.page{margin-left:236px;width:calc(100% - 236px)}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#fff;border-bottom:1px solid #edf0f2}.topbar h1{font-size:19px}.topbar>div{display:flex;align-items:center;gap:17px}.download{padding:8px 13px;border:1px solid #e2e8f3;border-radius:20px;background:#fff;color:#5b83cb;font-weight:600}.download small{font-size:9px;color:#8da0bf}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dd5655;color:#fff}.announcement{height:46px;padding:14px 24px;overflow:hidden;border-bottom:1px solid #ebeff3;background:#fafbfc;color:#7d8895;text-align:right;white-space:nowrap;font-size:12px}main{padding:11px 22px 30px}.phases{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #edf0f3;border-radius:10px;background:#fff}.phases button{height:58px;padding:10px 14px;border:0;border-right:1px solid #edf0f3;background:#fff;text-align:left}.phases button:last-child{border:0}.phases b,.phases span{display:block}.phases b{font-size:14px}.phases b small{margin-left:7px;padding:2px 5px;border-radius:8px;background:#68b365;color:#fff;font-size:9px}.phases span{margin-top:5px;color:#9aa3ae;font-size:11px}.phases button.selected{background:#eaf2ff;color:#3c75dc}.emotion{margin-top:10px}.section-label{display:flex;align-items:center;gap:8px;height:26px;color:#5d6978}.section-label span{color:#9aa3ae;font-size:11px}.section-label button{padding:4px 8px;border:1px solid #e5e9ee;border-radius:15px;background:#fff;color:#708094;font-size:11px}.metrics{display:flex;gap:7px;min-width:1000px}.metric{min-width:130px;flex:1;padding:11px 13px;border:1px solid #edf0f3;border-radius:10px;background:#fff}.metric span,.metric small{display:block;color:#98a2ad;font-size:11px}.metric strong{display:block;margin:5px 0 3px;color:#e25852;font-size:17px}.metric.blue strong{color:#4881e4}.grid{display:grid;grid-template-columns:1fr 1.03fr;gap:12px;margin-top:12px}.left-stack,.right-stack{display:grid;gap:12px;align-content:start}.panel{overflow:hidden;border:1px solid #e7ebf0;border-radius:11px;background:#fff}.panel header{display:flex;align-items:flex-start;justify-content:space-between;min-height:63px;padding:13px 15px;border-bottom:1px solid #edf0f3}.panel h2{margin:0;font-size:15px}.panel h2 svg{color:#5a86d8}.panel header span{display:block;margin-top:5px;color:#99a3af;font-size:11px}.panel header a{color:#5481d5;font-size:12px}.tabs,.segment{display:flex;gap:8px;align-items:center}.tabs button,.segment button{border:0;border-radius:12px;background:transparent;color:#919ba7;font-size:11px}.tabs button.on,.segment button.on{padding:5px 8px;background:#edf4ff;color:#5080db}.tabs a{margin-left:5px}.watchline{display:grid;grid-template-columns:1fr 80px 80px 45px;align-items:center;padding:14px 15px}.watchline span{color:#667384}.watchline em,.data-row em,.ladder button em{color:#e65a53;font-style:normal}.watchline small{padding:3px 5px;border-radius:4px;background:#fff0d6;color:#bd8d37;font-size:10px}.segment{padding:9px 14px 3px}.table-head,.data-row{display:grid;grid-template-columns:28px 1fr 65px 72px;align-items:center;gap:8px}.table-head{height:29px;padding:0 15px;background:#fafbfd;color:#a3acb5;font-size:11px}.data-row{width:100%;height:34px;padding:0 15px;border:0;border-top:1px solid #f0f2f5;background:#fff;text-align:left}.data-row:hover{background:#f4f8ff}.data-row span{color:#9ca6b2}.data-row strong{color:#417be0}.data-row b{color:#596474;font-size:12px}.data-row em{text-align:right;font-weight:700}.data-row em.down{color:#29a36f}.briefing{min-height:215px}.briefing h3{margin:16px 16px 8px;font-size:15px}.briefing p{margin:0 16px;color:#445160;line-height:1.75}.briefing>small{display:block;margin:11px 16px 15px;color:#97a2af;font-size:11px}.ladder-level{display:grid;grid-template-columns:68px 1fr;gap:10px;padding:11px 14px;border-bottom:1px solid #f0f2f4}.ladder-level h3{margin:0;color:#e25c54;font-size:17px}.ladder-level h3 small{display:block;margin-top:3px;color:#9ba5b0;font-size:11px}.ladder-level>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ladder button{display:grid;grid-template-columns:1fr auto;gap:3px;padding:7px 8px;border:1px solid #f0e4d2;border-radius:6px;background:#fffdf9;text-align:left}.ladder button strong{font-size:12px}.ladder button em{font-size:12px;font-weight:700}.ladder button span,.ladder button time{color:#9aa3ad;font-size:10px}.telegraph p{display:grid;grid-template-columns:52px 1fr;gap:8px;margin:0;padding:10px 15px;border-bottom:1px solid #f0f2f4;color:#4d5969;line-height:1.45}.telegraph time{color:#9ca6b0;font-size:11px}.filter-icon{width:15px;height:15px;border:2px solid currentColor;border-radius:2px;transform:rotate(45deg)}.auction-main{padding:18px 22px 30px}.auction-gate{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:18px 20px;border:1px solid #ecd9b6;border-left:4px solid #d99a21;border-radius:10px;background:#fffdf8}.auction-gate small,.auction-panel small{color:#3978e5;font-size:10px;font-weight:800;letter-spacing:.8px}.auction-gate h2,.auction-panel h2{margin:5px 0;font-size:18px}.auction-gate p,.auction-panel p{margin:0;color:#6d7785;line-height:1.6}.auction-gate>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.auction-gate b,.auction-panel header>span{padding:5px 8px;border-radius:12px;background:#f1f3f5;color:#718091;font:600 11px ui-monospace,monospace}.blocked{background:#fff0ef!important;color:#c85550!important}.warning{background:#fff7e6!important;color:#b87815!important}.auction-panel{margin-top:12px;overflow:hidden;border:1px solid #e1e6ec;border-radius:10px;background:#fff}.auction-panel header{display:flex;justify-content:space-between;align-items:flex-start;padding:13px 16px;border-bottom:1px solid #edf0f3}.auction-panel header h2{font-size:15px}.auction-table{width:100%;border-collapse:collapse}.auction-table th,.auction-table td{height:39px;padding:0 14px;border-bottom:1px solid #edf0f3;text-align:left;font-size:12px}.auction-table thead th{background:#f8fafc;color:#7b8695;font-size:11px}.auction-table tbody th{color:#3978e5}.auction-table .stale{color:#c85550;background:#fff4f3}.auction-table .observed{color:#27845b;background:#f2fbf5}.auction-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auction-grid .auction-panel{min-height:150px}.unavailable{padding:18px}.unavailable strong{color:#a64845}.event-copy{padding:16px}.event-copy p{margin:6px 0 12px}.event-copy button{margin:0 7px 7px 0;padding:5px 8px;border:1px solid #dfe5ec;border-radius:5px;background:#fff;color:#687585;font-size:11px}.event-copy button.chosen{border-color:#9ec4ff;background:#eaf2ff;color:#3978e5}.tags p{padding:15px 16px}.download{text-decoration:none}.manifest-import{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #c8dafa;border-radius:12px;background:#eef5ff;color:#3978e5;font-size:11px;font-weight:700;cursor:pointer}.manifest-import input{display:none}.manifest-error{margin:10px 0;padding:9px 12px;border:1px solid #f1c2bf;border-radius:7px;background:#fff2f1;color:#b64d48;font-size:12px}
