/* ============================================================
   Strict 1:1 translation from skeleton-key Tailwind → plain CSS
   ============================================================ */

/* ---------- Tokens (index.css :root) ---------- */
:root {
  --background: 220 20% 6%;
  --foreground: 0 0% 95%;
  --card: 220 18% 10%;
  --card-foreground: 0 0% 95%;
  --primary: 168 100% 48%;
  --primary-foreground: 220 20% 6%;
  --secondary: 220 16% 16%;
  --secondary-foreground: 0 0% 85%;
  --muted: 220 14% 14%;
  --muted-foreground: 220 10% 55%;
  --border: 220 14% 18%;
  --radius: 0.75rem;
  --gradient-hero: linear-gradient(135deg, hsl(200 60% 20%) 0%, hsl(220 20% 6%) 40%, hsl(280 30% 15%) 100%);
  --glow-primary: 0 0 40px hsl(168 100% 48% / 0.3);
}

/* ---------- Reset ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;border-color:hsl(var(--border))}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}
ul,ol{list-style:none}

/* ---------- Container (max 1400px, px-6) ---------- */
.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}

/* ---------- Utilities ---------- */
.text-gradient-primary{background-image:linear-gradient(135deg,hsl(168 100% 48%),hsl(168 80% 70%));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ==================== NAVBAR ==================== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:hsl(var(--background)/0.8);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid hsl(var(--border))}
.nav-inner{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:4rem;gap:2rem}

.nav-logo{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}
.nav-logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-0.025em}

.nav-links{display:flex;align-items:center;gap:1.5rem;flex:1}
.nav-links a{font-size:0.875rem;font-weight:500;color:hsl(var(--secondary-foreground));transition:color 0.2s}
.nav-links a:hover{color:hsl(var(--foreground))}

.nav-actions{display:flex;align-items:center;gap:0.75rem}
.btn-trial{display:inline-flex;align-items:center;justify-content:center;padding:0.375rem 1rem;border-radius:9999px;border:1px solid hsl(var(--primary));font-size:0.875rem;font-weight:500;color:hsl(var(--primary));background:transparent;transition:background 0.2s,color 0.2s}
.btn-trial:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.btn-signin{display:inline-flex;align-items:center;justify-content:center;padding:0.375rem 1rem;border-radius:9999px;background:hsl(var(--secondary));font-size:0.875rem;font-weight:500;color:hsl(var(--foreground));transition:background 0.2s}
.btn-signin:hover{background:hsl(var(--secondary)/0.8)}
.btn-user{padding:0.5rem;color:hsl(var(--muted-foreground));transition:color 0.2s;display:inline-flex;align-items:center;position:relative}
.btn-user:hover{color:hsl(var(--foreground))}
.user-avatar{width:2rem;height:2rem;border-radius:9999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;cursor:pointer;transition:box-shadow 0.2s}
.user-avatar:hover{box-shadow:var(--glow-primary)}
.user-dropdown{position:absolute;top:calc(100% + 0.5rem);right:0;min-width:180px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:0.75rem;padding:0.5rem 0;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity 0.2s,transform 0.2s;z-index:60}
.user-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}
.user-dropdown-info{padding:0.75rem 1rem;border-bottom:1px solid hsl(var(--border))}
.user-dropdown-name{font-size:0.875rem;font-weight:600;color:hsl(var(--foreground))}
.user-dropdown-role{font-size:0.75rem;color:hsl(var(--muted-foreground));margin-top:0.125rem}
.user-dropdown-item{display:block;width:100%;text-align:left;padding:0.5rem 1rem;font-size:0.875rem;color:hsl(var(--secondary-foreground));transition:background 0.15s,color 0.15s}
.user-dropdown-item:hover{background:hsl(var(--secondary));color:hsl(var(--foreground))}

.nav-mobile-toggle{display:none;padding:0.5rem;color:hsl(var(--foreground));align-items:center;justify-content:center}
.nav-mobile-menu{display:none;background:hsl(var(--background));border-top:1px solid hsl(var(--border));padding:1rem 1.5rem}
.nav-mobile-menu[hidden]{display:none!important}
.nav-mobile-menu a{display:block;font-size:0.875rem;font-weight:500;color:hsl(var(--secondary-foreground));padding:0.375rem 0;transition:color 0.2s}
.nav-mobile-menu a:hover{color:hsl(var(--foreground))}
.nav-mobile-menu .mobile-btns{display:flex;gap:0.75rem;padding-top:0.75rem}

/* ==================== HERO ==================== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--gradient-hero);overflow:hidden}
.hero-glow-1{position:absolute;top:33%;left:25%;width:500px;height:500px;border-radius:50%;background:hsl(var(--primary)/0.05);filter:blur(120px);pointer-events:none}
.hero-glow-2{position:absolute;bottom:25%;right:25%;width:400px;height:400px;border-radius:50%;background:hsl(var(--primary)/0.08);filter:blur(100px);pointer-events:none}

.hero-inner{position:relative;z-index:10;padding-top:6rem;padding-bottom:4rem;display:flex;flex-direction:column;gap:2.5rem}
.hero-content{max-width:48rem}
.hero h1{font-size:clamp(3rem,6vw,4.5rem);font-weight:800;letter-spacing:-0.025em;color:hsl(var(--foreground));line-height:1.05;opacity:0;transform:translateY(40px);animation:fadeInUp 0.7s ease-out forwards}
.hero-subtitle{margin-top:1.25rem;font-size:clamp(1.25rem,2vw,1.5rem);color:hsl(var(--muted-foreground));font-weight:500;opacity:0;transform:translateY(30px);animation:fadeInUp 0.7s 0.15s ease-out forwards}
.hero-actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;opacity:0;transform:translateY(20px);animation:fadeInUp 0.6s 0.35s ease-out forwards}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600;font-size:1rem;padding:0.75rem 2rem;transition:box-shadow 0.2s,transform 0.2s}
.btn-primary:hover{box-shadow:var(--glow-primary);transform:scale(1.05)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;border:1px solid hsl(var(--primary));color:hsl(var(--primary));font-weight:600;font-size:1rem;padding:0.75rem 2rem;background:transparent;transition:background 0.2s}
.btn-outline:hover{background:hsl(var(--primary)/0.1)}

/* Mockup: stacked below on mobile, right side on xl */
.hero-mockup{width:100%;max-width:480px;margin:0 auto;aspect-ratio:16/10}
.hero-mockup-inner{width:100%;height:100%;border-radius:1rem;background:hsl(var(--card)/0.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;transform:translateY(20px);animation:fadeInUp 0.8s 0.3s ease-out forwards}
.mockup-icon{width:4rem;height:4rem;border-radius:0.75rem;background:hsl(var(--primary)/0.2);display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem}
.mockup-icon span{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}
.mockup-label{font-size:0.875rem;color:hsl(var(--muted-foreground));text-align:center}
.mockup-video{width:100%;height:100%;border:0;border-radius:inherit;background:#000}
.mockup-video-link{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}

/* ==================== FOOTER ==================== */
.footer{background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:4rem 0}
.footer-bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem}
.footer-logo{font-size:1.25rem;font-weight:800}
.footer-social{display:flex;gap:1rem}
.footer-social a{padding:0.5rem;border-radius:9999px;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;justify-content:center;transition:color 0.2s,background 0.2s}
.footer-social a:hover{color:hsl(var(--foreground));background:hsl(var(--secondary)/0.8)}
.footer-copy{font-size:0.75rem;color:hsl(var(--muted-foreground))}

/* ==================== AUTH MODAL ==================== */
.auth-overlay{position:fixed;inset:0;z-index:100;background:hsl(220 20% 4%/0.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s}
.auth-overlay.open{opacity:1;pointer-events:auto}

.auth-modal{width:100%;max-width:400px;margin:1.5rem;background:linear-gradient(165deg,hsl(220 18% 11%) 0%,hsl(220 18% 9%) 100%);border:1px solid hsl(220 14% 20%);border-radius:1.25rem;padding:2.5rem 2.25rem 2rem;position:relative;box-shadow:0 4px 24px hsl(0 0% 0%/0.4),0 0 0 1px hsl(220 14% 14%/0.5) inset;transform:scale(0.96) translateY(8px);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}
.auth-overlay.open .auth-modal{transform:scale(1) translateY(0)}

.auth-close{position:absolute;top:1.125rem;right:1.125rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:0.5rem;color:hsl(var(--muted-foreground));transition:color 0.2s,background 0.2s}
.auth-close:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}

.auth-tabs{display:flex;gap:0.25rem;margin-bottom:2rem;background:hsl(var(--secondary)/0.5);border-radius:0.625rem;padding:0.25rem}
.auth-tab{flex:1;padding:0.5rem 0;font-size:0.8125rem;font-weight:600;color:hsl(var(--muted-foreground));text-align:center;border-radius:0.5rem;letter-spacing:0.02em;transition:color 0.2s,background 0.2s}
.auth-tab:hover{color:hsl(var(--secondary-foreground))}
.auth-tab.active{color:hsl(var(--foreground));background:hsl(var(--border))}

.auth-title{font-size:1rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1.75rem;text-align:center;letter-spacing:-0.01em}

.auth-view{display:none}
.auth-view.active{display:block}

.auth-field{margin-bottom:1.125rem}
.auth-label{display:block;font-size:0.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:0.5rem;letter-spacing:0.025em;text-transform:uppercase}

.auth-input{width:100%;height:2.625rem;padding:0 0.875rem;font-size:0.875rem;font-family:inherit;background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:0.625rem;outline:none;transition:border-color 0.2s,box-shadow 0.2s}
.auth-input::placeholder{color:hsl(var(--muted-foreground)/0.4)}
.auth-input:focus{border-color:hsl(var(--primary)/0.6);box-shadow:0 0 0 3px hsl(var(--primary)/0.08)}

.auth-code-row{display:flex;gap:0.625rem;align-items:stretch}
.auth-code-row .auth-input{flex:1;min-width:0}
.auth-send-code{flex-shrink:0;height:2.625rem;padding:0 1rem;font-size:0.75rem;font-weight:600;font-family:inherit;background:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--primary)/0.25);border-radius:0.625rem;white-space:nowrap;letter-spacing:0.01em;transition:background 0.2s,border-color 0.2s}
.auth-send-code:hover:not(:disabled){background:hsl(var(--primary)/0.08);border-color:hsl(var(--primary)/0.4)}
.auth-send-code:disabled{opacity:0.4;cursor:not-allowed}

.auth-submit{width:100%;height:2.75rem;font-size:0.875rem;font-weight:600;font-family:inherit;background:linear-gradient(135deg,hsl(168 100% 48%) 0%,hsl(168 90% 42%) 100%);color:hsl(var(--primary-foreground));border-radius:0.625rem;margin-top:0.75rem;letter-spacing:0.02em;transition:box-shadow 0.25s,opacity 0.2s}
.auth-submit:hover:not(:disabled){box-shadow:0 0 20px hsl(168 100% 48%/0.25),0 2px 8px hsl(168 100% 48%/0.2)}
.auth-submit:disabled{opacity:0.5;cursor:not-allowed}

.auth-footer{margin-top:1.5rem;text-align:center;font-size:0.8125rem;color:hsl(var(--muted-foreground))}
.auth-link{color:hsl(var(--primary));font-weight:500;cursor:pointer;letter-spacing:0.01em;transition:color 0.2s}
.auth-link:hover{color:hsl(168 80% 60%)}

.auth-error{background:hsl(0 60% 50%/0.1);color:hsl(0 75% 65%);font-size:0.8125rem;padding:0.625rem 0.875rem;border-radius:0.5rem;margin-bottom:1.125rem;border-left:3px solid hsl(0 70% 55%/0.5);display:none}
.auth-error.show{display:block}
.auth-success{background:hsl(168 60% 40%/0.1);color:hsl(168 70% 60%);font-size:0.8125rem;padding:0.625rem 0.875rem;border-radius:0.5rem;margin-bottom:1.125rem;border-left:3px solid hsl(168 70% 48%/0.5);display:none}
.auth-success.show{display:block}

.auth-pw-row{position:relative}
.auth-pw-toggle{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground)/0.5);padding:0.125rem;transition:color 0.2s}
.auth-pw-toggle:hover{color:hsl(var(--foreground))}

/* ==================== QR POPUP ==================== */
.qr-overlay{position:fixed;inset:0;z-index:100;background:hsl(220 20% 4%/0.75);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s}
.qr-overlay.open{opacity:1;pointer-events:auto}
.qr-modal{text-align:center;background:linear-gradient(165deg,hsl(220 18% 11%) 0%,hsl(220 18% 9%) 100%);border:1px solid hsl(220 14% 20%);border-radius:1.25rem;padding:2rem;position:relative;box-shadow:0 4px 24px hsl(0 0% 0%/0.4),0 0 0 1px hsl(220 14% 14%/0.5) inset;transform:scale(0.96);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}
.qr-overlay.open .qr-modal{transform:scale(1)}
.qr-close{position:absolute;top:0.875rem;right:0.875rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:0.5rem;color:hsl(var(--muted-foreground));transition:color 0.2s,background 0.2s}
.qr-close:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}
.qr-modal img{max-width:240px;border-radius:0.75rem;margin:0 auto}
.qr-modal p{margin-top:1rem;font-size:0.875rem;color:hsl(var(--muted-foreground))}

/* ==================== Animations ==================== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease-out,transform 0.6s ease-out}
.reveal.in{opacity:1;transform:translateY(0)}
.stagger>*{opacity:0;transform:translateY(20px);transition:opacity 0.5s ease-out,transform 0.5s ease-out}
.stagger.in>*:nth-child(1){transition-delay:0s;opacity:1;transform:none}
.stagger.in>*:nth-child(2){transition-delay:.06s;opacity:1;transform:none}
.stagger.in>*:nth-child(3){transition-delay:.12s;opacity:1;transform:none}
.stagger.in>*:nth-child(4){transition-delay:.18s;opacity:1;transform:none}
.stagger.in>*:nth-child(5){transition-delay:.24s;opacity:1;transform:none}
.stagger.in>*:nth-child(6){transition-delay:.30s;opacity:1;transform:none}
.stagger.in>*:nth-child(7){transition-delay:.36s;opacity:1;transform:none}
.stagger.in>*:nth-child(8){transition-delay:.42s;opacity:1;transform:none}
.stagger.in>*:nth-child(9){transition-delay:.48s;opacity:1;transform:none}
.stagger.in>*:nth-child(10){transition-delay:.54s;opacity:1;transform:none}
.stagger.in>*:nth-child(11){transition-delay:.60s;opacity:1;transform:none}
.stagger.in>*:nth-child(12){transition-delay:.66s;opacity:1;transform:none}

/* ==================== Responsive ==================== */
@media(min-width:1280px){
  .hero-inner{flex-direction:row;align-items:center;gap:4rem}
  .hero-content{flex:1}
  .hero-mockup{flex:0 0 550px;max-width:550px;aspect-ratio:auto;height:400px;margin:0}
  .hero-mockup-inner{animation-name:slideIn}
}
@media(min-width:1024px){
  .nav-mobile-toggle{display:none!important}
}
@media(max-width:1023px){
  .nav-links{display:none}
  .nav-actions{display:none}
  .nav-mobile-toggle{display:inline-flex}
  .nav-mobile-menu{display:block}
}
@media(min-width:768px){
  .footer-bottom{flex-direction:row}
}

/* ==================== Reduced Motion ==================== */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
  .stagger>*{opacity:1!important;transform:none!important}
  .hero h1,.hero-subtitle,.hero-actions,.hero-mockup-inner{opacity:1!important;transform:none!important;animation:none!important}
}
