/* 工具台皮肤：在统一顶栏挂上后，把各工具内部配色拉到同一套暗色令牌。
   选择器带 html.has-platform-nav，比组件 scoped 更高，能压过紫微/名著原样式。 */
html.has-platform-nav {
  color-scheme: dark;
  --ink: var(--bg);
  --ink-2: var(--bg-elev);
  --ink-3: var(--surface);
  --paper: var(--text);
  --paper-soft: var(--text-dim);
  --paper-dim: var(--text-faint);
  --cinnabar: var(--demand);
  --jade: var(--supply);
  --gold: var(--accent);
  --violet: #a371f7;
  --line: var(--border);
  --line-strong: var(--border-strong);
  --panel: var(--surface);
  --el-color-primary: var(--accent);
  --el-color-primary-light-3: #6ea0ff;
  --el-color-primary-light-5: #8ab4ff;
  --el-color-primary-light-7: #1f2d45;
  --el-color-primary-light-9: #1a2438;
  --el-color-primary-dark-2: #3d74e0;
  --el-bg-color: var(--bg-elev);
  --el-bg-color-page: var(--bg);
  --el-bg-color-overlay: var(--surface);
  --el-text-color-primary: var(--text);
  --el-text-color-regular: var(--text);
  --el-text-color-secondary: var(--text-dim);
  --el-text-color-placeholder: var(--text-faint);
  --el-border-color: var(--border);
  --el-border-color-light: var(--border);
  --el-border-color-lighter: var(--border-strong);
  --el-fill-color: var(--surface);
  --el-fill-color-blank: var(--bg-elev);
  --el-fill-color-light: var(--surface-2);
  --el-fill-color-lighter: var(--surface);
  --el-mask-color: rgba(14, 17, 23, .72);
  --el-box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  --el-border-radius-base: var(--radius);
  --el-border-radius-small: var(--radius-sm);
  --el-border-radius-round: 20px;
  --el-component-size: var(--control-h);
  --el-component-size-large: 44px;
  --el-font-size-base: 14px;
  --el-font-family: var(--font);
}

html.has-platform-nav body {
  background: var(--bg) !important;
  color: var(--text);
  font-family: "Segoe UI", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* ---- 名著 ---- */
html.has-platform-nav .library-sidebar {
  background: color-mix(in srgb, var(--bg-elev) 94%, transparent) !important;
  border-right-color: var(--border) !important;
}
html.has-platform-nav .seal {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
  background: var(--accent-weak) !important;
  box-shadow: inset 0 0 0 4px var(--bg), inset 0 0 0 5px color-mix(in srgb, var(--accent) 45%, transparent) !important;
}

/* ---- 紫微：壳 + 盘面 + 解读面板 ---- */
html.has-platform-nav .app { color: var(--text); }
html.has-platform-nav .app h1 { color: var(--text) !important; }
html.has-platform-nav .hint { color: var(--text-faint) !important; }
html.has-platform-nav .stale-notice,
html.has-platform-nav .share-bar,
html.has-platform-nav .disclaimer,
html.has-platform-nav .ai-disclaimer,
html.has-platform-nav .bz-wuxing,
html.has-platform-nav .dy-liunian {
  color: var(--text-dim) !important;
  background: var(--surface) !important;
  border-color: var(--border) !important;
}
html.has-platform-nav .share-button,
html.has-platform-nav .ai-btn,
html.has-platform-nav .btn,
html.has-platform-nav .el-button {
  min-height: var(--control-h);
  padding: 0 16px;
  border-radius: var(--radius) !important;
  font-weight: 650;
  font-size: 14px;
  line-height: 1;
  font-family: var(--font);
}
html.has-platform-nav .btn,
html.has-platform-nav .el-button {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html.has-platform-nav .share-button,
html.has-platform-nav .ai-btn,
html.has-platform-nav .btn.primary,
html.has-platform-nav .btn.big,
html.has-platform-nav .liuyao .btn:not(.ghost),
html.has-platform-nav .el-button--primary,
html.has-platform-nav .bz-sect-btn.is-on,
html.has-platform-nav .dy-step.is-on {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
  border-color: var(--accent) !important;
}
html.has-platform-nav .share-button:hover,
html.has-platform-nav .btn:hover,
html.has-platform-nav .el-button:hover { filter: brightness(1.08); }
html.has-platform-nav .btn.ghost {
  background: transparent !important;
  color: var(--accent) !important;
  border-color: var(--border-strong) !important;
}
html.has-platform-nav .bz-sect-btn,
html.has-platform-nav .dy-step {
  min-height: 32px;
  padding: 4px 12px;
  border-radius: 999px !important;
  font-size: 13px;
}
html.has-platform-nav .share-fallback,
html.has-platform-nav .sec,
html.has-platform-nav .bz-table,
html.has-platform-nav .toss,
html.has-platform-nav .hex-card,
html.has-platform-nav .dy-step,
html.has-platform-nav .bz-sect-btn,
html.has-platform-nav .chat-box {
  background: var(--bg-elev) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
}
html.has-platform-nav .sec-head,
html.has-platform-nav .bz-col-head,
html.has-platform-nav .bz-row-head,
html.has-platform-nav .center,
html.has-platform-nav .tabs button.active {
  background: var(--surface) !important;
  color: var(--text) !important;
}
html.has-platform-nav .panel-title,
html.has-platform-nav .ai-title,
html.has-platform-nav .ai-md h1,
html.has-platform-nav .ai-md h2,
html.has-platform-nav .ai-md h3,
html.has-platform-nav .ai-md strong,
html.has-platform-nav .pr-head,
html.has-platform-nav .lbl,
html.has-platform-nav .toss-title,
html.has-platform-nav .step h3,
html.has-platform-nav .hex-name,
html.has-platform-nav .yt th,
html.has-platform-nav .bz-shishen-gan,
html.has-platform-nav .bz-dm,
html.has-platform-nav .sv-main {
  color: var(--text) !important;
}
html.has-platform-nav .panel-lead,
html.has-platform-nav .ai-lead,
html.has-platform-nav .lead,
html.has-platform-nav .para,
html.has-platform-nav .pr-text,
html.has-platform-nav .step p,
html.has-platform-nav .ai-text,
html.has-platform-nav .chat-msg .content,
html.has-platform-nav .bz-table td,
html.has-platform-nav .row span {
  color: var(--text-dim) !important;
}
html.has-platform-nav .palace-cell {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
html.has-platform-nav .palace-cell .minor { color: var(--text-dim) !important; }
html.has-platform-nav .palace-cell .adj { color: var(--text-faint) !important; }
html.has-platform-nav .palace-cell .major small { color: #a371f7 !important; }
html.has-platform-nav .palace-cell .foot { border-top-color: var(--border) !important; }
html.has-platform-nav .palace-cell .foot .name { color: var(--supply) !important; }
html.has-platform-nav .palace-cell .foot .pos { color: var(--accent) !important; }
html.has-platform-nav .palace-cell .foot .decadal { color: var(--text-faint) !important; }
html.has-platform-nav .mut-good b { color: #e3b341 !important; }
html.has-platform-nav .mut-bad b { color: var(--info) !important; }
html.has-platform-nav .chart-grid,
html.has-platform-nav .grid {
  border-color: var(--accent) !important;
  background: var(--accent) !important;
}
html.has-platform-nav .solar-view {
  color: var(--text-dim) !important;
  background: var(--surface) !important;
}
html.has-platform-nav .sv-sep,
html.has-platform-nav .sv-arrow,
html.has-platform-nav .sv-detail,
html.has-platform-nav .sv-boundary { color: var(--text-faint) !important; }
html.has-platform-nav .row label,
html.has-platform-nav .target label { color: var(--text-faint) !important; }
html.has-platform-nav .row span { color: var(--text) !important; }
html.has-platform-nav .scope-row { border-top-color: var(--border) !important; }
html.has-platform-nav .scope-row span { color: var(--demand) !important; }
html.has-platform-nav .horo-bar input,
html.has-platform-nav .horo-bar select,
html.has-platform-nav .target input,
html.has-platform-nav .target select {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
html.has-platform-nav .toss input,
html.has-platform-nav .toss select,
html.has-platform-nav .toss textarea {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html.has-platform-nav .para,
html.has-platform-nav .ss-text,
html.has-platform-nav .mu-text,
html.has-platform-nav .step p,
html.has-platform-nav .conclusion ul,
html.has-platform-nav .yao-line,
html.has-platform-nav .tossed { color: var(--text-dim) !important; }
html.has-platform-nav .pillar-reading,
html.has-platform-nav .palace-reading { border-bottom-color: var(--border) !important; }
html.has-platform-nav .bz-gan.is-daymaster { background: var(--accent-weak) !important; }
html.has-platform-nav .wx-木 { color: var(--supply) !important; }
html.has-platform-nav .wx-火 { color: var(--demand) !important; }
html.has-platform-nav .wx-土 { color: #e3b341 !important; }
html.has-platform-nav .wx-金 { color: #d2b48c !important; }
html.has-platform-nav .wx-水 { color: var(--info) !important; }
html.has-platform-nav .el-form-item__label,
html.has-platform-nav .el-radio__label,
html.has-platform-nav .el-checkbox__label { color: var(--text-dim) !important; }
html.has-platform-nav .el-button {
  --el-button-text-color: var(--text);
  --el-button-bg-color: var(--surface);
  --el-button-border-color: var(--border);
  --el-button-hover-text-color: var(--text);
  --el-button-hover-bg-color: var(--surface-2);
  --el-button-hover-border-color: var(--border-strong);
}
html.has-platform-nav .el-popper,
html.has-platform-nav .el-select-dropdown,
html.has-platform-nav .el-picker-panel {
  background: var(--surface) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
html.has-platform-nav .el-select-dropdown__item { color: var(--text); }
html.has-platform-nav .el-select-dropdown__item.is-hovering,
html.has-platform-nav .el-select-dropdown__item.hover { background: var(--surface-2) !important; }
html.has-platform-nav .horo-bar .tabs button,
html.has-platform-nav .tabs button {
  background: var(--bg-elev) !important;
  color: var(--text-dim) !important;
  border-color: var(--border) !important;
}
html.has-platform-nav .el-input__wrapper,
html.has-platform-nav .el-select__wrapper,
html.has-platform-nav .el-textarea__inner {
  background: var(--surface) !important;
  box-shadow: 0 0 0 1px var(--border) inset !important;
}
html.has-platform-nav .el-input__inner,
html.has-platform-nav .el-select__selected-item:not(.is-transparent) {
  color: var(--text) !important;
}
html.has-platform-nav .el-select__placeholder { color: var(--text) !important; }
html.has-platform-nav .el-select__placeholder.is-transparent { color: transparent !important; }
html.has-platform-nav .el-select input,
html.has-platform-nav .el-select__input {
  background: transparent !important;
  border: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
}
html.has-platform-nav .el-tabs__item { color: var(--text-dim); }
html.has-platform-nav .el-tabs__item.is-active { color: var(--accent); }
html.has-platform-nav .el-tabs__active-bar { background-color: var(--accent); }
html.has-platform-nav .el-tabs__nav-wrap::after { background-color: var(--border); }
html.has-platform-nav .el-button--primary {
  --el-button-bg-color: var(--accent);
  --el-button-border-color: var(--accent);
  --el-button-hover-bg-color: #6ea0ff;
  --el-button-hover-border-color: #6ea0ff;
}
html.has-platform-nav .ai-md code,
html.has-platform-nav .ai-md pre,
html.has-platform-nav .ai-md th {
  background: var(--surface) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}
html.has-platform-nav .ai-error { background: var(--demand) !important; color: #fff !important; opacity: .9; }
html.has-platform-nav .chat-msg.user .who,
html.has-platform-nav .chat-msg.assistant .who,
html.has-platform-nav .badge {
  background: var(--accent) !important;
  color: var(--on-accent) !important;
}
html.has-platform-nav .yang-bar {
  background: var(--accent) !important;
}
html.has-platform-nav .yin-bar {
  background: linear-gradient(to right, var(--accent) 38%, transparent 38%, transparent 62%, var(--accent) 62%) !important;
}
html.has-platform-nav .coin.yang { background: var(--accent) !important; color: #fff !important; }
html.has-platform-nav .coin.yin { background: var(--surface) !important; color: var(--text) !important; border-color: var(--accent) !important; }

/* 六爻卡片 + 原生输入：color-scheme:dark 会把 textarea/date 刷成纯黑浅边 */
html.has-platform-nav .card,
html.has-platform-nav .hex-col {
  background: var(--bg-elev) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
html.has-platform-nav .q,
html.has-platform-nav .date,
html.has-platform-nav .chat-box,
html.has-platform-nav .share-fallback,
html.has-platform-nav textarea:not(.el-textarea__inner) {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  caret-color: var(--text);
  color-scheme: dark;
}
html.has-platform-nav .q::placeholder,
html.has-platform-nav .date::placeholder,
html.has-platform-nav .chat-box::placeholder,
html.has-platform-nav textarea:not(.el-textarea__inner)::placeholder {
  color: var(--text-faint) !important;
}
html.has-platform-nav .q:focus,
html.has-platform-nav .date:focus,
html.has-platform-nav .chat-box:focus,
html.has-platform-nav .share-fallback:focus,
html.has-platform-nav textarea:not(.el-textarea__inner):focus {
  border-color: var(--accent) !important;
  outline: 2px solid color-mix(in srgb, var(--accent) 35%, transparent);
  outline-offset: 1px;
}
html.has-platform-nav input[type="date"]::-webkit-calendar-picker-indicator,
html.has-platform-nav input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  filter: invert(0.82);
  opacity: .85;
}
html.has-platform-nav input[type="date"]::-webkit-datetime-edit,
html.has-platform-nav input[type="date"]::-webkit-datetime-edit-fields-wrapper,
html.has-platform-nav input[type="date"]::-webkit-datetime-edit-text,
html.has-platform-nav input[type="date"]::-webkit-datetime-edit-month-field,
html.has-platform-nav input[type="date"]::-webkit-datetime-edit-day-field,
html.has-platform-nav input[type="date"]::-webkit-datetime-edit-year-field {
  color: var(--text) !important;
  background: transparent !important;
}
html.has-platform-nav .yt th,
html.has-platform-nav .yt td {
  border-bottom-color: var(--border) !important;
}

/* ---- 组件外形：圆角 / 高度 / 页签，对齐首页与威科夫 ---- */
html.has-platform-nav .card,
html.has-platform-nav .sec,
html.has-platform-nav .share-bar,
html.has-platform-nav .stale-notice,
html.has-platform-nav .solar-view,
html.has-platform-nav .disclaimer,
html.has-platform-nav .ai-disclaimer,
html.has-platform-nav .bz-wuxing,
html.has-platform-nav .hex-col {
  border-radius: var(--radius-lg) !important;
}
html.has-platform-nav .q,
html.has-platform-nav .date,
html.has-platform-nav .chat-box,
html.has-platform-nav .share-fallback,
html.has-platform-nav textarea:not(.el-textarea__inner) {
  min-height: var(--control-h);
  border-radius: var(--radius) !important;
  font-family: var(--font);
  font-size: 14px;
}
html.has-platform-nav textarea.q { min-height: 72px; }
html.has-platform-nav .el-input__wrapper,
html.has-platform-nav .el-select__wrapper,
html.has-platform-nav .el-textarea__inner {
  min-height: var(--control-h);
  border-radius: var(--radius) !important;
}
html.has-platform-nav .el-tabs__nav-wrap::after { display: none !important; }
html.has-platform-nav .el-tabs__active-bar { display: none !important; }
html.has-platform-nav .el-tabs__item {
  height: 36px;
  padding: 0 14px;
  border-radius: var(--radius);
  font-weight: 650;
}
html.has-platform-nav .el-tabs__item.is-active {
  background: var(--accent-weak);
  color: var(--accent) !important;
}
html.has-platform-nav .horo-bar .tabs button,
html.has-platform-nav .tabs button {
  min-height: 32px;
  padding: 4px 12px;
  border-radius: 999px !important;
  font-weight: 650;
  font-size: 13px;
}
html.has-platform-nav .horo-bar .tabs button.active,
html.has-platform-nav .tabs button.active {
  background: var(--accent-weak) !important;
  color: var(--accent) !important;
  border-color: var(--accent) !important;
}
html.has-platform-nav .tab {
  border-radius: var(--radius);
}
html.has-platform-nav .tab[aria-selected="true"] {
  background: var(--accent-weak) !important;
  border-color: var(--border) !important;
}
html.has-platform-nav .tab[aria-selected="true"]::after {
  background: var(--accent) !important;
}
html.has-platform-nav .app h1 {
  font-size: clamp(26px, 4vw, 32px);
  font-weight: 750;
  letter-spacing: .02em;
}
