:root {
  --primary: #63D7CC;
  --primary-hover: #55C9BE;
  --primary-light: #E8FAF8;

  --navy: #1F2A44;

  --bg: #F3FAF8;
  --card: #FFFFFF;

  --gray-900: #333333;
  --gray-700: #666666;
  --gray-500: #999999;
  --gray-300: #D9D9D9;
  --gray-100: #F5F5F5;

  --danger: #FF5A5A;
  --success: #00B894;
  --warning: #FFB648;

  --radius-card: 28px;
  --radius-button: 20px;
  --radius-input: 18px;
  --radius-bottom-nav: 32px;

  --shadow-card: 0 4px 20px rgba(0, 0, 0, .05);
  --shadow-fab: 0 8px 24px rgba(0, 0, 0, .15);

  --page-padding: 18px;
  --card-gap: 14px;
  --section-gap: 20px;
  --control-height: 46px;

  --transition: all .2s ease;
  --nav-height: 76px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { height: 100%; }
body { min-height: 100%; }

body {
  font-family: 'Pretendard', -apple-system, 'Apple SD Gothic Neo', sans-serif;
  background: var(--bg);
  color: var(--gray-900);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  -webkit-tap-highlight-color: transparent;
}

h1 { font-size: 36px; font-weight: 800; color: var(--navy); }
h2 { font-size: 28px; font-weight: 800; color: var(--navy); }
h3 { font-size: 22px; font-weight: 700; color: var(--navy); }

.caption { font-size: 13px; font-weight: 400; color: var(--gray-500); }

button, input, select, textarea { font-family: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.hidden { display: none !important; }

.field-advanced { display: none; }
body.advanced-mode .field-advanced { display: block; }
