:root{font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}h1{font-size:29px;line-height:1.4;letter-spacing:-.7px;font-weight:600;color:var(--ink)}h2{font-size:18px;font-weight:600;color:var(--ink)}h3{font-size:16px;font-weight:600;color:var(--ink)}h4{font-size:14px}small{font-size:12px}.muted{color:var(--muted)}.mono{font-family:Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.numeric{font-variant-numeric:tabular-nums}.skip{position:fixed;top:-60px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:8px}
.shell{display:flex;min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:#fdfefd;border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:20px;font-weight:700;letter-spacing:-.4px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-top:1px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;background:var(--green);color:white;border-radius:11px;font-family:Georgia,serif;font-size:32px;position:relative}.brand-mark span{position:absolute;font-size:29px;right:6px;bottom:1px;color:#bdd7b7}.workspace-label{font-size:10px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin:45px 10px 14px;display:flex;align-items:center;justify-content:space-between}.local-dot,.dot{width:6px;height:6px;border-radius:50%;background:#62846a;display:inline-block}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#6c786f;font-size:13px}.sidebar nav a:hover{background:var(--bg);text-decoration:none}.sidebar nav a.active{background:var(--green-soft);color:var(--green);font-weight:600}.sidebar nav a>span{font-size:19px;width:20px;text-align:center;font-weight:400}.sidebar nav b{margin-left:auto;font-size:10px;background:var(--paper);border-radius:4px;padding:0 5px}.sidebar nav b:empty{display:none}.sidebar-bottom{margin-top:auto;padding:22px 12px 0;border-top:1px solid var(--line);font-size:12px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom p{color:var(--muted);margin:6px 0 12px}.scope-icon{font-size:23px;color:var(--green);margin:4px 0}.content-shell{margin-left:228px;min-width:0;width:calc(100% - 228px)}.topbar{height:69px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fafcf9;color:var(--muted);font-size:12px}.topbar>div{display:flex;gap:20px;align-items:center}.icon-button{border:0;background:transparent;color:var(--muted);font-size:22px;padding:5px 10px;border-radius:8px}.icon-button:hover{background:var(--green-soft)}main{padding:34px 38px 50px;max-width:1560px;min-height:calc(100vh - 120px)}.page-footer{margin:0 38px;padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--muted);margin-bottom:7px}.subtitle{color:var(--muted);font-size:13px;margin-top:7px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:9px 14px;color:var(--text);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:7px;justify-content:center}.btn:hover{background:#f3f6f2;text-decoration:none;border-color:#bdcdbf}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#245339}.btn.danger{color:var(--red);border-color:#e7c7bf}.btn.small{padding:5px 10px;font-size:11px}.text-button{background:none;border:0;color:var(--green);padding:0;font-size:12px;text-align:left}.text-button:hover{text-decoration:underline}.small-tag,.badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:3px 8px;background:#eef1ed;color:#6e7c72;font-size:10px;font-weight:600;line-height:1.6;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metric{padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.metric-label{color:#77867b;font-size:12px;display:flex;justify-content:space-between}.metric-value{font-size:35px;line-height:1.25;font-weight:600;letter-spacing:-1px;margin:13px 0 8px;color:var(--ink)}.metric-note{font-size:11px;color:var(--muted)}.metric-value small{font-size:14px;margin-left:6px;color:var(--muted);font-weight:400;letter-spacing:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:22px;overflow:hidden}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:15px}.panel-head p{font-size:11px;color:var(--muted);margin-top:3px}.panel-body{padding:22px 23px}.panel-body>p+p{margin-top:12px}.flow{display:grid;grid-template-columns:repeat(5,1fr);padding:26px 24px;gap:23px}.flow-step{position:relative}.flow-step:not(:last-child):after{content:'→';position:absolute;right:-17px;top:13px;color:#b5c1b4;font-size:16px}.flow-number{font-size:11px;color:#96a394;margin-bottom:7px}.flow-name{font-size:12px;font-weight:600;margin-bottom:7px}.flow-note{font-size:11px;color:var(--muted)}.flow-step .badge{margin-top:11px}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:22px}.pilot-row{padding:18px 23px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.pilot-row:last-child{border:0}.theme-symbol{width:40px;height:40px;display:grid;place-items:center;background:var(--green-soft);border-radius:11px;color:var(--green);font-weight:600;font-size:16px}.pilot-info{flex:1}.pilot-info strong{display:block;font-size:13px}.pilot-info small{color:var(--muted);font-size:10px}.pilot-info .bar{margin-top:9px;max-width:200px}.bar{height:4px;background:#eef2eb;border-radius:5px;overflow:hidden}.bar-fill{height:100%;background:#7d9c77}.note{border:1px solid var(--line);border-radius:10px;background:#f6f9f3;padding:14px 17px;font-size:12px;color:#6b7a67;margin-bottom:22px}.note.amber{background:#fdf9ef;border-color:#efe4c8;color:#897145}.gate-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 23px;font-size:12px}.gate-row:last-child{border:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;color:var(--muted);font-weight:600;padding:12px 20px;background:#fafcf9;white-space:nowrap}td{padding:16px 20px;border-top:1px solid var(--line);vertical-align:top}tbody tr:hover{background:#fbfdf9}td.title-cell{min-width:230px;max-width:450px}td.title-cell strong{display:block;font-size:12px;font-weight:600;line-height:1.6}td.title-cell small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.table-count{font-size:11px;color:var(--muted)}.filters{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.input,select,textarea{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px 12px;color:var(--text);font-size:12px}.input{min-width:260px}.filters .input{max-width:440px;flex:1}textarea{resize:vertical;min-height:100px;width:100%;line-height:1.8}label{display:block;font-size:12px;font-weight:600;margin:15px 0 7px}label:first-child{margin-top:0}.field-hint{color:var(--muted);font-size:11px;margin-top:6px}.empty{padding:45px 24px;text-align:center;color:var(--muted)}.empty .empty-mark{font-size:29px;color:#a6b9a0;margin-bottom:12px}.empty strong{display:block;font-size:15px;color:#73836e;font-weight:600;margin-bottom:7px}.empty p{font-size:12px;max-width:500px;margin:auto}.empty .btn{margin-top:18px}.loading{padding:60px;color:var(--muted);text-align:center}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.theme-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:20px;display:flex;flex-direction:column;min-height:205px}.theme-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.theme-card .definition{color:var(--muted);font-size:11px;line-height:1.9;margin:14px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.theme-card footer{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.section-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:23px;overflow:auto}.section-tabs button{background:none;border:0;padding:12px 2px;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;white-space:nowrap}.section-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.chapter-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.chapter{padding:22px;border-bottom:1px solid var(--line)}.chapter:last-child{border-bottom:0}.chapter p{margin:15px 0;font-size:13px;line-height:1.9}.evidence{border-left:3px solid #c7d7bf;background:#f7faf5;padding:12px 16px;margin:10px 0 16px;font-size:12px;color:#718169;white-space:pre-wrap;overflow-wrap:anywhere}.evidence footer{margin-top:8px;font-size:10px;color:var(--muted)}.gap{background:var(--amber-soft);border-radius:7px;padding:11px 14px;font-size:12px;color:#8d774e;margin:12px 0}.review-grid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px}.review-list{display:grid;gap:10px;align-content:start}.review-item{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:16px;text-align:left}.review-item.active{border-color:#7da184;box-shadow:var(--shadow-sm)}.review-item strong{display:block;margin:7px 0;font-size:13px}.review-item p{font-size:11px;color:var(--muted)}.diff{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:15px 0}.diff-col{padding:16px;background:#f7f9f5;border:1px solid var(--line);border-radius:9px;min-width:0}.diff-col.after{background:#f1f7ee}.diff-col h4{font-size:11px;color:var(--muted);margin-bottom:12px}.diff-col p{margin:10px 0;font-size:12px;line-height:1.9}.original{white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto;font:12px/1.9 "Segoe UI","Microsoft YaHei",sans-serif;background:#f6f8f4;padding:20px;border-radius:10px}.metadata{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:12px;margin:15px 0}.metadata dt{color:var(--muted)}.metadata dd{margin:0;overflow-wrap:anywhere}.plan{border-bottom:1px solid var(--line);padding:19px 23px}.plan:last-child{border:0}.plan p{font-size:12px;line-height:1.9;margin:10px 0;color:#7a8779}details>summary{cursor:pointer;font-size:12px;font-weight:600}details[open]>summary{margin-bottom:15px}details ul{font-size:12px;line-height:1.9;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-35%);max-width:620px;padding:13px 22px;background:#294535;color:white;border-radius:10px;box-shadow:var(--shadow-sm);z-index:200;display:none;font-size:13px}#toast.show{display:block}dialog{border:1px solid var(--line);border-radius:16px;max-width:900px;width:calc(100% - 50px);max-height:88vh;padding:0;color:var(--text);box-shadow:var(--shadow-sm)}dialog::backdrop{background:#17312655;backdrop-filter:blur(2px)}.dialog-head{padding:22px 27px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.dialog-body{padding:25px 27px}.dialog-footer{padding:17px 27px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid input,.form-grid select{width:100%}.wide{grid-column:1/-1}.form-error{font-size:12px;color:var(--red);margin:10px 0}.link-row{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.error-box{padding:30px;background:var(--red-soft);border-radius:12px;color:var(--red)}
@media(min-width:1500px){main{margin:auto}.metrics{gap:21px}}@media(max-width:1150px){.sidebar{width:195px;padding:25px 14px}.content-shell{margin-left:195px;width:calc(100% - 195px)}main{padding:27px}.topbar{padding:0 27px}.metrics{gap:11px}.metric{padding:19px}.theme-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.flow{gap:18px}.review-grid{grid-template-columns:230px 1fr}.diff{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{width:69px;padding:20px 10px}.brand>span:last-child,.workspace-label,.sidebar-bottom{display:none}.brand-mark{width:38px}.sidebar nav{margin-top:38px}.sidebar nav a{font-size:0;padding:12px}.sidebar nav a>span{font-size:20px}.sidebar nav b{display:none}.content-shell{margin-left:69px;width:calc(100% - 69px)}main{padding:22px 18px}.topbar{padding:0 18px}.metrics{grid-template-columns:repeat(2,1fr)}.metric-value{font-size:29px}.flow{grid-template-columns:1fr 1fr}.flow-step:after{display:none}.theme-grid,.review-grid,.form-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:25px}.input{min-width:160px}.page-footer{margin:0 18px;font-size:9px}.metadata{grid-template-columns:95px 1fr}.review-list{grid-template-columns:1fr 1fr}.panel-head{padding:16px}.panel-body{padding:18px}}
/* Theme processing platform. Visual tokens and reading patterns follow SLTIS. */

.shell{display:block}.sidebar{position:static;width:100%;padding:22px 3.5vw 0;background:var(--bg);display:grid;grid-template-columns:1fr auto;border-right:0;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:20px;letter-spacing:0}.brand small{letter-spacing:1px}.brand-mark{background:#141413;width:38px;height:40px;border-radius:6px;font-size:29px}.brand-mark span{color:#aac6e5}.workspace-label{display:block;margin:0;align-self:center;letter-spacing:1px;font-size:12px}.sidebar nav{grid-column:1/-1;display:flex;gap:6px;overflow:auto;padding:0 0 12px}.sidebar nav a{font-size:14px;white-space:nowrap;padding:8px 15px;border-radius:6px;color:var(--muted)}.sidebar nav a.active{background:#141413;color:#faf9f5}.sidebar nav a:hover{background:#eeece5}.sidebar nav a.active:hover{background:#302f2b}.sidebar-bottom{display:none}.content-shell{margin:0;width:100%}.topbar{height:42px;background:transparent;padding:0 3.5vw;font-size:11px;border-bottom:0}.topbar .icon-button{font-size:20px}.topbar>div{gap:10px}main{max-width:1600px;padding:24px 3.5vw 52px;margin:auto;min-height:calc(100vh - 250px)}.page-footer{margin:0 3.5vw;font-size:11px}.page-heading{margin-bottom:24px;gap:28px}.eyebrow{color:var(--blue);font-size:10px;font-weight:600;letter-spacing:1.8px}h1{font-size:28px;letter-spacing:-.4px}h2{font-size:20px}h3{font-size:15px}.subtitle{font-size:13px;max-width:680px;color:var(--muted)}.btn{border-radius:6px;font-size:12px;padding:9px 12px}.btn.primary{background:var(--blue);border-color:var(--blue)}.btn.primary:hover{background:#345680}.badge{border-radius:4px;font-size:11px}.badge.green{background:#e8f0e9;color:#3f654b}.badge.amber{background:#f5edd5;color:#806426}.badge.blue{background:var(--blue-soft);color:var(--blue)}.text-button{color:var(--blue)}.panel{border-radius:8px;box-shadow:none}.metric{border-radius:8px;box-shadow:none}.metric-label>span{display:none}.metric-value{color:var(--ink)}.note{background:#f1f3f6;border-color:#ccdae8;color:#4b6073}.plan p{color:var(--text)}.evidence{border-left-color:#afc8de;background:#f1f5f9;color:#4b6073}.gap{border-radius:4px;background:#faf4e5;border-left:2px solid #d5b566;color:#79601f}.review-item.active{border-color:#afc8de;box-shadow:var(--shadow-sm)}.diff-col.after{background:#edf4fa}.original{background:#f5f4f0}.small-tag{color:var(--muted)}.dot{background:#b18a3d}#toast{background:#345680}.empty-mark{display:none}*:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.catalog-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px;padding:18px 0}.catalog-summary>div{padding:0 24px;border-left:1px solid var(--line);display:flex;align-items:baseline;gap:12px}.catalog-summary>div:first-child{padding-left:0;border:0}.catalog-summary strong{font-size:27px;font-weight:600;font-variant-numeric:tabular-nums}.catalog-summary span{font-size:12px;color:var(--muted)}.catalog-layout{display:grid;grid-template-columns:208px minmax(0,1fr);gap:28px;align-items:start}.catalog-content{min-width:0}.taxonomy-nav{position:sticky;top:20px;border-right:1px solid var(--line);padding-right:16px;max-height:86vh;overflow:auto}.rail-heading{font-size:11px;letter-spacing:.9px;color:var(--muted);margin-bottom:14px}.taxonomy-nav button{border:0;background:none;border-radius:5px;padding:10px 8px;text-align:left;width:100%;display:flex;align-items:center;gap:6px;justify-content:space-between;font-size:12px;color:var(--text)}.taxonomy-nav button.active{background:var(--blue-soft);color:var(--blue);font-weight:600}.taxonomy-nav button:hover{background:#f0eee8}.taxonomy-nav button small{color:var(--muted);font-size:10px}.rail-note{font-size:11px;line-height:1.9;color:var(--muted);padding:16px 0;margin-top:14px;border-top:1px solid var(--line)}.catalog-content .filters{padding:14px;background:#f5f4f0;border:1px solid var(--line);border-radius:6px;gap:10px;margin-bottom:16px;flex-wrap:wrap}.catalog-content .input{flex:1;min-width:220px}.catalog-content select{max-width:170px;font-size:12px;padding:8px}.catalog-caption{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin:12px 0}.catalog-content .table-wrap{border:1px solid var(--line);border-radius:6px;background:var(--paper)}.catalog-table{min-width:700px}.catalog-table th{background:#f5f4f0;font-size:11px;color:var(--muted);padding:12px 14px}.catalog-table td{font-size:12px;padding:15px 14px;vertical-align:top}.catalog-table td:first-child{width:37%}.catalog-table td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.catalog-table code{font-size:10px;color:var(--muted);margin-left:9px}.theme-name{font-size:14px;font-weight:600;color:var(--ink)}.catalog-definition{font-size:11px;color:var(--muted);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pilot-tag{font-size:9px;margin-left:6px;color:var(--blue)}.catalog-table tr:hover td{background:#f7f8fa}.pagination{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:18px;font-size:11px;color:var(--muted)}.pagination>span{margin-right:auto}.theme-breadcrumb{display:flex;gap:10px;font-size:11px;color:var(--muted);margin:0 0 16px}.production-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:26px 0 18px;background:#f5f4f0}.production-steps>a,.production-steps>button{padding:14px 16px;display:grid;grid-template-columns:22px 1fr;gap:2px 7px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;color:var(--muted);font:inherit;text-decoration:none}.production-steps>*:last-child{border-right:0}.production-steps>*:hover{background:#eeeae2}.production-steps small{font-size:11px;grid-row:span 2;padding-top:2px}.production-steps strong{font-size:13px;font-weight:600}.production-steps span{font-size:11px;color:var(--muted)}.production-steps .done{color:var(--ink)}.production-steps .current{background:#eaf2fa;color:var(--blue);box-shadow:var(--shadow-sm)}.section-tabs{gap:24px;margin-bottom:22px}.section-tabs button{font-size:13px}.processing-grid{display:grid;grid-template-columns:165px minmax(0,1fr) 235px;gap:24px;align-items:start}.chapter-nav{position:sticky;top:24px}.chapter-nav button{display:flex;gap:11px;width:100%;padding:13px 9px;text-align:left;background:none;border:0;border-radius:6px;color:var(--text);font-size:12px;margin-bottom:4px}.chapter-nav small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.chapter-nav .chapter-number{font-size:10px;color:var(--muted);padding-top:2px}.chapter-nav button[aria-current=page]{background:var(--blue-soft);color:var(--blue);font-weight:600}.chapter-nav button:hover{background:#f0eee8}.chapter-paper{border:1px solid var(--line);border-radius:8px;background:var(--paper);min-width:0}.chapter{padding:27px 30px;border:0;overflow-wrap:anywhere}.chapter p{font-size:14px;line-height:1.95;margin:12px 0}.chapter-head{align-items:flex-start;margin-bottom:23px}.chapter-head .field-hint{font-size:11px;margin:7px 0 0}.chapter .eyebrow{margin:0 0 6px;font-size:9px;line-height:1.5}.draft-statement{border-bottom:1px solid #eeece6;padding:0 0 19px;margin:0 0 22px}.draft-statement:last-of-type{border-bottom:0}.origin{font-size:10px;color:var(--muted)}.citation-details{margin-top:10px}.citation-details summary{color:var(--blue);font-size:11px}.gap p{font-size:12px;margin:4px 0;line-height:1.8}.gap strong{font-size:11px}.chapter-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.chapter>.field-hint{font-size:11px;color:var(--muted);line-height:1.7}.context-rail{position:sticky;top:24px;min-width:0}.context-block{border:1px solid var(--line);border-radius:6px;padding:16px;margin-bottom:15px;background:#f5f4f0}.context-block h3{font-size:12px;margin-bottom:10px;display:flex;justify-content:space-between}.context-block h3 span{color:var(--muted)}.context-block>p{font-size:12px;line-height:1.8;margin-bottom:10px}.context-block>.text-button{font-size:11px}.source-link{display:block;width:100%;text-align:left;color:var(--blue);border:0;border-bottom:1px solid var(--line);background:none;padding:10px 0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.source-link:last-of-type{border-bottom:0}.source-link small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.source-link:hover{text-decoration:underline}
@media(max-width:1250px){.catalog-layout{grid-template-columns:185px minmax(0,1fr);gap:20px}.processing-grid{grid-template-columns:145px minmax(0,1fr) 205px;gap:18px}.chapter{padding:23px}.catalog-summary>div{display:block;padding:0 18px}.catalog-summary span{display:block}.context-block{padding:12px}.production-steps>a,.production-steps>button{padding:13px 10px}}
@media(max-width:950px){.processing-grid{grid-template-columns:145px minmax(0,1fr)}.context-rail{position:static;grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:14px}.context-rail>.rail-heading{grid-column:1/-1;margin:0}.context-block{margin:0}.catalog-layout{grid-template-columns:160px minmax(0,1fr)}.catalog-caption>span:last-child{display:none}.production-steps>a,.production-steps>button{grid-template-columns:1fr}.production-steps small{display:none}.page-heading{align-items:flex-start}}
@media(max-width:700px){.sidebar{padding:16px 18px 0;gap:15px}.brand>span:last-child{display:block}.sidebar nav{margin:0;gap:2px}.sidebar nav a{font-size:12px;padding:8px 10px}.workspace-label{display:none}.content-shell{width:100%;margin:0}.topbar{padding:0 18px}main{padding:18px}.page-heading{gap:14px;flex-direction:column}.catalog-summary{grid-template-columns:1fr 1fr;gap:14px;padding:16px 0}.catalog-summary>div{padding:0 12px;border:0}.catalog-summary strong{font-size:25px}.catalog-layout{display:block}.taxonomy-nav{position:static;display:flex;overflow:auto;max-height:none;border:0;padding:0 0 13px;gap:8px}.taxonomy-nav button{width:auto;white-space:nowrap;border:1px solid var(--line);padding:8px 10px}.taxonomy-nav .rail-heading,.taxonomy-nav .rail-note{display:none}.catalog-content .input{min-width:100%;width:100%}.catalog-content select{max-width:none;flex:1;min-width:110px}.processing-grid{display:block}.chapter-nav{position:static;display:flex;overflow:auto;margin-bottom:14px;padding-bottom:7px;gap:6px}.chapter-nav>p,.chapter-nav>.rail-note,.chapter-number{display:none}.chapter-nav button{width:auto;white-space:nowrap;padding:10px;flex-shrink:0;border:1px solid var(--line)}.chapter-nav small{font-size:10px}.chapter{padding:20px}.chapter-head{gap:12px}.chapter h2{font-size:19px}.context-rail{margin-top:18px;display:block}.context-rail>.rail-heading{margin-bottom:10px}.context-block{margin-bottom:12px}.production-steps{overflow-x:auto;grid-template-columns:repeat(5,minmax(115px,1fr))}.production-steps span{font-size:10px}.theme-breadcrumb{font-size:10px}.section-tabs{gap:20px}.section-tabs button{font-size:12px}.page-footer{margin:0 18px}.review-grid{grid-template-columns:1fr}#toast{left:18px;right:18px;transform:none}.catalog-summary span{font-size:11px}}

.definition-confirmation{padding:17px;margin:0 0 25px;border:1px solid #c2d9eb;border-radius:6px;background:#edf4fa;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.definition-confirmation>div{flex:1;min-width:200px}.definition-confirmation strong{font-size:13px;color:#173b66}.definition-confirmation p{font-size:12px;line-height:1.7;margin:6px 0 0;color:#4b6073}.definition-confirmation.confirmed{background:#edf4ed;border-color:#c6d9c9}.definition-confirmation.confirmed strong{color:#3f654b}.confirmation-preview{padding:15px 20px;background:#f5f4f0;border:1px solid var(--line);border-radius:6px;margin:20px 0;max-height:42vh;overflow:auto}.confirmation-preview p{margin:10px 0;font-size:13px;line-height:1.8}.confirm-check{display:flex;align-items:flex-start;gap:8px;margin:20px 0!important;font-size:13px!important}.confirm-check input{margin-top:4px;accent-color:var(--blue)}
/* Structured theme research workspace */
.knowledge-grid,.factor-grid,.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.knowledge-card,.factor-grid article{padding:20px;border:1px solid var(--line,#e4e7ee);border-radius:12px;background:var(--paper)}.knowledge-card h3,.factor-grid h4{margin:8px 0 12px}.knowledge-card p,.map-node p,.unit-body p,.inbox-item p{line-height:1.8}.studio-heading{margin-top:32px}.history-line>div{display:flex;gap:22px;border-left:2px solid #ccd8ed;padding:4px 0 22px 20px}.history-line>div>strong{min-width:85px;color:#3b67a0}.history-line h4{margin:0 0 8px}.history-line section{min-width:0}.map-root{background:#244d8a;color:white;border-radius:10px;text-align:center;font-weight:700;padding:17px;margin:24px auto;max-width:240px}.industry-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.map-branch{border-top:2px solid #b7c8e3;padding-top:16px}.map-branch h3{font-size:16px;text-align:center}.map-node{border-left:2px solid #bdcfe8;background:#f4f7fb;padding:14px;margin:12px 0;border-radius:0 8px 8px 0}.map-node p{font-size:13px}.map-node strong{font-size:14px}.method-path{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:22px 0;color:#3b6198;font-size:13px}.method-path span{background:#edf3fc;padding:9px 12px;border-radius:6px}.framework-unit{border:1px solid #dbe2ec;border-radius:10px;margin:14px 0}.framework-unit>summary{padding:18px;cursor:pointer;display:flex;gap:14px;align-items:baseline}.framework-unit>summary strong{color:#2d609e;white-space:nowrap}.framework-unit>summary span{font-size:14px;color:#526477}.unit-body{padding:0 20px 22px}.unit-body h4{margin-top:24px}.unit-body dl{font-size:13px}.unit-body dt{color:#3b6198;font-weight:600;margin-top:12px}.unit-body dd{margin:6px 0;line-height:1.7}.method-template{background:#f5f7fa;padding:12px;margin-top:12px}.method-template pre{white-space:pre-wrap;font-family:inherit;line-height:1.7;font-size:13px}.metric-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.metric-selection>div{border-left:3px solid #83a2d0;padding:8px 14px}.metric-selection p{font-size:13px;color:#61718a}.studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.studio-toolbar h3{margin-bottom:6px}.indicator-card{border:1px solid #dbe2ec;text-align:left;cursor:pointer;background:var(--paper);padding:20px;border-radius:12px;min-width:0;color:inherit;font-family:inherit;box-shadow:var(--shadow-sm)}.indicator-card:hover{border-color:#7398cc;background:#fafcff}.indicator-card h4{font-size:17px;margin:10px 0 20px}.indicator-value{font-size:27px;font-weight:600;color:#244d8a;white-space:normal}.indicator-value small{font-size:12px;font-weight:400}.indicator-card>p{font-size:12px;line-height:1.6;min-height:36px;color:#53657d}.indicator-meta{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#6b788b;border-top:1px solid #edf0f4;padding:13px 0}.indicator-card>.text-button{font-size:12px}.series-chart{width:100%;height:auto;background:#f7f9fc;border-radius:10px;margin:18px 0}.chart-axis{stroke:#cbd5e2;stroke-width:1}.chart-line{fill:none;stroke:#3c74ba;stroke-width:2}.series-chart circle{fill:#3c74ba}.series-chart text{font:12px sans-serif;fill:#63748b}.members-table td{vertical-align:top}.members-table td:first-child{min-width:125px}.members-table td:nth-child(2){min-width:100px}.members-table td:last-child{min-width:260px}.members-table p{line-height:1.75;margin:10px 0}.members-table small{display:block;color:#7a8799;font-size:11px;line-height:1.6}.inbox-item{padding:22px 0;border-bottom:1px solid #e3e8ef}.inbox-item h4{margin:14px 0 6px;font-size:17px}.inbox-item h4 button{font-size:inherit;text-align:left;line-height:1.6}.ai-assessment{background:#f0f5fc;border-radius:10px;padding:16px 18px;margin:16px 0;font-size:13px}.report-link{border-bottom:1px solid #e3e8ef;padding:15px 0}.report-link .badge{margin-left:10px}.confirmation-preview .indicator-grid{display:none}.industry-tree details{font-size:12px}.chapter-paper{min-width:0}@media(max-width:1200px){.industry-tree{grid-template-columns:1fr}.map-branch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.map-branch h3{grid-column:1/-1}.map-node{margin:0}.factor-grid{grid-template-columns:1fr}}@media(max-width:700px){.knowledge-grid,.indicator-grid,.metric-selection,.map-branch{grid-template-columns:1fr}.framework-unit>summary{display:block}.studio-toolbar{align-items:flex-start;flex-direction:column}.history-line>div{gap:12px}.history-line>div>strong{min-width:60px}}
:root{--mind-blue:#33629c;--mind-amber:#a07334;--mind-teal:#287b77}
.processing-grid.visual-workspace{grid-template-columns:165px minmax(0,1fr)}
.visual-workspace>.context-rail{display:none}
.visual-workspace .chapter{padding:26px}
.mind-map{margin:24px 0}
.mind-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:10px 10px 0 0;background:#f8fafc}
.mind-toolbar strong{display:block;font-size:15px}.mind-toolbar span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.mind-viewport{overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 10px 10px;background-color:#fbfcfe;background-image:radial-gradient(#d9e2eb .8px,transparent .8px);background-size:18px 18px}
.mind-canvas{display:block;width:100%;min-width:700px;height:auto;font-family:inherit}
.is-zoomed .mind-canvas{min-width:1400px}
.mind-canvas text{font-size:16px;fill:var(--ink);pointer-events:none}
.mind-canvas .mind-count{font-size:11px;fill:var(--mind-color)}
.mind-color-0{--mind-color:var(--mind-amber);--mind-fill:#fbf5e9}
.mind-color-1{--mind-color:var(--mind-blue);--mind-fill:#edf4fe}
.mind-color-2{--mind-color:var(--mind-teal);--mind-fill:#eaf6f2}
.mind-link{fill:none;stroke:var(--mind-color);stroke-width:2.2;opacity:.65}
.mind-twig{stroke-width:1.5}
.mind-center rect{fill:#214d83;stroke:#183e6e;stroke-width:1.5}.mind-center text{fill:#fff;font-weight:700;font-size:20px}
.mind-group,.mind-leaf{cursor:pointer;outline:none}
.mind-group rect{fill:var(--mind-fill);stroke:var(--mind-color);stroke-width:1.5}
.mind-group text{font-weight:600}
.mind-leaf rect{fill:#fff;stroke:#ced8e1;stroke-width:1.2}
.mind-leaf:hover rect,.mind-leaf[aria-pressed="true"] rect{fill:var(--mind-fill);stroke:var(--mind-color);stroke-width:2}
.mind-leaf:focus-visible rect,.mind-group:focus-visible rect{stroke:#101827;stroke-width:3}
.mind-evidence-dot{fill:var(--mind-color)}.mind-canvas .mind-warning{fill:#a42d31;font-size:14px;font-weight:700}
.mind-leaves.is-collapsed{display:none}
.mind-legend{display:flex;flex-wrap:wrap;gap:10px 18px;padding:16px 2px;font-size:12px;color:var(--muted)}
.mind-legend span{display:flex;align-items:center;gap:6px}.mind-legend i{width:9px;height:9px;border-radius:50%;background:var(--mind-color)}
.mind-detail{min-height:145px;border:1px solid #d5e0ec;border-left:3px solid #33629c;border-radius:8px;padding:20px 24px;background:#f8fafc}
.mind-detail h3{margin:6px 0;font-size:18px}.mind-detail p{margin:9px 0}.mind-detail .citation-details{margin-top:16px}
.mind-outline{margin:18px 0;border-bottom:1px solid var(--line);padding:12px 0}.mind-outline>summary{font-size:13px;color:var(--blue);cursor:pointer}
.mind-outline-group h4{font-size:15px;margin:24px 0 12px}.mind-description{border-left:2px solid #d8e2ef;padding:8px 16px;margin:12px 0}
.mind-description>strong{font-size:14px}.mind-description p{margin:8px 0}
.metric-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:14px 0 28px}
.metric-trend-card{min-width:0;border:1px solid #dce2ea;border-radius:10px;background:var(--paper);padding:20px 18px 14px;--trend-color:#35669e}
.metric-trend-card:nth-child(even){--trend-color:#287b77}
.metric-trend-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.metric-trend-card header .text-button{font-size:11px;white-space:nowrap;padding-top:2px}
.metric-trend-card h4{font-size:17px;margin:6px 0 0}
.metric-trend-value{font-size:29px;font-weight:600;letter-spacing:-.6px;margin:17px 0 4px;color:#203d5f;line-height:1.5}
.metric-trend-value small{font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted)}.metric-trend-value>span{display:block;font-size:11px;letter-spacing:0;font-weight:400;color:var(--muted)}
.chapter .metric-spec{font-size:12px;line-height:1.7;margin:8px 0 12px;min-height:40px;color:var(--muted)}
.trend-ranges{display:flex;align-items:center;gap:4px;border-top:1px solid #eff1f5;padding-top:12px}
.trend-ranges button{background:none;border:0;border-radius:4px;padding:4px 9px;font:inherit;font-size:11px;color:var(--muted);cursor:pointer}
.trend-ranges button[aria-pressed="true"]{background:#eaf1f9;color:#214d83;font-weight:600}.trend-ranges small{font-size:10px;color:var(--muted);margin-left:auto}
.trend-svg{display:block;width:100%;height:auto;margin-top:15px;overflow:visible;cursor:crosshair}
.trend-svg:focus-visible{outline:2px solid #35669e;outline-offset:4px;border-radius:4px}
.trend-gridline{stroke:#e7edf3;stroke-width:1;stroke-dasharray:3 4}.trend-tick,.trend-unit{font-size:17px;fill:#68798b;font-family:inherit}
.trend-line{stroke:var(--trend-color);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}.trend-point{fill:var(--trend-color);opacity:.65}
.trend-crosshair{stroke:var(--trend-color);stroke-width:1;stroke-dasharray:3 4;opacity:.45}.trend-focus{fill:var(--trend-color);stroke:#fff;stroke-width:2}
.trend-readout{font-size:12px;font-variant-numeric:tabular-nums;min-height:22px;text-align:center;color:#2e527a}
.chapter .trend-range-note{font-size:10px;text-align:center;color:var(--muted);margin:4px 0 12px}
.metric-trend-card footer{border-top:1px solid #edf0f4;padding-top:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:var(--muted);font-size:10px;line-height:1.6}
.trend-section-title{font-size:15px;margin:24px 0 0}.trend-section-title span{font-size:11px;font-weight:400;color:var(--muted);margin-left:12px}
@media(max-width:1100px){.processing-grid.visual-workspace{grid-template-columns:145px minmax(0,1fr)}.metric-trend-grid{grid-template-columns:1fr}.visual-workspace .chapter{padding:22px}}
@media(max-width:760px){.processing-grid.visual-workspace{grid-template-columns:1fr}.mind-toolbar{align-items:flex-start;flex-direction:column}.visual-workspace .chapter{padding:18px}.mind-detail{padding:16px}.metric-trend-card{padding:16px 12px}.mind-legend{font-size:11px}}

.single-observation{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:16px 0;background:#f8fafc;border-radius:8px}.single-observation>strong{font-size:28px;color:#254e80}.single-observation small{font-size:12px;font-weight:400}.single-observation>span:last-child{font-size:11px;color:var(--muted)}.chapter .single-observation p{font-size:12px;margin:0}

/* 重新聚焦：跨主题提醒与点评时间线 */
.alert-card{border-left:4px solid var(--line)}.alert-high{border-left-color:var(--red)}.alert-medium{border-left-color:var(--amber)}.alert-low{border-left-color:var(--blue)}
.alert-card h4{font-size:15px;margin:6px 0 4px;color:var(--ink)}.alert-card details{margin:6px 0}.alert-card .actions .btn,.alert-card .actions .text-button{margin-right:4px}
.filters .btn.small.primary{pointer-events:none}

/* AlphaPai 初始框架与三层指标 */
.ap-frame{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0 18px;background:var(--paper)}
.ap-frame h4{margin:12px 0 4px}.ap-frame .knowledge-card ul{padding-left:1.1em;margin:6px 0}.ap-frame .knowledge-card li{margin:4px 0;font-size:13px}
.ap-frame dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:13px}.ap-frame dt{color:var(--muted)}.ap-frame dd{margin:0}

/* 主题定义：投资者视角视图 */
.definition-view{display:grid;gap:14px}.definition-body{display:grid;gap:12px}.definition-body p{font-size:15.5px;line-height:1.95;color:var(--ink);margin:0}.logic-view{margin-bottom:18px}.chapter-tools{display:flex;gap:8px;align-items:center}#authored-text{width:100%;min-height:260px;line-height:1.8;font-size:14.5px}.overview-block{margin-bottom:22px}.overview-block .studio-heading{margin:0 0 8px}
.definition-facets{display:flex;flex-wrap:wrap;gap:6px}.facet-tag{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--blue-soft);color:var(--blue)}
.chapter-nav button[data-action="chapter"]{padding-left:14px}

.chain{display:grid;gap:18px}.chain-tree-wrap{position:relative}.chain-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.chain-tree{position:relative;display:grid;grid-template-columns:132px 92px minmax(0,1fr);column-gap:34px;row-gap:26px;align-items:center}
.chain-tree.tiers-1{grid-template-rows:auto}.chain-tree.tiers-2{grid-template-rows:repeat(2,auto)}.chain-tree.tiers-3{grid-template-rows:repeat(3,auto)}.chain-tree.tiers-4{grid-template-rows:repeat(4,auto)}.chain-tree.tiers-5{grid-template-rows:repeat(5,auto)}.chain-tree.tiers-6{grid-template-rows:repeat(6,auto)}
.chain-root{grid-column:1;grid-row:1 / -1;align-self:center;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:16px 12px;text-align:center;cursor:pointer;font:inherit;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.chain-root .chain-name{display:block;font-size:16px;font-weight:600;color:var(--ink)}.chain-root small{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.chain-root:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c5d0c6}.chain-root.sel{border-color:var(--green);box-shadow:var(--shadow-sm)}
.chain-tier{grid-column:2;align-self:center;background:var(--green-soft);color:var(--green);border-radius:10px;padding:9px 0;text-align:center;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm)}
.chain-group{grid-column:3;display:grid;gap:9px}
.chain-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.chain-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c5d0c6}
.chain-card.sel{border-color:var(--green);box-shadow:var(--shadow-sm)}
.chain-card.adjacent{background:#fbfcfb;border-style:dashed;box-shadow:none}.chain-card.adjacent:hover{box-shadow:var(--shadow-sm)}
.chain-card .chain-name{font-size:13.5px;font-weight:600;color:var(--ink);white-space:nowrap}.chain-card.adjacent .chain-name{color:var(--muted)}
.chain-card .chain-brief{flex:1;min-width:0;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chain-count{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--blue-soft);color:var(--blue);white-space:nowrap;font-weight:600}.chain-count.zero,.chain-count.adj{background:#eef1ed;color:#6e7c72}
.chain-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow-sm)}
.chain-panel h3{margin:0 0 8px;font-size:16px;color:var(--ink)}.chain-panel p{margin:0 0 10px;font-size:14px;line-height:1.85;color:var(--text)}
.chain-points{margin:0 0 8px;padding-left:18px;font-size:13.5px;line-height:1.8}
.chain-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;margin:6px 0;font-size:13px;line-height:1.7}.chain-key{color:var(--muted)}
.chain-chip{display:inline-block;font-size:12px;padding:2px 9px;border-radius:6px;margin:0 5px 5px 0;background:#eef1ed;color:#5f6d63}.chain-chip.a{background:var(--blue-soft);color:var(--blue);font-weight:600}
.chain-tag{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:6px;margin:0 5px 5px 0;background:var(--green-soft);color:var(--green)}
@media(max-width:760px){.chain-tree{grid-template-columns:1fr;row-gap:12px}.chain-root,.chain-tier,.chain-group{grid-column:1!important;grid-row:auto!important}.chain-lines{display:none}}

.agent-pane{width:300px;position:fixed;inset:0 0 0 auto;background:#fdfefd;border-left:1px solid var(--line);padding:26px 20px 22px;display:flex;flex-direction:column;gap:14px;z-index:10}
.agent-head{display:flex;align-items:center;justify-content:space-between}.agent-head strong{font-size:14px;color:var(--ink)}
.agent-placeholder{flex:1;border:1px dashed var(--line);border-radius:12px;padding:18px 16px;background:var(--paper);color:var(--muted);font-size:12.5px;line-height:1.8}.agent-placeholder p{margin:0}
.agent-input input{width:100%}
.content-shell{width:auto;margin-right:300px}
.processing-grid,.processing-grid.visual-workspace{grid-template-columns:165px minmax(0,1fr)}
@media(max-width:1150px){.agent-pane{width:264px;padding:20px 14px}.content-shell{margin-right:264px}.processing-grid,.processing-grid.visual-workspace{grid-template-columns:145px minmax(0,1fr)}}
@media(max-width:950px){.agent-pane{display:none}.content-shell{margin-right:0}}
@media(max-width:760px){.processing-grid,.processing-grid.visual-workspace{grid-template-columns:1fr}}

.logic{display:grid;gap:8px}
.logic-core{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow-sm)}
.logic-core p{margin:0 0 10px;font-size:15px;line-height:1.9;color:var(--ink)}.logic-core p:last-child{margin:0}.logic-core p+p{font-size:14px;color:var(--text)}
.logic-horizons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.logic-h{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-sm);min-width:0}
.logic-h .bar{height:3px;border-radius:2px;margin-bottom:10px;background:var(--green);opacity:.55}.logic-h.h2 .bar{opacity:.8}.logic-h.h3 .bar{opacity:1}
.logic-h h4{margin:0;font-size:14px;color:var(--ink)}.logic-h .sub{font-size:12px;color:var(--muted);margin:2px 0 6px}
.logic-h dl{margin:0;font-size:12.5px;line-height:1.65}.logic-h dt{color:var(--muted);font-size:11px;margin-top:9px}.logic-h dd{margin:0;color:var(--text)}
.logic-table{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}.logic-table th{text-align:left;font-weight:600;color:var(--muted);font-size:11.5px;padding:8px;border-bottom:1px solid #c9d3c9}.logic-table th.c1{width:14%}.logic-table th.c2{width:14%}.logic-table th.c4{width:20%}
.logic-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}
.logic-tag{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--green-soft);color:var(--green);white-space:nowrap}
.logic-path{font-size:13px;padding:8px 14px;border-left:3px solid var(--green);margin:6px 0;background:#fbfcfb;border-radius:0 8px 8px 0}
.logic-now{background:var(--green-soft);border-radius:12px;padding:14px 18px;font-size:13.5px;line-height:1.8}.logic-now p{margin:6px 0 0}
.logic-date{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:6px;background:var(--amber-soft);color:var(--amber);margin-right:8px;font-weight:600}
@media(max-width:1100px){.logic-horizons{grid-template-columns:1fr}}

.logic-list{margin:0;padding-left:18px;display:grid;gap:8px;font-size:13.5px;line-height:1.8;color:var(--text)}.logic-list strong{color:var(--ink)}

.logic-table th.c3{width:18%}.logic-table th.c5{width:27%}.logic-table.seg .logic-tag{white-space:normal}

.logic.notes{margin-top:10px}.trend-section-title span{font-size:12px;font-weight:400;color:var(--muted);margin-left:8px}

.metric-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:12px;margin:10px 0 22px}
.metric-mini{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px 10px;cursor:pointer;display:grid;gap:6px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;min-width:0}
.metric-mini:hover,.metric-mini:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c5d0c6;outline:none}
.metric-mini header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.metric-mini h4{margin:0;font-size:13px;color:var(--ink);line-height:1.35}.metric-mini header span{font-size:10.5px;color:var(--muted);white-space:nowrap}
.mini-value{font-size:19px;font-weight:600;color:var(--ink);line-height:1.2;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.mini-value small{font-size:11px;font-weight:400;color:var(--muted)}
.mini-value em{font-style:normal;font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px}.mini-value em.up{background:var(--red-soft);color:var(--red)}.mini-value em.down{background:var(--green-soft);color:var(--green)}
.mini-value .roic-upper{font-size:14px;line-height:1.5}
.mini-spark{width:100%;height:44px;display:block}.mini-spark polyline{stroke:var(--green);stroke-width:1.6}.mini-spark circle{fill:var(--green)}
.mini-note{margin:0;font-size:11.5px;line-height:1.6;color:var(--text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.metric-mini footer{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:6px}.metric-mini footer .short{color:var(--amber)}

.dialog-ranges{border-top:0;padding:0;margin:8px 0 6px}.dialog-ranges small{margin-left:auto;font-size:11px;color:var(--muted)}

.constituents{display:grid;gap:6px}.group-count{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}
.logic-table.members th.m1{width:21%}.logic-table.members th.m3{width:15%}.logic-table.members th.m4{width:9%}
.logic-table.members td small{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}
.flag-tag{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:5px;margin-left:6px;background:var(--amber-soft);color:var(--amber);font-weight:600}
.tier-tag{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:6px;font-weight:600}.tier-high{background:var(--green-soft);color:var(--green)}.tier-mid{background:var(--blue-soft);color:var(--blue)}.tier-low{background:#eef1ed;color:#6e7c72}

.feed{display:grid;gap:6px}.feed-summary{margin:0 0 4px}
.point-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:4px 0 10px}
.point-card{display:grid;gap:4px;text-align:left;font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 13px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.point-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c5d0c6}.point-card.sel{border-color:var(--green);box-shadow:var(--shadow-sm)}
.point-card.quiet{background:#fbfcfb;box-shadow:none}.point-name{font-size:13px;font-weight:600;color:var(--ink)}.point-count{font-size:11px;font-weight:600;color:var(--green)}.point-card.quiet .point-count{color:var(--muted)}
.point-latest{font-size:12px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.point-card small{font-size:10.5px;color:var(--muted)}
.feed-list{display:grid;gap:6px}
.feed-item{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:0}.feed-item[open]{box-shadow:var(--shadow-sm)}
.feed-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:78px 30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;font-size:13px}.feed-item summary::-webkit-details-marker{display:none}
.feed-item.unread .feed-head{font-weight:600;color:var(--ink)}.feed-date{font-size:11.5px;color:var(--muted)}.feed-head{line-height:1.55}
.feed-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.feed-tags em,.point-chip{font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:5px;background:var(--green-soft);color:var(--green);white-space:nowrap}.feed-tags em.rep{background:var(--blue-soft);color:var(--blue)}
.point-chip{margin-left:4px}
.imp-tag{display:inline-block;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:5px;text-align:center}.imp-tag.imp-high{background:var(--red-soft);color:var(--red)}.imp-tag.imp-medium{background:var(--amber-soft);color:var(--amber)}.imp-tag.imp-low{background:#eef1ed;color:#6e7c72}.imp-tag.rep{background:var(--blue-soft);color:var(--blue)}
.feed-body{padding:4px 14px 12px;border-top:1px solid var(--line);font-size:13px;line-height:1.75}.feed-body p{margin:8px 0 0}.feed-body strong{color:var(--ink);margin-right:8px}
.feed-reports{display:grid;gap:6px}.report-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 10px;text-align:left;font:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}.report-row span.muted{grid-column:2 / -1;font-size:12px}.report-row small{color:var(--muted);font-size:11px}
@media(max-width:760px){.feed-item summary{grid-template-columns:auto auto minmax(0,1fr)}.feed-tags{grid-column:1 / -1;justify-content:flex-start}}

.wiki-rail h1{font-size:24px;line-height:1.25;margin:0;color:var(--ink);overflow-wrap:anywhere}.wiki-note{margin:6px 0 0;color:var(--muted);font-size:12px}
.wiki-back{display:inline-block;font-size:11px;color:var(--muted);text-decoration:none;margin-bottom:12px}.wiki-back:hover{color:var(--green)}
.wiki-toc{display:grid;gap:2px;margin-top:20px}
.wiki-toc button{text-align:left;background:none;border:0;border-left:2px solid transparent;padding:8px 12px;font:inherit;font-size:13px;color:var(--text);cursor:pointer;border-radius:0 8px 8px 0}
.wiki-toc button:hover{background:#eef3ee}.wiki-toc button.active{border-left-color:var(--green);color:var(--green);font-weight:600;background:var(--green-soft)}
.wiki-body{min-width:0}.wiki-body>.chapter{max-width:1400px}
.chapter-head.wiki{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.chapter-head.wiki h2{margin:0;font-size:21px;color:var(--ink)}
@media(max-width:900px){.wiki-rail{margin-bottom:14px}.wiki-toc{display:flex;flex-wrap:wrap;gap:4px;margin-top:12px}.wiki-toc button{border-left:0;border-radius:8px;padding:5px 10px}}
/* 固定外壳：顶部菜单和面包屑栏不随页面滚动，只有内容区滚动；右侧助手栏独占一列，不再盖住顶部菜单 */
html,body{height:100%}body{overflow:hidden}
.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;margin-right:300px;overflow:hidden}
.sidebar{flex:none;padding-top:14px;gap:10px}.sidebar nav{padding-bottom:10px}
.content-shell{flex:1;min-height:0;display:flex;flex-direction:column;margin-right:0;width:auto}
.topbar{flex:none;border-bottom:1px solid var(--line)}
.content-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.taxonomy-nav{max-height:calc(100dvh - 230px)}
@media(min-width:1440px){.sidebar{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:34px;padding-top:12px;padding-bottom:12px}.sidebar nav{grid-column:auto;padding:0}.workspace-label{display:none}}
@media(max-width:1150px){.shell{margin-right:264px}}
@media(max-width:950px){.shell{margin-right:0}}
@media(max-width:760px){html,body{height:auto}body{overflow:visible}.shell{display:block;height:auto;overflow:visible}.content-shell{display:block}.content-scroll{overflow:visible}}
.sidebar nav{scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}
.chain-group{grid-template-columns:minmax(0,1fr);min-width:0}.chain-card{min-width:0}
/* Wiki 页双栏独立：左栏（主题名与目录）不在滚动区里，右侧当前板块自己滚动；页脚在这一版式下不显示 */
@media(min-width:901px){
.content-scroll:has(.wiki-layout){overflow:hidden;display:flex;flex-direction:column;scrollbar-gutter:auto}
.content-scroll:has(.wiki-layout)>main{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding-top:0;padding-bottom:0;padding-right:0;box-sizing:border-box;display:flex}
.content-scroll:has(.wiki-layout)>.page-footer{display:none}
.wiki-layout{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:192px minmax(0,1fr);align-items:stretch}
.wiki-rail{min-height:0;overflow:auto;border-right:1px solid var(--line);padding:24px 16px 24px 0;scrollbar-width:thin}
.wiki-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:24px 3.5vw 60px 30px}
}
/* 产业图谱按自身宽度折叠（中间栏变窄时视口宽度不再说明问题）：不足 700px 时改为单列，与脚本隐藏连线的阈值一致 */
.chain-tree-wrap{container-type:inline-size}
@container (max-width:700px){.chain-tree{grid-template-columns:1fr;row-gap:12px}.chain-root,.chain-tier,.chain-group{grid-column:1!important;grid-row:auto!important}.chain-lines{display:none}}
/* 主题定义的子领域：紧凑的小卡片，宽屏一行三到四个 */
.knowledge-grid.branch-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:14px 0 4px}
.branch-grid .knowledge-card{padding:14px 16px;box-shadow:var(--shadow-sm)}
.branch-grid .knowledge-card h3{margin:0 0 6px;font-size:14px;color:var(--ink)}.branch-grid .knowledge-card p{margin:0;font-size:13px;line-height:1.7}
/* 正文与下方的卡片、表格同宽，两端对齐，左右边缘上下一致 */
.definition-body p,.logic-core p,.logic-list li{text-align:justify}
.wiki-url{white-space:normal;word-break:break-all;overflow-wrap:anywhere}
/* ===== Wiki 表现层 =====
   基础配色与字体由 stocklink.css 的 StockLink 4.5语义变量统一；图表八色仍表示类别，同一分类全页同色，行情保持红涨绿跌。
   动效按“商务”人格：150 / 250 / 400ms 三档，统一缓动，只动 transform 与 opacity；左栏的“动效”开关关掉后全部静止。 */
:root{
  --c1:#6a9bcc;--c2:#d97757;--c3:#788c5d;--c4:#9b7ac7;--c5:#c99a2e;--c6:#4a8db8;--c7:#c45b84;--c8:#5ba3a3;
  --dur-fast:150ms;--dur:250ms;--dur-slow:400ms;--ease:cubic-bezier(.2,0,0,1);--ease-soft:cubic-bezier(.4,0,.2,1);
  --lift:var(--shadow-sm)}
.c1{--tone:var(--c1);--tone-soft:#eaf1f8;--tone-ink:#3e6a96}.c2{--tone:var(--c2);--tone-soft:#fbede7;--tone-ink:#a9502f}
.c3{--tone:var(--c3);--tone-soft:#eef1e9;--tone-ink:#55683e}.c4{--tone:var(--c4);--tone-soft:#f1ecf8;--tone-ink:#6d4f9c}
.c5{--tone:var(--c5);--tone-soft:#faf2df;--tone-ink:#8a6a17}.c6{--tone:var(--c6);--tone-soft:#e6f0f6;--tone-ink:#2f6a91}
.c7{--tone:var(--c7);--tone-soft:#f8e9ef;--tone-ink:#983e63}.c8{--tone:var(--c8);--tone-soft:#e7f2f2;--tone-ink:#357373}

/* 入场：板块切换时内容自下而上浮现，逐块错开，总时长不超过 400ms */
@keyframes fx-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fx-draw{to{stroke-dashoffset:0}}
@keyframes fx-dash{to{stroke-dashoffset:-24}}
@keyframes fx-dot{0%{opacity:0;transform:translateX(0)}18%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translateX(19px)}}
@keyframes fx-live{0%,100%{transform:scale(1);opacity:.45}50%{transform:scale(2.1);opacity:0}}
.fx-on .wiki-body .chapter>*{animation:fx-rise var(--dur-slow) var(--ease) both}
.fx-on .wiki-body .chapter>*:nth-child(2){animation-delay:60ms}.fx-on .wiki-body .chapter>*:nth-child(3){animation-delay:120ms}.fx-on .wiki-body .chapter>*:nth-child(n+4){animation-delay:180ms}
.fx-on .fx-stagger>*{animation:fx-rise var(--dur-slow) var(--ease) both}
.fx-on .fx-stagger>*:nth-child(2){animation-delay:35ms}.fx-on .fx-stagger>*:nth-child(3){animation-delay:70ms}.fx-on .fx-stagger>*:nth-child(4){animation-delay:105ms}
.fx-on .fx-stagger>*:nth-child(5){animation-delay:140ms}.fx-on .fx-stagger>*:nth-child(6){animation-delay:175ms}.fx-on .fx-stagger>*:nth-child(7){animation-delay:210ms}
.fx-on .fx-stagger>*:nth-child(8){animation-delay:245ms}.fx-on .fx-stagger>*:nth-child(9){animation-delay:280ms}.fx-on .fx-stagger>*:nth-child(10){animation-delay:315ms}
.fx-on .fx-stagger>*:nth-child(n+11){animation-delay:350ms}

/* 左栏目录：选中底色块在目录项之间滑动 */
.wiki-toc{position:relative}.wiki-toc button{position:relative;z-index:1;transition:color var(--dur-fast) var(--ease)}
.toc-ind{position:absolute;left:0;top:0;width:0;height:0;border-radius:0 8px 8px 0;background:var(--blue-soft);box-shadow:var(--shadow-sm);pointer-events:none;opacity:0}
.toc-ind.ready{opacity:1;transition:transform var(--dur) var(--ease),width var(--dur) var(--ease),height var(--dur) var(--ease)}
.wiki-toc.fx-ind .toc-ind{opacity:1}.wiki-toc.fx-ind button.active{background:none;border-left-color:transparent}
.wiki-layout{position:relative}
.wiki-progress{position:absolute;top:0;left:192px;right:0;height:2px;z-index:3;pointer-events:none;overflow:hidden}
.wiki-progress i{display:block;height:100%;background:var(--blue);opacity:.7;transform:scaleX(0);transform-origin:0 50%}
@media(max-width:900px){.wiki-progress{display:none}.toc-ind{border-radius:8px;box-shadow:none}.block-nav{position:static}}

/* 板块内导航：跟随滚动贴在内容区顶部 */
.block-nav{position:sticky;top:-24px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;padding:10px 0;margin:-10px 0 6px;background:var(--bg);box-shadow:var(--shadow-sm)}
.block-nav button{font:inherit;font-size:12px;line-height:1.5;padding:3px 11px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--n10);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.block-nav button:hover{background:var(--n2);border-color:var(--n5)}.block-nav button.active{background:var(--blue-soft);border-color:transparent;color:var(--blue);font-weight:600}
.overview-block,.logic .studio-heading,.logic-core,.trend-section-title,.constituents .studio-heading{scroll-margin-top:58px}
.studio-heading.mark::before,.trend-section-title.mark::before{content:"";display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--tone);margin-right:9px;vertical-align:1px}

/* 主题定义：概览数字条与子领域 */
.definition-body.lead p:first-child{font-size:15px;color:var(--ink)}
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;margin:20px 0 4px}
.stat-tile{position:relative;display:grid;gap:1px;text-align:left;font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 14px 12px;min-width:0}
button.stat-tile{cursor:pointer;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.stat-tile::before{content:"";width:18px;height:3px;border-radius:2px;background:var(--tone);margin-bottom:8px}
.stat-tile strong{font-size:26px;line-height:1.15;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.stat-tile strong small{font-size:12px;font-weight:400;color:var(--muted);margin-left:3px}
.stat-tile span{font-size:12px;color:var(--n10)}
.stat-tile em{position:absolute;right:12px;top:12px;font-style:normal;font-size:11px;color:var(--tone-ink);opacity:0;transform:translateX(-4px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
button.stat-tile:hover,button.stat-tile:focus-visible{transform:translateY(-2px);border-color:var(--tone);box-shadow:var(--lift)}button.stat-tile:hover em,button.stat-tile:focus-visible em{opacity:1;transform:none}
button.stat-tile:active{transform:scale(.98)}
.stat-strip.compact{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));margin:2px 0 8px}.stat-strip.compact .stat-tile{padding:10px 12px}.stat-strip.compact .stat-tile strong{font-size:21px}
.branch-grid .knowledge-card{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.branch-grid .knowledge-card:hover{transform:translateY(-2px);border-color:var(--tone);box-shadow:var(--lift)}
.branch-grid .knowledge-card h3::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--tone);margin-right:8px;vertical-align:1px}

/* 术语表 */
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:0}
.gloss>div{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--paper)}
.gloss dt{font-weight:600;color:var(--ink);font-size:13.5px;margin-bottom:4px}.gloss dd{margin:0;font-size:13px;line-height:1.75;color:var(--text)}

/* 流程图：步骤卡片加连接箭头，连接线上有一个缓慢流动的小点；“循环”多一条回到起点的返回线 */
.fd-wrap{container-type:inline-size;margin:12px 0 8px}.path-stack{display:grid;gap:4px}
.fd{display:flex;align-items:stretch}
.fd-step{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 12px;font-size:12.5px;line-height:1.5;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:10px;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.fd-step:hover{border-color:var(--tone);transform:translateY(-1px)}
.fd-step.first{background:var(--tone-soft);border-color:transparent;color:var(--tone-ink);font-weight:600}.fd-step.last{border-color:var(--tone);color:var(--ink);font-weight:600}
.fd.loop .fd-step.last{border-color:var(--line);font-weight:400;color:var(--text)}
.fd-link{flex:0 0 30px;position:relative;align-self:center;height:12px}
.fd-link::before{content:"";position:absolute;left:3px;right:7px;top:50%;height:1.5px;margin-top:-.75px;background:var(--n6)}
.fd-link::after{content:"";position:absolute;right:5px;top:50%;width:6px;height:6px;margin-top:-4px;border-top:1.5px solid var(--n8);border-right:1.5px solid var(--n8);transform:rotate(45deg)}
.fd-link i{position:absolute;left:2px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--tone);opacity:0}
.fx-on .fd-wrap.in .fd-link i{animation:fx-dot 2.6s var(--ease-soft) infinite}
.fx-on .fd-wrap.in .fd-link:nth-child(4) i{animation-delay:.35s}.fx-on .fd-wrap.in .fd-link:nth-child(6) i{animation-delay:.7s}.fx-on .fd-wrap.in .fd-link:nth-child(8) i{animation-delay:1.05s}.fx-on .fd-wrap.in .fd-link:nth-child(10) i{animation-delay:1.4s}.fx-on .fd-wrap.in .fd-link:nth-child(12) i{animation-delay:1.75s}
.fd-return{position:relative;height:24px;border:1.5px dashed var(--n6);border-top:0;border-radius:0 0 14px 14px}
.fd.n3+.fd-return{margin:0 calc((100% - 60px)/6)}.fd.n4+.fd-return{margin:0 calc((100% - 90px)/8)}.fd.n5+.fd-return{margin:0 calc((100% - 120px)/10)}.fd.n6+.fd-return{margin:0 calc((100% - 150px)/12)}.fd.n7+.fd-return{margin:0 calc((100% - 180px)/14)}
.fd-return::before{content:"";position:absolute;left:-5px;top:0;width:7px;height:7px;border-left:1.5px solid var(--n8);border-top:1.5px solid var(--n8);transform:rotate(45deg)}
.fd-return span{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);background:var(--bg);padding:0 10px;font-size:11px;color:var(--n9);white-space:nowrap}
.fd-wrap:has(.fd-return){margin-bottom:22px}
@container (max-width:620px){.fd{flex-direction:column}.fd-link{transform:rotate(90deg);flex-basis:24px}.fd-return{display:none}}

/* 分类图：总称在左，各类一张小卡，成员是同色的小标签 */
.taxo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 22px;align-items:center;margin:12px 0 8px}
.taxo-root{position:relative;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--n5);border-radius:10px;padding:9px 16px}
.taxo-root::after{content:"";position:absolute;left:100%;top:50%;width:22px;height:1.5px;background:var(--n5)}
.taxo-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;border-left:1.5px solid var(--n5);padding-left:16px}
.taxo-group{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px;transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.taxo-group:hover{border-color:var(--tone);transform:translateY(-1px)}
.taxo-group h5{margin:0 0 7px;font-size:12.5px;color:var(--tone-ink)}.taxo-group h5::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--tone);margin-right:7px}
.taxo-group div{display:flex;flex-wrap:wrap;gap:5px}.taxo-group span{font-size:11.5px;padding:2px 8px;border-radius:6px;background:var(--tone-soft);color:var(--tone-ink)}
@media(max-width:900px){.taxo{grid-template-columns:1fr;gap:8px}.taxo-root{justify-self:start}.taxo-root::after{display:none}.taxo-groups{border-left:0;padding-left:0}}

/* 产业图谱：上中下游各用一个分类色，连线首次绘入，选中环节的路径有流动的虚线 */
.chain-tier{background:var(--tone-soft);color:var(--tone-ink);box-shadow:none}
.chain-card{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.chain-card:hover{border-color:var(--tone)}.chain-card.sel{border-color:var(--tone);box-shadow:var(--shadow-sm)}
.chain-card:not(.adjacent) .chain-count:not(.zero){background:var(--tone-soft);color:var(--tone-ink)}
.chain-counts{display:inline-flex;gap:4px;flex-wrap:nowrap}
.chain-card:not(.adjacent) .chain-count.hk{background:#fbeee6;color:#9a4a1c}
.chain-chip.h{background:#fbeee6;color:#9a4a1c;font-weight:600}
.chain-root.sel{border-color:var(--blue);box-shadow:var(--shadow-sm)}
.chain-base path{stroke:var(--n5);stroke-width:1.3}
.fx-on .chain-lines:not(.redraw) .chain-base path{stroke-dasharray:1;stroke-dashoffset:1;animation:fx-draw 700ms var(--ease) 120ms forwards}
.chain-flow path{stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 7}.fx-on .chain-flow path{animation:fx-dash 1.1s linear infinite}
.chain-flow path.t0{stroke:var(--c1)}.chain-flow path.t1{stroke:var(--c8)}.chain-flow path.t2{stroke:var(--c5)}.chain-flow path.t3{stroke:var(--c4)}.chain-flow path.t4{stroke:var(--c2)}.chain-flow path.t5{stroke:var(--c3)}
.fx-on .chain-panel>*{animation:fx-rise var(--dur) var(--ease) both}.fx-on .chain-panel>*:nth-child(n+2){animation-delay:40ms}.fx-on .chain-panel>*:nth-child(n+3){animation-delay:80ms}
.chain-chip.a{background:var(--blue-soft);color:var(--blue)}

/* 投资逻辑：短中长期时间轴、细分板块、传导路径、跟踪点 */
.hz{display:grid;gap:12px}
.hz-axis{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:14px}
.hz-axis::before{content:"";position:absolute;left:7px;right:0;top:6px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--c2),var(--c5) 50%,var(--c1));opacity:.6;transform-origin:0 50%}
.hz-axis i{position:relative;width:14px;height:14px;border-radius:50%;background:var(--paper);border:3px solid var(--tone);box-sizing:border-box}
.fx-on .hz.fx-view:not(.in) .hz-axis::before{transform:scaleX(0)}.fx-on .hz.in .hz-axis::before{transition:transform 650ms var(--ease)}
.fx-on .hz.fx-view:not(.in) .hz-axis i{transform:scale(0)}.fx-on .hz.in .hz-axis i{transition:transform var(--dur) var(--ease)}.fx-on .hz.in .hz-axis i:nth-child(2){transition-delay:200ms}.fx-on .hz.in .hz-axis i:nth-child(3){transition-delay:400ms}
.logic-h{transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.logic-h:hover{transform:translateY(-2px);border-color:var(--tone);box-shadow:var(--lift)}
.logic-h .hz-tag{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:6px;background:var(--tone-soft);color:var(--tone-ink);margin-bottom:8px}
.logic-h h4{font-size:15px}.logic-h dt{color:var(--n9)}
@media(max-width:1100px){.hz-axis{display:none}}
.seg-name::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--tone);margin-right:7px;vertical-align:1px}
.logic-tag{background:var(--n3);color:var(--n10)}.logic-tag.cyc{background:#fbede7;color:#a9502f}.logic-tag.gro{background:#eaf1f8;color:#3e6a96}.logic-tag.mix{background:#faf2df;color:#8a6a17}
.co[data-pop]{cursor:help;color:var(--text);border-bottom:1px dashed var(--n6);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.co[data-pop]:hover,.co[data-pop]:focus-visible{color:var(--blue);border-color:var(--blue);outline:none}
.logic-table tbody tr{transition:background var(--dur-fast) var(--ease)}.logic-table tbody tr:hover{background:var(--n2)}
.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.track-card{display:grid;gap:6px;align-content:start;text-align:left;font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px 15px;cursor:pointer;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.track-card:hover,.track-card:focus-visible{transform:translateY(-2px);border-color:var(--blue);box-shadow:var(--lift)}.track-card:active{transform:scale(.99)}
.track-head{display:flex;align-items:center;gap:8px}.track-head strong{font-size:13.5px;color:var(--ink)}
.track-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--n6);flex:none}.track-dot.live{background:var(--c2)}
.track-dot.live::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--c2);opacity:0}.fx-on .track-dot.live::after{animation:fx-live 2.4s var(--ease-soft) infinite}
.track-detail{font-size:12.5px;line-height:1.7}.track-foot{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--n9);border-top:1px solid var(--line);padding-top:7px;margin-top:2px}
.track-foot em{font-style:normal;color:var(--blue);opacity:0;transform:translateX(-4px);transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.track-card:hover .track-foot em,.track-card:focus-visible .track-foot em{opacity:1;transform:none}

/* 主题数据：分组摘要、分组色、走势面积与浮标 */
.dash-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 4px}
.dash-tile{display:grid;gap:3px;text-align:left;font:inherit;color:var(--text);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;min-width:0;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.dash-tile:hover,.dash-tile:focus-visible{transform:translateY(-2px);border-color:var(--tone);box-shadow:var(--lift)}
.dash-name{font-size:12.5px;font-weight:600;color:var(--tone-ink)}.dash-name::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--tone);margin-right:7px}
.dash-tile strong{font-size:24px;line-height:1.15;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.dash-tile strong small{font-size:12px;font-weight:400;color:var(--muted);margin-left:3px}
.breadth{width:100%;height:5px;border-radius:3px;overflow:hidden;display:block;margin:4px 0 2px;transform-origin:0 50%}.breadth .up{fill:var(--rise)}.breadth .down{fill:var(--fall)}.breadth .flat{fill:var(--n4)}
.fx-on .dash-strip.fx-view:not(.in) .breadth{transform:scaleX(0)}.fx-on .dash-strip.in .breadth{transition:transform 600ms var(--ease) 150ms}
.dash-note{font-size:11px;color:var(--n9)}
.metric-mini:hover,.metric-mini:focus-visible{border-color:var(--tone)}
.mini-spark{overflow:visible}.mini-spark .line{stroke:var(--tone);stroke-width:1.7;stroke-linejoin:round}.mini-spark .area{fill:var(--tone);opacity:.12}.mini-spark .last{fill:var(--tone)}
.mini-spark .dot{fill:var(--paper);stroke:var(--tone);stroke-width:2;opacity:0}.mini-spark .cur{stroke:var(--n6);stroke-width:1;stroke-dasharray:2 2;opacity:0}
.mini-spark.probing .dot,.mini-spark.probing .cur{opacity:1}.mini-spark.probing .last{opacity:0}
.fx-on .metric-mini.fx-view:not(.in) .mini-spark{clip-path:inset(0 100% 0 0)}.fx-on .metric-mini.in .mini-spark{clip-path:inset(-6px -6px -6px -6px);transition:clip-path 700ms var(--ease) 120ms}
.mini-value em.up{background:var(--rise-bg);color:var(--rise-ink)}.mini-value em.down{background:var(--fall-bg);color:var(--fall-ink)}

/* 成分股：板块构成条与收入占比条 */
.comp{display:grid;gap:8px;margin:12px 0 4px}
.comp-bar{width:100%;height:10px;border-radius:5px;overflow:hidden;display:block;transform-origin:0 50%}.comp-bar rect{fill:var(--tone)}
.fx-on .comp.fx-view:not(.in) .comp-bar{transform:scaleX(0)}.fx-on .comp.in .comp-bar{transition:transform 700ms var(--ease)}
.comp-legend{display:flex;flex-wrap:wrap;gap:6px 8px}
.comp-legend button{font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid transparent;background:none;color:var(--n10);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.comp-legend button:hover{background:var(--tone-soft);border-color:transparent;color:var(--tone-ink)}.comp-legend i{width:9px;height:9px;border-radius:3px;background:var(--tone)}.comp-legend b{font-weight:600;color:var(--ink)}
.share-cell{font-variant-numeric:tabular-nums}.share-bar{display:block;width:100%;max-width:120px;height:4px;border-radius:2px;overflow:hidden;margin-top:6px}
.share-bar .bg{fill:var(--n3)}.share-bar .fg{fill:var(--tone);transform-box:fill-box;transform-origin:0 50%}
.fx-on .fx-view:not(.in) .share-bar .fg{transform:scaleX(0)}.fx-on .fx-view.in .share-bar .fg{transition:transform 650ms var(--ease) 100ms}
.tier-high{background:var(--blue-soft);color:var(--blue)}.tier-mid{background:#e7f2f2;color:#357373}.tier-low{background:var(--n3);color:var(--n10)}
.flag-tag{background:var(--warn-bg);color:var(--warn-ink)}

/* 信息流与点评：跟踪点活动条、重要性配色 */
.point-card{border-color:var(--line)}.point-card:hover{border-color:var(--tone)}.point-card.sel{border-color:var(--tone);box-shadow:var(--shadow-sm)}
.point-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.point-count{color:var(--tone-ink)}
.act-bars{width:60px;height:16px;flex:none}.act-bars rect{fill:var(--tone);transform-box:fill-box;transform-origin:50% 100%}.act-bars rect.zero{fill:var(--n4)}.point-card.quiet .act-bars rect{fill:var(--n4)}
.fx-on .point-grid.fx-view:not(.in) .act-bars rect{transform:scaleY(0)}.fx-on .point-grid.in .act-bars rect{transition:transform 500ms var(--ease)}
.fx-on .point-grid.in .act-bars rect:nth-child(n+4){transition-delay:60ms}.fx-on .point-grid.in .act-bars rect:nth-child(n+7){transition-delay:120ms}.fx-on .point-grid.in .act-bars rect:nth-child(n+9){transition-delay:180ms}
.feed-item{transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur) var(--ease)}.feed-item:hover{border-color:var(--n5)}
.fx-on .feed-item[open] .feed-body{animation:fx-rise var(--dur) var(--ease) both}
.imp-tag.imp-high{background:var(--sl-red-soft);color:var(--sl-red-ink)}.imp-tag.imp-medium{background:var(--warn-bg);color:var(--warn-ink)}.imp-tag.imp-low{background:var(--n3);color:var(--n9)}
.feed-tags em,.point-chip{background:var(--n3);color:var(--n10)}.feed-tags em.rep{background:var(--blue-soft);color:var(--blue)}
.report-row{transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.report-row:hover{border-color:var(--blue);transform:translateY(-1px)}

/* 浮窗与走势浮标 */
#fx-pop{position:fixed;left:0;top:0;z-index:200;width:max-content;max-width:320px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-sm);font-size:12.5px;line-height:1.65;color:var(--text);pointer-events:none;visibility:hidden;opacity:0;transform:translateY(-4px) scale(.98);transform-origin:0 0;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),visibility 0s linear var(--dur-fast)}
#fx-pop.above{transform:translateY(4px) scale(.98);transform-origin:0 100%}
#fx-pop.show{visibility:visible;opacity:1;transform:none;transition-delay:0s}
#fx-pop .pop-title{display:block;font-size:14px;color:var(--ink)}#fx-pop .pop-sub{display:block;font-size:11px;color:var(--n9);font-family:ui-monospace,Consolas,monospace;margin-top:1px}
#fx-pop dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 12px;margin:9px 0 0;padding-top:9px;border-top:1px solid var(--line)}#fx-pop dt{color:var(--n9)}#fx-pop dd{margin:0;color:var(--ink);font-weight:600}
#fx-pop .pop-note{margin:9px 0 0;color:var(--text)}
#fx-tip{position:fixed;left:0;top:0;z-index:200;display:grid;gap:0;padding:5px 9px;border-radius:8px;background:var(--ink);color:#faf9f5;font-size:11px;line-height:1.45;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease)}
#fx-tip.show{opacity:1;visibility:visible}#fx-tip span{opacity:.72}#fx-tip strong{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}

html:not(.fx-on) .wiki-body *,html:not(.fx-on) .wiki-rail *,html:not(.fx-on) #fx-pop,html:not(.fx-on) #fx-tip{animation:none!important;transition:none!important}
.fx-toggle{margin-top:22px;font:inherit;font-size:11px;color:var(--n9);background:none;border:1px solid var(--line);border-radius:999px;padding:3px 10px;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.fx-toggle:hover{background:var(--n2);color:var(--n10)}.fx-toggle[aria-pressed="true"]{color:var(--blue);border-color:#c9dcee}
.metric-mini footer .lag{color:var(--warn-ink);font-weight:600}
.flag-tag.lift{background:#fbede7;color:#a9502f}.flag-tag[data-pop]{cursor:help}
/* 海外映射：与成分股同表，但用中性的蓝灰标出市场，不参与构成条与统计 */
.overseas-head{margin-top:40px;padding-top:18px;border-top:1px dashed var(--line)}.overseas-head::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c6);margin-right:9px;vertical-align:1px}
.overseas-group{margin:18px 0 8px;font-size:14px;color:var(--ink)}
.mkt-tag{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:5px;margin-left:6px;background:#e6f0f6;color:#2f6a91;font-weight:600}.mkt-tag.unlisted{background:var(--n3);color:var(--n10)}
/* 事件型数据表：可信度四级配色，历史数据点可展开 */
.facts{margin:6px 0 10px}
.grade-tag{display:inline-block;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:5px;white-space:nowrap}
.grade-tag.g-S1{background:#e6f0f6;color:#2f6a91}.grade-tag.g-S2{background:#eef1e9;color:#55683e}.grade-tag.g-S3{background:var(--warn-bg);color:var(--warn-ink)}.grade-tag.g-S4{background:var(--n3);color:var(--n10)}
.facts-table td{vertical-align:middle}.facts-table td small{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}
.facts-table .fact-val{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}.facts-table .fact-val small{font-weight:400}
.facts-table em{font-style:normal;font-size:11.5px;font-weight:600;padding:1px 6px;border-radius:5px}.facts-table em.up{background:var(--rise-bg);color:var(--rise-ink)}.facts-table em.down{background:var(--fall-bg);color:var(--fall-ink)}
.facts-table .fact-spark{width:120px}.facts-table .mini-spark{height:28px;--tone:var(--c1)}
.facts-table .fact-src{font-size:12px;line-height:1.55}.facts-table .fact-src .text-button{display:block;font-size:11px;margin-top:3px}
.fact-history td{background:var(--n2)}.fact-history ol{margin:0;padding-left:18px;display:grid;gap:4px;font-size:12px}
.fact-history li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.fact-history .d{color:var(--muted);min-width:78px}.fact-history .v{font-weight:600;color:var(--ink);min-width:90px}.fact-history .n{color:var(--muted);flex-basis:100%}
.fact-legend{font-size:11.5px;color:var(--muted);margin:8px 0 0}.fact-legend .grade-tag{margin-right:4px}.fact-legend .sep{margin:0 8px;color:var(--n6)}
.facts-table .u{font-size:11px;font-weight:400;color:var(--muted);margin-left:3px}
/* 成分股的市值与行情：合并总市值在上，各上市地一行（A 股惯例：红涨绿跌） */
.logic-table.members th.m5{width:14%;min-width:128px}
.quote-cell{font-variant-numeric:tabular-nums}.quote-cell strong{display:block;font-size:13.5px;color:var(--ink)}.quote-cell strong small{font-size:11px;font-weight:400;color:var(--muted)}
.quote-cell .q-note{display:block;font-size:10.5px;color:var(--muted);margin:-1px 0 3px}
.q-line{display:flex;align-items:baseline;gap:5px;font-size:11.5px;color:var(--text);line-height:1.6}.q-line b{font-size:10px;color:var(--n9);font-weight:600;min-width:10px}.q-line i{font-style:normal;font-size:10px;color:var(--muted)}
.q-line em{font-style:normal;font-weight:600}.q-line em.q-up{color:var(--rise-ink)}.q-line em.q-down{color:var(--fall-ink)}.q-line .q-mv{color:var(--muted);font-size:10.5px}

/* 模型标价表：按公司分组，输入输出分列，历史版本默认折叠 */
.price-wrap .price-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font-size:12px;border-bottom:1px solid var(--line)}
.price-table td{padding-top:6px;padding-bottom:6px}
.price-table tr.pt-vendor td{background:var(--n2);padding-top:7px;padding-bottom:7px}
.price-table tr.pt-vendor strong{font-size:13px;color:var(--ink)}
.price-table tr.pt-vendor small{display:inline;margin-left:8px}
.price-table .pt-model strong{font-weight:600}
.price-table .pt-model small{display:inline;margin-left:8px}
.price-table .site-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:10.5px;background:var(--blue-soft);color:var(--blue);vertical-align:1px}
.price-table .site-tag.old{background:#eef1ed;color:#6e7c72}
.price-table .pt-price{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.price-table .pt-price.has-note{text-decoration:underline dotted var(--muted);text-underline-offset:4px;cursor:help}
.price-table .pt-was{display:inline!important;margin-left:6px;font-weight:400}
.price-table .pt-was.down{color:var(--fall-ink)}.price-table .pt-was.up{color:var(--rise-ink)}
.price-table .fact-src small{display:inline;margin-left:6px}
.price-table tr.legacy{display:none}
.price-wrap.show-legacy .price-table tr.legacy:not(.fact-history){display:table-row}
.price-table tr.legacy td{color:var(--muted)}.price-table tr.legacy .pt-price{color:var(--muted);font-weight:400}
.price-wrap.show-legacy .price-table tr.legacy.fact-history:not([hidden]){display:table-row}
.price-table .pt-model{white-space:nowrap}.price-table .fact-src{white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.price-table .fact-src .text-button{display:inline;margin:0 0 0 8px}
.quote-cell strong{white-space:nowrap}.q-line{flex-wrap:wrap;column-gap:5px;row-gap:0}
.constituents-notes{margin-top:6px}.constituents-notes p{margin:0 0 10px}
/* 成分股表：行情一栏固定宽度，窄屏时整表横向滚动而不是把内容挤出格子 */
.logic-table.members{min-width:760px}
.logic-table.members th.m4{width:64px}
.logic-table.members th.m5{width:136px;min-width:0}
.quote-cell strong{font-size:13px}
/* 供需平衡表：矩阵，预测列加底色，平衡行突出，过剩绿、短缺红（与价格红涨绿跌无关，按供需含义着色） */
.balance-table{min-width:720px;font-variant-numeric:tabular-nums}
.balance-table th:first-child{width:190px}
.balance-table th:nth-last-child(2){width:88px}.balance-table th:last-child{width:180px}
.balance-table thead th{text-align:right}.balance-table thead th:first-child,.balance-table thead th:last-child{text-align:left}
.balance-table tbody th{text-align:left;font-weight:600;color:var(--ink);font-size:12.5px;padding:7px 8px}
.balance-table tbody th small{display:block;font-weight:400;font-size:10.5px;color:var(--muted)}
.balance-table tbody th .u{display:inline;margin-left:4px}
.balance-table th:first-child{position:sticky;left:0;z-index:1;background:var(--paper)}
.balance-table td{text-align:right;padding:7px 8px;white-space:nowrap}
.balance-table td[data-pop]{cursor:help}
.balance-table .est{background:var(--blue-soft)}
.balance-table thead th.est{color:var(--blue)}
.balance-table tr.bal-key td,.balance-table tr.bal-key th{border-top:1px solid #c9d3c9;font-weight:600}
.balance-table td.surplus{color:var(--fall-ink)}.balance-table td.deficit{color:var(--rise-ink)}
.balance-table td.bal-src{text-align:left}
.balance-table td.fact-src{text-align:left;white-space:normal;min-width:150px;max-width:240px;font-size:11px;line-height:1.55}
.balance-table .fact-src a{overflow-wrap:anywhere}
.balance-table .fact-src small{display:block;font-size:10px}
.balance-table tr.bal-group th,.balance-table tr.bal-group td{background:var(--n2);font-weight:600;border-top:1px solid #c9d3c9}
.balance-table tr.bal-group th small{display:inline;margin-left:8px}
.balance-table tr.bal-total th,.balance-table tr.bal-total td{border-top:2px solid var(--ink);font-weight:700;color:var(--ink)}
.balance-table td.partial{text-decoration:underline dotted var(--muted);text-underline-offset:3px}
/* 观察名单（默认折叠）与主题敞口的依据标签 */
.watch-list{margin:22px 0 8px;border:1px dashed var(--line);border-radius:8px;padding:10px 14px;background:var(--paper)}
.watch-list summary{cursor:pointer;font-size:14px;color:var(--ink)}
.watch-list summary .group-count{font-size:12px;color:var(--muted);margin-left:6px}
.watch-list[open] summary{margin-bottom:10px}
.logic-table.members.watch th.w2{width:13%}
.basis-tag{display:inline-block;margin-right:5px;padding:0 5px;border-radius:4px;font-size:10.5px;font-weight:600;background:#fdf1e0;color:#8a5a12;vertical-align:1px}
.basis-tag.qual{background:#eef1ed;color:#5b6a60}
.pilot-tag.rectified{background:var(--green-soft);color:var(--ink);font-weight:600}
/* 行情跟在代码后面；市值数字与单位同一行 */
.q-inline{display:block;margin-top:3px}.q-inline .q-line{font-size:11.5px}
.quote-cell strong{white-space:nowrap;font-size:13px}
.logic-table.members th.m5{width:112px}
.basis-tag.est{background:#f3e8f7;color:#6b3a86}
/* 模块编辑按钮与修改历史 */
.mod-edit{margin-left:8px;padding:0 6px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--muted);font-size:12px;line-height:18px;cursor:pointer;opacity:.35;transition:opacity .15s;vertical-align:2px}
.mod-edit:hover,.mod-edit:focus{opacity:1;color:var(--ink);border-color:var(--ink)}
h3:hover .mod-edit,td:hover .mod-edit,.logic-h:hover .mod-edit,.logic-core:hover .mod-edit,.definition-body:hover .mod-edit,.knowledge-card:hover .mod-edit{opacity:1}
.mod-bar{display:flex;justify-content:flex-end;margin-bottom:-6px}
.rev-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:62vh;overflow:auto}
.rev-item{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--paper)}
.rev-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.rev-head .text-button{margin-left:auto}
.rev-item p{margin:4px 0 0;font-size:12px}.rev-item details{margin-top:6px}.rev-item summary{cursor:pointer;font-size:12px;color:var(--muted)}
.diff{margin-top:6px;font-size:12px;line-height:1.6;border-left:2px solid var(--line);padding-left:8px;white-space:pre-wrap;word-break:break-all}
.diff .d-del,.diff pre.del{background:var(--rise-bg);color:var(--rise-ink)}.diff .d-add,.diff pre.add{background:var(--fall-bg);color:var(--fall-ink)}.diff .d-same{color:var(--muted)}

/* 事件时间线 */
.timeline-table .tl-date{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted)}
.timeline-table .tl-event{min-width:18em;line-height:1.6}
.tl-more{margin:.25rem 0 1rem}

/* Seven-entry application shell. The work area stays dense while navigation remains stable. */
.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0;margin-right:0;overflow:hidden}.app-header{position:relative;flex:none;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.workspace-body{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;overflow:hidden}.workspace-body>.content-shell{min-width:0;min-height:0}.workspace-body>.agent-pane{position:static;inset:auto;width:auto;min-width:0;height:auto;padding:20px;border-left:1px solid var(--line);background:var(--bg);z-index:auto;overflow:hidden}.agent-toggle,.agent-close{display:none}
.top-nav{width:100%;height:56px;margin:0;padding:0 20px;display:flex;align-items:center;gap:18px;background:#2a3f6a}.top-brand{height:56px;display:flex;align-items:center;gap:10px;flex:none;color:#fff;font-size:15px;font-weight:700;line-height:1.05;white-space:nowrap}.top-brand:hover{text-decoration:none}.top-brand .brand-mark{width:34px;height:36px;border-radius:8px;background:#171714;color:#fff;font-size:25px}.top-brand .brand-mark span{font-size:22px;color:#f0445c}.top-brand small{display:block;margin-top:4px;color:rgba(255,255,255,.64);font-size:9px;font-weight:400;letter-spacing:.08em}.nav-links{height:56px;display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.top-nav a[data-nav]{height:32px;display:flex;align-items:center;gap:7px;padding:0 12px;border:0;border-radius:8px;color:rgba(255,255,255,.72);font-size:14px;font-weight:400;white-space:nowrap}.top-nav a[data-nav].active{color:#fff;font-weight:400}.top-nav b{font-size:10px;line-height:18px;min-width:18px;text-align:center;padding:0 5px;background:#f0445c;color:#fff;border-radius:9px}.top-nav b:empty{display:none}.nav-refresh{flex:none;color:rgba(255,255,255,.72)}
@media (hover:hover) and (pointer:fine){.top-nav a[data-nav]:hover{color:rgba(255,255,255,.92);text-decoration:none;background:rgba(255,255,255,.08)}.top-brand:hover{color:#fff}.nav-refresh:hover{color:#fff;background:rgba(255,255,255,.08)}}
.app-shell .content-shell{display:flex;flex-direction:column;height:100%;min-height:0;margin-left:0;width:100%;min-width:0}.app-shell main{max-width:1560px;margin:0 auto;padding-top:30px}.app-shell .page-footer{max-width:1484px;margin:0 auto}.workspace-body .content-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.page-heading h1,.home-hero h2,.panel-head h2,.feed-card h3,.report-library-row strong{font-family:var(--font-display)}
.app-shell .catalog-summary{grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;margin-bottom:22px;padding:0;overflow:hidden;background:var(--paper)}.app-shell .catalog-summary>div{min-height:54px;padding:9px 15px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:9px}.app-shell .catalog-summary>div:nth-child(4n+1){border-left:0}.app-shell .catalog-summary>div:nth-last-child(-n+4){border-bottom:0}.app-shell .catalog-summary strong{font-size:21px;font-weight:600;white-space:nowrap}.app-shell .catalog-summary span{font-size:11px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:18px;margin-bottom:22px}.home-hero>section,.home-hero>aside{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.home-hero>section{background:linear-gradient(135deg,#fff 0%,#f2f6fe 100%)}.home-hero h2{font-size:23px;margin-bottom:5px}.home-hero>section>p:not(.eyebrow),.home-hero>aside p{color:var(--muted)}.home-hero>aside{display:flex;flex-direction:column;justify-content:center}.home-hero>aside>span{font-size:11px;color:var(--muted)}.home-hero>aside>strong{font-size:36px;color:var(--ink);font-weight:600}.home-hero>aside>strong small{font-size:16px;color:var(--muted);font-weight:400}.progress-track{height:7px;border-radius:5px;background:var(--n3);overflow:hidden;margin:8px 0 10px}.progress-track i{height:100%;display:block;background:var(--blue);border-radius:inherit}
.reminder-summary{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:9px;margin-top:20px}.reminder-summary a{background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:8px;padding:12px}.reminder-summary a:hover{text-decoration:none;border-color:var(--n7)}.reminder-summary strong{display:block;color:var(--ink);font-size:19px}.reminder-summary span{font-size:11px;color:var(--muted)}.reminder-sections>.panel .reminder-summary{margin:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:22px}.dashboard-grid>.panel{min-width:0}
.brief-row{padding:17px 22px;border-bottom:1px solid var(--line)}.brief-row:last-child{border:0}.brief-row h3{font-size:14px;margin:5px 0 3px}.brief-row p{font-size:12px;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brief-row small{color:var(--muted)}.brief-meta{display:flex;gap:7px;align-items:center}.report-summary{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--paper);padding:17px 22px;text-align:left;display:grid;gap:4px}.report-summary:last-child{border:0}.report-summary:hover,.report-library-row:hover{background:#f8faf7}.report-summary>strong{color:var(--ink)}.report-summary small,.report-summary p{color:var(--muted);font-size:11px}.report-summary p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-theme-grid{display:grid;grid-template-columns:repeat(3,1fr)}.compact-theme-grid>a{display:flex;align-items:center;gap:12px;padding:17px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.compact-theme-grid>a:hover{background:#f8faf7;text-decoration:none}.compact-theme-grid strong,.compact-theme-grid small{display:block}.compact-theme-grid small{color:var(--muted)}
.reminder-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.reminder-sections>.panel{margin:0}.reminder-sections>.reminder-summary{grid-column:1/-1}.task-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line)}.task-row:last-child{border:0}.task-row>div{min-width:0}.task-row p{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60ch}.task-row>span{font-size:11px;color:var(--muted);white-space:nowrap}.reminder-sections .alert-card{margin:12px;border-radius:9px}
.segmented{display:flex;gap:5px}.feed-filter-panel{margin-bottom:16px;padding:17px 18px;background:var(--paper);border:1px solid var(--line);border-radius:10px}.feed-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}.feed-filter-field{min-width:0;display:grid;gap:5px}.feed-filter-field>span{font-size:10px;color:var(--muted);letter-spacing:.04em}.feed-filter-field select,.feed-filter-field input{width:100%;min-width:0;min-height:36px;height:auto;line-height:1.45}.feed-filter-search{grid-column:span 2}.feed-filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px;padding-top:13px;border-top:1px solid var(--n3)}.feed-custom-time.is-muted{opacity:.56}.feed-result-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 1px 12px;color:var(--muted);font-size:11px}.feed-result-summary>div{display:flex;align-items:baseline;gap:12px}.feed-result-summary strong{font-size:15px;color:var(--ink)}.feed-list{display:grid;gap:12px}.feed-card{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--n9);border-radius:8px;padding:19px 22px}.feed-card.importance-high{border-left-color:var(--red)}.feed-card.importance-medium{border-left-color:var(--amber)}.feed-card-head,.feed-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.feed-card-head>div,.feed-card-foot,.feed-card-dimensions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feed-card-head time{font-size:11px;color:var(--muted)}.theme-chip{font-size:11px;padding:2px 7px;border-radius:5px;background:var(--blue-soft);color:var(--blue)}.feed-card h3{font-size:16px;margin:11px 0 8px}.feed-card-dimensions{margin:-1px 0 9px}.feed-card-dimensions>span{padding:2px 7px;border-radius:5px;background:#f1f2ef;color:var(--muted);font-size:10px}.feed-card-dimensions>.tracking-chip{background:var(--blue-soft);color:var(--blue)}.feed-card>p{font-size:12px;margin:5px 0}.feed-card>p strong{display:inline-block;margin-right:10px;color:var(--ink)}.feed-card-foot{justify-content:flex-start;margin-top:13px;padding-top:11px;border-top:1px solid var(--n3)}.feed-card-foot span{font-size:11px;color:var(--muted)}.feed-card-foot .btn:last-child{margin-left:auto}.feed-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0}.feed-pagination span{font-size:11px;color:var(--muted)}
.report-library-row{width:100%;display:grid;grid-template-columns:110px 1fr;gap:14px;border:0;border-bottom:1px solid var(--line);background:var(--paper);text-align:left;padding:19px 22px}.report-library-row:last-child{border:0}.report-library-row>div{min-width:0}.report-library-row strong{display:block;color:var(--ink);font-size:14px}.report-library-row p{color:var(--text);margin:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-library-row small{color:var(--muted)}
.settings-status{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.settings-status>div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center}.settings-status span:first-child{font-size:11px;color:var(--muted)}.settings-status strong{font-size:12px;color:var(--ink)}.role-guide{display:grid;grid-template-columns:repeat(2,1fr)}.role-guide>div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.role-guide p{color:var(--muted);font-size:11px;margin-top:4px}.agent-users{margin:14px 20px;border:1px dashed var(--line);border-radius:8px;padding:10px 12px}.agent-users summary{cursor:pointer;color:var(--muted)}.danger-text{color:var(--red)}

@media(max-width:1150px){.workspace-body{grid-template-columns:minmax(0,1fr) 264px}}
@media(max-width:950px){.workspace-body{grid-template-columns:minmax(0,1fr)}.workspace-body>.agent-pane{display:flex;position:absolute;inset:0 0 0 auto;width:min(320px,calc(100vw - 32px));padding:18px;z-index:51;box-shadow:var(--shadow-sm);transform:translateX(105%);transition:transform 200ms ease}.workspace-body>.agent-pane.open{transform:none}.agent-toggle{display:block;position:absolute;right:0;top:14px;z-index:50;border:0;border-radius:8px 0 0 8px;padding:9px 10px;background:#2a3f6a;color:#fff;font-size:11px}.agent-pane.open~.agent-toggle{display:none}.agent-close{display:grid;place-items:center;margin-left:auto;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);font-size:18px}.agent-head{gap:8px}}
@media(max-width:1100px){.feed-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:900px){.top-nav{padding-left:14px;padding-right:10px;gap:12px}.app-shell main{padding:24px 18px 40px}.app-shell .page-footer{margin:0 18px}.home-hero,.dashboard-grid,.reminder-sections{grid-template-columns:1fr}.compact-theme-grid{grid-template-columns:repeat(2,1fr)}.settings-status{grid-template-columns:repeat(2,1fr)}.top-nav a[data-nav]{padding:0 11px}.feed-filter-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media(max-width:620px){.top-brand small{display:none}.top-brand{font-size:13px}.top-brand .brand-mark{width:32px;height:34px}.nav-refresh{display:none}.page-heading{align-items:flex-start;flex-direction:column}.home-hero{display:block}.home-hero>aside{margin-top:12px}.reminder-summary{grid-template-columns:repeat(2,1fr)}.compact-theme-grid,.settings-status,.role-guide,.feed-filter-grid{grid-template-columns:1fr}.feed-filter-search{grid-column:auto}.feed-result-summary,.feed-result-summary>div{align-items:flex-start;flex-direction:column;gap:4px}.feed-card-head,.feed-card-foot{align-items:flex-start}.feed-card-head{flex-direction:column}.report-library-row{grid-template-columns:1fr}.app-shell .page-footer{display:none}}
@media(max-width:620px){.app-shell .catalog-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .catalog-summary>div{border-left:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 10px;display:block}.app-shell .catalog-summary>div:nth-child(2n+1){border-left:0}.app-shell .catalog-summary>div:nth-last-child(-n+2){border-bottom:0}.app-shell .catalog-summary strong{font-size:18px}.app-shell .catalog-summary span{display:block;margin-top:2px}}
.home-hero progress.progress-track{width:100%;height:7px;border:0;border-radius:5px;background:var(--n3);overflow:hidden;margin:8px 0 10px}.home-hero progress.progress-track::-webkit-progress-bar{background:var(--n3)}.home-hero progress.progress-track::-webkit-progress-value{background:var(--blue)}.home-hero progress.progress-track::-moz-progress-bar{background:var(--blue)}

/* Continuous theme stream, adjustable workspace columns, and quiet route loading. */
.app-shell .workspace-body{grid-template-columns:minmax(0,1fr) 6px var(--agent-width,clamp(264px,22vw,300px))}
.workspace-body>.content-shell{grid-column:1}.workspace-body>.agent-resizer{grid-column:2}.workspace-body>.agent-pane{grid-column:3}
.app-shell .catalog-layout{grid-template-columns:var(--catalog-width,208px) 6px minmax(0,1fr);gap:18px}
.app-shell .taxonomy-nav{max-height:calc(100dvh - 96px);scrollbar-width:thin}
.taxonomy-major{display:block}.taxonomy-subcategories{display:none;margin:1px 0 8px 10px;padding:2px 0 3px 9px;border-left:1px solid #d7ddea}.taxonomy-major.expanded>.taxonomy-subcategories{display:grid;gap:1px}
.taxonomy-subcategories button{padding:6px 7px;font-size:11px;color:var(--muted)}.taxonomy-subcategories button::before{content:"";width:4px;height:4px;flex:none;border-radius:50%;background:#b9c1cf}.taxonomy-subcategories button.active::before{background:var(--blue);box-shadow:var(--shadow-sm)}
.app-shell .catalog-table tbody tr{scroll-margin-top:76px}
.app-shell .catalog-table th{position:sticky;top:0;z-index:2;box-shadow:var(--shadow-sm)}
.column-resizer{position:relative;align-self:stretch;min-height:44px;cursor:col-resize;touch-action:none;outline:none}
.column-resizer::after{content:"";position:absolute;inset:0 2px;border-radius:999px;background:transparent;transition:background var(--dur-fast,150ms) ease,box-shadow var(--dur-fast,150ms) ease}
.column-resizer:focus-visible::after,.column-resizer.dragging::after{background:#4567ad;box-shadow:var(--shadow-sm)}
.is-resizing,.is-resizing *{cursor:col-resize!important;user-select:none!important}
@media(min-width:901px){
  .app-shell .wiki-layout{grid-template-columns:var(--wiki-rail-width,192px) 6px minmax(0,1fr)}
  .app-shell .wiki-progress{left:calc(var(--wiki-rail-width,192px) + 6px)}
  .app-shell .wiki-rail{border-right:0}
}
.loading{min-height:55vh;padding:0;display:grid;place-items:center;color:transparent;text-align:center}
.loading-orbit{position:relative;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;animation:route-pulse 1.5s ease-in-out infinite}
.loading-orbit::before{content:"";position:absolute;inset:6px;border:2px solid transparent;border-top-color:#2a3f6a;border-right-color:#2a3f6a;border-radius:50%;animation:route-spin .85s linear infinite}
.loading-orbit::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#f0445c;box-shadow:var(--shadow-sm)}
.loading-orbit i{position:absolute;left:50%;top:-3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#2a3f6a}
.is-loading .page-footer{visibility:hidden}
@keyframes route-spin{to{transform:rotate(360deg)}}
@keyframes route-pulse{0%,100%{transform:scale(.94);opacity:.72}50%{transform:scale(1);opacity:1}}
@media (hover:hover) and (pointer:fine){
  .column-resizer:hover::after{background:#c8d2e5;box-shadow:var(--shadow-sm)}
  .theme-card,.feed-card,.report-summary,.report-library-row,.compact-theme-grid>a,.reminder-summary a{transition:transform var(--dur-fast,150ms) var(--ease,ease),box-shadow var(--dur-fast,150ms) var(--ease,ease),border-color var(--dur-fast,150ms) var(--ease,ease),background var(--dur-fast,150ms) var(--ease,ease)}
  .theme-card:hover,.feed-card:hover,.reminder-summary a:hover{transform:translateY(-2px);border-color:var(--n7);box-shadow:var(--shadow-sm)}
  .report-summary:hover,.report-library-row:hover,.compact-theme-grid>a:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
  .catalog-table tbody tr{transition:box-shadow var(--dur-fast,150ms) ease}
  .catalog-table tbody tr:hover{box-shadow:var(--shadow-sm)}
}
@media(max-width:950px){
  .app-shell .workspace-body{grid-template-columns:minmax(0,1fr)}
  .workspace-body>.agent-resizer{display:none}
  .workspace-body>.agent-pane{grid-column:1}
}
@media(max-width:900px){.wiki-resizer{display:none}}
@media(max-width:700px){
  .app-shell .catalog-layout{display:block}.catalog-resizer{display:none}
  .app-shell .taxonomy-nav{display:grid;grid-template-columns:repeat(17,max-content);grid-template-rows:auto auto;grid-auto-flow:column;gap:7px;overflow:auto}
  .taxonomy-major{display:contents}.taxonomy-nav>[data-action="major"],.taxonomy-major>[data-action="major"]{grid-row:1}
  .taxonomy-major.expanded>.taxonomy-subcategories{display:flex;grid-row:2;grid-column:1/-1;gap:6px;margin:0;padding:2px 0 3px;border:0}
  .taxonomy-subcategories button{flex:none}
}
@media(prefers-reduced-motion:reduce){.loading-orbit,.loading-orbit::before{animation:none}.theme-card,.feed-card,.report-summary,.report-library-row,.compact-theme-grid>a,.reminder-summary a{transition:none!important}}

/* Selected tags sit one visual layer above their surrounding controls. */
.top-nav a[data-nav].active{background:rgba(255,255,255,.12);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.taxonomy-nav button.active,.chapter-nav button[aria-current=page],.wiki-toc button.active{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.segmented .btn.primary,.production-steps .current,.fx-toggle[aria-pressed="true"]{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.segmented .btn.primary{pointer-events:auto}
.section-tabs button.active{position:relative;z-index:1;border-radius:6px 6px 0 0;background:var(--paper);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.top-nav a[data-nav],.taxonomy-nav button,.chapter-nav button,.wiki-toc button,.segmented .btn,.production-steps>* ,.fx-toggle,.section-tabs button{transition:transform var(--dur-fast,150ms) var(--ease,ease),box-shadow var(--dur-fast,150ms) var(--ease,ease),background var(--dur-fast,150ms) var(--ease,ease),border-color var(--dur-fast,150ms) var(--ease,ease)}
@media (hover:hover) and (pointer:fine){
  .top-nav a[data-nav].active:hover,.taxonomy-nav button.active:hover,.chapter-nav button[aria-current=page]:hover,.wiki-toc button.active:hover,.segmented .btn.primary:hover,.production-steps .current:hover,.fx-toggle[aria-pressed="true"]:hover,.section-tabs button.active:hover{transform:translateY(-2px);filter:saturate(1.04)}
}
@media(prefers-reduced-motion:reduce){.top-nav a[data-nav],.taxonomy-nav button,.chapter-nav button,.wiki-toc button,.segmented .btn,.production-steps>* ,.fx-toggle,.section-tabs button{transition:none!important}}

/* Homepage theme atlas: full hierarchy plus live research and market heat. */
.theme-map-panel{margin:0 0 22px;overflow:hidden}.theme-map-head{align-items:flex-start;padding:20px 22px 17px}.theme-map-head>div:first-child{max-width:620px}.theme-map-head h2{font-size:20px;margin:3px 0 5px}.theme-map-head p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.65}.theme-map-controls{display:grid;gap:7px;justify-items:end}.theme-map-controls .segmented{padding:3px;border:1px solid var(--line);border-radius:8px;background:#f4f3ef}.theme-map-controls .btn{border:0;background:transparent}.theme-map-controls .btn.primary{background:var(--blue);color:#fff}
.theme-map-meta{min-height:41px;display:flex;align-items:center;gap:13px;padding:8px 22px;border-bottom:1px solid var(--line);background:#faf9f6;color:var(--muted);font-size:10px}.theme-map-meta>span{display:flex;align-items:center;gap:5px}.theme-map-meta small{margin-left:auto;color:var(--muted)}.theme-map-meta .text-button{font-size:10px;white-space:nowrap}.heat-dot,.price-key{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--heat)}.price-key{border:2px solid;width:7px;height:7px;background:var(--paper)}.price-key.up{border-color:#e34b5f}.price-key.down{border-color:#2d916b}
.theme-atlas{--map-side-width:244px;display:grid;grid-template-columns:minmax(520px,1fr) var(--map-side-width);min-height:620px;background-color:#fbfbf9;background-image:radial-gradient(#d9d7d0 .7px,transparent .7px);background-size:18px 18px}.theme-map-viewport{position:relative;min-width:0;display:grid;--map-legend-width:var(--map-side-width);grid-template-columns:var(--map-side-width) minmax(0,1fr);align-items:center;justify-content:center;gap:12px;overflow:hidden;background:transparent}.theme-map-svg{display:block;width:min(100%,760px);height:auto;overflow:visible;font-family:inherit}.theme-map-svg text{pointer-events:none}.theme-map-trunk,.theme-map-branch,.theme-map-twig{fill:none;stroke-linecap:round}.theme-map-trunk{stroke:var(--heat,#c4c1ba);stroke-width:2.4;opacity:.72}.theme-map-branch{stroke:var(--heat,#aeb8c3);stroke-width:1.4;opacity:.78}.theme-map-twig{stroke:var(--heat,#d9d7d0);stroke-width:.72;opacity:.34}.theme-map-major,.theme-map-category,.theme-map-theme{cursor:pointer}.theme-map-major circle{fill:var(--heat);stroke:none;filter:drop-shadow(0 4px 7px rgba(27,39,56,.16))}.theme-map-major .theme-map-letter{font-size:10px;fill:#fff;font-weight:700}.theme-map-category circle{fill:var(--heat);stroke:none}.theme-map-category text{font-size:9px;fill:var(--muted)}.theme-map-theme circle{fill:var(--heat);stroke:none}.theme-map-major:hover circle,.theme-map-major:focus-visible circle{filter:drop-shadow(0 0 10px var(--heat))}.theme-map-center circle,.theme-map-focus-root circle{fill:var(--blue);stroke:none;filter:drop-shadow(0 6px 12px rgba(48,79,121,.15))}.theme-map-center text,.theme-map-focus-root .theme-map-industry-center-title{font-size:12px;font-weight:600;fill:#fff}.theme-map-major-legend{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);background:rgba(255,255,255,.88)}.theme-map-major-legend button{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) 20px;gap:5px;align-items:center;padding:7px 9px;border:0;border-right:1px solid #eeece7;border-bottom:1px solid #eeece7;background:transparent;text-align:left;color:var(--text);font:inherit;cursor:pointer}.theme-map-major-legend button:hover,.theme-map-major-legend button.active{background:var(--blue-soft);color:var(--blue)}.theme-map-major-legend button.is-empty{color:#8b8982;background:#f8f7f4}.theme-map-major-legend button.is-empty:hover,.theme-map-major-legend button.is-empty.active{color:var(--blue);background:var(--blue-soft)}.theme-map-major-legend b{font-size:9px}.theme-map-major-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px}.theme-map-major-legend small{text-align:right;color:var(--muted);font-size:8px}
.theme-map-region-arc{fill:none;stroke:var(--region,#6b8199);stroke-width:7;stroke-linecap:round;opacity:.84;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--region,#6b8199) 28%,transparent));pointer-events:none}.theme-map-region-label{cursor:pointer}.theme-map-region-label rect{fill:color-mix(in srgb,var(--region,#6b8199) 7%,#fbfbf9);stroke:color-mix(in srgb,var(--region,#6b8199) 62%,#cfd5dd);stroke-width:1.2;filter:drop-shadow(0 4px 9px rgba(35,48,67,.13));transition:transform 150ms ease,filter 150ms ease,stroke 150ms ease}.theme-map-region-label text{font-size:21px;font-weight:720;fill:#34445d;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}.theme-map-region-label:hover rect,.theme-map-region-label:focus-visible rect{stroke:var(--region,#657f9f);filter:drop-shadow(0 6px 13px rgba(35,48,67,.2));transform:translateY(-1px)}.theme-map-region-label:hover text,.theme-map-region-label:focus-visible text{fill:var(--region,#304f79)}
.theme-map-panel .market-down-4{--heat:#008257}.theme-map-panel .market-down-3{--heat:#50b68c}.theme-map-panel .market-down-2{--heat:#85ccab}.theme-map-panel .market-down-1{--heat:#a6dbc1}.theme-map-panel .market-flat{--heat:#d8d9d6}.theme-map-panel .market-up-1{--heat:#f9bbbc}.theme-map-panel .market-up-2{--heat:#f0a7a8}.theme-map-panel .market-up-3{--heat:#e78d90}.theme-map-panel .market-up-4{--heat:#d6203f}.theme-map-panel .market-na{--heat:#e3e5e4}
.theme-map-inspector{align-self:stretch;max-height:860px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-left:1px solid var(--line);padding:25px 22px;background:var(--paper)}.theme-map-inspector h3{font-size:19px;margin:6px 0}.theme-map-help{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 20px}.heat-ranking{list-style:none;padding:0;margin:17px 0}.heat-ranking li{display:grid;grid-template-columns:19px minmax(0,1fr) 30px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eeece7;font-size:12px}.heat-ranking li>span{color:var(--muted);font-variant-numeric:tabular-nums}.heat-ranking li>a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heat-ranking li>strong{text-align:right;color:var(--red);font-size:12px}.heat-ranking-all{margin-bottom:4px}.heat-ranking-all li{padding:8px 0}.heat-score{display:flex;align-items:baseline;gap:8px;padding:16px 0 12px}.heat-score strong{font-size:38px;line-height:1;color:var(--ink);font-weight:620}.heat-score span{font-size:11px;color:var(--muted)}.heat-breakdown{margin:0 0 20px}.heat-breakdown>div{display:grid;grid-template-columns:52px 1fr;padding:11px 0;border-top:1px solid #eeece7}.heat-breakdown dt{font-size:11px;color:var(--muted)}.heat-breakdown dd{font-size:14px;font-weight:600;text-align:right;color:var(--ink)}.heat-breakdown small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:3px}.theme-map-method{display:flex;justify-content:space-between;gap:18px;padding:11px 22px;border-top:1px solid var(--line);background:#f7f6f2;color:var(--muted);font-size:9px;line-height:1.6}.theme-map-method span:last-child{text-align:right}
@keyframes theme-heat-pulse{0%,100%{opacity:.78}50%{opacity:1}}
@media(max-width:1180px){.theme-atlas{grid-template-columns:minmax(430px,1fr) 220px}.theme-map-viewport{--map-legend-width:200px;grid-template-columns:var(--map-legend-width) minmax(0,1fr)}.theme-map-head{display:block}.theme-map-controls{justify-items:start;margin-top:14px}}
@media(max-width:850px){.theme-atlas{grid-template-columns:1fr}.theme-map-viewport{min-height:560px;grid-template-columns:1fr}.theme-map-major-legend,.theme-map-market-rail{order:2;grid-template-columns:1fr}.theme-map-market-rail{max-height:480px;margin:8px 12px 12px}.theme-map-svg{order:1}.theme-map-inspector{max-height:520px;margin:0 12px 12px;border-left:0;border-top:1px solid var(--line)}.theme-map-head,.theme-map-meta{padding-left:17px;padding-right:17px}.theme-map-meta{flex-wrap:wrap}.theme-map-meta small{width:100%;margin-left:0}.theme-map-method{display:block}.theme-map-method span{display:block;text-align:left!important;margin:3px 0}.theme-map-back{left:18px}}
@media(max-width:620px){.theme-map-controls,.theme-map-controls .segmented{width:100%;overflow:auto}.theme-map-controls .btn{flex:none}.theme-atlas{min-height:0}.theme-map-viewport{min-height:390px}.theme-map-svg{width:560px;max-width:none}.theme-map-major-legend{grid-template-columns:1fr}.theme-map-panel{margin-left:-18px;margin-right:-18px;border-left:0;border-right:0;border-radius:0}}

/* Readable atlas scale: hotter themes gain substantially more area and persistent labels. */
.theme-map-head{padding:22px 24px 19px}.theme-map-head>div:first-child{max-width:650px}.theme-map-head h2{font-size:24px}.theme-map-head p:not(.eyebrow){font-size:14px}.theme-map-controls .btn{font-size:12px}.theme-map-meta{min-height:46px;gap:15px;padding:9px 24px;font-size:12px}.theme-map-meta small{font-size:11px}.theme-map-meta .text-button{font-size:12px}.heat-dot,.price-key{width:10px;height:10px}.price-key{width:9px;height:9px}
.theme-map-major .theme-map-letter{font-size:20px}.theme-map-category circle{filter:drop-shadow(0 3px 5px rgba(36,52,77,.2))}.theme-map-category text{font-size:20px;font-weight:600;fill:#344258;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.theme-map-center{cursor:pointer}.theme-map-center text{font-size:28px;font-weight:700}.theme-map-focus-root .theme-map-industry-center-title{font-size:30px;font-weight:700}.theme-map-center circle{transition:filter 150ms ease,transform 150ms ease;transform-origin:center}.theme-map-center:hover circle,.theme-map-center:focus-visible circle{filter:drop-shadow(0 8px 16px rgba(48,79,121,.24));transform:scale(1.025)}.theme-map-back{position:absolute;z-index:4;top:18px;left:18px;display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 14px 0 9px;border:1px solid rgba(73,104,146,.24);border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,244,252,.96));color:#294d7d;font:inherit;font-size:13px;font-weight:760;letter-spacing:.02em;line-height:1;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease,background 160ms ease}.theme-map-back i{position:relative;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:linear-gradient(145deg,#5378aa,#345b90);box-shadow:var(--shadow-sm)}.theme-map-back i::before{content:'';width:8px;height:8px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateX(2px) rotate(45deg)}.theme-map-back i::after{content:'';position:absolute;left:8px;width:12px;height:2px;border-radius:1px;background:var(--paper)}.theme-map-back:hover,.theme-map-back:focus-visible{transform:translateY(-2px);border-color:rgba(65,101,150,.45);background:linear-gradient(135deg,#fff,#e8f0fb);box-shadow:var(--shadow-sm)}.theme-map-back:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.theme-map-hot-callout{--heat:#db735f;cursor:pointer}.theme-map-hot-callout text{pointer-events:auto;font-size:22px;font-weight:700;fill:#24344d;paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round;transition:fill 150ms ease}.theme-map-hot-callout .score{font-size:19px;fill:var(--heat);stroke-width:5px}.theme-map-hot-callout:hover text,.theme-map-hot-callout:focus-visible text{fill:var(--heat)}.theme-map-focus-callout{cursor:pointer}.theme-map-focus-callout text{pointer-events:auto;font-size:17px;font-weight:680;fill:#263a57;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;transition:fill 150ms ease}.theme-map-focus-callout .score{font-size:15px;fill:var(--heat);stroke-width:4px}.theme-map-focus-callout:hover text,.theme-map-focus-callout:focus-visible text{fill:var(--heat)}
.theme-map-major-legend button{grid-template-columns:23px minmax(0,1fr) 26px;gap:7px;padding:11px 12px}.theme-map-major-legend b{font-size:13px}.theme-map-major-legend span{font-size:13px}.theme-map-major-legend small{font-size:11px}.theme-map-inspector h3{font-size:21px}.theme-map-help,.heat-score span,.heat-breakdown dt{font-size:12px}.heat-ranking li{font-size:14px}.heat-ranking li>strong{font-size:14px}.heat-breakdown small{font-size:11px}.theme-map-method{font-size:11px}
.theme-map-focus-list{width:100%;padding:22px 24px 26px;background:var(--paper);border-top:1px solid var(--line)}.theme-map-focus-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:17px}.theme-map-focus-title strong{font-size:18px}.theme-map-focus-title span{font-size:12px;color:var(--muted)}.theme-map-focus-list section+section{margin-top:18px}.theme-map-focus-list h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px;color:var(--ink)}.theme-map-focus-list h4 span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-size:11px}.theme-map-focus-list section>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.theme-map-focus-list a{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:7px;align-items:center;min-height:40px;padding:8px 10px;border:1px solid #e4e2dc;border-radius:7px;background:#fbfbf9;color:var(--text);font-size:14px;transition:transform 140ms ease,border-color 140ms ease,background 140ms ease}.theme-map-focus-list a:hover,.theme-map-focus-list a:focus{border-color:#9cabc0;background:var(--blue-soft);transform:translateY(-1px)}.theme-map-focus-list a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-map-focus-list a strong{text-align:right;color:var(--red);font-size:13px}
@media(max-width:1180px){.theme-map-focus-list section>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.theme-map-viewport{min-height:620px}}
@media(max-width:850px){.theme-map-focus-list section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.theme-map-viewport{min-height:460px}.theme-map-svg{width:100%;max-width:620px}.theme-map-major-legend button{padding:12px 10px}.theme-map-major-legend span{font-size:12px}.theme-map-focus-list{padding:20px 18px 24px}.theme-map-focus-title{display:block}.theme-map-focus-title span{display:block;margin-top:4px}.theme-map-focus-list section>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.theme-map-theme circle{transition:none}.theme-map-theme.market-up-4 circle,.theme-map-theme.market-down-4 circle,.theme-map-theme.theme-hot circle{animation:none}}
.theme-map-hot-callout.is-compact text{font-size:22px}.theme-map-hot-callout.is-compact .score{font-size:19px}
.theme-map-inspector,.theme-map-market-rail{overflow:hidden;display:grid;grid-template-rows:auto 22px minmax(0,1fr) 22px;padding:0}.theme-map-inspector{grid-template-rows:70px 22px minmax(0,1fr) 22px}.theme-map-inspector-head{position:relative;min-width:0;min-height:70px;background:var(--paper)}.theme-map-inspector-head>.theme-map-side-title{height:70px;box-sizing:border-box}.theme-map-inspector-scroll,.theme-map-market-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:0 14px}.theme-map-inspector-scroll::-webkit-scrollbar,.theme-map-market-scroll::-webkit-scrollbar{display:none}.theme-map-scroll-cue{position:relative;z-index:2;display:grid;place-items:center;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.72));color:#6e7f98}.theme-map-scroll-cue.is-down{background:linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.72))}.theme-map-scroll-cue i{display:block;width:7px;height:7px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:translateY(2px) rotate(45deg)}.theme-map-scroll-cue.is-down i{transform:translateY(-2px) rotate(225deg)}

.theme-map-market-rail{min-width:0;max-height:860px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}
.theme-map-side-title{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;border-bottom:1px solid #e9e7e1;color:var(--ink);font-size:16px;font-weight:760;letter-spacing:.02em;background:rgba(255,255,255,.96)}.theme-map-side-title small{color:var(--muted);font-size:10px;font-weight:560;letter-spacing:0;white-space:nowrap}
.theme-side-ranking{list-style:none;margin:0;padding:0}
.theme-side-ranking li{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) 62px;align-items:center;gap:8px;min-height:43px;padding:7px 4px;border-bottom:1px solid #eeece7;font-size:14px;transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease,border-radius 160ms ease}
.theme-side-ranking li:last-child{border-bottom:0}.theme-side-ranking li:hover{z-index:1;border-bottom-color:transparent;border-radius:7px;background:var(--paper);transform:translateY(-1px) scale(1.006);box-shadow:var(--shadow-sm)}
.theme-side-ranking li>span{color:var(--muted);font-variant-numeric:tabular-nums}.theme-side-ranking li>a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.theme-side-ranking li>strong{font-size:14px;text-align:right;font-variant-numeric:tabular-nums}.theme-side-ranking .market-return.is-up{color:#d94c5c}.theme-side-ranking .market-return.is-down{color:#2d916b}.theme-side-ranking .market-return.is-flat,.theme-side-ranking .market-return.is-na{color:var(--muted)}
.theme-map-empty-row em{min-width:0;color:var(--muted);font-style:normal}

.theme-map-focus-root .theme-map-industry-center-title.is-multiline{font-size:24px}
.theme-map-category .theme-map-category-code{font-size:12.5px;font-weight:700;fill:#fff;paint-order:stroke;stroke:rgba(36,52,77,.18);stroke-width:1px;stroke-linejoin:round}
.theme-map-category-name{font-size:20px;font-weight:600;fill:#344258;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.theme-map-category .theme-map-tree-category-title{fill:#fff;paint-order:stroke;stroke:rgba(35,52,77,.16);stroke-width:1px;stroke-linejoin:round}.theme-map-tree-category-title .tree-code{font-size:10px;font-weight:780;letter-spacing:.04em}.theme-map-tree-category-title .tree-name{font-size:11.5px;font-weight:720}.theme-map-svg[data-focus-layout="tree"] .theme-map-branch{stroke-width:2;opacity:.72}.theme-map-svg[data-focus-layout="tree"] .theme-map-twig{stroke-width:1.15;opacity:.5}
.theme-map-category .theme-map-ring-category-title{fill:#fff;paint-order:stroke;stroke:rgba(35,52,77,.15);stroke-width:.8px;stroke-linejoin:round}.theme-map-ring-category-title .ring-code{font-size:10.5px;font-weight:700;letter-spacing:.02em}.theme-map-ring-category-title .ring-name{font-size:12.5px;font-weight:720}
.theme-map-svg .theme-map-major circle,.theme-map-svg .theme-map-category circle{transform-box:fill-box;transform-origin:center;transition:transform 125ms cubic-bezier(.2,.8,.2,1),filter 125ms ease;filter:drop-shadow(0 var(--node-shadow-y,2px) var(--node-shadow-blur,4px) rgb(33 52 77 / var(--node-shadow-alpha,.12))) drop-shadow(0 0 var(--node-glow,0px) color-mix(in srgb,var(--heat,#aeb8c3) 24%,transparent))}
.theme-map-svg .theme-map-major:hover circle,.theme-map-svg .theme-map-major:focus-visible circle,.theme-map-svg .theme-map-category:hover circle{transform:translateY(calc(-1 * var(--node-lift,2px))) scale(var(--node-scale,1.03));filter:drop-shadow(0 calc(var(--node-shadow-y,2px) + 1px) calc(var(--node-shadow-blur,4px) + 2px) rgb(33 52 77 / calc(var(--node-shadow-alpha,.12) + .07))) drop-shadow(0 0 calc(var(--node-glow,0px) + .8px) color-mix(in srgb,var(--heat,#aeb8c3) 34%,transparent))}
.theme-map-svg .theme-map-theme{transform-box:fill-box;transform-origin:center;transition:transform 180ms cubic-bezier(.4,0,.2,1)}
.theme-map-svg .theme-map-theme circle{filter:drop-shadow(0 var(--node-shadow-y,2px) var(--node-shadow-blur,4px) rgb(33 52 77 / var(--node-shadow-alpha,.12))) drop-shadow(0 0 var(--node-glow,0px) color-mix(in srgb,var(--heat,#aeb8c3) 24%,transparent))}
.theme-map-svg .theme-map-theme:hover,.theme-map-svg .theme-map-theme:focus-visible,.theme-map-svg .theme-map-theme.is-theme-hovered{transform:translate3d(0,-4px,0) scale(1.68);transition-duration:260ms;transition-timing-function:cubic-bezier(.16,1.16,.3,1)}
.theme-map-svg .theme-map-center circle,.theme-map-svg .theme-map-focus-root circle{transform-box:fill-box;transform-origin:center;transition:transform 170ms ease,filter 170ms ease}
.theme-map-svg .theme-map-center:hover circle,.theme-map-svg .theme-map-center:focus-visible circle,.theme-map-svg .theme-map-focus-root:hover circle{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 8px 16px rgba(48,79,121,.24))}
.theme-map-center text{font-size:24px}
.theme-map-hot-callout.is-hover-linked text{fill:var(--heat)}
.theme-side-ranking li.is-hover-linked{z-index:2;border-bottom-color:transparent;border-radius:7px;background:linear-gradient(135deg,#fff,#f1f5fb);transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-sm)}
.theme-side-ranking li.is-hover-linked>a{color:var(--blue);font-weight:720}
.heat-ranking.theme-side-ranking li{grid-template-columns:22px minmax(0,1fr) 86px}
.theme-heat-value{display:flex;align-items:center;gap:9px;justify-content:flex-end}
.theme-heat-value>span{min-width:26px;text-align:right}
.theme-heat-track{display:block;flex:1;height:5px;background:#eee9e9;border-radius:9px;overflow:hidden}
.theme-heat-track>i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f3878e,#d6203f);border-radius:inherit;transform-origin:left}
.theme-map-viewport.is-updating>.theme-map-svg{opacity:.35;pointer-events:none}
.theme-map-viewport.is-updating::after{content:'';position:absolute;top:48%;left:56%;width:26px;height:26px;border:2px solid #dce4ee;border-top-color:#5276a2;border-radius:50%;animation:panorama-loading .8s linear infinite;pointer-events:none}
@keyframes panorama-loading{to{transform:rotate(360deg)}}
@media(max-width:850px){.theme-map-inspector{grid-template-rows:70px 22px minmax(0,1fr) 22px}}
@media(prefers-reduced-motion:reduce){.theme-map-svg .theme-map-major circle,.theme-map-svg .theme-map-category circle,.theme-map-svg .theme-map-theme,.theme-map-svg .theme-map-center circle,.theme-map-svg .theme-map-focus-root circle{transition:none}.theme-map-svg .theme-map-major:hover circle,.theme-map-svg .theme-map-category:hover circle,.theme-map-svg .theme-map-theme:hover,.theme-map-svg .theme-map-theme:focus-visible,.theme-map-svg .theme-map-theme.is-theme-hovered,.theme-map-svg .theme-map-center:hover circle,.theme-map-svg .theme-map-focus-root:hover circle{transform:none!important}.theme-map-back{transition:none}}.theme-map-overlay-legend{position:absolute;z-index:3;top:18px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:6px 11px;max-width:none;padding:0;background:transparent;color:var(--muted);font-size:10px;pointer-events:none}.theme-map-overlay-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.theme-map-overlay-legend .market-color-scale,#theme-map-scope-summary{padding:7px 9px;background:rgba(251,251,249,.84);border-radius:5px;backdrop-filter:blur(5px)}.theme-map-overlay-legend .market-color-scale{gap:3px}.theme-map-overlay-legend .market-color-scale small{font:inherit;color:inherit}.theme-map-overlay-legend .market-color-scale .heat-dot{width:9px;height:9px}.theme-map-viewport.is-focused .theme-map-overlay-legend{left:150px;max-width:none}

/* NAS/static export is deliberately read-only: keep research views, hide production controls. */
.static-mode [data-nav="reminders"],.static-mode [data-nav="settings"]{display:none!important}
.static-mode [data-action="import-source"],.static-mode [data-action="add-user"],.static-mode [data-action="edit-user"],.static-mode [data-action="assign-role"],.static-mode [data-action="remove-role"],.static-mode [data-action="initialize"],.static-mode [data-action="confirm-initialization"],.static-mode [data-action^="edit-"],.static-mode [data-action="report-decision"],.static-mode [data-action="sync-metrics"],.static-mode [data-action="sync-llm-metrics"],.static-mode [data-action="alert-report"],.static-mode [data-action="feed-decision"],.static-mode [data-action="editorial-job"],.static-mode [data-action="source"],.static-mode a[href^="#review"],.static-mode a[href="#releases"],.static-mode .chapter-actions{display:none!important}

/* Keep the panorama aligned with the Wiki heading while fitting the complete atlas in one desktop view. */
@media(min-width:851px){
 .app-shell main.panorama-page{height:100%;min-height:0;box-sizing:border-box;padding-top:12px;padding-bottom:12px}
 .app-shell main.panorama-page+.page-footer{display:none}
 .panorama-page .theme-map-panel{height:100%;margin:0;display:flex;flex-direction:column;overflow:hidden}
 .panorama-page .theme-map-head{flex:none;display:flex;align-items:flex-start;gap:20px;margin:0 0 8px;padding:0;border:0}
 .panorama-page .theme-map-head>div:first-child{flex:1;min-width:250px;max-width:340px}
 .panorama-page .theme-map-head .eyebrow{margin-bottom:4px}
 .panorama-page .theme-map-head h1{font-family:var(--font-display);font-size:28px;line-height:1.15;letter-spacing:-.4px}
 .panorama-page .theme-map-head p:not(.eyebrow){margin-top:5px;font-size:12px;line-height:1.45}
 .panorama-page .theme-map-controls{max-width:660px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:25px}
 .panorama-page .theme-map-controls .segmented{flex:none;padding:2px}
 .panorama-page .theme-map-controls .btn{padding:5px 9px;font-size:11px}
 .panorama-page .theme-atlas{flex:1;min-height:0;gap:12px}
 .panorama-page .theme-map-viewport{min-height:0}
 .panorama-page .theme-map-overlay-legend{left:calc(var(--map-legend-width) + 24px);max-width:none}
 .panorama-page .theme-map-viewport.is-focused .theme-map-overlay-legend{left:calc(var(--map-legend-width) + 158px);max-width:none}
 .panorama-page .theme-map-svg{flex:1;min-height:0;width:100%;height:100%;max-width:900px}
 .panorama-page .theme-map-inspector,.panorama-page .theme-map-market-rail{align-self:stretch;max-height:none;min-height:0;padding:0;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}
 .panorama-page .theme-map-market-rail{margin:12px 0 12px 12px}.panorama-page .theme-map-inspector{margin:12px 12px 12px 0}
 .panorama-page .theme-map-back{left:calc(var(--map-side-width) + 24px)}
 .panorama-page .theme-map-major-legend{align-self:stretch;grid-template-columns:1fr;align-content:start;gap:0;width:auto;margin:12px 0 12px 12px;padding:0 8px;border:0;background:rgba(255,255,255,.78);overflow-y:auto;scrollbar-width:none;box-shadow:none}
 .panorama-page .theme-map-major-legend::-webkit-scrollbar{display:none}
 .panorama-page .theme-map-major-legend button{position:relative;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;min-height:43px;padding:7px 3px;align-content:center;border:0;border-bottom:1px solid #eeece7;border-radius:0;background:transparent;box-shadow:none;transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease,border-radius 160ms ease}
 .panorama-page .theme-map-major-legend button:last-child{border-bottom:0}
 .panorama-page .theme-map-major-legend button:hover,.panorama-page .theme-map-major-legend button.is-empty:hover{z-index:1;background:var(--blue-soft);color:var(--blue);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
 .panorama-page .theme-map-major-legend button.active,.panorama-page .theme-map-major-legend button.is-empty.active{z-index:2;border-bottom-color:transparent;border-radius:7px;background:var(--paper);color:var(--blue);transform:translateY(-2px) scale(1.012);box-shadow:var(--shadow-sm)}
 .panorama-page .theme-map-major-legend button.is-empty{background:transparent}
 .panorama-page .theme-map-major-legend b{font-size:14px}.panorama-page .theme-map-major-legend span{display:grid;gap:1px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}.panorama-page .theme-map-major-legend span strong{font-size:13px}.panorama-page .theme-map-major-legend small{font-size:11px;text-align:left}.panorama-page .industry-return{font-style:normal;font-size:13px;font-weight:720;text-align:right;font-variant-numeric:tabular-nums}.panorama-page .industry-return.is-up{color:#d94c5c}.panorama-page .industry-return.is-down{color:#2d916b}.panorama-page .industry-return.is-flat,.panorama-page .industry-return.is-na{color:var(--muted)}
 .panorama-page .theme-map-method{flex:none;padding:7px 14px;font-size:10px;line-height:1.35}
}

/* Large-display adaptation: expand the information canvas and type scale independently.
   The bounded scale preserves the 1366/1440 desktop baseline while making 2K/4K
   workspaces readable without browser zoom or proportional whole-page scaling. */
@media(min-width:1500px){
 :root{
  --wide-type-2xs:clamp(10px,calc(7.6px + .16vw),13px);
  --wide-type-xs:clamp(11px,calc(8.4px + .17vw),14px);
  --wide-type-sm:clamp(12px,calc(9.1px + .19vw),15.5px);
  --wide-type-body:clamp(14px,calc(10.5px + .23vw),18px);
  --wide-type-emphasis:clamp(16px,calc(11.9px + .27vw),21px);
  --wide-type-section:clamp(20px,calc(14.9px + .34vw),27px);
  --wide-type-title:clamp(28px,calc(20.7px + .49vw),38px);
  --wide-header-height:clamp(56px,calc(42.5px + .9vw),72px)
 }
 body{font-size:var(--wide-type-body)}
 .app-shell .workspace-body{grid-template-columns:minmax(0,1fr) 6px var(--agent-width,clamp(300px,18vw,420px))}
 .app-shell main{width:100%;max-width:2200px;padding-left:clamp(52px,3.5vw,76px);padding-right:clamp(52px,3.5vw,76px)}
 .app-shell .page-footer{width:calc(100% - clamp(104px,7vw,152px));max-width:2048px}

 .top-nav{height:var(--wide-header-height);padding-left:clamp(20px,2vw,44px);padding-right:clamp(20px,2vw,44px);gap:clamp(18px,1.25vw,28px)}
 .top-brand,.nav-links{height:var(--wide-header-height)}
 .top-brand{gap:clamp(10px,.7vw,15px);font-size:clamp(15px,calc(11.4px + .24vw),20px)}
 .top-brand .brand-mark{width:clamp(34px,2vw,44px);height:clamp(36px,2.15vw,48px);font-size:clamp(25px,1.55vw,34px)}
 .top-brand .brand-mark span{font-size:clamp(22px,1.35vw,30px)}
 .top-brand small{font-size:var(--wide-type-2xs)}
 .top-nav a[data-nav]{height:clamp(32px,2vw,42px);padding:0 clamp(12px,.85vw,18px);font-size:var(--wide-type-body)}
 .top-nav b{font-size:var(--wide-type-2xs);line-height:clamp(18px,1.15vw,24px);min-width:clamp(18px,1.15vw,24px)}

 h1,.panorama-page .theme-map-head h1{font-size:var(--wide-type-title)}
 h2,.theme-map-head h2{font-size:var(--wide-type-section)}
 h3{font-size:var(--wide-type-emphasis)}
 .subtitle,.theme-name,.brief-row h3,.report-library-row strong{font-size:var(--wide-type-body)}
 .eyebrow,.small-tag,.badge,.catalog-table code,.pilot-tag{font-size:var(--wide-type-2xs)}
 .btn,.text-button,.input,select,textarea,.taxonomy-nav button,.chapter-nav button,.section-tabs button{font-size:var(--wide-type-sm)}
 .btn{padding:clamp(9px,.6vw,13px) clamp(12px,.85vw,18px)}
 .btn.small{font-size:var(--wide-type-xs);padding:clamp(5px,.38vw,8px) clamp(10px,.7vw,15px)}

 .app-shell .catalog-summary strong{font-size:clamp(21px,calc(15.8px + .35vw),29px)}
 .app-shell .catalog-summary span,.catalog-caption,.rail-heading,.rail-note,.taxonomy-nav button small{font-size:var(--wide-type-xs)}
 .app-shell .catalog-summary>div{min-height:clamp(54px,3.7vw,76px);padding:clamp(9px,.7vw,15px) clamp(15px,1.1vw,24px)}
 .app-shell .catalog-layout{grid-template-columns:var(--catalog-width,clamp(208px,13vw,280px)) 6px minmax(0,1fr);gap:clamp(18px,1.25vw,28px)}
 .app-shell .catalog-table th{font-size:var(--wide-type-xs);padding:clamp(12px,.75vw,16px) clamp(14px,.9vw,20px)}
 .app-shell .catalog-table td{font-size:var(--wide-type-sm);padding:clamp(15px,1vw,22px) clamp(14px,.9vw,20px)}
 .catalog-definition,.app-shell .catalog-table td small{font-size:var(--wide-type-xs)}

 .home-hero h2{font-size:clamp(23px,calc(17px + .4vw),31px)}
 .home-hero>aside>span,.reminder-summary span,.brief-row small,.report-summary small,.report-summary p,.task-row p,.task-row>span,.feed-card-head time,.theme-chip,.feed-card-foot span,.settings-status span:first-child,.role-guide p{font-size:var(--wide-type-xs)}
 .home-hero>aside>strong{font-size:clamp(36px,calc(26.5px + .63vw),49px)}
 .home-hero>aside>strong small,.feed-card h3{font-size:var(--wide-type-emphasis)}
 .reminder-summary strong{font-size:clamp(19px,calc(14.1px + .33vw),26px)}
 .brief-row p,.feed-card>p,.settings-status strong{font-size:var(--wide-type-sm)}
 .theme-chip{padding:3px 8px}

 .workspace-body>.agent-pane{padding:clamp(20px,1.4vw,30px)}
 .agent-head strong{font-size:var(--wide-type-body)}
 .agent-placeholder{font-size:var(--wide-type-sm);padding:clamp(18px,1.25vw,26px) clamp(16px,1.1vw,23px)}

 .theme-atlas{grid-template-columns:minmax(620px,1fr) clamp(270px,16vw,380px);min-height:clamp(620px,49vw,1040px)}
 .panorama-page .theme-atlas{--map-side-width:clamp(270px,16vw,380px);grid-template-columns:minmax(620px,1fr) var(--map-side-width)}
 .panorama-page .theme-map-head>div:first-child{max-width:clamp(340px,23vw,500px)}
 .panorama-page .theme-map-controls{max-width:clamp(660px,45vw,920px);gap:clamp(6px,.45vw,10px);margin-top:clamp(25px,1.7vw,36px)}
 .panorama-page .theme-map-controls .btn{padding:clamp(5px,.4vw,9px) clamp(9px,.65vw,14px);font-size:var(--wide-type-xs)}
 .panorama-page .theme-map-viewport{--map-legend-width:var(--map-side-width);grid-template-columns:var(--map-side-width) minmax(0,1fr)}
 .panorama-page .theme-map-svg{max-width:clamp(820px,55vw,1260px)}
 .theme-map-inspector h3{font-size:var(--wide-type-section)}
 .theme-map-help,.heat-score span,.heat-breakdown dt,.theme-map-focus-title span{font-size:var(--wide-type-sm)}
 .heat-ranking li,.heat-ranking li>strong,.theme-side-ranking li,.theme-side-ranking li>strong,.heat-breakdown dd,.theme-map-focus-list a{font-size:var(--wide-type-body)}
 .heat-breakdown small,.theme-map-focus-list h4 span,.theme-map-major-legend small{font-size:var(--wide-type-xs)}
 .theme-map-focus-title strong,.theme-map-focus-list h4,.theme-map-side-title{font-size:var(--wide-type-emphasis)}
 .theme-map-focus-list a strong,.theme-map-major-legend b,.theme-map-major-legend span strong,.industry-return{font-size:var(--wide-type-sm)}
 .panorama-page .theme-map-major-legend button{grid-template-columns:clamp(20px,1.2vw,26px) minmax(0,1fr) auto;min-height:clamp(40px,2.7vw,48px);padding:clamp(4px,.32vw,7px) clamp(7px,.5vw,11px)}
 .theme-map-overlay-legend,.panorama-page .theme-map-method{font-size:var(--wide-type-2xs)}
}

@media(min-width:2100px){
 .compact-theme-grid{grid-template-columns:repeat(4,1fr)}
 .theme-grid{grid-template-columns:repeat(4,1fr)}
}
/* 行情图例保留离散分档，刻度对应各色段的边界。 */
.theme-map-overlay-legend .market-color-scale{display:block;width:clamp(190px,15vw,240px);max-width:100%;padding-top:21px;position:relative}
.theme-map-overlay-legend .market-scale-ticks{position:absolute;display:block;inset:0 0 auto;height:20px}
.market-scale-ticks small{position:absolute;top:0;transform:translateX(-50%);line-height:14px}
.market-scale-ticks small::after{content:'';position:absolute;top:16px;left:50%;height:4px;border-left:1px solid #7e8585}
.theme-map-overlay-legend .market-scale-track{display:grid;grid-template-columns:repeat(4,12fr) 4fr repeat(4,12fr);height:7px;gap:0;border-radius:8px;overflow:hidden;width:100%}
.theme-map-overlay-legend .market-scale-track .heat-dot{display:block;width:100%;height:7px;border-radius:0;margin:0}
/* v3 主题显示编码：目录装载后在主题库、面包屑与 Wiki 左栏显示；未装载时不出现。 */
.theme-code{font-family:Consolas,monospace;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.2px}

/* 主题归属 A/B 人工复核：完整原文与候选主题判断并排阅读。 */
.static-mode [data-local-only]{display:none!important}

/* 信息流实时处理看板 */
.pipeline-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.pipeline-window-presets{display:flex;gap:6px;flex-wrap:wrap}.pipeline-custom-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.pipeline-custom-form label{margin:0;font-size:10px;color:var(--muted)}.pipeline-custom-form .input{display:block;min-width:190px;margin-top:5px;padding:7px 9px}.pipeline-freshness{margin-left:auto;color:var(--muted);font-size:11px;display:flex;align-items:center;gap:7px}.pipeline-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.pipeline-kpi .metric-value{font-size:29px}.pipeline-kpi.green{border-top:3px solid #6e9b76}.pipeline-kpi.blue{border-top:3px solid #7192ad}.pipeline-kpi.amber{border-top:3px solid #c4a55c}.pipeline-kpi.red{border-top:3px solid #bd6e61}.pipeline-flow-bars{display:grid;gap:13px}.pipeline-flow-bar{display:grid;grid-template-columns:95px minmax(100px,1fr) 72px;gap:12px;align-items:center;font-size:11px}.pipeline-flow-bar>div{height:8px;background:#eef1ed;border-radius:8px;overflow:hidden}.pipeline-flow-bar i{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,#315f42,#82a57c);border-radius:8px}.pipeline-flow-bar strong{text-align:right;font-variant-numeric:tabular-nums}.pipeline-pager{padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafcf9;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.pipeline-pager>div{display:flex;gap:7px}.pipeline-table-wrap{max-height:58vh}.pipeline-table{min-width:1320px}.pipeline-table th{position:sticky;top:0;z-index:1}.pipeline-table td{padding:13px 14px}.pipeline-table .title-cell{min-width:270px;max-width:360px}.pipeline-title{font-weight:600;line-height:1.5}.pipeline-stage{display:inline-flex;flex-direction:column;gap:2px;min-width:84px;padding:7px 9px;border-radius:8px;background:#f0f2ef;color:#6d776f}.pipeline-stage strong{font-size:11px}.pipeline-stage small{font-size:9px;max-width:135px;white-space:normal}.pipeline-stage.green{background:var(--green-soft);color:var(--green)}.pipeline-stage.blue{background:var(--blue-soft);color:var(--blue)}.pipeline-stage.amber{background:var(--amber-soft);color:var(--amber)}.pipeline-stage.red{background:var(--red-soft);color:var(--red)}.pipeline-row-failed{background:#fff8f6}.pipeline-table td:last-child strong,.pipeline-table td:last-child small{display:block;white-space:nowrap}.pipeline-definition{padding-top:12px;padding-bottom:12px;color:var(--muted);font-size:10px}
@media(max-width:980px){.pipeline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline-freshness{width:100%;margin-left:0}.pipeline-custom-form{width:100%}}
.model-route-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line);background:#fafcf9}.model-route-intro p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.model-route-list{display:grid}.model-route-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(290px,1.4fr) minmax(150px,.7fr);gap:18px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.model-route-row>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.55}.model-route-row select{width:100%}.model-route-status{display:flex;align-items:center;gap:8px;min-width:0}.model-route-status small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.model-route-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}.model-route-actions p{margin:0;max-width:760px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.model-route-row{grid-template-columns:1fr}.model-route-status{margin-top:-8px}.model-route-actions{align-items:flex-start;flex-direction:column}}
.classification-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.classification-toolbar select{min-width:170px}.classification-toolbar #classification-review-batch{margin-left:auto;max-width:310px}
.classification-summary{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:18px;overflow:hidden}
.classification-summary div{display:flex;align-items:baseline;gap:8px;padding:14px 18px;border-right:1px solid var(--line)}.classification-summary div:last-child{border-right:0}
.classification-summary strong{font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}.classification-summary span{font-size:11px;color:var(--muted)}
.classification-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}
.classification-queue{position:sticky;top:16px;max-height:calc(100vh - 150px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:7px}
.classification-queue-item{display:block;width:100%;padding:13px 12px;border:1px solid transparent;border-bottom-color:var(--line);background:transparent;border-radius:8px;text-align:left;color:var(--text)}
.classification-queue-item:hover{background:#f7faf5}.classification-queue-item.active{background:var(--green-soft);border-color:#bcd0ba}
.classification-queue-item>span{display:flex;align-items:center;gap:6px}.classification-queue-item b{font-size:10px;color:var(--amber);font-weight:600}.classification-queue-item b.done{color:var(--green)}
.classification-queue-item>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.55;margin:8px 0 5px}.classification-queue-item>small{display:block;font-size:9px;line-height:1.5;color:var(--muted)}
.classification-workspace{display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(410px,.92fr);gap:16px;align-items:start;min-width:0}
.classification-source-panel,.classification-candidates-panel{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.classification-source-panel{position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}
.classification-source-head,.classification-candidates-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}
.classification-source-head h1,.classification-candidates-title h1{font-size:17px;line-height:1.55;margin:0}.classification-source-head .actions{justify-content:flex-end}
.classification-source-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:14px 22px;margin:0;border-bottom:1px solid var(--line)}
.classification-source-meta div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;font-size:10px}.classification-source-meta dt{color:var(--muted)}.classification-source-meta dd{margin:0;overflow-wrap:anywhere}
.classification-source-link{display:flex;justify-content:space-between;gap:12px;padding:11px 22px;border-bottom:1px solid var(--line);font-size:10px}.classification-source-link .mono{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.classification-source-text{padding:23px;white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto;font-size:13px;line-height:1.95;color:#3d4840;min-height:260px}
.classification-candidates-title{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:2;border-radius:12px 12px 0 0}.classification-candidates-list{display:grid;gap:14px;padding:14px}
.classification-candidate{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--paper)}.classification-candidate.is-disagreement{border-color:#e6d2a8;box-shadow:var(--shadow-sm)}
.classification-candidate-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line)}.classification-candidate-head>div{display:flex;align-items:center;gap:9px}.classification-candidate-head h2{font-size:16px;margin:0}
.classification-boundary{padding:12px 17px;background:#fafcf9;border-bottom:1px solid var(--line)}.classification-boundary p,.classification-boundary li{font-size:11px;line-height:1.75;color:#657269}.classification-boundary ul{padding-left:18px;margin:7px 0}.review-term{display:inline-block;padding:2px 6px;border-radius:4px;background:#eef2eb;margin:2px;font-size:10px}
.classification-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.classification-model{border:1px solid var(--line);border-radius:9px;padding:14px;min-width:0}.classification-model.llm{background:#f8faf7}.classification-model.jev{background:#f6f8fb;border-color:#dfe5ee}.classification-model.minimax{background:#fbf7fc;border-color:#e7dce9}.classification-model blockquote{margin:10px 0;padding:8px 10px;border-left:2px solid #b692bf;background:rgba(255,255,255,.65);font-size:11px;line-height:1.65;color:#626268}
.classification-model-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.classification-model-head>div{display:grid;gap:3px}.classification-model-head span{font-size:10px;color:var(--muted)}.classification-model-head strong{font-size:11px;overflow-wrap:anywhere}.classification-model>p{font-size:12px;line-height:1.75;margin:14px 0}.classification-model>small{font-size:10px;color:var(--muted)}
.jev-probability{display:grid;gap:2px;margin:14px 0}.jev-probability strong{font-size:30px;color:#526b8d;font-variant-numeric:tabular-nums}.jev-probability span{font-size:10px;color:var(--muted)}
.classification-human{padding:15px 17px 17px;border-top:1px solid var(--line);background:#fffdf8}.classification-human-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:11px}.classification-human-head>div{display:grid;gap:2px}.classification-human-head strong{font-size:13px}.classification-human-head small{font-size:9px;color:var(--muted)}
.classification-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.classification-choice{padding:9px 10px;border:1px solid #ddd8cb;border-radius:7px;background:var(--paper);color:#5c625c;font-size:10px;text-align:left}.classification-choice:hover{border-color:#96ad92;background:#f8fbf6}.classification-choice.selected{border-color:var(--green);background:var(--green-soft);color:var(--green);font-weight:600}.classification-choice:last-child{grid-column:1/-1;text-align:center}.classification-choice:disabled{opacity:.55}
.classification-human label{font-size:10px;margin:12px 0 5px}.classification-note{min-height:58px;padding:9px 10px;font-size:11px;line-height:1.6}
.information-review-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--line)}
.information-review-submit small{color:var(--muted)}
.pipeline-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.pipeline-live-summary>div{display:grid;gap:3px;padding:18px 22px;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.pipeline-live-summary b{font-size:30px;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.15}
.pipeline-live-summary span{font-size:13px;font-weight:600}.pipeline-live-summary small{color:var(--muted);font-size:11px}
.pipeline-live-summary .has-error b,.pipeline-node-counts .error{color:#b25441}
.pipeline-stage-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.pipeline-stage-mini{display:flex;flex-direction:column;gap:5px;padding:11px 13px;background:var(--paper);border:1px solid var(--line);border-radius:9px;text-align:left;min-width:0}.pipeline-stage-mini strong{font-size:12px;color:var(--ink)}.pipeline-stage-mini span{font-size:11px;color:var(--muted)}.pipeline-stage-mini small{font-size:10px;color:var(--muted)}.pipeline-stage-mini>div{height:3px;background:#edf1ed;border-radius:3px;overflow:hidden}.pipeline-stage-mini i{display:block;background:#85aa90;height:100%}.pipeline-stage-mini.is-moving{border-top:2px solid #508fbb}.pipeline-stage-mini.is-moving span{color:#386e8f}.pipeline-stage-mini.is-selected,.pipeline-stage-mini:hover{border-color:#557d63;background:#f5faf6}@media(min-width:1800px){.pipeline-stage-overview{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-width:650px){.pipeline-stage-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pipeline-pools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px}
.pipeline-pool{display:grid;gap:7px;padding:12px;background:#f5f8f7;border-radius:8px}.pipeline-pool strong{font-size:13px}
.pipeline-pool span,.pipeline-pool small{font-size:10px;color:var(--muted)}.pipeline-pool>div{height:5px;background:#e2e9e6;border-radius:6px;overflow:hidden}
.pipeline-pool i{display:block;height:100%;background:#5d91ac;transition:width .7s ease}.pipeline-pool.is-cooling{background:#fff6e3}
.pipeline-map{margin:24px 0;overflow-x:auto}.pipeline-map-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;align-items:stretch}.pipeline-map-row{display:grid;gap:14px;align-items:stretch}.pipeline-map-row.two{grid-template-columns:1fr 120px 1fr}
.pipeline-map-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline-map-link{align-self:center;font-size:12px;color:var(--green);text-align:center}
.pipeline-map-row.one{grid-template-columns:minmax(0,1fr);max-width:620px;margin:auto}.pipeline-map-row.parallel{grid-template-columns:repeat(2,minmax(0,1fr))}
.pipeline-branch-label{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0;font-size:11px;color:var(--muted)}
.pipeline-branch-label>span{height:1px;background:#cbd8d0;flex:1}.pipeline-node{display:flex;flex-direction:column;gap:10px;width:100%;padding:17px 18px;text-align:left;color:var(--text);border:1px solid #d8e2dc;border-top:3px solid #c3d1c8;border-radius:13px;background:var(--paper);box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}
.pipeline-node:hover,.pipeline-node.is-selected{border-color:#557d63;box-shadow:var(--shadow-sm)}.pipeline-node.is-selected{background:#f5faf6}
.pipeline-node.is-moving{border-top-color:#508fbb}.pipeline-node.is-waiting{border-top-color:#c5a566}.pipeline-node.has-error{border-top-color:#b86d59}
.pipeline-node-head{display:flex;align-items:center;gap:7px}.pipeline-node-head strong{font-size:14px}.pipeline-node-head small{margin-left:auto;font-size:9px;color:var(--muted)}
.pipeline-node-light{width:7px;height:7px;border-radius:50%;background:#a4afa8}.is-moving .pipeline-node-light{background:#528eaf;animation:pipeline-beat 1.8s ease-in-out infinite}.has-error .pipeline-node-light{background:#b86d59}
.pipeline-node-tools{font-size:10px;line-height:1.6;color:var(--muted);margin:0;min-height:32px;overflow-wrap:anywhere}
.pipeline-node-active{display:flex;align-items:baseline;gap:8px;position:relative;overflow:hidden}.pipeline-node-active>b{font-size:30px;font-variant-numeric:tabular-nums;color:#386e8f;line-height:1}
.pipeline-node-active>span{font-size:11px;color:var(--muted)}.pipeline-flow-pulse{position:absolute;right:0;top:10px;width:50px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#609cbd,transparent);animation:pipeline-travel 2s linear infinite}
.pipeline-node-counts{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px}.pipeline-node-counts span{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.pipeline-node-counts b{color:var(--text);font-variant-numeric:tabular-nums}.pipeline-node-progress{height:5px;background:#ecf0ec;border-radius:5px;overflow:hidden;margin-top:5px}
.pipeline-node-progress>span{display:block;height:100%;background:#81a78b;transition:width .7s ease}.pipeline-node-completion{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted)}
.pipeline-node-completion>b{color:var(--green)}.pipeline-spark{height:38px;width:100%;color:#6c9a84;background:linear-gradient(180deg,#f9fcfa,#fff);border-bottom:1px solid #e6ede7}
.pipeline-spark-label{font-size:9px;color:var(--muted);margin-bottom:-7px}.is-stale .pipeline-node-light,.is-stale .pipeline-flow-pulse{animation-play-state:paused;opacity:.35}.is-stale .pipeline-freshness{color:#b25441}.pipeline-node.just-completed .pipeline-node-completion{animation:pipeline-completed 1.8s ease-out}@keyframes pipeline-completed{from{background:#d7ecd8}to{background:transparent}}
.pipeline-node-foot{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px}.pipeline-map-note{font-size:10px;text-align:center;color:var(--muted);margin:14px 0}
.pipeline-task-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);font-size:11px}.pipeline-task-controls>div{display:flex;gap:9px;align-items:center;margin-left:auto}
.pipeline-live-task-wrap{max-height:550px}.pipeline-live-task-table{min-width:1100px}.pipeline-live-task-table th{position:sticky;top:0;z-index:1;background:#f3f7f3}
.pipeline-live-task-table td{vertical-align:top;font-size:11px}.pipeline-live-task-table small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.pipeline-live-task-table td:first-child{min-width:240px;max-width:400px}
.pipeline-live-task-table details{font-size:10px;max-width:270px;margin-top:7px;overflow-wrap:anywhere}.pipeline-task-state{display:block;border-radius:5px;padding:5px 7px;margin-top:7px;background:#edf1eb;font-size:10px}
.pipeline-task-state.model_call{background:#e6f1f7;color:#386e8f}.pipeline-task-state.pool_wait,.pipeline-task-state.retry_wait{background:#fff3d8;color:#96752d}.pipeline-task-state.failed{background:#fff0e9;color:#a75743}
.pipeline-stage-explain,.pipeline-wiki-lane{padding:17px 20px;border:1px solid #d6e3d8;border-radius:10px;background:#f8fbf7;margin:16px 0;font-size:11px}
.pipeline-stage-explain p{font-size:12px}.pipeline-stage-explain small,.pipeline-wiki-lane small{color:var(--muted)}.pipeline-wiki-lane{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pipeline-wiki-lane small{width:100%}
.pipeline-issues{padding:12px 18px;background:#fff8eb;border-radius:9px;margin:14px 0;font-size:11px}.pipeline-issues span{display:inline-block;margin:10px 14px 0 0}
.pipeline-call-records{padding:8px 18px}.pipeline-call-records p{display:flex;justify-content:space-between;gap:18px;font-size:11px;border-bottom:1px solid var(--line);padding:10px 0;margin:0}.pipeline-call-records span{color:var(--muted)}
@keyframes pipeline-beat{0%,100%{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow-sm)}}
@keyframes pipeline-travel{0%{transform:translateX(-30px);opacity:.3}50%{opacity:1}100%{transform:translateX(45px);opacity:.1}}
@media(prefers-reduced-motion:reduce){.pipeline-node-light,.pipeline-flow-pulse,.pipeline-node.just-completed .pipeline-node-completion{animation:none!important}.pipeline-node-progress>span,.pipeline-pool i{transition:none}}
@media(max-width:1000px){.pipeline-map-row.three{grid-template-columns:1fr 1fr}.pipeline-pools{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline-live-summary{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.pipeline-map-row.three,.pipeline-map-row.two,.pipeline-map-row.parallel{grid-template-columns:1fr}.pipeline-map-link{padding:3px;transform:rotate(90deg)}.pipeline-pools{grid-template-columns:1fr 1fr}.pipeline-node-tools{min-height:0}.pipeline-call-records p{display:block}.pipeline-call-records span{display:block;margin-top:7px}}

@media(max-width:1180px){.classification-layout{grid-template-columns:190px minmax(0,1fr)}.classification-workspace{grid-template-columns:1fr}.classification-source-panel{position:relative;top:auto;max-height:none}.classification-source-text{max-height:60vh}.classification-candidates-title{position:relative}.classification-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.classification-layout{grid-template-columns:1fr}.classification-queue{position:relative;top:auto;max-height:260px}.classification-summary{grid-template-columns:repeat(2,1fr)}.classification-summary div{border-bottom:1px solid var(--line)}.classification-workspace{display:block}.classification-candidates-panel{margin-top:14px}.classification-models{grid-template-columns:1fr}.classification-choice-grid{grid-template-columns:1fr}.classification-choice:last-child{grid-column:auto}.classification-toolbar #classification-review-batch{margin-left:0;max-width:100%}.classification-toolbar select{width:100%}}
/* 看板实时控制独立挂载，自动刷新不会替换正在编辑的表单。 */
.pipeline-model-controls{margin:0 0 20px;border:1px solid var(--line,#ddd);border-radius:12px;background:var(--paper,#fff)}
.pipeline-model-controls>summary{cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pipeline-model-controls>summary span{font-size:12px;color:var(--muted,#68717d)}
.pipeline-model-controls>summary::before{content:'▸';color:var(--green,#2f654c)}.pipeline-model-controls[open]>summary::before{content:'▾'}
.pipeline-control-module{border-top:1px solid var(--line,#ddd);padding:14px 0 8px}
.pipeline-control-module:first-child{border-top:0}
.pipeline-control-module>h3{margin:0 0 6px;font-size:15px;color:var(--green,#2f654c)}
.pipeline-control-module>.field-hint{margin:0 0 10px}
.pipeline-model-body{padding:0 20px 20px}.pipeline-model-body>p{font-size:13px;color:var(--muted,#68717d);line-height:1.6}
.pipeline-model-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.6fr) 90px 80px;align-items:center;gap:16px;border-top:1px solid var(--line,#ddd);padding:14px 0}
.pipeline-model-row small{display:block;font-size:11px;color:var(--muted,#68717d);margin-top:5px;line-height:1.5}
.pipeline-model-row label{font-size:11px}.pipeline-model-row input,.pipeline-provider-control input{width:74px}
.pipeline-model-row select{width:100%;min-width:0}.pipeline-provider-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.pipeline-provider-control{border:1px solid var(--line,#ddd);border-radius:8px;padding:12px;display:grid;grid-template-columns:1fr 74px;gap:8px;align-items:center;font-size:12px}
.pipeline-provider-control small{grid-column:1/-1;color:var(--muted,#68717d)}
.pipeline-control-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:12px 0;background:var(--paper,#fff);position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line,#ddd)}.pipeline-control-actions [role=status]{font-size:12px;flex:1;min-width:200px}
.pipeline-model-list{max-height:520px;overflow:auto;overscroll-behavior:contain;padding-right:6px}
.financial-facts{margin:24px 0}.financial-controls{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0}.financial-controls label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.financial-controls select{width:auto;min-width:120px}.financial-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.financial-table th[scope=row]{text-align:left;min-width:150px}.financial-total{font-weight:600;background:var(--wash,#f4f7f8)}.financial-facts details{margin:14px 0;border-top:1px solid var(--line,#ddd);padding-top:12px}.financial-facts summary{cursor:pointer;font-size:13px;font-weight:600}.financial-history .table-wrap{max-height:390px;overflow:auto}.financial-facts .field-hint{line-height:1.7}
.line-facts{margin:24px 0}.fact-line-chart{margin:24px 0;--trend-color:#35669e}.fact-line-chart:nth-of-type(even){--trend-color:#287b77}.fact-line-chart figcaption{font-size:15px;font-weight:600}.fact-line-svg{display:block;width:100%;height:auto;margin-top:6px}.fact-line-svg .trend-tick{font-size:13px}.fact-line-point{fill:var(--trend-color);stroke:#fff;stroke-width:1;cursor:crosshair}.fact-line-point:focus,.fact-line-point:hover{r:5;outline:none;stroke:var(--ink);stroke-width:2}.fact-line-axis{stroke:#aab6c4;stroke-width:1}.fact-line-zero{stroke:#7c8998;stroke-width:1;stroke-dasharray:4 4}.chapter .fact-line-latest{font-size:13px;margin:0;text-align:center}.fact-line-latest span{font-size:11px;color:var(--muted);margin-left:10px}
@media(max-width:1000px){.pipeline-model-row{grid-template-columns:1fr 90px}.pipeline-model-row>div,.pipeline-model-row>label:nth-child(2){grid-column:1/-1}.pipeline-model-body{padding:0 14px 14px}}


/* 信息流左右两栏：筛选与阅读分别滚动，操作按钮保持可见。 */
.app-shell .content-scroll:has(>main.feed-page){overflow:hidden;scrollbar-gutter:auto}
.app-shell main.feed-page{height:100%;min-height:0;width:100%;max-width:none;margin:0;padding:0;box-sizing:border-box}
.app-shell main.feed-page+.page-footer{display:none}
.feed-workspace{display:grid;grid-template-columns:288px minmax(0,1fr);height:100%;min-height:0;overflow:hidden}
.feed-workspace>.feed-filter-panel{display:flex;flex-direction:column;min-height:0;min-width:0;margin:0;padding:0;border:0;border-right:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--paper)}
.feed-sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:20px 18px 16px}
.feed-sidebar-heading h2{margin:0;font-family:var(--font-body);font-size:14px;font-weight:600}
.feed-filter-toggle{display:none}
.feed-filter-panel #feed-filter-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.feed-filter-panel .feed-filter-search{flex:none;grid-column:auto;margin:0;padding:0 18px 16px}
.feed-filter-panel .feed-filter-grid{display:flex;flex-direction:column;gap:0;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 18px 16px}
.feed-filter-group{display:grid;gap:12px;min-width:0;margin:0;padding:16px 0 22px;border:0;border-top:1px solid var(--line)}
.feed-filter-group legend{float:left;width:100%;margin:0 0 2px;padding:0;font-size:11px;font-weight:600;color:var(--ink)}
.feed-filter-panel .feed-filter-field{margin:0;gap:6px}
.feed-filter-panel .feed-filter-field>span{font-size:11px;letter-spacing:0}
.feed-filter-panel .feed-filter-field input,.feed-filter-panel .feed-filter-field select{height:36px;min-height:36px;padding-top:6px;padding-bottom:6px;font-size:12px}
.feed-filter-panel .feed-custom-time.is-muted{display:none}
.feed-filter-panel .feed-filter-actions{flex:none;justify-content:stretch;gap:8px;margin:0;padding:14px 18px;border-top:1px solid var(--line);background:var(--paper)}
.feed-filter-panel .feed-filter-actions .btn{flex:1;min-width:0}
.feed-results{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:28px clamp(24px,3vw,64px) 36px;scrollbar-gutter:stable}
.feed-results-inner{max-width:1120px;min-width:0;margin:0 auto}
.feed-results .page-heading{margin-bottom:22px;gap:18px}
.feed-results .page-heading .eyebrow{display:none}
.feed-results .page-heading h1{font-size:26px;margin-bottom:7px}
.feed-results .page-heading p{font-size:12px}
.feed-results .feed-result-summary{flex-wrap:wrap;gap:8px 16px}
.feed-results .feed-result-summary>div{flex-wrap:wrap;gap:5px 12px}
.feed-results .feed-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px) and (min-width:761px){
 .feed-workspace{grid-template-columns:264px minmax(0,1fr)}
 .feed-results{padding:24px 22px 30px}
 .feed-results .page-heading{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:760px){
 .feed-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}
 .feed-workspace>.feed-filter-panel{border-right:0;border-bottom:1px solid var(--line)}
 .feed-sidebar-heading{padding:10px 16px}
 .feed-filter-toggle{display:inline-flex}
 .feed-filter-panel #feed-filter-form{display:none}
 .feed-filter-panel.is-expanded #feed-filter-form{display:flex;flex:none;height:min(56dvh,440px)}
 .feed-filter-panel .feed-filter-search{padding:0 16px 12px}
 .feed-filter-panel .feed-filter-grid{padding:0 16px 12px}
 .feed-filter-panel .feed-filter-actions{padding:10px 16px}
 .feed-results{padding:20px 16px 28px}
 .feed-results .page-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:16px}
 .feed-results .feed-card{padding:16px}
}

/* 独立覆盖层只播放一次扫描，圆环、节点和已有标注不参与动画。 */
.theme-radar-scan{position:absolute;z-index:3;display:grid;place-items:center;overflow:hidden;pointer-events:none;animation:theme-radar-scan-opacity 2s linear both}
.theme-radar-scan-beam{position:relative;flex:none;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg 320deg,transparent 321deg,color-mix(in srgb,var(--blue) 70%,transparent) 359deg,transparent 360deg);animation:theme-radar-scan-turn 2s linear both;will-change:transform}
.theme-radar-scan-beam::after{content:"";position:absolute;left:50%;top:0;width:1px;height:50%;background:var(--blue)}
@keyframes theme-radar-scan-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes theme-radar-scan-opacity{0%,100%{opacity:0}4%,95%{opacity:.18}}
@media(prefers-reduced-motion:reduce){.theme-radar-scan,.theme-radar-scan-beam{animation:none}}
