/* ============================================================
   Kevin After School Planet · Design Tokens
   取色来源：UI组件图 18_06_16 / 18_06_17 / 18_06_18
   ============================================================ */

:root {
  /* ---- 品牌色 ---- */
  --kevin-primary:        #6C55F5;  /* 主色·星空紫 */
  --kevin-primary-dark:   #4B36D8;  /* 主色加深（hover/渐变端） */
  --kevin-primary-light:  #8B6CFF;  /* 品牌紫亮 */
  --kevin-blue:           #2857A4;  /* 品牌蓝 */
  --kevin-blue-light:     #586CFF;  /* 主色蓝（辅助） */
  --kevin-yellow:         #FFC83D;  /* 星星黄 */
  --kevin-orange:         #FF8A2A;  /* 活力橙 */
  --kevin-green:          #3ECF8E;  /* 研学绿（取自研学卡） */

  /* ---- 中性色 ---- */
  --kevin-text:           #24345B;  /* 文字主色 */
  --kevin-text-secondary: #64748B;  /* 辅助文字 */
  --kevin-bg:             #F7F5FF;  /* 浅紫背景 */
  --kevin-card-bg:        #FFFFFF;
  --kevin-border:         #E5E7FF;
  --kevin-white:          #FFFFFF;

  /* ---- 渐变色 ---- */
  --kevin-hero-from:      #5B3FD4;
  --kevin-hero-via:       #7B5CF0;
  --kevin-hero-to:        #9D8BFF;
  --kevin-gradient-btn:   linear-gradient(135deg, #6C55F5 0%, #4B36D8 100%);
  --kevin-gradient-hero:  linear-gradient(160deg, #5B3FD4 0%, #7B5CF0 45%, #9D8BFF 100%);
  --kevin-gradient-card-orange: linear-gradient(135deg, #FF9A3D 0%, #FF7A1A 100%);
  --kevin-gradient-card-blue:   linear-gradient(135deg, #4F8DFF 0%, #2F6BE0 100%);
  --kevin-gradient-card-purple: linear-gradient(135deg, #9D6CFF 0%, #6C55F5 100%);
  --kevin-gradient-card-green:  linear-gradient(135deg, #3ECF8E 0%, #16B374 100%);

  /* ---- 圆角 ---- */
  --kevin-radius-sm:    8px;
  --kevin-radius-md:    14px;
  --kevin-radius-lg:    20px;
  --kevin-radius-xl:    28px;
  --kevin-radius-round: 999px;

  /* ---- 阴影 ---- */
  --kevin-shadow-sm: 0 2px 8px rgba(76, 54, 216, 0.08);
  --kevin-shadow-md: 0 8px 24px rgba(76, 54, 216, 0.12);
  --kevin-shadow-lg: 0 16px 48px rgba(76, 54, 216, 0.16);
  --kevin-shadow-card: 0 6px 20px rgba(36, 52, 91, 0.08);
  --kevin-shadow-floating: 0 12px 32px rgba(76, 54, 216, 0.22);

  /* ---- 布局 ---- */
  --kevin-container: 1200px;
  --kevin-navbar-h: 68px;

  /* ---- 字体 ---- */
  --kevin-font-cn: "Source Han Sans SC", "Noto Sans SC", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --kevin-font-en: "Poppins", "Source Han Sans SC", "Noto Sans SC",
    "PingFang SC", sans-serif;
}

/* ---- 基础复位 ---- */
html, body {
  margin: 0;
  padding: 0;
}
body.kevin-website {
  font-family: var(--kevin-font-cn);
  color: var(--kevin-text);
  background: var(--kevin-bg);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* 入场动画 translateX 起态会撑出横向滚动条——html 级兜底裁剪。
   body 上的 overflow-x:hidden 会传播失效，必须同时落在 html 上。 */
html { overflow-x: hidden; }
.kevin-website img { max-width: 100%; }
.kevin-website a { text-decoration: none; color: inherit; }
