/* ZERO · 主题 v9 —— 冰蓝 / 雾白，配合首页插画 */

:root{
  --background:#f4f9fe;
  --foreground:#1f2d3d;
  --card:#ffffff;
  --card-foreground:#1f2d3d;
  --popover:#ffffff;
  --popover-foreground:#1f2d3d;
  --primary:#4a7fb5;
  --primary-foreground:#ffffff;
  --secondary:#e3f0fb;
  --secondary-foreground:#2b4c6f;
  --muted:#eef6fd;
  --muted-foreground:#5d6f83;
  --accent:#7db4e2;
  --accent-foreground:#12314d;
  --border:#d6e6f4;
  --input:#d6e6f4;
  --ring:#7db4e2;
  --radius:0.5rem;
  --destructive:#c0564f;
  --destructive-foreground:#fff;

  --sidebar:#eaf3fc;
  --sidebar-foreground:#2b4c6f;
  --sidebar-primary:#4a7fb5;
  --sidebar-primary-foreground:#fff;
  --sidebar-accent:#dcebf9;
  --sidebar-accent-foreground:#2b4c6f;
  --sidebar-border:#d6e6f4;
  --sidebar-ring:#7db4e2;

  --font-ui-sans:"Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  --font-body:var(--font-ui-sans);
  --default-font-family:var(--font-ui-sans);
}

.dark{
  --background:#0e1a26;
  --foreground:#dceaf7;
  --card:#152434;
  --card-foreground:#dceaf7;
  --popover:#152434;
  --popover-foreground:#dceaf7;
  --primary:#8fc2e8;
  --primary-foreground:#0b1621;
  --secondary:#1d3145;
  --secondary-foreground:#cfe4f6;
  --muted:#17293a;
  --muted-foreground:#96aec4;
  --accent:#7db4e2;
  --accent-foreground:#0b1621;
  --border:#24384c;
  --input:#24384c;
  --ring:#7db4e2;
  --destructive:#c0605a;
  --destructive-foreground:#0b1621;

  --sidebar:#111f2d;
  --sidebar-foreground:#cfe0ef;
  --sidebar-primary:#8fc2e8;
  --sidebar-primary-foreground:#0b1621;
  --sidebar-accent:#1a2c3e;
  --sidebar-accent-foreground:#cfe0ef;
  --sidebar-border:#24384c;
  --sidebar-ring:#7db4e2;
}

/* ---------- 背景：冷雾 + 淡淡的插画 ---------- */
@keyframes zero-drift{
  0%   { transform:translate3d(-4%,-3%,0) scale(1); }
  50%  { transform:translate3d(4%,3%,0) scale(1.06); }
  100% { transform:translate3d(-4%,-3%,0) scale(1); }
}
body{
  background-color:var(--background);
  background-image:none !important;
  position:relative;
  isolation:isolate;
}
body::before{
  content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(46% 40% at 14% 8%, rgba(125,180,226,.20), transparent 70%),
    radial-gradient(38% 34% at 86% 6%, rgba(168,207,238,.22), transparent 72%),
    radial-gradient(50% 44% at 70% 92%, rgba(143,196,234,.16), transparent 72%);
  animation:zero-drift 28s ease-in-out infinite;
  will-change:transform;
}
.dark body::before{
  background:
    radial-gradient(46% 40% at 14% 8%, rgba(60,110,160,.22), transparent 70%),
    radial-gradient(38% 34% at 86% 6%, rgba(90,140,190,.14), transparent 72%),
    radial-gradient(50% 44% at 70% 92%, rgba(40,80,120,.20), transparent 72%);
}
body::after{
  content:"";position:fixed;right:-40px;bottom:-60px;width:640px;height:640px;
  z-index:-1;pointer-events:none;opacity:.10;
  background:url("/theme/hero.jpg") center / contain no-repeat;
  -webkit-mask-image:radial-gradient(closest-side, #000 30%, transparent 78%);
  mask-image:radial-gradient(closest-side, #000 30%, transparent 78%);
}
.dark body::after{opacity:.07}

h1,h2,h3,.zero-serif{
  font-family:"Noto Serif CJK SC","Noto Serif SC","Songti SC","SimSun",Georgia,serif;
  letter-spacing:.01em;
}

@keyframes zero-fade{from{opacity:0}to{opacity:1}}
main{animation:zero-fade .35s ease both}

button,a[role="button"],[data-slot="button"]{
  transition:transform .18s ease, box-shadow .22s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
button:hover,a[role="button"]:hover,[data-slot="button"]:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(74,127,181,.22);
}
button:active,a[role="button"]:active,[data-slot="button"]:active{
  transform:translateY(0) scale(.99);
}

tbody tr{transition:background-color .18s ease}
tbody tr:hover{background:rgba(168,207,238,.16)}
thead th{letter-spacing:.1em;font-weight:600}

input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px rgba(125,180,226,.45);
  border-color:var(--accent);
}

nav a,[data-slot="sidebar"] a{transition:background-color .18s ease, transform .18s ease, color .18s ease}
nav a:hover,[data-slot="sidebar"] a:hover{transform:translateX(2px)}

[data-slot="card"],.card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
[data-slot="card"]:hover,.card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(43,76,111,.12);
  border-color:rgba(125,180,226,.55);
}

/* ---------- 登录/注册：冰蓝信笺 ---------- */
form:has(input[type="password"]){
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.80));
  border:1px solid rgba(168,207,238,.65);
  border-radius:14px;
  padding:34px 32px 30px;
  box-shadow:0 24px 60px rgba(43,76,111,.12), inset 0 1px 0 #fff;
  backdrop-filter:blur(12px);
}
form:has(input[type="password"])::before{
  content:"";position:absolute;left:20px;right:20px;top:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#7db4e2,transparent);
}
@media (max-width:640px){
  form:has(input[type="password"]){padding:24px 20px 22px;border-radius:12px}
}
input,textarea,select{background-color:#fff !important;border-color:#cfe2f2 !important}
input::placeholder,textarea::placeholder{color:#93a9bd !important}
label{color:#33506e}

::selection{background:rgba(125,180,226,.28)}
*{scrollbar-width:thin;scrollbar-color:rgba(74,127,181,.35) transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-thumb{background:rgba(74,127,181,.30);border-radius:8px}

@media (max-width:900px){
  body::after{display:none}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* ---------- 控制台顶栏：去掉 new-api 默认彩色徽标，只保留站点名 ---------- */
img[src="/logo.png"],
img[alt="徽标"]{display:none !important}
a > div:has(> img[src="/logo.png"]){display:none !important}
