/* ============================================
   Qimu Decor — 陆飞设计 Theme
   quiet warm neutral + moss green
   ============================================ */

:root {
  --qimu-background: #FAF8F5;
  --qimu-foreground: #2C2A26;

  --qimu-card: #FFFFFF;
  --qimu-card-foreground: #2C2A26;

  --qimu-popover: #FFFFFF;
  --qimu-popover-foreground: #2C2A26;

  --qimu-primary: #6B7B6A;
  --qimu-primary-foreground: #FFFFFF;

  --qimu-muted: #F5F2EE;
  --qimu-muted-foreground: #6B6560;

  --qimu-border: #E8E4DE;
  --qimu-input: #E8E4DE;
  --qimu-ring: #6B7B6A;

  --qimu-surface: #FFFFFF;
  --qimu-surface-2: #F5F2EE;
  --qimu-ink: #2C2A26;
  --qimu-ink-2: #6B6560;
  --qimu-ink-3: #9A948D;
  --qimu-line: #E8E4DE;
  --qimu-brand: #6B7B6A;
  --qimu-brand-ink: #FFFFFF;

  --qimu-radius-xs: 2px;
  --qimu-radius-sm: 4px;
  --qimu-radius-md: 8px;
  --qimu-radius-lg: 16px;
  --qimu-radius-pill: 999px;

  --qimu-shadow-1: 0 1px 2px rgba(44, 42, 38, 0.05), 0 1px 1px rgba(44, 42, 38, 0.03);
  --qimu-shadow-2: 0 8px 24px -8px rgba(44, 42, 38, 0.18);
  --qimu-shadow-3: 0 24px 60px -20px rgba(44, 42, 38, 0.30);

  --qimu-font-sans: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --qimu-font-serif: "Noto Serif SC", "Source Han Serif SC", Georgia, serif;

  --qimu-font-display: var(--qimu-font-serif);
  --qimu-font-heading: var(--qimu-font-serif);
  --qimu-font-body: var(--qimu-font-sans);

  --qimu-s-1: 4px;
  --qimu-s-2: 8px;
  --qimu-s-3: 12px;
  --qimu-s-4: 16px;
  --qimu-s-5: 24px;
  --qimu-s-6: 32px;
  --qimu-s-7: 48px;
  --qimu-s-8: 80px;
  --qimu-s-9: 120px;
}

/* Semantic token fallback */
.bg-background { background-color: var(--qimu-background); }
.text-background { color: var(--qimu-background); }
.border-background { border-color: var(--qimu-background); }
.bg-foreground { background-color: var(--qimu-foreground); }
.text-foreground { color: var(--qimu-foreground); }
.border-foreground { border-color: var(--qimu-foreground); }
.bg-card { background-color: var(--qimu-card); }
.text-card { color: var(--qimu-card); }
.border-card { border-color: var(--qimu-card); }
.bg-card-foreground { background-color: var(--qimu-card-foreground); }
.text-card-foreground { color: var(--qimu-card-foreground); }
.border-card-foreground { border-color: var(--qimu-card-foreground); }
.bg-popover { background-color: var(--qimu-popover); }
.text-popover { color: var(--qimu-popover); }
.border-popover { border-color: var(--qimu-popover); }
.bg-popover-foreground { background-color: var(--qimu-popover-foreground); }
.text-popover-foreground { color: var(--qimu-popover-foreground); }
.border-popover-foreground { border-color: var(--qimu-popover-foreground); }
.bg-primary { background-color: var(--qimu-primary); }
.text-primary { color: var(--qimu-primary); }
.border-primary { border-color: var(--qimu-primary); }
.bg-primary-foreground { background-color: var(--qimu-primary-foreground); }
.text-primary-foreground { color: var(--qimu-primary-foreground); }
.border-primary-foreground { border-color: var(--qimu-primary-foreground); }
.bg-muted { background-color: var(--qimu-muted); }
.text-muted { color: var(--qimu-muted); }
.border-muted { border-color: var(--qimu-muted); }
.bg-muted-foreground { background-color: var(--qimu-muted-foreground); }
.text-muted-foreground { color: var(--qimu-muted-foreground); }
.border-muted-foreground { border-color: var(--qimu-muted-foreground); }
.bg-border { background-color: var(--qimu-border); }
.text-border { color: var(--qimu-border); }
.border-border { border-color: var(--qimu-border); }
.bg-input { background-color: var(--qimu-input); }
.text-input { color: var(--qimu-input); }
.border-input { border-color: var(--qimu-input); }
.bg-ring { background-color: var(--qimu-ring); }
.text-ring { color: var(--qimu-ring); }
.border-ring { border-color: var(--qimu-ring); }

/* Base */
body {
  background: var(--qimu-background);
  color: var(--qimu-foreground);
  font-family: var(--qimu-font-sans);
}

/* Utility */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

[data-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: currentColor;
}
