/* Logo container base */
.logo-container { display:inline-flex; align-items:center; gap:12px; cursor:pointer; }
.logo-container .wordmark-wrap { display:flex; flex-direction:column; }
.logo-container .wordmark { display:flex; align-items:baseline; }

/* Document */
.doc-outline { fill:none; stroke:var(--purple); stroke-width:4.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:400; stroke-dashoffset:400; animation:drawDoc 1.8s ease-out forwards; }
.doc-fold { fill:none; stroke:var(--purple); stroke-width:4.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:100; stroke-dashoffset:100; animation:drawDoc 0.8s ease-out 1.4s forwards; }

/* CV Photo placeholder */
.cv-photo { fill:none; stroke:var(--text-dim); stroke-width:2; opacity:0; animation:fadeIn 0.4s ease-out 2.0s forwards; }
.cv-photo-icon { fill:var(--purple); opacity:0; animation:fadeIn 0.4s ease-out 2.2s forwards; }

/* Text lines - type in effect */
.cv-line { fill:var(--line-dim); opacity:0; width:0; animation:typeLine 0.5s ease-out forwards; }
.cv-line.header { fill:var(--purple); }
.cv-line.section { fill:var(--teal); }

.cl-1 { animation-delay:2.0s; }
.cl-2 { animation-delay:2.3s; }
.cl-3 { animation-delay:2.5s; }
.cl-4 { animation-delay:2.7s; }
.cl-5 { animation-delay:3.0s; }
.cl-6 { animation-delay:3.2s; }
.cl-7 { animation-delay:3.4s; }
.cl-8 { animation-delay:3.6s; }
.cl-9 { animation-delay:3.9s; }
.cl-10 { animation-delay:4.1s; }

/* Typing cursor */
.cursor { fill:var(--pink); opacity:0; animation:
  cursorBlink 0.6s step-end infinite 2.0s,
  cursorMove1 0.3s ease-out 2.0s forwards,
  cursorMove2 0.3s ease-out 2.3s forwards,
  cursorMove3 0.3s ease-out 2.5s forwards,
  cursorMove4 0.3s ease-out 2.7s forwards,
  cursorMove5 0.3s ease-out 3.0s forwards,
  cursorMove6 0.3s ease-out 3.2s forwards,
  cursorMove7 0.3s ease-out 3.4s forwards,
  cursorMove8 0.3s ease-out 3.6s forwards,
  cursorMove9 0.3s ease-out 3.9s forwards,
  cursorMove10 0.3s ease-out 4.1s forwards,
  cursorHide 0.1s ease-out 4.5s forwards;
}

/* Scan ray */
.scan-glow { fill:none; stroke:var(--teal); stroke-width:6; opacity:0; filter:blur(3px); animation:scanDown 3s ease-in-out 5s infinite; }
.scan-ray { fill:none; stroke:url(#scanGrad); stroke-width:1.5; opacity:0; animation:scanDown 3s ease-in-out 5s infinite; }

/* Lines enhance after scan */
.cv-line { animation-fill-mode:forwards; }

/* Skill dots */
.skill-dot { opacity:0; animation:popIn 0.3s ease-out forwards; }
.sd-1 { animation-delay:4.3s; fill:var(--purple); }
.sd-2 { animation-delay:4.4s; fill:var(--teal); }
.sd-3 { animation-delay:4.5s; fill:var(--pink); }
.sd-4 { animation-delay:4.6s; fill:var(--purple); }
.sd-5 { animation-delay:4.7s; fill:var(--teal); }

/* ATS badge */
.ats-badge { opacity:0; animation:popIn 0.5s cubic-bezier(0.175,0.885,0.32,1.275) 7s forwards; }
.ats-bg { fill:var(--teal); rx:4; }
.ats-text { fill:#fff; font-family:Inter,sans-serif; font-size:7px; font-weight:800; }

/* Sparkle particles after complete */
.sparkle { opacity:0; animation:sparkleUp 1.5s ease-out forwards; }
.sp-1 { animation-delay:7.2s; fill:var(--purple); }
.sp-2 { animation-delay:7.4s; fill:var(--teal); }
.sp-3 { animation-delay:7.6s; fill:var(--pink); }
.sp-4 { animation-delay:7.8s; fill:var(--purple); }

/* Hover effects */
.logo-container:hover .cv-line { animation:lineGlow 2s ease-in-out infinite alternate !important; opacity:1 !important; }
.logo-container:hover .skill-dot { animation:pulseNode 1.5s infinite alternate !important; opacity:1 !important; }

/* Wordmark */
.wordmark-wrap { display:flex; flex-direction:column; }
.wordmark { font-size:52px; font-weight:700; letter-spacing:-1.5px; display:flex; }
.word-career { color:#2563EB; font-weight:800; opacity:0; transform:translateX(-20px); animation:slideFadeIn 0.8s ease-out 0.8s forwards; }
.word-craft { font-weight:800; opacity:0; transform:translateX(-20px); animation:slideFadeIn 0.8s ease-out 1.0s forwards, gradShift 4s ease-in-out infinite 1.8s; background:linear-gradient(90deg,var(--purple),var(--teal),var(--pink)); background-size:200% 200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.word-ai { color:var(--pink); margin-left:12px; opacity:0; transform:translateX(-20px); animation:slideFadeIn 0.8s ease-out 1.2s forwards; }
.tagline { font-size:13px; font-weight:600; letter-spacing:3px; text-transform:uppercase; text-align:right; margin-top:2px; opacity:0; transform:translateX(-20px); animation:slideFadeIn 0.8s ease-out 1.5s forwards, gradShift 4s ease-in-out infinite 2s; background:linear-gradient(90deg,var(--purple),var(--teal),var(--pink)); background-size:200% 200%; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }


/* Siri-style pulsing waves */
.pulse-wrap { position:absolute; width:90px; height:90px; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.pulse-ring { position:absolute; inset:0; border-radius:16px; border:1.5px solid; opacity:0; }
.pulse-ring-1 { border-color:var(--purple); animation:siriPulse 3s ease-out infinite; }
.pulse-ring-2 { border-color:var(--teal); animation:siriPulse 3s ease-out infinite 1s; }
.pulse-ring-3 { border-color:var(--pink); animation:siriPulse 3s ease-out infinite 2s; }
@keyframes siriPulse {
  0% { opacity:0.6; transform:scale(1); filter:blur(0px); }
  50% { opacity:0.2; transform:scale(1.4); filter:blur(2px); }
  100% { opacity:0; transform:scale(1.8); filter:blur(4px); }
}

/* Glow */
.glow { position:absolute; width:140px; height:140px; background:radial-gradient(circle,rgba(124,106,255,0.2) 0%,transparent 70%); border-radius:50%; filter:blur(15px); z-index:-1; top:50%; left:10px; transform:translateY(-50%); animation:pulseGlow 4s infinite alternate; }
[data-theme="light"] .glow { background:radial-gradient(circle,rgba(98,72,255,0.12) 0%,transparent 70%); }

/* Theme toggle */
.theme-btn { position:fixed; top:20px; right:20px; background:rgba(124,106,255,0.08); border:1px solid rgba(124,106,255,0.2); color:#2563EB; width:40px; height:40px; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; transition:0.2s; font-family:inherit; }
.theme-btn:hover { background:rgba(124,106,255,0.15); border-color:rgba(124,106,255,0.4); }

/* Keyframes */
@keyframes drawDoc { to { stroke-dashoffset:0; } }
@keyframes fadeIn { to { opacity:1; } }
@keyframes typeLine { 0% { opacity:0; width:0; } 100% { opacity:1; width:attr(data-w); } }
@keyframes popIn { 0% { transform:scale(0); opacity:0; } 100% { transform:scale(1); opacity:1; } }
@keyframes scanDown { 0% { opacity:0; transform:translateY(-35px); } 10% { opacity:0.9; } 90% { opacity:0.9; } 100% { opacity:0; transform:translateY(45px); } }
@keyframes slideFadeIn { to { opacity:1; transform:translateX(0); } }
@keyframes gradShift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes pulseGlow { 0% { opacity:0.5; } 100% { opacity:1; } }
@keyframes cursorBlink { 0%,50% { opacity:1; } 51%,100% { opacity:0; } }
@keyframes cursorHide { to { opacity:0; } }
@keyframes cursorMove1 { to { transform:translate(0,0); } }
@keyframes cursorMove2 { to { transform:translate(0,7px); } }
@keyframes cursorMove3 { to { transform:translate(0,13px); } }
@keyframes cursorMove4 { to { transform:translate(0,19px); } }
@keyframes cursorMove5 { to { transform:translate(0,27px); } }
@keyframes cursorMove6 { to { transform:translate(0,33px); } }
@keyframes cursorMove7 { to { transform:translate(0,39px); } }
@keyframes cursorMove8 { to { transform:translate(0,45px); } }
@keyframes cursorMove9 { to { transform:translate(0,53px); } }
@keyframes cursorMove10 { to { transform:translate(0,59px); } }
@keyframes lineGlow { 0% { fill:var(--line-dim); } 100% { fill:var(--teal); opacity:0.6; } }
@keyframes pulseNode { 0% { transform:scale(1); } 100% { transform:scale(1.5); filter:brightness(1.3); } }
@keyframes sparkleUp { 0% { opacity:0; transform:translateY(0) scale(0); } 30% { opacity:1; transform:translateY(-8px) scale(1); } 100% { opacity:0; transform:translateY(-25px) scale(0.5); } }

/* Size variants */
.logo-nav .icon { width:32px; height:32px; }
.logo-nav .pulse-wrap { width:32px; height:32px; }
.logo-nav .wordmark { font-size:18px; letter-spacing:-0.5px; white-space:nowrap; }
.logo-nav .tagline { display:none; }
.logo-nav .glow { display:none; }
.logo-nav .word-ai { margin-left:6px; }
.logo-nav { gap:10px; }

.logo-footer .icon { width:36px; height:36px; }
.logo-footer .pulse-wrap { width:36px; height:36px; }
.logo-footer .wordmark { font-size:18px; letter-spacing:-0.5px; white-space:nowrap; }
.logo-footer .tagline { font-size:10px; letter-spacing:2px; white-space:nowrap; }
.logo-footer .word-ai { margin-left:6px; }
.logo-footer { gap:10px; }

.logo-hero .icon { width:80px; height:80px; }
.logo-hero .pulse-wrap { width:80px; height:80px; }
.logo-hero { gap:24px; }

/* Remove intro animations for nav/footer (they already loaded) */
.logo-nav .doc-outline, .logo-footer .doc-outline { stroke-dashoffset:0; animation:none; }
.logo-nav .doc-fold, .logo-footer .doc-fold { stroke-dashoffset:0; animation:none; }
.logo-nav .cv-line, .logo-footer .cv-line { opacity:1; animation:none; }
.logo-nav .cv-photo, .logo-footer .cv-photo { opacity:1; animation:none; }
.logo-nav .cv-photo-icon, .logo-footer .cv-photo-icon { opacity:1; animation:none; }
.logo-nav .skill-dot, .logo-footer .skill-dot { opacity:1; animation:none; }
.logo-nav .cursor, .logo-footer .cursor { display:none; }
.logo-nav .ats-badge, .logo-footer .ats-badge { opacity:1; animation:none; }
.logo-nav .sparkle, .logo-footer .sparkle { display:none; }
.logo-nav .word-career, .logo-footer .word-career { opacity:1; transform:none; animation:none; }
.logo-nav .word-craft, .logo-footer .word-craft { opacity:1; transform:none; }
.logo-nav .word-ai, .logo-footer .word-ai { opacity:1; transform:none; animation:none; }
.logo-nav .tagline, .logo-footer .tagline { opacity:1; transform:none; }
