/* ============================================================
   DPDNS 设计系统变量
   arXiv 式学术严肃 + 精致打磨的视觉基调
   ============================================================ */

:root {
  /* —— 品牌色（取自 DPDNS-logo.svg） —— */
  --dpdns-deep: #014190;      /* 主品牌深蓝 */
  --dpdns-blue: #024694;      /* 次品牌蓝 */
  --dpdns-azure: #02a2e2;     /* 点缀亮蓝 */
  --dpdns-teal: #02a69d;      /* 点缀青绿 */
  --dpdns-accent: #20a6e0;    /* 强调亮蓝 */

  /* —— 文字色 —— */
  --text-primary: #0d1b2a;    /* 主文本 近黑深蓝 */
  --text-secondary: #4a5568;  /* 次文本 */
  --text-tertiary: #8492a6;   /* 弱文本 */
  --text-muted: #b0bac6;      /* 占位/禁用 */
  --text-on-brand: #ffffff;   /* 品牌色上的白 */
  --text-link: #024694;
  --text-link-hover: #014190;

  /* —— 背景与表面 —— */
  --bg-app: #f5f7fa;          /* 应用底色 */
  --bg-surface: #ffffff;      /* 卡片/面板 */
  --bg-surface-alt: #f0f3f7;  /* 次表面 */
  --bg-hover: #eaeff5;        /* 悬停底 */
  --bg-active: #e2e8f0;       /* 按下/激活 */
  --bg-overlay: rgba(13,27,42,.55); /* 遮罩 */
  --bg-glass: rgba(255,255,255,.72); /* 毛玻璃 */

  /* —— 边框与分隔 —— */
  --border-subtle: #e6ebf0;
  --border-default: #d8dee8;
  --border-strong: #c3ccd8;
  --divider: rgba(13,27,42,.08);

  /* —— 状态色 —— */
  --c-success: #1a9e6e;
  --c-success-bg: #e6f6ef;
  --c-warn: #c9881a;
  --c-warn-bg: #fdf3e3;
  --c-danger: #c0392b;
  --c-danger-bg: #fbe7e5;
  --c-info: #024694;
  --c-info-bg: #e3edf8;
  --c-official: #014190;       /* 官方管理员色 */
  --c-official-bg: #eaf0fb;

  /* —— 字体 —— */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;
  --font-serif: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", Georgia, "Times New Roman", serif;
  --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace;

  /* —— 字号 —— */
  --fs-xs: .75rem;   /* 12 */
  --fs-sm: .8125rem; /* 13 */
  --fs-base: .9375rem;/* 15 */
  --fs-md: 1rem;     /* 16 */
  --fs-lg: 1.125rem; /* 18 */
  --fs-xl: 1.375rem; /* 22 */
  --fs-2xl: 1.75rem; /* 28 */
  --fs-3xl: 2.25rem; /* 36 */
  --fs-4xl: 3rem;    /* 48 */
  --fs-hero: 3.75rem;/* 60 */

  /* —— 间距（4 倍数体系） —— */
  --sp-0: 0; --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
  --sp-16: 64px; --sp-20: 80px; --sp-24: 96px;

  /* —— 圆角（克制，不幼稚） —— */
  --r-xs: 2px; --r-sm: 4px; --r-md: 6px; --r-lg: 10px; --r-xl: 14px; --r-pill: 999px;

  /* —— 阴影（精致分层） —— */
  --shadow-xs: 0 1px 2px rgba(13,27,42,.05);
  --shadow-sm: 0 1px 3px rgba(13,27,42,.08), 0 1px 2px rgba(13,27,42,.04);
  --shadow-md: 0 4px 12px rgba(13,27,42,.08), 0 2px 4px rgba(13,27,42,.04);
  --shadow-lg: 0 8px 24px rgba(13,27,42,.10), 0 4px 8px rgba(13,27,42,.05);
  --shadow-xl: 0 16px 40px rgba(13,27,42,.12), 0 8px 16px rgba(13,27,42,.06);
  --shadow-focus: 0 0 0 3px rgba(2,162,226,.28);
  --shadow-brand: 0 4px 14px rgba(1,65,144,.22);

  /* —— 布局尺寸 —— */
  --topbar-h: 56px;
  --sidebar-w: 232px;
  --sidebar-w-collapsed: 64px;
  --content-max: 1240px;
  --detail-right: 37.5%;

  /* —— 动效 —— */
  --ease: cubic-bezier(.4, 0, .2, 1);
  --ease-out: cubic-bezier(.0, 0, .2, 1);
  --ease-in: cubic-bezier(.4, 0, 1, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --dur-fast: .12s;
  --dur: .2s;
  --dur-slow: .36s;
  --dur-slower: .5s;

  /* —— z-index 层级 —— */
  --z-base: 1;
  --z-sticky: 100;
  --z-topbar: 200;
  --z-sidebar: 150;
  --z-dropdown: 300;
  --z-overlay: 800;
  --z-modal: 900;
  --z-toast: 1000;
  --z-lightbox: 950;
}

/* 深色主题 */
[data-theme="dark"] {
  --text-primary: #e8edf3;
  --text-secondary: #a8b5c5;
  --text-tertiary: #7a8696;
  --text-muted: #5a6473;
  --text-link: #5db0e8;
  --text-link-hover: #7fc2f0;

  --bg-app: #0b1220;
  --bg-surface: #131c2e;
  --bg-surface-alt: #1a2538;
  --bg-hover: #1f2d44;
  --bg-active: #283655;
  --bg-glass: rgba(19,28,46,.78);

  --border-subtle: #1e2a3d;
  --border-default: #283655;
  --border-strong: #3a4a66;
  --divider: rgba(255,255,255,.06);

  --c-success-bg: #0f2a23;
  --c-warn-bg: #2c2410;
  --c-danger-bg: #2c1413;
  --c-info-bg: #102236;
  --c-official-bg: #0e1a2e;

  --shadow-xs: 0 1px 2px rgba(0,0,0,.3);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2);
  --shadow-md: 0 4px 12px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.2);
  --shadow-lg: 0 8px 24px rgba(0,0,0,.45), 0 4px 8px rgba(0,0,0,.25);
  --shadow-xl: 0 16px 40px rgba(0,0,0,.5), 0 8px 16px rgba(0,0,0,.3);
  --shadow-focus: 0 0 0 3px rgba(2,162,226,.4);
  --shadow-brand: 0 4px 14px rgba(2,70,148,.5);
}

/* 效果主题：low / default / high / xhigh / ultra / max */
[data-effects="low"] {
  --dur-fast: .01s; --dur: .01s; --dur-slow: .05s; --dur-slower: .08s;
}
[data-effects="max"] {
  --dur-fast: .16s; --dur: .32s; --dur-slow: .6s; --dur-slower: .8s;
}
@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: .01s; --dur: .01s; --dur-slow: .01s; --dur-slower: .01s; }
}
