/**
 * 制作台 · 标准轨 / 原小说阅读壳（P-css-i：从 shot-layout 切出）
 */

/* —— 标准（按画风轨） —— */
.igs-std-top {
  display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: flex-start;
  justify-content: space-between; margin-bottom: 0.75rem;
}
.igs-std-styles { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.igs-std-style {
  border: 1px solid var(--igs-line); background: #fff; border-radius: 0.65rem;
  padding: 0.55rem 0.75rem; cursor: pointer; text-align: left; min-width: 10rem;
  font: inherit;
}
.igs-std-style.active {
  border-color: var(--igs-accent); background: rgba(47,107,90,0.08);
  box-shadow: 0 0 0 2px rgba(47,107,90,0.15);
}
.igs-std-style b { display: block; font-size: 0.9rem; }
.igs-std-style small { color: var(--igs-muted); font-size: 0.72rem; }
.igs-std-style .st {
  display: inline-block; margin-top: 0.25rem; font-size: 0.68rem; padding: 0.1rem 0.35rem;
  border-radius: 999px; background: #eee8dc;
}
.igs-std-style .st.ready { background: #d8efe4; color: #1b5c40; }
.igs-std-style .st.partial { background: #f5e6c8; color: #7a4e10; }
.igs-std-style .st.draft { background: #d5f5f0; color: #0f5c55; }
.igs-std-flow {
  display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center;
  padding: 0.55rem 0.7rem; border-radius: 0.65rem; background: #f3efe4;
  border: 1px solid var(--igs-line); margin-bottom: 0.75rem; font-size: 0.8rem;
}
.igs-std-flow .step {
  display: inline-flex; align-items: center; gap: 0.25rem;
  padding: 0.2rem 0.45rem; border-radius: 0.4rem; background: #fff; border: 1px solid var(--igs-line);
}
.igs-std-flow .arrow { color: var(--igs-muted); }
.igs-std-layout {
  display: grid; grid-template-columns: 300px 1fr; gap: 0.85rem; min-height: 68vh; align-items: stretch;
}
.igs-std-studio .igs-nv-studio__stage {
  overflow: auto;
  min-height: 0;
}
.igs-std-studio .igs-std-page {
  padding: clamp(0.45rem, 1.1vh, 0.85rem) clamp(0.55rem, 1.4vw, 1rem);
  box-sizing: border-box;
  min-height: 100%;
}
.igs-std-studio.is-ai-open .igs-std-layout {
  min-height: min(68vh, calc(100vh - 12rem));
}
@media (max-width: 980px) { .igs-std-layout { grid-template-columns: 1fr; } }
.igs-std-nav { max-height: 74vh; overflow: auto; }
.igs-std-nav-tools {
  display: flex; align-items: center; justify-content: space-between; gap: 0.4rem;
  margin: 0 0 0.55rem; padding-bottom: 0.4rem; border-bottom: 1px solid var(--igs-line);
}
.igs-std-nav-tools .igs-btn-ghost { font-size: 0.78rem; padding: 0.25rem 0.5rem; }
.igs-std-pin-count { font-size: 0.72rem; color: var(--igs-muted); }
.igs-std-layer { margin-bottom: 0.85rem; }
.igs-std-layer h4 {
  margin: 0 0 0.25rem; font-size: 0.88rem; color: #1f2a24;
}
.igs-std-layer .blurb { font-size: 0.72rem; color: var(--igs-muted); margin-bottom: 0.35rem; }
.igs-std-pins-layer h4 { color: #9a4a1c; }
.igs-std-doc-row {
  display: grid; grid-template-columns: 1fr auto; gap: 0.25rem; align-items: stretch;
  margin-bottom: 0.25rem;
}
.igs-std-doc-row.is-pinned .igs-std-doc {
  background: rgba(196,92,40,0.06); border-color: rgba(196,92,40,0.22);
}
.igs-std-doc {
  display: block; width: 100%; text-align: left; border: 1px solid transparent;
  background: transparent; padding: 0.45rem 0.5rem; border-radius: 0.45rem;
  cursor: pointer; font: inherit; margin-bottom: 0;
}
.igs-std-doc:hover { background: rgba(47,107,90,0.07); }
.igs-std-doc.active {
  background: rgba(196,92,40,0.08); border-color: rgba(196,92,40,0.35);
}
.igs-std-doc-title { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem; }
.igs-std-doc .when { display: block; font-size: 0.7rem; color: var(--igs-muted); margin-top: 0.12rem; }
.igs-std-mtime { display: block; font-size: 0.66rem; color: #7a8a80; margin-top: 0.08rem; }
.igs-std-doc .miss { color: #a33; font-size: 0.68rem; }
.igs-std-hot {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.05rem 0.3rem;
  font-size: 0.62rem;
  font-weight: 600;
  color: #fff;
  background: #c45c28;
  border-radius: 999px;
  vertical-align: middle;
}
.igs-std-scope {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.05rem 0.35rem;
  font-size: 0.62rem;
  font-weight: 600;
  border-radius: 3px;
  vertical-align: middle;
}
.igs-std-scope--platform {
  color: #0f4c3a;
  background: #d8efe6;
}
.igs-std-scope--ip {
  color: #5c3d12;
  background: #f0e0c8;
}
.igs-std-tax {
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid #e0d4c0;
  border-radius: 8px;
  background: #faf6ef;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #3a3228;
}
.igs-std-tax p { margin: 0.2rem 0; }
.igs-std-scope-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0 0 0.75rem;
}
.igs-std-scope-btn {
  border: 1px solid #d4c8b4;
  background: #fff;
  color: #3a3228;
  border-radius: 999px;
  padding: 0.28rem 0.75rem;
  font-size: 0.78rem;
  cursor: pointer;
}
.igs-std-scope-btn.on {
  border-color: var(--igs-accent);
  background: var(--igs-accent);
  color: #fff;
}
.igs-pl-scope {
  display: inline-block;
  margin-left: 0.25rem;
  padding: 0.02rem 0.3rem;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 3px;
  vertical-align: middle;
}
.igs-pl-scope--platform {
  color: #0f4c3a;
  background: #d8efe6;
}
.igs-pl-scope--ip {
  color: #5c3d12;
  background: #f0e0c8;
}
.igs-pl-std-rail {
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid #e0d4c0;
  border-radius: 8px;
  background: #f7f3eb;
}
.igs-pl-std-rail--collapsed {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.85rem;
}
.igs-pl-std-rail header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}
.igs-pl-std-rail header strong { font-size: 0.9rem; }
.igs-std-pin-badge {
  display: inline-block; font-size: 0.62rem; padding: 0.05rem 0.3rem; border-radius: 999px;
  background: #efe0d0; color: #8a4a1c; margin-left: 0.15rem; vertical-align: middle;
}
.igs-std-pin-btn {
  border: 1px solid var(--igs-line); background: #fffcf6; color: #5a6a60;
  border-radius: 0.4rem; font: inherit; font-size: 0.68rem; padding: 0.2rem 0.4rem;
  cursor: pointer; align-self: center; min-width: 2.4rem; line-height: 1.2;
}
.igs-std-pin-btn:hover { border-color: #c45c28; color: #c45c28; }
.igs-std-pin-btn.on {
  background: rgba(196,92,40,0.12); border-color: rgba(196,92,40,0.45); color: #9a4a1c;
}
.igs-std-reader {
  border: 1px solid var(--igs-line); border-radius: 0.85rem; background: #fffcf6;
  max-height: 74vh; overflow: auto; padding: 1rem 1.25rem;
  --igs-std-fs: 1;
}
.igs-std-reader .path {
  font-size: 0.72rem; color: var(--igs-muted); word-break: break-all; margin: 0.35rem 0 0.75rem;
}
.igs-std-fs {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0.12rem;
  border: 1px solid var(--igs-line);
  border-radius: 0.5rem;
  background: #fff;
}
.igs-std-fs--sm {
  padding: 0.08rem;
}
.igs-std-fs-btn,
.igs-std-fs-label {
  border: none;
  background: transparent;
  border-radius: 0.35rem;
  padding: 0.28rem 0.45rem;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  color: var(--igs-ink);
  line-height: 1;
}
.igs-std-fs-btn:hover,
.igs-std-fs-label:hover {
  background: rgba(47, 107, 90, 0.1);
}
.igs-std-fs-label,
.igs-std-fs-pct {
  min-width: 2.6rem;
  text-align: center;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--igs-accent);
  font-variant-numeric: tabular-nums;
}
.igs-std-fs-pct {
  padding: 0 0.2rem;
  display: inline-block;
}
.igs-md { font-size: 0.92rem; line-height: 1.7; color: var(--igs-ink); }
.igs-std-reader .igs-md {
  font-size: calc(0.92rem * var(--igs-std-fs, 1));
  line-height: calc(1.7 + 0.05 * (var(--igs-std-fs, 1) - 1));
}
.igs-md h1, .igs-md h2, .igs-md h3, .igs-md h4 {
  font-family: "Noto Serif SC", serif; color: var(--igs-ink); margin: 1.1rem 0 0.45rem; line-height: 1.35;
}
.igs-md h1 { font-size: 1.35rem; }
.igs-md h2 { font-size: 1.15rem; border-bottom: 1px solid var(--igs-line); padding-bottom: 0.25rem; }
.igs-md h3 { font-size: 1.02rem; }
.igs-std-reader .igs-md h1 { font-size: calc(1.35rem * var(--igs-std-fs, 1)); }
.igs-std-reader .igs-md h2 { font-size: calc(1.15rem * var(--igs-std-fs, 1)); }
.igs-std-reader .igs-md h3 { font-size: calc(1.02rem * var(--igs-std-fs, 1)); }
.igs-std-reader .igs-md h4 { font-size: calc(0.98rem * var(--igs-std-fs, 1)); }
.igs-std-reader .igs-md pre { font-size: calc(0.8rem * var(--igs-std-fs, 1)); }
.igs-std-reader .igs-md table { font-size: calc(0.82rem * var(--igs-std-fs, 1)); }
.igs-md p { margin: 0.45rem 0; }
.igs-md ul, .igs-md ol { margin: 0.35rem 0 0.55rem 1.2rem; }
.igs-md code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.84em;
  background: color-mix(in srgb, var(--igs-mist) 45%, var(--igs-elev)); padding: 0.05rem 0.28rem; border-radius: 0.25rem;
}
.igs-md pre {
  background: color-mix(in srgb, var(--igs-ink) 88%, var(--igs-paper)); color: var(--igs-paper); padding: 0.75rem 0.9rem; border-radius: 0.5rem;
  overflow: auto; font-size: 0.8rem; line-height: 1.5;
}
.igs-md pre code { background: transparent; color: inherit; padding: 0; }
.igs-md blockquote {
  margin: 0.5rem 0; padding: 0.35rem 0.75rem; border-left: 3px solid var(--igs-accent);
  background: color-mix(in srgb, var(--igs-accent) 8%, transparent); color: var(--igs-muted);
}
.igs-md table { border-collapse: collapse; width: 100%; font-size: 0.82rem; margin: 0.55rem 0; }
.igs-md th, .igs-md td { border: 1px solid var(--igs-line); padding: 0.35rem 0.45rem; text-align: left; }
.igs-md th { background: #f0ebe0; }
.igs-md a { color: #2f6b5a; }

/* —— 原小说 —— */
.igs-novel-page {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.igs-nv-reader-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}
.igs-novel-layout {
  display: grid; grid-template-columns: 240px 1fr; gap: 0.85rem; min-height: 70vh; align-items: stretch;
}
.igs-novel-layout--cards {
  grid-template-columns: minmax(260px, 340px) 1fr;
}
.igs-novel-layout--cards:not(.has-reader) {
  grid-template-columns: 1fr;
}
.igs-novel-layout--cards:not(.has-reader) .igs-novel-reader {
  display: none;
}
@media (max-width: 900px) {
  .igs-novel-layout,
  .igs-novel-layout--cards,
  .igs-novel-layout--cards.has-reader {
    grid-template-columns: 1fr;
  }
}
.igs-novel-nav { max-height: 78vh; overflow: auto; overscroll-behavior: contain; }
.igs-novel-nav button {
  display: block; width: 100%; text-align: left; border: 0; background: transparent;
  padding: 0.55rem 0.65rem; border-radius: 0.45rem; cursor: pointer; font: inherit;
  border-left: 3px solid transparent;
}
.igs-novel-nav button:hover { background: rgba(47,107,90,0.08); }
.igs-novel-nav button.active {
  background: rgba(47,107,90,0.12); border-left-color: var(--igs-accent); font-weight: 700;
}
.igs-novel-nav .ep-tag {
  display: inline-block; margin-top: 0.15rem; font-size: 0.72rem; color: var(--igs-muted);
}
.igs-novel-reader {
  background: linear-gradient(
    180deg,
    var(--igs-elev) 0%,
    color-mix(in srgb, var(--igs-card) 50%, var(--igs-paper)) 55%,
    color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) 100%
  );
  color: var(--igs-ink);
  border: 1px solid var(--igs-line); border-radius: 0.85rem; padding: 1.25rem 1.5rem;
  max-height: 78vh; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.igs-novel-reader h2 {
  font-family: "Noto Serif SC", serif; font-size: 1.45rem; margin: 0 0 0.35rem;
  color: var(--igs-ink);
}
.igs-novel-reader-head {
  display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: space-between; align-items: flex-start;
}
.igs-novel-reader-head.is-write-desk {
  align-items: center;
  gap: 0.4rem 0.65rem;
  margin-bottom: 0.35rem;
}
.igs-novel-reader-head.is-write-desk h2 {
  font-size: 1.2rem;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}
.igs-novel-reader-head.is-write-desk .igs-novel-reader-head__actions {
  gap: 0.25rem;
}
.igs-novel-reader-head.is-write-desk .is-ico-lab {
  padding: 0.28rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 650;
  border-radius: 0.4rem;
  white-space: nowrap;
}
.igs-novel-reader-head__actions {
  display: flex; flex-wrap: wrap; gap: 0.35rem; align-items: center;
}
/* 正文顶栏 · 知识地图 / 概览 / 本章设定（固定于标题下、正文上） */
.igs-nv-read-know-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  margin: 0 0 0.65rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--igs-accent) 7%, var(--igs-elev)), var(--igs-elev));
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
}
.igs-nv-read-know-top.is-stale {
  border-color: color-mix(in srgb, #d4824a 42%, var(--igs-line));
  background: linear-gradient(135deg, #fff8f2, var(--igs-elev));
}
.igs-nv-read-know-top.is-missing {
  border-style: dashed;
}
.igs-nv-read-know-top__brand {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex: 0 0 auto;
  min-width: 0;
  appearance: none;
  border: none;
  background: transparent;
  padding: 0.15rem 0.35rem;
  margin: -0.15rem -0.35rem;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
}
.igs-nv-read-know-top__brand:hover {
  background: color-mix(in srgb, var(--igs-accent) 10%, transparent);
}
.igs-nv-read-know-top__meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  flex: 0 1 auto;
  align-items: center;
  max-width: 100%;
}
.igs-nv-read-know-top__chip {
  font-size: 0.68rem;
  font-weight: 650;
  padding: 0.12rem 0.42rem;
  border-radius: 999px;
  border: 1px solid var(--igs-line);
  background: #fffdf8;
  color: var(--igs-muted);
  white-space: nowrap;
}
.igs-nv-read-know-top__chip.is-body-ver {
  appearance: none;
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 750;
  border-color: color-mix(in srgb, var(--igs-accent) 40%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 10%, #fff);
  color: var(--igs-ink);
}
.igs-nv-read-know-top__chip.is-body-ver.is-dirty {
  border-color: color-mix(in srgb, #d4824a 45%, var(--igs-line));
  background: #fff8f2;
  color: #a3471f;
}
.igs-nv-read-know-top__chip.is-arc {
  border-color: color-mix(in srgb, #4a7cff 35%, var(--igs-line));
  background: color-mix(in srgb, #4a7cff 8%, #fff);
  color: #2a4a8a;
}
.igs-nv-read-know-top__map {
  font-size: 1rem;
  line-height: 1;
}
.igs-nv-read-know-top__title {
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: var(--igs-ink);
}
.igs-nv-read-know-top__st {
  font-size: 0.68rem;
  padding: 0.1rem 0.38rem;
  border-radius: 999px;
  font-weight: 700;
}
.igs-nv-read-know-top__st.is-ok { background: #e8f5ee; color: #2d6a4a; }
.igs-nv-read-know-top__st.is-stale { background: #fff3eb; color: #a3471f; }
.igs-nv-read-know-top__st.is-missing { background: #f0eeea; color: #666; }
.igs-nv-read-know-top__ver {
  font-style: normal;
  font-size: 0.68rem;
  color: var(--igs-muted);
}
.igs-nv-read-know-top__tabs {
  display: flex;
  flex: 1 1 auto;
  gap: 0.35rem;
  min-width: 0;
}
.igs-nv-read-know-tab {
  appearance: none;
  border: 1px solid var(--igs-line);
  border-radius: 999px;
  background: #fffdf8;
  color: var(--igs-muted);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.32rem 0.72rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.igs-nv-read-know-tab:hover {
  border-color: color-mix(in srgb, var(--igs-accent) 35%, var(--igs-line));
  color: var(--igs-ink);
}
.igs-nv-read-know-tab.is-on.is-read {
  border-color: color-mix(in srgb, #2d6a4a 45%, var(--igs-line));
  background: #e8f5ee;
  color: #1f4d32;
  box-shadow: 0 1px 4px color-mix(in srgb, var(--igs-accent) 12%, transparent);
}
.igs-nv-read-know-tab.is-on.is-plan {
  border-color: color-mix(in srgb, #a65c2e 45%, var(--igs-line));
  background: #fff4e8;
  color: #7a4218;
  box-shadow: 0 1px 4px rgba(166,92,46,0.12);
}
.igs-nv-read-know-tab.is-on.is-va {
  border-color: color-mix(in srgb, #5b6a9e 45%, var(--igs-line));
  background: #eef1fb;
  color: #33406e;
  box-shadow: 0 1px 4px rgba(91,106,158,0.12);
}
.igs-nv-va-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.65rem;
  padding: 0.35rem 0.15rem 0.5rem;
}
.igs-nv-va-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--igs-line, #ddd2c2);
  border-radius: 10px;
  background: #fffdf8;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.igs-nv-va-card:hover {
  border-color: color-mix(in srgb, #5b6a9e 40%, var(--igs-line, #ddd2c2));
  box-shadow: 0 2px 10px rgba(42,36,28,0.08);
}
.igs-nv-va-card img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  background: #f0ebe3;
}
.igs-nv-va-card__ph {
  display: grid;
  place-items: center;
  aspect-ratio: 3 / 2;
  background: #f0ebe3;
  color: #8a7d6c;
  font-size: 0.8rem;
}
.igs-nv-va-card__lab {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0 0.55rem 0.55rem;
  font-size: 0.78rem;
  color: #4a4034;
}
.igs-nv-va-card__lab em {
  font-style: normal;
  font-weight: 700;
  color: #5b6a9e;
}
.igs-nv-va-hint { margin: 0.15rem 0.25rem 0.4rem; }
.igs-nv-know-empty__col.is-va {
  border-color: color-mix(in srgb, #5b6a9e 30%, var(--igs-line, #ddd2c2));
}
.igs-nv-va-lightbox {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: grid;
  place-items: center;
}
.igs-nv-va-lightbox__mask {
  position: absolute;
  inset: 0;
  background: rgba(20,16,12,0.55);
}
.igs-nv-va-lightbox__panel {
  position: relative;
  z-index: 1;
  width: min(920px, 94vw);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.85rem;
  border-radius: 14px;
  background: #fffdf8;
  box-shadow: 0 18px 48px rgba(0,0,0,0.28);
}
.igs-nv-va-lightbox__panel header,
.igs-nv-va-lightbox__panel footer {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.igs-nv-va-lightbox__panel header strong { flex: 1; }
.igs-nv-va-lightbox__panel img {
  width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border-radius: 8px;
  background: #f7f2e8;
}
.igs-nv-read-know-tab__ico {
  font-size: 0.92rem;
  line-height: 1;
}
.igs-ws-va-strip {
  margin: 0.35rem 0 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in srgb, #5b6a9e 28%, var(--igs-line, #ddd2c2));
  border-radius: 12px;
  background: color-mix(in srgb, #eef1fb 55%, #fffdf8);
}
.igs-ws-va-strip.is-empty,
.igs-ws-va-strip.is-busy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
}
.igs-ws-va-strip__hd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  margin-bottom: 0.45rem;
}
.igs-ws-va-strip__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 0.5rem;
}
.igs-ws-va-strip__card {
  margin: 0;
  padding: 0;
  border: 1px solid var(--igs-line, #ddd2c2);
  border-radius: 8px;
  background: #fffdf8;
  overflow: hidden;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.igs-ws-va-strip__card img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}
.igs-ws-va-strip__card .ph {
  display: grid;
  place-items: center;
  aspect-ratio: 3 / 2;
  background: #f0ebe3;
  color: #8a7d6c;
  font-size: 0.75rem;
}
.igs-ws-va-strip__card em {
  display: block;
  padding: 0.3rem 0.45rem 0.45rem;
  font-style: normal;
  font-size: 0.72rem;
  color: #33406e;
}
.igs-nv-read-know-top__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  align-items: center;
  flex: 0 0 auto;
}
.igs-nv-read-know-top__acts .igs-btn,
.igs-nv-read-know-top__acts .igs-btn-ghost {
  font-size: 0.74rem;
  padding: 0.28rem 0.55rem;
}
.igs-nv-read-know-top__busy {
  font-size: 0.72rem;
}
.igs-novel-meta { font-size: 0.8rem; color: var(--igs-muted); margin-bottom: 1rem; }
.igs-novel-body {
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: calc(1.05rem * var(--igs-std-fs, 1));
  line-height: calc(1.95 + 0.08 * (var(--igs-std-fs, 1) - 1));
  white-space: pre-wrap; color: var(--igs-ink); letter-spacing: 0.02em;
  padding-bottom: 1.25rem;
}
.igs-nv-ch-overview {
  margin: 0 0 0.85rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 6%, var(--igs-elev));
  font-size: 0.88rem;
}
.igs-nv-ch-overview > summary {
  cursor: pointer;
  font-weight: 650;
  list-style: none;
}
.igs-nv-ch-overview > summary::-webkit-details-marker { display: none; }
.igs-nv-ch-overview__brief {
  margin: 0.45rem 0 0.35rem;
  line-height: 1.65;
  color: var(--igs-ink);
  max-height: 12em;
  overflow: auto;
}
.igs-nv-ch-overview__beats {
  margin: 0.25rem 0 0.5rem 1.1rem;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--igs-muted);
}
.igs-nv-ch-know-rich {
  font-size: 0.86rem;
  line-height: 1.62;
  color: var(--igs-ink);
}
.igs-nv-ch-know-rich .igs-nv-ch-know-h {
  margin: 0.65rem 0 0.35rem;
  font-family: "Noto Serif SC", serif;
  color: var(--igs-ink);
}
.igs-nv-ch-know-rich .igs-nv-ch-know-h:first-child { margin-top: 0; }
.igs-nv-ch-know-quote {
  margin: 0.35rem 0;
  padding: 0.35rem 0.55rem;
  border-left: 3px solid color-mix(in srgb, var(--igs-accent) 45%, var(--igs-line));
  color: var(--igs-muted);
  font-size: 0.82rem;
}
.igs-nv-ch-know-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.35rem 0 0.65rem;
  font-size: 0.8rem;
}
.igs-nv-ch-know-table td {
  border: 1px solid var(--igs-line);
  padding: 0.35rem 0.45rem;
  vertical-align: top;
}
.igs-nv-ch-know-p, .igs-nv-ch-know-li {
  margin: 0.25rem 0;
}
.igs-nv-ch-overview__badge,
.igs-nv-ch-overview__ver {
  font-style: normal;
  font-weight: 500;
  font-size: 0.78rem;
  color: var(--igs-muted);
  margin-left: 0.35rem;
}
.igs-nv-ch-overview__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}
/* ── 章节地图 · 双 Tab 停靠区 ── */
.igs-nv-know-dock {
  margin: 0 0 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--igs-line);
  background: var(--igs-elev);
  overflow: hidden;
}
.igs-nv-know-dock.is-stale { border-color: color-mix(in srgb, #d4824a 45%, var(--igs-line)); }
.igs-nv-know-dock.is-missing { border-style: dashed; }
.igs-nv-know-dock__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem 0.65rem;
  padding: 0.45rem 0.65rem;
  border-bottom: 1px solid var(--igs-line);
  background: color-mix(in srgb, var(--igs-accent) 4%, var(--igs-elev));
}
.igs-nv-know-dock__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.igs-nv-know-dock__title {
  font-weight: 700;
  font-size: 0.88rem;
}
.igs-nv-know-dock__st {
  font-size: 0.72rem;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  font-weight: 600;
}
.igs-nv-know-dock__st.is-ok { background: #e8f5ee; color: #2d6a4a; }
.igs-nv-know-dock__st.is-stale { background: #fff3eb; color: #a3471f; }
.igs-nv-know-dock__st.is-missing { background: #f0eeea; color: #666; }
.igs-nv-know-dock__ver {
  font-style: normal;
  font-size: 0.72rem;
  color: var(--igs-muted);
}
.igs-nv-know-dock__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.igs-nv-know-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-bottom: 1px solid var(--igs-line);
}
.igs-nv-know-tabs.is-modal { margin: 0; }
.igs-nv-know-tab {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.65rem;
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font: inherit;
  color: var(--igs-muted);
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.igs-nv-know-tab.is-read.is-on {
  background: color-mix(in srgb, #4a7cff 8%, var(--igs-elev));
  border-bottom-color: #4a7cff;
  color: var(--igs-ink);
}
.igs-nv-know-tab.is-plan.is-on {
  background: color-mix(in srgb, #c45a2a 8%, var(--igs-elev));
  border-bottom-color: #c45a2a;
  color: var(--igs-ink);
}
.igs-nv-know-tab__ico { font-size: 1.1rem; line-height: 1; }
.igs-nv-know-tab__body {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}
.igs-nv-know-tab__body strong { font-size: 0.82rem; font-weight: 700; }
.igs-nv-know-tab__body em {
  font-style: normal;
  font-size: 0.68rem;
  opacity: 0.75;
}
.igs-nv-know-panel {
  padding: 0.65rem 0.75rem 0.75rem;
  max-height: min(42vh, 520px);
  overflow: auto;
}
.igs-nv-know-panel.is-read {
  border-left: 4px solid color-mix(in srgb, #4a7cff 55%, transparent);
}
.igs-nv-know-panel.is-setting {
  border-left: 4px solid color-mix(in srgb, #c45a2a 55%, transparent);
}
.igs-nv-know-overview__brief {
  margin: 0 0 0.5rem;
  line-height: 1.68;
  font-size: 0.9rem;
  color: var(--igs-ink);
}
.igs-nv-know-beats {
  margin: 0.35rem 0 0.5rem 1.15rem;
  padding: 0;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--igs-muted);
}
.igs-nv-know-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin-top: 0.35rem;
}
.igs-nv-know-chip {
  font-size: 0.72rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  border: 1px solid var(--igs-line);
  background: var(--igs-surface, #fff);
}
.igs-nv-know-chip.is-cast { border-color: color-mix(in srgb, #4a7cff 35%, var(--igs-line)); }
.igs-nv-know-chip.is-loc { border-color: color-mix(in srgb, #6a9f7b 35%, var(--igs-line)); }
.igs-nv-know-empty__guide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}
.igs-nv-know-empty__col {
  padding: 0.55rem 0.65rem;
  border-radius: 8px;
  border: 1px dashed var(--igs-line);
  text-align: center;
}
.igs-nv-know-empty__col.is-read { background: color-mix(in srgb, #4a7cff 6%, var(--igs-elev)); }
.igs-nv-know-empty__col.is-plan { background: color-mix(in srgb, #c45a2a 6%, var(--igs-elev)); }
.igs-nv-know-empty__col strong { display: block; font-size: 0.82rem; margin: 0.2rem 0; }
.igs-nv-know-empty__col p { margin: 0; font-size: 0.72rem; color: var(--igs-muted); }
.igs-nv-know-empty__ico { font-size: 1.25rem; }
.igs-nv-know-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.45rem;
}
.igs-nv-know-card {
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  border: 1px solid var(--igs-line);
  background: var(--igs-surface, #fff);
}
.igs-nv-know-card h4 {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--igs-muted);
  text-transform: none;
}
.igs-nv-know-card p {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
}
.igs-nv-know-card.is-nail { border-left: 3px solid #c45a2a; }
.igs-nv-know-card.is-task { border-left: 3px solid #6a9f7b; }
.igs-nv-know-card.is-arc { border-left: 3px solid #4a7cff; grid-column: 1 / -1; }
.igs-nv-know-block { margin-top: 0.55rem; }
.igs-nv-know-block__lab {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--igs-muted);
}
.igs-nv-know-peaks {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.4rem;
}
.igs-nv-know-peak {
  padding: 0.45rem 0.5rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, #c45a2a 30%, var(--igs-line));
  background: color-mix(in srgb, #c45a2a 5%, var(--igs-surface, #fff));
}
.igs-nv-know-peak__idx {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  color: #a3471f;
  margin-right: 0.25rem;
}
.igs-nv-know-peak__role {
  display: block;
  font-size: 0.68rem;
  color: var(--igs-muted);
  margin: 0.1rem 0;
}
.igs-nv-know-peak p {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
}
.igs-nv-know-scenes,
.igs-nv-know-threads {
  margin: 0;
  padding: 0;
  list-style: none;
}
.igs-nv-know-scenes li,
.igs-nv-know-threads li {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--igs-line);
  font-size: 0.8rem;
}
.igs-nv-know-scenes li strong,
.igs-nv-know-threads li strong { min-width: 4.5em; }
.igs-nv-know-scenes li span,
.igs-nv-know-threads li span { color: var(--igs-muted); flex: 1; }
.igs-nv-know-md-fold {
  margin-top: 0.75rem;
  font-size: 0.78rem;
}
.igs-nv-know-md-fold > summary { cursor: pointer; color: var(--igs-muted); }
.igs-nv-ch-badge.is-arc {
  border-color: color-mix(in srgb, #4a7cff 40%, var(--igs-line));
  color: #3d5a99;
  background: color-mix(in srgb, #4a7cff 8%, var(--igs-elev));
}
.igs-nv-know-dock.is-collapsed .igs-nv-know-dock__head { border-bottom: none; }
.igs-nv-know-dock__fold { font-size: 0.72rem; }
.igs-nv-know-stats {
  display: flex; flex-wrap: wrap; gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-bottom: 1px solid var(--igs-line);
  background: color-mix(in srgb, var(--igs-elev) 40%, transparent);
}
.igs-nv-know-stat {
  display: inline-flex; align-items: baseline; gap: 0.25rem;
  padding: 0.12rem 0.45rem; border-radius: 999px;
  border: 1px solid var(--igs-line); font-size: 0.72rem;
  background: var(--igs-surface, #fff);
}
.igs-nv-know-stat em { font-style: normal; color: var(--igs-muted); }
.igs-nv-know-stat strong { font-weight: 750; }
.igs-nv-know-stat.has-val.is-beat { border-color: color-mix(in srgb, #4a7cff 30%, var(--igs-line)); }
.igs-nv-know-stat.has-val.is-peak { border-color: color-mix(in srgb, #c45a2a 30%, var(--igs-line)); }
.igs-nv-know-stale-banner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 0.4rem; padding: 0.45rem 0.75rem;
  background: color-mix(in srgb, #c45a2a 10%, #fff);
  border-bottom: 1px solid color-mix(in srgb, #c45a2a 25%, var(--igs-line));
  font-size: 0.78rem; color: #a3471f;
}
.igs-nv-know-stale-banner .igs-btn { font-size: 0.72rem; padding: 0.15rem 0.5rem; }
.igs-nv-know-skeleton { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.5rem; }
.igs-nv-know-skeleton span {
  height: 0.55rem; border-radius: 4px;
  background: linear-gradient(90deg, var(--igs-line) 25%, color-mix(in srgb, var(--igs-line) 50%, #fff) 50%, var(--igs-line) 75%);
  background-size: 200% 100%; animation: igs-nv-know-shimmer 1.2s ease infinite;
}
.igs-nv-know-skeleton span:nth-child(2) { width: 88%; }
.igs-nv-know-skeleton span:nth-child(3) { width: 62%; }
@keyframes igs-nv-know-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.igs-nv-know-modal-sheet.is-compact { padding: 0; }
.igs-nv-know-modal-sheet.is-compact .igs-nv-know-sec.is-compact { margin-bottom: 0.45rem; }
.igs-nv-know-hero.is-compact { margin-bottom: 0.55rem; padding: 0.6rem 0.7rem; }
.igs-nv-know-hero.is-compact .igs-nv-know-hero__lead {
  font-size: 0.88rem; line-height: 1.62; max-height: 6.5em; overflow: hidden;
}
.igs-nv-know-compact-more { margin: 0.45rem 0 0; text-align: center; }
.igs-nv-know-compact-more .igs-btn-ghost { font-size: 0.75rem; }
.igs-nv-know-cast-grid.is-compact { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
.igs-nv-know-place-grid.is-compact { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.igs-nv-ch-map-panel {
  margin: 0 0 0.65rem; padding: 0.55rem 0.65rem;
  border-radius: 10px; border: 1px solid var(--igs-line);
  background: color-mix(in srgb, var(--igs-accent) 4%, var(--igs-elev));
}
.igs-nv-ch-map-panel__top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 0.4rem; margin-bottom: 0.4rem;
}
.igs-nv-ch-map-panel__lab strong { display: block; font-size: 0.82rem; }
.igs-nv-ch-map-bar {
  display: flex; height: 6px; border-radius: 999px; overflow: hidden;
  background: var(--igs-line); margin-bottom: 0.45rem;
}
.igs-nv-ch-map-bar .is-ok { background: #3a9d6a; }
.igs-nv-ch-map-bar .is-stale { background: #c98a2e; }
.igs-nv-ch-map-bar .is-miss { background: color-mix(in srgb, var(--igs-muted) 60%, #ccc); }
.igs-nv-ch-map-filters { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-bottom: 0.35rem; }
.igs-nv-ch-map-filter {
  padding: 0.15rem 0.45rem; border-radius: 999px;
  border: 1px solid var(--igs-line); background: var(--igs-surface, #fff);
  font-size: 0.72rem; cursor: pointer;
}
.igs-nv-ch-map-filter.is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 45%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 10%, #fff); font-weight: 650;
}
.igs-nv-ch-map-panel__hint { margin: 0; font-size: 0.68rem; color: var(--igs-muted); }
.igs-nv-ch-map-panel__hint .is-read { color: #3d5a99; }
.igs-nv-ch-map-panel__hint .is-plan { color: #a3471f; }
.igs-nv-ch-map-panel__hint.is-fact { color: #6b4a2e; }
.igs-nv-fact-guard {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  margin-top: 0.45rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  border: 1px solid rgba(90, 70, 40, 0.18);
  background: rgba(255, 248, 235, 0.85);
  font-size: 0.72rem;
}
.igs-nv-fact-guard.is-hard {
  border-color: rgba(160, 50, 40, 0.35);
  background: rgba(255, 236, 232, 0.95);
}
.igs-nv-fact-guard.is-ok {
  border-color: rgba(40, 110, 70, 0.25);
  background: rgba(236, 250, 242, 0.9);
}
.igs-nv-fact-guard strong { font-size: 0.75rem; }
.igs-nv-fact-guard-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.12rem 0.4rem;
  border-radius: 6px;
  font-size: 0.65rem;
  border: 1px solid rgba(90, 70, 40, 0.2);
  background: rgba(255, 248, 235, 0.9);
  color: #5a4030;
}
.igs-nv-fact-guard-chip.is-hard {
  border-color: rgba(160, 50, 40, 0.35);
  background: rgba(255, 236, 232, 0.95);
  color: #8a3028;
}
.igs-nv-hist-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.75rem;
  margin: 0.4rem 0 0.75rem;
  padding: 0.55rem 0.7rem;
  border-radius: 8px;
  border: 1px solid rgba(120, 70, 30, 0.28);
  background: rgba(255, 244, 220, 0.95);
  font-size: 0.78rem;
}
.igs-nv-hist-banner__main { display: flex; flex-direction: column; gap: 0.15rem; }
.igs-nv-hist-banner__acts { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.igs-nv-doc-ver-hub { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.igs-nv-doc-ver-hub__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.5rem 0.6rem;
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.7);
}
.igs-nv-doc-ver-hub__acts { display: flex; gap: 0.3rem; flex-wrap: wrap; }
.igs-nv-ch-card__layers {
  display: inline-flex; gap: 0.12rem; margin-right: 0.2rem; vertical-align: middle;
}
.igs-nv-ch-card__layers em {
  font-style: normal; font-size: 0.72rem; opacity: 0.45; filter: grayscale(0.6);
}
.igs-nv-ch-card__layers em.is-ok { opacity: 1; filter: none; }
.igs-nv-ch-card__layers em.is-stale { opacity: 0.85; filter: none; }
.igs-nv-ch-card__map-meta { font-size: 0.65rem; color: var(--igs-muted); margin-right: 0.25rem; }
.igs-nv-ch-card__map-meta.is-warn { color: #a3471f; font-weight: 650; }
.igs-nv-ch-card__syn.is-empty { font-style: italic; opacity: 0.75; }
.igs-nv-ch-overview.is-missing { border-color: color-mix(in srgb, var(--igs-warn) 35%, var(--igs-line)); }
.igs-nv-ch-overview.is-stale { border-color: color-mix(in srgb, var(--igs-warn) 50%, var(--igs-line)); }
.igs-nv-ch-card__syn {
  margin: 0.15rem 0 0.35rem;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--igs-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.igs-nv-ch-card__know {
  display: inline-block;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  margin-right: 0.25rem;
  vertical-align: middle;
  background: var(--igs-muted);
  flex-shrink: 0;
}
.igs-nv-ch-card__know.is-ok { background: var(--igs-ok, #3a9d6a); }
.igs-nv-ch-card__know.is-stale { background: var(--igs-warn, #c98a2e); }
.igs-nv-ch-card__know.is-missing { background: color-mix(in srgb, var(--igs-warn) 70%, var(--igs-muted)); }
.igs-nv-ch-card__heat {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}
.igs-nv-draft-banner {
  margin: 0 0 1rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--igs-warn) 14%, var(--igs-elev));
  border: 1px solid color-mix(in srgb, var(--igs-warn) 40%, var(--igs-line));
  color: var(--igs-ink);
  font-size: 0.84rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.85rem;
  align-items: flex-start;
  justify-content: space-between;
}
.igs-nv-draft-banner__main {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 12rem;
  flex: 1 1 14rem;
}
.igs-nv-draft-banner__main strong { font-weight: 650; }
.igs-nv-draft-banner__main span { color: var(--igs-muted); font-size: 0.78rem; }
.igs-nv-draft-banner__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.igs-nv-draft-banner__acts .igs-btn-ghost.is-on,
.igs-nv-draft-banner__acts .igs-btn.is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 14%, transparent);
  font-weight: 700;
}
.igs-nv-body-pane {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--igs-line);
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--igs-elev) 96%, var(--igs-mist));
}
.igs-nv-body-pane.is-disk {
  border-color: color-mix(in srgb, #8a5a2b 45%, var(--igs-line));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #8a5a2b 8%, var(--igs-elev)) 0%,
    color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) 100%
  );
}
.igs-nv-body-pane.is-draft {
  border-color: color-mix(in srgb, var(--igs-accent) 40%, var(--igs-line));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev)) 0%,
    color-mix(in srgb, var(--igs-paper) 88%, var(--igs-mist)) 100%
  );
}
.igs-nv-body-badge {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.55rem;
  padding: 0.45rem 0.75rem;
  border-bottom: 1px solid rgba(40, 36, 30, 0.08);
  flex: 0 0 auto;
}
.igs-nv-body-badge em {
  font-style: normal;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  color: #fff;
}
.igs-nv-body-badge.is-disk em { background: #8a5a2b; }
.igs-nv-body-badge.is-draft em { background: var(--igs-accent); color: var(--igs-on-accent, #fff); }
.igs-nv-body-badge strong {
  font-family: "Noto Serif SC", serif;
  font-size: 0.9rem;
  color: var(--igs-ink);
}
.igs-nv-body-badge span {
  font-size: 0.68rem;
  color: var(--igs-muted);
  margin-left: auto;
}
.igs-nv-body-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 0.85rem 1rem 1.35rem;
}
.igs-nv-body-empty { padding: 1.25rem 1rem; }
.igs-nv-body-pane.is-view-flash,
.igs-nv-twin.is-view-flash,
.igs-novel-body.is-view-flash {
  animation: igsNvViewFlash 0.85s ease;
}
@keyframes igsNvViewFlash {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--igs-accent) 45%, transparent); }
  35% { box-shadow: 0 0 0 3px color-mix(in srgb, var(--igs-accent) 35%, transparent); }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.igs-novel-reader:has(.igs-nv-body-pane) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-novel-reader-head,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-nv-read-know-top,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-nv-know-dock,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-novel-meta,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-nv-draft-banner,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-nv-ch-nav,
.igs-novel-reader:has(.igs-nv-body-pane) > .igs-nv-comments {
  flex: 0 0 auto;
}
.igs-nv-rewrite-base-hint {
  margin: 0.25rem 0 0.45rem;
  padding: 0.35rem 0.5rem;
  border-radius: 8px;
  border: 1px dashed color-mix(in srgb, var(--igs-muted) 45%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-muted) 6%, var(--igs-elev));
}
.igs-nv-rewrite-base-hint.is-inline {
  margin: 0;
  padding: 0.15rem 0.4rem;
  font-size: 0.72rem;
  display: inline-flex;
  align-items: center;
}
.igs-nv-rewrite-base {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin: 0.35rem 0 0.55rem;
  padding: 0.35rem 0.5rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--igs-warn) 35%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-warn) 8%, var(--igs-elev));
}
.igs-nv-rewrite-base.is-compact {
  margin: 0;
  padding: 0.15rem 0.35rem;
  background: transparent;
  border-style: dashed;
}
.igs-nv-rewrite-base__lab {
  font-size: 0.75rem;
  color: var(--igs-muted);
  margin-right: 0.15rem;
}
.igs-nv-rewrite-base__btn {
  appearance: none;
  border: 1px solid var(--igs-line);
  background: var(--igs-elev);
  color: var(--igs-ink);
  border-radius: 999px;
  padding: 0.18rem 0.55rem;
  font-size: 0.76rem;
  cursor: pointer;
}
.igs-nv-rewrite-base__btn.is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 16%, transparent);
  font-weight: 650;
}
.igs-nv-writer-mode {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  padding: 0.35rem 0.5rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev));
  border: 1px solid color-mix(in srgb, var(--igs-accent) 22%, var(--igs-line));
}
.igs-nv-writer-mode__lab {
  font-size: 0.72rem;
  color: var(--igs-muted);
  font-weight: 600;
}
.igs-nv-writer-mode__btn {
  font-size: 0.78rem;
  padding: 0.22rem 0.55rem;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: var(--igs-elev);
  color: var(--igs-ink);
  cursor: pointer;
}
.igs-nv-writer-mode__btn.is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 16%, transparent);
  font-weight: 650;
}
.igs-nv-writer-mode__stitch {
  font-size: 0.75rem !important;
  padding: 0.2rem 0.45rem !important;
}
.igs-nv-writer-mode__seg {
  flex: 1 1 12rem;
  min-width: 10rem;
  font-size: 0.78rem;
  padding: 0.28rem 0.5rem;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: var(--igs-paper);
  color: var(--igs-ink);
}
.igs-nv-writer-risk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  font-size: 0.78rem;
  border: 1px solid color-mix(in srgb, #c9a227 40%, var(--igs-line));
  background: color-mix(in srgb, #c9a227 12%, var(--igs-elev));
  color: var(--igs-ink);
}
.igs-nv-writer-risk.is-ok {
  border-color: color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev));
}
.igs-nv-writer-risk.is-high {
  border-color: color-mix(in srgb, #c45c26 45%, var(--igs-line));
  background: color-mix(in srgb, #c45c26 12%, var(--igs-elev));
}
.igs-nv-writer-risk b { font-weight: 700; }
.igs-nv-writer-risk span { flex: 1 1 10rem; }
.igs-nv-continuity-shadow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  padding: 0.35rem 0.55rem;
  border-radius: 8px;
  font-size: 0.78rem;
  border: 1px solid color-mix(in srgb, var(--igs-line) 80%, #6b7c8a);
  background: color-mix(in srgb, #6b7c8a 8%, var(--igs-elev));
  color: var(--igs-ink);
}
.igs-nv-continuity-shadow.is-idle {
  border-color: color-mix(in srgb, var(--igs-line) 70%, transparent);
  opacity: 0.92;
}
.igs-nv-continuity-shadow.is-ok {
  border-color: color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev));
}
.igs-nv-continuity-shadow.is-soft {
  border-color: color-mix(in srgb, #c9a227 40%, var(--igs-line));
  background: color-mix(in srgb, #c9a227 12%, var(--igs-elev));
}
.igs-nv-continuity-shadow.is-hard {
  border-color: color-mix(in srgb, #c45c26 45%, var(--igs-line));
  background: color-mix(in srgb, #c45c26 12%, var(--igs-elev));
}
.igs-nv-continuity-shadow b { font-weight: 700; }
.igs-nv-continuity-shadow span { flex: 1 1 10rem; min-width: 0; }
.igs-nv-shadow-ai {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.15rem;
  padding: 0.1rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--igs-line) 75%, transparent);
  background: color-mix(in srgb, var(--igs-elev) 88%, #000);
  flex: 0 0 auto;
}
.igs-nv-shadow-ai__chip {
  appearance: none;
  border: 0;
  margin: 0;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  line-height: 1.2;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  color: color-mix(in srgb, var(--igs-ink) 72%, transparent);
  background: transparent;
}
.igs-nv-shadow-ai__chip:hover {
  color: var(--igs-ink);
  background: color-mix(in srgb, var(--igs-accent) 10%, transparent);
}
.igs-nv-shadow-ai__chip.is-on {
  color: var(--igs-ink);
  font-weight: 650;
  background: color-mix(in srgb, var(--igs-accent) 22%, var(--igs-elev));
}
.igs-nv-writer-continue {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  padding: 0.45rem 0.55rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 32%, var(--igs-line));
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--igs-accent) 12%, var(--igs-elev)),
    color-mix(in srgb, #c9a227 10%, var(--igs-paper))
  );
}
.igs-nv-writer-continue__main {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}
.igs-nv-writer-continue__main b {
  font-size: 0.82rem;
  color: var(--igs-ink);
}
.igs-nv-writer-continue__main span {
  font-size: 0.72rem;
  color: var(--igs-muted);
}
.igs-nv-writer-continue__base {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
  width: 100%;
}
.igs-nv-writer-continue__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.igs-nv-cands {
  margin: 1.25rem 0 1.5rem;
  padding: 1rem 1rem 1.15rem;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--igs-accent) 8%, var(--igs-elev)),
    color-mix(in srgb, var(--igs-card) 70%, var(--igs-paper))
  );
  color: var(--igs-ink);
  scroll-margin-top: 0.75rem;
}
.igs-nv-cands.is-flash {
  animation: igsNvCandFlash 1.4s ease;
  border-color: color-mix(in srgb, var(--igs-accent) 65%, transparent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--igs-accent) 22%, transparent);
}
@keyframes igsNvCandFlash {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--igs-accent) 45%, transparent); }
  40% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--igs-accent) 18%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--igs-accent) 1%, transparent); }
}
.igs-nv-cands__head h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-family: "Noto Serif SC", serif;
  display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: baseline;
}
.igs-nv-cands__head h3 span { font-size: 0.78rem; font-weight: 500; color: var(--igs-muted); }
.igs-nv-cand-pill {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.12rem 0.45rem;
  border-radius: 999px;
  background: rgba(196, 140, 90, 0.2);
  color: #6a4a28;
}
.igs-nv-cand-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0.35rem 0 0.4rem;
}
.igs-nv-cand-filter {
  border: 1px solid rgba(20, 36, 30, 0.12);
  background: #fff;
  border-radius: 999px;
  padding: 0.22rem 0.55rem;
  font-size: 0.72rem;
  font-weight: 650;
  color: var(--igs-muted);
  cursor: pointer;
}
.igs-nv-cand-filter i {
  font-style: normal;
  opacity: 0.75;
  margin-left: 0.15rem;
}
.igs-nv-cand-filter.is-on {
  border-color: rgba(26, 107, 82, 0.4);
  background: #eef8f2;
  color: #145a45;
}
.igs-nv-cand-toolbar {
  display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.55rem 0 0.75rem;
}
.igs-nv-cand-toolbar .is-on,
.igs-nv-cand-item__acts .is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, transparent);
  background: color-mix(in srgb, var(--igs-accent) 10%, transparent);
}
.igs-nv-cand-empty { margin: 0.4rem 0 0.8rem; font-size: 0.86rem; color: var(--igs-muted); }
.igs-nv-cand-empty-box {
  margin: 0.35rem 0 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 1px dashed rgba(26, 107, 82, 0.28);
  border-radius: 0.7rem;
  background: linear-gradient(180deg, #f7fbf9, #fffcf8);
}
.igs-nv-cand-empty-box p { margin: 0 0 0.35rem; font-size: 0.82rem; color: #1c2420; }
.igs-nv-cand-empty-box__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.45rem;
}
.igs-nv-cand-steps {
  margin: 0.4rem 0 0;
  padding-left: 1.15rem;
  font-size: 0.74rem;
  color: var(--igs-muted);
  line-height: 1.55;
}
.igs-nv-cands.is-busy { opacity: 0.78; pointer-events: none; }
.igs-nv-cand-busy {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 650;
  color: #0f766e;
}
.igs-nv-cand-pinmark {
  display: inline-block;
  min-width: 0.85rem;
  color: #a16207;
  font-size: 0.75rem;
}
.igs-nv-cand-live {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.05rem 0.35rem;
  border-radius: 999px;
  font-style: normal;
  font-size: 0.62rem;
  font-weight: 700;
  color: #145a45;
  background: #eef8f2;
  vertical-align: middle;
}
.igs-nv-cand-list {
  list-style: none; margin: 0 0 0.85rem; padding: 0;
  display: flex; flex-direction: column; gap: 0.45rem;
}
.igs-nv-cand-item {
  display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  border: 1px solid var(--igs-line);
  background: color-mix(in srgb, var(--igs-elev) 94%, var(--igs-mist));
  color: var(--igs-ink);
}
.igs-nv-cand-item.is-on {
  border-color: color-mix(in srgb, var(--igs-accent) 45%, var(--igs-line));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--igs-accent) 12%, transparent);
}
.igs-nv-cand-item.is-done { opacity: 0.72; }
.igs-nv-cand-item.is-pinned { border-color: color-mix(in srgb, var(--igs-warn) 45%, var(--igs-line)); }
.igs-nv-cand-item.is-active-reading { box-shadow: inset 3px 0 0 var(--igs-accent); }
.igs-nv-cand-pick {
  flex: 1 1 12rem; text-align: left; border: 0; background: transparent;
  cursor: pointer; font: inherit; padding: 0.1rem 0; color: inherit;
}
.igs-nv-cand-pick b { display: block; font-size: 0.9rem; color: var(--igs-ink); }
.igs-nv-cand-pick span { font-size: 0.75rem; color: var(--igs-muted); }
.igs-nv-cand-note {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.68rem;
  font-style: normal;
  color: var(--igs-muted);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.igs-nv-cand-item__acts { display: flex; gap: 0.3rem; flex-wrap: wrap; }
.igs-nv-cand-meta {
  display: grid;
  gap: 0.35rem;
  margin: 0.35rem 0 0.45rem;
  padding: 0.45rem 0.5rem;
  border: 1px dashed color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  border-radius: 0.55rem;
  background: color-mix(in srgb, var(--igs-elev) 88%, var(--igs-mist));
}
.igs-nv-cand-meta label {
  display: grid;
  gap: 0.2rem;
  font-size: 0.7rem;
  font-weight: 650;
  color: var(--igs-muted);
}
.igs-nv-cand-meta input {
  border: 1px solid var(--igs-line);
  border-radius: 0.4rem;
  padding: 0.28rem 0.45rem;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--igs-ink);
  background: var(--igs-field-bg, var(--igs-elev));
}
.igs-nv-cand-focus {
  margin: 0.4rem 0 0.9rem;
  padding: 0.65rem 0.7rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--igs-elev) 80%, transparent);
  border: 1px dashed color-mix(in srgb, var(--igs-accent) 28%, var(--igs-line));
  color: var(--igs-ink);
}
.igs-nv-cand-focus__head {
  display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: space-between;
  margin-bottom: 0.45rem;
}
.igs-nv-cand-pre {
  margin: 0;
  max-height: min(58vh, 36rem);
  overflow: auto;
  white-space: pre-wrap;
  font-family: "Noto Serif SC", "Songti SC", serif;
  font-size: 0.92rem;
  line-height: 1.75;
  color: var(--igs-ink);
}
.igs-nv-cand-pre.is-meta {
  max-height: min(22vh, 12rem);
  font-size: 0.82rem;
  line-height: 1.55;
  background: rgba(255, 252, 245, 0.9);
  padding: 0.45rem 0.55rem;
  border-radius: 0.45rem;
}
.igs-nv-cand-meta-blocks {
  display: none;
}
.igs-nv-cand-insights {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0.15rem 0 0.55rem;
}
.igs-nv-cand-insight {
  border-radius: 0.7rem;
  border: 1px solid rgba(26, 50, 40, 0.1);
  background: #fff;
  overflow: hidden;
}
.igs-nv-cand-insight.is-summary {
  border-color: color-mix(in srgb, var(--igs-cand-moss, #1a6b52) 32%, transparent);
  background: linear-gradient(165deg, #f2faf6 0%, #fff 55%);
}
.igs-nv-cand-insight.is-process {
  border-color: color-mix(in srgb, var(--igs-cand-amber, #9a6b2f) 28%, transparent);
  background: linear-gradient(165deg, #faf6ef 0%, #fff 58%);
}
.igs-nv-cand-insight__sum {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  list-style: none;
  cursor: pointer;
  padding: 0.5rem 0.6rem;
  user-select: none;
}
.igs-nv-cand-insight__sum::-webkit-details-marker { display: none; }
.igs-nv-cand-insight__ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 0.45rem;
  flex: 0 0 auto;
}
.igs-nv-cand-insight.is-summary .igs-nv-cand-insight__ico {
  background: rgba(26, 107, 82, 0.12);
  color: #1a6b52;
}
.igs-nv-cand-insight.is-process .igs-nv-cand-insight__ico {
  background: rgba(154, 107, 47, 0.14);
  color: #9a6b2f;
}
.igs-nv-cand-insight__titles {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  flex: 1 1 auto;
}
.igs-nv-cand-insight__titles b {
  font-size: 0.82rem;
  font-weight: 750;
  color: #1c2420;
}
.igs-nv-cand-insight__titles em {
  font-style: normal;
  font-size: 0.66rem;
  color: #7a6a58;
}
.igs-nv-cand-insight__meta {
  font-size: 0.64rem;
  font-weight: 650;
  color: #8a7a68;
  padding: 0.12rem 0.4rem;
  border-radius: 999px;
  background: rgba(26, 50, 40, 0.05);
  flex: 0 0 auto;
}
.igs-nv-cand-insight[open] .igs-nv-cand-insight__sum {
  border-bottom: 1px solid rgba(26, 50, 40, 0.08);
}
.igs-nv-cand-insight__panel {
  padding: 0.35rem 0.55rem 0.55rem;
}
.igs-nv-cand-insight__toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.25rem;
}
.igs-nv-cand-insight__body {
  max-height: min(28vh, 14rem);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 0.15rem 0.1rem 0.2rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: #243028;
}
.igs-nv-cand-insight.is-summary .igs-nv-cand-insight__body {
  max-height: min(22vh, 11rem);
}
.igs-nv-cand-insight__p {
  margin: 0 0 0.45rem;
}
.igs-nv-cand-insight__p:last-child { margin-bottom: 0; }
.igs-nv-cand-insight__ul {
  margin: 0 0 0.45rem;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.igs-nv-cand-insight__ul:last-child { margin-bottom: 0; }
.igs-nv-cand-insight__ul li {
  position: relative;
  padding: 0.35rem 0.5rem 0.35rem 0.85rem;
  border-radius: 0.45rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(26, 50, 40, 0.06);
}
.igs-nv-cand-insight__ul li::before {
  content: "";
  position: absolute;
  left: 0.35rem;
  top: 0.7rem;
  width: 0.28rem;
  height: 0.28rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.45;
}
.igs-nv-cand-insight.is-summary .igs-nv-cand-insight__ul li::before {
  background: #1a6b52;
  opacity: 0.75;
}
.igs-nv-cand-insight.is-process .igs-nv-cand-insight__ul li::before {
  background: #9a6b2f;
  opacity: 0.75;
}
.igs-nv-cand-insight__body strong {
  font-weight: 750;
  color: #145a45;
}
.igs-nv-cand-insight.is-process .igs-nv-cand-insight__body strong {
  color: #6a4a22;
}
.igs-nv-cand-insight__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.74em;
  padding: 0.05rem 0.28rem;
  border-radius: 0.25rem;
  background: rgba(26, 50, 40, 0.06);
}
.igs-nv-cand-body-lab {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.35rem 0 0.35rem !important;
  padding-top: 0.35rem;
  border-top: 1px dashed rgba(90, 70, 40, 0.16);
}
.igs-nv-cand-body-lab em {
  font-style: normal;
  font-size: 0.66rem;
  font-weight: 500;
  color: #8a7a68;
}
.igs-nv-cand-meta-block summary {
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  color: #2a4a3c;
  margin-bottom: 0.25rem;
}
.igs-nv-cand-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}
.igs-nv-cand-compare h4 {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  color: var(--igs-muted);
  font-weight: 600;
}
.igs-nv-cand-live.is-newest {
  background: color-mix(in srgb, var(--igs-accent) 22%, #fff);
  color: #0f3d32;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 45%, transparent);
}
.igs-nv-cand-live.is-session {
  background: color-mix(in srgb, var(--igs-warn, #c47a12) 18%, #fff);
  color: #5a3a08;
}
.igs-nv-cand-item.is-latest {
  border-color: color-mix(in srgb, var(--igs-accent) 55%, var(--igs-line));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--igs-accent) 25%, transparent);
}
.igs-nv-cand-item.is-session-fresh:not(.is-latest) {
  border-style: dashed;
}
.igs-nv-cand-item.is-flash {
  animation: igsNvCandFlash 1.2s ease;
}
@keyframes igsNvCandFlash {
  0%, 100% { background: transparent; }
  30% { background: color-mix(in srgb, var(--igs-accent) 14%, transparent); }
}
.igs-nv-cand-instr {
  margin: 0.15rem 0 0.45rem;
  font-size: 0.78rem;
  color: #3d453e;
  line-height: 1.4;
}
.igs-nv-cand-howto {
  margin: 0.35rem 0 0.55rem;
  line-height: 1.4;
}
.igs-ws-result-acts.is-cand-primary {
  gap: 0.35rem;
}
.igs-modal-foot #btnPromptModalPrimary:not([hidden]) {
  order: 2;
  margin-left: auto;
}
.igs-modal-foot #btnPromptModalSave:not([hidden]) {
  order: 3;
}
.igs-nv-cand-stale {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.65rem;
  margin: 0 0 0.55rem;
  padding: 0.4rem 0.55rem;
  border-radius: 0.55rem;
  border: 1px dashed color-mix(in srgb, var(--igs-warn, #c47a12) 45%, var(--igs-line));
  background: color-mix(in srgb, var(--igs-warn, #c47a12) 8%, #fff);
  font-size: 0.78rem;
  color: #5a3a08;
}
.igs-nv-cand-stale span { flex: 1 1 auto; }
.igs-ws-latest-cand {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.45rem 0.75rem;
  margin: 0.35rem 0 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.65rem;
  border: 1px solid color-mix(in srgb, var(--igs-accent) 35%, var(--igs-line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--igs-accent) 8%, #fff), #fffcf7);
}
.igs-ws-latest-cand.is-empty {
  border-style: dashed;
  background: rgba(255, 252, 247, 0.65);
  opacity: 0.92;
}
.igs-ws-latest-cand.is-session {
  border-color: color-mix(in srgb, var(--igs-warn, #c47a12) 40%, var(--igs-line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--igs-warn, #c47a12) 10%, #fff), #fffcf7);
}
.igs-ws-latest-cand.is-viewing {
  box-shadow: inset 3px 0 0 var(--igs-accent);
}
.igs-ws-latest-cand__main {
  flex: 1 1 12rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.45rem;
  min-width: 0;
}
.igs-ws-latest-cand__main b {
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: var(--igs-muted);
  text-transform: none;
}
.igs-ws-latest-cand__main strong {
  font-size: 0.9rem;
  color: var(--igs-ink);
}
.igs-ws-latest-cand__main span {
  font-size: 0.75rem;
  color: var(--igs-muted);
  width: 100%;
}
.igs-ws-latest-cand__tag {
  font-size: 0.68rem;
  font-style: normal;
  padding: 0.08rem 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--igs-accent) 18%, #fff);
  color: #0f3d32;
}
.igs-ws-latest-cand__tag.is-read {
  background: color-mix(in srgb, var(--igs-muted) 18%, #fff);
  color: #3d453e;
}
.igs-ws-latest-cand__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  align-items: center;
}
.igs-ws-latest-cand__hint {
  flex: 1 1 100%;
  margin: 0;
  font-size: 0.68rem;
  color: var(--igs-muted);
  line-height: 1.35;
}
.igs-nv-cand-gen {
  display: flex; flex-direction: column; gap: 0.45rem;
  padding-top: 0.35rem;
  border-top: 1px solid color-mix(in srgb, var(--igs-accent) 12%, transparent);
}
.igs-nv-cand-gen label { font-size: 0.82rem; color: #3d453e; display: flex; flex-direction: column; gap: 0.25rem; }
.igs-nv-cand-gen input[type="text"] {
  border: 1px solid var(--igs-line); border-radius: 8px; padding: 0.45rem 0.6rem; font: inherit;
  background: #fff;
}
.igs-nv-cand-gen__acts { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.igs-nv-cand-gen.is-compose {
  gap: 0.35rem;
  margin-top: 0;
  padding: 0.55rem 0.55rem 0.5rem;
  border-top: 1px solid color-mix(in srgb, var(--igs-cand-amber, #9a6b2f) 28%, transparent);
  background:
    linear-gradient(180deg, rgba(250, 246, 239, 0.95) 0%, #fffcf7 40%);
  box-shadow: 0 -8px 22px rgba(40, 30, 18, 0.06);
  position: relative;
  z-index: 4;
}
.igs-nv-cand-gen.is-dock .igs-nv-cand-gen__hd {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.45rem;
  margin-bottom: 0.15rem;
}
.igs-nv-cand-gen__hd-main {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  min-width: 0;
}
.igs-nv-cand-gen__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.55rem;
  background: linear-gradient(145deg, #1a6b52, #145a45);
  color: #f3faf6;
  flex: 0 0 auto;
  box-shadow: 0 2px 6px rgba(26, 107, 82, 0.28);
}
.igs-nv-cand-gen__hd-main strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 750;
  color: #1c2420;
  letter-spacing: 0.01em;
}
.igs-nv-cand-gen__locus {
  display: flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0.12rem 0 0;
  font-size: 0.68rem;
  color: #6a5a48;
  min-width: 0;
}
.igs-nv-cand-gen__locus span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 14rem;
}
.igs-nv-cand-gen__locus em {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  font-style: normal;
  font-weight: 650;
  color: #1a6b52;
  flex: 0 0 auto;
}
.igs-nv-cand-gen__hd-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  flex: 0 0 auto;
}
.igs-nv-cand-gen__model {
  margin: 0;
  border: 1px solid rgba(26, 50, 40, 0.1);
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.9);
  overflow: hidden;
}
.igs-nv-cand-gen__model.is-always-open {
  padding: 0;
}
.igs-nv-cand-gen__model > summary {
  list-style: none;
  cursor: pointer;
  padding: 0.32rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 650;
  color: #3d5248;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.igs-nv-cand-gen__model > summary::-webkit-details-marker { display: none; }
.igs-nv-cand-gen__model[open] > summary {
  border-bottom: 1px solid rgba(26, 50, 40, 0.08);
}
.igs-nv-cand-gen__busy {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.55rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(180, 120, 40, 0.35);
  background: linear-gradient(105deg, rgba(255, 244, 220, 0.95), rgba(255, 252, 245, 0.98));
  color: #5a3f18;
  font-size: 0.72rem;
}
.igs-nv-cand-gen__busy[hidden] { display: none !important; }
.igs-nv-cand-gen__busy-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
}
.igs-nv-cand-gen__busy-main b {
  font-weight: 700;
  line-height: 1.25;
}
.igs-nv-cand-gen__busy-main span {
  opacity: 0.85;
  font-size: 0.68rem;
}
.igs-nv-cand-gen__prompt-sticky {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.5rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(46, 110, 72, 0.22);
  background: rgba(236, 248, 240, 0.9);
  font-size: 0.7rem;
  color: #2a4a38;
}
.igs-nv-cand-gen__prompt-sticky.is-empty {
  border-style: dashed;
  background: rgba(255, 255, 255, 0.65);
  color: #5a6b62;
}
.igs-nv-cand-gen__prompt-sticky-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
}
.igs-nv-cand-gen__prompt-sticky-main b {
  font-weight: 700;
  line-height: 1.25;
}
.igs-nv-cand-gen__prompt-sticky-main span {
  opacity: 0.8;
  font-size: 0.66rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.igs-nv-cand-gen__prompt-sticky-acts {
  flex: 0 0 auto;
  display: flex;
  gap: 0.25rem;
}
.igs-nv-cand-gen.is-compose .igs-ws-model {
  margin: 0;
  padding: 0.35rem 0.4rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.igs-nv-cand-gen.is-compose .igs-ws-model__row {
  flex-wrap: wrap;
  gap: 0.28rem;
}
.igs-nv-cand-gen.is-compose .igs-ws-model__recs {
  margin-top: 0.25rem;
}
.igs-nv-cand-gen.is-compose .igs-ws-bar__compose.is-cands-compose {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  grid-template-columns: none;
  padding: 0;
  background: transparent;
}
.igs-nv-cand-gen.is-compose .igs-ws-bar__compose.is-cands-compose textarea,
.igs-nv-cand-gen.is-compose .igs-ws-bar__compose.is-cands-compose .igs-ws-chat-input {
  min-height: 5.5rem;
  max-height: 14rem;
  resize: vertical;
  font-size: 0.88rem;
  line-height: 1.5;
  border-radius: 0.65rem;
  border: 1px solid rgba(26, 50, 40, 0.14);
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(20, 36, 30, 0.04);
}
.igs-nv-cand-gen.is-compose .igs-ws-send.is-cand-send {
  min-width: 3.4rem;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  padding: 0.55rem 0.55rem;
  border-radius: 0.7rem;
  background: linear-gradient(160deg, #1f7a5e, #145a45);
  color: #f3faf6;
  font-weight: 750;
  font-size: 0.72rem;
}
.igs-nv-cand-gen.is-compose .igs-ws-send.is-cand-send .igs-ws-ico {
  width: 18px;
  height: 18px;
}
.igs-nv-rewrite-base-hint.is-dock {
  margin: 0;
  font-size: 0.66rem;
  color: #7a6a55;
  display: flex;
  align-items: center;
  gap: 0.28rem;
}
.igs-nv-cand-gen__more {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.45rem;
  padding-top: 0.1rem;
}
.igs-nv-cand-gen__more .igs-btn-ghost {
  font-size: 0.68rem !important;
  padding: 0.2rem 0.45rem !important;
}
.igs-nv-ai-rail.is-tab-cands .igs-nv-ai-cands {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.15rem 0.1rem 0;
}
.igs-nv-ai-rail.is-tab-cands .igs-nv-ai-cands.is-desk > .igs-nv-cands-artbar {
  flex: 0 0 auto;
}
.igs-nv-ai-rail.is-tab-cands .igs-nv-cands {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: hidden;
}
.igs-nv-ai-rail.is-tab-cands .igs-nv-cands.is-desk {
  border-radius: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--igs-cand-amber, #9a6b2f) 18%, var(--igs-ws-line, rgba(26,50,40,.12)));
  background:
    linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 243, 234, 0.55));
}
.igs-nv-ai-rail.is-tab-cands .igs-nv-cands.is-desk {
  border-radius: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--igs-cand-amber, #9a6b2f) 18%, var(--igs-ws-line, rgba(26,50,40,.12)));
  background:
    linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(247, 243, 234, 0.55));
}

