:root{--brand-50:#FEF2F3;--brand-100:#FCE7EA;--brand-200:#F8C8CE;--brand-500:#C8102E;--brand-600:#A50B23;--brand-700:#8B0719;--accent-50:#EAF3FF;--accent-100:#D3E6FF;--accent-200:#A6CEFF;--accent-500:#007AFF;--accent-fill:#0071E3;--accent-600:#0067D6;--accent-700:#0055B3;--success-50:#E8F8EE;--success-700:#248A3D;--warning-50:#FFF4E5;--warning-800:#A35A00;--danger-50:#FFECEB;--danger-700:#D70015;--bg-page:#F2F2F7;--bg-surface:#FFFFFF;--bg-elevated:#FFFFFF;--bg-overlay:rgba(0,0,0,.42);--text-primary:#1D1D1F;--text-secondary:#636366;--text-muted:#6E6E73;--text-decorative:#8E8E93;--border-subtle:rgba(0,0,0,.08);--border-default:rgba(0,0,0,.13);--border-focus:var(--accent-500);--shadow-focus:0 0 0 3.5px rgba(0,122,255,.40);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--shadow-1:0 .5px 1px rgba(0,0,0,.10),0 1px 1px rgba(0,0,0,.04);--shadow-2:0 1px 3px rgba(0,0,0,.10),0 4px 12px rgba(0,0,0,.06);--shadow-4:0 24px 60px rgba(0,0,0,.24),0 0 0 .5px rgba(0,0,0,.10);--font-sans:"Pretendard",-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Monaco,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans)}a{color:inherit}button,input,select,textarea{font:inherit}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.page{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--s-5);box-shadow:var(--shadow-1)}.muted{color:var(--text-muted)}.button{min-height:44px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);padding:0 var(--s-4);cursor:pointer}.button.primary{border-color:var(--accent-fill);background:var(--accent-fill);color:#fff}.button:disabled{cursor:not-allowed;opacity:.45}@media (max-width:600px){input,select,textarea{font-size:16px}.panel{padding:var(--s-4)}}