/* 隆成义记忆学 VIS (base) */
:root {
  --lc-primary: #924823; /* 褐色 */
  --lc-accent: #e36c10; /* 橙色 */
  --lc-logo: #854622; /* logo棕 */
  --lc-sand: #d1bea0; /* 新辅助色 */
  --lc-sun: #e78913; /* 太阳橙 */

  --lc-bg: #fbfaf7;
  --lc-panel: #ffffff;
  --lc-text: #1f2937;
  --lc-muted: #64748b;
  --lc-ring: rgba(146, 72, 35, 0.18);
  --lc-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  --lc-radius: 22px;

  /* From VIS key pages (A-08/A-09): recommended tints range */
  --lc-primary-rgb: 133 70 34; /* A-08 */
  --lc-sand-rgb: 209 190 160; /* A-09 */
  --lc-sun-rgb: 231 137 19; /* A-09 */
}

/* Global background (brand-tinted, subtle) */
body.lc-vis {
  color: var(--lc-text);
  background: radial-gradient(1100px 520px at 18% 8%, rgba(var(--lc-sun-rgb) / 0.16), transparent 62%),
    radial-gradient(980px 520px at 86% 24%, rgba(var(--lc-primary-rgb) / 0.12), transparent 66%),
    radial-gradient(900px 560px at 70% 92%, rgba(var(--lc-sand-rgb) / 0.42), transparent 60%),
    linear-gradient(180deg, #fffdf8 0%, #f8fafc 100%);
  background-attachment: fixed;
}

/* Reusable primitives */
.lc-card {
  background: var(--lc-panel);
  border-radius: var(--lc-radius);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.55);
}

.lc-panel {
  background: color-mix(in srgb, var(--lc-panel) 92%, transparent);
  border-radius: var(--lc-radius);
  border: 1px solid rgba(148, 163, 184, 0.45);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(10px);
}

/* Decorative waves inspired by VIS auxiliary shapes (A-16/A-17) */
.lc-wave {
  position: relative;
  overflow: hidden;
}
.lc-wave::after {
  content: "";
  position: absolute;
  left: -10%;
  right: -10%;
  bottom: -40%;
  height: 220px;
  background: radial-gradient(520px 220px at 40% 20%, rgba(var(--lc-sand-rgb) / 0.85), rgba(var(--lc-sand-rgb) / 0.25) 58%, transparent 60%),
    radial-gradient(560px 240px at 70% 10%, rgba(var(--lc-sun-rgb) / 0.78), rgba(var(--lc-sun-rgb) / 0.18) 58%, transparent 60%);
  transform: rotate(-2deg);
  pointer-events: none;
}

.lc-btn-primary {
  background: var(--lc-primary);
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(146, 72, 35, 0.18);
}
.lc-btn-primary:hover {
  background: color-mix(in srgb, var(--lc-primary) 88%, #000);
}

.lc-btn-accent {
  background: var(--lc-accent);
  color: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(227, 108, 16, 0.18);
}
.lc-btn-accent:hover {
  background: color-mix(in srgb, var(--lc-accent) 88%, #000);
}

.lc-btn-ghost {
  background: rgba(255, 255, 255, 0.85);
  color: #334155;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.6);
}
.lc-btn-ghost:hover {
  background: rgba(248, 250, 252, 0.95);
}

.lc-pill {
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.55);
  background: color-mix(in srgb, var(--lc-sand) 26%, white);
  color: color-mix(in srgb, var(--lc-logo) 82%, #000);
}

/* Mascot sheet helper (no cutting needed): a background-position grid */
.lc-mascot {
  width: 84px;
  height: 84px;
  border-radius: 18px;
  background-color: #fff;
  border: 1px solid rgba(148, 163, 184, 0.55);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  background-image: url("../隆成义表情包.png");
  background-repeat: no-repeat;
  background-size: 400% 500%; /* 4 cols x 5 rows (assumption) */
  background-position: 0% 0%;
  overflow: hidden;
}

