*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--purple-900: #2d0a4e;--purple-800: #3d1266;--purple-700: #5b21b6;--purple-600: #7c3aed;--purple-500: #8b5cf6;--purple-400: #a78bfa;--purple-300: #c4b5fd;--purple-100: #ede9fe;--purple-50: #f5f3ff;--blue-500: #3b82f6;--blue-400: #60a5fa;--blue-300: #93c5fd;--blue-200: #bfdbfe;--blue-100: #dbeafe;--blue-50: #eff6ff;--cyan-400: #22d3ee;--cyan-300: #67e8f9;--bg: #f8f7ff;--card: #ffffff;--text: #1e1035;--text-muted:#6b7280;--border: #e5e0fa;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--shadow-sm: 0 1px 3px rgba(91,33,182,.08), 0 1px 2px rgba(91,33,182,.06);--shadow-md: 0 4px 16px rgba(91,33,182,.12), 0 2px 6px rgba(91,33,182,.08);--shadow-lg: 0 12px 40px rgba(91,33,182,.18), 0 4px 12px rgba(91,33,182,.1);--shadow-xl: 0 24px 64px rgba(45,10,78,.25)}html{height:100%;overscroll-behavior:none}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;overscroll-behavior:none;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch}#root{min-height:100dvh;display:flex;flex-direction:column;max-width:100vw;overflow-x:clip}header{overscroll-behavior-x:contain;touch-action:pan-x}main{overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--purple-50)}::-webkit-scrollbar-thumb{background:var(--purple-300);border-radius:3px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fadeInUp{animation:fadeInUp .4s ease both}.animate-fadeIn{animation:fadeIn .3s ease both}.animate-slideDown{animation:slideDown .25s ease both}.delay-1{animation-delay:.05s}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.card{background:var(--card);border-radius:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.field-input{width:100%;padding:10px 14px;border-radius:10px;border:1.5px solid var(--border);background:var(--purple-50);font-size:14px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}.field-input:focus{border-color:var(--purple-500);box-shadow:0 0 0 3px #8b5cf626}.btn-primary{background:linear-gradient(135deg,var(--purple-600),var(--purple-700));color:#fff;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;box-shadow:0 4px 14px #7c3aed59;transition:transform .15s,box-shadow .15s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed73}.btn-secondary{background:var(--purple-50);color:var(--purple-700);border:1.5px solid var(--purple-200);border-radius:10px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .15s}.btn-secondary:hover{background:var(--purple-100)}.btn-ghost{background:none;border:none;color:var(--text-muted);padding:6px 8px;border-radius:8px;font-size:16px;transition:background .15s,color .15s}.btn-ghost:hover{background:var(--purple-50);color:var(--purple-600)}
