/* ============================================================
   魔转 · L1 视觉系统层（深空石墨 + 电光青紫）
   配色在 gen-palette.css（自动生成），本文件只管：
   字体 / 形状 / 质感 / 密度 —— 与 sub2api 原版形态解耦
   ============================================================ */

/* ---------- 字体：自托管，不依赖外部 CDN（CSP font-src 'self'） ---------- */
@font-face{
  font-family:'M3 Sans';src:url('/custom/fonts/inter-var.woff2') format('woff2-variations');
  font-weight:100 900;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2190-21BB,U+2212,U+2215;
}
@font-face{
  font-family:'M3 Mono';src:url('/custom/fonts/jbmono-var.woff2') format('woff2-variations');
  font-weight:100 800;font-display:swap;
}

:root{
  --m3-sans:'M3 Sans','HarmonyOS Sans SC','MiSans','PingFang SC','Microsoft YaHei',sans-serif;
  --m3-mono:'M3 Mono','SF Mono',Menlo,Consolas,monospace;

  /* 石墨阶梯 */
  --m3-bg:#0D0E12; --m3-surface:#16181F; --m3-raised:#1B1E27;
  --m3-line:#262A35; --m3-line-soft:#1F2330;
  /* 电光青紫 */
  --m3-cyan:#4FD1FF; --m3-violet:#A78BFA; --m3-accent:#22C1F5;
  --m3-glow:rgba(79,209,255,.18);

  --m3-r:4px;      /* 统一硬朗圆角，与原版 8~16px 圆润卡片反差 */
  --m3-r-lg:6px;
}

/* ---------- 全局字体接管 ---------- */
html,body,button,input,select,textarea,.font-sans{
  font-family:var(--m3-sans)!important;
  -webkit-font-smoothing:antialiased;
}
code,pre,kbd,samp,.font-mono,
[class*="font-mono"]{font-family:var(--m3-mono)!important}

/* 数字等宽对齐：统计数字/表格/金额/用量 —— 控制台质感的关键 */
table,td,th,
.tabular-nums,
[class*="text-2xl"],[class*="text-3xl"],[class*="text-4xl"]{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"cv01" 1;
}

/* ---------- 形状语言：圆角整体收硬（原版 7 个类全覆盖） ---------- */
.rounded-sm{border-radius:2px!important}
.rounded-md{border-radius:var(--m3-r)!important}
.rounded-lg{border-radius:var(--m3-r)!important}
.rounded-xl{border-radius:var(--m3-r-lg)!important}
.rounded-2xl{border-radius:var(--m3-r-lg)!important}
.rounded-3xl{border-radius:8px!important}
/* 头像/开关/标签保持胶囊，避免变形 */
.rounded-full{border-radius:9999px!important}

/* ---------- 质感：去阴影，改 1px 描边 ---------- */
.shadow,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{
  box-shadow:none!important;
}
.dark .shadow,.dark .shadow-sm,.dark .shadow-md,
.dark .shadow-lg,.dark .shadow-xl,.dark .shadow-2xl{
  box-shadow:none!important;
}
/* 卡片：描边式（作用于常见卡片组合类） */
.dark .bg-dark-800,.dark .bg-dark-900,
.dark .bg-dark-800\/50,.dark .bg-dark-900\/50{
  background-color:var(--m3-surface)!important;
  border:1px solid var(--m3-line);
}
/* 模态/下拉浮层仍需要层次，用高光边而非阴影 */
[role="dialog"],[role="menu"],[role="listbox"]{
  box-shadow:0 0 0 1px var(--m3-line),0 24px 64px -16px #000!important;
}

/* ---------- 底色 + 网格纹理 ---------- */
.dark body{background-color:var(--m3-bg)!important}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--m3-line-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--m3-line-soft) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.35;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
}
html:not(.dark) body::before{opacity:.5}
#app{position:relative;z-index:1}

/* ---------- 主色：渐变强调（青→紫），原版是纯色 teal ---------- */
.dark .bg-primary-500,.dark .bg-primary-600{
  background-image:linear-gradient(135deg,var(--m3-cyan),var(--m3-violet))!important;
  color:#08131C!important;font-weight:600;
}
.dark .bg-primary-500:hover,.dark .bg-primary-600:hover{filter:brightness(1.08)}

/* 渐变文字：原版硬编码 teal→slate（会在深色底上淡成灰），换成青→紫 */
.text-gradient{
  background-image:linear-gradient(120deg,var(--m3-cyan),var(--m3-violet))!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}

/* focus 环：细描边 + 微辉光，替代原版粗 ring */
*:focus-visible,
.focus\:ring-2:focus,.focus\:ring-primary-500:focus{
  outline:none!important;
  --tw-ring-color:var(--m3-cyan)!important;
  box-shadow:0 0 0 1px var(--m3-cyan),0 0 0 4px var(--m3-glow)!important;
}

/* ---------- 密度：整体收紧，控制台观感 ---------- */
table th{
  font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600!important;padding-top:10px!important;padding-bottom:10px!important;
  border-bottom:1px solid var(--m3-line)!important;
}
table td{padding-top:10px!important;padding-bottom:10px!important}
.dark table tbody tr:hover{background:rgba(79,209,255,.045)!important}

/* 输入框：底色下沉 + 细边 */
.dark input,.dark select,.dark textarea{
  background-color:#0F1117!important;border-color:var(--m3-line)!important;
}

/* ---------- 状态色语义化（保留红/黄/绿语义，仅降饱和贴合石墨底） ---------- */
.dark .bg-green-500,.dark .bg-emerald-500{background-color:#2BD98A!important}
.dark .bg-red-500,.dark .bg-rose-500{background-color:#FF5D6C!important}
.dark .bg-amber-500,.dark .bg-yellow-500{background-color:#FFB84D!important}

/* ---------- 滚动条 ---------- */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{
  background:var(--m3-line);border-radius:0;border:3px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:#39405230;background-clip:content-box}

::selection{background:var(--m3-cyan);color:#08131C}

/* ---------- 隐藏开源身份线索 ---------- */
a[href*="github.com/Wei-Shaw"],
a[href*="github.com"][target="_blank"]{display:none!important}
