:root{--bg: #ffffff;--bg-soft: #f4f6f8;--ink: #191f28;--ink-2: #4e5968;--ink-3: #8b95a1;--line: #e7eaee;--accent: #3182f6;--accent-press: #1b64da;--accent-soft: #eaf3fe;--ok: #14ae5c;--warn: #f04452;--warn-soft: #fdedef;--shadow-card: 0 1px 4px rgba(25, 31, 40, .06);--radius-card: 20px;--radius-input: 12px;--radius-btn: 14px;--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-soft);color:var(--ink);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent);text-decoration:none}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:56px;background:var(--accent);color:#fff;border-radius:var(--radius-btn);font-size:17px;font-weight:600;transition:background .15s var(--ease),transform .1s var(--ease)}.btn-primary:active{background:var(--accent-press);transform:scale(.985)}.btn-primary:disabled{background:#dee2e6;color:#fff;cursor:default;transform:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 16px;background:var(--bg-soft);color:var(--ink-2);border-radius:var(--radius-input);font-size:15px;font-weight:600;transition:background .15s var(--ease)}.btn-ghost:hover{background:#e9edf1}.field{margin-bottom:20px}.field label{display:block;font-size:14px;color:var(--ink-2);margin-bottom:8px;font-weight:500}.field input,.field select{width:100%;height:56px;padding:0 16px;background:var(--bg-soft);border:2px solid transparent;border-radius:var(--radius-input);font-size:17px;outline:none;transition:border-color .15s var(--ease),background .15s var(--ease)}.field input::placeholder{color:var(--ink-3)}.field input:focus,.field select:focus{border-color:var(--accent);background:#fff}.field .err{color:var(--warn);font-size:14px;margin-top:8px}.field input.invalid{border-color:var(--warn);background:var(--warn-soft)}.spinner{width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.spinner.dark{border-color:#191f2826;border-top-color:var(--ink-2)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
