:root {
  --paper: #f6f0ff;
  --paper-2: #eee4ff;
  --ink: #24143d;
  --muted: #756582;
  --soft: #b7a7ce;
  --line: rgba(79, 45, 133, 0.14);
  --line-strong: rgba(79, 45, 133, 0.25);
  --card: rgba(255, 255, 255, 0.8);
  --card-solid: #ffffff;
  --moss: #7652f3;
  --moss-deep: #4b1f86;
  --hot: #ff5db2;
  --gold: #d8ff4b;
  --violet: #7652f3;
  --violet-bright: #5a32ff;
  --violet-deep: #32135e;
  --lime: #d8ff4b;
  --pink: #ff5db2;
  --blue: #4540f5;
  --shadow: 0 20px 60px rgba(74, 38, 128, 0.13);
  --display: "Avenir Next", "Noto Sans CJK SC", "PingFang SC", sans-serif;
  --serif: "Avenir Next", "Noto Sans CJK SC", "PingFang SC", sans-serif;
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); font-family: var(--display); }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; }

.app-shell { min-height: 100dvh; display: grid; grid-template-columns: 252px minmax(0, 1fr); }
.sidebar { background: #20241f; color: #f2efe7; padding: 29px 18px 20px; display: flex; flex-direction: column; min-height: 100dvh; position: sticky; top: 0; height: 100dvh; }
.brand-lockup { display: flex; align-items: center; gap: 11px; padding: 0 10px 28px; }
.brand-mark { width: 31px; height: 31px; display: flex; align-items: flex-end; gap: 3px; padding: 5px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px 10px 10px 3px; background: rgba(255,255,255,.05); }
.brand-mark span { display: block; width: 5px; border-radius: 4px 4px 1px 1px; background: #c9d0b7; }
.brand-mark span:nth-child(1) { height: 9px; opacity: .66; }.brand-mark span:nth-child(2) { height: 15px; }.brand-mark span:nth-child(3) { height: 20px; background: #df8b65; }
.brand-name { margin: 0; font-weight: 700; letter-spacing: .06em; font-size: 15px; }.brand-caption { margin: 3px 0 0; font-size: 8px; letter-spacing: .22em; color: #a4a99d; }
.sidebar-rule { height: 1px; background: rgba(255,255,255,.1); margin: 0 10px 25px; }
.nav-label, .eyebrow { margin: 0; font-size: 10px; letter-spacing: .17em; text-transform: uppercase; color: #8e9689; font-weight: 700; }.nav-label { padding: 0 11px 10px; }
.primary-nav { display: grid; gap: 4px; }
.nav-item { width: 100%; border: 0; background: transparent; display: flex; align-items: center; gap: 11px; color: #b6bbb1; padding: 11px 11px; border-radius: 11px; cursor: pointer; text-align: left; font-size: 12px; transition: background 500ms cubic-bezier(.32,.72,0,1), color 500ms cubic-bezier(.32,.72,0,1), transform 500ms cubic-bezier(.32,.72,0,1); }
.nav-item:hover { color: #fbfaf5; background: rgba(255,255,255,.065); transform: translateX(2px); }.nav-item.active { color: #20241f; background: #e7e6d7; }.nav-item b { margin-left: auto; font-size: 10px; color: #7f887c; font-weight: 600; }.nav-item.active b { color: var(--moss-deep); }.nav-item .warm-count { color: #d89572; }.nav-icon { width: 15px; font-size: 15px; line-height: 1; text-align: center; opacity: .86; }
.sidebar-bottom { margin-top: auto; }.operator-card { display: flex; align-items: center; gap: 9px; padding: 12px 10px; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }.operator-card strong, .operator-card small { display: block; }.operator-card strong { font-size: 10px; font-weight: 600; color: #d6d9ce; }.operator-card small { color: #7d857b; font-size: 9px; margin-top: 3px; }.pulse-dot, .live-dot { display: inline-block; border-radius: 50%; background: #8fb077; box-shadow: 0 0 0 4px rgba(143,176,119,.12); }.pulse-dot { width: 7px; height: 7px; }.source-link { display: flex; align-items: center; justify-content: space-between; margin: 17px 10px 0; color: #a8aea2; font-size: 10px; text-decoration: none; transition: color 400ms cubic-bezier(.32,.72,0,1); }.source-link:hover { color: #f1ede3; }

.main-content { min-width: 0; padding: 0 57px 32px; overflow: hidden; }
.topbar { height: 82px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }.crumbs { display: flex; gap: 11px; align-items: center; color: var(--muted); font-size: 11px; }.crumbs i { font-style: normal; color: #c0bfb7; }.crumbs strong { color: var(--ink); font-weight: 600; }.top-actions { display: flex; gap: 10px; align-items: center; }.search-box { width: min(285px, 27vw); display: flex; align-items: center; gap: 7px; padding: 9px 12px; background: rgba(255,255,255,.35); border: 1px solid var(--line); border-radius: 9px; color: var(--muted); }.search-box span { font-size: 16px; line-height: 1; }.search-box input { width: 100%; min-width: 0; border: 0; background: transparent; outline: none; color: var(--ink); font-size: 11px; }.search-box input::placeholder { color: #a6a79f; }.icon-button, .close-drawer { border: 1px solid var(--line); background: rgba(255,255,255,.35); cursor: pointer; border-radius: 9px; width: 35px; height: 35px; color: var(--muted); transition: transform 500ms cubic-bezier(.32,.72,0,1), background 500ms cubic-bezier(.32,.72,0,1); }.icon-button:hover { transform: rotate(30deg); background: #fffdf8; }.avatar { width: 29px; height: 29px; border-radius: 50%; background: var(--moss-deep); color: #f1efe7; display: grid; place-items: center; font-size: 11px; }

.hero-block { display: flex; justify-content: space-between; align-items: flex-end; padding: 75px 0 62px; gap: 40px; }.hero-copy { max-width: 670px; }.eyebrow { color: var(--moss); }.eyebrow.plain { font-size: 9px; color: #9b9d94; }.live-dot { width: 6px; height: 6px; margin-right: 5px; vertical-align: 1px; }.hero-copy h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(43px, 5.2vw, 76px); line-height: .98; letter-spacing: -.065em; margin: 17px 0 22px; }.hero-copy h1 em { font-style: normal; color: var(--moss-deep); }.hero-description { color: var(--muted); max-width: 420px; font-size: 13px; line-height: 1.8; margin: 0; }.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; width: min(390px, 40%); }.stat-card { min-height: 105px; padding: 17px 15px 13px; background: rgba(255,255,255,.33); border: 1px solid var(--line); border-radius: 15px; display: flex; flex-direction: column; justify-content: space-between; }.stat-card.emphasis { background: var(--moss-deep); border-color: var(--moss-deep); color: #f5f0e6; }.stat-card span { font-size: 10px; color: var(--muted); }.stat-card.emphasis span { color: #b8c3ad; }.stat-card strong { font-family: var(--serif); font-size: 32px; font-weight: 500; line-height: 1; letter-spacing: -.03em; }.stat-card small { color: #9c9f97; font-size: 9px; }.stat-card.emphasis small { color: #a9b7a2; }
.hot-rail { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 24px; padding: 15px 0 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.hot-rail-title { display:flex; align-items:center; gap:7px; white-space:nowrap; }.hot-rail-title strong { font-size:10px; }.hot-rail-title small { color:#a0a29a; font-size:9px; margin-left:3px; }.hot-rail-items { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }.hot-rail-items::-webkit-scrollbar { display:none; }.hot-chip { border:1px solid var(--line); background:rgba(255,255,255,.26); border-radius:9px; padding:8px 10px; min-width:145px; cursor:pointer; text-align:left; transition:background 450ms cubic-bezier(.32,.72,0,1), transform 450ms cubic-bezier(.32,.72,0,1); }.hot-chip:hover { background:#fffdf8; transform:translateY(-2px); }.hot-chip b { display:block; font-family:var(--serif); font-size:14px; font-weight:500; color:var(--moss-deep); }.hot-chip span { display:block; margin-top:5px; color:#9a9d95; font-size:9px; }

.flow-strip { padding: 20px 23px 22px; background: rgba(255,255,255,.31); border: 1px solid var(--line); border-radius: 17px; display: flex; align-items: center; gap: 42px; }.flow-heading { flex: 0 0 170px; }.flow-heading strong { font-family: var(--serif); font-size: 15px; font-weight: 500; display: block; margin-top: 6px; }.flow-track { flex: 1; display: flex; align-items: center; min-width: 0; }.flow-node { border: 0; background: transparent; padding: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 7px; align-items: center; text-align: left; color: #9a9c94; cursor: pointer; min-width: 67px; }.flow-node span:not(.node-number) { font-size: 10px; color: #666a63; white-space: nowrap; }.flow-node small { grid-column: 2; font-size: 9px; color: #a9aaa2; margin-top: 4px; white-space: nowrap; }.node-number { grid-row: span 2; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 8px; background: #e6e5dc; color: #95978e; }.flow-node.done .node-number { background: #d8e1d1; color: var(--moss-deep); }.flow-node.active .node-number { background: var(--moss-deep); color: white; }.flow-node.active span:not(.node-number) { color: var(--ink); font-weight: 600; }.flow-line { height: 1px; flex: 1; background: var(--line); min-width: 16px; margin: 0 10px; position: relative; }.flow-line.done { background: #afc19f; }.flow-line.done::after { content: ""; position: absolute; top: -2px; right: -1px; width: 5px; height: 5px; border-radius: 50%; background: #afc19f; }

.toolbar { display: flex; justify-content: space-between; align-items: flex-end; padding: 62px 0 18px; }.section-title h2 { margin: 8px 0 0; font-family: var(--serif); font-size: 28px; font-weight: 500; letter-spacing: -.04em; }.toolbar-controls { display: flex; gap: 12px; align-items: center; }.segmented, .view-switch { display: flex; background: rgba(255,255,255,.34); border: 1px solid var(--line); padding: 3px; border-radius: 9px; }.segmented button, .view-switch button { border: 0; background: transparent; color: #898d85; font-size: 10px; padding: 7px 11px; border-radius: 6px; cursor: pointer; transition: background 400ms cubic-bezier(.32,.72,0,1), color 400ms cubic-bezier(.32,.72,0,1); }.segmented button.selected, .view-switch button.selected { background: #fffdf8; color: var(--ink); box-shadow: 0 2px 8px rgba(57,51,39,.06); }.view-switch button { padding: 7px 9px; font-size: 14px; line-height: 1; }
.insight-banner { display: flex; align-items: center; gap: 13px; padding: 14px 16px; background: #e6eadf; border: 1px solid rgba(100,117,94,.2); border-radius: 12px; position: relative; }.insight-icon { width: 24px; height: 24px; background: #cad8be; color: var(--moss-deep); border-radius: 8px; display: grid; place-items: center; font-size: 12px; }.insight-banner strong { font-size: 10px; color: var(--moss-deep); }.insight-banner p { display: inline; color: #667262; font-size: 11px; margin: 0 0 0 11px; }.banner-close { border: 0; background: transparent; color: #8c9c85; cursor: pointer; font-size: 17px; margin-left: auto; }

.topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; padding-top: 18px; }.topic-card { min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 19px 19px 16px; cursor: pointer; position: relative; overflow: hidden; animation: rise-in 700ms cubic-bezier(.32,.72,0,1) both; transition: transform 600ms cubic-bezier(.32,.72,0,1), box-shadow 600ms cubic-bezier(.32,.72,0,1), background 600ms cubic-bezier(.32,.72,0,1); }.topic-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); background: var(--card-solid); }.topic-card::after { content: ""; position: absolute; width: 130px; height: 130px; border-radius: 50%; right: -78px; bottom: -80px; background: rgba(100,117,94,.055); pointer-events: none; }.topic-topline, .topic-meta, .score-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.topic-topline { margin-bottom: 20px; }.rank-tag { font-family: var(--serif); font-size: 18px; color: #a2a49b; }.source-tag { font-size: 9px; color: var(--moss); padding: 5px 8px; border-radius: 20px; background: #e8eee3; }.status-tag { font-size: 9px; color: #a87548; display: flex; align-items: center; gap: 5px; }.status-tag::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #d39a63; }.topic-card h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 21px; line-height: 1.28; letter-spacing: -.035em; font-weight: 500; max-width: 520px; }.topic-bridge { color: #747971; font-size: 11px; line-height: 1.65; margin: 0 0 19px; min-height: 36px; }.topic-meta { padding-top: 12px; border-top: 1px solid var(--line); color: #9a9c94; font-size: 9px; }.topic-meta span:last-child { color: #71756d; }.score-row { margin-top: 14px; justify-content: flex-start; gap: 12px; }.total-score { color: var(--moss-deep); font-family: var(--serif); font-size: 24px; letter-spacing: -.04em; }.total-score small { font-family: var(--display); font-size: 9px; color: #94998f; letter-spacing: 0; }.score-pips { display: flex; gap: 3px; }.score-pip { width: 12px; height: 4px; border-radius: 4px; background: #dcddd6; }.score-pip.filled { background: #91a886; }.grade-pill { margin-left: auto; font-size: 9px; min-width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #eff1e8; color: var(--moss-deep); }.grade-pill.grade-b { background: #f4ead8; color: #a37445; }.grade-pill.grade-c { background: #f1e6e1; color: #a26856; }
.topic-grid.flow-layout { display: block; position: relative; padding-left: 30px; }.topic-grid.flow-layout::before { content: ""; position: absolute; left: 10px; top: 18px; bottom: 20px; width: 1px; background: #cbd2c4; }.topic-grid.flow-layout .topic-card { margin: 0 0 13px; }.topic-grid.flow-layout .topic-card::before { content: ""; position: absolute; left: -26px; top: 28px; width: 9px; height: 9px; border-radius: 50%; background: var(--moss); box-shadow: 0 0 0 5px var(--paper); z-index: 1; }
.empty-state { text-align: center; padding: 100px 0; color: var(--muted); }.empty-state div { font-size: 32px; color: var(--soft); }.empty-state h3 { font-family: var(--serif); font-size: 22px; font-weight: 500; margin: 12px 0 5px; }.empty-state p { margin: 0; font-size: 11px; }.page-footer { display: flex; justify-content: space-between; padding: 28px 0 0; color: #aaa9a0; font-size: 9px; }

.drawer-backdrop { position: fixed; z-index: 5; inset: 0; background: rgba(29,33,28,.3); opacity: 0; transition: opacity 600ms cubic-bezier(.32,.72,0,1); }.drawer-backdrop.visible { opacity: 1; }.detail-drawer { position: fixed; z-index: 6; top: 0; right: 0; height: 100dvh; width: min(520px, 100vw); background: #fbf9f3; box-shadow: -20px 0 60px rgba(37,34,27,.14); transform: translateX(100%); transition: transform 700ms cubic-bezier(.32,.72,0,1); overflow: auto; }.detail-drawer.open { transform: translateX(0); }.drawer-top { display: flex; justify-content: space-between; align-items: center; padding: 29px 30px 22px; border-bottom: 1px solid var(--line); }.close-drawer { background: transparent; font-size: 20px; }.drawer-content { padding: 32px 30px 44px; }.detail-rank { font-family: var(--serif); color: #a3a69c; font-size: 13px; margin-bottom: 13px; }.drawer-content h2 { font-family: var(--serif); font-size: 33px; line-height: 1.15; letter-spacing: -.05em; font-weight: 500; margin: 0 0 19px; }.detail-summary { color: #6d716a; font-size: 12px; line-height: 1.85; margin: 0 0 29px; }.detail-section { border-top: 1px solid var(--line); padding: 21px 0; }.detail-section h4 { margin: 0 0 11px; color: #9b9e95; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }.detail-section p { margin: 0; color: #535850; font-size: 11px; line-height: 1.75; }.score-matrix { display: grid; gap: 12px; }.score-line { display: grid; grid-template-columns: 84px 1fr 23px; align-items: center; gap: 10px; font-size: 10px; color: #787c73; }.score-bar { height: 5px; background: #e4e5de; border-radius: 5px; overflow: hidden; }.score-bar i { display: block; height: 100%; background: #829878; border-radius: 5px; }.score-line strong { color: var(--moss-deep); font-size: 10px; font-weight: 600; text-align: right; }.evidence-box { padding: 13px; border-radius: 10px; background: #f0eee7; color: #777a71; font-size: 10px; line-height: 1.7; }.evidence-box a { display: inline-block; margin-top: 7px; color: var(--moss-deep); text-decoration: none; border-bottom: 1px solid #b8c4b1; }.detail-footer { display: flex; gap: 8px; margin-top: 10px; }.detail-action { border: 1px solid var(--line-strong); background: transparent; border-radius: 9px; padding: 10px 15px; font-size: 10px; cursor: pointer; }.detail-action.primary { color: #f5f0e6; background: var(--moss-deep); border-color: var(--moss-deep); }.toast { position: fixed; z-index: 10; left: 50%; bottom: 25px; transform: translate(-50%, 18px); padding: 10px 15px; border-radius: 9px; background: #20241f; color: #eff1e9; opacity: 0; pointer-events: none; font-size: 10px; transition: opacity 450ms cubic-bezier(.32,.72,0,1), transform 450ms cubic-bezier(.32,.72,0,1); }.toast.show { opacity: 1; transform: translate(-50%, 0); }

@keyframes rise-in { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1080px) { .main-content { padding: 0 32px 28px; }.flow-strip { gap: 20px; }.flow-heading { flex-basis: 135px; }.topic-grid { grid-template-columns: 1fr; }.hero-block { padding-top: 56px; } }
@media (max-width: 800px) { .app-shell { display: block; }.sidebar { position: fixed; z-index: 3; left: 12px; right: 12px; bottom: 12px; top: auto; min-height: 0; height: 64px; padding: 0 10px; border-radius: 17px; flex-direction: row; align-items: center; box-shadow: 0 10px 35px rgba(27,31,26,.23); }.brand-lockup, .sidebar-rule, .nav-label, .sidebar-bottom { display: none; }.primary-nav { display: flex; width: 100%; justify-content: space-around; gap: 3px; }.nav-item { flex: 1; justify-content: center; flex-direction: column; padding: 8px 3px; gap: 3px; font-size: 9px; border-radius: 11px; }.nav-item b { display: none; }.nav-icon { font-size: 16px; }.main-content { padding: 0 18px 96px; }.topbar { height: 68px; }.crumbs span, .crumbs i { display: none; }.top-actions { width: 65%; }.search-box { flex: 1; width: auto; }.hero-block { display: block; padding: 44px 0 34px; }.hero-copy h1 { font-size: clamp(42px, 13vw, 66px); }.hero-description { font-size: 12px; max-width: 340px; }.hero-stats { width: 100%; margin-top: 30px; }.stat-card { min-height: 90px; }.stat-card strong { font-size: 28px; }.flow-strip { display: block; padding: 18px 15px; }.flow-heading { margin-bottom: 17px; }.flow-track { overflow-x: auto; padding-bottom: 4px; }.flow-line { min-width: 25px; }.toolbar { display: block; padding-top: 44px; }.toolbar-controls { margin-top: 17px; justify-content: space-between; }.segmented { max-width: calc(100vw - 77px); overflow-x: auto; }.segmented button { white-space: nowrap; }.insight-banner p { display: block; margin: 4px 0 0; line-height: 1.5; }.insight-banner { align-items: flex-start; }.topic-grid { padding-top: 13px; }.topic-card h3 { font-size: 20px; }.page-footer { padding-bottom: 5px; display: block; line-height: 1.7; }.page-footer span { display: block; }.page-footer span + span { margin-top: 5px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (max-width: 800px) { .hot-rail { display:block; padding:14px 0; }.hot-rail-title { margin-bottom:10px; }.hot-rail-title small { margin-left:auto; } }

/* 小魔紫视觉系统：淡紫底 + 深靛结构 + 荧光标记 */
html, body { background: var(--paper); color: var(--ink); }
body { background-image: linear-gradient(135deg, rgba(255,255,255,.5), transparent 36%), linear-gradient(315deg, rgba(216,255,75,.08), transparent 22%); }
.sidebar { background: linear-gradient(165deg, #32135e 0%, #4b1f86 58%, #3b1b72 100%); color: #fbf7ff; }
.brand-mark { border-color: rgba(216,255,75,.5); background: rgba(216,255,75,.12); box-shadow: 0 0 0 5px rgba(216,255,75,.05); }
.brand-mark span { background: #d8b9ff; }.brand-mark span:nth-child(2) { background: var(--lime); }.brand-mark span:nth-child(3) { background: var(--pink); }
.brand-name { color: #fff; }.brand-caption { color: #c8b5eb; }.sidebar-rule { background: rgba(255,255,255,.15); }
.nav-label { color: #c1a9e2; }.nav-item { color: #dfd3f0; }.nav-item:hover { color: #fff; background: rgba(216,255,75,.12); }.nav-item.active { color: var(--violet-deep); background: var(--lime); box-shadow: 0 8px 20px rgba(216,255,75,.2); }.nav-item.active b { color: var(--violet-deep); }.nav-item b { color: #c4a9e4; }.nav-item .warm-count { color: #ff9bcd; }.pulse-dot, .live-dot { background: var(--lime); box-shadow: 0 0 0 4px rgba(216,255,75,.18); }.operator-card { border-color: rgba(255,255,255,.14); }.operator-card strong { color: #fff; }.operator-card small { color: #c1a8e1; }.source-link { color: #d0bce9; }.source-link:hover { color: var(--lime); }
.main-content { position: relative; }
.main-content::before { content: ""; position: absolute; z-index: 0; top: 130px; right: -185px; width: 360px; height: 230px; background: var(--lavender, #d7b9f6); opacity: .28; clip-path: polygon(16% 0, 100% 11%, 78% 100%, 0 83%); transform: rotate(-8deg); pointer-events: none; }
.main-content > * { position: relative; z-index: 1; }
.topbar { border-bottom-color: var(--line); }.crumbs { color: var(--muted); }.crumbs i { color: #c5b8d6; }.crumbs strong { color: var(--violet-deep); }
.search-box, .icon-button { background: rgba(255,255,255,.55); border-color: var(--line); }.search-box input { color: var(--ink); }.search-box input::placeholder { color: #a99bb9; }.icon-button:hover { background: #fff; }.avatar { background: var(--violet-bright); color: #fff; box-shadow: 0 0 0 4px rgba(118,82,243,.15); }
.eyebrow { color: var(--violet-bright); }.eyebrow.plain { color: #8e7da6; }.hero-copy h1 { font-family: var(--display); font-weight: 900; color: var(--violet-deep); line-height: .94; letter-spacing: -.075em; }.hero-copy h1 em { display: inline-block; position: relative; z-index: 0; color: var(--violet-bright); }.hero-copy h1 em::after { content: ""; position: absolute; z-index: -1; left: -3%; right: -4%; bottom: .04em; height: .25em; border-radius: 52% 44% 48% 40%; background: var(--lime); transform: rotate(-1.5deg); opacity: .88; }.hero-description { color: var(--muted); }.hero-description strong { color: var(--violet-deep); }
.hero-stats { gap: 10px; }.hero-block { position: relative; }.hero-mascot { position: absolute; right: 37%; bottom: -16px; width: 78px; z-index: 2; transform: rotate(3deg); pointer-events: none; filter: drop-shadow(0 15px 18px rgba(50,19,94,.15)); }.hero-mascot img { display: block; width: 100%; height: auto; }.hero-mascot::before { content: ""; position: absolute; z-index: -1; left: -22px; top: 40px; width: 90px; height: 76px; border-radius: 48% 52% 42% 58%; background: var(--lime); opacity: .72; transform: rotate(-9deg); }
.stat-card { background: rgba(255,255,255,.62); border-color: rgba(118,82,243,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 10px 30px rgba(74,38,128,.06); }.stat-card.emphasis { background: var(--violet-bright); border-color: var(--violet-bright); color: #fff; }.stat-card.emphasis span { color: #e7ddff; }.stat-card.emphasis strong { color: var(--lime); font-family: var(--display); font-weight: 900; }.stat-card span { color: #8d7c9f; }.stat-card strong { font-family: var(--display); font-weight: 850; color: var(--violet-deep); }.stat-card small { color: #9b8cad; }.stat-card.emphasis small { color: #ece5ff; }.stat-card:nth-child(2) { background: #eee6ff; }.stat-card:nth-child(3) { background: #fbe8f5; }
.hot-rail { border-color: var(--line); }.hot-rail-title strong { color: var(--violet-deep); }.hot-rail-title small { color: #9f91b0; }.hot-chip { background: rgba(255,255,255,.5); border-color: var(--line); }.hot-chip:hover { background: #fff; }.hot-chip b { font-family: var(--display); font-weight: 800; color: var(--violet-bright); }.hot-chip span { color: #9b8da9; }
.flow-strip { background: rgba(255,255,255,.56); border-color: rgba(118,82,243,.18); box-shadow: 0 12px 34px rgba(74,38,128,.06); }.flow-heading strong { font-family: var(--display); font-weight: 800; color: var(--violet-deep); }.flow-node span:not(.node-number) { color: #756486; }.flow-node small { color: #a494b8; }.node-number { background: #e9ddff; color: #9983b2; }.flow-node.done .node-number { background: var(--violet-bright); color: #fff; }.flow-node.active .node-number { background: var(--lime); color: var(--violet-deep); box-shadow: 0 0 0 4px rgba(216,255,75,.18); }.flow-node.active span:not(.node-number) { color: var(--violet-deep); }.flow-line { background: var(--line); }.flow-line.done { background: var(--violet); }.flow-line.done::after { background: var(--violet); }
.section-title h2 { font-family: var(--display); font-weight: 850; color: var(--violet-deep); }.segmented, .view-switch { background: rgba(255,255,255,.52); border-color: var(--line); }.segmented button, .view-switch button { color: #907fa2; }.segmented button.selected, .view-switch button.selected { background: #fff; color: var(--violet-deep); box-shadow: 0 3px 10px rgba(74,38,128,.1); }
.insight-banner { background: #ebffd0; border-color: rgba(216,255,75,.75); }.insight-icon { background: var(--pink); color: #fff; }.insight-banner strong { color: var(--violet-deep); }.insight-banner p { color: #655c70; }.banner-close { color: #9b6b97; }
.topic-grid { gap: 15px; }.topic-card { background: var(--card); border-color: rgba(118,82,243,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 24px rgba(74,38,128,.04); }.topic-card:hover { background: #fff; box-shadow: var(--shadow); }.topic-card::after { background: rgba(216,255,75,.16); }.topic-card::before { content: ""; position: absolute; top: 0; left: 19px; width: 56px; height: 5px; border-radius: 0 0 8px 8px; background: var(--violet); }.topic-card:nth-child(3n)::before { background: var(--pink); }.topic-card:nth-child(4n)::before { background: var(--lime); }.rank-tag { font-family: var(--display); font-weight: 800; color: #9b86bb; }.source-tag { color: var(--violet-bright); background: #eee7ff; }.status-tag { color: #b05284; }.status-tag::before { background: var(--pink); }.topic-card h3 { font-family: var(--display); font-weight: 800; color: var(--violet-deep); }.topic-bridge { color: #756b80; }.topic-meta { border-color: var(--line); color: #a194ae; }.topic-meta span:last-child { color: #756383; }.total-score { color: var(--violet-bright); font-family: var(--display); font-weight: 850; }.total-score small { color: #9a8bac; }.score-pip { background: #e1d9ed; }.score-pip.filled { background: var(--violet); }.grade-pill { background: #e9ffd0; color: var(--violet-deep); }.grade-pill.grade-b { background: #fff0c9; color: #ad6d37; }.grade-pill.grade-c { background: #ffe3f1; color: #ad4f82; }
.topic-grid.flow-layout::before { background: #cbb7e7; }.topic-grid.flow-layout .topic-card::before { background: var(--violet); box-shadow: 0 0 0 5px var(--paper); }
.empty-state { color: var(--muted); }.empty-state div { color: var(--violet); }.empty-state h3 { font-family: var(--display); font-weight: 800; color: var(--violet-deep); }.page-footer { color: #a394af; }
.drawer-backdrop { background: rgba(42,19,77,.32); }.detail-drawer { background: #fcf9ff; box-shadow: -24px 0 65px rgba(50,19,94,.18); }.drawer-top { border-color: var(--line); }.close-drawer { background: transparent; }.detail-rank { font-family: var(--display); color: #9a82b9; }.drawer-content h2 { font-family: var(--display); font-weight: 850; color: var(--violet-deep); }.detail-summary { color: #766983; }.detail-section { border-color: var(--line); }.detail-section h4 { color: #9a85b2; }.detail-section p { color: #5e536a; }.score-bar { background: #e9e1f2; }.score-bar i { background: var(--violet); }.score-line strong { color: var(--violet-deep); }.evidence-box { background: #f0e7ff; color: #6e6179; }.evidence-box a { color: var(--violet-bright); border-color: #bda5ea; }.detail-action { border-color: var(--line-strong); }.detail-action.primary { background: var(--violet-bright); border-color: var(--violet-bright); color: #fff; }.toast { background: var(--violet-deep); color: #fff; }
button:focus-visible, a:focus-visible, input:focus-visible { outline-color: var(--lime); }
@media (max-width: 800px) { .hero-mascot { display: none; } }

/* 口播内容包：让“选题已经能拍”在卡片与抽屉中一眼可见。 */
.topic-card.has-script { padding-bottom: 15px; }
.script-status { display: flex; align-items: center; gap: 6px; margin-top: 13px; padding-top: 10px; border-top: 1px solid var(--line); color: #8a6bb0; font-size: 9px; }
.script-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 3px rgba(112,80,217,.12); }
.content-package { background: linear-gradient(180deg, rgba(245,239,252,.7), rgba(255,255,255,0)); margin-left: -30px; margin-right: -30px; padding-left: 30px; padding-right: 30px; }
.package-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.package-heading h4 { margin-bottom: 5px; }
.package-state { color: #a27dbe; font-size: 9px; }
.package-audience { display: block; margin-top: 4px; color: #6f667d; font-size: 10px; }
.detail-action.compact { padding: 7px 9px; color: var(--violet); border-color: #d8c7eb; white-space: nowrap; }
.package-field { position: relative; padding: 12px 0 2px; border-top: 1px solid rgba(112,80,217,.1); }
.package-field:first-of-type { margin-top: 9px; }
.package-field > span { display: block; margin-bottom: 6px; color: #9b85b2; font-size: 9px; letter-spacing: .08em; }
.package-field > strong { display: block; color: var(--violet-deep); font-size: 14px; line-height: 1.45; font-weight: 700; }
.package-field > small { display: block; margin-top: 5px; color: #a295aa; font-size: 9px; line-height: 1.5; }
.package-field > p { margin: 0; color: #5e536a; font-size: 11px; line-height: 1.75; }
.package-field > p + p { margin-top: 5px; }
.package-field em { color: #9d82b7; font-style: normal; }
.accent-field { border-left: 3px solid var(--lime); padding-left: 10px; }
.script-field { color: #43364f !important; font-size: 12px !important; line-height: 1.9 !important; }
.field-copy { position: absolute; top: 10px; right: 0; border: 0; border-bottom: 1px solid #cab8df; background: transparent; color: var(--violet); font-size: 9px; cursor: pointer; }
.hash-list { display: flex; flex-wrap: wrap; gap: 6px; }
.hash-tag { padding: 5px 7px; border-radius: 999px; background: #f0e9fa; color: var(--violet); font-size: 9px; }
.verify-list { margin: 0; padding-left: 16px; color: #75677f; font-size: 10px; line-height: 1.7; }
.package-empty { padding: 12px; background: #f7f2fa; color: #8e8197; border-radius: 9px; font-size: 10px; line-height: 1.6; }
.sr-only-copy { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.run-board { grid-column: 1 / -1; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 10px 28px rgba(62,35,89,.04); }
.run-board-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.run-board-head h3 { margin: 10px 0 8px; color: var(--violet-deep); font-size: 24px; letter-spacing: -.04em; }
.run-board-head p { max-width: 650px; margin: 0; color: #766a80; font-size: 11px; line-height: 1.75; }
.run-board-head a { flex: none; padding: 9px 12px; border: 1px solid #dccded; border-radius: 9px; color: var(--violet); font-size: 10px; text-decoration: none; }
.run-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; padding: 20px 0; }
.run-kpis div { padding: 13px; border-radius: 11px; background: #f7f3fb; }
.run-kpis strong, .run-kpis span { display: block; }.run-kpis strong { color: var(--violet); font-size: 25px; letter-spacing: -.04em; }.run-kpis span { margin-top: 4px; color: #94849e; font-size: 9px; }
.run-board-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 35px; padding-top: 19px; border-top: 1px solid var(--line); }
.run-board-grid h4 { margin: 0 0 14px; color: #9a85b2; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.run-steps, .run-next { margin: 0; padding: 0; list-style: none; }.run-steps { display: grid; gap: 10px; }.run-steps li { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(62,35,89,.08); }.run-steps b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #eee7fa; color: var(--violet); font-size: 9px; }.run-steps li.done b { background: var(--violet); color: #fff; }.run-steps span { color: var(--violet-deep); font-size: 11px; font-weight: 650; }.run-steps small { color: #9a8da5; font-size: 9px; }.run-next { display: grid; gap: 12px; padding-left: 17px; list-style: decimal; color: #72657b; font-size: 10px; line-height: 1.7; }
@media (max-width: 800px) { .run-board { padding: 17px; }.run-board-head { display: block; }.run-board-head a { display: inline-block; margin-top: 14px; }.run-kpis { grid-template-columns: repeat(2, 1fr); }.run-board-grid { grid-template-columns: 1fr; gap: 24px; }.run-steps li { grid-template-columns: 26px 1fr; }.run-steps small { grid-column: 2; } }
@media (max-width: 800px) {
  .primary-nav { overflow: hidden; justify-content: space-between; }
  .nav-item { min-width: 0; }
  .content-package { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; }
}

/* 视觉校正：紫色退回品牌点缀，不作为大面积背景。 */
:root { --paper:#fbfaf8; --paper-2:#f3eef8; --ink:#281d39; --muted:#796d83; --soft:#b8acc5; --line:rgba(62,35,89,.13); --line-strong:rgba(62,35,89,.23); --card:rgba(255,255,255,.88); --card-solid:#fff; --moss:#7050d9; --moss-deep:#2f204d; --hot:#ef5ca8; --gold:#d7ff4a; --violet:#7050d9; --violet-bright:#6942dc; --violet-deep:#2f204d; --lime:#d7ff4a; --pink:#ef5ca8; --blue:#5147c9; --shadow:0 18px 55px rgba(54,33,77,.08); }
html, body { background:var(--paper); color:var(--ink); }
body { background-image:linear-gradient(135deg,rgba(255,255,255,.72),transparent 42%),linear-gradient(315deg,rgba(215,190,239,.12),transparent 25%); }
.sidebar { background:#fffdfb; color:var(--ink); border-right:1px solid var(--line); }
.brand-mark { border-color:#d9caed; background:#f1eaff; box-shadow:none; }.brand-mark span { background:#a68fe1; }.brand-mark span:nth-child(2) { background:var(--violet); }.brand-mark span:nth-child(3) { background:var(--pink); }.brand-name { color:var(--violet-deep); }.brand-caption { color:#9d90a9; }.sidebar-rule { background:var(--line); }
.nav-label { color:#9e91a9; }.nav-item { color:#6d6375; }.nav-item:hover { color:var(--violet-deep); background:#f7f2fb; }.nav-item.active { color:var(--violet-deep); background:#eee7fa; box-shadow:inset 3px 0 0 var(--violet); }.nav-item.active b { color:var(--violet); }.nav-item b { color:#a495b0; }.nav-item .warm-count { color:#cc6f9e; }.operator-card { border-color:var(--line); }.operator-card strong { color:var(--violet-deep); }.operator-card small { color:#9a8ca5; }.source-link { color:#8d7e99; }.source-link:hover { color:var(--violet); }.pulse-dot, .live-dot { background:var(--lime); box-shadow:0 0 0 4px rgba(215,255,74,.18); }

/* 周工作集：历史内容保持独立入口，放在选题列表之后，不挤占首屏编辑空间。 */
.history-card { margin-top:28px; padding:22px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; border:1px solid rgba(118,82,243,.18); border-radius:18px; background:linear-gradient(105deg,rgba(255,255,255,.84),rgba(245,239,255,.82)); box-shadow:0 10px 28px rgba(72,44,121,.06); }
.history-card[hidden] { display:none; }
.history-card h3 { margin:8px 0 7px; color:var(--violet-deep); font-family:var(--display); font-size:18px; font-weight:800; letter-spacing:-.02em; }
.history-card p { margin:0 0 7px; color:#776a84; font-size:11px; line-height:1.65; }
.history-card small { color:#a293b4; font-size:10px; }
.history-open { flex:0 0 auto; border:1px solid rgba(118,82,243,.35); border-radius:22px; padding:10px 15px; color:var(--violet-deep); background:#fff; cursor:pointer; font:600 11px var(--display); transition:background 360ms ease,color 360ms ease,transform 360ms ease; }
.history-open span { margin-left:5px; color:var(--violet); }
.history-open:hover { color:#fff; background:var(--violet); transform:translateY(-2px); }
@media (max-width:800px) { .history-card { align-items:flex-start; flex-direction:column; gap:13px; padding:18px; }.history-open { width:100%; } }
.main-content::before { opacity:.1; }
.crumbs strong { color:var(--violet-deep); }.search-box, .icon-button { background:rgba(255,255,255,.72); border-color:var(--line); }.icon-button:hover { background:#fff; }.avatar { background:#eee7fa; color:var(--violet-deep); box-shadow:0 0 0 4px rgba(112,80,217,.1); }
.eyebrow { color:var(--violet); }.hero-copy h1 { color:var(--violet-deep); }.hero-copy h1 em { color:var(--violet-deep); }.hero-copy h1 em::after { left:10%; right:10%; height:.16em; opacity:.72; background:var(--lime); }.hero-description strong { color:var(--violet-deep); }
.stat-card { background:rgba(255,255,255,.76); border-color:var(--line); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 30px rgba(62,35,89,.05); }.stat-card.emphasis { background:#eee7fa; border-color:#ddcef1; color:var(--violet-deep); }.stat-card.emphasis span,.stat-card.emphasis small { color:#8872ad; }.stat-card.emphasis strong { color:var(--violet-bright); }.stat-card span { color:#8c7e98; }.stat-card strong { color:var(--violet-deep); }.stat-card small { color:#9b8cad; }.stat-card:nth-child(2), .stat-card:nth-child(3) { background:#fff; }
.hot-rail { border-color:var(--line); }.hot-rail-title strong { color:var(--violet-deep); }.hot-chip { background:rgba(255,255,255,.62); border-color:var(--line); }.hot-chip:hover { background:#fff; }.hot-chip b { color:var(--violet-bright); }
.flow-strip { background:rgba(255,255,255,.7); border-color:var(--line); box-shadow:0 12px 34px rgba(62,35,89,.05); }.flow-heading strong { color:var(--violet-deep); }.node-number { background:#f0e9f7; color:#9a8bad; }.flow-node.done .node-number { background:#ded2f2; color:var(--violet-deep); }.flow-node.active .node-number { background:var(--violet); color:#fff; box-shadow:none; }.flow-line.done { background:#b8a3df; }.flow-line.done::after { background:var(--violet); }
.segmented, .view-switch { background:rgba(255,255,255,.68); border-color:var(--line); }.segmented button.selected, .view-switch button.selected { background:#fff; color:var(--violet-deep); }.insight-banner { background:#f1eaff; border-color:#dfd1f1; }.insight-icon { background:var(--violet); color:#fff; }.insight-banner strong { color:var(--violet-deep); }.insight-banner p { color:#6f6379; }
.topic-card { background:rgba(255,255,255,.9); border-color:var(--line); box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 8px 24px rgba(62,35,89,.035); }.topic-card:hover { background:#fff; box-shadow:var(--shadow); }.topic-card::after { background:rgba(215,255,74,.12); }.topic-card::before { background:var(--violet); }.topic-card:nth-child(3n)::before { background:var(--pink); }.topic-card:nth-child(4n)::before { background:var(--lime); }.topic-card h3 { color:var(--violet-deep); }.source-tag { color:var(--violet); background:#f0e9fa; }.status-tag { color:#ae6389; }.score-pip.filled { background:var(--violet); }.grade-pill { background:#f0e9fa; color:var(--violet-deep); }.grade-pill.grade-b { background:#fff1d7; color:#a87437; }.grade-pill.grade-c { background:#ffe6f2; color:#a24d7d; }
.detail-drawer { background:#fffdfd; box-shadow:-20px 0 60px rgba(62,35,89,.12); }.drawer-content h2 { color:var(--violet-deep); }.score-bar i { background:var(--violet); }.evidence-box { background:#f4eff9; }.detail-action.primary { background:var(--violet); border-color:var(--violet); }.toast { background:var(--violet-deep); }

/* 主题、热点榜与收藏：信息架构补齐 AIHOT 式编辑工作场景。 */
.favorite-toggle { margin-left:auto; width:24px; height:24px; border:1px solid transparent; border-radius:50%; background:transparent; color:#b7a7c6; font-size:17px; line-height:1; cursor:pointer; transition:color 240ms ease,background 240ms ease,transform 240ms ease; }
.favorite-toggle:hover { color:var(--pink); background:#fff1f8; transform:scale(1.08); }.favorite-toggle.is-favorite { color:var(--pink); }
.detail-action.is-favorite { color:var(--pink); border-color:#efc7db; background:#fff5fa; }
.theme-layout, .rank-layout { display:block; }.theme-board, .rank-board { padding-top:18px; }
.theme-board-intro, .rank-board-head { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; padding:24px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.72); }
.theme-board-intro h3, .rank-board-head h3 { margin:9px 0 8px; color:var(--violet-deep); font-size:25px; letter-spacing:-.05em; }.theme-board-intro p, .rank-board-head p { margin:0; max-width:620px; color:#786b82; font-size:11px; line-height:1.75; }
.theme-board-legend { display:flex; flex:none; gap:13px; align-items:center; color:#8e8199; font-size:9px; }.theme-board-legend span { display:flex; align-items:center; gap:5px; white-space:nowrap; }.legend-dot { width:7px; height:7px; display:inline-block; border-radius:50%; }.legend-dot.violet { background:var(--violet); }.legend-dot.lime { background:#b4dc2c; }.legend-dot.pink { background:var(--pink); }
.theme-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:14px; }.theme-card { position:relative; min-height:188px; padding:20px; border:1px solid var(--line); border-radius:15px; background:#fff; overflow:hidden; box-shadow:0 8px 24px rgba(62,35,89,.035); }.theme-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--violet); }.theme-card.theme-lime::before { background:#b6df35; }.theme-card.theme-pink::before { background:var(--pink); }.theme-card-top, .theme-card-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; }.theme-kicker { color:#a18fac; font-size:9px; letter-spacing:.1em; }.theme-score { color:var(--violet); font-size:20px; font-weight:800; letter-spacing:-.04em; }.theme-score small { margin-left:3px; color:#a392ae; font-size:8px; font-weight:500; letter-spacing:0; }.theme-card h3 { margin:28px 0 8px; color:var(--violet-deep); font-size:19px; letter-spacing:-.035em; }.theme-card p { min-height:38px; margin:0 0 19px; color:#786b82; font-size:10px; line-height:1.7; }.theme-card-meta { padding-top:12px; border-top:1px solid var(--line); color:#a092ac; font-size:9px; }.theme-open { padding:0; border:0; background:transparent; color:var(--violet); font-size:9px; cursor:pointer; }.theme-open:hover { text-decoration:underline; }
.rank-board-head { align-items:flex-start; }.rank-switch { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; max-width:360px; }.rank-switch button { padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:#8c7d98; font-size:9px; cursor:pointer; }.rank-switch button.selected { color:var(--violet-deep); border-color:#cbb8e6; background:#f2ecfb; }.rank-list { margin-top:14px; overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }.rank-row { width:100%; display:grid; grid-template-columns:34px 1fr auto 22px; align-items:center; gap:13px; padding:16px 19px; border:0; border-bottom:1px solid var(--line); background:#fff; text-align:left; cursor:pointer; }.rank-row:last-child { border-bottom:0; }.rank-row:hover { background:#fbf8fe; }.rank-position { color:#a592b0; font-size:12px; font-weight:800; }.rank-row-copy strong, .rank-row-copy small { display:block; }.rank-row-copy strong { color:var(--violet-deep); font-size:12px; font-weight:700; }.rank-row-copy small { margin-top:4px; color:#9c8eaa; font-size:9px; }.rank-row-score { color:var(--violet); font-size:17px; font-weight:800; text-align:right; white-space:nowrap; }.rank-row-score small { color:#a392ae; font-size:9px; font-weight:500; }.rank-arrow { color:#b8a7c9; font-size:14px; }.rank-board-foot { display:flex; justify-content:space-between; gap:15px; padding:12px 2px 0; color:#a092ab; font-size:9px; }
@media (max-width:800px) { .theme-board-intro, .rank-board-head { display:block; padding:18px; }.theme-board-legend { margin-top:18px; flex-wrap:wrap; }.theme-grid { grid-template-columns:1fr; }.theme-card { min-height:170px; }.rank-switch { justify-content:flex-start; max-width:none; margin-top:19px; }.rank-row { grid-template-columns:27px 1fr auto; gap:9px; padding:14px 13px; }.rank-arrow { display:none; }.rank-board-foot { display:block; line-height:1.6; }.rank-board-foot span { display:block; }.rank-board-foot span + span { margin-top:4px; } }

/* 三段主链与角度闸门：把“先改视角、再写内容”变成可见的编辑界面。 */
.pipeline-board { display: block; padding: 20px 23px 16px; }
.pipeline-board .flow-heading { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: baseline; width: 100%; }
.pipeline-board .flow-heading .eyebrow { grid-row: span 2; }
.pipeline-board .flow-heading strong { margin-top: 0; }
.pipeline-board .flow-heading small { grid-column: 2; margin-top: 5px; color: #8c8098; font-size: 10px; line-height: 1.5; }
.pipeline-board .flow-track { margin-top: 22px; }
.pipeline-gate { display: flex; align-items: center; gap: 10px; margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--line); color: #786d83; font-size: 10px; line-height: 1.55; }
.pipeline-gate b { color: var(--violet-deep); font-weight: 750; margin-right: 4px; }
.pipeline-gate button { margin-left: auto; flex: none; border: 0; border-bottom: 1px solid #c5b1df; padding: 0 0 2px; background: transparent; color: var(--violet); font-size: 10px; cursor: pointer; }
.gate-mark { display: inline-flex; align-items: center; justify-content: center; flex: none; min-width: 21px; height: 21px; border-radius: 6px; background: var(--lime); color: var(--violet-deep); font-size: 8px; font-weight: 800; letter-spacing: .04em; }

.angle-chip { display: flex; align-items: center; gap: 6px; min-height: 26px; margin: 0 0 14px; padding: 6px 8px; border: 1px solid rgba(112,80,217,.14); border-radius: 8px; background: #faf7fe; color: var(--violet-deep); font-size: 9px; }
.angle-chip small { margin-left: auto; max-width: 58%; overflow: hidden; color: #a190ad; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.angle-chip-dot { width: 6px; height: 6px; border-radius: 50%; background: #b9a8ca; }
.angle-chip.angle-approved { border-color: rgba(180,220,44,.55); background: #f5ffd9; }.angle-chip.angle-approved .angle-chip-dot { background: #a5cd28; }
.angle-chip.angle-draft { border-color: rgba(239,92,168,.25); background: #fff3f9; }.angle-chip.angle-draft .angle-chip-dot { background: var(--pink); }
.angle-chip.angle-pending { background: #f6f2fa; }
.script-status { line-height: 1.45; }

.angle-board { padding-top: 18px; }
.angle-board-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(62,35,89,.035); }
.angle-board-intro h3 { margin: 9px 0 8px; color: var(--violet-deep); font-size: 25px; letter-spacing: -.05em; }
.angle-board-intro p { max-width: 610px; margin: 0; color: #786b82; font-size: 11px; line-height: 1.75; }
.angle-kpis { display: flex; flex: none; gap: 8px; }
.angle-kpis div { min-width: 70px; padding: 11px 12px; border-left: 2px solid #d8caec; background: #faf8fc; }
.angle-kpis div:first-child { border-left-color: var(--lime); background: #f8ffea; }.angle-kpis strong, .angle-kpis span { display: block; }.angle-kpis strong { color: var(--violet); font-size: 21px; letter-spacing: -.04em; }.angle-kpis span { margin-top: 4px; color: #9b8da6; font-size: 9px; white-space: nowrap; }
.angle-rule { display: flex; align-items: center; gap: 10px; margin: 13px 0 0; padding: 12px 15px; border: 1px dashed #cbb8e6; border-radius: 11px; background: #fbf9fe; color: #81748d; font-size: 10px; line-height: 1.5; }
.angle-rule b { color: var(--violet-deep); font-weight: 750; }.angle-rule > span:last-child { margin-left: auto; color: #a190ad; text-align: right; }
.angle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 14px; }
.angle-card { position: relative; min-width: 0; padding: 19px 20px 15px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(62,35,89,.035); animation: rise-in 700ms cubic-bezier(.32,.72,0,1) both; }
.angle-card::before { content: ""; position: absolute; top: 0; left: 19px; width: 50px; height: 4px; border-radius: 0 0 7px 7px; background: #b8a4df; }.angle-card.angle-approved::before { background: var(--lime); }.angle-card.angle-draft::before { background: var(--pink); }
.angle-card-head, .angle-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.angle-kicker, .angle-label { color: #a090ad; font-size: 9px; letter-spacing: .08em; }.angle-status { padding: 4px 7px; border-radius: 999px; background: #f1ebf8; color: #8c77a4; font-size: 9px; }.angle-approved .angle-status { background: #efffcf; color: #66821e; }.angle-draft .angle-status { background: #fff0f7; color: #b05685; }
.angle-card h3 { margin: 17px 0 14px; color: var(--violet-deep); font-size: 17px; line-height: 1.4; letter-spacing: -.025em; }.angle-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.angle-card-grid p { min-height: 37px; margin: 6px 0 0; color: #6f637a; font-size: 10px; line-height: 1.65; }.angle-candidates { margin-top: 15px; }.angle-candidates ol, .drawer-angle-candidates { display: grid; gap: 6px; margin: 7px 0 0; padding: 0; list-style: none; }.angle-candidates li, .drawer-angle-candidates li { display: grid; grid-template-columns: 34px 1fr; gap: 8px; padding: 7px 8px; border-radius: 7px; background: #faf8fc; color: #71657c; font-size: 10px; line-height: 1.55; }.angle-candidates li b, .drawer-angle-candidates li b { color: var(--violet); font-size: 9px; }.angle-empty-row { color: #a293ad !important; background: #fbfafc !important; }.angle-card-foot { margin-top: 15px; padding-top: 11px; border-top: 1px solid var(--line); color: #9989a6; font-size: 9px; }.angle-open { border: 0; padding: 0; background: transparent; color: var(--violet); font-size: 9px; cursor: pointer; }.angle-open:hover { text-decoration: underline; }

.angle-detail { background: #fcf9ff; margin: 0 -30px; padding: 21px 30px; border-top-color: #decff0; border-bottom: 1px solid var(--line); }.angle-detail-heading, .angle-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.angle-detail-heading h4 { margin-bottom: 0; }.angle-detail-status { padding: 4px 7px; border-radius: 999px; background: #f1ebf8; color: #8c77a4; font-size: 9px; }.angle-detail-status.angle-approved { background: #efffcf; color: #66821e; }.angle-detail-status.angle-draft { background: #fff0f7; color: #b05685; }.angle-detail-original { margin: 15px 0; padding: 11px 12px; border-left: 3px solid var(--lime); background: #fff; }.angle-detail-original span, .angle-detail-grid span, .angle-detail-field > span { display: block; margin-bottom: 5px; color: #9a86ad; font-size: 9px; letter-spacing: .07em; }.angle-detail-original strong { display: block; color: var(--violet-deep); font-size: 12px; line-height: 1.55; }.angle-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.angle-detail-grid > div, .angle-detail-field { padding: 10px 0; border-top: 1px solid rgba(112,80,217,.11); }.angle-detail p { color: #62566d; }.angle-detail-field { margin-top: 2px; }.angle-detail-field p + p { margin-top: 5px; }.angle-empty { padding: 10px; border-radius: 8px; background: #f7f2fa; color: #94869e; font-size: 10px; line-height: 1.6; }

@media (max-width: 800px) { .pipeline-board { padding: 18px; }.pipeline-gate { align-items: flex-start; flex-wrap: wrap; }.pipeline-gate button { margin-left: 31px; }.angle-board-intro { display: block; padding: 18px; }.angle-kpis { margin-top: 18px; }.angle-grid { grid-template-columns: 1fr; }.angle-rule { align-items: flex-start; flex-wrap: wrap; }.angle-rule > span:last-child { width: 100%; margin-left: 31px; text-align: left; }.angle-card-grid, .angle-detail-grid { grid-template-columns: 1fr; }.angle-detail { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; } }
