:root{
  --ink:#1b1d24;
  --ink-2:#4a4f5c;
  --ink-3:#7c8290;
  --line:rgba(255,255,255,.72);
  --line-soft:rgba(120,130,160,.16);
  --glass:rgba(255,255,255,.55);
  --glass-strong:rgba(255,255,255,.72);
  --accent:#3f6ef0;
  --accent-soft:rgba(63,110,240,.12);
  --ok:#0f9b6c;
  --warn:#c07a12;
  --danger:#c8384a;
  --r-lg:22px;
  --r-md:16px;
  --r-sm:11px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  color:var(--ink);
  background:#eef1f8;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.bg-blobs{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.75}
.b1{width:620px;height:620px;left:-160px;top:-180px;background:radial-gradient(circle at 30% 30%,#a9c4ff,#c9d6ff 60%,transparent 72%)}
.b2{width:560px;height:560px;right:-140px;top:-80px;background:radial-gradient(circle at 60% 40%,#ffd0e0,#ffe4ee 60%,transparent 72%)}
.b3{width:680px;height:680px;left:32%;bottom:-320px;background:radial-gradient(circle at 50% 50%,#c3f2e2,#dff7ee 60%,transparent 72%)}
#root{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:26px 22px 70px}

.glass{
  background:var(--glass);
  -webkit-backdrop-filter:blur(26px) saturate(1.7);
  backdrop-filter:blur(26px) saturate(1.7);
  border:1px solid var(--line);
  box-shadow:0 10px 34px rgba(28,38,84,.10), inset 0 1px 0 rgba(255,255,255,.85);
  border-radius:var(--r-lg);
}
.hidden{display:none !important}
[hidden]{display:none !important}
.muted{color:var(--ink-3)}
.hint{font-size:12.5px;color:var(--ink-3);line-height:1.65;margin:10px 0 0}
.msg{font-size:13px;color:var(--danger);margin:12px 0 0;min-height:18px}
.msg.ok{color:var(--ok)}

.center-card{max-width:430px;margin:8vh auto 0;padding:30px 28px}
.brand{margin:0;font-size:21px;font-weight:600;letter-spacing:.2px}
.sub{margin:8px 0 22px;font-size:13px}
label{display:block;font-size:13px;color:var(--ink-2);margin:14px 0 0}
input{
  display:block;width:100%;margin-top:7px;padding:11px 13px;font-size:14px;
  border:1px solid var(--line-soft);border-radius:var(--r-sm);
  background:rgba(255,255,255,.72);color:var(--ink);outline:none;
  transition:border-color .15s, box-shadow .15s;
}
input:focus{border-color:rgba(63,110,240,.55);box-shadow:0 0 0 4px var(--accent-soft)}
button{font-family:inherit;cursor:pointer}
button:disabled{cursor:wait;opacity:.58}
.primary{
  width:100%;margin-top:20px;padding:12px;font-size:14px;font-weight:500;color:#fff;
  background:linear-gradient(180deg,#5182f5,#3f6ef0);border:none;border-radius:var(--r-sm);
  box-shadow:0 6px 18px rgba(63,110,240,.32);
}
.primary:active{transform:translateY(1px)}
.ghost{
  padding:11px 14px;font-size:13px;color:var(--ink-2);background:rgba(255,255,255,.6);
  border:1px solid var(--line-soft);border-radius:var(--r-sm);margin-top:12px;width:100%;
}
.ghost:hover{background:rgba(255,255,255,.9)}
.tiny{width:auto;margin:0;padding:7px 12px;font-size:12.5px;border-radius:9px}
.file-label{display:inline-block;cursor:pointer;color:var(--ink-2);text-align:center}
.tabs{display:flex;gap:6px;background:rgba(255,255,255,.45);padding:5px;border-radius:13px;border:1px solid var(--line-soft)}
.tab{flex:1;padding:9px 0;font-size:13px;color:var(--ink-2);background:transparent;border:none;border-radius:9px}
.tab.active{background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 2px 10px rgba(28,38,84,.10)}

/* ---------- app ---------- */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;position:sticky;top:14px;z-index:5;flex-wrap:wrap}
.topbar .left{display:flex;align-items:center;gap:10px}
.logo{font-size:16px;font-weight:600;letter-spacing:.2px}
.week-chip{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}
.week-sel{appearance:none;-webkit-appearance:none;border:1px solid transparent;font:inherit;cursor:pointer;padding-right:25px;background-repeat:no-repeat;background-position:right 9px center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%233f6ef0' stroke-width='1.4'/%3E%3C/svg%3E")}
.week-sel:focus{outline:none;border-color:var(--accent);background-color:#fff}
.topbar .right{display:flex;align-items:center;gap:10px}
.ghost-select{
  font-family:inherit;font-size:13px;color:var(--ink-2);padding:8px 12px;border-radius:10px;
  border:1px solid var(--line-soft);background:rgba(255,255,255,.7);outline:none;
}
.who{font-size:13px;color:var(--ink-2)}

.stats2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:12px;margin-top:16px}
.stats2 .stat{padding:16px 20px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:8px}
.stat-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stat-meta{font-size:11.5px;color:var(--ink-3);white-space:nowrap}
.pool-summary{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:stretch;gap:14px;margin:4px 0 2px}
.pool-total{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-right:1px solid var(--line-soft)}
.pool-total b{font-size:32px;font-weight:600;line-height:1.1}
.pool-total span{font-size:12px;color:var(--ink-2)}
.status-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.status-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:0;min-height:54px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:8px;background:rgba(255,255,255,.38);color:var(--ink-3);text-align:left;transition:background .14s,border-color .14s}
.status-tile:hover{background:rgba(255,255,255,.72)}
.status-tile.active{background:rgba(255,255,255,.86);border-color:rgba(63,110,240,.34)}
.status-tile-label{display:flex;align-items:center;gap:5px;max-width:100%;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-tile b{font-size:18px;font-weight:600;line-height:1;color:var(--ink)}
.stage-dot{width:7px;height:7px;border-radius:2px}
.stage-todo{background:#8b93a5}.stage-claimed{background:#d69739}.stage-packed{background:#4c78dd}.stage-editing{background:#8b64c6}.stage-done{background:#2f9a72}
.pool-card .hint{margin-top:2px}
.pool-card .hint .bad{color:var(--danger);font-weight:600}
.team-overview{display:flex;flex-direction:column;gap:3px}
.team-row{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-2);text-align:left}
.team-row:hover{background:rgba(255,255,255,.58)}
.team-row.active{background:rgba(255,255,255,.78);border-color:rgba(63,110,240,.28)}
.team-person{display:flex;align-items:baseline;gap:5px;min-width:0}
.team-person b{font-size:12.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.team-person i{font-size:10.5px;font-style:normal;color:var(--ink-3);white-space:nowrap}
.work-states{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.work-state{font-size:10.5px;padding:4px 7px;border-radius:6px;white-space:nowrap}
.work-claimed{background:rgba(192,122,18,.12);color:#8c5b16}
.work-packed{background:rgba(63,110,240,.11);color:#355dbb}
.work-editing{background:rgba(139,92,246,.11);color:#6d48ad}
.work-submitted{background:rgba(63,110,240,.11);color:#355dbb}
.work-editor-pending{background:rgba(63,110,240,.12);color:#355dbb}
.work-editor-editing{background:rgba(139,92,246,.12);color:#6d48ad}
.work-editor-done{background:rgba(15,155,108,.14);color:#086143}
.work-empty{font-size:10.5px;color:var(--ink-3)}
.team-open{font-size:10.5px;color:var(--ink-3);white-space:nowrap}
.team-empty{font-size:12px;color:var(--ink-3);margin:8px 0}
.mini{display:flex;flex-wrap:wrap;gap:8px}
.mini span{font-size:12.5px;color:var(--ink-3);padding:6px 12px;border-radius:999px;background:rgba(120,130,160,.12);white-space:nowrap}
.mini b{font-size:13.5px;font-weight:500;color:var(--ink);margin-left:2px}
.subline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-top:2px}
.subline .sep{color:var(--line-soft)}

.filters{display:flex;gap:6px;flex-wrap:wrap;padding:12px 14px 0}
.filters .chip{
  font-family:inherit;font-size:12.5px;color:var(--ink-2);cursor:pointer;
  padding:7px 14px;border-radius:999px;border:1px solid var(--line-soft);
  background:rgba(255,255,255,.55);transition:background .14s,border-color .14s;
}
.filters .chip:hover{background:rgba(255,255,255,.9)}
.filters .chip.on{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(63,110,240,.25)}
.filters .chip b{font-size:10.5px;font-weight:600;margin-left:3px;color:inherit;opacity:.78}
.filters .owner-filter{border-style:dashed;color:var(--accent);background:rgba(63,110,240,.07)}
.filters + .board-head{padding-top:10px}
.stat .k{font-size:12.5px;color:var(--ink-3)}
.stat .v{font-size:20px;font-weight:600;letter-spacing:.2px}

.progress{margin-top:12px;padding:14px 18px;display:flex;align-items:center;gap:14px;border-radius:var(--r-md);flex-wrap:wrap}
.progress .k{font-size:12.5px;color:var(--ink-3);white-space:nowrap}
.progress-line{font-size:13px;color:var(--ink-2);line-height:1.9}
.progress-line b{font-weight:600;color:var(--ink)}
.progress-line .sep{color:var(--line-soft);margin:0 10px}

.board{margin-top:14px;padding:8px 8px 10px;border-radius:var(--r-lg)}
.board-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px;font-size:13px;color:var(--ink-2);flex-wrap:wrap}
.board-tools{display:flex;align-items:center;gap:10px}
.board-tools .search{
  width:190px;margin:0;padding:7px 11px;font-size:12.5px;border-radius:9px;
  border:1px solid var(--line-soft);background:rgba(255,255,255,.72);color:var(--ink);
}
.board-tools .search::placeholder{color:var(--ink-3)}
.data-alert{margin:0 0 10px;padding:9px 12px;border:1px solid rgba(192,122,18,.22);border-radius:8px;background:rgba(255,248,224,.72);color:#805515;font-size:12px;line-height:1.5}
.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 10px 6px}
.pager .ghost{width:auto;margin:0;padding:7px 16px}
.pager .ghost:disabled{opacity:.42;cursor:default;background:rgba(255,255,255,.35)}
.pager .muted{font-size:12.5px;min-width:150px;text-align:center}
.pub-title{margin:0 0 12px;font-size:15px;font-weight:500;line-height:1.6;color:var(--ink)}
.inp{display:block;width:100%;margin:10px 0 0;padding:9px 11px;font:inherit;font-size:13.5px;line-height:1.6;
  color:var(--ink);background:rgba(255,255,255,.7);border:1px solid var(--line-soft);border-radius:var(--r-sm);
  resize:vertical}
.inp:focus{outline:none;border-color:var(--accent);background:#fff}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.tags .tag{font-size:12.5px;padding:5px 11px;border-radius:999px;background:rgba(120,130,160,.14);color:var(--ink-2)}
.tags .tag.wb{background:rgba(15,155,108,.16);color:#0b7a54;font-weight:500}
.ghost.danger{color:var(--danger);border-color:rgba(200,56,74,.28)}
.ghost.danger:hover{background:rgba(200,56,74,.08)}
.rows{display:flex;flex-direction:column}
.row{
  display:grid;
  grid-template-columns:18px minmax(360px,1fr) 116px 144px minmax(145px,190px) 96px;
  align-items:center;gap:12px;padding:14px;border-radius:12px;cursor:pointer;
  border:1px solid transparent;transition:background .14s,border-color .14s;
}
.row:hover{background:rgba(255,255,255,.62);border-color:var(--line)}
.row:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:rgba(255,255,255,.7)}
.row.open{background:rgba(255,255,255,.82);border-color:var(--line);box-shadow:0 6px 20px rgba(28,38,84,.08)}
.row .t{display:flex;flex-direction:column;gap:3px;min-width:0}
.row .t b{font-size:14px;font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.row .t i{font-size:12px;font-style:normal;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .t em{font-size:11.5px;font-style:normal;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .c{font-size:12.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.state-marker{width:8px;height:8px;border-radius:3px;justify-self:center}
.state-marker.status-todo{background:#8b93a5}.state-marker.status-claimed{background:#d69739}
.state-marker.status-packed{background:#4c78dd}.state-marker.status-editing{background:#8b64c6}
.state-marker.status-done{background:#2f9a72}
.pill{font-size:11.5px;padding:4px 9px;border-radius:999px;text-align:center;white-space:nowrap;justify-self:start}
.audience-pill,.scene-pill{display:flex;align-items:center;gap:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.audience-pill small,.scene-pill small{font-size:10px;font-weight:400;opacity:.7}
.row-kind{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.row-progress{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.row-progress i{max-width:100%;font-size:11.5px;font-style:normal;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill.a-中高层{background:rgba(63,110,240,.13);color:#2f57c4}
.pill.a-一线{background:rgba(15,155,108,.14);color:#0b7a54}
.pill.s-待认领{background:rgba(120,130,160,.16);color:#5c6272}
.pill.s-缺素材{background:rgba(120,130,160,.16);color:#5c6272}
.pill.s-已认领{background:rgba(192,122,18,.15);color:#9a6110}
.pills{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pill.s-素材已就绪{background:rgba(63,110,240,.13);color:#2f57c4}
.pill.s-剪辑中{background:rgba(139,92,246,.14);color:#6d3fd4}
.pill.s-已完成{background:rgba(15,155,108,.22);color:#086143}
.pill.status-todo{background:rgba(120,130,160,.16);color:#5c6272}
.pill.status-claimed{background:rgba(192,122,18,.15);color:#9a6110}
.pill.status-packed{background:rgba(63,110,240,.13);color:#2f57c4}
.pill.status-editing{background:rgba(139,92,246,.14);color:#6d3fd4}
.pill.status-done{background:rgba(15,155,108,.22);color:#086143}
.pill.status-unknown{background:rgba(120,130,160,.16);color:#5c6272}
/* 阶段三段：立项灰 / 制作琥珀 / 发布绿，永远由状态派生 */
.pill.g-立项{background:rgba(120,130,160,.16);color:#5c6272}
.pill.g-制作{background:rgba(192,122,18,.15);color:#9a6110}
.pill.g-发布{background:rgba(15,155,108,.22);color:#086143}
.pill.sc{background:rgba(13,148,136,.14);color:#0f766e}
/* 分类标签：生活类暖橙 / 工作类中性蓝灰，扫列表时一眼分得出是哪一挂 */
/* 发布标题行：标题 + 右上角「改标题」 */
.pub-title-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.edit-link{font-size:12px;color:#2f57c4;text-decoration:none;
  border-bottom:1px dashed rgba(47,87,196,.4);white-space:nowrap;cursor:pointer}
.edit-link:hover{color:#1f3f96}
/* 话题标签的编辑行（点「改标签」才展开，平时不占位） */
.tag-edit-row{display:flex;gap:8px;align-items:center;margin:8px 0 2px;flex-wrap:wrap}
.tag-edit-row .inp{flex:1;min-width:220px;font-size:12.5px;padding:6px 10px}
.hint .edit-link{margin-left:4px}
/* 抽屉里的标签编辑行 */
.tag-edit{display:flex;align-items:center;gap:10px;margin:6px 0 2px;flex-wrap:wrap}
.te-lab{font-size:12.5px;color:var(--ink-3)}
.te-sel{font-size:12.5px;padding:4px 8px;border-radius:8px;border:1px solid rgba(120,130,160,.35);
  background:rgba(255,255,255,.85);color:var(--ink-2)}
.te-hint{font-size:12px;color:#0b7a54}
.publish-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:26px;align-items:start}
.publish-main{min-width:0}
.publish-label{display:block;margin-bottom:7px;font-size:11.5px;color:var(--ink-3)}
.publish-tags-label{margin-top:20px}
.publish-main .pub-title{margin:0;font-size:17px;font-weight:600;line-height:1.55}
.publish-hint{margin:9px 0 0}
.publish-brief{display:flex;flex-direction:column;border-left:1px solid var(--line-soft);padding-left:22px}
.publish-brief-item{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid rgba(120,130,160,.12)}
.publish-brief-item:first-child{padding-top:0}
.publish-brief-item:last-child{border-bottom:0}
.publish-brief-item span{font-size:11.5px;color:var(--ink-3)}
.publish-brief-item b{font-size:12.5px;font-weight:500;line-height:1.55;color:var(--ink-2);word-break:break-word}
.publish-brief-item .dl{margin:3px 5px 3px 0}
.publish-taxonomy{margin-top:20px;padding-top:14px;border-top:1px solid var(--line-soft)}
/* 下载链接：抽屉里给剪辑用的，做成小按钮好点 */
.dl{display:inline-block;margin-left:10px;padding:4px 12px;border-radius:8px;
  background:rgba(63,110,240,.12);color:#2f57c4;font-size:12.5px;text-decoration:none;
  border:1px solid rgba(63,110,240,.22)}
.dl:hover{background:rgba(63,110,240,.2)}
/* 版本号：淡淡的，存在感低但报错时找得到 */
.ver{font-size:11px;color:var(--ink-3);opacity:.55;letter-spacing:.02em}
.pill.cat-生活类{background:rgba(234,88,12,.14);color:#9a3412}
.pill.cat-工作类{background:rgba(100,116,139,.16);color:#475569}
/* 类型标签：技能 / 专家 / 工作台，三种颜色互不撞 */
.pill.ty-技能{background:rgba(2,132,199,.14);color:#0369a1}
.pill.ty-专家{background:rgba(147,51,234,.14);color:#7c3aed}
.pill.ty-工作台{background:rgba(217,119,6,.15);color:#b45309}
.scene-line{margin:0 0 8px;font-size:12.5px;color:var(--ink-3)}
.scene-line b{color:#0f766e;font-weight:500}
.dot-ver{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:1px}
.dot-ver.待实测{background:var(--warn)}
.dot-ver.已验证{background:var(--ok)}

.detail-mode .topbar{position:static}
.detail-mode .drawer{margin-top:14px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.drawer{margin-top:14px;padding:22px 24px 24px;border-radius:var(--r-lg)}
.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--glass-strong);box-shadow:0 6px 22px rgba(28,38,84,.08)}
.detail-title-block{min-width:0}
.detail-back{padding:0;margin:0 0 10px;border:0;background:transparent;color:var(--accent);font-size:12.5px}
.detail-back:hover{text-decoration:underline}
.detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.drawer-head h2{margin:0;font-size:17px;font-weight:600;line-height:1.5}
.drawer-head .muted{margin:8px 0 0;font-size:12.5px}
.detail-submeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--ink-3)}
.quality-note{padding:3px 7px;border-radius:6px;background:rgba(192,122,18,.12);color:#8c5b16}
.detail-primary{display:flex;align-items:center;justify-content:flex-end;min-width:150px;padding-top:24px}
.detail-primary .primary,.detail-primary .ghost{width:auto;min-width:130px;margin:0;padding:10px 16px}
.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.detail-actions .ghost{min-width:auto;padding:10px 13px}
.detail-complete{display:inline-flex;align-items:center;padding:8px 12px;border-radius:8px;background:rgba(15,155,108,.12);color:#087152;font-size:12.5px;font-weight:600}
.detail-toast{position:fixed;z-index:80;left:50%;top:18px;transform:translateX(-50%);max-width:min(620px,calc(100vw - 32px));padding:11px 16px;border:1px solid rgba(200,56,74,.22);border-radius:8px;background:#fff;color:var(--danger);box-shadow:0 10px 30px rgba(28,38,84,.18);font-size:13px;line-height:1.5}
.detail-toast.ok{border-color:rgba(15,155,108,.22);color:#087152}
.triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.tri{padding:13px 15px;border-radius:var(--r-md);background:rgba(255,255,255,.55);border:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px}
.tri .k{font-size:12px;color:var(--ink-3)}
.tri .v{font-size:13.5px;color:var(--ink);line-height:1.5}
.detail-panels{display:flex;flex-direction:column;gap:28px;margin-top:22px}
.detail-panel{display:flex;flex-direction:column;gap:14px}
.detail-panel + .detail-panel{padding-top:26px;border-top:1px solid rgba(120,130,160,.18)}
.detail-section-head{display:flex;align-items:center;gap:12px}
.detail-section-index{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:8px;background:rgba(63,110,240,.12);color:#315ac9;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}
.detail-section-head h3{margin:0;font-size:15px;font-weight:600;color:var(--ink)}
.detail-section-head p{margin:3px 0 0;font-size:12px;color:var(--ink-3)}
.asset-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:14px}
.detail-flow{font-size:13px;color:var(--ink-2);margin:0}
.secondary-card{background:rgba(255,255,255,.48)}
.manage-details{padding:12px 16px;border-top:1px solid var(--line-soft);color:var(--ink-2)}
.manage-details summary{cursor:pointer;font-size:12.5px;color:var(--ink-3)}
.manage-details .status-row{margin-top:10px}
.manage-details > .danger{margin-top:10px}
.detail-inline-msg{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.drawer-body{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:16px;margin-top:16px;align-items:start}
.col-main,.col-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.card{
  background:rgba(255,255,255,.66);
  border:1px solid var(--line-soft);
  border-radius:var(--r-md);
  padding:16px 18px;
  box-shadow:0 2px 10px rgba(28,38,84,.045);
}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.card-head .k{font-size:12.5px;color:var(--ink-3)}
.card-head .btns{display:flex;gap:8px;flex-wrap:wrap}
.card .legend{margin-bottom:12px}
.card-head + .hint{margin-top:0}
.card .status-now{margin-bottom:0}
.block{margin-top:22px}
.block-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.block-head .k{font-size:12.5px;color:var(--ink-3)}
.block-head .btns{display:flex;gap:8px;flex-wrap:wrap}
.script{border:1px solid var(--line-soft);border-radius:var(--r-md);background:rgba(255,255,255,.62);padding:4px 0;overflow-x:auto;overflow-y:hidden}
.card .script{border:none;border-radius:0;background:transparent;padding:0}
.card .script .s-head{padding:0 0 10px}
.script .s-head{padding:12px 16px 6px;font-size:12.5px;color:var(--ink-3);line-height:1.7}
.script table{width:100%;border-collapse:collapse;font-size:13px}
.script th{text-align:left;font-weight:500;font-size:12px;color:var(--ink-3);padding:9px 14px;border-bottom:1px solid var(--line-soft);background:rgba(120,130,160,.07)}
.script td{padding:11px 14px;border-bottom:1px solid rgba(120,130,160,.10);vertical-align:top;line-height:1.65}
.script tr:last-child td{border-bottom:none}
.script td:first-child{white-space:nowrap;color:var(--ink-3);font-variant-numeric:tabular-nums}
.script td:nth-child(2){font-weight:500}
.script td:nth-child(3){color:var(--ink-2);font-size:12.5px}
.script td:nth-child(4){color:var(--ink-3);font-size:12.5px}
.prompt{margin:0;padding:16px;border:1px solid var(--line-soft);border-radius:var(--r-md);
  background:rgba(255,255,255,.62);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12.8px;line-height:1.85;white-space:pre-wrap;word-break:break-word;color:var(--ink)}
.legend{margin:0 0 12px;padding:12px 14px;font-size:12px;line-height:1.75;color:var(--ink-2);
  background:rgba(63,110,240,.06);border:1px solid rgba(63,110,240,.14);border-radius:var(--r-sm)}
.legend b{display:block;font-weight:500;color:var(--ink-2);margin-bottom:7px}
.lg-row{display:flex;gap:9px;align-items:baseline}
.lg-tag{flex:none;width:34px;height:20px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:6px;background:rgba(63,110,240,.15);color:#2f57c4;font-style:normal;font-size:11.5px;font-weight:500}
.card .prompt{border:none;background:transparent;padding:0}
.status-now{display:flex;align-items:center;gap:10px}
.status-now .muted{font-size:12.5px}
.hint + .status-row{margin-top:12px}
.block-head + .hint{margin-top:0}
.status-row{display:flex;gap:8px;flex-wrap:wrap}
.status-row .ghost{width:auto;margin:0;padding:9px 15px;font-size:13px;border-radius:10px}
.status-row label.ghost{display:inline-flex;align-items:center}
.status-row .ghost.act-primary{background:linear-gradient(180deg,#5182f5,#3f6ef0);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(63,110,240,.28)}

@media (max-width:980px){
  .stats2{grid-template-columns:1fr}
  .pool-summary{grid-template-columns:76px minmax(0,1fr)}
  .triple{grid-template-columns:1fr}
  .drawer-body{grid-template-columns:1fr}
  .asset-grid{grid-template-columns:1fr}
  .publish-layout{grid-template-columns:1fr}
  .publish-brief{border-left:0;border-top:1px solid var(--line-soft);padding:16px 0 0}
  .detail-primary{min-width:0}
  .row{grid-template-columns:18px minmax(0,1fr) auto;gap:9px}
  .row .t{grid-column:2 / 4}
  .row .audience-pill{grid-column:2 / 3}
  .row .row-kind{grid-column:3 / 4;justify-content:flex-end}
  .row .scene-pill{grid-column:2 / 3}
  .row .row-progress{grid-column:3 / 4;align-items:flex-end}
  .filters .chip{padding:6px 11px}
  .topbar{position:static;flex-wrap:wrap}
}

/* 添加选题弹窗 */
.overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;
  padding:48px 16px;background:rgba(16,22,46,.46);overflow:auto}
.overlay.hidden{display:none}
.modal{width:min(760px,100%);padding:22px 24px 26px;border-radius:var(--r-lg)}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.modal-head h2{margin:0;font-size:17px;font-weight:600}
.add-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:4px 0}
.add-grid .fld{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-3)}
.add-grid .fld .inp{margin:0}
.blk{display:block;margin-top:14px;font-size:12.5px;color:var(--ink-3)}
.blk .inp{margin-top:6px}
#add-idea{margin:12px 0 0}
@media (max-width:720px){
  .add-grid{grid-template-columns:1fr}
}

/* 脚本逐句匹配表 · 行内编辑 */
.script table.s-edit{width:100%;border-collapse:collapse;margin-top:8px;table-layout:fixed}
.script table.s-edit th,.script table.s-edit td{border:1px solid #e7e7ec;padding:6px;vertical-align:top}
.script table.s-edit th{background:#f3f4f8;font-size:12px;color:#7a7f8a;text-align:left;font-weight:600}
.script table.s-edit th:nth-child(1){width:96px}
.script table.s-edit th:nth-child(5){width:42px}
.script table.s-edit .s-in{width:100%;box-sizing:border-box;border:1px solid transparent;background:transparent;
  font:inherit;line-height:1.5;padding:4px 6px;border-radius:6px;color:inherit;resize:vertical}
.script table.s-edit .s-time{max-width:96px}
.script table.s-edit .s-in:focus{outline:none;border-color:#2f6bff;background:#fff}
.script table.s-edit .s-op{text-align:center;padding:4px}
.script .s-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.script .s-actions .hint{margin:0}
