/**
 * INK-GAG 制作台 · 电脑端自适应（产品仅电脑：Web / 一站式客户端）
 * 分辨率阶梯（body）：desk-narrow(<1280) · desk-compact(<1440) · desk-wide(≥1600) · desk-ultrawide(≥2200)
 * 手机壳非产品目标；html.igs-studio-desktop-only 强制桌面布局。
 */

/* 产品闸：永久隐藏手机壳控件 */
html.igs-studio-desktop-only .igs-mnav,
html.igs-studio-desktop-only .igs-mmore,
html.igs-studio-desktop-only .igs-m-search-toggle,
html.igs-studio-desktop-only .igs-mobile-page-title,
html.igs-studio-desktop-only .igs-mseg,
html.igs-studio-desktop-only .igs-nv-mbar,
html.igs-studio-desktop-only .igs-shell-mnav,
html.igs-studio-desktop-only .igs-shell-drawer-fab {
  display: none !important;
}

@media (min-width: 721px) {
  :root {
    --igs-desk-pad-x: clamp(0.65rem, 1.85vw, 1.85rem);
    --igs-desk-pad-main: clamp(0.4rem, 0.95vw, 0.85rem);
    --igs-desk-nav-gap: clamp(0.28rem, 0.55vw, 0.45rem);
  }

  /* —— 顶栏：单行优先，流体边距 —— */
  .igs-top {
    flex-wrap: nowrap;
    gap: 0.5rem 0.75rem;
    padding-left: var(--igs-desk-pad-x);
    padding-right: var(--igs-desk-pad-x);
  }
  .igs-brand {
    flex: 0 1 auto;
    min-width: 0;
  }
  .igs-brand > div,
  .igs-brand__copy {
    min-width: 0;
  }
  .igs-brand h1,
  .igs-brand #igsBrandTitle {
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    max-width: none;
  }
  .igs-brand__novel {
    max-width: min(16rem, 28vw);
  }
  .igs-top-actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
    gap: 0.35rem;
  }
  #igsGlobalSearch {
    min-width: 7.5rem;
    max-width: clamp(9rem, 16vw, 18rem);
    flex: 1 1 9rem;
  }

  body.igs-desk-narrow .igs-brand p:not(.igs-mobile-page-title) {
    display: none;
  }
  body.igs-desk-narrow .igs-brand__novel {
    max-width: min(9rem, 22vw);
  }
  body.igs-desk-narrow .igs-brand h1,
  body.igs-desk-narrow .igs-brand #igsBrandTitle {
    max-width: none;
  }
  body.igs-desk-narrow #igsGlobalSearch {
    max-width: 10.5rem;
    flex-basis: 7rem;
  }
  body.igs-desk-narrow .igs-bootstrap-bell__lab {
    display: none;
  }
  body.igs-desk-narrow .igs-theme-pick > summary span#igsThemePickLab {
    display: none;
  }
  body.igs-desk-narrow .igs-shell-btn-ico span {
    display: none;
  }
  body.igs-desk-narrow .igs-shell-points-quick__unit {
    display: none;
  }
  body.igs-desk-narrow .igs-shell-station-context {
    max-width: min(32%, 18rem);
  }

  body.igs-desk-compact .igs-brand p:not(.igs-mobile-page-title) {
    display: none;
  }
  body.igs-desk-compact #btnSync .igs-sync-long {
    display: none;
  }
  body.igs-desk-compact #btnSync .igs-sync-short {
    display: inline;
  }

  /* —— 导航：横滑轨，避免窄桌面折成多行占高 —— */
  #igsTabs.igs-nav {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: var(--igs-desk-nav-gap) 0.55rem;
    padding-left: var(--igs-desk-pad-x);
    padding-right: var(--igs-desk-pad-x);
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(
      90deg,
      transparent 0,
      #000 10px,
      #000 calc(100% - 10px),
      transparent 100%
    );
  }
  #igsTabs.igs-nav::-webkit-scrollbar {
    height: 5px;
  }
  #igsTabs.igs-nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: color-mix(in srgb, var(--igs-line) 70%, transparent);
  }
  .igs-nav-g {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding-right: 0.45rem;
  }
  .igs-nav-row {
    flex-wrap: nowrap;
    gap: 0.18rem;
  }
  .igs-nav button[data-tab],
  .igs-tabs button[data-tab] {
    white-space: nowrap;
    flex-shrink: 0;
  }
  .igs-nav {
    top: var(--igs-sticky-top, 3.35rem);
  }

  body.igs-desk-wide .igs-nav-lab {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0 0.15rem 0 0.1rem;
    padding: 0.12rem 0.38rem;
    border-radius: 0.35rem;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #5a6a62;
    background: color-mix(in srgb, var(--igs-line) 35%, transparent);
    white-space: nowrap;
  }
  body.igs-desk-compact .igs-nav button[data-tab],
  body.igs-desk-compact .igs-tabs button[data-tab] {
    padding: 0.28rem 0.52rem;
    font-size: 0.76rem;
  }

  /* —— 左侧图标轨（≥1280 自动 / 可手动切换）—— */
  body.igs-nav-rail {
    --igs-rail-w: 3.85rem;
  }
  body.igs-nav-rail.igs-on-workspace .igs-workspace {
    display: grid;
    grid-template-columns: var(--igs-rail-w) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
    grid-template-areas:
      'top top'
      'qa qa'
      'pipe pipe'
      'ctx ctx'
      'rail main'
      'dock dock';
  }
  body.igs-nav-rail .igs-top { grid-area: top; }
  body.igs-nav-rail .igs-qa { grid-area: qa; }
  body.igs-nav-rail #igsPipeline { grid-area: pipe; }
  body.igs-nav-rail #igsContextBar { grid-area: ctx; }
  body.igs-nav-rail #igsTabs.igs-nav { grid-area: rail; }
  body.igs-nav-rail .igs-main { grid-area: main; }
  body.igs-nav-rail #igsDock { grid-area: dock; }

  body.igs-nav-rail #igsTabs.igs-nav {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    align-self: stretch;
    gap: 0;
    width: var(--igs-rail-w);
    min-width: var(--igs-rail-w);
    max-width: var(--igs-rail-w);
    height: 100%;
    min-height: 0;
    max-height: none;
    padding: 0.35rem 0.28rem 0.5rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-right: 1px solid color-mix(in srgb, var(--igs-line) 85%, #9bb8a6);
    border-bottom: 0;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(244, 248, 245, 0.94));
    position: relative;
    top: auto;
    z-index: 30;
    mask-image: none;
    scrollbar-width: thin;
  }
  body.igs-nav-rail #igsTabs.igs-nav::-webkit-scrollbar {
    width: 4px;
    height: auto;
  }
  body.igs-nav-rail .igs-nav-g {
    flex-direction: column;
    align-items: stretch;
    gap: 0.12rem;
    padding: 0.2rem 0 0.35rem;
    margin: 0;
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--igs-line) 55%, transparent);
    scroll-snap-align: none;
  }
  body.igs-nav-rail .igs-nav-g:last-child {
    border-bottom: 0;
    padding-bottom: 0.15rem;
  }
  body.igs-nav-rail .igs-nav-g--sys {
    margin-left: 0;
    margin-top: auto;
    padding-top: 0.35rem;
    border-top: 1px solid color-mix(in srgb, var(--igs-line) 65%, transparent);
    border-bottom: 0;
  }
  body.igs-nav-rail .igs-nav-lab {
    display: block;
    width: 100%;
    margin: 0 0 0.12rem;
    padding: 0.1rem 0.15rem;
    text-align: center;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #7a8a82;
    background: transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.igs-nav-rail .igs-nav-row {
    flex-direction: column;
    gap: 0.14rem;
    width: 100%;
  }
  body.igs-nav-rail .igs-tab-with-refresh {
    display: block;
    width: 100%;
  }
  body.igs-nav-rail .igs-tab-refresh {
    display: none !important;
  }
  body.igs-nav-rail #igsTabs button[data-tab],
  body.igs-nav-rail #igsTabs .igs-tabs button[data-tab] {
    width: 100%;
    min-height: 2.95rem;
    padding: 0.28rem 0.12rem 0.32rem;
    flex-direction: column;
    justify-content: center;
    gap: 0.14rem;
    font-size: 0.58rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0.02em;
    border-radius: 0.62rem;
    white-space: nowrap;
  }
  body.igs-nav-rail #igsTabs button[data-tab] .nav-ico {
    opacity: 1;
  }
  body.igs-nav-rail #igsTabs button[data-tab] .nav-ico .igs-ico {
    width: 17px;
    height: 17px;
  }
  body.igs-nav-rail #igsTabs button[data-tab].igs-tab--core {
    box-shadow: inset 0 0 0 1px #d4b889;
  }
  body.igs-nav-rail #igsTabs button[data-tab].igs-tab--core.active {
    box-shadow: inset 0 0 0 1px #c49a4a;
  }
  body.igs-nav-rail #igsIgeBot {
    width: 2.55rem;
    height: 2.55rem;
    margin: 0.2rem auto 0.1rem;
    flex-shrink: 0;
  }
  body.igs-nav-rail.igs-on-workspace .igs-main {
    min-height: 0;
    width: 100%;
    max-width: none;
  }
  body.igs-nav-rail.igs-desk-wide {
    --igs-rail-w: 4.15rem;
  }
  body.igs-nav-rail.igs-desk-wide #igsTabs button[data-tab] {
    font-size: 0.62rem;
  }

  /* 图标轨 · 悬停二级菜单 → ink-gag-studio.css #igsRailFlyout（挂 body，须在主表） */

  /* 图标轨 · 拖拽调宽 */
  body.igs-nav-rail #igsTabs.igs-nav {
    position: relative;
  }
  .igs-rail-resize {
    position: absolute;
    top: 0;
    right: -3px;
    width: 7px;
    height: 100%;
    cursor: col-resize;
    z-index: 40;
    touch-action: none;
    background: transparent;
  }
  .igs-rail-resize::after {
    content: '';
    position: absolute;
    top: 12%;
    bottom: 12%;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    border-radius: 2px;
    background: color-mix(in srgb, var(--igs-line) 55%, transparent);
    opacity: 0;
    transition: opacity 0.15s, background 0.15s;
  }
  body.igs-nav-rail #igsTabs.igs-nav:hover .igs-rail-resize::after,
  body.igs-rail-resizing .igs-rail-resize::after {
    opacity: 1;
  }
  .igs-rail-resize:hover::after,
  body.igs-rail-resizing .igs-rail-resize::after {
    background: color-mix(in srgb, var(--igs-accent, #1f6b58) 55%, #9bb8a6);
  }
  body.igs-rail-resizing {
    cursor: col-resize;
    user-select: none;
  }
  body.igs-rail-resizing .igs-main {
    pointer-events: none;
  }

  /* 轨宽 ≥112px：主轨内联显示 ↻ 刷新 */
  body.igs-nav-rail.igs-rail-w-expanded .igs-tab-with-refresh {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.08rem;
    padding: 0 0.12rem 0 0;
    border-radius: 0.62rem;
    background: color-mix(in srgb, var(--igs-line) 18%, transparent);
  }
  body.igs-nav-rail.igs-rail-w-expanded .igs-tab-with-refresh:has(button[data-tab].active) {
    background: var(--igs-ink);
  }
  body.igs-nav-rail.igs-rail-w-expanded .igs-tab-refresh {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1.45rem;
    height: 1.45rem;
    margin: 0;
    flex-shrink: 0;
    border-radius: 0.45rem;
    font-size: 0.82rem;
    opacity: 0.72;
  }
  body.igs-nav-rail.igs-rail-w-expanded .igs-tab-with-refresh:has(button[data-tab].active) .igs-tab-refresh {
    color: #f7f3ea;
    opacity: 0.9;
  }
  body.igs-nav-rail.igs-rail-w-expanded .igs-tab-with-refresh:has(button[data-tab].active) > button[data-tab] {
    color: #f7f3ea;
  }
  body.igs-nav-rail.igs-rail-w-expanded #igsTabs button[data-tab] {
    flex: 1;
    min-height: 2.35rem;
    flex-direction: row;
    justify-content: flex-start;
    padding: 0.32rem 0.35rem;
    gap: 0.35rem;
    font-size: 0.72rem;
    text-align: left;
  }
  body.igs-nav-rail.igs-rail-w-expanded .igs-nav-lab {
    text-align: left;
    padding-left: 0.35rem;
  }

  /* —— 流水线 / 非工作区主区流体 —— */
  body.igs-on-workspace .igs-pipeline-inner {
    max-width: none;
    width: 100%;
    padding-left: var(--igs-desk-pad-x);
    padding-right: var(--igs-desk-pad-x);
    box-sizing: border-box;
  }
  body.igs-on-workspace .igs-main {
    padding-left: var(--igs-desk-pad-main);
    padding-right: var(--igs-desk-pad-main);
  }
  body:not(.igs-on-workspace) .igs-main {
    max-width: min(1480px, 100%);
    padding-left: var(--igs-desk-pad-x);
    padding-right: var(--igs-desk-pad-x);
    box-sizing: border-box;
  }

  /* 书架全宽铺满主区 */
  body.igs-on-workspace:has(#panel-novel.active > .igs-novel-page--library) .igs-main {
    padding: 0 !important;
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* —— 上下文条 · 流体边距；紧凑时隐藏流水线重复的小说选择 —— */
  .igs-ctx-bar__inner {
    padding-left: var(--igs-desk-pad-x);
    padding-right: var(--igs-desk-pad-x);
  }
  body.igs-desk-compact .igs-pipe-project,
  body.igs-desk-compact .igs-pipeline-inner > .igs-pipe-divider:first-of-type {
    display: none;
  }
  body.igs-desk-narrow .igs-ctx-act {
    padding-left: 0.45rem !important;
    padding-right: 0.45rem !important;
  }
  body.igs-desk-narrow .igs-ctx-act:not([data-ctx-action="overview"]) {
    font-size: 0 !important;
    width: 2rem;
    overflow: hidden;
  }
  body.igs-desk-narrow .igs-ctx-act[data-ctx-action="novel-lib"]::before {
    content: '←';
    font-size: 0.85rem;
  }

  /* —— 设置中心 · 右侧大抽屉（电脑端） —— */
  body.igs-settings-open {
    overflow: hidden;
  }
  body.igs-settings-open::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 88;
    background: rgba(12, 18, 16, 0.44);
    backdrop-filter: blur(3px);
  }
  #igsSettingsPanel[open] .igs-top-more-panel.igs-settings-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    transform: none;
    z-index: 96;
    width: min(44rem, 94vw);
    max-width: none;
    max-height: none;
    min-width: 0;
    margin: 0;
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    box-shadow:
      -12px 0 48px rgba(12, 20, 16, 0.2),
      0 0 0 1px color-mix(in srgb, var(--igs-line) 75%, transparent);
  }
  #igsSettingsPanel[open] .igs-settings-panel__hd {
    display: flex;
    flex-shrink: 0;
    padding: 0.85rem 1rem 0.65rem;
    border-bottom: 1px solid var(--igs-line);
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 243, 234, 0.94));
  }
  #igsSettingsPanel[open] .igs-settings-panel__layout {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 10.75rem minmax(0, 1fr);
    gap: 0;
  }
  #igsSettingsPanel[open] .igs-settings-nav {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.22rem;
    padding: 0.7rem 0.55rem;
    border-right: 1px solid var(--igs-line);
    background: color-mix(in srgb, var(--igs-paper, #faf8f3) 90%, #e6efe9);
    overflow: auto;
  }
  #igsSettingsPanel[open] .igs-settings-nav__btn {
    text-align: left;
    border-radius: 0.55rem;
    padding: 0.42rem 0.62rem;
    font-size: 0.78rem;
  }
  #igsSettingsPanel[open] .igs-settings-scroll {
    overflow: auto;
    padding: 0.8rem 0.95rem 1.1rem;
    -webkit-overflow-scrolling: touch;
  }
  #igsSettingsPanel[open] .igs-settings-sec {
    display: none;
  }
  #igsSettingsPanel[open] .igs-settings-sec.is-active {
    display: block;
    animation: igs-fade 0.2s ease;
  }
  #igsSettingsPanel[open] .igs-top-more-panel:has(.igs-ai-ed),
  #igsSettingsPanel[open] .igs-settings-panel:has(.igs-ai-ed) {
    min-width: 0;
  }
  body.igs-desk-wide #igsSettingsPanel[open] .igs-top-more-panel.igs-settings-panel {
    width: min(48rem, 92vw);
  }

  /* —— 主题快选：中宽屏仍用居中浮层 —— */
  body.igs-desk-compact:has(#igsThemePick[open])::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(12, 18, 16, 0.42);
    backdrop-filter: blur(2px);
  }
  body.igs-desk-compact #igsThemePick[open] .igs-theme-pick__panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 95;
    width: min(30rem, calc(100vw - 1.5rem));
    max-height: min(88vh, 42rem);
    overflow: auto;
    border-radius: 0.85rem;
    box-shadow:
      0 24px 64px rgba(12, 20, 16, 0.28),
      0 0 0 1px color-mix(in srgb, var(--igs-line) 80%, transparent);
  }

  /* —— 小说书架 v2：按屏宽调节列宽 —— */
  @media (min-width: 1100px) and (max-width: 1399px) {
    .igs-nv-library--v2 .igs-nv-shelf {
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)) !important;
    }
  }
  @media (min-width: 1600px) {
    .igs-nv-library--v2 .igs-nv-shelf {
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 500px), 1fr)) !important;
    }
    .igs-nv-search {
      max-width: 26rem;
    }
  }
  @media (min-width: 1920px) {
    .igs-nv-library--v2 {
      padding-left: clamp(1rem, 2.8vw, 2.5rem);
      padding-right: clamp(1rem, 2.8vw, 2.5rem);
    }
    .igs-nv-library--v2 .igs-nv-shelf {
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 520px), 1fr)) !important;
    }
  }

  /* 总览指挥台：宽屏双列卡片更易读 */
  @media (min-width: 1280px) {
    body.igs-on-workspace .igs-hub-portal-mosaic {
      grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
    }
  }
}

/* 同步按钮长短文案（桌面紧凑时切换） */
#btnSync .igs-sync-short {
  display: none;
}

/* ─── 超宽屏 / 桌面专适阶梯（v8） ─── */
body.igs-desk-wide.igs-chrome-lean-v3 #igsGlobalSearch {
  max-width: clamp(12rem, 18vw, 22rem);
}
body.igs-desk-ultrawide .igs-workspace.igs-shell-on .igs-main,
body.igs-desk-ultrawide .igs-shell-on #panel-overview.active {
  max-width: min(100%, 1680px);
  margin-inline: auto;
}
body.igs-desk-ultrawide.igs-chrome-lean-v3 .igs-shell-station-nav__row {
  max-width: min(100%, 1680px);
  margin-inline: auto;
  padding-inline: 0.5rem;
}
html[data-igs-vp='qhd'] .igs-nv-studio.is-ai-open .igs-nv-studio__body,
html[data-igs-vp='uw'] .igs-nv-studio.is-ai-open .igs-nv-studio__body {
  gap: 0;
}
html[data-igs-vp='laptop'] .igs-shell-station-btn {
  padding-inline: 0.42rem;
  font-size: 0.74rem;
}
html[data-igs-vp='laptop'] .igs-shell-station-subbtn span:last-child {
  /* 笔记本：子页可图标+短文 */
  max-width: 4.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 窄窗仍当电脑：禁止手机式 AI 纵向堆叠 */
html.igs-studio-desktop-only .igs-nv-studio.is-ai-open .igs-nv-studio__body,
html.igs-studio-desktop-only .igs-pl-studio.is-ai-open .igs-pl-studio__body {
  display: grid !important;
  flex-direction: row !important;
  grid-template-columns: minmax(0, 1fr) min(var(--igs-ws-rail, 22.5rem), var(--igs-chat-max-w, 66.666vw)) !important;
}
html.igs-studio-desktop-only .igs-nv-studio.is-ai-open .igs-nv-studio__body.is-files-open {
  grid-template-columns: minmax(0, 1fr) var(--igs-nv-files-w, 14rem) min(var(--igs-ws-rail, 22.5rem), var(--igs-chat-max-w, 66.666vw)) !important;
}
html.igs-studio-desktop-only .igs-nv-studio.is-ai-closed .igs-nv-studio__body.is-files-open {
  display: grid !important;
  flex-direction: row !important;
  grid-template-columns: minmax(0, 1fr) var(--igs-nv-files-w, 14rem) !important;
}
html.igs-studio-desktop-only .igs-top {
  flex-wrap: nowrap !important;
}
html.igs-studio-desktop-only body {
  --igs-shell-mnav-h: 0px;
}
