@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+Bengali:wght@300;400;500;600;700;800;900&family=Sora:wght@500;600;700;800&display=swap";:root{--bg-primary: #020810;--bg-secondary: #060e1f;--bg-tertiary: #0a1628;--bg-card: rgba(8, 18, 42, .88);--bg-glass: rgba(8, 18, 42, .62);--bg-glass-strong: rgba(10, 22, 50, .82);--bg-elevated: rgba(14, 28, 58, .9);--border-glass: rgba(148, 185, 232, .1);--border-subtle: rgba(148, 185, 232, .06);--border-glow: rgba(0, 212, 170, .3);--green-primary: #00d4a8;--green-light: #5dfcd2;--green-dark: #009975;--green-glow: rgba(0, 212, 168, .2);--red-primary: #ff4757;--red-light: #ff6b81;--gold: #fbbf24;--gold-light: #fde68a;--blue: #3b82f6;--blue-light: #93bbfd;--blue-dark: #1e40af;--purple: #8b5cf6;--purple-light: #c4b5fd;--pink: #ec4899;--cyan: #22d3ee;--orange: #fb923c;--teal: #14b8a6;--text-primary: #f0f6ff;--text-secondary: #94a8c8;--text-muted: #5a7296;--text-accent: var(--green-primary);--font-bengali: "Noto Sans Bengali", sans-serif;--font-display: "Sora", "Noto Sans Bengali", sans-serif;--font-number: "Manrope", "Noto Sans Bengali", sans-serif;--font-ui: "Manrope", "Noto Sans Bengali", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--vh-full: 100vh;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 8px 30px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .3);--shadow-xl: 0 32px 80px rgba(0, 0, 0, .6), 0 12px 40px rgba(0, 0, 0, .35);--shadow-glow-green: 0 0 30px rgba(0, 212, 168, .25), 0 0 60px rgba(0, 212, 168, .08);--shadow-glow-blue: 0 0 30px rgba(59, 130, 246, .25), 0 0 60px rgba(59, 130, 246, .08);--shadow-glow-purple: 0 0 30px rgba(139, 92, 246, .25), 0 0 60px rgba(139, 92, 246, .08);--shadow-inner: inset 0 1px 0 rgba(255, 255, 255, .04), inset 0 -1px 0 rgba(0, 0, 0, .1);--transition-fast: .16s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.16, 1, .3, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce: .6s cubic-bezier(.68, -.55, .265, 1.55)}[data-theme=light]{--bg-primary: #f8fbff;--bg-secondary: #eef4fc;--bg-tertiary: #e4edfa;--bg-card: rgba(255, 255, 255, .92);--bg-glass: rgba(255, 255, 255, .78);--bg-glass-strong: rgba(255, 255, 255, .88);--bg-elevated: rgba(255, 255, 255, .95);--border-glass: rgba(15, 40, 74, .1);--border-subtle: rgba(15, 40, 74, .05);--border-glow: rgba(0, 150, 120, .22);--text-primary: #0a1929;--text-secondary: #3e5c82;--text-muted: #7b95b5;--shadow-sm: 0 2px 8px rgba(15, 30, 60, .06), 0 1px 3px rgba(15, 30, 60, .04);--shadow-md: 0 8px 28px rgba(15, 30, 60, .1), 0 4px 10px rgba(15, 30, 60, .06);--shadow-lg: 0 18px 50px rgba(15, 30, 60, .12), 0 8px 20px rgba(15, 30, 60, .07)}[data-theme=light] body{background:var(--bg-primary)}[data-theme=light] body:before{background:radial-gradient(ellipse at 15% 0%,rgba(0,200,160,.08) 0%,transparent 55%),radial-gradient(ellipse at 85% 5%,rgba(59,130,246,.07) 0%,transparent 50%),radial-gradient(ellipse at 55% 100%,rgba(251,191,36,.05) 0%,transparent 52%)}[data-theme=light] body:after{background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.03) 1px,transparent 0);opacity:.6}[data-theme=light] .glass-card{background:linear-gradient(165deg,#fffffff5,#ffffffd9);border-color:#0f284a14;box-shadow:var(--shadow-sm)}[data-theme=light] .glass-card:hover{border-color:#00b48c4d;box-shadow:0 12px 36px #00b48c1f,0 6px 18px #0c203a0f}[data-theme=light] .navbar{background:#f8fbffeb;border-bottom-color:#0d26480f}[data-theme=light] ::-webkit-scrollbar-track{background:#e8f0fa}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-bengali);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;min-height:100dvh;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 80% 50% at 10% 0%,rgba(0,212,168,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 90% 5%,rgba(59,130,246,.14) 0%,transparent 45%),radial-gradient(ellipse 70% 50% at 50% 95%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse 40% 35% at 75% 55%,rgba(236,72,153,.05) 0%,transparent 40%);pointer-events:none;z-index:0;animation:ambientShift 25s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.02) 1px,transparent 0);background-size:32px 32px;pointer-events:none;z-index:0;opacity:.4}#root{position:relative;z-index:1}a{text-decoration:none;color:inherit}.skip-link{position:fixed;top:10px;left:10px;z-index:2000;transform:translateY(-180%);padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--green-primary);background:#020810f2;color:var(--text-primary);font-weight:700;transition:transform var(--transition-fast)}.skip-link:focus-visible{transform:translateY(0)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--green-primary);outline-offset:2px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--green-primary),var(--purple));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--green-light)}.glass-card{background:linear-gradient(165deg,#0c1a3ad9,#08122ab3);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--border-glass);border-radius:var(--radius-lg);transition:all var(--transition-normal);position:relative;box-shadow:var(--shadow-sm),var(--shadow-inner);overflow:hidden}.glass-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,.015) 40%,transparent 70%);pointer-events:none}.glass-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 10%,rgba(255,255,255,.08) 50%,transparent 90%);pointer-events:none}.glass-card:hover{border-color:#00d4a84d;box-shadow:var(--shadow-glow-green),var(--shadow-lg);transform:translateY(-4px)}.container{max-width:1280px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:clamp(2.8rem,6vw,4.8rem) 0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:var(--space-xl)}.section-title{font-size:clamp(1.4rem,4vw,2rem);font-family:var(--font-display);font-weight:700;margin-bottom:var(--space-xl);color:var(--text-primary);position:relative;padding-bottom:1rem;letter-spacing:-.025em}.section-title:after{content:"";position:absolute;bottom:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,var(--green-primary),var(--cyan));border-radius:var(--radius-full);animation:shimmerLine 4s ease-in-out infinite}@keyframes shimmerLine{0%,to{width:60px;opacity:1}50%{width:100px;opacity:.75}}.number{font-family:var(--font-number);font-weight:800}.trend-up{color:var(--green-primary)}.trend-down{color:var(--red-primary)}.trend-stable{color:var(--gold)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.97)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes ambientShift{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.85;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(.5deg)}66%{transform:translateY(-5px) rotate(-.5deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(8px) rotate(-.5deg)}66%{transform:translateY(4px) rotate(.5deg)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #00d4a826}50%{box-shadow:0 0 40px #00d4a859,0 0 80px #00d4a81a}}@keyframes borderGlow{0%,to{border-color:#00d4a826}50%{border-color:#00d4a873}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}@keyframes scanLine{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes bgShift{0%{opacity:.8}to{opacity:1}}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-10px,15px) scale(.98)}75%{transform:translate(-25px,-10px) scale(1.02)}}.animate-fade-in{animation:fadeInUp .55s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.gradient-text{background:linear-gradient(135deg,var(--green-primary),var(--cyan),var(--blue));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 5s ease infinite}.neon-green{text-shadow:0 0 12px rgba(0,212,168,.5),0 0 36px rgba(0,212,168,.2)}.neon-blue{text-shadow:0 0 12px rgba(59,130,246,.5),0 0 36px rgba(59,130,246,.2)}@media(max-width:768px){html{font-size:15px}.container{padding:0 var(--space-md)}.stat-grid,.chart-grid{grid-template-columns:1fr}.section{padding:var(--space-2xl) 0}}@media(max-width:480px){html{font-size:14px}.container{padding:0 var(--space-sm)}}@media(max-width:360px){html{font-size:14px}.container{padding:0 8px}}@media(hover:none){.glass-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border-glass)}.glass-card:active{transform:scale(.98);border-color:#00d4a840;box-shadow:0 4px 20px #00d4a81f}}@supports (padding: max(0px)){.navbar{padding-top:max(0px,env(safe-area-inset-top))}.search-overlay,.search-modal{padding-top:max(20px,env(safe-area-inset-top))}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,[role=button],input,select,textarea{-webkit-tap-highlight-color:transparent}button,[role=button],a,.clickable{user-select:none;-webkit-user-select:none;touch-action:manipulation}input,select,textarea{font-size:max(16px,1em)}[style*=overflow],.overflow-auto,.overflow-y-auto,.overflow-x-auto{-webkit-overflow-scrolling:touch}@media(max-width:768px){.glass-card{border-radius:var(--radius-md)}.navbar-links{-webkit-overflow-scrolling:touch}@media(prefers-reduced-motion:reduce){.glass-card,.navbar,.bottom-nav{backdrop-filter:none;-webkit-backdrop-filter:none}}}.student-tip{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;background:#00d4a80f;border:1px solid rgba(0,212,168,.12);border-left:3px solid var(--green-primary);border-radius:var(--radius-md);font-size:.82rem;color:var(--text-secondary);line-height:1.6}html{overscroll-behavior-y:contain}:focus-visible{outline:2px solid var(--green-primary);outline-offset:2px;border-radius:var(--radius-sm)}.app-main{min-height:calc(100dvh - 220px);animation:fadeInUp .3s ease forwards}@supports not (min-height: 100dvh){.app-main{min-height:calc(100vh - 220px)}}@media(max-width:768px){.app-main{min-height:calc(100dvh - 130px)}@supports not (min-height: 100dvh){.app-main{min-height:calc(100vh - 260px)}}}.navbar{position:sticky;top:0;z-index:1000;background:#020810e0;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid rgba(148,185,232,.06)}[data-theme=light] .navbar{background:#f8fbffeb;border-bottom-color:#0c24420f}.navbar-inner{display:flex;align-items:center;gap:16px;height:56px}.navbar-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--text-primary);text-decoration:none;flex-shrink:0}.logo-flag{font-size:1.3rem;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.navbar-logo:hover .logo-flag{transform:rotate(-8deg) scale(1.1)}.logo-text{background:linear-gradient(135deg,var(--green-primary),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-primary-tabs{flex:1;display:flex;align-items:center;justify-content:center;gap:2px}.navbar-tab{padding:8px 16px;border-radius:8px;color:var(--text-muted);text-decoration:none;font-family:var(--font-ui);font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;min-height:36px;display:inline-flex;align-items:center;touch-action:manipulation;transition:color .15s ease,background .15s ease;position:relative}.navbar-tab:hover{color:var(--text-primary);background:#94b9e80f}.navbar-tab.active{color:var(--green-primary);font-weight:700}.navbar-tab.active[data-color=purple]{color:var(--purple-light)}.navbar-tab.active[data-color=blue]{color:var(--blue-light)}.navbar-tab.active[data-color=cyan]{color:var(--cyan)}.navbar-tab.active[data-color=gold]{color:var(--gold)}.navbar-tab.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:18px;height:2px;border-radius:999px;background:currentColor;opacity:.7}.navbar-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.navbar-icon-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .15s ease;touch-action:manipulation}.navbar-icon-btn:hover{color:var(--text-primary);background:#94b9e80f}.navbar-icon-btn.active-ds{color:var(--gold)}.navbar-lang-btn{font-size:.72rem;font-weight:800;font-family:var(--font-ui)}.navbar-search-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid rgba(148,185,232,.1);background:#94b9e80a;color:var(--text-muted);border-radius:8px;cursor:pointer;min-height:36px;touch-action:manipulation;transition:all .15s ease}.navbar-search-btn:hover{border-color:#94b9e833;color:var(--text-primary);background:#94b9e814}.search-btn-kbd{font-size:.58rem;padding:2px 5px;border-radius:4px;border:1px solid rgba(148,185,232,.12);background:#94b9e80a;color:var(--text-muted);font-family:var(--font-ui)}.navbar-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid rgba(148,185,232,.1);border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer}.navbar-group-strip{background:#02081073;border-top:1px solid rgba(148,185,232,.04)}.navbar-group-strip-inner{display:flex;align-items:center;padding-top:5px;padding-bottom:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.navbar-group-strip-inner::-webkit-scrollbar{display:none}.navbar-group-links{display:flex;gap:3px}.navbar-group-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:.72rem;font-weight:600;white-space:nowrap;text-decoration:none;transition:all .15s ease;cursor:pointer;touch-action:manipulation}.navbar-group-chip:hover{background:#94b9e80f;color:var(--text-primary)}.navbar-group-chip.active{color:var(--green-primary);background:#00d4a814;font-weight:700}[data-color=purple] .navbar-group-chip.active{color:var(--purple-light);background:#8b5cf614}[data-color=blue] .navbar-group-chip.active{color:var(--blue-light);background:#3b82f614}[data-color=cyan] .navbar-group-chip.active{color:var(--cyan);background:#22d3ee14}[data-color=gold] .navbar-group-chip.active{color:var(--gold);background:#fbbf2414}.navbar-fun-badge{font-size:8px;font-weight:800;letter-spacing:.05em;padding:1px 4px;border-radius:3px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;line-height:1.2;flex-shrink:0}.navbar-mobile-drawer{display:none;max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.16,1,.3,1),padding .28s ease;border-top:1px solid rgba(148,185,232,.06);background:#020810f5}.navbar-mobile-drawer.open{max-height:80vh;padding:.75rem .8rem .9rem}[data-theme=light] .navbar-mobile-drawer{background:#f8fbfffa}.navbar-mobile-sections{display:grid;gap:.8rem;max-height:calc(80vh - 20px);overflow:auto;padding-right:.2rem}.navbar-mobile-section h4{margin:0 0 .35rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.navbar-mobile-list{display:grid;gap:.3rem}.navbar-mobile-item{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;text-decoration:none;color:var(--text-secondary);transition:all .15s ease}.navbar-mobile-item:hover,.navbar-mobile-item.active{background:#00d4a80a;color:var(--text-primary)}.mobile-item-icon{font-size:1rem}.mobile-item-text{display:flex;flex-direction:column;gap:1px}.mobile-item-label{font-size:.82rem;font-weight:700}.mobile-item-desc{font-size:.68rem;color:var(--text-muted)}@media(max-width:1100px){.search-btn-kbd{display:none}.navbar-search-btn{padding:7px 9px}}@media(max-width:900px){.navbar-primary-tabs,.navbar-group-strip{display:none}.navbar-toggle{display:inline-flex}.navbar-mobile-drawer{display:block}}@media(max-width:768px){.navbar-inner{height:52px}.navbar-logo{font-size:1.05rem}.logo-flag{font-size:1.2rem}}.footer{margin-top:var(--space-3xl);padding:var(--space-3xl) 0 var(--space-xl);background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 92%,#020a18),#020713);border-top:1px solid transparent;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--green-primary),var(--cyan),var(--blue),transparent);opacity:.5}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-brand{padding:1rem 1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:#ffffff08}.footer-logo{font-size:1.4rem;font-family:var(--font-display);font-weight:700;margin-bottom:var(--space-md);background:linear-gradient(135deg,var(--green-primary),var(--cyan),var(--blue));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 5s ease infinite;letter-spacing:-.02em}.footer-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.75;max-width:46ch}.footer-contact-row{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.footer-twitter{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(0,212,168,.2);background:#00d4a80f;color:var(--green-primary)!important;font-weight:700;font-size:.8rem;text-decoration:none;transition:all .2s ease}.footer-twitter:hover{background:#00d4a81f;border-color:#00d4a866;transform:translateY(-1px)!important}.footer-about-link{display:inline-flex;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(148,185,232,.15);background:#94b9e80d;color:var(--text-secondary)!important;font-weight:600;font-size:.8rem;text-decoration:none;transition:all .2s ease}.footer-about-link:hover{color:var(--text-primary)!important;border-color:#94b9e84d;transform:translateY(-1px)!important}.footer-visitor-count{margin-top:.75rem;display:inline-block;padding:.34rem .65rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#0ea5e91f;color:var(--text-primary);font-size:.8rem;font-weight:600}.footer-col h4{font-family:var(--font-ui);font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md);color:var(--text-primary)}.footer-col a{display:block;color:var(--text-secondary);font-size:.83rem;padding:var(--space-xs) 0;border-radius:var(--radius-sm);transition:color var(--transition-fast),transform var(--transition-fast)}.footer-col a:hover{color:var(--green-primary);transform:translate(4px)}.footer-ecosystem-current{display:block;color:var(--green-primary);font-size:.83rem;padding:var(--space-xs) 0;font-weight:600;opacity:.7}.footer-bottom{padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,.08);text-align:center}.footer-bottom p{color:var(--text-muted);font-size:.85rem}.footer-disclaimer{margin-top:var(--space-sm);font-size:.8rem!important;color:var(--text-muted);opacity:.7}[data-theme=light] .footer{background:linear-gradient(180deg,#eaf3ff,#e4f0ff)}[data-theme=light] .footer-brand{border-color:#0c24421c;background:#ffffffa8}[data-theme=light] .footer-visitor-count{border-color:#0c244233;background:#38bdf82e}@media(max-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.footer-grid>.footer-col:first-child{grid-column:1 / -1}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.footer{padding:var(--space-2xl) 0 var(--space-lg)}}.search-overlay{position:fixed;inset:0;background:#020917c7;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:max(10vh,env(safe-area-inset-top,10vh));padding-left:max(var(--space-md),env(safe-area-inset-left,0px));padding-right:max(var(--space-md),env(safe-area-inset-right,0px))}.search-modal{width:100%;max-width:620px;background:#08122af2;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(0,199,156,.18);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 30px 100px #00000094,0 0 60px #00c79c1a}.search-input-wrap{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid rgba(0,199,156,.12);background:#00c79c08}.search-helper{margin:0;padding:8px var(--space-xl) 10px;color:var(--text-muted);font-size:.72rem;border-bottom:1px solid rgba(0,199,156,.09)}.search-icon{color:var(--text-muted);flex-shrink:0}.search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-size:1.05rem;font-family:var(--font-ui);min-width:0}.search-input::placeholder{color:var(--text-muted)}.search-kbd{font-size:.7rem;padding:3px 8px;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:var(--text-muted);background:#ffffff0a;font-family:monospace}.search-results{max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-sm) 0}.search-result-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-xl);background:none;border:none;color:var(--text-primary);cursor:pointer;font-family:inherit;text-align:left;transition:background .2s}.search-result-item:hover,.search-result-item:focus,.search-result-item.active{background:#00c79c14;outline:none}.search-result-item:active{background:#00c79c24}.search-item-icon{font-size:1.3rem;flex-shrink:0}.search-item-content{flex:1;display:flex;flex-direction:column;gap:2px}.search-item-title{font-weight:700;font-size:.93rem}.search-item-value{font-size:.8rem;color:var(--green-primary);font-weight:600}.search-item-category{font-size:.7rem;padding:3px 10px;border-radius:var(--radius-full);background:#ffffff0d;color:var(--text-muted);white-space:nowrap}.search-empty{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.search-empty span{font-size:2.5rem;display:block;margin-bottom:var(--space-sm)}.search-hints{padding:var(--space-lg) var(--space-xl)}.search-hint-title{font-size:.8rem;color:var(--text-muted);margin-bottom:var(--space-sm)}.search-hint-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.search-hint-tag{padding:5px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;transition:background .2s,border-color .2s}.search-hint-tag:hover,.search-hint-tag:active{background:#00c79c1a;border-color:#00c79c4d;color:var(--green-primary)}[data-theme=light] .search-modal{background:#fffffff2;border-color:#0c244221}[data-theme=light] .search-input-wrap{background:#00a6860a;border-bottom-color:#0c244214}.search-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:768px){.search-overlay{align-items:flex-end;padding-top:0;padding-left:0;padding-right:0}.search-modal{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none;max-height:85vh;display:flex;flex-direction:column}.search-results{flex:1;max-height:none}.search-input-wrap{padding:var(--space-md) var(--space-lg)}.search-helper{padding-left:var(--space-lg);padding-right:var(--space-lg)}.search-input{font-size:16px}.search-kbd{display:none}.search-result-item{padding:var(--space-md) var(--space-lg);min-height:56px}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#020810eb;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border-top:1px solid rgba(148,185,232,.08);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 30px #0006}.bottom-nav:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(0,212,168,.3),rgba(59,130,246,.2),transparent)}[data-theme=light] .bottom-nav{background:#f8fbfff0;border-top-color:#0000000f;box-shadow:0 -4px 24px #00000014}.bottom-nav-inner{display:flex;align-items:stretch;height:62px;max-width:480px;margin:0 auto;padding:0 4px}.bottom-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--text-muted);font-size:.6rem;font-family:var(--font-ui);font-weight:600;letter-spacing:.02em;transition:all .18s ease;position:relative;min-width:48px;min-height:48px;padding:6px 4px 4px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:12px}.bottom-tab:active{transform:scale(.9)}.bottom-tab.active{color:var(--green-primary)}.bottom-tab--center{position:relative;margin-top:-16px}.bottom-tab--center .bottom-tab-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--green-primary),var(--cyan),var(--blue));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00d4a866,0 0 0 3px #020810eb,inset 0 1px #fff3;color:#fff;transition:all .25s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}[data-theme=light] .bottom-tab--center .bottom-tab-icon{box-shadow:0 4px 18px #00d4a859,0 0 0 3px #f8fbfff0}.bottom-tab--center.active .bottom-tab-icon,.bottom-tab--center:active .bottom-tab-icon{transform:scale(1.08);box-shadow:0 6px 28px #00d4a88c,0 0 0 3px #020810eb,inset 0 1px #fff3}.bottom-tab:not(.bottom-tab--center) .bottom-tab-icon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:all .18s ease;flex-shrink:0}.bottom-tab.active:not(.bottom-tab--center) .bottom-tab-icon{transform:translateY(-2px)}.bottom-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1}.bottom-tab--center .bottom-tab-label{margin-top:2px}.bottom-tab-dot{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--green-primary);opacity:.85;box-shadow:0 0 8px #00d4a866}.bottom-tab--center .bottom-tab-dot{display:none}@media(max-width:768px){.bottom-nav{display:block}#root{padding-bottom:calc(62px + env(safe-area-inset-bottom,0px))}}.install-prompt{position:fixed;bottom:calc(68px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:1200;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#0a142df7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,212,168,.3);border-radius:18px;box-shadow:0 8px 40px #00000080,0 0 0 1px #00d4a81a;max-width:480px;margin:0 auto}[data-theme=light] .install-prompt{background:#fffffff7;border-color:#00b4944d}.install-prompt-icon img{border-radius:12px;flex-shrink:0;display:block}.install-prompt-content{flex:1;min-width:0}.install-prompt-title{font-size:.88rem;font-weight:800;color:var(--text-primary);margin-bottom:2px;line-height:1.3}.install-prompt-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.install-prompt-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-btn{font-family:inherit;font-weight:700;border:none;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.install-btn--primary{padding:8px 16px;background:linear-gradient(135deg,var(--green-primary),#00b894);color:#fff;border-radius:10px;font-size:.82rem;box-shadow:0 3px 12px #00d4a84d}.install-btn--primary:active{transform:scale(.95)}.install-btn--ghost{width:30px;height:30px;border-radius:8px;background:#ffffff0f;color:var(--text-muted);font-size:.8rem;display:flex;align-items:center;justify-content:center}.install-btn--ghost:active{opacity:.6}@media(min-width:769px){.install-prompt{bottom:24px;left:auto;right:24px;max-width:360px}}.trail-context-bar{position:sticky;top:0;z-index:1100;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--trail-color) 25%,var(--bg-primary) 75%),var(--bg-primary));border-bottom:1px solid rgba(255,255,255,.08);font-size:.8rem;color:var(--text-primary, #e0e0e0);gap:12px}.trail-cb-left{display:flex;align-items:center;gap:6px;flex-shrink:0;min-width:0}.trail-cb-icon{font-size:1rem;line-height:1}.trail-cb-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.trail-cb-center{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;justify-content:center}.trail-cb-progress{white-space:nowrap;opacity:.9}.trail-cb-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.6;font-style:italic;max-width:320px}.trail-cb-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.trail-cb-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border:none;border-radius:12px;background:#ffffff1a;color:inherit;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s ease,transform .15s ease;line-height:1.4}.trail-cb-btn:hover{background:#fff3;transform:translateY(-1px)}.trail-cb-btn:active{transform:translateY(0)}.trail-cb-btn-next{background:#ffffff26;font-weight:600}.trail-cb-btn-close{background:transparent;font-size:.9rem;padding:3px 6px;opacity:.6;margin-left:2px}.trail-cb-btn-close:hover{opacity:1;background:#ff505040}@media(max-width:768px){.trail-context-bar{height:36px;padding:0 10px;gap:8px;font-size:.75rem}.trail-cb-hint{display:none}.trail-cb-name{max-width:100px}.trail-cb-center{justify-content:center}.trail-cb-btn{padding:2px 8px;font-size:.7rem}}@media(max-width:480px){.trail-cb-name{display:none}.trail-cb-progress{font-size:.7rem}}.route-fallback{min-height:58vh;display:grid;place-items:center;text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--text-secondary)}.route-fallback-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(0,212,168,.25);border-top-color:var(--green-primary);animation:spin .9s linear infinite;margin-bottom:var(--space-md)}.route-fallback-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.route-fallback-subtitle{font-size:.85rem;color:var(--text-muted)}.route-fallback-skeleton{margin-top:var(--space-lg);width:min(640px,90vw);display:grid;gap:10px}.route-fallback-skeleton span{display:block;height:10px;border-radius:var(--radius-full);background:linear-gradient(90deg,#ffffff0d,#00d4a82b,#ffffff0d);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.route-fallback-skeleton span:nth-child(1){width:100%}.route-fallback-skeleton span:nth-child(2){width:88%}.route-fallback-skeleton span:nth-child(3){width:72%}
