@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--primary-purple: #8B5CF6;--primary-blue: #3B82F6;--deep-purple: #6366F1;--light-purple: #A78BFA;--accent-pink: #EC4899;--primary-gradient: linear-gradient(135deg, var(--primary-purple) 0%, var(--primary-blue) 100%);--card-gradient: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);--dark-gradient: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);--white: #FFFFFF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-primary: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", Monaco, "Cascadia Code", monospace;--border-radius: .75rem;--border-radius-lg: 1rem;--border-radius-xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-purple: 0 10px 25px -5px rgba(139, 92, 246, .3);--transition-fast: .15s ease-out;--transition-normal: .3s ease-out;--transition-slow: .5s ease-out}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-primary);background:var(--gray-50);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.castmate-app{min-height:100vh;background:var(--gray-50)}button{border:none;border-radius:var(--border-radius);font-family:var(--font-primary);font-weight:600;cursor:pointer;transition:all var(--transition-normal);outline:none;position:relative;overflow:hidden}.primary-btn{background:var(--primary-gradient);color:var(--white);padding:var(--space-sm) var(--space-xl);font-size:1rem;box-shadow:var(--shadow-purple);transform:translateY(0)}.primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px -5px #8b5cf666}.primary-btn:active{transform:translateY(0)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.secondary-btn{background:var(--white);color:var(--gray-700);padding:var(--space-sm) var(--space-lg);border:2px solid var(--gray-200);font-size:.95rem}.secondary-btn:hover{border-color:var(--primary-purple);color:var(--primary-purple);transform:translateY(-1px)}input,textarea{font-family:var(--font-primary);border:2px solid var(--gray-200);border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);font-size:1rem;transition:all var(--transition-normal);background:var(--white);outline:none}input:focus,textarea:focus{border-color:var(--primary-purple);box-shadow:0 0 0 3px #8b5cf61a}.landing-screen{min-height:100vh;background:var(--primary-gradient);color:var(--white);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.landing-hero{max-width:500px;text-align:center;animation:fadeInUp .8s ease-out}.logo{width:120px;height:120px;border-radius:var(--border-radius-xl);margin-bottom:var(--space-xl);box-shadow:var(--shadow-xl);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-hero h1{font-size:2.5rem;font-weight:700;margin:0 0 var(--space-md) 0;line-height:1.2}.landing-hero>p{font-size:1.2rem;opacity:.9;margin-bottom:var(--space-2xl)}.auth-section{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--border-radius-lg);padding:var(--space-xl);margin-bottom:var(--space-2xl);border:1px solid rgba(255,255,255,.2)}.auth-section h3{margin:0 0 var(--space-lg) 0;font-size:1.3rem}.auth-input{width:100%;margin-bottom:var(--space-md);background:#ffffffe6;border:none;color:var(--gray-800)}.auth-input::placeholder{color:var(--gray-500)}.auth-section .primary-btn{width:100%;margin-top:var(--space-sm);font-size:1.1rem;padding:var(--space-md)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-lg);text-align:center}.feature{opacity:.9}.feature-icon{font-size:2rem;margin-bottom:var(--space-sm);display:block}.feature h4{margin:0 0 var(--space-xs) 0;font-size:1.1rem}.feature p{margin:0;font-size:.9rem;opacity:.8}.onboarding-screen{min-height:100vh;padding:var(--space-xl) var(--space-lg);display:flex;align-items:center;justify-content:center;background:var(--gray-50)}.onboarding-container{width:100%;max-width:500px;background:var(--white);border-radius:var(--border-radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-xl)}.onboarding-container h2{font-size:2rem;margin:0 0 var(--space-xs) 0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.onboarding-container>p{color:var(--gray-600);margin-bottom:var(--space-xl)}.form-section{margin-bottom:var(--space-xl)}.form-section label{display:block;font-weight:600;margin-bottom:var(--space-sm);color:var(--gray-700)}.form-input{width:100%}.radio-group{display:flex;gap:var(--space-md);flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;padding:var(--space-sm) var(--space-md);border:2px solid var(--gray-200);border-radius:var(--border-radius);transition:all var(--transition-normal);font-weight:500;flex:1;min-width:80px;justify-content:center}.radio-option:hover{border-color:var(--primary-purple);background:#8b5cf60d}.radio-option input[type=radio]{margin:0}.radio-option input[type=radio]:checked+*{color:var(--primary-purple)}.interests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-sm)}.interest-tag{background:var(--gray-100);color:var(--gray-700);border:2px solid transparent;border-radius:var(--border-radius);padding:var(--space-xs) var(--space-sm);font-size:.9rem;font-weight:500;text-align:center;cursor:pointer;transition:all var(--transition-normal)}.interest-tag:hover{background:var(--gray-200)}.interest-tag.selected{background:var(--primary-gradient);color:var(--white);transform:scale(1.05)}.interest-tag:disabled{opacity:.5;cursor:not-allowed}.discovery-screen{min-height:100vh;padding:var(--space-lg);background:var(--gray-50)}.discovery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);max-width:400px;margin-left:auto;margin-right:auto}.discovery-header h2{font-size:2rem;margin:0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.matches-btn{background:#8b5cf61a;color:var(--primary-purple);border:2px solid var(--primary-purple);padding:var(--space-xs) var(--space-md);font-size:.9rem;border-radius:var(--border-radius)}.card-container{display:flex;justify-content:center;margin-bottom:var(--space-xl);perspective:1000px}.profile-card{width:100%;max-width:350px;background:var(--white);border-radius:var(--border-radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);transition:all var(--transition-normal);transform-style:preserve-3d}.profile-card:hover{transform:translateY(-5px) rotateY(2deg)}.card-image{height:400px;overflow:hidden;position:relative}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.profile-card:hover .card-image img{transform:scale(1.05)}.card-info{padding:var(--space-xl)}.card-info h3{font-size:1.5rem;margin:0 0 var(--space-sm) 0;color:var(--gray-900)}.location{color:var(--gray-600);margin:0 0 var(--space-md) 0;font-weight:500}.bio{color:var(--gray-700);margin-bottom:var(--space-md);line-height:1.5}.interests{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.card-info .interest-tag{background:#8b5cf61a;color:var(--primary-purple);cursor:default;transform:none}.no-cards{text-align:center;padding:var(--space-2xl);color:var(--gray-600)}.no-cards h3{margin:0 0 var(--space-md) 0;font-size:1.5rem}.swipe-actions{display:flex;justify-content:center;gap:var(--space-xl)}.pass-btn,.like-btn{width:70px;height:70px;border-radius:50%;font-size:1.8rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal);border:4px solid var(--white);box-shadow:var(--shadow-lg)}.pass-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:var(--white)}.like-btn{background:var(--primary-gradient);color:var(--white)}.pass-btn:hover,.like-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.pass-btn:active,.like-btn:active{transform:scale(.95)}.chat-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--gray-50)}.chat-header{background:var(--white);padding:var(--space-lg);border-bottom:1px solid var(--gray-200);text-align:center;box-shadow:var(--shadow-sm)}.chat-header h3{margin:0 0 var(--space-xs) 0;color:var(--gray-900)}.chat-header p{margin:0;color:var(--gray-600);font-family:var(--font-mono);font-size:.9rem}.messages{flex:1;padding:var(--space-lg);overflow-y:auto;max-height:calc(100vh - 200px)}.message{margin-bottom:var(--space-lg);display:flex;animation:fadeInMessage .3s ease-out}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.message-content{max-width:80%;padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-lg);font-size:1rem;line-height:1.5}.message.user .message-content{background:var(--primary-gradient);color:var(--white);border-bottom-right-radius:var(--space-xs)}.message.ai .message-content{background:var(--white);color:var(--gray-800);border:1px solid var(--gray-200);border-bottom-left-radius:var(--space-xs);box-shadow:var(--shadow-sm)}@keyframes fadeInMessage{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-input{background:var(--white);padding:var(--space-lg);border-top:1px solid var(--gray-200);display:flex;gap:var(--space-md);align-items:center}.chat-input{flex:1;border:2px solid var(--gray-200);border-radius:var(--border-radius-lg);padding:var(--space-md);font-size:1rem}.send-btn{background:var(--primary-gradient);color:var(--white);padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-lg);font-weight:600}.send-btn:disabled{opacity:.5;cursor:not-allowed}.compatibility-screen{min-height:100vh;background:var(--gray-50);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.compatibility-container{max-width:500px;background:var(--white);border-radius:var(--border-radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-xl);text-align:center}.compatibility-container h2{font-size:2rem;margin:0 0 var(--space-xl) 0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-circle{width:150px;height:150px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl) auto;box-shadow:var(--shadow-purple);animation:pulseScore 2s ease-in-out}@keyframes pulseScore{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.score{font-size:2.5rem;font-weight:700;color:var(--white)}.analysis h3{font-size:1.3rem;margin:0 0 var(--space-md) 0;color:var(--gray-900)}.analysis p{color:var(--gray-700);line-height:1.6;margin-bottom:var(--space-lg)}.highlights h4{font-size:1.1rem;margin:0 0 var(--space-sm) 0;color:var(--gray-900)}.highlights ul{list-style:none;padding:0;margin:0 0 var(--space-xl) 0}.highlights li{background:#8b5cf61a;color:var(--primary-purple);padding:var(--space-xs) var(--space-md);border-radius:var(--border-radius);margin-bottom:var(--space-xs);font-weight:500}.reveal-actions{display:flex;gap:var(--space-md);flex-direction:column}.reveal-screen{min-height:100vh;background:var(--gray-50);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.reveal-container{max-width:500px;background:var(--white);border-radius:var(--border-radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-xl);text-align:center}.reveal-container h2{font-size:2rem;margin:0 0 var(--space-xl) 0;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.revealed-profile{animation:revealProfile .8s ease-out}@keyframes revealProfile{0%{opacity:0;transform:scale(.9) rotateY(-10deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.profile-image{width:120px;height:120px;border-radius:50%;margin:0 auto var(--space-lg) auto;box-shadow:var(--shadow-lg);display:block}.revealed-profile h3{font-size:1.8rem;margin:0 0 var(--space-xs) 0;color:var(--gray-900)}.username{color:var(--primary-purple);font-family:var(--font-mono);font-weight:600;margin-bottom:var(--space-lg)}.profile-details{text-align:left;background:var(--gray-50);border-radius:var(--border-radius);padding:var(--space-lg);margin-bottom:var(--space-xl)}.profile-details p{margin:0 0 var(--space-sm) 0;color:var(--gray-700)}.profile-details strong{color:var(--gray-900);display:inline-block;min-width:80px}.interests-list{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.actions{display:flex;flex-direction:column;gap:var(--space-md)}@media(max-width:768px){.landing-hero h1{font-size:2rem}.onboarding-container,.compatibility-container,.reveal-container{padding:var(--space-lg);margin:var(--space-md)}.profile-card{max-width:100%}.swipe-actions{gap:var(--space-lg)}.pass-btn,.like-btn{width:60px;height:60px;font-size:1.5rem}.radio-group{flex-direction:column}.radio-option{flex:none}.reveal-actions .primary-btn,.reveal-actions .secondary-btn{width:100%}}@media(max-width:480px){.discovery-screen,.chat-screen,.compatibility-screen,.reveal-screen{padding:var(--space-md)}.interests-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.message-content{max-width:90%}}.hidden{display:none!important}.loading{opacity:.6;pointer-events:none}.fade-in{animation:fadeInUp .5s ease-out}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.messages::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.messages::-webkit-scrollbar-thumb:hover{background:var(--primary-purple)}
