/* base.css —— 变量 / 重置 / 主题色 */
:root {
  --sky: #8fd4f5;
  --sky-2: #cdeeff;
  --sun: #ffd56a;
  --cream: #fff8ee;
  --ink: #24315c;
  --ink-2: #5a668f;
  --coral: #ff4b3e;
  --coral-deep: #cf2f24;
  --navy: #2a3d78;
  --navy-deep: #1b2952;
  --leaf: #3eab6e;
  --leaf-deep: #1f7a49;
  --gold: #ffc83d;
  --gold-deep: #d99413;
  --wood: #d08945;
  --rail: #d5dde6;
  --panel: #fff8ee;
  --radius-l: 26px;
  --radius-m: 18px;
  --radius-s: 12px;
  --shadow: 0 10px 0 rgba(36, 49, 92, 0.16);
  --shadow-s: 0 5px 0 rgba(36, 49, 92, 0.16);
  --safe-t: env(safe-area-inset-top, 0px);
  --safe-r: env(safe-area-inset-right, 0px);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-l: env(safe-area-inset-left, 0px);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  width: 100%;
}

body {
  overflow: hidden;
  color: var(--ink);
  font-family: "Arial Rounded MT Bold", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  background: #7ec8ea;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
  overscroll-behavior: none;
}

button,
input,
select {
  font-family: inherit;
  color: inherit;
}

button {
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

button:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

.hidden { display: none !important; }

/* 圆润的卡通描边效果 */
.toon {
  border: 4px solid var(--navy);
  box-shadow: var(--shadow);
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}