/* 视觉语言完全沿用《蒸馏文风·写作工作台》第6轮（matrix 风格）：令牌、头部、卡片、按钮、深色模式 */
:root{--bg:#f4f5f1;--surface:#fff;--ink:#202d29;--muted:#697670;--line:#dce3dd;--accent:#216652;--soft:#eaf1eb;--hot:#b54f3f;--warm:#98702e;--cool:#3d7684;--flat:#748279;--radius:10px;--shadow:0 18px 60px #122e2220;--accent-solid:#216652;--on-accent:#fff;--warning-bg:#f7f0df;--warning-ink:#835d20;--header-bg:#ffffffed;--transition:180ms ease;color-scheme:light}
body.dark{--bg:#111c19;--surface:#192722;--ink:#ecf1eb;--muted:#a3b4aa;--line:#30443a;--accent:#a1d6b8;--soft:#233c30;--accent-solid:#98cdae;--on-accent:#12271c;--warning-bg:#332e1e;--warning-ink:#e2c088;--header-bg:#192722ed;--hot:#e69b88;--shadow:0 18px 60px #0006;color-scheme:dark}
*{box-sizing:border-box}html{scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif;font-size:14px;line-height:1.65;letter-spacing:.05px;text-wrap:pretty}
button,input,select,textarea{font-family:inherit;font-size:inherit}
button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:8px 14px;font-size:13px;min-height:38px;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}
button:hover{background:var(--soft);border-color:var(--accent)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}
button.primary{background:var(--accent-solid);color:var(--on-accent);border-color:var(--accent-solid)}button.primary:hover{filter:brightness(1.08)}
button.danger{color:var(--hot);border-color:var(--line)}button.danger:hover{border-color:var(--hot);background:transparent}
button.ghost{border:0;background:transparent;padding:4px 8px;min-height:0}button.ghost:hover{color:var(--accent);background:transparent}
input,select{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:9px 12px;min-height:38px}input:focus,select:focus{border-color:var(--accent);outline:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
a{color:var(--accent);transition:color var(--transition)}h1,h2,h3,p{margin:0}h1{font-size:34px;font-weight:600;letter-spacing:-1.1px}h2{font-size:20px;font-weight:600;letter-spacing:-.45px}h3{font-size:16px;font-weight:500}
small,.muted{color:var(--muted)}small{line-height:1.6}.mono{font-family:Consolas,monospace}.eyebrow{font:12px Consolas,monospace;letter-spacing:2px;color:var(--muted)}
[hidden]{display:none!important}

/* 头部 */
.matrix-header{height:78px;padding:0 max(30px,calc((100vw - 1440px)/2));background:var(--header-bg);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:48px;position:sticky;top:0;z-index:10;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:12px;min-width:163px;font-size:20px;font-weight:650;letter-spacing:2px;text-decoration:none;color:var(--ink);line-height:1.15}
.brand-caption{font:9px/1.6 Consolas,monospace;letter-spacing:1.8px;display:block;margin-top:5px;color:var(--muted)}
.mark{display:grid;grid-template-columns:10px 10px;gap:4px}.mark i{display:block;height:10px;background:var(--accent);border-radius:1px}.mark i:last-child{opacity:.35}
.matrix-header nav{display:flex;align-items:stretch;align-self:stretch;gap:32px;flex:1;white-space:nowrap}
.matrix-header nav a{display:flex;align-items:center;position:relative;color:var(--muted);text-decoration:none;font-size:13px;cursor:pointer}
.matrix-header nav a:hover{color:var(--accent)}.matrix-header nav a[aria-current=page]{color:var(--ink);font-weight:600}
.matrix-header nav a[aria-current=page]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}
.header-right{display:flex;align-items:center;gap:12px}
.model-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--surface)}
.model-badge i{width:8px;height:8px;border-radius:50%;background:var(--flat);display:inline-block}.model-badge.ok i{background:var(--accent-solid)}.model-badge.busy i{background:var(--warm);animation:pulse 1s infinite}.model-badge.bad i{background:var(--hot)}
@keyframes pulse{50%{opacity:.35}}

/* 主体 */
main{max-width:1440px;margin:auto;padding:32px 30px 60px}
.page{display:none}.page.active{display:block}
.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:4px 0 24px}.intro p{margin-top:8px;color:var(--muted)}.intro-right{text-align:right}.intro-right strong{display:block;font-size:13px;font-weight:400;color:var(--accent)}
.selection-overview{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 26px;margin-bottom:30px;gap:26px}
.selection-goal{display:flex;align-items:center;gap:18px}.selection-goal strong{display:block;font-size:15px;font-weight:600}
.readiness-ring{width:64px;height:64px;border-radius:50%;border:4px solid var(--accent);display:grid;place-items:center;font:22px Consolas,monospace;color:var(--accent);flex-shrink:0}
.overview-cell{border-left:1px solid var(--line);padding-left:26px;min-height:58px;display:flex;flex-direction:column;justify-content:center}
.overview-cell>b{font:26px/1.2 Consolas,monospace;color:var(--warning-ink)}.overview-cell>b.green{color:var(--accent)}.overview-cell>small{font-size:11px;color:var(--muted);margin-top:4px}
.stat-label{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}

.creator-board{padding:28px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 30px}
.creator-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}
.creator-heading h2{font-size:clamp(25px,2.4vw,34px);font-weight:500;letter-spacing:-.6px;margin:6px 0}
.creator-heading p,.creator-day small{font-size:12px;color:var(--muted)}
.creator-day{display:grid;justify-items:end;gap:5px;flex-shrink:0}.creator-day strong{font:15px Consolas,'Microsoft YaHei',sans-serif;color:var(--accent)}
.creator-ready{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.creator-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--surface);padding:22px;border-radius:var(--radius);transition:border-color .16s,box-shadow .16s}
.creator-card:hover{border-color:var(--accent);box-shadow:0 6px 18px #15251b08}
.creator-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.creator-card-rank{font:12px Consolas,monospace;color:var(--accent);letter-spacing:1px}
.creator-chip{display:inline-block;font-size:11px;background:var(--soft);padding:2px 7px;border-radius:3px;color:var(--accent);white-space:nowrap}
.creator-chip.pending{color:var(--muted);background:var(--bg)}.creator-chip.hot{color:var(--hot);background:transparent;border:1px solid var(--hot)}.creator-chip.warm{color:var(--warning-ink);background:var(--warning-bg)}.creator-chip.cool{color:var(--cool);background:transparent;border:1px solid var(--cool)}
.creator-card-title{font-size:19px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.creator-why{font-size:13px;margin:14px 0 16px;line-height:1.75;color:var(--muted)}
.creator-card-meta{display:flex;gap:5px 12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:13px 0 6px}
.creator-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.creator-empty{grid-column:1/-1;padding:48px 24px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
.creator-section-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px}.creator-section-label h2{font-size:18px}.creator-section-label p{font-size:12px;color:var(--muted)}

.add-row{display:flex;gap:10px;margin-bottom:22px}.add-row input{flex:1}
.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.segmented{display:flex;gap:3px;background:var(--surface);padding:3px;border:1px solid var(--line);border-radius:8px}.segmented button{border:0;padding:6px 12px;font-size:13px;min-height:0}.segmented button.active{background:var(--ink);color:var(--surface)}
.search{margin-left:auto;min-width:240px}

/* 事件流 */
.timeline{list-style:none;padding:0;margin:8px 0 0}.timeline li{position:relative;border-left:1px solid var(--line);padding:0 0 16px 22px;font-size:13px}
.timeline li:before{content:'';position:absolute;left:-4px;top:7px;width:7px;height:7px;background:var(--accent);border-radius:50%}
.timeline li.warn:before{background:var(--warm)}.timeline li.error:before{background:var(--hot)}.timeline small{display:block;margin-bottom:2px;font:11px Consolas,monospace}

/* 内容台账 */
.note-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.note-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:border-color .16s,box-shadow .16s;text-align:left;padding:0}
.note-card:hover{border-color:var(--accent);box-shadow:0 6px 18px #15251b08;background:var(--surface)}
.note-cover{aspect-ratio:4/3;background:var(--soft);display:grid;place-items:center;color:var(--muted);font-size:12px;overflow:hidden;position:relative}
.note-cover img{width:100%;height:100%;object-fit:cover;display:block}
.note-cover .badge{position:absolute;top:8px;left:8px;background:#0008;color:#fff;font:11px Consolas,monospace;padding:2px 7px;border-radius:3px;letter-spacing:1px}
.note-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.note-title{font-size:15px;font-weight:500;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.note-desc{font-size:12px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:11px;color:var(--accent);background:var(--soft);padding:1px 7px;border-radius:3px}
.note-meta{display:flex;justify-content:space-between;font:11px Consolas,monospace;color:var(--muted);margin-top:auto;padding-top:6px}

/* 评论者表 */
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:13px}th{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:1px;background:var(--bg)}
tr:last-child td{border-bottom:0}tr:hover td{background:var(--soft)}
td.content{max-width:420px;color:var(--ink)}td .sub{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.region{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--accent);color:var(--accent)}.region.hk{border-color:var(--cool);color:var(--cool)}
.copy{font:12px Consolas,monospace;cursor:pointer;color:var(--ink)}.copy:hover{color:var(--accent)}

/* 设置 */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:24px}
.panel h2{font-size:17px;margin-bottom:6px}.panel>p{font-size:12px;color:var(--muted);margin-bottom:16px}
.field{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:12px;margin:12px 0;font-size:13px}.field small{grid-column:2;font-size:11px}
.login-state{display:flex;align-items:center;gap:14px;padding:16px;border-radius:8px;background:var(--soft);margin-bottom:16px}
.login-state .dot{width:12px;height:12px;border-radius:50%;background:var(--hot);flex-shrink:0}.login-state.ok .dot{background:var(--accent-solid)}
.queue{margin-top:20px;background:var(--soft);padding:16px 18px;border-radius:6px;font-size:12px;color:var(--muted)}.queue p{margin:6px 0}

/* 弹窗与提示 */
dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:min(1120px,94vw);max-height:90vh;padding:0;box-shadow:var(--shadow)}
dialog::backdrop{background:#14261d55;backdrop-filter:blur(4px)}
.detail-head{padding:24px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:16px}
.detail-head h2{font-size:24px;font-weight:500;margin:6px 0}
.detail-body{padding:28px 32px;display:grid;grid-template-columns:1fr 280px;gap:32px;max-height:64vh;overflow:auto}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:20px}
.gallery img,.gallery video{width:100%;border-radius:6px;border:1px solid var(--line);display:block;background:#000}
.gallery video{grid-column:1/-1;max-height:420px}
.detail-copy p{white-space:pre-wrap;line-height:1.8;font-size:14px}
.detail-meta{border-left:1px solid var(--line);padding-left:24px}
.check{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.check b{display:block;font-weight:500;margin-bottom:4px;color:var(--muted)}
.detail-actions{display:flex;gap:8px;padding:18px 32px;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface);flex-wrap:wrap}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:6px;background:var(--ink);color:var(--surface);z-index:30;box-shadow:var(--shadow);font-size:13px}
.footer{display:flex;justify-content:space-between;gap:20px;padding-top:24px;margin-top:30px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
@media(max-width:1100px){.creator-ready{grid-template-columns:repeat(2,minmax(0,1fr))}.selection-overview{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.detail-body{grid-template-columns:1fr}.detail-meta{border-left:0;padding-left:0}.matrix-header{gap:24px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===== v3：账号开关 / 一体化台账卡 / AI 分析页 ===== */
.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;user-select:none}
.switch i{width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background var(--transition);flex-shrink:0}
.switch i:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--transition)}
.switch.on i{background:var(--accent-solid)}.switch.on i:after{transform:translateX(16px)}
.switch b{font-weight:500}.switch.on b{color:var(--accent)}.switch:not(.on) b{color:var(--muted)}

.note-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:18px}
.note-row{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px 20px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;transition:border-color .16s,box-shadow .16s}
.note-row:hover{border-color:var(--accent);box-shadow:0 6px 18px #15251b08}
.note-media{display:flex;flex-direction:column;gap:8px}
.note-media video{width:100%;max-height:320px;background:#000;border-radius:6px;border:1px solid var(--line)}
.note-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.note-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;border:1px solid var(--line);cursor:zoom-in;display:block}
.note-thumbs .more{display:grid;place-items:center;font:12px Consolas,monospace;color:var(--muted);background:var(--soft);border-radius:5px;cursor:pointer}
.note-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.note-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.note-head h3{font-size:17px;font-weight:500;line-height:1.45}
.note-chips{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.note-full{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);max-height:9.5em;overflow:hidden;position:relative}
.note-full.open{max-height:none}
.note-more{font-size:12px;color:var(--accent);cursor:pointer;background:transparent;border:0;padding:0;min-height:0}
.note-stats{display:flex;gap:6px 14px;flex-wrap:wrap;font:12px Consolas,monospace;color:var(--muted)}
.note-links{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);align-items:center}
.note-links code{font-size:11px;color:var(--muted);overflow-wrap:anywhere}

.ai-status{margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:13px;color:var(--muted);display:none}
.ai-status.show{display:block}
.ai-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}
.calendar .dow{font:11px Consolas,monospace;color:var(--muted);text-align:center;padding:4px 0;letter-spacing:1px}
.calendar .day{min-width:0;min-height:78px;border:1px solid var(--line);border-radius:6px;padding:5px 6px;background:var(--bg);font-size:11px;display:flex;flex-direction:column;gap:3px}
.calendar .day.other{opacity:.35}.calendar .day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.calendar .day .n{font:11px Consolas,monospace;color:var(--muted)}
.calendar .ev{font-size:11px;line-height:1.3;padding:2px 5px;border-radius:4px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default}
.calendar .ev.node{background:transparent;color:var(--ink);border:1px dashed var(--line)}
.legend-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--muted)}
.legend-row i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.stack{display:flex;flex-direction:column;gap:10px}
.item{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:var(--bg)}
.item .t{display:flex;justify-content:space-between;gap:8px;align-items:start;margin-bottom:4px}
.item .t b{font-size:14px;font-weight:500}.item .sub{font-size:12px;color:var(--muted);line-height:1.6}
.item .ev{font-size:12px;color:var(--ink);margin-top:6px;line-height:1.6;background:var(--surface);border-radius:6px;padding:8px 10px;border:1px solid var(--line)}
.conf{font:11px Consolas,monospace;color:var(--muted)}
.verdict{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--hot);color:var(--hot);white-space:nowrap}
.verdict.maybe{border-color:var(--warm);color:var(--warning-ink)}.verdict.organic{border-color:var(--line);color:var(--muted)}
.ai-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.ai-settings .field{grid-template-columns:150px 1fr}
@media(max-width:1100px){.ai-grid{grid-template-columns:1fr}.note-list{grid-template-columns:1fr}.ai-settings{grid-template-columns:1fr}}

.calendar .ev.fest{background:var(--warning-bg);color:var(--warning-ink);border:1px dashed var(--warm)}
