@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-color:#f8fafc;--bg-secondary:#fff;--text-primary:#0f172a;--text-secondary:#475569;--accent-color:#2563eb;--accent-light:#60a5fa;--border-color:#e2e8f0;--glass-bg:#ffffffbf;--glass-border:#ffffff80;--font-main:"Inter", sans-serif}[data-theme=dark]{--bg-color:#090d16;--bg-secondary:#111827;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent-color:#38bdf8;--accent-light:#7dd3fc;--border-color:#1e293b;--glass-bg:#111827bf;--glass-border:#ffffff1f}*{box-sizing:border-box;margin:0;padding:0}html,body{scroll-behavior:smooth;width:100%;min-height:100%;font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .5s,color .5s;overflow-x:hidden}#root{width:100%;min-height:100%}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border:3px solid var(--bg-color);border-radius:6px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}a{color:inherit;text-decoration:none}ul{list-style:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #1f26870d}.heading-xl{letter-spacing:-.02em;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1.1}.heading-l{letter-spacing:-.01em;font-size:clamp(2rem,5vw,4rem);font-weight:600;line-height:1.2}.text-gradient{background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent-color) 100%);-webkit-text-fill-color:transparent;background-clip:text}.layout-container{pointer-events:none;width:100%}.fixed-navbar,.floating-theme-toggle,.hero-text,.hero-actions,button,.btn,a,.timeline-item,.projects-nav,.project-card,.skills-container,.lab-card,.hobby-card,.vault-photo-card,.contact-card,.copyright{pointer-events:auto!important}.navbar-wrapper{z-index:1000;pointer-events:none;justify-content:center;width:100%;display:flex;position:fixed;top:1.5rem;left:0}.fixed-navbar{-webkit-backdrop-filter:blur(16px);pointer-events:auto;background:#ffffffd9;border-radius:50px;justify-content:space-between;align-items:center;width:calc(100% - 6rem);max-width:1440px;padding:1rem 2.5rem;display:flex;box-shadow:0 4px 20px #00000014}.nav-brand{color:var(--accent-color);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.nav-links{gap:2rem;display:flex}.nav-link{color:var(--text-secondary);font-weight:500;transition:color .2s}.nav-btn{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:1rem}.nav-link:hover{color:var(--accent-color)}@media (width<=600px){.sticky-navbar{flex-direction:column;gap:.5rem;padding:.8rem 1rem}.nav-links{gap:1rem;font-size:.9rem}}.section{z-index:10;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:4rem;display:flex;position:relative}.content{width:100%;max-width:1440px;margin:0 auto}.hero-layout{flex-direction:row;justify-content:space-between;align-items:center;gap:3rem;height:100%;padding-top:2vh;display:flex}.hero-text{flex:1.2}.hero-image-container{flex:.9;justify-content:flex-end;align-items:center;display:flex}.portrait-placeholder{aspect-ratio:3/4;width:100%;max-width:480px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex;overflow:hidden}.portrait-placeholder img{object-fit:cover;width:100%;height:100%}@media (width<=900px){.hero-layout{text-align:center;flex-direction:column-reverse;justify-content:center}.hero-details{margin:0 auto}}.subtitle{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;font-size:clamp(1.2rem,3vw,2rem);font-weight:500}.title{margin-bottom:2rem}.wave-name-container{cursor:pointer;display:inline-block;pointer-events:auto!important}.wave-word{white-space:nowrap;display:inline-block}.wave-letter{background:linear-gradient(135deg,#001f3f 0%,#0051a5 35%,#0072ff 70%,#00c6ff 100%) 0 0/200% 200%;-webkit-text-fill-color:transparent;background-clip:text;transition:transform .25s cubic-bezier(.34,1.56,.64,1),filter .25s,background-position .5s;display:inline-block}[data-theme=dark] .wave-letter{background:linear-gradient(135deg,#f0f9ff 0%,#38bdf8 35%,#818cf8 70%,#c084fc 100%) 0 0/200% 200%;-webkit-text-fill-color:transparent;background-clip:text}.wave-name-container:hover .wave-letter{background:linear-gradient(135deg,#00f2fe 0%,#4facfe 20%,#6366f1 40%,#a855f7 60%,#ec4899 80%,#00f2fe 100%) 0 0/300% 300%;-webkit-text-fill-color:transparent;background-clip:text;animation:2.5s linear infinite auroraShimmer}[data-theme=dark] .wave-name-container:hover .wave-letter{background:linear-gradient(135deg,#38bdf8 0%,#818cf8 20%,#c084fc 40%,#f43f5e 60%,#34d399 80%,#38bdf8 100%) 0 0/300% 300%;-webkit-text-fill-color:transparent;background-clip:text}.wave-name-container .wave-letter:hover{z-index:10;position:relative;filter:drop-shadow(0 12px 24px #38bdf8d9)!important;transform:translateY(-12px)scale(1.35)rotate(-4deg)!important}@keyframes auroraShimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.hero-details{flex-wrap:wrap;gap:2rem;width:fit-content;padding:1.5rem 2.5rem;display:inline-flex}.detail-item{align-items:center;gap:.75rem;font-size:1.1rem;font-weight:500;display:flex}.icon-heading{vertical-align:middle;color:var(--accent-color);margin-right:1rem;display:inline-block}.timeline{flex-direction:column;gap:2rem;margin-top:3rem;display:flex;position:relative}.timeline:before{content:"";background:var(--border-color);z-index:-1;width:2px;position:absolute;top:0;bottom:0;left:2rem}.timeline-item{margin-left:4rem;padding:2.5rem;transition:transform .3s,box-shadow .3s;position:relative}.timeline-item:hover{transform:translateY(-5px);box-shadow:0 12px 40px #1f26871a}.timeline-item:before{content:"";background:var(--accent-color);border:4px solid var(--bg-color);border-radius:50%;width:16px;height:16px;position:absolute;top:3rem;left:-2.3rem}.timeline-item h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.8rem}.timeline-item h4{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.2rem;font-weight:500}.timeline-item .date{color:var(--accent-color);background:#2563eb1a;border-radius:20px;margin-bottom:1.5rem;padding:.3rem .8rem;font-size:.9rem;font-weight:600;display:inline-block}.timeline-item ul{color:var(--text-secondary);padding-left:1.5rem;line-height:1.6;list-style-type:disc}.timeline-item li{margin-bottom:.8rem}.capgemini-card{border:1px solid #2563eb33;pointer-events:auto!important}.capgemini-card:hover,.capgemini-expanded{border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 16px 48px #2563eb26!important}.capgemini-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.expand-badge span{color:var(--accent-color);background:#2563eb14;border:1px dashed #2563eb66;border-radius:99px;padding:.4rem 1rem;font-size:.82rem;font-weight:600;transition:all .3s;display:inline-block}.capgemini-card:hover .expand-badge span{background:var(--accent-color);color:#fff;border-style:solid}.cap-summary-hint{color:var(--text-secondary);margin-top:.5rem;font-size:1rem;line-height:1.6}.capgemini-projects{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem;animation:.4s fadeIn}.projects-nav{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.proj-tab-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .25s;display:flex;pointer-events:auto!important}.proj-tab-btn:hover{border-color:var(--accent-light);color:var(--accent-color)}.proj-tab-btn.active{border-color:var(--accent-color);color:var(--accent-color);background:#2563eb1a;box-shadow:0 4px 12px #2563eb1a}.proj-logo-thumb{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.proj-logo-thumb img{object-fit:contain;width:100%;height:100%}.project-detail-box{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.75rem;box-shadow:0 4px 16px #00000008}.proj-header-row{border-bottom:1px dashed var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.proj-header-row h4{color:var(--text-primary)!important;margin:0!important;font-size:1.15rem!important}.proj-tag{text-transform:uppercase;color:var(--accent-color);background:#2563eb14;border-radius:6px;padding:.3rem .7rem;font-size:.8rem;font-weight:700}.project-content-fade{animation:.3s fadeIn}.double-col{grid-template-columns:1fr 1fr;gap:4rem;display:grid}@media (width<=900px){.double-col{grid-template-columns:1fr}}.project-card{margin-top:2rem;margin-bottom:2rem;padding:2.5rem;transition:transform .3s}.project-card:hover{transform:translateY(-5px)}.project-card h3{margin-bottom:1rem;font-size:1.5rem}.project-card p{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.cert{align-items:flex-start;gap:1.5rem;display:flex}.cert-icon{color:var(--accent-color);flex-shrink:0;width:32px;height:32px}.skills-container{flex-wrap:wrap;gap:1rem;margin-top:2rem;padding:2.5rem;display:flex}.skill-tag{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:default;border-radius:30px;padding:.8rem 1.5rem;font-weight:500;transition:all .3s}.skill-tag:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb33}.lab-section{text-align:center}.lab-grid-horizontal{grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;margin-top:5vh;display:grid}@media (width<=850px){.lab-grid-horizontal{grid-template-columns:1fr}}.lab-card{cursor:pointer;padding:2.5rem 2rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.lab-card:hover{border-color:var(--accent-color);transform:translateY(-10px)scale(1.02);box-shadow:0 20px 40px #2563eb26}.lab-metric{color:var(--accent-color);letter-spacing:-.03em;margin-bottom:.5rem;font-size:3rem;font-weight:800}.lab-card h4{color:var(--text-primary);margin-bottom:1rem;font-size:1.3rem;font-weight:700}.lab-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.footer{text-align:center;min-height:50vh}.footer .content{flex-direction:column;justify-content:center;align-items:center;display:flex}.contact-cards{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:1rem;display:flex}.contact-card{cursor:pointer;min-width:260px;color:var(--text-primary);align-items:center;gap:1.25rem;padding:1.5rem 2rem;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;pointer-events:auto!important}.contact-card:hover{border-color:var(--accent-color);transform:translateY(-6px);box-shadow:0 16px 40px #2563eb1f}.contact-card-icon{width:56px;height:56px;color:var(--accent-color);background:#2563eb14;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s;display:flex}.contact-card:hover .contact-card-icon{background:var(--accent-color);color:#fff}.contact-card-icon--blue{color:#0a66c2;background:#2563eb14}.contact-card:hover .contact-card-icon--blue{color:#fff;background:#0a66c2}.contact-card-icon--dark{color:#0f172a;background:#0f172a12}.contact-card:hover .contact-card-icon--dark{color:#fff;background:#0f172a}[data-theme=dark] .contact-card-icon--blue{color:#38bdf8;background:#38bdf81f}[data-theme=dark] .contact-card:hover .contact-card-icon--blue{color:#0f172a;background:#38bdf8}[data-theme=dark] .contact-card-icon--dark{color:#f8fafc;background:#ffffff1f}[data-theme=dark] .contact-card:hover .contact-card-icon--dark{color:#0f172a;background:#fff}.contact-card-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.3rem;font-size:.78rem;font-weight:600}.contact-card-value{color:var(--text-primary);font-size:1rem;font-weight:600}@media (width<=600px){.contact-cards{flex-direction:column;align-items:stretch}.contact-card{min-width:unset;padding:1.25rem 1.5rem}}.hobbies-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem;display:grid}.hobby-card{border-left:4px solid var(--accent-color);flex-direction:column;justify-content:space-between;gap:1rem;padding:2.25rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.hobby-card:hover{border-color:var(--accent-light);transform:translateY(-8px);box-shadow:0 20px 40px #2563eb26}.hobby-icon-wrap{width:56px;height:56px;color:var(--accent-color);background:#2563eb1a;border-radius:14px;justify-content:center;align-items:center;margin-bottom:.5rem;transition:all .3s;display:flex}.hobby-card:hover .hobby-icon-wrap{background:var(--accent-color);color:#fff;transform:scale(1.1)rotate(5deg)}.hobby-card h3{color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:700}.hobby-card p{color:var(--text-secondary);flex-grow:1;margin:0;font-size:1rem;line-height:1.6}.hobby-tag{color:var(--accent-color);background:#2563eb14;border:1px solid #2563eb33;border-radius:20px;width:fit-content;padding:.4rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.photo-vault-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;display:grid}.vault-photo-card{border:1px solid var(--border-color);border-radius:16px;flex-direction:column;padding:0;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.vault-photo-card:hover{border-color:var(--accent-color);transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #2563eb40}.vault-img-wrap{background:var(--bg-secondary);width:100%;height:200px;position:relative;overflow:hidden}.vault-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);display:block}.vault-photo-card:hover .vault-img-wrap img{transform:scale(1.1)}.vault-photo-info{background:var(--card-bg);flex-direction:column;gap:.3rem;padding:1.2rem 1.5rem;display:flex}.vault-photo-info h4{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:700}.vault-photo-info span{color:var(--accent-color);font-size:.85rem;font-weight:600}.resume-btn:hover{box-shadow:0 8px 24px #2563eb40;background:var(--accent-color)!important;color:#fff!important;border-color:var(--accent-color)!important}.copyright{color:var(--text-secondary);font-size:.9rem}.theme-toggle-btn{background:#2563eb14;border:1px solid #2563eb40;border-radius:20px;align-items:center;gap:.4rem;transition:all .3s;display:flex;color:var(--accent-color)!important;padding:.35rem .85rem!important;font-weight:700!important}.theme-toggle-btn:hover{border-color:var(--accent-color);background:#2563eb26;transform:translateY(-2px)}.floating-theme-toggle{z-index:10000;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:50px;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 8px 32px #00000026}.floating-theme-toggle:hover{border-color:var(--accent-color);transform:translateY(-3px)scale(1.05);box-shadow:0 12px 36px #2563eb40}.sun-icon{color:#f59e0b}.moon-icon{color:#38bdf8}@media (width<=600px){.floating-theme-toggle{padding:.6rem 1rem;font-size:.85rem;bottom:1.2rem;right:1.2rem}}@media (width<=900px){.section{min-height:auto;padding:3rem 1.5rem}.fixed-navbar{border-radius:40px;width:calc(100% - 2rem);padding:.75rem 1.5rem}.nav-links{gap:1.2rem}.nav-link{font-size:.85rem}.nav-brand{font-size:1rem}.timeline:before{left:.5rem}.timeline-item{margin-left:2rem;padding:1.5rem}.timeline-item:before{left:-1.8rem}.lab-grid-horizontal{grid-template-columns:1fr;margin-top:2rem}}@media (width<=650px){.navbar-wrapper{top:.75rem}.fixed-navbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:30px;justify-content:flex-start;width:calc(100% - 1.2rem);padding:.55rem .9rem;overflow-x:auto}.fixed-navbar::-webkit-scrollbar{display:none}.nav-brand{display:none}.nav-links{flex-wrap:nowrap;gap:.5rem;padding:0 .25rem}.nav-link{white-space:nowrap;background:#2563eb0a;border-radius:20px;padding:.4rem .75rem;font-size:.82rem}.nav-link:active{background:#2563eb26}.hero-layout{text-align:center;flex-direction:column;align-items:center;gap:2rem;padding-top:5vh}.hero-image-container{order:-1;width:100%}.portrait-placeholder{aspect-ratio:3/4;max-width:210px;margin:0 auto}.hero-details{flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1rem 1.25rem}.detail-item{font-size:.9rem}.section{padding:3rem 1.2rem}.content{padding:0}.timeline{gap:1.5rem;margin-top:1.5rem}.timeline:before{display:none}.timeline-item{margin-left:0;padding:1.5rem 1.25rem}.timeline-item:before{display:none}.timeline-item h3{font-size:1.3rem}.timeline-item h4{font-size:1rem}.projects-nav{flex-direction:column;gap:.6rem;width:100%}.proj-tab-btn{justify-content:flex-start;width:100%;padding:.75rem 1rem}.project-detail-box{padding:1.25rem 1rem}.proj-header-row{flex-direction:column;align-items:flex-start;gap:.6rem}.double-col{grid-template-columns:1fr;gap:2rem}.project-card{margin-top:1rem;margin-bottom:1rem;padding:1.5rem 1.25rem}.cert{flex-direction:column;gap:.8rem}.skills-container{gap:.5rem;padding:1.25rem}.skill-tag{padding:.5rem .9rem;font-size:.82rem}.lab-grid-horizontal{grid-template-columns:1fr;gap:1.25rem}.lab-card{padding:1.75rem 1.25rem}.lab-metric{font-size:2.5rem}.hobbies-grid,.photo-vault-grid{grid-template-columns:1fr;gap:1.5rem}.vault-img-wrap{height:220px}.vault-photo-info{padding:1.1rem 1.25rem}.contact-cards{flex-direction:column;gap:1rem}.contact-card{padding:1.2rem 1.25rem}.contact-card-icon{width:48px;height:48px}.floating-theme-toggle{padding:.6rem 1rem;font-size:.82rem;bottom:1rem;right:1rem}}@media (width<=480px){.hero-text button,.hero-text a.resume-btn{justify-content:center;width:100%}.section{padding:2.5rem .8rem}.timeline-item,.project-card,.lab-card,.hobby-card{padding:1.25rem 1rem}}.loader-overlay{z-index:9999;opacity:1;background:#f8fafc;justify-content:center;align-items:center;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0;overflow:hidden}.loader-exit{opacity:0;pointer-events:none;transform:scale(1.05)}.loader-grid{background-image:linear-gradient(#2563eb14 1px,#0000 1px),linear-gradient(90deg,#2563eb14 1px,#0000 1px);background-size:60px 60px;animation:3s ease-in-out infinite grid-pulse;position:absolute;inset:0}@keyframes grid-pulse{0%,to{opacity:.5}50%{opacity:1}}.corner{width:28px;height:28px;animation:2s ease-in-out infinite alternate corner-glow;position:absolute}.corner-tl{border-top:2px solid #3b82f6;border-left:2px solid #3b82f6;top:28px;left:28px}.corner-tr{border-top:2px solid #3b82f6;border-right:2px solid #3b82f6;top:28px;right:28px}.corner-bl{border-bottom:2px solid #3b82f6;border-left:2px solid #3b82f6;bottom:28px;left:28px}.corner-br{border-bottom:2px solid #3b82f6;border-right:2px solid #3b82f6;bottom:28px;right:28px}@keyframes corner-glow{0%{opacity:.3}to{opacity:.9}}.loader-rings{justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:absolute}.ring{border:1.5px solid #0000;border-radius:50%;position:absolute}.ring-1{border-top-color:#3b82f6;border-right-color:#3b82f633;width:220px;height:220px;animation:1.8s linear infinite spin-cw;box-shadow:inset 0 0 20px #3b82f626}.ring-2{border-bottom-color:#60a5fa;border-left-color:#60a5fa33;width:270px;height:270px;animation:2.4s linear infinite spin-ccw}.ring-3{border-top-color:#2563eb40;border-right-color:#2563eb1a;width:310px;height:310px;animation:3.5s linear infinite spin-cw}@keyframes spin-cw{to{transform:rotate(360deg)}}@keyframes spin-ccw{to{transform:rotate(-360deg)}}.loader-orbit{width:270px;height:270px;animation:4s linear infinite spin-cw;position:absolute}.orbit-dot{width:7px;height:7px;transform:rotate(calc(var(--i) * 60deg)) translateX(135px) translateY(-50%);animation:dot-pulse 1.5s ease-in-out calc(var(--i) * .25s) infinite alternate;background:#2563eb;border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #2563eb80,0 0 16px #2563eb33}@keyframes dot-pulse{0%{opacity:.3;transform:rotate(calc(var(--i) * 60deg)) translateX(135px) translateY(-50%) scale(.7)}to{opacity:1;transform:rotate(calc(var(--i) * 60deg)) translateX(135px) translateY(-50%) scale(1.3)}}.loader-center{flex-direction:column;align-items:center;gap:8px;animation:.8s cubic-bezier(.34,1.56,.64,1) both center-in;display:flex;position:relative}@keyframes center-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.loader-initials{letter-spacing:.15em;background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 50%,#3b82f6 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 12px #2563eb40);background-clip:text;font-family:Outfit,Inter,sans-serif;font-size:3rem;font-weight:800;animation:2s ease-in-out infinite initials-flicker}@keyframes initials-flicker{0%,to{filter:drop-shadow(0 2px 12px #2563eb40)}50%{filter:drop-shadow(0 2px 24px #2563eb80)}}.loader-label{letter-spacing:.4em;text-transform:uppercase;color:#64748b;font-family:Outfit,Inter,sans-serif;font-size:.7rem;font-weight:500}.loader-bar{background:#2563eb33;border-radius:99px;width:100px;height:2px;margin-top:6px;overflow:hidden}.loader-bar-fill{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:99px;height:100%;animation:1.6s cubic-bezier(.4,0,.2,1) forwards bar-fill;box-shadow:0 0 8px #60a5fa}@keyframes bar-fill{0%{width:0%}to{width:100%}}.offline-overlay{z-index:10000;background:#f8fafc;justify-content:center;align-items:center;transition:opacity .5s,transform .5s;display:flex;position:fixed;inset:0;overflow:hidden}.offline-enter{animation:.5s cubic-bezier(.34,1.56,.64,1) both offline-slide-in}.offline-exit{animation:.5s forwards offline-slide-out}@keyframes offline-slide-in{0%{opacity:0;transform:translateY(-30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes offline-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.offline-grid{background-image:linear-gradient(#ef44440f 1px,#0000 1px),linear-gradient(90deg,#ef44440f 1px,#0000 1px);background-size:55px 55px;animation:6s linear infinite grid-drift;position:absolute;inset:0}@keyframes grid-drift{0%{background-position:0 0}to{background-position:55px 55px}}.offline-particle{pointer-events:none;animation:float-particle var(--dur,5s) ease-in-out var(--delay,0s) infinite alternate;background:#ef4444;border-radius:50%;position:absolute}@keyframes float-particle{0%{transform:translateY(0)scale(1)}to{transform:translateY(-24px)scale(1.2)}}.offline-pulse-rings{justify-content:center;align-items:center;display:flex;position:absolute}.pulse-ring{border:1.5px solid #ef444440;border-radius:50%;animation:3s ease-out infinite pulse-expand;position:absolute}.pulse-ring-1{width:160px;height:160px;animation-delay:0s}.pulse-ring-2{width:240px;height:240px;animation-delay:.9s}.pulse-ring-3{width:320px;height:320px;animation-delay:1.8s}@keyframes pulse-expand{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}.offline-card{z-index:2;-webkit-backdrop-filter:blur(16px);text-align:center;background:#ffffffd9;border:1px solid #ef444426;border-radius:28px;flex-direction:column;align-items:center;gap:1.2rem;width:90vw;max-width:440px;padding:3rem 3.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) .1s both card-in;display:flex;position:relative;box-shadow:0 4px 24px #ef444414,0 1px 4px #0000000f}@keyframes card-in{0%{opacity:0;transform:scale(.88)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.wifi-icon{width:90px;height:70px;margin-bottom:.5rem}.wifi-online{color:#22c55e}.wifi-offline{color:#ef4444}.arc-3{animation:1.6s ease-in-out infinite arc-drop}.arc-2{animation:1.6s ease-in-out .2s infinite arc-drop}.arc-1{animation:1.6s ease-in-out .4s infinite arc-drop}.wifi-dot{animation:1.6s ease-in-out .6s infinite arc-drop}@keyframes arc-drop{0%,to{opacity:1}40%,80%{opacity:.15}}.wifi-slash{stroke-dasharray:90;stroke-dashoffset:90px;animation:.45s ease-out .5s forwards slash-draw}@keyframes slash-draw{to{stroke-dashoffset:0}}.offline-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-family:Outfit,Inter,sans-serif;font-size:2rem;font-weight:800}.offline-subtitle{color:#64748b;max-width:320px;margin:0;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.6}.signal-bars{align-items:flex-end;gap:5px;height:28px;display:flex}.signal-bar{border-radius:3px;width:10px;animation:1.8s ease-in-out infinite alternate bar-idle}.signal-bar-1{height:8px;animation-delay:0s}.signal-bar-2{height:14px;animation-delay:.15s}.signal-bar-3{height:20px;animation-delay:.3s}.signal-bar-4{height:28px;animation-delay:.45s}.signal-empty{box-shadow:none;background:#e2e8f0}@keyframes bar-idle{0%{opacity:.4}to{opacity:.9}}.retry-btn{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 2rem;font-family:Outfit,Inter,sans-serif;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 16px #ef44444d}.retry-btn:hover:not(:disabled){transform:translateY(-2px)scale(1.04);box-shadow:0 8px 24px #ef444466}.retry-btn:active:not(:disabled){transform:scale(.97)}.retry-btn--loading{opacity:.85;cursor:not-allowed;box-shadow:none;background:linear-gradient(135deg,#94a3b8,#64748b)}.retry-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin-cw;display:inline-block}.offline-hint{color:#94a3b8;margin:0;font-size:.78rem}.offline-corner{width:24px;height:24px;animation:2s ease-in-out infinite alternate corner-glow;position:absolute}.offline-corner-tl{border-top:2px solid #fca5a5;border-left:2px solid #fca5a5;top:24px;left:24px}.offline-corner-tr{border-top:2px solid #fca5a5;border-right:2px solid #fca5a5;top:24px;right:24px}.offline-corner-bl{border-bottom:2px solid #fca5a5;border-left:2px solid #fca5a5;bottom:24px;left:24px}.offline-corner-br{border-bottom:2px solid #fca5a5;border-right:2px solid #fca5a5;bottom:24px;right:24px}
