/* portal 设计 Token —— 对齐 ChatGPT「编程学堂」稿：主蓝、大圆角、轻阴影 */
:root {
  --c-primary:        #2361FC;
  --c-primary-hover:  #1A52E8;
  --c-primary-soft:   #E8EFFF;
  --c-primary-deep:   #1A52E8;
  --c-primary-bright: #5B9AFF;
  --c-gradient:       linear-gradient(135deg, #5B9AFF 0%, #2361FC 50%, #4A7FFF 100%);
  --c-accent:         #ff7a1a;
  --c-success:        #16a34a;
  --c-warning:        #f59e0b;
  --c-danger:         #dc2626;

  --c-text:           #1a1f36;
  --c-text-sub:       #5b6478;
  --c-text-weak:      #8b93a7;
  --c-border:         #dcebea;
  --c-border-light:   #e8f2f1;
  --c-bg:             #ffffff;
  --c-bg-page:        #fbfefe;
  --c-bg-code:        #f3f8f8;
  --c-hero-from:      #f5fcfb;
  --c-hero-to:        #e8f7f6;

  --fs-xs:   12px;
  --fs-sm:  13px;
  --fs-base: 14px;
  --fs-md:   16px;
  --fs-lg:   18px;
  --fs-xl:   22px;
  --fs-2xl:  28px;
  --fs-3xl:  40px;

  --lh-tight: 1.3;
  --lh-base:  1.7;
  --lh-doc:   1.85;

  --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;

  --r-sm: 6px; --r-md: 10px; --r-lg: 14px; --r-xl: 20px; --r-full: 999px;

  /* 兼容旧名 */
  --sh-sm: 0 1px 2px rgba(26, 31, 54, .04);
  --sh-md: 0 8px 24px rgba(26, 31, 54, .06);
  --sh-lg: 0 16px 40px rgba(35, 97, 252, .12);

  /* 阴影分级：0 贴合 → 4 悬浮最高 */
  --sh-0: none;
  --sh-1: 0 1px 2px rgba(16, 24, 40, .04);
  --sh-2: 0 4px 12px rgba(16, 24, 40, .06);
  --sh-3: 0 12px 28px rgba(16, 24, 40, .10);
  --sh-4: 0 24px 48px rgba(16, 24, 40, .16);
  --sh-primary-glow: 0 12px 32px rgba(35, 97, 252, .22);

  --w-container:  1200px;
  --w-header-gutter: 100px;
  --w-footer-gutter: 150px;
  --w-page-gutter: 100px;
  --h-header:     64px;
  --w-doc-left:   260px;
  --w-doc-right:  220px;
  --z-header:     100;
  --z-megamenu:   200;
  --z-drawer:     300;
  --z-modal:      400;

  --ff-base: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei",
             -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --ease: cubic-bezier(.2,.8,.2,1);
  --ease-out-soft: cubic-bezier(.16, 1, .3, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --t-fast: 150ms;
  --t-base: 220ms;
  --t-micro: 120ms;
  --t-enter: 380ms;
  --t-ambient: 2400ms;
}
