/* === TCOC Design Tokens === */
:root {
  /* Primary */
  --main: #F2C700;
  --main-hover: #D9B200;
  --main-light: #FFF8D6;

  /* Surfaces */
  --bg: #F7F7F7;
  --surface: #FFFFFF;
  --surface-hover: #F0F0F0;

  /* Borders & Shadows */
  --border: #E5E5E5;
  --shadow: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-lg: 0 4px 16px rgba(0,0,0,0.12);

  /* Text */
  --text: #1A1A1A;
  --text-muted: rgba(0, 0, 0, 0.50);
  --text-light: rgba(0, 0, 0, 0.50);

  /* Semantic */
  --danger: #E53E3E;
  --success: #38A169;
  --warning: #D69E2E;

  /* Radius */
  --radius: 8px;
  --radius-sm: 4px;
  --radius-pill: 100px;

  /* Font */
  --font-size: 1rem;
}

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


/* Focus-visible — keyboard-only focus ring */
:focus-visible {
  outline: 2px solid var(--main);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* === 行動裝置優化 === */

/* iOS safe area — 瀏海/底部手勢區 */
body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* 防止 iOS input zoom（font-size < 16px 時 Safari 會自動縮放） */
@media screen and (max-width: 768px) {
  select, input[type="text"], input[type="password"], input[type="date"], textarea {
    font-size: 16px !important;
  }
}

/* 觸控優化 — 確保所有按鈕有足夠的觸控區域 */
@media (pointer: coarse) {
  button, .btn, .btn-icon, .tab, select {
    min-height: 44px;
    min-width: 44px;
  }
}

/* 防止長按選取文字干擾操作 */
.btn, .btn-icon, .tab, .status-dot {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* 消除 iOS 300ms tap delay */
html {
  touch-action: manipulation;
}
