/* 创作 › 每日资讯：选栏目、品牌与 Logo、实时预览、来源 / Logo 库弹窗（brief.js） */
.nb-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.nb-col-card { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 3px 11px; align-items: center; text-align: left; padding: 12px 12px 12px 13px;
  border: 1px solid var(--line-2); border-radius: 12px; background: var(--bg-3); color: var(--ink); cursor: pointer; overflow: hidden;
  transition: border-color .15s, background-color .15s, box-shadow .15s, transform .15s; }
.nb-col-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--col); opacity: 0; transition: opacity .15s; }
.nb-col-card:hover { border-color: color-mix(in srgb, var(--col) 60%, var(--line-2)); transform: translateY(-1px); box-shadow: 0 6px 16px -8px color-mix(in srgb, var(--col) 45%, transparent); }
.nb-col-card.on::before { opacity: 1; }
.nb-col-card.on { border-color: var(--col); background: color-mix(in srgb, var(--col) 14%, var(--bg-3)); box-shadow: 0 0 0 1px var(--col) inset; }
.nb-col-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.nb-col-ic { grid-row: 1 / span 2; align-self: start; width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center;
  color: color-mix(in srgb, var(--col) 82%, var(--ink)); background: color-mix(in srgb, var(--col) 13%, transparent); transition: background-color .15s, color .15s; }
.nb-col-ic svg.ic { width: 21px; height: 21px; stroke-width: 1.75; }
.nb-col-card.on .nb-col-ic { background: var(--col); color: #fff; box-shadow: 0 4px 10px -3px color-mix(in srgb, var(--col) 60%, transparent); }
@media (prefers-reduced-motion: reduce) { .nb-col-card, .nb-col-card:hover { transition: none; transform: none; } }
.nb-col-card b { font-size: 14px; }
.nb-col-card small { grid-column: 2; color: var(--muted); font-size: 11.5px; line-height: 1.35; }
.nb-col-fields [hidden] { display: none; }
.nb-tpl-more { margin-top: 12px; }
.nb-tpl-more > summary { cursor: pointer; color: var(--muted); font-size: 12.5px; margin-bottom: 8px; }
.nb-feed-tag { color: var(--dim); font-size: 11px; margin-left: 2px; }
.nb-feed-other { opacity: .6; }
.nb-feed-cats { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; align-items: center; }
.nb-feed-cats label { display: inline-flex; align-items: center; gap: 0; padding: 1px 8px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 11.5px; color: var(--muted); cursor: pointer; }
.nb-feed-cats label.on { border-color: var(--accent); color: var(--ink); background: var(--accent-soft); }
.nb-feed-cats input { position: absolute; opacity: 0; pointer-events: none; }
.nb-feed-cats label:focus-within { outline: 2px solid var(--accent); }
.nb-feed-cats .dim { font-size: 11.5px; margin-left: 4px; }
@media (max-width: 700px) { .nb-cols { grid-template-columns: 1fr 1fr; } }
.wizard.nb-wide { grid-template-columns: minmax(0, 1fr) 340px; }
.nb-h-note { font-weight: 400; font-size: 12px; margin-left: 4px; }
.nb-lbrow { display: flex; align-items: center; gap: 8px; }
.nb-lbrow em { font-style: normal; color: var(--dim); }
.nb-lbrow .btn { margin-left: auto; }
.nb-lbrow .btn .ic, .nb-ent .btn .ic, .nb-lib-add .btn .ic { width: 14px; height: 14px; }

/* 品牌区 */
.nb-voice-box { display: flex; flex-direction: column; gap: 12px; }
.nb-voice-head { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: 4px 12px; align-items: end; }
.nb-voice-svc { display: block; }
.nb-voice-svc select { width: 100%; }
.nb-voice-svc-note { color: var(--dim); font-size: 12px; padding-bottom: 10px; }
.nb-voice-field[hidden] { display: none; }
.nb-voice-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.nb-vfilter { display: inline-flex; border: 1px solid var(--line-2); border-radius: 9px; overflow: hidden; }
.nb-vfilter button { border: 0; background: transparent; color: var(--muted); padding: 7px 12px; font: inherit; font-size: 12.5px; cursor: pointer; }
.nb-vfilter button + button { border-left: 1px solid var(--line-2); }
.nb-vfilter button[aria-pressed="true"] { background: var(--accent-soft); color: var(--ink); font-weight: 600; }
.nb-vfilter button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.nb-sr { position: fixed !important; left: 0; top: 0; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; opacity: 0; }
.nb-vlist { position: relative; margin-top: 10px; max-height: 292px; overflow-y: auto; border: 1px solid var(--line-2); border-radius: 12px; background: var(--bg-3); padding: 4px; }
.nb-vlist[aria-busy="true"] { opacity: .55; pointer-events: none; }
.nb-vgroup { position: sticky; top: -4px; z-index: 1; padding: 8px 10px 4px; font-size: 11.5px; color: var(--dim); background: var(--bg-3); }
.nb-vrow { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 9px; cursor: pointer; }
.nb-vrow:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.nb-vrow:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.nb-vrow.on { background: var(--accent-soft); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent) inset; }
.nb-vdot { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--line-2); box-sizing: border-box; }
.nb-vrow.on .nb-vdot { border: 4px solid var(--accent-2); background: #fff; }
.nb-vtxt { min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.nb-vtxt b { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.nb-vtxt small { flex-basis: 100%; color: var(--muted); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nb-vplay { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line-2); background: var(--bg-2, transparent); color: var(--ink); display: grid; place-items: center; cursor: pointer; padding: 0; }
.nb-vplay .ic { width: 14px; height: 14px; }
.nb-vplay.on, .nb-vplay:hover { border-color: var(--accent); color: var(--accent); }
.nb-vplay:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.nb-vempty { padding: 14px 10px; color: var(--dim); font-size: 12.5px; }
.nb-voice-field .hint { margin-top: 7px; }
.nb-vcur { margin-top: 2px; display: grid; grid-template-columns: 16px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); border-radius: 12px; background: var(--accent-soft); cursor: pointer; }
.nb-vcur:has(.nb-vempty) { display: block; padding: 0; border-color: var(--line-2); background: var(--bg-3); cursor: default; }
.nb-vcur .nb-vdot.on { border: 4px solid var(--accent-2); background: #fff; }
.nb-vcur .nb-vtoggle { white-space: nowrap; }
.nb-voice-field:not(.nb-vclosed) .nb-vcur { margin-bottom: 10px; }
.nb-voice-field.nb-vclosed .nb-voice-controls, .nb-voice-field.nb-vclosed .nb-vlist { display: none; }
@media (max-width: 700px) { .nb-voice-head, .nb-voice-controls { grid-template-columns: 1fr; } .nb-voice-svc-note { padding-bottom: 0; } }
.nb-brand { display: flex; flex-direction: column; gap: 14px; }
.nb-drops { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nb-drop { position: relative; padding: 12px; }
.nb-drop .pv { background: repeating-conic-gradient(var(--bg-3) 0 25%, var(--bg-2) 0 50%) 0 0 / 14px 14px; border: 1px solid var(--line); }
.nb-drop .tx .dim { line-height: 1.4; }
.nb-drop .nb-x { position: absolute; top: 6px; right: 6px; padding: 3px 6px; }
.nb-drop .nb-x .ic { width: 14px; height: 14px; }
.nb-seg { display: flex; width: max-content; }
.nb-seg span { cursor: pointer; user-select: none; font-size: 12.5px; }
.nb-colrow { display: flex; align-items: center; gap: 12px; }
.nb-colrow input[type=color] { width: 44px; height: 30px; padding: 2px; border-radius: 6px; cursor: pointer; }
.nb-colrow input[type=color]:disabled { opacity: .35; cursor: not-allowed; }
.nb-wm { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-3); }
.nb-wm .switch b { color: var(--ink); font-weight: 600; }
.nb-range { display: flex; align-items: center; gap: 8px; font-size: 12.5px; }
.nb-range input { width: 110px; }
.nb-range output { width: 36px; color: var(--ink); font-variant-numeric: tabular-nums; }
.nb-kit { display: flex; align-items: center; gap: 10px; font-size: 12.5px; }
.nb-kit select { width: auto; min-width: 180px; }
.nb-ent { display: flex; align-items: center; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.nb-ent .switch { flex: 1; align-items: flex-start; line-height: 1.5; }
.nb-ent .switch .tr { margin-top: 2px; flex: none; }
.nb-ent .switch b { color: var(--ink); font-weight: 600; }
.nb-sum-logo { width: 18px; height: 18px; object-fit: contain; vertical-align: -4px; margin-right: 6px; border-radius: 4px; background: #fff; }

/* 实时预览：手机外框里放 1080×1920 的 iframe，按比例缩放 */
.nb-pv-sec { padding: 14px 16px; }
.nb-pv-sec .sec-h { margin-bottom: 10px; }
.nb-pv-sec .sec-h .btn .ic { width: 15px; height: 15px; }
.nb-phone { position: relative; width: 100%; aspect-ratio: 9 / 16; border-radius: 22px; padding: 7px; background: #0b0c10;
  box-shadow: 0 0 0 1px var(--line-2), 0 18px 40px rgba(0, 0, 0, .28); }
.nb-screen { position: relative; width: 100%; height: 100%; border-radius: 16px; overflow: hidden; background: #F6F8FC; }
.nb-screen iframe { position: absolute; left: 0; top: 0; width: 1080px; height: 1920px; border: 0; transform-origin: 0 0;
  transform: scale(.2963); pointer-events: none; } /* 实际比例由 brief.js 按容器宽度设置 */
.nb-pv-load { position: absolute; inset: 7px; border-radius: 16px; display: flex; align-items: center; justify-content: center; gap: 8px;
  background: rgba(246, 248, 252, .82); color: #333; font-size: 13px; backdrop-filter: blur(2px); }
.nb-pv-load[hidden] { display: none; }
.nb-pv-ctl { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.nb-pv-ctl .btn { width: 34px; justify-content: center; padding: 4px 0; }
.nb-pv-ctl .btn svg.ic { width: 14px; height: 14px; }
.nb-pv-ctl input[type=range] { flex: 1; }
.nb-time { font-size: 12px; font-variant-numeric: tabular-nums; width: 34px; text-align: right; }
.nb-scenes { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.nb-scenes button { border: 1px solid var(--line-2); background: var(--bg-3); color: var(--muted); border-radius: 6px; padding: 2px 7px; font-size: 11.5px; cursor: pointer; }
.nb-scenes button:hover { color: var(--ink); }
.nb-scenes button.on { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
.nb-scenes.col { flex-direction: column; }
.nb-scenes.col button { text-align: left; padding: 6px 10px; font-size: 12.5px; }
.nb-pv-logos { font-size: 12px; line-height: 1.55; margin-top: 8px; }
.nb-big { display: grid; grid-template-columns: 400px 1fr; gap: 20px; align-items: start; }
.nb-phone.big { width: 400px; }
.nb-big-side .nb-pv-ctl { margin-top: 0; margin-bottom: 10px; }
.modal .box.nb-modal-wide { width: min(980px, 94vw); max-width: none; max-height: 90vh; overflow: auto; }

/* 来源管理 */
.nb-feeds { width: 100%; border-collapse: collapse; }
.nb-feeds th { text-align: left; font-weight: 500; color: var(--muted); font-size: 12px; padding: 6px; border-bottom: 1px solid var(--line); }
.nb-feeds td { padding: 6px; border-bottom: 1px solid var(--line); vertical-align: top; }
.nb-feeds td:nth-child(2) { width: 22%; }
.nb-feeds td input { width: 100%; }
.nb-ft { width: 200px; white-space: nowrap; }
.nb-ft .btn .ic { width: 14px; height: 14px; }
.nb-ft-res { white-space: normal; font-size: 11.5px; margin-top: 4px; max-width: 200px; overflow: hidden; text-overflow: ellipsis; }

/* Logo 库 */
.nb-lib-add { display: grid; grid-template-columns: 1.1fr 1.2fr 1.2fr auto auto; gap: 8px; margin-bottom: 14px; }
.nb-lib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 10px; margin-bottom: 16px; }
.nb-lg { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 12px 8px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-3); text-align: center; }
.nb-lg .im { width: 64px; height: 64px; border-radius: 50%; background: #fff; display: grid; place-items: center; overflow: hidden; border: 3px solid #EEF2FB; margin-bottom: 4px; }
.nb-lg .im img { width: 70%; height: 70%; object-fit: contain; }
.nb-lg .im.cover img { width: 100%; height: 100%; object-fit: cover; }
.nb-lg b { font-size: 13px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nb-lg .dim { font-size: 11px; }
.nb-lg .chip { margin: 2px 0 0; }
.nb-lg .nb-x { position: absolute; top: 4px; right: 4px; padding: 2px 5px; opacity: 0; }
.nb-lg:hover .nb-x { opacity: 1; }
.nb-lg .nb-x .ic { width: 13px; height: 13px; }
.nb-known-h { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.nb-known-h .btn { margin-left: auto; }
.nb-known-list { display: flex; flex-wrap: wrap; gap: 4px; }
.nb-known { cursor: pointer; border: 1px solid transparent; }
.nb-known:hover { border-color: var(--accent); color: var(--accent); }
.nb-known.bad { background: var(--cut-soft); color: var(--cut); }

/* 生成记录步骤条 */
.nb-steps { display: flex; gap: 0; list-style: none; padding: 0; margin: 0 0 14px; counter-reset: s; }
.nb-steps li { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 12px; color: var(--dim); }
.nb-steps li::before { content: ""; position: absolute; top: 11px; left: -50%; right: 50%; height: 2px; background: var(--line-2); z-index: 0; }
.nb-steps li:first-child::before { display: none; }
.nb-steps li i { position: relative; z-index: 1; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11.5px; font-weight: 700;
  background: var(--bg-4); color: var(--muted); }
.nb-steps li.done { color: var(--muted); }
.nb-steps li.done i { background: var(--keep); color: #fff; }
.nb-steps li.done::before, .nb-steps li.cur::before { background: var(--keep); }
.nb-steps li.cur { color: var(--ink); font-weight: 600; }
.nb-steps li.cur i { background: var(--accent-2); color: #fff; box-shadow: 0 0 0 4px var(--accent-soft); }
.nb-steps li.bad { color: var(--cut); }
.nb-steps li.bad i { background: var(--cut); color: #fff; }

@media (max-width: 1180px) { .wizard.nb-wide { grid-template-columns: minmax(0, 1fr) 300px; } }
@media (max-width: 900px) {
  .wizard.nb-wide { grid-template-columns: 1fr; }
  .nb-drops, .nb-lib-add { grid-template-columns: 1fr; }
  .nb-phone { max-width: 300px; margin: 0 auto; }
  .nb-big { grid-template-columns: 1fr; } .nb-phone.big { width: 100%; max-width: 360px; }
}
/* 右栏整体吸顶、内部滚动：改下面的品牌设置时，预览始终在视野里 */
.wizard.nb-wide > aside.summary { position: sticky; top: 0; max-height: calc(100vh - var(--top-h) - 28px); overflow-y: auto; scrollbar-width: thin; }
@media (max-width: 900px) { .wizard.nb-wide > aside.summary { position: static; max-height: none; overflow: visible; } }

/* 节目日期 */
.nb-daterow { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.nb-daterow select { flex: 0 1 260px; }
.nb-daterow input[type=date] { flex: 0 1 180px; }
.nb-daterow input[hidden] { display: none; }
.nb-date-hint { font-weight: 600; color: var(--accent, #4f6bff); white-space: nowrap; }

/* The preview frame follows the selected edition's actual canvas. */
#nbSched .switch{font-size:13px}#nbSched .switch input,#nbSched .nb-days input{display:block;position:absolute;opacity:0;width:1px;height:1px}#nbSched .switch:focus-within .tr{outline:2px solid var(--accent-2);outline-offset:3px}#nbSched .nb-days .day:focus-within span{outline:2px solid var(--accent-2)}.nb-platform:has(input:checked){border-color:var(--accent-2);background:var(--accent-soft)}

/* News art-direction gallery; miniatures reflect the actual composition grammar. */
.ns-scope{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.ns-scope>label:first-child{min-width:200px}
.ns-scope .hint{flex:1;min-width:200px;margin:0;font-size:12px;line-height:1.7}
.ns-override{font-size:13px;display:flex;gap:8px;align-items:center;padding:10px 0}
.ns-gallery-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin:0 0 12px;font-size:13px;font-weight:600}
.ns-gallery-h small{font-size:11px;color:var(--muted);font-weight:400}
.ns-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ns-preset{appearance:none;min-width:0;position:relative;padding:7px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.ns-preset:hover{border-color:var(--muted);background:var(--bg-3)}
.ns-preset.on{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 5%,var(--bg-2))}
.ns-preset:disabled{opacity:.55;cursor:default}
.ns-preset:focus-visible{outline:2px solid var(--accent-2);outline-offset:4px}
.ns-preset-copy{display:block;padding:11px 6px 8px}
.ns-preset-copy>strong{font-size:13px;display:block;letter-spacing:.2px;margin-bottom:5px;font-weight:600}
.ns-preset-copy>small{font-size:10.5px;display:block;color:var(--muted);line-height:1.6;padding-right:16px}
.ns-selected{position:absolute;right:14px;bottom:17px;border-radius:50%;height:17px;width:17px;display:none;place-items:center;background:var(--accent-2);color:#fff;font-size:11px}
.ns-preset.on .ns-selected{display:grid}
.ns-auto{grid-column:1/-1;display:flex;align-items:center;padding:12px 16px;gap:14px;min-height:76px}
.ns-auto .ns-preset-copy{padding:0 22px 0 0}
.ns-auto .ns-selected{top:29px;bottom:auto;right:17px}
.ns-auto-mark{width:38px;height:38px;flex:none;display:flex;gap:3px;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:9px;background:var(--bg-3)}
.ns-auto-mark i{width:5px;height:17px;display:block;background:var(--muted);border-radius:1px}
.ns-auto-mark i:nth-child(2){height:24px;background:var(--accent-2)}
.ns-auto-mark i:nth-child(3){height:12px}
.ns-swatch{display:flex;flex-direction:column;position:relative;overflow:hidden;aspect-ratio:1.6;background:var(--ns-bg);color:var(--ns-fg);border-radius:6px;padding:14px 15px;container-type:inline-size;font-family:"PingFang SC","Microsoft YaHei",sans-serif}
.ns-mini-mast{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--ns-rule);font-style:normal}
.ns-mini-mast>b{font-size:11px;letter-spacing:-.3px}
.ns-mini-mast>span{font-size:5px;letter-spacing:1px;color:var(--ns-muted);white-space:nowrap}
.ns-swatch strong{font-size:clamp(12px,8cqw,21px);line-height:1.45;font-weight:650;letter-spacing:-.5px;display:block}
.ns-swatch small{font-size:6px;color:var(--ns-ac);display:block;letter-spacing:1px;line-height:1.5;margin-bottom:5px}
.ns-swatch em{font-style:normal}
.ns-art-classic{background:linear-gradient(145deg,#f6f8fc,#e7edff);color:#15171c;gap:9px;padding-bottom:28px}
.ns-classic-header{display:flex;align-items:center;gap:6px;border-bottom:2px solid #2f6bff;padding-bottom:4px;font-size:12px}
.ns-art-classic .ns-classic-header small{background:#bf2229;color:white;border-radius:3px;letter-spacing:0;padding:1px 3px;margin:0}
.ns-classic-card{display:grid;gap:4px;background:#fff;border-radius:4px;padding:7px;font-size:9px;box-shadow:0 2px 8px #273f7220}
.ns-classic-card i{height:3px;background:#dce5fa;border-radius:2px}
.ns-classic-card i:last-child{width:65%}
.ns-classic-ticker{position:absolute;bottom:11px;left:0;right:0;display:flex;align-items:center;background:#141a2e;color:white;font-size:7px;white-space:nowrap}
.ns-classic-ticker b{background:#bf2229;padding:3px 6px}
.ns-mini-rule{height:2px;display:block;background:var(--ns-rule);width:82%;margin-top:8px}
.ns-mini-rule.short{width:55%;margin-top:4px}
.ns-mini-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px;flex:1;min-height:0}
.ns-mini-data{border-left:1px solid var(--ns-rule);padding-left:10px;display:flex;flex-direction:column;justify-content:center}
.ns-mini-data em{font-size:6px;letter-spacing:.4px;color:var(--ns-muted);margin-top:7px}
.ns-mini-bars{display:grid;gap:5px;margin-top:5px}
.ns-mini-bars>i{display:block;width:95%;height:5px;background:var(--ns-ac);border-radius:1px}
.ns-mini-bars>i:nth-child(2){width:62%;opacity:.65}.ns-mini-bars>i:nth-child(3){width:80%;opacity:.4}
.ns-mini-dark{display:flex;align-items:flex-start;gap:14px;margin-top:12px}
.ns-mini-dark>em{font-size:clamp(28px,23cqw,58px);line-height:1.1;letter-spacing:-3px;color:var(--ns-ac);font-weight:350}
.ns-mini-dark>span{border-left:1px solid var(--ns-rule);padding-left:13px;flex:1}
.ns-mini-foot{display:flex;justify-content:space-between;font-size:5px;color:var(--ns-muted);letter-spacing:.8px;margin-top:auto;padding-top:8px}
.ns-art-notebook .ns-mini-mast{border-bottom:3px double var(--ns-rule)}
.ns-mini-paper{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;align-items:center;flex:1}
.ns-mini-paper>strong{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(14px,9cqw,23px);font-weight:600}
.ns-mini-paper>strong span{color:var(--ns-ac)}
.ns-mini-paper>span{border-left:1px solid var(--ns-rule);padding-left:12px}
.ns-mini-paper em{font-size:7px;line-height:1.7;display:block;color:var(--ns-muted);margin-top:9px}
.ns-art-cobalt{background-image:linear-gradient(#40516c25 1px,transparent 1px),linear-gradient(90deg,#40516c25 1px,transparent 1px);background-size:20px 20px}
.ns-mini-tech{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.ns-mini-network{position:relative;width:45%;height:57px;display:block}
.ns-mini-network:before{content:"";position:absolute;left:20%;right:20%;top:30%;bottom:20%;border-left:1px solid var(--ns-rule);border-bottom:1px solid var(--ns-rule)}
.ns-mini-network i{position:absolute;display:block;width:23px;height:23px;border:1px solid var(--ns-ac);border-radius:3px;background:var(--ns-bg)}
.ns-mini-network i:nth-child(1){left:0;top:0}.ns-mini-network i:nth-child(2){right:0;top:0}.ns-mini-network i:nth-child(3){left:0;bottom:0;background:var(--ns-ac)}
.ns-mini-mint{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-top:13px;padding:11px 10px;background:#21664f0b;border-radius:10px}
.ns-mini-mint strong{font-size:clamp(12px,7cqw,18px)}
.ns-mini-orbit{width:44px;height:44px;border:1px solid var(--ns-rule);border-radius:50%;position:relative;flex:none;display:block}
.ns-mini-orbit:before{content:"";position:absolute;inset:10px;border:1px solid var(--ns-ac);border-radius:50%}
.ns-mini-orbit i{position:absolute;width:6px;height:6px;background:var(--ns-ac);border-radius:50%;top:0;left:9px}.ns-mini-orbit i+ i{top:auto;left:auto;bottom:8px;right:1px}
.ns-mini-warm{display:flex;gap:17px;margin-top:12px;align-items:center}
.ns-mini-warm>em{font-size:23px;line-height:1.15;color:var(--ns-ac);font-weight:350;letter-spacing:-1px;padding-right:12px;border-right:1px solid var(--ns-rule)}
.ns-mini-warm>em span{font-size:15px;opacity:.5}
.ns-art-warm .ns-mini-mast{border-bottom-color:var(--ns-ac)}
.ns-details{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.ns-details summary{cursor:pointer;font-weight:550;font-size:13px;padding:2px 0 14px}
.ns-accent{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ns-accent>input[type=color]{width:48px;padding:3px;height:34px}
.ns-accent>label{font-size:12px;display:flex;align-items:center;gap:6px}
.ns-saved{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ns-save-row{display:flex;align-items:flex-end;gap:10px;width:100%}
.ns-save-row .grow{min-width:0;flex:1}
.ns-saved>.hint{display:block;font-size:11.5px;flex-basis:100%;margin:0}
#nsError{font-size:12px;line-height:1.6}#nsError[hidden]{display:none}
/* A neutral canvas frame keeps attention on the actual preview. */
.nb-phone{border-radius:8px;padding:1px;background:var(--line-2);box-shadow:none}
.nb-screen{border-radius:7px}
.nb-pv-load{inset:1px;border-radius:7px}
.nb-pv-sec{padding:16px}
.modal .box.nb-preview-modal{max-height:calc(100dvh - 32px)}
.nb-preview-modal .nb-big{grid-template-columns:minmax(0,min(460px,58%,calc((100dvh - 174px) * var(--nb-preview-ratio)))) minmax(200px,1fr);gap:24px}
.nb-preview-modal .nb-phone.big{width:100%}
.nb-preview-modal .nb-big-side{max-height:calc(100dvh - 174px);overflow:auto;padding-right:4px}
@media(max-width:680px){.nb-preview-modal .nb-big{grid-template-columns:1fr}.nb-preview-modal .nb-phone.big{width:min(100%,calc((100dvh - 220px) * var(--nb-preview-ratio)));justify-self:center}.nb-preview-modal .nb-scenes.col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nb-preview-modal .nb-scenes.col button{font-size:11px;padding:5px}.nb-preview-modal .nb-big-side{max-height:none}}
.ns-art-swiss{gap:2px}
.ns-sw-mast{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ns-rule);padding-bottom:4px;margin-bottom:5px}
.ns-sw-mast b{color:var(--ns-ac);font-size:12px;font-weight:800}
.ns-sw-mast small{font:7px ui-monospace,Menlo,monospace;color:var(--ns-muted);letter-spacing:.5px}
.ns-sw-date{font:8px ui-monospace,Menlo,monospace;color:var(--ns-muted);letter-spacing:1px}
.ns-sw-day{font-size:clamp(22px,17cqi,34px);font-weight:900;letter-spacing:-1.5px;line-height:1}
.ns-sw-title{font-size:12px;font-weight:800}
.ns-sw-card{position:absolute;right:16px;top:36px;width:19%;aspect-ratio:1;border-radius:22%;background:#fff;transform:rotate(7deg);box-shadow:0 6px 12px -6px rgba(0,0,0,.35);display:grid;place-items:center}
.ns-sw-card i{width:38%;aspect-ratio:1;border:2px solid var(--ns-ac);border-radius:28%}
.ns-sw-list{margin-top:auto;border-top:1px solid var(--ns-rule);padding-top:5px;display:grid;gap:4px}
.ns-sw-list i{height:5px;width:78%;background:var(--ns-fg);border-radius:1px}
.ns-sw-list i.short{width:56%}
@media(max-width:600px){.ns-presets{gap:10px}.ns-swatch{padding:11px}.ns-preset-copy{padding:9px 4px}.ns-preset-copy>small{font-size:10px}.ns-save-row{align-items:stretch;flex-direction:column}.ns-scope>label:first-child{width:100%}.ns-mini-mast>span{display:none}}
@media(max-width:410px){.ns-presets{grid-template-columns:1fr}.ns-swatch{aspect-ratio:1.8}.ns-mini-mast>span{display:block}}
/* Visual-led preset miniatures mirror the native news graphics. */
.ns-mini-feature{display:flex;align-items:center;position:relative;flex:1;min-height:0;margin-top:7px}
.ns-mini-feature>span{width:51%;position:relative;z-index:1}
.ns-mini-feature strong{font-size:clamp(12px,7.3cqw,19px);line-height:1.5}
.ns-mini-feature .ns-mini-rule{width:60%;height:1px;margin-top:7px}
.ns-mini-graphic{position:absolute;right:-5%;top:-2%;width:57%;height:110%;stroke:var(--ns-ac);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ns-v-solid{fill:var(--ns-ac);stroke:none}.ns-v-soft{fill:color-mix(in srgb,var(--ns-ac) 16%,var(--ns-bg))}.ns-v-mid{fill:color-mix(in srgb,var(--ns-ac) 50%,var(--ns-bg));stroke:none}
.ns-v-paper{fill:var(--ns-bg)}.ns-v-light{stroke:var(--ns-bg)}.ns-v-shadow{fill:var(--ns-ac);stroke:none;opacity:.12}
.ns-art-notebook .ns-mini-feature strong{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:600}

/* 主按钮常驻右栏底部（AI 早报页右栏是滚动容器） */
.wizard.nb-wide > aside.summary .nb-go-bar { position: sticky; bottom: 0; z-index: 3; padding: 12px 0 2px; background: linear-gradient(to bottom, transparent, var(--bg) 14px); }
.wizard.nb-wide > aside.summary .nb-go-bar .actions { margin: 0; }
.wizard.nb-wide > aside.summary .nb-go-bar #sdGo { min-height: 42px; font-size: 15px; box-shadow: 0 6px 18px color-mix(in srgb, var(--accent) 28%, transparent); }
#nbSched > .hint { margin: 0 0 12px; }
.nb-autos { display: grid; gap: 8px; margin-bottom: 12px; }
.nb-auto { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; color: inherit; text-decoration: none; }
.nb-auto:hover { border-color: var(--accent-2); }
@media (max-width: 900px) { .wizard.nb-wide > aside.summary .nb-go-bar { position: sticky; bottom: 0; } }

/* 风格缩略图：对应每个风格的竖版封面结构（editions.js / editions.css） */
.ns-swatch>[class^=ns-e-]{display:flex;flex-direction:column;gap:5px;height:100%;min-height:0}
.ns-e-name{font-size:clamp(13px,10cqw,24px);line-height:1.15;font-weight:800;letter-spacing:-.5px}
.ns-l{display:grid;gap:4px;margin-top:auto}.ns-l i{display:block;height:3px;border-radius:1px;background:var(--ns-rule)}.ns-l i:nth-child(2n){width:72%}
.ns-e-date{font-size:clamp(16px,15cqw,34px);line-height:1;font-weight:850;letter-spacing:-1px;border-bottom:1.5px solid var(--ns-fg);padding-bottom:3px}.ns-e-date i{font-style:normal;color:var(--ns-ac)}
.ns-e-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;height:24%}.ns-e-cards i{border:1px solid var(--ns-rule);border-radius:3px;background:color-mix(in srgb,var(--ns-ac) 14%,#fff)}
.ns-e-count{display:flex;align-items:baseline;gap:4px;color:var(--ns-ac)}.ns-e-count em{font-style:normal;font-size:clamp(20px,20cqw,46px);line-height:.95;font-weight:900;letter-spacing:-2px}.ns-e-count small{font-size:7px;color:var(--ns-ac);margin:0}
.ns-e-bar{height:2px;background:var(--ns-ac)}
.ns-e-gr .ns-l i{background:color-mix(in srgb,var(--ns-fg) 22%,transparent)}.ns-e-gr .ns-l i:before{content:"";display:block;width:8px;height:3px;background:var(--ns-ac)}
.ns-e-nb{align-items:center;text-align:center}.ns-e-nb .ns-e-name{font-family:"Songti SC","Noto Serif CJK SC",serif;letter-spacing:2px}
.ns-e-rule{align-self:stretch;height:4px;border-block:1px solid var(--ns-fg)}
.ns-e-plate{flex:1;align-self:stretch;margin:0 14%;border:1px solid var(--ns-fg);padding:3px;display:flex}.ns-e-plate i{flex:1;background:color-mix(in srgb,var(--ns-ac) 18%,var(--ns-bg))}
.ns-e-nb .ns-l{align-self:stretch;margin-top:0}
.ns-e-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.ns-e-stats i{font-style:normal;font-size:clamp(9px,7cqw,15px);font-weight:800;color:var(--ns-ac);border:1px solid var(--ns-rule);padding:1px 4px;line-height:1.3}
.ns-e-panel{flex:1;position:relative;border:1px solid var(--ns-ac);background:color-mix(in srgb,var(--ns-ac) 10%,var(--ns-bg))}
.ns-e-panel i{position:absolute;inset:-2px;background:linear-gradient(var(--ns-ac),var(--ns-ac)) 0 0/8px 2px,linear-gradient(var(--ns-ac),var(--ns-ac)) 0 0/2px 8px,linear-gradient(var(--ns-ac),var(--ns-ac)) 100% 100%/8px 2px,linear-gradient(var(--ns-ac),var(--ns-ac)) 100% 100%/2px 8px;background-repeat:no-repeat}
.ns-e-mi .ns-e-head{display:flex;gap:4px}.ns-e-mi .ns-e-name{flex:1;background:color-mix(in srgb,#fff 60%,var(--ns-bg));border-radius:9px;padding:5px 7px}
.ns-e-mi .ns-e-head em{font-style:normal;background:var(--ns-ac);color:#fff;border-radius:9px;padding:0 6px;display:grid;place-items:center;font-weight:700;font-size:clamp(11px,9cqw,20px)}
.ns-e-lead{flex:1;border-radius:11px;background:color-mix(in srgb,var(--ns-ac) 20%,var(--ns-bg))}
.ns-e-pills{display:grid;grid-template-columns:1fr 1fr;gap:3px}.ns-e-pills i{height:7px;border-radius:5px;background:color-mix(in srgb,#fff 60%,var(--ns-bg))}
.ns-e-wa{gap:3px}.ns-e-wa .ns-e-name{font-family:"Songti SC","Noto Serif CJK SC",serif;font-weight:900;text-align:center;border-top:3px solid var(--ns-fg);padding-top:2px;letter-spacing:2px}
/* 证据片：档案卡 —— 报头 + 浅红头条卡（左文右图标）+ 两张出处小卡 + 带编号的列表 */
.ns-e-ev{gap:4px}.ns-e-ev .ns-e-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1.5px solid var(--ns-ac);padding-bottom:3px}.ns-e-ev .ns-e-head small{font-size:clamp(7px,5cqw,11px);font-weight:700;color:var(--ns-fg)}
.ns-e-ev .ns-e-lead{flex:1;display:flex;gap:6px;align-items:center;padding:5px 7px;border-radius:3px;background:color-mix(in srgb,var(--ns-ac) 16%,var(--ns-bg))}.ns-e-ev .ns-e-lead span{flex:1;display:grid;gap:4px}.ns-e-ev .ns-e-lead i{height:4px;background:var(--ns-fg);border-radius:1px}.ns-e-ev .ns-e-lead i.short{width:60%;background:var(--ns-ac)}.ns-e-ev .ns-e-lead em{width:17%;aspect-ratio:1;border-radius:50%;border:2px solid var(--ns-ac);background:color-mix(in srgb,var(--ns-ac) 30%,var(--ns-bg))}
.ns-e-docs{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:16%}.ns-e-docs i{border:1px solid var(--ns-rule);border-left:3px solid var(--ns-ac);background:color-mix(in srgb,#fff 55%,var(--ns-bg))}
.ns-e-ev .ns-l{margin-top:0}.ns-e-ev .ns-l i:before{content:"";display:block;width:6px;height:3px;background:var(--ns-ac)}
.ns-e-dl{height:4px;border-block:1px solid var(--ns-fg)}
.ns-e-hl{height:22%;background:linear-gradient(var(--ns-fg),var(--ns-fg)) 0 15%/80% 4px no-repeat,linear-gradient(var(--ns-ac),var(--ns-ac)) 0 70%/40% 6px no-repeat}
.ns-e-cols{flex:1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5px solid var(--ns-fg)}.ns-e-cols i{border-left:1px solid var(--ns-rule);background:repeating-linear-gradient(var(--ns-rule) 0 2px,transparent 2px 7px);margin:4px 0 0;background-clip:content-box;padding:0 4px}.ns-e-cols i:first-child{border-left:0;padding-left:0}
