/* Shared foundation. Korean UI >=14px, body >=15px. No remote fonts/assets. */
:root{
  color-scheme:light;
  --font-sans:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Segoe UI","Noto Sans KR",sans-serif;
  --gray-50:#f9fafb;--gray-100:#f2f4f6;--gray-200:#e5e8eb;--gray-300:#d1d6db;--gray-400:#b0b8c1;
  --gray-500:#8b95a1;--gray-600:#6b7684;--gray-700:#4e5968;--gray-800:#333d4b;--gray-900:#191f28;
  --blue-50:#f0f6ff;--blue-100:#e8f3ff;--blue-500:#3182f6;--blue-600:#2272eb;--blue-700:#1b64da;
  --red-50:#fff3f2;--red-600:#d34343;--orange-50:#fff8e8;--orange-700:#916321;
  --text-sm:14px;--text-body:15px;--text-lg:17px;--text-reading:18px;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--control-height:48px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;
  --bg:var(--gray-50);--surface:#fff;--line:var(--gray-200);--text:var(--gray-900);--muted:var(--gray-600);
  --green:var(--blue-500);--mint:var(--blue-100);--orange:var(--orange-700);--red:var(--red-600);
  font-family:var(--font-sans);font-synthesis:none;font-size:15px;line-height:1.65;color:var(--text);
}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea,select{font-family:inherit;font-size:15px;line-height:1.5;max-width:100%}
input,select,textarea{color:var(--gray-900);background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:12px 16px;min-height:var(--control-height)}
input::placeholder,textarea::placeholder{color:var(--gray-500);opacity:1}
select:not([multiple]):not([size]){
  appearance:none;-webkit-appearance:none;
  /* 16px outer gap + 16px chevron + 12px breathing room: keep text out of arrow. */
  padding:12px 44px 12px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 7.5 5 5 5-5' stroke='%236b7684' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:16px 16px;background-position:right 16px center;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
}
select[multiple],select[size]{background-image:none;padding:12px 16px}
select option{font-size:15px;padding:8px}
input[type=checkbox],input[type=radio]{min-height:0;width:18px;height:18px;flex-shrink:0;accent-color:var(--blue-500);padding:0}
textarea{width:100%;min-height:120px;line-height:1.8;resize:vertical}
button,a,input,textarea,select,summary{outline-offset:4px}
:focus-visible{outline:3px solid #7bb3ff}
button{cursor:pointer;min-height:44px}
button:disabled{cursor:not-allowed;opacity:.55}
small{font-size:14px}
p{font-size:15px;line-height:1.8}
h1,h2,h3,p{margin:0}
h1,h2,h3{word-break:keep-all;letter-spacing:-.025em}
a{color:inherit;text-decoration:none;touch-action:manipulation}
button{touch-action:manipulation}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}
