@import"https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700&display=swap";.spinner-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffbf;z-index:9999}.spinner{width:36px;height:36px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-primary: #FFA62F;--color-primary-light: #FFC96F;--color-primary-dark: #E5952A;--color-primary-bg: #FFE8C8;--color-secondary: #ACD793;--color-secondary-light: #C2E2A8;--color-secondary-dark: #97C081;--color-success: #ACD793;--color-error: #FF6B6B;--color-warning: #FFA62F;--color-info: #4DABF7;--color-gray-50: #FAFAFA;--color-gray-100: #F5F5F5;--color-gray-200: #EEEEEE;--color-gray-300: #E0E0E0;--color-gray-400: #BDBDBD;--color-gray-500: #9E9E9E;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424242;--color-gray-900: #212121;--color-bg: #FAFAF8;--color-surface: #FFFFFF;--color-surface-alt: #F5F5F0;--color-text-primary: #1A1A1A;--color-text-secondary: #555555;--color-text-disabled: #AAAAAA;--color-border: #E0E0E0;--color-border-focus: var(--color-primary);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--max-width: 480px;--header-height: 56px;--bottom-nav-height: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}#root{max-width:var(--max-width);margin:0 auto;min-height:100vh;background-color:var(--color-surface);position:relative;box-shadow:var(--shadow-lg)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:var(--font-size-base)}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page-content{padding-top:var(--header-height);padding-bottom:var(--bottom-nav-height);min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:600;font-size:var(--font-size-base);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);transition:all var(--transition-fast);width:100%}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-gray-200)}.btn-outline{border:1.5px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:#2e7d320f}.btn-danger{background-color:var(--color-error);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed}.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.form-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface);transition:border-color var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-border-focus)}.form-input::placeholder{color:var(--color-text-disabled)}.form-group{margin-bottom:var(--space-4)}
