@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:auto;min-height:100%}body{margin:0;background-color:#fafafa}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fafafa}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c084fc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a855f7}.focus\:ring-2:focus{outline:none;box-shadow:0 0 0 2px #a855f780}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-primary{background:linear-gradient(135deg,#8b5cf6,#a855f7);border:none;color:#fff;padding:12px 24px;border-radius:9999px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 14px #8b5cf64d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.btn-secondary{background:transparent;border:2px solid #8b5cf6;color:#8b5cf6;padding:12px 24px;border-radius:9999px;font-weight:500;transition:all .3s ease}.btn-secondary:hover{background:#8b5cf6;color:#fff;transform:translateY(-2px)}.card{background:#fff9;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-secondary{background:linear-gradient(135deg,#f093fb,#f5576c)}.gradient-tertiary{background:linear-gradient(135deg,#4facfe,#00f2fe)}.text-gradient{background:linear-gradient(135deg,#8b5cf6,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.mobile-padding{padding-left:16px;padding-right:16px}.mobile-text-center{text-align:center}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.canvas-container{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000001a}.canvas-container canvas{display:block;width:100%!important;height:100%!important}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.focus-visible\:ring-2:focus-visible{outline:none;box-shadow:0 0 0 2px #a855f780}.form-input{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;font-size:14px;transition:all .3s ease}.form-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.form-input::placeholder{color:#9ca3af}.custom-checkbox{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.custom-checkbox:checked{background:#8b5cf6;border-color:#8b5cf6}.custom-checkbox:checked:after{content:"✓";color:#fff;display:block;text-align:center;line-height:16px}@media print{.no-print{display:none!important}.print-only{display:block!important}}@media (prefers-contrast: high){.bg-white\/60{background-color:#ffffffe6}.text-gray-600{color:#000}}:root{--color-bg: #fafafa;--color-text: #1f2937;--color-muted: #6b7280;--color-primary: #8b5cf6;--color-primary-600: #7e22ce;--radius-lg: 16px}.container{max-width:80rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.container{padding-left:2rem;padding-right:2rem}}.focus-ring{outline:none;box-shadow:0 0 0 3px #8b5cf666}
