/* Shared glass material. Opaque first; blur is a progressive enhancement. */
:root {
  --glass-blue: #1c66fc;
  --glass-ink: #172d50;
  --glass-muted: #556780;
  --glass-wallpaper: radial-gradient(ellipse at 85% 12%, rgba(28, 102, 252, .10) 0, transparent 48%), radial-gradient(ellipse at 10% 60%, rgba(28, 102, 252, .035) 0, transparent 48%), linear-gradient(150deg, #fff, #f7faff 75%, #fff);
  --glass-chrome: rgba(255, 255, 255, .97);
  --glass-card: rgba(253, 254, 255, .97);
  --glass-reading: rgba(255, 255, 255, .95);
  --glass-menu: rgba(255, 255, 255, .96);
  --glass-edge: rgba(255, 255, 255, .88);
  --glass-rule: rgba(28, 102, 252, .12);
  --glass-shadow: inset 0 2px 2px rgba(255, 255, 255, .95), inset 1px 0 1px rgba(255, 255, 255, .8), inset 0 -2px 3px rgba(28, 102, 252, .12), inset 0 0 0 1px rgba(255, 255, 255, .45), 0 4px 8px rgba(26, 65, 132, .035), 0 18px 36px -24px rgba(26, 65, 132, .28), 0 0 0 1px rgba(49, 105, 201, .14);
  --glass-light-position: 160%;
  --glass-flow-animation: none;
  --glass-flow: none;
  --glass-sheen: none;
  --glass-reading-sheen: none;
  --glass-blur: none;
  --feishu-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --feishu-color-primary: var(--glass-blue);
  --feishu-color-primary-hover: #1555d7;
  --feishu-color-primary-active: #1246b3;
  --feishu-color-primary-light-default: #edf3ff;
  --feishu-color-primary-light-hover: #e3edff;
  --feishu-color-text-0: var(--glass-ink);
  --feishu-color-text-1: #3e506b;
  --feishu-color-text-2: var(--glass-muted);
  --feishu-color-text-3: #6b7b93;
  --feishu-color-border: var(--glass-rule);
  --workbench-brand-primary: var(--glass-blue);
  --workbench-brand-primary-hover: #1555d7;
  --workbench-text-primary: var(--glass-ink);
  --workbench-text-secondary: var(--glass-muted);
  --workbench-text-muted: #6b7b93;
  --workbench-text-accent: var(--glass-blue);
  --workbench-atmosphere-color: #f7faff;
  --workbench-atmosphere-image: var(--glass-wallpaper);
  --workbench-border-subtle: var(--glass-rule);
  --workbench-panel-shadow: var(--glass-shadow);
  --lg-shell-canvas: #f7faff;
  --lg-shell-surface: var(--glass-chrome);
  --lg-shell-header: transparent;
  --lg-shell-panel: var(--glass-reading);
  --lg-shell-text: var(--glass-ink);
  --lg-shell-secondary: #3e506b;
  --lg-shell-muted: #6b7b93;
  --lg-shell-border: var(--glass-rule);
  --lg-shell-accent: var(--glass-blue);
  --lg-shell-selected: rgba(28, 102, 252, .12);
  --lg-shell-sub-selected: rgba(28, 102, 252, .10);
  --lg-shell-hover: rgba(255, 255, 255, .7);
  --choice-selected: #e6efff;
  --choice-selected-outline: var(--glass-blue);
  --choice-hover: #f0f5ff;
  --choice-hover-outline: #bdcfee;
  --ark-console-font: var(--feishu-font-family);
  color-scheme: light;
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  :root {
    --glass-chrome: rgba(255, 255, 255, .3);
    --glass-card: rgba(255, 255, 255, .42);
    --glass-flow: linear-gradient(112deg, transparent 30%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, .7) 48%, rgba(255, 255, 255, .92) 49%, rgba(125, 172, 255, .12) 51%, rgba(255, 255, 255, .4) 53%, transparent 63%);
    --glass-sheen: linear-gradient(115deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .06) 34%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, .02)), linear-gradient(180deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 50%, rgba(28, 102, 252, .055));
    --glass-reading-sheen: linear-gradient(120deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 40%, rgba(28, 102, 252, .025));
    --glass-blur: blur(18px) saturate(135%);
  }
}
/* Quiet desktop glass: one neutral canvas and a restrained edge highlight. */
@media (hover: hover) and (pointer: fine) {
  :root {
    --glass-wallpaper: linear-gradient(180deg, #fff, #f8faff);
    --glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(38, 65, 110, .045), 0 6px 18px rgba(25, 49, 89, .055), 0 0 0 1px rgba(45, 72, 115, .065);
    --glass-flow: none;
  }
  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    :root {
      --glass-chrome: rgba(255, 255, 255, .68);
      --glass-reading: rgba(255, 255, 255, .96);
      --glass-card: rgba(255, 255, 255, .6);
      --glass-sheen: linear-gradient(180deg, rgba(255, 255, 255, .26), rgba(255, 255, 255, 0) 38%);
      --glass-reading-sheen: none;
      --glass-blur: blur(18px) saturate(110%);
    }
  }
}

html { min-height: 100%; background: #f7faff; }
html:root body, html:root body[data-lg-navigation-ready], html:root body[data-management-shell] {
  background-color: #f7faff !important;
  background-image: var(--glass-wallpaper) !important;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  color: var(--glass-ink);
}
/* Never blur a workspace ancestor: fixed drawers must keep their viewport anchor. */
body :is(.nav, .联系顶栏, .topbar, .site-workbench-nav, .operator-sidebar, #工作台个人菜单),
body[data-lg-navigation-ready] :is(.控制台侧栏, .网站导航栏),
html:root body[data-lg-navigation-ready] #工作台个人菜单 {
  background: var(--workspace-surface, var(--glass-chrome)) !important;
  background-image: var(--glass-flow), var(--workspace-sheen, var(--glass-sheen)) !important;
  border-color: var(--glass-edge) !important;
  box-shadow: var(--workspace-shell-shadow, var(--glass-shadow)) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
body[data-lg-navigation-ready] .控制台品牌栏,
body[data-management-shell] .management-brand { background: transparent !important; box-shadow: none !important; }
/* Preserve the original connected shell: material must not add an outer frame. */
body[data-lg-navigation-ready] :is(.控制台侧栏, .网站导航栏),
body[data-management-shell] :is(.operator-sidebar, .site-workbench-nav) {
  box-shadow: var(--workspace-shell-shadow, inset 0 1px 0 rgba(255, 255, 255, .9)) !important;
}
body[data-lg-navigation-ready] .控制台主导航 :is(.控制台一级导航, .控制台子导航 > button).当前,
body[data-management-shell] .operator-sidebar .sidebar-item[aria-current="page"] {
  background: var(--lg-shell-selected) !important;
  color: #164da8 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 2px 5px rgba(40, 72, 124, .05) !important;
}
body[data-lg-navigation-ready] .控制台主导航 :is(.控制台一级导航, .控制台子导航 > button):focus-visible,
body[data-management-shell] .operator-sidebar .sidebar-item:focus-visible {
  outline: 2px solid var(--glass-blue) !important; outline-offset: -2px !important;
}
html:root body[data-lg-navigation-ready] #应用 :is(#IM页面, #功能页面):not([hidden]),
body[data-management-shell] .operator-shell {
  background: var(--glass-reading) !important;
  background-image: var(--glass-reading-sheen) !important;
}
body[data-management-shell] .operator-content { background: transparent; }
body[data-lg-navigation-ready] :is(.IM窗口, #IM窗口导航, #IM任务面板) { background-color: transparent !important; }
html:root body[data-lg-navigation-ready][data-current-page] #应用 #IM页面 > :is(.IM窗口, #IM任务面板) { background: transparent !important; }
html:root body[data-lg-navigation-ready] #应用 #IM页面 > #IM窗口导航 { background: rgba(28, 102, 252, .035) !important; }
body[data-management-shell] .operator-content th { background: #f0f5fd; }
/* Public pages use the same material, with a brighter reading layer inside. */
.nav { width: calc(100% - 32px); margin: 12px auto 0; top: 12px; border: 1px solid var(--glass-edge); border-radius: 22px; padding: 14px 32px; }
.intro, #templates, #collaboration, .section.tint { background: transparent !important; }
.intro::before { content: none; }
.hero-copy > h1 { color: var(--glass-ink); }
.hero h1 span { color: var(--glass-blue); }
.hero-copy > p, .hero-copy > .eyebrow { color: var(--glass-muted); }
html:root body :is(.demo, .visual, .template-col, .scene-content, .handoff article,
.login-card, .联系卡, .联系说明, .function-list, .chat-heading, .composer,
.order-card, .details, .tip-panel, #app > .card) {
  background: var(--glass-card) !important;
  background-image: var(--glass-flow), var(--glass-sheen) !important;
  border: 1px solid var(--glass-edge) !important;
  border-radius: 22px !important;
  box-shadow: var(--glass-shadow) !important;
  -webkit-backdrop-filter: var(--glass-blur);
  backdrop-filter: var(--glass-blur);
}
.handoff article { padding: 28px; }
html:root body .联系卡 { padding: 30px; }
html:root body .联系说明 { padding: 24px 28px; }
.window, .chat-panel { background: var(--glass-reading); border: 1px solid var(--glass-edge); border-radius: 16px; }
.sidebar, .sample, .structure, .template-col .papers { background: rgba(240, 246, 255, .8); }
.login-card { padding: 32px; }
body[data-content-page="legal"] main { background: var(--glass-reading) !important; border: 1px solid var(--glass-edge) !important; border-radius: 24px !important; box-shadow: var(--glass-shadow) !important; padding: clamp(24px, 5vw, 48px); }
/* QR codes, messages and generated artwork retain their original clear surface. */
.qr-frame-wrap, .qr-frame, .二维码容器 { background: #fff !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.message-body { background: #fff; }
.message.user .message-body { background: var(--glass-blue); }
.btn, .pay-button { border-radius: 999px; }
.btn:not(.secondary), .btn:not(.secondary):hover, .pay-button,
body[data-management-shell] .primary-button:not(:disabled), #app .primary:not(:disabled), #exchange-dialog .primary:not(:disabled) {
  background: linear-gradient(180deg, #4285ff, #1c66fc 60%, #1555d7) !important;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .55);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 5px 14px rgba(28, 102, 252, .19);
}
html:root body[data-lg-navigation-ready] #应用 :is(.课程主按钮, .API配置主按钮, .模板库主按钮, #IM提交按钮):not(:disabled),
html:root body[data-lg-navigation-ready] #环节轨道 .控制台页面操作 .主操作:not(:disabled) {
  background: linear-gradient(180deg, #4285ff, #1c66fc 65%, #1555d7) !important;
  color: #fff !important; border-color: rgba(255, 255, 255, .55) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 3px 8px rgba(28, 102, 252, .13) !important;
}
.btn.secondary, .btn.secondary:is(:hover, :focus-visible), body[data-management-shell] .secondary-button {
  background: var(--glass-card) !important; color: #1b57b5; border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow);
  background-image: var(--glass-flow), var(--glass-sheen) !important;
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.btn:focus-visible, .pay-button:focus-visible, .primary-button:focus-visible, .secondary-button:focus-visible { outline: 2px solid var(--glass-blue); outline-offset: 3px; }
body .全局客服 .全局客服按钮 { border: 1px solid rgba(255, 255, 255, .6); border-radius: 999px; background: linear-gradient(180deg, #4285ff, #1c66fc) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 6px 20px rgba(28, 102, 252, .18) !important; }
body .全局客服 .全局客服联系页 { background: var(--glass-chrome) !important; background-image: var(--glass-flow), var(--glass-sheen) !important; border-color: var(--glass-edge); box-shadow: var(--glass-shadow) !important; -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
/* Raised menus only, without changing positioning or dialog geometry. */
html:root body[data-lg-navigation-ready] #工作台个人菜单 { background-color: var(--glass-menu) !important; }
body :is([role="dialog"][aria-modal="true"], [data-workbench-layer], dialog[open]):not([data-workbench-layer-portal]):not(#workbench-orders-layer) {
  background: var(--glass-card) !important;
  background-image: var(--glass-flow), var(--glass-sheen) !important;
  border-color: var(--glass-edge) !important;
  box-shadow: var(--glass-shadow) !important;
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
.payment-footer { background: var(--glass-chrome); background-image: var(--glass-flow), var(--glass-sheen); border-top: 1px solid var(--glass-edge); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
/* Existing embedded editor and exchange surfaces; artwork itself is excluded. */
#root :is(.objects, .inspector, .canvas-head, .review-menu > div, .task-drawer), #exchange-dialog {
  background: var(--glass-card); border-color: var(--glass-edge); box-shadow: var(--glass-shadow);
  background-image: var(--glass-flow), var(--glass-sheen) !important;
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
}
#root :is(.canvas, .task, .config-group), #app .summary > div, #app .preview { background: var(--glass-reading); }
/* The AGI sculpture uses clear blue glass with a moving reflection. */
.core-network { opacity: .18; }
.core-orbit-trace, .core-signal { opacity: .6; }
.core-node { opacity: .5; }
@keyframes agi-light { 0%, 100% { opacity: .88; } 50% { opacity: 1; } }
html:root body :is(.nav, .联系顶栏, .topbar, .site-workbench-nav, .operator-sidebar, #工作台个人菜单,
.控制台侧栏, .网站导航栏, .demo, .visual, .template-col, .scene-content, .handoff article,
.login-card, .联系卡, .联系说明, .function-list, .chat-heading, .composer, .order-card, .details, .tip-panel,
#app > .card, .btn.secondary, .secondary-button, .全局客服联系页, .payment-footer,
[role="dialog"][aria-modal="true"], [data-workbench-layer]:not([data-workbench-layer-portal]):not(#workbench-orders-layer), dialog[open],
#root .objects, #root .inspector, #root .canvas-head, #root .review-menu > div, #root .task-drawer, #exchange-dialog),
html:root body[data-lg-navigation-ready] #工作台个人菜单 {
  background-size: 260% 100%, 100% 100%, 100% 100% !important;
  background-position: var(--glass-light-position) 0, 0 0, 0 0 !important;
  background-repeat: no-repeat !important;
}
/* Keep one slow movement on the sculpture; remove competing decorative signals. */
@media (hover: hover) and (pointer: fine) {
  .core-network, .core-orbit, .core-signal, .core-node, .core-scan-band {
    opacity: 0 !important;
    animation: none !important;
  }
  .agi-word, .agi-letter, .core-edge-light, .core-floor { animation: none !important; }
  .core-floor { opacity: .045; }
  .core-stack { animation-duration: 14s; }
}
/* Small screens use lighter compositing and keep existing mobile layouts. */
@media (max-width: 760px) {

  .nav { width: calc(100% - 24px); margin-top: 8px; top: 8px; padding: 10px 16px; border-radius: 18px; }
  .login-card { padding: 24px; }
  .demo, .visual, .template-col, .scene-content, .handoff article, .联系卡, .联系说明 { border-radius: 18px !important; }
  body { background-attachment: scroll !important; }
}
/* Input capability identifies touch fallback; desktop split windows retain real glass. */
@media (max-width: 760px) and (hover: none) {
  :root { --glass-blur: none; --glass-chrome: rgba(255, 255, 255, .96); --glass-card: rgba(255, 255, 255, .94); --glass-flow: none; --glass-sheen: none; --glass-reading-sheen: none; }
}
@media (hover: hover) and (pointer: fine) {
  html:root body { background-attachment: fixed !important; }
}
@layer mobile-task {
  @media (max-width: 760px) and (hover: hover) and (pointer: fine) {
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] :is(.网站导航栏, .控制台侧栏),
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] #工作台个人菜单:not([hidden]) {
      background-color: var(--workspace-chrome, var(--glass-chrome)) !important;
      background-image: var(--glass-flow), var(--workspace-sheen, var(--glass-sheen)) !important;
      background-size: 260% 100%, 100% 100%, 100% 100% !important;
      background-position: var(--glass-light-position) 0, 0 0, 0 0 !important;
      background-repeat: no-repeat !important;
      border-color: var(--glass-edge) !important;
      box-shadow: var(--glass-shadow) !important;
    }
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] .网站导航栏 {
      -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
    }
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] :is(.网站导航栏, .控制台侧栏) {
      box-shadow: var(--workspace-shell-shadow, inset 0 1px 0 rgba(255, 255, 255, .9)) !important;
    }
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] #工作台个人菜单:not([hidden]) { background-color: var(--glass-menu) !important; }
    html:root body[data-lg-navigation-ready][data-current-page][data-mobile-view] #工作台个人菜单 :is(.网站导航个人菜单概览, .网站导航个人菜单分组) {
      background: transparent !important; border-color: var(--glass-rule) !important;
    }
  }
}
/* Desktop shell hierarchy uses surface tones without drawn dividers. */
@media screen and (hover: hover) and (pointer: fine) and (forced-colors: none) {
  :root { --workspace-chrome: #f1f4f8; }
  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    :root { --workspace-chrome: rgba(241, 244, 248, .86); }
  }
  @media (prefers-reduced-transparency: reduce) {
    :root { --workspace-chrome: #f1f4f8; }
  }
  html:root body[data-lg-navigation-ready], html:root body[data-management-shell] {
    background: #edf0f4 !important;
  }
  body[data-lg-navigation-ready] :is(.控制台侧栏, .网站导航栏),
  body[data-management-shell] :is(.operator-sidebar, .site-workbench-nav) {
    --workspace-surface: var(--workspace-chrome);
    --workspace-sheen: none;
    background-color: var(--workspace-chrome) !important;
  }
  body[data-lg-navigation-ready] .控制台侧栏, body[data-management-shell] .operator-sidebar {
    --workspace-shell-shadow: none;
  }
  body[data-lg-navigation-ready] .网站导航栏, body[data-management-shell] .site-workbench-nav {
    --workspace-shell-shadow: none;
  }
  html:root body[data-lg-navigation-ready] #应用 :is(#IM页面, #功能页面):not([hidden]),
  body[data-management-shell] .operator-shell {
    background: #fff !important;
  }
}
@media (prefers-reduced-transparency: reduce) {
  :root { --glass-blur: none; --glass-chrome: #f4f7fd; --glass-card: #fff; --glass-reading: #fff; --glass-menu: #fff; --glass-flow-animation: none; --glass-flow: none; --glass-sheen: none; --glass-reading-sheen: none; }
}
@media (prefers-reduced-motion: reduce) {
  .intelligence-visual, .agi-word, .agi-letter, .core-scan-band, .core-orbit-trace, .core-node, .core-stack, .core-floor, .core-signal, .core-edge-light { animation: none !important; }
  .nav, .btn, .primary-button, .secondary-button { transition: none; }
}
@media (forced-colors: active) {
  :root { --glass-chrome: Canvas; --glass-card: Canvas; --glass-reading: Canvas; --glass-menu: Canvas; --glass-edge: CanvasText; --glass-rule: CanvasText; --glass-shadow: none; --glass-blur: none; --glass-ink: CanvasText; --glass-flow-animation: none; --glass-flow: none; --glass-sheen: none; --glass-reading-sheen: none; }
  html:root body, html:root body[data-lg-navigation-ready], html:root body[data-management-shell] { background: Canvas !important; color: CanvasText; }
  html:root body .btn:not(.secondary), html:root body .btn.secondary,
  html:root body .pay-button, html:root body .primary-button, html:root body .secondary-button,
  html:root body[data-management-shell] .primary-button:not(:disabled),
  html:root body #app .primary:not(:disabled), html:root body #exchange-dialog .primary:not(:disabled),
  html:root body .全局客服 .全局客服按钮,
  html:root body[data-lg-navigation-ready] #应用 :is(.课程主按钮, .API配置主按钮, .模板库主按钮, #IM提交按钮):not(:disabled),
  html:root body[data-lg-navigation-ready] #环节轨道 .控制台页面操作 .主操作:not(:disabled) {
    background: ButtonFace !important; background-image: none !important; color: ButtonText !important; border: 1px solid ButtonText; box-shadow: none !important;
  }
}
@media print {
  :root { --glass-chrome: #fff; --glass-card: #fff; --glass-reading: #fff; --glass-menu: #fff; --glass-shadow: none; --glass-blur: none; --glass-flow-animation: none; --glass-flow: none; --glass-sheen: none; --glass-reading-sheen: none; }
  html:root body, html:root body[data-lg-navigation-ready], html:root body[data-management-shell] { background: #fff !important; }
}
