:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;color:#17231f;background:#f4f7f5;font-synthesis:none;--ink:#17231f;--muted:#68756f;--line:#dce4e0;--paper:#fff;--accent:#078371;--accent-dark:#05695b;--soft:#e9f6f2;--danger:#b8473e}*{box-sizing:border-box}html,body,#source-hub-root{min-width:320px;min-height:100%;margin:0}body{background:linear-gradient(180deg,rgba(255,255,255,.9),transparent 320px),#f4f7f5}button,input,select{font:inherit;color:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}.hub-v2{min-height:100vh}.topbar{position:sticky;z-index:30;top:0;height:68px;padding:0 max(28px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(207,218,213,.88);background:#fafcfbed;backdrop-filter:blur(18px)}.brand,.workspace,.brand>span:last-child,.workspace>span{display:flex;align-items:center}.brand{gap:11px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#16231f;box-shadow:0 6px 16px #14221d29}.brand>span:last-child,.workspace>span{align-items:flex-start;flex-direction:column}.brand b,.workspace b{font-size:13px}.brand small,.workspace small{font-size:11px;color:var(--muted)}.topbar nav{height:100%;display:flex;gap:26px}.topbar nav button{position:relative;padding:0 2px;background:transparent;color:var(--muted);font-size:13px;font-weight:700}.topbar nav button.active{color:var(--ink)}.topbar nav button.active:after{position:absolute;right:0;bottom:0;left:0;height:2px;content:"";background:var(--accent)}.workspace{justify-self:end;gap:9px;text-align:right}.workspace>span{align-items:flex-end}.workspace>i{width:8px;height:8px;border-radius:50%;background:#18b897;box-shadow:0 0 0 5px #e4f7f1}.notice{position:fixed;z-index:80;top:78px;left:50%;width:min(620px,calc(100vw - 32px));padding:13px 15px;display:flex;align-items:flex-start;gap:10px;transform:translate(-50%);border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 20px 50px #1b2a2429;font-size:13px;white-space:pre-line}.notice span{flex:1}.notice button{padding:0;background:transparent}.notice.error{color:#a73b34;border-color:#efc7c2}.notice.success{color:#087160;border-color:#b9ded4}.page{width:min(1280px,calc(100% - 56px));margin:0 auto;padding:46px 0 64px}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.hero.compact{margin-bottom:26px}.eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.16em}.hero h1{margin:7px 0 6px;font-family:Georgia,Songti SC,serif;font-size:45px;line-height:1;letter-spacing:-.045em}.hero p{margin:0;color:var(--muted);font-size:14px}.hero-actions{display:flex;align-items:center;gap:10px}.editorial-state{min-width:170px;padding-right:14px;display:flex;align-items:center;gap:9px;border-right:1px solid var(--line);color:var(--accent)}.editorial-state>span{display:grid}.editorial-state b{color:var(--ink)}.editorial-state small{color:var(--muted);font-size:10px}.button{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;font-weight:750}.button.primary{color:#fff;border-color:var(--accent);background:var(--accent)}.button.primary:hover{background:var(--accent-dark)}.button.secondary:hover{border-color:#aebdb6}.control-deck{margin-bottom:14px;padding:12px;display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.mode-tabs,.segmented{padding:3px;display:flex;gap:2px;border-radius:7px;background:#eef3f0}.mode-tabs button,.segmented button{min-height:31px;padding:0 11px;display:flex;align-items:center;gap:6px;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;font-weight:700}.mode-tabs button.active,.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #12231c1a}.searchbox{height:38px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fafcfb;color:var(--muted)}.searchbox:focus-within{border-color:#79bbae;box-shadow:0 0 0 3px #07837114}.searchbox input{width:100%;border:0;outline:0;background:transparent;font-size:12px}.filters{display:flex;gap:7px}.filters select{height:38px;padding:0 27px 0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px}.event-hint{color:var(--muted);font-size:11px}.stream-card,.event-layout,.source-form,.source-registry{border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 8px 28px #1f302909}.stream-card{overflow:hidden}.stream-head{min-height:48px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfcfb;font-size:12px}.stream-head span{color:var(--muted)}.stream-item{position:relative;padding:19px 22px 17px 24px;border-bottom:1px solid #e9eeeb}.stream-item:last-of-type{border-bottom:0}.stream-item.unread:before{position:absolute;top:24px;left:10px;width:6px;height:6px;border-radius:50%;content:"";background:var(--accent)}.item-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.item-meta>i{width:7px;height:7px;border-radius:2px;background:#72817a}.item-meta>i.aihot{background:#9b6941}.item-meta>i.twitter{background:#17231f}.item-meta>i.web{background:var(--accent)}.item-meta>i.youtube{background:#c4302b}.item-meta b{color:#4e5d57}.item-meta time{margin-left:auto}.item-title{width:100%;margin:8px 0 6px;padding:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;text-align:left;background:transparent;font-family:Georgia,Songti SC,serif;font-size:21px;font-weight:700;line-height:1.35;letter-spacing:-.02em}.item-title:hover{color:var(--accent)}.stream-item>p{max-width:960px;margin:0;color:#53615b;font-size:12px;line-height:1.7}.item-foot{margin-top:12px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.item-foot>span{padding:4px 7px;border-radius:5px;background:#f0f4f2}.item-foot .category{color:#176e60;background:#e9f5f1}.item-foot .score{color:#8a5b27;background:#f8f0e6}.item-foot .edit-mode.ai{color:#6f4b9c;background:#f3edfa}.item-foot .edit-mode.provider{color:#8c5631;background:#f8eee7}.item-foot .reason{max-width:440px;overflow:hidden;background:transparent;text-overflow:ellipsis;white-space:nowrap}.item-foot button{margin-left:auto;padding:6px 9px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:10px}.empty{min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--muted);text-align:center}.empty b{color:var(--ink);font-size:13px}.empty span{font-size:11px}.load-more{width:100%;height:45px;border-top:1px solid var(--line);background:#fafcfb;color:var(--accent);font-size:12px;font-weight:700}.event-layout{min-height:650px;display:grid;grid-template-columns:minmax(430px,.9fr) minmax(480px,1.1fr);overflow:hidden}.event-list{border-right:1px solid var(--line);overflow:auto}.event-group{height:46px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fafcfb;font-size:11px}.event-group span{color:var(--muted)}.event-row{width:100%;min-height:82px;padding:13px 14px;display:grid;grid-template-columns:32px minmax(0,1fr) 54px 62px 16px;align-items:center;gap:9px;border-bottom:1px solid #e8edeb;text-align:left;background:#fff}.event-row:hover,.event-row.active{background:#f3f8f6}.event-row.active{box-shadow:inset 3px 0 var(--accent)}.event-row>em{font-family:Georgia,serif;color:#a3ada9;font-size:16px;font-style:normal}.event-row>span{min-width:0;display:grid;gap:5px}.event-row>span>b{overflow:hidden;font-family:Georgia,Songti SC,serif;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.event-row>span>small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.event-row>strong{display:grid;color:var(--accent);font-size:18px;text-align:center}.event-row>strong small{color:var(--muted);font-size:8px;font-weight:500}.event-row>time{color:var(--muted);font-size:9px}.event-detail{padding:31px 34px;overflow:auto;background:#fff}.event-detail.placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--muted);text-align:center}.event-detail.placeholder b{color:var(--ink)}.event-detail h2{margin:9px 0 13px;font-family:Georgia,Songti SC,serif;font-size:29px;line-height:1.3}.event-stat{display:flex;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px}.event-stat b{color:var(--accent);font-size:18px}.event-detail section{margin-top:24px}.event-detail h3{margin:0 0 10px;font-size:11px;letter-spacing:.06em}.event-detail section>p{margin:0;color:#4f5f58;font-size:12px;line-height:1.75}.timeline{display:grid}.timeline>a,.timeline>button{padding:13px 0;display:grid;grid-template-columns:86px 1fr 16px;gap:12px;border-bottom:1px solid #e8edeb;text-align:left;background:transparent}.timeline time{color:var(--muted);font-size:9px}.timeline span{display:grid;gap:4px}.timeline span>b{color:var(--accent);font-size:9px}.timeline strong{font-size:12px;line-height:1.45}.timeline small{color:var(--muted);font-size:10px;line-height:1.55}.detail-links{margin-top:22px;display:flex;gap:8px}.detail-links a{padding:8px 10px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;font-size:10px}.detail-loading{min-height:160px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px}.source-form{padding:20px;margin-bottom:18px}.source-form-head{display:flex;align-items:center;gap:10px;margin-bottom:17px}.source-form-head>svg{padding:8px;box-sizing:content-box;border-radius:8px;color:var(--accent);background:var(--soft)}.source-form-head span{display:grid}.source-form-head b{font-size:13px}.source-form-head small{color:var(--muted);font-size:10px}.source-fields{display:grid;grid-template-columns:130px 150px minmax(260px,1.5fr) minmax(150px,.7fr) 90px auto;align-items:end;gap:9px}.source-fields label{display:grid;gap:6px}.source-fields label>span{color:var(--muted);font-size:9px;font-weight:700}.source-fields input,.source-fields select{height:39px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:11px}.source-fields .button{height:39px}.registry-head{padding:18px 20px;border-bottom:1px solid var(--line)}.registry-head h2{margin:0 0 3px;font-size:14px}.registry-head span{color:var(--muted);font-size:10px}.source-table-head,.source-table>article{display:grid;grid-template-columns:minmax(250px,1.45fr) 100px 80px 130px minmax(210px,auto);align-items:center;gap:14px}.source-table-head{height:38px;padding:0 20px;border-bottom:1px solid var(--line);background:#fafcfb;color:var(--muted);font-size:9px}.source-table>article{position:relative;min-height:78px;padding:13px 20px;border-bottom:1px solid #e8edeb}.source-table>article.disabled{opacity:.58}.source-name{min-width:0;display:flex;align-items:center;gap:10px}.source-name>i{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#eef3f0;font-style:normal;font-weight:800}.source-name>span,.source-table>article>div:nth-child(3),.source-table>article>div:nth-child(4){min-width:0;display:grid;gap:3px}.source-name b,.source-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-name b{font-size:11px}.source-name small,.source-table>article small{color:var(--muted);font-size:9px}.source-status{display:flex;align-items:center;gap:6px;font-size:10px}.source-status>i{width:7px;height:7px;border-radius:50%;background:#9aa6a1}.source-status.success>i{background:#18aa8c}.source-status.error>i{background:#d45a4f}.source-status.running>i{background:#d49735}.source-table>article>div>b{font-size:11px}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{padding:6px 8px;display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:9px}.row-actions button.danger{color:var(--danger)}.source-error{position:absolute;right:20px;bottom:2px;left:20px;overflow:hidden;color:var(--danger);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.drawer-backdrop{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end;background:#0f191559;backdrop-filter:blur(3px)}.detail-drawer{width:min(720px,94vw);height:100%;display:grid;grid-template-rows:56px minmax(0,1fr) 70px;background:#fff;box-shadow:-24px 0 70px #0d1a1438}.detail-drawer>header{padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.detail-drawer>header button{display:flex;align-items:center;gap:7px;background:transparent;font-size:11px}.icon-button{padding:7px}.detail-scroll{padding:34px 44px 50px;overflow:auto}.detail-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.detail-meta time{margin-left:auto}.detail-meta .platform{padding:4px 6px;border-radius:4px;color:#fff;background:#718078}.detail-meta .platform.aihot{background:#9b6941}.detail-meta .platform.twitter{background:#17231f}.detail-meta .platform.web{background:var(--accent)}.detail-meta .platform.youtube{background:#c4302b}.detail-scroll h1{margin:16px 0 11px;font-family:Georgia,Songti SC,serif;font-size:34px;line-height:1.35;letter-spacing:-.03em}.original-title{color:var(--muted);font-size:10px}.detail-badges{margin:18px 0;display:flex;gap:6px}.detail-badges span{padding:5px 7px;border-radius:5px;background:#eff4f1;color:#52615a;font-size:9px}.why-selected{padding:15px;display:flex;gap:10px;border:1px solid #cde4dc;border-radius:8px;background:#f2faf7;color:var(--accent)}.why-selected b{font-size:10px}.why-selected p{margin:4px 0 0;color:#52615a;font-size:11px;line-height:1.6}.reader{margin-top:28px}.reader h2{margin:0 0 16px;font-size:13px}.reader p{margin:0 0 15px;color:#34443d;font-family:Georgia,Songti SC,serif;font-size:15px;line-height:1.9}.keywords{margin-top:24px;display:flex;flex-wrap:wrap;gap:6px;color:var(--accent);font-size:10px}.detail-drawer>footer{padding:0 20px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:#fafcfb}.hub-v2>footer{width:min(1280px,calc(100% - 56px));height:62px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.control-deck{grid-template-columns:1fr}.filters{flex-wrap:wrap}.event-layout{grid-template-columns:1fr}.event-list{border-right:0;border-bottom:1px solid var(--line)}.source-fields{grid-template-columns:1fr 1fr}.source-value{grid-column:span 2}.source-table-head{display:none}.source-table>article{grid-template-columns:1fr auto auto}.source-table>article>div:nth-child(4){display:none}.row-actions{grid-column:1/-1;justify-content:flex-start}.topbar{padding:0 20px}.page{width:calc(100% - 32px)}}@media(max-width:680px){.topbar{grid-template-columns:1fr auto}.workspace{display:none}.topbar nav{gap:14px}.hero{align-items:flex-start;flex-direction:column}.hero-actions{width:100%;flex-wrap:wrap}.hero h1{font-size:38px}.source-fields{grid-template-columns:1fr}.source-value{grid-column:auto}.stream-item{padding-right:15px}.item-foot{flex-wrap:wrap}.item-foot .reason{order:5;width:100%;max-width:none}.item-foot button{margin-left:0}.detail-scroll{padding:28px 24px}.event-row{grid-template-columns:28px minmax(0,1fr) 48px 15px}.event-row>time{display:none}}.indie-card-meta{display:grid;gap:8px;margin-bottom:10px}.indie-card-meta>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.indie-card-meta b{font-family:Georgia,Songti SC,serif;font-size:20px;font-weight:700;line-height:1.25}.indie-card-meta .status-badge{padding:4px 8px;border-radius:5px;background:#f0f4f2;color:#1b5c4f;font-size:11px}.indie-card-meta-sub{color:var(--muted);font-size:11px}.indie-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.7}.indie-item-grid b{color:var(--ink)}.indie-item-grid a{color:#1b6a5f;text-decoration:underline}.indie-summary{font-family:Georgia,Songti SC,serif;color:#42514a;font-size:13px;line-height:1.7}.indie-links{display:flex;flex-wrap:wrap;gap:10px}.indie-header{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px 0}.indie-header .status-badge{padding:4px 7px;border-radius:5px;background:#f0f4f2;color:#1b5c4f;font-size:11px}.indie-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 20px;padding:16px;color:#3c4b45;font-size:12px;line-height:1.7}.indie-detail-grid b{color:#12251f}.indie-detail-grid p{margin:0;display:flex;gap:8px}.indie-detail-grid p>span{margin-left:auto}.indie-detail-grid a{color:#1b6a5f;text-decoration:underline}.indie-detail-fields{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 20px}.indie-detail-fields p{margin:0;color:#34443d;font-size:12px;line-height:1.7}.indie-detail-fields h4{margin:0 0 6px;color:var(--ink);font-size:12px}.evidence-box p{display:grid;gap:8px}.evidence-box a{display:block;overflow:hidden;color:#1f5b4f;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}.indie-score-details{padding:12px 16px;border-radius:8px;background:#f6fbf8;border:1px solid #dbe7e2}.indie-score-details h4{margin:0 0 6px;color:var(--ink);font-size:12px}.indie-score-details p{margin:0;color:#2d4039;font-size:12px;line-height:1.7}.source-link-list{display:flex;flex-wrap:wrap;gap:0 8px}.source-link-list a{color:#1b6a5f;text-decoration:underline}@media(max-width:1000px){.indie-item-grid{grid-template-columns:1fr}}.collection-state{min-width:250px;padding-right:14px;display:flex;align-items:center;gap:9px;border-right:1px solid var(--line);color:var(--accent)}.collection-state>span{display:grid;gap:2px}.collection-state small{color:var(--muted);font-size:10px}.collection-state b{color:var(--ink);font-size:11px;white-space:nowrap}.collection-state em{color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap}.collection-state.degraded>svg,.collection-state.degraded em{color:#a56427}@media(max-width:680px){.collection-state{min-width:0}}
