:root{--nav:#111c30;--page:#f4f6fa;--paper:#fff;--ink:#18243b;--muted:#7b8799;--line:#e5eaf2;--blue:#3865e9;--soft:#edf2ff;--green:#16a583;--amber:#a56815}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.65 Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}button,input,select,textarea,a{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue)}button:disabled{opacity:.55;cursor:wait}.hidden{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--nav);color:#e7edf8;display:flex;flex-direction:column;padding:34px 19px 0;z-index:30}.brand{display:flex;align-items:center;gap:12px;color:inherit;font-size:22px;font-weight:700;letter-spacing:.5px}.brand-icon{height:43px;width:43px;border-radius:13px;background:#2c4f8e;color:#bbd7ff;display:grid;place-items:center;font-size:36px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#8595b0;margin-top:1px}.nav-label{font-size:11px;letter-spacing:1px;color:#7d8ca7;margin:45px 14px 13px}.nav{display:flex;align-items:center;gap:12px;width:100%;background:transparent;color:#9daec7;border:0;text-align:left;padding:13px 14px;border-radius:9px;margin-bottom:6px;font-size:14px}.nav>span:first-child{font-size:21px;line-height:1;width:22px;text-align:center}.nav:hover{background:#1a2941;color:white}.nav.active{background:#263d68;color:#eaf1ff}.nav-count{margin-left:auto;padding:0 7px;background:#35588f;border-radius:5px;font-size:11px}.sidebar-note{margin-top:auto;border:1px solid #2a3851;border-radius:12px;padding:15px 13px;font-size:11px;color:#b0bfd6}.sidebar-note p{font-size:12px;color:#7d8fae;margin-bottom:0}.live-dot{display:inline-block;width:6px;height:6px;background:#56c6ad;border-radius:50%;margin-right:7px}.account{display:flex;align-items:center;gap:10px;border-top:1px solid #27334b;margin-top:24px;padding:21px 0}.account-mark{display:grid;place-items:center;width:32px;height:32px;background:#26334d;border-radius:10px;color:#a4b9df;font-size:12px}.account b{font-size:12px}.account small{display:block;font-size:10px;color:#7c8ca6}.logout{margin-left:auto;background:none;border:0;color:#92a3c0;font-size:23px}.workspace{margin-left:226px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:12px;color:var(--muted)}.topbar b{color:#4e5e76;font-weight:500}.top-separator{margin:0 17px;color:#c7cfdb}.top-right{display:flex;align-items:center;gap:24px}.feed-state{color:var(--muted);font-size:11px;white-space:nowrap}.feed-state i{display:inline-block;width:6px;height:6px;background:#a8b2c3;border-radius:50%;margin-right:7px}.feed-state.connected{color:var(--green)}.feed-state.connected i{background:var(--green)}.feed-state.error{color:var(--amber)}.feed-state.error i{background:#d5a044}.clock{font-size:11px}.mobile-menu{display:none}main{padding:37px 42px 0;flex:1;max-width:1600px;width:100%;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.8px}h1{font-size:28px;letter-spacing:-.7px;font-weight:700;margin:8px 0 6px;line-height:1.4}.page-heading p{margin:0;color:var(--muted);font-size:13px}h2{font-size:17px;margin:0 0 5px}h3{font-size:16px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:8px;white-space:nowrap;border:1px solid transparent;background:none;font-size:12px;font-weight:600;transition:background .15s}.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #3865e918}.primary:hover{background:#2854d8}.secondary{background:#fff;border-color:#dce2ec;color:#53627c}.secondary:hover{background:#f1f4fa}.text{color:var(--blue);padding:8px 10px}.text:hover{background:var(--soft)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;background:white;margin-bottom:27px}.metrics>div{padding:20px 25px;position:relative}.metrics>div+div:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:var(--line)}.metrics span{color:#697891;font-size:12px}.metrics strong{display:block;font-size:31px;line-height:1.35;letter-spacing:-1px;font-weight:650;margin:5px 0 4px}.metrics strong em{font-size:14px;color:#a3adbd;font-style:normal;letter-spacing:0;margin-left:8px}.metrics small{font-size:10px;color:#929cad}.feed-panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.filterbar{display:flex;gap:9px;padding:18px 21px;flex-wrap:wrap}.search{display:flex;align-items:center;background:#f7f9fc;border:1px solid var(--line);border-radius:7px;flex:1;min-width:200px;padding-left:12px;gap:8px}.search>span{font-size:22px;color:#8c99ac}.search input{border:0;background:transparent;width:100%;padding:9px 5px;font-size:12px;outline:none}.filterbar select,.filterbar input[type=date],.keyword-filters input,.keyword-filters select,.custom-form input,.custom-form select{background:#fff;border:1px solid var(--line);border-radius:7px;padding:9px 11px;color:#63728b;font-size:12px;min-width:0}.filterbar select{max-width:180px}.filterbar input[type=date]{width:140px}.feed-meta{display:flex;justify-content:space-between;padding:0 23px 13px;font-size:10px;color:#99a3b3;border-bottom:1px solid var(--line)}.news-card{padding:22px 24px;border-bottom:1px solid #edf0f6;position:relative;cursor:pointer}.news-card:hover{background:#fbfcff}.card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#99a3b2;margin-bottom:10px}.lane{background:#f1f4f8;color:#77869e;padding:2px 7px;border-radius:4px;font-size:9px;letter-spacing:.15px}.card-time{margin-left:auto;white-space:nowrap}.card-title{font-size:17px;font-weight:650;line-height:1.55;letter-spacing:-.2px;margin:0 0 7px;max-width:96%}.card-excerpt{font-size:12px;line-height:1.8;color:#7a8699;margin:0 0 13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.card-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tag{font-size:10px;background:var(--soft);color:#5777bc;border-radius:5px;padding:3px 7px;line-height:1.5}.tag.gray{background:#f4f5f7;color:#8b95a6}.tag.amber{background:#fff5e7;color:#b1853e}.tag.green{background:#eaf8f3;color:#368d75}.card-open{margin-left:auto;color:#99a6ba;font-size:17px}.empty{padding:65px 24px;text-align:center}.empty .empty-icon{display:grid;place-items:center;width:50px;height:50px;background:#f1f4fb;border-radius:14px;color:#91a5cd;font-size:27px;margin:0 auto 18px}.empty h3{color:#56647c;font-size:15px;margin-bottom:8px}.empty p{color:#929cad;font-size:12px;margin:4px auto;max-width:450px}.list-footer{text-align:center;padding:15px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:10px;color:#9ca6b5}.new-items{display:block;margin:12px auto;background:#edf3ff;color:#4774d7;border:1px solid #d9e5ff;border-radius:30px;padding:8px 20px;font-size:11px}.page-footer{display:flex;justify-content:space-between;padding:25px 42px;font-size:9px;color:#a1abbb}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:23px}.section-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category-option{display:flex;align-items:center;gap:10px;padding:13px 11px;border:1px solid var(--line);border-radius:7px;cursor:pointer;user-select:none;font-size:11px}.category-option:has(input:checked){border-color:#c9d7fc;background:#f8faff}.category-option input{accent-color:var(--blue);width:14px;height:14px}.category-option small{margin-left:auto;color:#9da7b6;font-size:9px}.muted{color:var(--muted);font-size:12px;font-weight:400}.keyword-filters{display:flex;gap:10px;margin-bottom:12px}.keyword-filters input{flex:1}.keyword-row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #f0f2f7;font-size:12px}.keyword-name{font-weight:550;flex:1;word-break:break-word}.keyword-row label{font-size:10px;color:#8e9bad;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.keyword-row input{accent-color:var(--blue)}.keyword-row .tag{min-width:49px;text-align:center}.keyword-count{margin-top:10px;font-size:10px;color:#94a0b4}.custom-form{display:flex;gap:10px;margin:15px 0}.custom-form input{flex:1}.custom-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.custom-row b{flex:1}.notice{background:#edf6ff;color:#577aab;padding:12px 18px;border-radius:8px;font-size:12px;margin-bottom:20px}.sample-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.chip{background:#f7f9fd;color:#6f80a3;border:1px solid #e2e9f7;border-radius:6px;padding:5px 10px;font-size:11px}.chip:hover{background:#edf2ff}.sample-buttons>span{margin-right:8px}textarea{display:block;width:100%;resize:vertical;min-height:180px;padding:16px;background:#fbfcff;border:1px solid #e1e7f2;border-radius:8px;color:#40506c;line-height:1.8;font-size:13px}.test-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:15px}.test-actions span{font-size:11px}.evidence{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.evidence h3{font-size:13px;margin-bottom:6px}.evidence p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#65738d;margin:8px 0}.evidence small{font-size:10px;color:#8c99ac}.evidence .terms{color:#5078c5;font-size:11px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.status-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eff2f7;font-size:12px}.status-row span{color:#8390a5}.status-row b{font-weight:500;text-align:right;overflow-wrap:anywhere}.status-grid .panel{margin:0}.status-note{margin-top:20px;color:#8b98ad;font-size:11px}.drawer-backdrop{position:fixed;inset:0;background:#111e354d;z-index:50}.drawer{position:fixed;inset:0 0 0 auto;width:650px;max-width:95vw;background:#fff;z-index:51;display:flex;flex-direction:column;box-shadow:-12px 0 60px #101e3520}.drawer>header{height:74px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 29px;border-bottom:1px solid var(--line);color:#71819c;font-size:12px}.icon-button{border:0;background:#f3f5fa;color:#8291a9;font-size:24px;border-radius:7px;width:32px;height:32px;line-height:1}.drawer-body{padding:29px;overflow:auto}.drawer h2{font-size:22px;line-height:1.5;margin:12px 0 20px}.drawer .original{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.95;color:#465671;margin:18px 0 25px}.drawer .section-label{margin-top:28px;font-size:11px;color:#929fb3;letter-spacing:1px}.detail-times{font-size:11px;line-height:1.9;color:#8a97ac}.detail-times strong{font-weight:500;color:#5f708e}.detail-source-link{display:inline-block;font-size:12px;padding:8px 0}.drawer mark{background:#e6edff;color:#2d55b7;padding:1px 2px;border-radius:2px}.toast{position:fixed;bottom:28px;left:calc(50% + 90px);transform:translateX(-50%);background:#243650;color:white;font-size:12px;padding:12px 24px;border-radius:10px;z-index:100;box-shadow:0 4px 20px #12243d2e;max-width:90vw}.login-page{background:#f1f4f9}.login-layout{max-width:1120px;min-height:100vh;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:95px;padding:60px}.login-intro .brand{color:#30415c;margin-bottom:95px}.login-intro .brand small{color:#8799b4}.login-intro .brand-icon{background:#e1e9fd;color:var(--blue)}.login-intro h1{font-size:43px;letter-spacing:-1px;line-height:1.45;margin:16px 0}.login-intro>p{color:#8794a9;font-size:13px;line-height:2}.login-facts{display:flex;gap:17px;flex-wrap:wrap;margin-top:35px;font-size:10px;color:#8191aa}.login-facts span+span{border-left:1px solid #cbd5e4;padding-left:17px}.login-card{background:white;border:1px solid var(--line);border-radius:18px;padding:40px;box-shadow:0 16px 55px #24385808}.login-card h2{font-size:25px;margin:10px 0}.login-card>p{color:#96a1b2;font-size:12px;margin-bottom:30px}.login-card label{display:block;font-size:12px;font-weight:600;margin-bottom:19px;color:#697891}.login-card input{display:block;margin-top:8px;width:100%;padding:12px 14px;background:#fbfcff;border:1px solid #e2e7f0;border-radius:7px;font-weight:400;font-size:12px}.login-card .button{width:100%;padding:13px}.login-error{color:#b45656;font-size:12px;min-height:20px}.login-private{font-size:10px;color:#a5afc0;text-align:center;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.login-private>span{margin-right:8px}
@media(min-width:1700px){main{padding-top:45px}.news-card{padding:25px 30px}.card-title{font-size:19px}.card-excerpt{font-size:13px}}@media(max-width:1150px){.sidebar{width:200px;padding-left:14px;padding-right:14px}.workspace{margin-left:200px}.topbar{padding:0 26px}main{padding:28px 26px 0}.filterbar{padding:15px}.category-grid{grid-template-columns:repeat(2,1fr)}.filterbar input[type=date]{width:132px}.clock{display:none}.login-layout{gap:40px;padding:45px;max-width:1040px}.login-intro h1{font-size:36px}.login-card{padding:32px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .15s;width:226px}.sidebar.open{transform:translateX(0)}.workspace{margin-left:0}.topbar{height:62px;padding:0 18px;font-size:11px}.topbar>div:first-child>span:not(.top-separator){display:none}.top-separator{display:none}.top-right{gap:8px}.mobile-menu{display:inline-block;border:0;background:none;font-size:19px;color:#6e7c92;margin-right:10px}main{padding:24px 16px 0}.page-heading{margin-bottom:20px;align-items:center}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;max-width:260px}.eyebrow{font-size:8px}.metrics>div{padding:14px 12px}.metrics span{font-size:10px}.metrics strong{font-size:25px}.metrics small{font-size:8px}.metrics{margin-bottom:20px}.filterbar .search{flex-basis:100%}.filterbar select{flex:1;max-width:none;width:42%}.filterbar input[type=date]{flex:1}.feed-meta{font-size:9px;padding:0 15px 11px}.news-card{padding:19px 16px}.card-title{font-size:16px;max-width:100%}.card-excerpt{font-size:11px}.card-meta{font-size:9px}.card-time{width:100%;margin-left:0}.card-tags{gap:5px}.tag{font-size:9px}.page-footer{padding:20px 17px}.page-footer>span:last-child{display:none}.panel{padding:18px}.category-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.section-heading p{font-size:11px}.category-option{padding:11px}.custom-form{flex-wrap:wrap}.custom-form input{flex-basis:100%}.custom-form select{flex:1}.sample-buttons{gap:6px}.test-actions{align-items:flex-start}.test-actions .muted{max-width:150px;font-size:10px}.status-grid{grid-template-columns:1fr}.status-row{font-size:11px}.drawer-body{padding:22px}.drawer h2{font-size:20px}.drawer>header{padding:0 22px;height:60px}.toast{left:50%;width:max-content;max-width:90%}.login-layout{display:block;max-width:500px;padding:30px 22px}.login-intro .brand{margin-bottom:35px;font-size:19px}.login-intro h1{font-size:28px}.login-intro .eyebrow,.login-intro>p,.login-facts{display:none}.login-card{padding:27px;margin-top:30px;border-radius:13px}.login-intro h1 br{display:none}.login-intro h1{font-size:24px}.login-private{margin-top:22px}.keyword-row .tag{font-size:9px;min-width:43px}.keyword-filters{gap:6px}.keyword-filters select{width:105px}}

.provider-settings{margin-top:22px}.provider-settings h2{margin-bottom:5px}.provider-settings>p{margin:0 0 15px}.provider-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.provider-key-input{flex:1;min-width:240px;background:#fbfcff;border:1px solid var(--line);border-radius:7px;padding:10px 12px;color:var(--ink)}@media(max-width:760px){.provider-form{align-items:stretch}.provider-form .provider-key-input{flex-basis:100%;min-width:0}.provider-form .button{flex:1}}

/* User-selectable dark theme */
html[data-theme="dark"]{color-scheme:dark;--nav:#0b1425;--page:#0c1320;--paper:#141e2e;--ink:#e8eef8;--muted:#9aa9bf;--line:#2b394e;--blue:#91b0ff;--soft:#22334f;--green:#73d4b5;--amber:#e6b86e}
body{transition:background-color .18s ease,color .18s ease}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}
.theme-toggle:hover{filter:brightness(.96)}
.theme-toggle [data-theme-icon]{font-size:15px;line-height:1}
.login-theme{position:fixed;top:20px;right:22px;z-index:10}
html[data-theme="dark"] body,html[data-theme="dark"] .login-page{background:var(--page);color:var(--ink)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .feed-panel,html[data-theme="dark"] .panel,html[data-theme="dark"] .metrics,html[data-theme="dark"] .drawer,html[data-theme="dark"] .login-card{background:var(--paper);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .topbar{border-bottom-color:var(--line)}
html[data-theme="dark"] .topbar b,html[data-theme="dark"] .drawer>header{color:var(--muted)}
html[data-theme="dark"] .metrics span,html[data-theme="dark"] .metrics small,html[data-theme="dark"] .page-heading p,html[data-theme="dark"] .muted,html[data-theme="dark"] .status-note{color:var(--muted)}
html[data-theme="dark"] .metrics>div+div:before,html[data-theme="dark"] .feed-meta,html[data-theme="dark"] .news-card,html[data-theme="dark"] .keyword-row,html[data-theme="dark"] .custom-row,html[data-theme="dark"] .status-row,html[data-theme="dark"] .drawer>header,html[data-theme="dark"] .login-private{border-color:var(--line)}
html[data-theme="dark"] .news-card:hover{background:#19263a}
html[data-theme="dark"] .card-meta,html[data-theme="dark"] .card-excerpt,html[data-theme="dark"] .feed-meta,html[data-theme="dark"] .page-footer,html[data-theme="dark"] .list-footer{color:#9aa9bf}
html[data-theme="dark"] .lane,html[data-theme="dark"] .tag.gray{background:#26344b;color:#bdc9dc}
html[data-theme="dark"] .tag{background:#263858;color:#b7cbff}
html[data-theme="dark"] .tag.amber{background:#44351f;color:#f0c078}
html[data-theme="dark"] .tag.green{background:#1b3a35;color:#86d9bc}
html[data-theme="dark"] .search,html[data-theme="dark"] .filterbar select,html[data-theme="dark"] .filterbar input[type=date],html[data-theme="dark"] .keyword-filters input,html[data-theme="dark"] .keyword-filters select,html[data-theme="dark"] .custom-form input,html[data-theme="dark"] .custom-form select,html[data-theme="dark"] .provider-key-input,html[data-theme="dark"] textarea,html[data-theme="dark"] .login-card input{background:#0e1726;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .search input{color:var(--ink)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#73839b}
html[data-theme="dark"] .secondary,html[data-theme="dark"] .icon-button,html[data-theme="dark"] .chip{background:#202d42;border-color:#35445c;color:#d5deeb}
html[data-theme="dark"] .secondary:hover,html[data-theme="dark"] .chip:hover{background:#2a3a55}
html[data-theme="dark"] .category-option{border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .category-option:has(input:checked){border-color:#526d9e;background:#1a2940}
html[data-theme="dark"] .keyword-row label,html[data-theme="dark"] .keyword-row .muted,html[data-theme="dark"] .status-row span{color:var(--muted)}
html[data-theme="dark"] .notice{background:#1b2a40;color:#bdcce2}
html[data-theme="dark"] .drawer{box-shadow:-12px 0 60px #0008}
html[data-theme="dark"] .drawer .original,html[data-theme="dark"] .detail-times{color:#c0ccdd}
html[data-theme="dark"] .drawer mark{background:#334b73;color:#e0eaff}
html[data-theme="dark"] .toast{background:#26364e;color:#f3f6fb}
html[data-theme="dark"] .login-intro .brand{color:var(--ink)}
html[data-theme="dark"] .login-intro .brand small,html[data-theme="dark"] .login-intro>p,html[data-theme="dark"] .login-facts,html[data-theme="dark"] .login-card>p,html[data-theme="dark"] .login-card label,html[data-theme="dark"] .login-private{color:var(--muted)}
html[data-theme="dark"] .login-intro .brand-icon{background:#253957;color:#a9c1ff}
html[data-theme="dark"] .login-card{box-shadow:0 16px 55px #0003}
@media(max-width:760px){.theme-toggle{padding:7px 9px}.topbar .theme-toggle [data-theme-label]{display:none}}
@media(prefers-reduced-motion:reduce){body{transition:none}}
