/* ═══════════════════════════════════════════
   MONO Design Tokens — 联合文社
   约束：0圆角 · 1px边框 · 无投影 · 无渐变 · 无模糊
   ═══════════════════════════════════════════ */

:root {
  /* ── Light Mode ── */
  --ui-bg:           #fcfcfc;
  --ui-surface:      #f7f7f7;
  --ui-surface-2:    #efefef;
  --ui-fg:           #1a1a1a;
  --ui-fg-muted:     #5c5c5c;
  --ui-accent:       #171717;
  --ui-accent-hover: #0a0a0a;
  --ui-line:         #e6e6e6;
  --ui-line-strong:  #cccccc;
  --ui-line-hover:   #3a3a3a;
  --ui-overlay:      rgba(0,0,0,0.04);
  --ui-selection:    #1a1a1a;
  --ui-selection-fg: #fcfcfc;

  /* ── Shape ── */
  --ui-radius:       0px;
  --ui-border:       1px;

  /* ── Typography ── */
  --font-mono:       'JetBrains Mono','Fira Code','Cascadia Code','Consolas',monospace;
  --font-sans:       'Inter','SF Pro Display','PingFang SC','Microsoft YaHei',sans-serif;
  --font-serif:      'Noto Serif SC','Source Han Serif SC','SimSun',serif;

  /* ── Motion ── */
  --spring-stiffness: 500;
  --spring-damping:   40;
  --spring-mass:      0.6;
  --dur-fast:         120ms;
  --dur-base:         200ms;
  --dur-slow:         320ms;
  --ease-out:         cubic-bezier(0.16,1,0.3,1);
  --ease-in:          cubic-bezier(0.4,0,1,1);
  --ease-in-out:      cubic-bezier(0.65,0,0.35,1);

  /* ── Layout ── */
  --nav-height:       56px;
  --sidebar-width:    260px;
  --max-width:        1200px;
  --gap-xs:           6px;
  --gap-sm:           12px;
  --gap-md:           20px;
  --gap-lg:           32px;
  --gap-xl:           48px;
  --gap-2xl:          64px;
  --gap-3xl:          96px;

  /* ── Cursor ── */
  --cursor-default:   url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='20' height='20' fill='none' stroke='%231a1a1a' stroke-width='1.5'/%3E%3Crect x='8' y='8' width='8' height='8' fill='%231a1a1a'/%3E%3C/svg%3E") 12 12, auto;
  --cursor-pointer:   url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='2' width='20' height='20' fill='%231a1a1a' stroke='%231a1a1a' stroke-width='1'/%3E%3Crect x='5' y='5' width='14' height='14' fill='%23fcfcfc'/%3E%3Crect x='9' y='9' width='6' height='6' fill='%231a1a1a'/%3E%3C/svg%3E") 12 12, pointer;
  --cursor-text:      url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='12' y1='3' x2='12' y2='21' stroke='%231a1a1a' stroke-width='1.5'/%3E%3Cline x1='9' y1='6' x2='15' y2='6' stroke='%231a1a1a' stroke-width='1'/%3E%3Cline x1='9' y1='20' x2='15' y2='20' stroke='%231a1a1a' stroke-width='1'/%3E%3C/svg%3E") 12 12, text;
}

/* ── Dark Mode (default preferred) ── */
[data-theme="dark"], .theme-dark {
  --ui-bg:           #0a0a0a;
  --ui-surface:      #111111;
  --ui-surface-2:    #1a1a1a;
  --ui-fg:           #e4e4e4;
  --ui-fg-muted:     #a1a1a1;
  --ui-accent:       #ededed;
  --ui-accent-hover: #ffffff;
  --ui-line:         #212121;
  --ui-line-strong:  #3a3a3a;
  --ui-line-hover:   #555555;
  --ui-overlay:      rgba(255,255,255,0.04);
  --ui-selection:    #e4e4e4;
  --ui-selection-fg: #0a0a0a;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ui-bg:           #0a0a0a;
    --ui-surface:      #111111;
    --ui-surface-2:    #1a1a1a;
    --ui-fg:           #e4e4e4;
    --ui-fg-muted:     #a1a1a1;
    --ui-accent:       #ededed;
    --ui-accent-hover: #ffffff;
    --ui-line:         #212121;
    --ui-line-strong:  #3a3a3a;
    --ui-line-hover:   #555555;
    --ui-overlay:      rgba(255,255,255,0.04);
    --ui-selection:    #e4e4e4;
    --ui-selection-fg: #0a0a0a;
  }
}
