/* 智能舱 · 全站走查后的修补。排在所有智能舱样式之后加载；规则一律限定在 data-skin="alice" 下。 */

/* Q1-01 · 交易、调频、运行及月报：暗色次要文字与空间背景争抢对比度，沿用 Alice 的正文层级。 */
:root[data-skin="alice"][data-theme="dark"] #view:has(:is(.cb-trade-scope, .cabin-c-page)) {
  --ac-tx2: #bdc9dc;
  --ac-tx3: #afbed3;
  --tx-2: var(--ac-tx2);
  --tx-3: var(--ac-tx3);
  --cabin-data-surface: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .045), rgba(var(--ac-fg-rgb), .008)), rgba(var(--ac-s-080c1c), .76);
}

/* Q1-02 · 业务图表、表格、表单：空间线条透入读数区，增加同色玻璃底片与模糊，保留渐变材质。 */
:root[data-skin="alice"][data-theme="dark"][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) .card:has(:is(.chart, .tbl, input, select, textarea)) {
  background-color: rgba(var(--ac-s-080c1c), .76);
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
}
:root[data-skin="alice"][data-theme][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) :is(.cb-coverage, .cb-score, .cabin-c-status-bars, .callout, .note) {
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
}

/* Q1-03 · 申报策略等表单卡：指针移到标签或留白处仍倾斜，整张交互卡保持平面与轻微亮边。 */
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) :is(.card, .kpi):has(:is(input, select, textarea, [contenteditable], .chart, .tbl)) {
  transform: none !important;
  animation: none !important;
}
:root[data-skin="alice"][data-theme][data-palette][data-dim="space"] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) .card.dim-hot:has(:is(input, select, textarea, [contenteditable])) {
  background-image: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .06), rgba(var(--ac-fg-rgb), .02));
  box-shadow: inset 0 1px 0 var(--ac-glass-hi), 0 0 0 1px rgba(var(--ac-cy-rgb), .24), 0 8px 24px -16px rgba(var(--ac-cy-rgb), .24);
}

/* Q1-04 · 全站浮层：状态透字、外观说明偏暗，使用 Alice modal 的高光与圆角、提高玻璃不透明度。 */
:root[data-skin="alice"][data-theme][data-palette] body :is(.modal, .menu, #cabin-status-popup, .ct-list) {
  background: linear-gradient(160deg, rgba(var(--ac-fg-rgb), .045), rgba(var(--ac-fg-rgb), .008)), rgba(var(--ac-s-080c1c), .96);
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
}
:root[data-skin="alice"][data-theme][data-palette] body #cabin-status-popup {
  background-color: rgba(var(--ac-s-080c1c), .99);
}
:root[data-skin="alice"][data-theme="dark"] :is(.modal, .menu, #cabin-status-popup, .ct-list, #ai-drawer, .toast-box) {
  --ac-tx2: #bdc9dc;
  --ac-tx3: #afbed3;
  --tx-2: var(--ac-tx2);
  --tx-3: var(--ac-tx3);
}

/* Q1-05 · 全站确认弹窗与 toast：Ask Flux 的 1200 层遮住确认框和错误提示，统一浮层先后顺序。 */
:root[data-skin="alice"][data-theme][data-palette] body .mask { z-index: 1400; }
:root[data-skin="alice"] .menu { z-index: 1450; }
:root[data-skin="alice"] .toast-box { z-index: 1500; }
:root[data-skin="alice"][data-theme][data-palette] body .toast { background: rgba(var(--ac-s-080c1c), .96); overflow-wrap: anywhere; }

/* Q1-06 · 页内标签与区间控件：可读小字、完整日期和 4px 节奏，保留标签横滚及原生日期日历。 */
:root[data-skin="alice"][data-theme][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) :is(.seg, .rangebar, .dates, .chart-time-line) { gap: 8px; }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) :is(.tabs a, .tabs button, .seg button, .btn) { white-space: nowrap; }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) :is(.chart-time, .ask-page, .ct-btn) { color: var(--ac-tx2); }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(:is(.cb-trade-scope, .cabin-c-page)) .ex-head-filters .module-window {
  padding: 0; border: 0; background: transparent; box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}

/* Q1-07 · 申报与出清：1440 宽下成对电量折行，保留数值与单位在同一行。 */
@media (min-width: 1281px) and (max-width: 1600px) {
  :root[data-skin="alice"][data-theme][data-palette] body #view:has(a[aria-current="page"][href="#/trade/clear"]) .grid.g4 > .kpi:nth-child(-n+2) .k-val { font-size: 24px; white-space: nowrap; }
}
@media (min-width: 1101px) and (max-width: 1280px) {
  :root[data-skin="alice"][data-theme][data-palette] body #view:has(.cb-trade-scope) .grid.g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Q1-08 · 现货申报策略：390 宽时 6 列输入框把数字挤没，改 3 列并保留完整输入面积。 */
@media (max-width: 700px) {
  :root[data-skin="alice"][data-theme][data-palette] body #view:has(.cb-trade-scope) .cap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  :root[data-skin="alice"][data-theme][data-palette] body #view:has(.cb-trade-scope) .cap-grid input { width: 100%; min-width: 0; padding: 8px; font-variant-numeric: tabular-nums; }
}

/* Q1-10 · 亮色区间条与用户菜单：深青选中底上的黑字仅约 3:1，改为白字，普通分段按钮保持原配色。 */
:root[data-skin="alice"][data-theme="light"] :is(.ex-head-filters, .rangebar, .topbar) { --brand-on: #fff; }
:root[data-skin="alice"][data-theme="light"][data-palette] body .topbar .avatar { color: var(--ac-tx); }
:root[data-skin="alice"][data-theme="light"] #view:has(:is(.cb-trade-scope, .cabin-c-page)) {
  --ac-tx2: #475569;
  --ac-tx3: #475569;
  --tx-2: var(--ac-tx2);
  --tx-3: var(--ac-tx3);
}

/* Q1-11 · 运行、调频、档案与报价工具：摘要网格和后续卡片间仅 4px，统一为 Alice grid 的 16px。 */
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .grid { margin-bottom: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .card + .grid { margin-top: 16px; }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .card:not(.kpi) + :is(.card, #out):not(.grid > *) { margin-top: 16px; }

/* Q1-12 · 实时运行、AGC、K 与实时出清：环形卡标题下沉且日期断行，标题数值与同排卡片对齐。 */
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) {
  grid-template-rows: 24px 1fr auto;
  gap: 12px 8px;
}

:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .kpi:has(> .cabin-c-gauge) .k-label { align-self: start; }
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .kpi > .cabin-c-gauge :is(.ck-hint, .cabin-c-gauge-note) {
  width: 132px; max-width: none; margin-left: -12px;
}
:root[data-skin="alice"][data-theme][data-palette] body #view:has(.cabin-c-page) .cabin-c-gauge .ck-label { letter-spacing: 0; }

/* Q1-13 · 手机 Ask Flux 与图表 AI 窗：标题被形象占位挤窄、上下文和额度互挤、输入提示被裁切。 */
@media (max-width: 700px) {
  :root[data-skin="alice"][data-theme][data-palette] body #ai-drawer[data-cabin-float] .ai-head {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; padding: 12px 16px;
  }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-orb { display: none; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-head > div:first-of-type { display: contents; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-head .t { grid-area: 1 / 1; align-self: center; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-head .s { grid-area: 2 / 1 / 3 / 3; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-head > div:last-child { grid-area: 1 / 2; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-ctx { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-ctx .check { white-space: nowrap; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-page { grid-area: 2 / 1 / 3 / 3; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] #ai-quota { grid-area: 1 / 2; white-space: nowrap; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-input { align-items: center; }
  :root[data-skin="alice"] #ai-drawer[data-cabin-float] .ai-input textarea { min-width: 0; min-height: 80px; padding: 8px; line-height: 20px; }
}

/* Q1-14 · Ask Flux 输入提示：旧组合选择器未命中 placeholder，浏览器灰字在玻璃底上偏暗。 */
:root[data-skin="alice"] #ai-drawer #ai-q::placeholder { color: var(--ac-tx2); opacity: 1; }
:root[data-skin="alice"][data-theme="light"] :is(.modal, .menu, #cabin-status-popup, .ct-list, #ai-drawer, .toast-box) {
  --ac-tx2: #475569; --ac-tx3: #475569;
}

/* Q1-15 · 气象页城市筛选：城市标签被挤成竖排，固定标签和选择器的最小占位。 */
:root[data-skin="alice"] #view .ex-head-filters div:has(> #wxcity) { flex-shrink: 0; }
:root[data-skin="alice"] #view .ex-head-filters div:has(> #wxcity) > .dim { white-space: nowrap; flex-shrink: 0; }
