@layer primitives{:root{--palette-brown-50:#fef6f3;--palette-brown-100:#fff5f2;--palette-brown-200:#ffe8e0;--palette-brown-300:#ffd4c4;--palette-brown-400:#c44b00;--palette-brown-500:#a63500;--palette-brown-600:#892b00;--palette-brown-700:#6b2200;--palette-brown-800:#4a1800;--palette-brown-900:#2d0f00;--palette-navy-50:#f0f4f8;--palette-navy-100:#e2e8f0;--palette-navy-200:#c5d1e0;--palette-navy-300:#94a3b8;--palette-navy-400:#3d5a7f;--palette-navy-500:#2d4a6f;--palette-navy-600:#1e3a5f;--palette-navy-700:#16304d;--palette-navy-800:#0f2439;--palette-navy-900:#0a1628;--palette-indigo-50:#eef2ff;--palette-indigo-100:#e0e7ff;--palette-indigo-200:#c7d2fe;--palette-indigo-300:#a5b4fc;--palette-indigo-400:#818cf8;--palette-indigo-500:#6366f1;--palette-indigo-600:#4f46e5;--palette-indigo-700:#4338ca;--palette-indigo-800:#3730a3;--palette-indigo-900:#312e81;--palette-orange-50:#fff7ed;--palette-orange-100:#ffedd5;--palette-orange-200:#fed7aa;--palette-orange-300:#fdba74;--palette-orange-400:#fb923c;--palette-orange-500:#f97316;--palette-orange-600:#ea580c;--palette-orange-700:#c2410c;--palette-orange-800:#9a3412;--palette-orange-900:#7c2d12;--palette-green-50:#ecfdf5;--palette-green-100:#d1fae5;--palette-green-200:#a7f3d0;--palette-green-300:#6ee7b7;--palette-green-400:#34d399;--palette-green-500:#10b981;--palette-green-600:#059669;--palette-green-700:#047857;--palette-green-800:#065f46;--palette-green-900:#064e3b;--palette-red-50:#fef2f2;--palette-red-100:#fee2e2;--palette-red-200:#fecaca;--palette-red-300:#fca5a5;--palette-red-400:#f87171;--palette-red-500:#ef4444;--palette-red-600:#dc2626;--palette-red-700:#b91c1c;--palette-red-800:#991b1b;--palette-red-900:#7f1d1d;--palette-yellow-50:#fffbeb;--palette-yellow-100:#fef3c7;--palette-yellow-200:#fde68a;--palette-yellow-300:#fcd34d;--palette-yellow-400:#fbbf24;--palette-yellow-500:#f59e0b;--palette-yellow-600:#d97706;--palette-yellow-700:#b45309;--palette-yellow-800:#92400e;--palette-yellow-900:#78350f;--palette-cyan-50:#ecfeff;--palette-cyan-100:#cffafe;--palette-cyan-200:#a5f3fc;--palette-cyan-300:#67e8f9;--palette-cyan-400:#22d3ee;--palette-cyan-500:#06b6d4;--palette-cyan-600:#0891b2;--palette-cyan-700:#0e7490;--palette-cyan-800:#155e75;--palette-cyan-900:#164e63;--palette-purple-50:#faf5ff;--palette-purple-100:#f3e8ff;--palette-purple-200:#e9d5ff;--palette-purple-300:#d8b4fe;--palette-purple-400:#c084fc;--palette-purple-500:#a855f7;--palette-purple-600:#9333ea;--palette-purple-700:#7c3aed;--palette-purple-800:#6b21a8;--palette-purple-900:#581c87;--palette-gray-0:#fff;--palette-gray-50:#f8fafc;--palette-gray-100:#f1f5f9;--palette-gray-200:#e2e8f0;--palette-gray-300:#cbd5e1;--palette-gray-400:#94a3b8;--palette-gray-500:#64748b;--palette-gray-600:#475569;--palette-gray-700:#334155;--palette-gray-800:#1e293b;--palette-gray-900:#0f172a;--palette-gray-950:#020617;--spacing-0:0;--spacing-px:1px;--spacing-0-5:.125rem;--spacing-1:.25rem;--spacing-1-5:.375rem;--spacing-2:.5rem;--spacing-2-5:.625rem;--spacing-3:.75rem;--spacing-3-5:.875rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-7:1.75rem;--spacing-8:2rem;--spacing-9:2.25rem;--spacing-10:2.5rem;--spacing-11:2.75rem;--spacing-12:3rem;--spacing-14:3.5rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-28:7rem;--spacing-32:8rem;--radius-none:0;--radius-sm:.125rem;--radius-base:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.05);--shadow-none:0 0 #0000;--duration-instant:0ms;--duration-micro:.1s;--duration-fast:.15s;--duration-normal:.2s;--duration-moderate:.3s;--duration-slow:.4s;--duration-slower:.5s;--duration-slowest:.7s;--ease-linear:linear;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-smooth:cubic-bezier(.22,1,.36,1);--ease-bounce:cubic-bezier(.34,1.56,.64,1);--ease-bounce-subtle:cubic-bezier(.34,1.3,.64,1);--ease-out-quart:cubic-bezier(.25,1,.5,1);--ease-out-expo:cubic-bezier(.19,1,.22,1);--font-sans:system-ui,-apple-system,"Segoe UI","Microsoft JhengHei","PingFang TC",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace;--font-serif:Georgia,"Times New Roman",serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--font-thin:100;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--z-below:-1;--z-base:0;--z-elevated:10;--z-sticky:100;--z-dropdown:1000;--z-overlay:1100;--z-modal:1200;--z-popover:1300;--z-tooltip:1400;--z-toast:1500;--glass-blur-sm:blur(8px);--glass-blur-md:blur(16px);--glass-blur-lg:blur(24px);--glass-blur-xl:blur(40px);--glass-saturate:saturate(180%)}}@layer semantic{:root{--color-primary:var(--palette-indigo-600);--color-primary-hover:var(--palette-indigo-700);--color-primary-active:var(--palette-indigo-800);--color-primary-light:var(--palette-indigo-100);--color-primary-subtle:var(--palette-indigo-50);--color-accent:var(--palette-orange-500);--color-accent-hover:var(--palette-orange-600);--color-accent-light:var(--palette-orange-400);--color-accent-subtle:var(--palette-orange-50);--color-success:var(--palette-green-500);--color-success-hover:var(--palette-green-600);--color-success-subtle:var(--palette-green-50);--color-warning:var(--palette-yellow-500);--color-warning-hover:var(--palette-yellow-600);--color-warning-subtle:var(--palette-yellow-50);--color-danger:var(--palette-red-500);--color-danger-hover:var(--palette-red-600);--color-danger-subtle:var(--palette-red-50);--color-info:var(--palette-cyan-500);--color-info-hover:var(--palette-cyan-600);--color-info-subtle:var(--palette-cyan-50);--color-white:var(--palette-gray-0);--color-black:var(--palette-gray-950);--color-gray-50:var(--palette-gray-50);--color-gray-100:var(--palette-gray-100);--color-gray-200:var(--palette-gray-200);--color-gray-300:var(--palette-gray-300);--color-gray-400:var(--palette-gray-400);--color-gray-500:var(--palette-gray-500);--color-gray-600:var(--palette-gray-600);--color-gray-700:var(--palette-gray-700);--color-gray-800:var(--palette-gray-800);--color-gray-900:var(--palette-gray-900);--color-bg:var(--palette-gray-0);--color-bg-subtle:var(--palette-gray-50);--color-bg-muted:var(--palette-gray-100);--color-bg-overlay:rgba(0,0,0,.5);--color-text:var(--palette-gray-900);--color-text-secondary:var(--palette-gray-700);--color-text-muted:var(--palette-gray-500);--color-text-disabled:var(--palette-gray-400);--color-text-inverse:var(--palette-gray-0);--color-border:var(--palette-gray-200);--color-border-muted:var(--palette-gray-100);--color-border-strong:var(--palette-gray-300);--color-link:var(--color-primary);--color-link-hover:var(--color-primary-hover);--gradient-primary:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);--gradient-accent:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);--gradient-success:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);--glass-bg:hsla(0,0%,100%,.52);--glass-bg-subtle:hsla(0,0%,100%,.35);--glass-bg-medium:hsla(0,0%,100%,.58);--glass-bg-strong:hsla(0,0%,100%,.75);--glass-border:hsla(0,0%,100%,.35);--glass-border-strong:hsla(0,0%,100%,.5);--glass-shadow:0 1px 2px rgba(0,0,0,.02),0 4px 16px rgba(0,0,0,.04),inset 0 1px 0 hsla(0,0%,100%,.5);--glass-shadow-hover:0 4px 12px rgba(0,0,0,.06),0 12px 40px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.6);--control-height-sm:32px;--control-height-md:40px;--control-height-lg:48px;--navbar-height:64px;--sidebar-width:280px;--sidebar-collapsed-width:60px;--container-max:1280px;--transition-colors:color var(--duration-normal) var(--ease-in-out),background-color var(--duration-normal) var(--ease-in-out),border-color var(--duration-normal) var(--ease-in-out);--transition-transform:transform var(--duration-normal) var(--ease-in-out);--transition-shadow:box-shadow var(--duration-normal) var(--ease-in-out);--transition-opacity:opacity var(--duration-normal) var(--ease-in-out);--transition-all:all var(--duration-normal) var(--ease-in-out);--shadow-primary:0 10px 40px -10px var(--color-primary);--shadow-accent:0 10px 40px -10px var(--color-accent);--shadow-glow-primary:0 0 30px rgba(79,70,229,.25);--shadow-glow-accent:0 0 30px rgba(249,115,22,.25)}}[data-theme=homepage]{--color-primary:var(--palette-indigo-600);--color-primary-hover:var(--palette-indigo-700);--color-primary-active:var(--palette-indigo-800);--color-primary-light:var(--palette-indigo-100);--color-primary-subtle:var(--palette-indigo-50);--gradient-primary:linear-gradient(135deg,var(--palette-indigo-600) 0%,var(--palette-indigo-700) 100%);--shadow-primary:0 10px 40px -10px rgba(79,70,229,.3);--shadow-glow-primary:0 0 30px rgba(79,70,229,.25)}[data-theme=teacher]{--color-primary:var(--palette-brown-600);--color-primary-hover:var(--palette-brown-700);--color-primary-active:var(--palette-brown-800);--color-primary-light:var(--palette-brown-100);--color-primary-subtle:var(--palette-brown-50);--gradient-primary:linear-gradient(135deg,var(--palette-brown-600) 0%,var(--palette-brown-400) 100%);--shadow-primary:0 10px 40px -10px rgba(137,43,0,.3);--shadow-glow-primary:0 0 30px rgba(137,43,0,.25)}[data-theme=student]{--color-primary:var(--palette-navy-600);--color-primary-hover:var(--palette-navy-700);--color-primary-active:var(--palette-navy-800);--color-primary-light:var(--palette-navy-100);--color-primary-subtle:var(--palette-navy-50);--gradient-primary:linear-gradient(135deg,var(--palette-navy-600) 0%,var(--palette-navy-500) 100%);--shadow-primary:0 10px 40px -10px rgba(30,58,95,.3);--shadow-glow-primary:0 0 30px rgba(30,58,95,.25)}@media(prefers-contrast:high){:root{--glass-bg:hsla(0,0%,100%,.95);--glass-border:rgba(0,0,0,.3)}}@media(prefers-reduced-transparency:reduce){:root{--glass-bg:hsla(0,0%,100%,.98);--glass-bg-strong:#fff;--glass-blur-sm:blur(0);--glass-blur-md:blur(0);--glass-blur-lg:blur(0);--glass-blur-xl:blur(0)}}@media(prefers-reduced-motion:reduce){:root{--duration-instant:0ms;--duration-micro:0ms;--duration-fast:0ms;--duration-normal:0ms;--duration-moderate:0ms;--duration-slow:0ms;--duration-slower:0ms;--duration-slowest:0ms}}:root{--primary-color:var(--color-primary);--primary-dark:var(--color-primary-hover);--primary-light:var(--color-primary-light);--primary-50:var(--palette-indigo-50);--primary-100:var(--palette-indigo-100);--primary-200:var(--palette-indigo-200);--primary-300:var(--palette-indigo-300);--primary-400:var(--palette-indigo-400);--primary-500:var(--palette-indigo-500);--primary-600:var(--palette-indigo-600);--primary-700:var(--palette-indigo-700);--primary-800:var(--palette-indigo-800);--primary-900:var(--palette-indigo-900);--accent-color:var(--color-accent);--accent-light:var(--color-accent-light);--accent-dark:var(--color-accent-hover);--secondary-color:var(--color-success);--secondary-light:var(--palette-green-400);--secondary-dark:var(--color-success-hover);--slate-50:var(--palette-gray-50);--slate-100:var(--palette-gray-100);--slate-200:var(--palette-gray-200);--slate-300:var(--palette-gray-300);--slate-400:var(--palette-gray-400);--slate-500:var(--palette-gray-500);--slate-600:var(--palette-gray-600);--slate-700:var(--palette-gray-700);--slate-800:var(--palette-gray-800);--slate-900:var(--palette-gray-900);--text-color:var(--color-text);--text-secondary:var(--color-text-secondary);--text-light:var(--color-text-muted);--text-muted:var(--color-text-disabled);--bg-color:var(--color-bg);--bg-light:var(--color-bg-subtle);--bg-subtle:var(--color-bg-muted);--border-color:var(--color-border);--border-light:var(--color-border-muted);--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-primary-btn:linear-gradient(135deg,var(--palette-indigo-500) 0%,var(--palette-indigo-600) 100%);--gradient-primary-btn-hover:linear-gradient(135deg,var(--palette-indigo-400) 0%,var(--palette-indigo-500) 100%);--gradient-yellow-btn:linear-gradient(135deg,var(--palette-yellow-500) 0%,var(--palette-yellow-600) 100%);--gradient-yellow-btn-hover:linear-gradient(135deg,var(--palette-yellow-400) 0%,var(--palette-yellow-500) 100%);--gradient-blue-btn:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-blue-btn-hover:linear-gradient(135deg,#60a5fa,#3b82f6);--gradient-hot:linear-gradient(135deg,var(--palette-orange-500) 0%,var(--palette-red-500) 100%);--gradient-dark:linear-gradient(135deg,var(--palette-gray-900) 0%,var(--palette-gray-600) 100%);--space-1:var(--spacing-1);--space-2:var(--spacing-2);--space-3:var(--spacing-3);--space-4:var(--spacing-4);--space-5:var(--spacing-5);--space-6:var(--spacing-6);--space-8:var(--spacing-8);--space-10:var(--spacing-10);--space-12:var(--spacing-12);--space-16:var(--spacing-16);--space-20:var(--spacing-20);--space-24:var(--spacing-24);--section-padding:var(--spacing-12);--shadow-primary:0 10px 40px -10px rgba(79,70,229,.3);--shadow-accent:0 10px 40px -10px rgba(249,115,22,.3);--shadow-card-float:0 20px 60px -15px rgba(79,70,229,.2);--shadow-glow-primary:0 0 30px rgba(79,70,229,.25);--shadow-glow-accent:0 0 30px rgba(249,115,22,.25);--glass-bg-level-1:hsla(0,0%,100%,.38);--glass-bg-level-2:hsla(0,0%,100%,.55);--glass-bg-level-3:hsla(0,0%,100%,.75);--glass-bg-nav:linear-gradient(180deg,hsla(0,0%,100%,.38),hsla(0,0%,100%,.32));--glass-bg-nav-scrolled:linear-gradient(180deg,hsla(0,0%,100%,.48),hsla(0,0%,100%,.42));--glass-border-subtle:hsla(0,0%,100%,.2);--glass-blur:var(--glass-blur-lg) var(--glass-saturate);--glass-blur-sm:var(--glass-blur-md) saturate(160%);--glass-blur-md:blur(28px) saturate(185%);--glass-blur-lg:var(--glass-blur-xl) saturate(200%);--glass-shadow-nav:0 1px 2px rgba(0,0,0,.02),0 4px 16px rgba(0,0,0,.03),inset 0 1px 0 hsla(0,0%,100%,.5);--glass-shadow-nav-scrolled:0 1px 3px rgba(0,0,0,.04),0 8px 32px rgba(0,0,0,.08),inset 0 1px 0 hsla(0,0%,100%,.6);--blur-decorative-md:60px;--blur-decorative-lg:80px;--blur-decorative-xl:100px;--font-body:var(--font-sans);--font-display:var(--font-sans);--text-xs:clamp(.7rem,.65rem + .2vw,.75rem);--text-sm:clamp(.8rem,.75rem + .2vw,.875rem);--text-base:clamp(.9rem,.85rem + .2vw,1rem);--text-lg:clamp(1rem,.95rem + .25vw,1.125rem);--text-xl:clamp(1.1rem,1rem + .3vw,1.25rem);--text-2xl:clamp(1.3rem,1.1rem + .5vw,1.5rem);--text-3xl:clamp(1.6rem,1.3rem + .8vw,1.875rem);--text-4xl:clamp(2rem,1.5rem + 1.2vw,2.25rem);--text-5xl:clamp(2.5rem,1.8rem + 1.8vw,3rem);--text-6xl:clamp(3rem,2rem + 2.5vw,3.75rem);--z-base:var(--z-below);--z-content:var(--z-elevated);--z-floating:var(--z-elevated);--z-navbar:var(--z-dropdown);--z-mobile-menu:var(--z-overlay);--nav-section-height:48px;--container-padding:clamp(1rem,5vw,2rem);--teacher-color:var(--palette-brown-600);--teacher-color-light:var(--palette-brown-500);--teacher-shadow:rgba(137,43,0,.3);--teacher-hover-bg:rgba(137,43,0,.06);--student-color:#002fa7;--student-color-light:#0040d6;--student-shadow:rgba(0,47,167,.3);--student-hover-bg:rgba(0,47,167,.06);--footer-bg:#0c1222;--footer-bg-dark:#0a0f1a;--footer-text:var(--palette-gray-400);--footer-text-muted:var(--palette-gray-500);--footer-text-light:var(--palette-gray-200);--footer-border:hsla(0,0%,100%,.06);--about-primary:#2d5f7e;--about-primary-dark:#1a4058;--about-secondary:#f4a261;--about-accent:#e76f51;--about-light-bg:#faf8f5;--about-dark-text:#1a2930;--about-mid-text:#4a5568;--about-shadow-soft:0 8px 30px rgba(45,95,126,.08);--about-shadow-medium:0 12px 40px rgba(45,95,126,.12);--teaching-primary:var(--palette-yellow-500);--teaching-primary-dark:var(--palette-yellow-600);--teaching-secondary:var(--palette-yellow-400);--teaching-bg-light:var(--palette-yellow-50);--teaching-bg-medium:var(--palette-yellow-100);--teaching-bg-warm:var(--palette-orange-50);--teaching-text-dark:var(--palette-yellow-900);--resources-primary:#ff6b35;--resources-primary-dark:var(--palette-orange-600);--resources-secondary:#f7931e;--resources-accent:#ff4757;--resources-text-light:var(--color-white)}@media(max-width:768px){:root{--section-padding:var(--spacing-16);--blur-decorative-md:30px;--blur-decorative-lg:40px;--blur-decorative-xl:50px}}@media(max-width:576px){:root{--section-padding:var(--spacing-4)}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{overflow-x:clip}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-body);line-height:1.6}::-moz-selection{background:var(--primary-200);color:var(--primary-900)}::selection{background:var(--primary-200);color:var(--primary-900)}.homepage-content a{color:var(--primary-color);text-decoration:none;transition:color var(--duration-normal) var(--ease-out-quart)}.homepage-content a:hover{color:var(--primary-dark)}.homepage-content img{display:block;height:auto;max-width:100%}.container{margin:0 auto;max-width:var(--container-max);padding:0 var(--container-padding);width:100%}.section-header{margin:0 auto var(--space-12);max-width:680px;position:relative;text-align:center}.section-header h2{color:var(--text-color);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;letter-spacing:-.03em;line-height:1.2;margin-bottom:var(--space-3)}.section-header p{color:var(--text-light);font-size:var(--text-lg);line-height:1.7;margin:0 auto;max-width:540px}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.gsap-fade-in,.gsap-fade-up,.gsap-scale-in,.gsap-slide-left,.gsap-slide-right,.gsap-stagger-item{opacity:1;transform:none}}.sr-only,.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #4f46e526;outline:2px solid var(--primary-color);outline-offset:2px}.btn:focus-visible,.dropdown-item:focus-visible,.nav-link:focus-visible{box-shadow:0 0 0 4px #4f46e533;outline:2px solid var(--primary-color);outline-offset:2px;transition:box-shadow var(--duration-fast) var(--ease-smooth)}.book-card:focus-visible,.glass-card:focus-visible,.product-card:focus-visible{box-shadow:var(--shadow-lg),0 0 0 4px #4f46e526;outline:2px solid var(--primary-color);outline-offset:4px}[role=tab]:focus-visible{border-radius:var(--radius-md);outline:2px solid var(--primary-color);outline-offset:-2px}.glass-card{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.glass-card-strong{-webkit-backdrop-filter:var(--glass-blur-md);backdrop-filter:var(--glass-blur-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border-strong);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.glass-card-subtle{-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);background:var(--glass-bg-subtle);border:1px solid var(--glass-border-subtle)}.btn-base,.glass-card-subtle{border-radius:var(--radius-md)}.btn-base{align-items:center;cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:500;gap:.5rem;justify-content:center;line-height:1.5;padding:.625rem 1.25rem;transition:all var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-bounce-subtle)}.btn-base:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary{background:var(--gradient-primary-btn);border:none;box-shadow:0 2px 8px #4f46e540,inset 0 1px #ffffff26;color:#fff}.btn-primary:hover{background:var(--gradient-primary-btn-hover);box-shadow:0 4px 16px #4f46e559,inset 0 1px #fff3;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;border:1.5px solid var(--primary-300);color:var(--primary-600)}.btn-secondary:hover{background:var(--primary-50);border-color:var(--primary-400);color:var(--primary-700)}.btn-ghost{background:transparent;border:none;color:var(--slate-700)}.btn-ghost:hover{background:var(--slate-100);color:var(--slate-900)}.btn-sm{font-size:var(--text-xs);padding:.375rem .875rem}.btn-lg{font-size:var(--text-base);padding:.875rem 1.75rem}.skip-link{background:var(--primary-color);border-radius:0 0 var(--radius-md) 0;color:#fff;font-weight:600;left:0;padding:.75rem 1.5rem;position:absolute;top:-100%;z-index:var(--z-toast)}.skip-link:focus{top:0}@media(max-width:768px){.section-header{margin-bottom:var(--space-8)}}.bg-blob{border-radius:50%;filter:blur(var(--blur-decorative-xl));opacity:.5;pointer-events:none;position:absolute;will-change:filter;z-index:0}.highlight-wrapper,.highlight-wrapper-green,.highlight-wrapper-pink,.highlight-wrapper-yellow{display:inline-block;position:relative}.highlight-wrapper .highlight-bg,.highlight-wrapper-green .highlight-bg,.highlight-wrapper-pink .highlight-bg,.highlight-wrapper-yellow .highlight-bg{border-radius:3px 8px 3px 6px;bottom:5%;height:45%;left:-2%;pointer-events:none;position:absolute;transform:rotate(-.5deg) skew(-2deg);transition:width .7s cubic-bezier(.34,1.56,.64,1);width:0;z-index:0}.highlight-wrapper .highlight-text,.highlight-wrapper-green .highlight-text,.highlight-wrapper-pink .highlight-text,.highlight-wrapper-yellow .highlight-text{position:relative;z-index:1}.highlight-wrapper-green.is-visible .highlight-bg,.highlight-wrapper-pink.is-visible .highlight-bg,.highlight-wrapper-yellow.is-visible .highlight-bg,.highlight-wrapper.is-visible .highlight-bg{width:104%}.highlight-wrapper-yellow .highlight-bg,.highlight-wrapper.highlight-yellow .highlight-bg{background:linear-gradient(104deg,#facc1500 .9%,#facc1559 2.4%,#facc158c 5.8% 93%,#facc1559 96%,#facc1500 98%)}.highlight-wrapper-pink .highlight-bg,.highlight-wrapper.highlight-pink .highlight-bg{background:linear-gradient(104deg,#f472b600 .9%,#f472b659 2.4%,#f472b68c 5.8% 93%,#f472b659 96%,#f472b600 98%)}.highlight-wrapper-green .highlight-bg,.highlight-wrapper.highlight-green .highlight-bg{background:linear-gradient(104deg,#22c55e00 .9%,#22c55e59 2.4%,#22c55e8c 5.8% 93%,#22c55e59 96%,#22c55e00 98%)}@keyframes aurora-shift{0%{transform:scale(1) translate(0)}to{transform:scale(1.05) translate(-2%)}}@keyframes orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.1)}66%{transform:translate(-20px,15px) scale(.95)}}@keyframes glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.page-hero-bg{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.page-hero-bg .aurora-gradient{animation:aurora-shift 25s ease-in-out infinite alternate;inset:0;position:absolute}.page-hero-bg .hero-pattern{background-size:32px 32px;inset:0;mask-image:linear-gradient(180deg,#fff,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#fff,transparent 70%);position:absolute}.page-hero-bg .floating-orb{animation:orb-float 20s ease-in-out infinite;border-radius:50%;filter:blur(var(--blur-decorative-md));pointer-events:none;position:absolute;will-change:transform,filter}.page-hero-bg .floating-orb.orb-1{height:400px;right:-5%;top:-10%;width:400px}.page-hero-bg .floating-orb.orb-2{animation-delay:-7s;animation-direction:reverse;bottom:-5%;height:300px;left:-5%;width:300px}.page-hero-bg .glow-effect{animation:glow-pulse 8s ease-in-out infinite;border-radius:50%;filter:blur(var(--blur-decorative-lg));height:400px;position:absolute;width:400px;will-change:transform,opacity,filter}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card-glow{position:relative}.card-glow:after{background:linear-gradient(135deg,transparent 40%,hsla(0,0%,100%,.15) 50%,transparent 60%);border-radius:inherit;content:"";inset:-1px;opacity:0;pointer-events:none;position:absolute;transition:opacity .4s ease}.card-glow:hover:after{animation:shimmer 1.5s ease-in-out;opacity:1}@media(prefers-reduced-motion:reduce){.card-glow:after,.page-hero-bg .aurora-gradient,.page-hero-bg .floating-orb,.page-hero-bg .glow-effect{animation:none!important}}.btn:disabled,[disabled],button:disabled{cursor:not-allowed;filter:grayscale(60%);opacity:.4;pointer-events:none;position:relative}.btn:disabled:after,button:disabled:after{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.03) 0,rgba(0,0,0,.03) 8px);border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}input:invalid:not(:-moz-placeholder),select:invalid:not(:-moz-placeholder),textarea:invalid:not(:-moz-placeholder){border-color:#ef4444;border-width:2px;box-shadow:0 0 0 3px #ef444426}.is-invalid,input:invalid:not(:placeholder-shown),select:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown){border-color:#ef4444;border-width:2px;box-shadow:0 0 0 3px #ef444426}input:invalid:not(:-moz-placeholder):focus,select:invalid:not(:-moz-placeholder):focus,textarea:invalid:not(:-moz-placeholder):focus{border-color:#ef4444;border-width:2px;box-shadow:0 0 0 4px #ef444433;outline:none}.is-invalid:focus,input:invalid:not(:placeholder-shown):focus,select:invalid:not(:placeholder-shown):focus,textarea:invalid:not(:placeholder-shown):focus{border-color:#ef4444;border-width:2px;box-shadow:0 0 0 4px #ef444433;outline:none}input:valid:not(:-moz-placeholder),select:valid:not(:-moz-placeholder),textarea:valid:not(:-moz-placeholder){border-color:#16a34a}.is-valid,input:valid:not(:placeholder-shown),select:valid:not(:placeholder-shown),textarea:valid:not(:placeholder-shown){border-color:#16a34a}input:valid:not(:-moz-placeholder):focus,select:valid:not(:-moz-placeholder):focus,textarea:valid:not(:-moz-placeholder):focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a26;outline:none}.is-valid:focus,input:valid:not(:placeholder-shown):focus,select:valid:not(:placeholder-shown):focus,textarea:valid:not(:placeholder-shown):focus{border-color:#16a34a;box-shadow:0 0 0 3px #16a34a26;outline:none}.invalid-feedback,.valid-feedback{display:block;font-size:var(--text-sm);margin-top:.25rem}.invalid-feedback{color:#dc2626}.valid-feedback{color:#16a34a}.skeleton-fade-enter-active,.skeleton-fade-leave-active{transition:opacity var(--duration-normal) var(--ease-smooth)}.skeleton-fade-enter-from,.skeleton-fade-leave-to{opacity:0}.content-fade-enter-active{transition:opacity var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-smooth)}.content-fade-leave-active{transition:opacity var(--duration-fast) var(--ease-smooth)}.content-fade-enter-from{opacity:0;transform:translateY(8px)}.content-fade-leave-to{opacity:0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.accordion-enter-active,.accordion-leave-active{overflow:hidden;transition:max-height var(--duration-normal) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-smooth)}.accordion-enter-from,.accordion-leave-to{max-height:0;opacity:0;transform:translateY(-8px)}.accordion-enter-to,.accordion-leave-from{max-height:var(--accordion-height,500px);opacity:1;transform:translateY(0)}.slide-down-enter-active,.slide-down-leave-active{overflow:hidden;transition:max-height var(--duration-normal) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth)}.slide-down-enter-from,.slide-down-leave-to{max-height:0;opacity:0}.slide-down-enter-to,.slide-down-leave-from{max-height:var(--menu-height,300px);opacity:1}.book-card-hover{transition:transform var(--duration-normal) var(--ease-bounce-subtle),box-shadow var(--duration-normal) var(--ease-smooth)}.book-card-hover:hover{box-shadow:var(--shadow-xl),0 0 20px #4f46e51a;transform:translateY(-6px) scale(1.02)}.book-cover-zoom{overflow:hidden}.book-cover-zoom img{transition:transform var(--duration-slow) var(--ease-smooth)}.book-cover-zoom:hover img{transform:scale(1.08)}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.badge-pulse{animation:badge-pulse 2s ease-in-out infinite}.badge-glow-new{box-shadow:0 0 12px #10b98166}.badge-glow-hot{box-shadow:0 0 12px #ef444466}.badge-glow-sale{box-shadow:0 0 12px #f9731666}.magnetic-hover{transition:transform var(--duration-fast) var(--ease-smooth)}.ripple-effect{overflow:hidden;position:relative}.ripple-effect:after{background:radial-gradient(circle,hsla(0,0%,100%,.3) 0,transparent 60%);content:"";height:100%;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .5s ease,opacity .3s ease;width:100%}.ripple-effect:active:after{opacity:1;transform:translate(-50%,-50%) scale(2.5);transition:transform 0s,opacity 0s}.tilt-effect{perspective:1000px;transform-style:preserve-3d;transition:transform var(--duration-normal) var(--ease-smooth)}@keyframes glow-border{0%,to{box-shadow:0 0 5px #6366f14d,0 0 10px #6366f133,0 0 15px #6366f11a}50%{box-shadow:0 0 10px #6366f166,0 0 20px #6366f14d,0 0 30px #6366f133}}.glow-border-animated{animation:glow-border 3s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-text-animated{background:linear-gradient(135deg,var(--primary-color) 0,#7c3aed 25%,var(--accent-color) 50%,#7c3aed 75%,var(--primary-color) 100%);-webkit-background-clip:text;background-size:200% 200%;-webkit-text-fill-color:transparent;animation:gradient-shift 5s ease infinite;background-clip:text}.stagger-item{opacity:0;transform:translateY(20px)}.stagger-item.is-visible{opacity:1;transform:translateY(0);transition:opacity var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-bounce-subtle)}.stagger-item:first-child{transition-delay:0s}.stagger-item:nth-child(2){transition-delay:80ms}.stagger-item:nth-child(3){transition-delay:.16s}.stagger-item:nth-child(4){transition-delay:.24s}.stagger-item:nth-child(5){transition-delay:.32s}.stagger-item:nth-child(6){transition-delay:.4s}.btn-cta-primary{align-items:center;background:var(--gradient-primary-btn);border:none;border-radius:var(--radius-full);box-shadow:0 4px 15px #4f46e54d,0 1px 3px #0000001a,inset 0 1px #fff3;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;isolation:isolate;overflow:hidden;padding:1rem 2rem;position:relative;transition:transform var(--duration-normal) var(--ease-bounce-subtle),box-shadow var(--duration-normal) var(--ease-smooth)}.btn-cta-primary:before{background:var(--gradient-primary-btn-hover);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--duration-normal) ease;z-index:-1}.btn-cta-primary:after{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3) 50%,transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%;z-index:1}.btn-cta-primary:hover{box-shadow:0 8px 25px #4f46e566,0 4px 10px #0000001a,inset 0 1px #ffffff40;transform:translateY(-3px) scale(1.02)}.btn-cta-primary:hover:before{opacity:1}.btn-cta-primary:hover:after{animation:shimmer .8s ease forwards}.btn-cta-primary:active{transform:translateY(-1px) scale(.98)}.btn-cta-primary .btn-icon{transition:transform var(--duration-normal) var(--ease-bounce-subtle)}.btn-cta-primary:hover .btn-icon{transform:translate(4px)}.card-premium{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-xl);overflow:hidden;position:relative;transition:all var(--duration-normal) var(--ease-smooth)}.card-premium:before{background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent 50%,hsla(0,0%,100%,.05));content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--duration-normal) ease}.card-premium:hover{border-color:#6366f133;box-shadow:0 20px 40px -12px #00000026,inset 0 0 0 1px #ffffff1a;transform:translateY(-8px)}.card-premium:hover:before{opacity:1}.floating-label{border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;left:20px;letter-spacing:.05em;padding:.25rem .75rem;position:absolute;text-transform:uppercase;top:-10px;transform:rotate(-2deg);z-index:10}.floating-label.label-new{background:var(--gradient-success);box-shadow:0 4px 12px #10b9814d;color:#fff}.floating-label.label-hot{background:var(--gradient-hot);box-shadow:0 4px 12px #ef44444d;color:#fff}.counter-emphasis{background:linear-gradient(135deg,var(--text-color) 0,var(--text-secondary) 100%);-webkit-background-clip:text;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;-webkit-text-fill-color:transparent;background-clip:text}.counter-complete{text-shadow:0 0 30px rgba(79,70,229,.2)}.link-underline-grow{position:relative;text-decoration:none}.link-underline-grow:after{background:currentColor;bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width var(--duration-normal) var(--ease-smooth);width:0}.link-underline-grow:hover:after{width:100%}.text-reveal-hover{overflow:hidden}.text-reveal-hover span{display:inline-block;transform:translateY(0);transition:transform var(--duration-normal) var(--ease-smooth)}.text-reveal-hover:hover span{transform:translateY(-100%)}@keyframes skeleton-shimmer-enhanced{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-enhanced{animation:skeleton-shimmer-enhanced 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--slate-100) 0,var(--slate-200) 20%,var(--slate-100) 40%,var(--slate-100) 100%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes dot-bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{animation:dot-bounce 1.4s ease-in-out infinite both;background:var(--primary-color);border-radius:50%;height:8px;width:8px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.scroll-progress{background:var(--gradient-primary);height:3px;left:0;position:fixed;top:0;transition:width .1s linear;width:0;z-index:calc(var(--z-navbar) + 1)}[data-tooltip]{position:relative}[data-tooltip]:before{background:var(--slate-800);border-radius:var(--radius-md);bottom:calc(100% + 8px);color:#fff;content:attr(data-tooltip);font-size:var(--text-xs);font-weight:500;padding:.5rem .75rem;pointer-events:none;transform:translate(-50%) translateY(4px);white-space:nowrap}[data-tooltip]:after,[data-tooltip]:before{left:50%;opacity:0;position:absolute;transition:all var(--duration-fast) var(--ease-smooth);visibility:hidden;z-index:var(--z-tooltip,1000)}[data-tooltip]:after{border:4px solid transparent;border-top:4px solid var(--slate-800);bottom:calc(100% + 4px);content:"";transform:translate(-50%)}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;transform:translate(-50%) translateY(0);visibility:visible}@media(prefers-contrast:high){.glass-card,.glass-card-strong{border-width:2px}}.main-nav[data-v-cb476a6c]{-webkit-backdrop-filter:var(--glass-blur-md);backdrop-filter:var(--glass-blur-md);background-image:var(--glass-bg-nav);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow-nav);left:0;position:fixed;right:0;top:0;transition:all .4s var(--ease-smooth);z-index:var(--z-navbar)}.main-nav.scrolled[data-v-cb476a6c]{background:var(--glass-bg-nav-scrolled);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:var(--glass-shadow-nav-scrolled)}.nav-container[data-v-cb476a6c]{align-items:center;display:grid;gap:1rem;grid-template-columns:auto 1fr auto;padding:.625rem 1rem;width:100%}.logo-img[data-v-cb476a6c]{height:40px;width:auto}.nav-search[data-v-cb476a6c]{border:none!important;border-radius:32px;box-shadow:0 2px 8px #0000000a,0 4px 16px #00000005;display:flex;justify-self:center;max-width:600px;outline:none!important;transition:box-shadow .3s var(--ease-smooth);width:100%}.nav-search[data-v-cb476a6c]:focus-within{border:none!important;box-shadow:0 4px 12px #4f46e514,0 8px 24px #4f46e50a!important;outline:none!important}.search-category[data-v-cb476a6c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center,linear-gradient(135deg,#ffffffb3,#ffffff80);border:1.5px solid hsla(0,0%,100%,.3);border-radius:32px 0 0 32px;border-right:1px solid rgba(0,0,0,.05);box-shadow:inset 0 1px #ffffff80;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:500;height:auto;min-width:120px;outline:none!important;padding:.625rem 2rem .625rem 1rem;transition:all .25s var(--ease-smooth)}.search-category[data-v-cb476a6c]:hover{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236366f1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center,linear-gradient(135deg,#ffffffd9,#ffffffa6);border-color:#6366f133}.search-category[data-v-cb476a6c]:focus,.search-category[data-v-cb476a6c]:focus-visible{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%236366f1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .5rem center,#ffffffe6!important;border-right:1.5px solid var(--primary-300)!important;border:1.5px solid var(--primary-300)!important;border-right:1px solid rgba(0,0,0,.05)!important;box-shadow:inset 0 1px #fffc,0 0 0 3px #6366f114!important;outline:none!important}.search-input[data-v-cb476a6c]{-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:linear-gradient(180deg,#ffffffa6,#ffffff8c);border:1.5px solid hsla(0,0%,100%,.3);border-left:none;border-radius:0;border-right:none;box-shadow:inset 0 1px 2px #00000005,inset 0 -1px #ffffff80;color:var(--text-color);flex:1;font-size:var(--text-sm);height:auto!important;line-height:1.5!important;outline:none;padding:.625rem 1.25rem!important;transition:all .25s var(--ease-smooth)}.search-input[data-v-cb476a6c]::-moz-placeholder{color:var(--text-muted);font-weight:400;-moz-transition:all .25s ease;transition:all .25s ease}.search-input[data-v-cb476a6c]::placeholder{color:var(--text-muted);font-weight:400;transition:all .25s ease}.search-input[data-v-cb476a6c]:focus{background:linear-gradient(180deg,#fffffff2,#ffffffd9);box-shadow:inset 0 1px 2px #00000005,inset 0 -1px #fffc}.search-input[data-v-cb476a6c]:focus::-moz-placeholder{color:var(--text-light);transform:translate(4px)}.search-input[data-v-cb476a6c]:focus::placeholder{color:var(--text-light);transform:translate(4px)}.search-btn[data-v-cb476a6c]{align-items:center;background:linear-gradient(135deg,var(--primary-500) 0,var(--primary-600) 50%,var(--primary-700) 100%);border:none;border-radius:0 32px 32px 0;box-shadow:inset 0 1px #fff3,0 2px 8px #4f46e54d;color:#fff;cursor:pointer;display:flex;justify-content:center;overflow:hidden;padding:0 1.5rem;position:relative;transition:all .3s var(--ease-smooth)}.search-btn[data-v-cb476a6c]:before{background:linear-gradient(135deg,var(--primary-400) 0,var(--primary-500) 50%,var(--primary-600) 100%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.search-btn[data-v-cb476a6c]:hover{box-shadow:inset 0 1px #ffffff4d,0 4px 16px #4f46e566;transform:scale(1.02)}.search-btn[data-v-cb476a6c]:hover:before{opacity:1}.search-btn[data-v-cb476a6c]:active{transform:scale(.98)}.search-btn i[data-v-cb476a6c]{font-size:1rem;position:relative;transition:transform .3s var(--ease-bounce-subtle);z-index:1}.search-btn:hover i[data-v-cb476a6c]{transform:scale(1.15) rotate(-5deg)}.nav-actions[data-v-cb476a6c]{gap:.5rem;justify-content:flex-end;min-width:clamp(100px,20vw,200px)}.auth-loading[data-v-cb476a6c],.nav-actions[data-v-cb476a6c]{align-items:center;display:flex}.auth-loading[data-v-cb476a6c]{color:var(--text-light);justify-content:center;width:80px}.btn-login[data-v-cb476a6c],.btn-register[data-v-cb476a6c]{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--text-sm);justify-content:center;min-height:36px;padding:.375rem .75rem;text-decoration:none;transition:all var(--duration-fast)}.btn-login[data-v-cb476a6c]{color:var(--text-color)}.btn-login[data-v-cb476a6c]:hover,.btn-register[data-v-cb476a6c]{color:var(--primary-color)}.btn-register[data-v-cb476a6c]:hover{text-decoration:underline}.btn-switch[data-v-cb476a6c]{align-items:center;background:transparent;border:1px solid;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);gap:.25rem;justify-content:center;line-height:1.5;min-height:36px;padding:.375rem .625rem;transition:all var(--duration-fast) var(--ease-smooth)}.btn-switch[data-v-cb476a6c]:hover{transform:translateY(-1px)}.btn-switch .btn-text-short[data-v-cb476a6c]{display:none}@media(max-width:768px){.btn-switch .btn-text-full[data-v-cb476a6c]{display:none}.btn-switch .btn-text-short[data-v-cb476a6c]{display:inline}}.btn-switch-student[data-v-cb476a6c]{border-color:var(--student-color);color:var(--student-color)}.btn-switch-student[data-v-cb476a6c]:hover{background:var(--student-color);box-shadow:0 2px 8px var(--student-shadow);color:#fff}.btn-switch-teacher[data-v-cb476a6c]{border-color:var(--teacher-color);color:var(--teacher-color)}.btn-switch-teacher[data-v-cb476a6c]:hover{background:var(--teacher-color);box-shadow:0 2px 8px var(--teacher-shadow);color:#fff}.user-btn[data-v-cb476a6c],.user-dropdown[data-v-cb476a6c]{position:relative}.user-btn[data-v-cb476a6c]{align-items:center;background:linear-gradient(135deg,var(--student-color) 0,var(--student-color-light) 100%);border:none;border-radius:24px;color:#fff;cursor:pointer;display:flex;gap:.375rem;height:32px;overflow:hidden;padding:0 .75rem 0 0;transition:all .35s var(--ease-bounce-subtle)}.user-btn[data-v-cb476a6c]:before{background:linear-gradient(135deg,var(--student-color-light) 0,var(--student-color) 100%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.user-btn[data-v-cb476a6c]:hover:before{opacity:1}.user-btn[data-v-cb476a6c]:hover{box-shadow:0 4px 12px var(--student-shadow),0 0 0 2px #002fa71a;transform:translateY(-2px) scale(1.02)}.user-btn.teacher-mode[data-v-cb476a6c]{background:linear-gradient(135deg,var(--teacher-color) 0,var(--teacher-color-light) 100%)}.user-btn.teacher-mode[data-v-cb476a6c]:before{background:linear-gradient(135deg,var(--teacher-color-light) 0,var(--teacher-color) 100%)}.user-btn.teacher-mode[data-v-cb476a6c]:hover{box-shadow:0 4px 12px var(--teacher-shadow),0 0 0 2px #892b001a}.user-avatar[data-v-cb476a6c]{border:2px solid hsla(0,0%,100%,.3);border-radius:var(--radius-full);height:32px;-o-object-fit:cover;object-fit:cover;position:relative;transition:border-color .3s ease;width:32px;z-index:1}.user-btn:hover .user-avatar[data-v-cb476a6c]{border-color:#fff9}.user-name[data-v-cb476a6c]{font-size:var(--text-sm);font-weight:500;letter-spacing:.01em;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-caret[data-v-cb476a6c],.user-name[data-v-cb476a6c]{position:relative;z-index:1}.user-caret[data-v-cb476a6c]{font-size:var(--text-xs);opacity:.85;transition:transform .35s var(--ease-smooth)}.user-caret.rotated[data-v-cb476a6c]{transform:rotate(180deg)}.user-menu[data-v-cb476a6c]{min-width:240px;padding-top:.5rem;position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown)}.user-menu-inner[data-v-cb476a6c]{-webkit-backdrop-filter:var(--glass-blur-md);backdrop-filter:var(--glass-blur-md);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.dropdown-header[data-v-cb476a6c]{align-items:flex-start;background:linear-gradient(180deg,hsla(0,0%,100%,.5),transparent);border-bottom:1px solid var(--glass-border-subtle);display:flex;gap:.875rem;padding:1.125rem 1rem}.dropdown-avatar[data-v-cb476a6c]{border:2px solid var(--glass-border);border-radius:var(--radius-full);box-shadow:0 2px 8px #00000014;height:44px;-o-object-fit:cover;object-fit:cover;width:44px}.dropdown-info[data-v-cb476a6c]{flex:1;min-width:0}.dropdown-name[data-v-cb476a6c]{color:var(--text-color);font-size:.9375rem;font-weight:600;margin:0}.dropdown-email[data-v-cb476a6c]{color:var(--text-light);font-size:var(--text-xs);margin:.25rem 0 0;word-break:break-all}.user-dropdown-item[data-v-cb476a6c]{color:var(--text-secondary);display:block;font-size:.9375rem;padding:.75rem 1rem;position:relative;text-decoration:none;transition:all .25s var(--ease-smooth)}.user-dropdown-item[data-v-cb476a6c]:before{background:var(--primary-color);border-radius:0 2px 2px 0;content:"";height:0;left:0;position:absolute;top:50%;transform:translateY(-50%);transition:height .25s var(--ease-smooth);width:3px}.user-dropdown-item[data-v-cb476a6c]:hover{background:linear-gradient(90deg,var(--primary-50) 0,transparent 100%);color:var(--text-color);padding-left:1.25rem}.user-dropdown-item[data-v-cb476a6c]:hover:before{height:60%}.user-dropdown-item[data-v-cb476a6c]:active{background:var(--primary-100)}.user-dropdown-logout[data-v-cb476a6c]{border-top:1px solid var(--glass-border-subtle);margin-top:.25rem}.user-dropdown-logout[data-v-cb476a6c]:hover{background:linear-gradient(90deg,rgba(239,68,68,.08),transparent);color:#dc2626}.user-dropdown-logout[data-v-cb476a6c]:hover:before{background:#dc2626}.mobile-menu-toggle[data-v-cb476a6c],.mobile-search-toggle[data-v-cb476a6c]{background:none;border:none;color:var(--text-light);cursor:pointer;display:none;padding:.5rem;transition:color var(--duration-fast)}.mobile-menu-toggle[data-v-cb476a6c]:hover,.mobile-search-toggle[data-v-cb476a6c]:hover{color:var(--primary-color)}.mobile-search[data-v-cb476a6c]{border-top:1px solid var(--border-color);display:none;padding:.5rem 1rem}.mobile-menu-overlay[data-v-cb476a6c]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;inset:0;position:fixed;z-index:var(--z-mobile-menu)}.mobile-menu[data-v-cb476a6c]{background:var(--bg-color);bottom:0;box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;overflow:hidden;position:absolute;right:0;top:0;width:min(320px,85vw)}.mobile-menu-header[data-v-cb476a6c]{align-items:center;background:inherit;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem;position:sticky;top:0;z-index:1}.mobile-menu-title[data-v-cb476a6c]{color:var(--text-color);font-size:1rem;font-weight:600}.mobile-menu-close[data-v-cb476a6c]{align-items:center;background:var(--bg-subtle);border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all var(--duration-fast);width:32px}.mobile-menu-close[data-v-cb476a6c]:hover{background:var(--border-color);color:var(--text-color)}.mobile-menu-role-switch[data-v-cb476a6c]{border-bottom:1px solid var(--border-color);padding:1rem}.mobile-menu-role-switch .btn-switch[data-v-cb476a6c]{justify-content:center;padding:.625rem 1rem;width:100%}.mobile-menu-nav[data-v-cb476a6c]{display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:.5rem 0}.mobile-menu-link[data-v-cb476a6c]{align-items:center;color:var(--text-secondary);display:flex;font-size:.9375rem;gap:.75rem;padding:.875rem 1rem;text-decoration:none;transition:all var(--duration-fast)}.mobile-menu-link i[data-v-cb476a6c]{font-size:1rem;opacity:.7;text-align:center;width:20px}.mobile-menu-link[data-v-cb476a6c]:hover{background:var(--bg-subtle);color:var(--text-color)}.mobile-menu-link:hover i[data-v-cb476a6c]{opacity:1}.mobile-menu.theme-teacher .mobile-menu-header[data-v-cb476a6c]{background:linear-gradient(135deg,var(--teacher-color) 0,var(--teacher-color-light) 100%);border-bottom:none}.mobile-menu.theme-teacher .mobile-menu-title[data-v-cb476a6c]{color:#fff}.mobile-menu.theme-teacher .mobile-menu-close[data-v-cb476a6c]{background:#fff3;color:#fff}.mobile-menu.theme-teacher .mobile-menu-close[data-v-cb476a6c]:hover{background:#ffffff4d}.mobile-menu.theme-student .mobile-menu-header[data-v-cb476a6c]{background:linear-gradient(135deg,var(--student-color) 0,var(--student-color-light) 100%);border-bottom:none}.mobile-menu.theme-student .mobile-menu-title[data-v-cb476a6c]{color:#fff}.mobile-menu.theme-student .mobile-menu-close[data-v-cb476a6c]{background:#fff3;color:#fff}.mobile-menu.theme-student .mobile-menu-close[data-v-cb476a6c]:hover{background:#ffffff4d}.mobile-menu-enter-active[data-v-cb476a6c],.mobile-menu-leave-active[data-v-cb476a6c]{transition:opacity var(--duration-normal) var(--ease-smooth)}.mobile-menu-enter-active .mobile-menu[data-v-cb476a6c],.mobile-menu-leave-active .mobile-menu[data-v-cb476a6c]{transition:transform var(--duration-normal) var(--ease-smooth)}.mobile-menu-enter-from[data-v-cb476a6c],.mobile-menu-leave-to[data-v-cb476a6c]{opacity:0}.mobile-menu-enter-from .mobile-menu[data-v-cb476a6c],.mobile-menu-leave-to .mobile-menu[data-v-cb476a6c]{transform:translate(100%)}@media(max-width:768px){.nav-search[data-v-cb476a6c]{display:none}.mobile-menu-toggle[data-v-cb476a6c],.mobile-search-toggle[data-v-cb476a6c]{display:block}.mobile-search[data-v-cb476a6c]{display:flex}.user-name[data-v-cb476a6c]{display:none}}@media(max-width:576px){.nav-container[data-v-cb476a6c]{gap:clamp(.5rem,2vw,.75rem);padding:.5rem clamp(.5rem,2vw,.75rem)}.logo-img[data-v-cb476a6c]{height:clamp(26px,6vw,32px)}.btn-login[data-v-cb476a6c],.btn-register[data-v-cb476a6c]{font-size:clamp(.6875rem,2vw,.8125rem);padding:.25rem clamp(.375rem,1.5vw,.5rem)}.btn-switch[data-v-cb476a6c]{font-size:clamp(.625rem,2vw,.75rem);padding:.2rem clamp(.3rem,1.5vw,.5rem)}.btn-switch i[data-v-cb476a6c]{display:none}.nav-actions[data-v-cb476a6c]{gap:.375rem}.user-btn[data-v-cb476a6c]{padding:0 clamp(.375rem,1vw,.5rem) 0 0}.user-avatar[data-v-cb476a6c],.user-btn[data-v-cb476a6c]{height:clamp(24px,5vw,28px)}.user-avatar[data-v-cb476a6c]{width:clamp(24px,5vw,28px)}.mobile-search[data-v-cb476a6c]{padding:.5rem .75rem}}.role-section[data-v-cb476a6c]{-webkit-backdrop-filter:var(--glass-blur-md);backdrop-filter:var(--glass-blur-md);background-image:var(--glass-bg-nav);border-bottom:1px solid var(--glass-border-subtle);box-shadow:var(--glass-shadow-nav),0 1px 3px #0000000a;left:0;position:fixed;right:0;top:var(--navbar-height,64px);transition:transform var(--duration-normal) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth);z-index:var(--z-sticky)}.role-section[data-v-cb476a6c]:before{background:linear-gradient(90deg,transparent 2%,var(--role-color) 15%,var(--role-color-light,var(--role-color)) 50%,var(--role-color) 85%,transparent 98%);content:"";height:3px;left:0;position:absolute;right:0;top:0}.role-section.theme-teacher[data-v-cb476a6c]{--role-color:var(--teacher-color);--role-color-light:var(--teacher-color-light);--role-hover-bg:var(--teacher-hover-bg);--role-tint:rgba(234,88,12,.06)}.role-section.theme-student[data-v-cb476a6c]{--role-color:var(--student-color);--role-color-light:var(--student-color-light);--role-hover-bg:var(--student-hover-bg);--role-tint:rgba(0,47,167,.06)}.role-section.theme-student[data-v-cb476a6c]:after,.role-section.theme-teacher[data-v-cb476a6c]:after{background:var(--role-tint);content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.role-section .section-nav[data-v-cb476a6c]{align-items:center;display:flex;height:var(--nav-section-height,45px);justify-content:center;max-width:100%;overflow-x:auto;padding:0 1rem;scrollbar-width:none;-ms-overflow-style:none;gap:.125rem}.role-section .section-nav[data-v-cb476a6c]::-webkit-scrollbar{display:none}.role-section .section-nav a[data-v-cb476a6c]{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.9375rem;font-weight:600;gap:.5rem;height:clamp(32px,calc(var(--nav-section-height, 48px) - 10px),38px);justify-content:center;letter-spacing:.01em;margin:0 .125rem;padding:0 .875rem;position:relative;text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-smooth);white-space:nowrap}.role-section .section-nav a[data-v-cb476a6c]:active{transform:scale(.97)}.role-section .section-nav a i[data-v-cb476a6c]{color:var(--role-color);font-size:1rem;opacity:.8;transition:opacity var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-bounce-subtle)}.role-section .section-nav a[data-v-cb476a6c]:after{background:var(--role-color);border-radius:2px;bottom:2px;content:"";height:2px;left:50%;position:absolute;transform:translate(-50%) scaleX(0);transform-origin:center;transition:transform var(--duration-fast) var(--ease-smooth);width:calc(100% - 1.25rem)}.role-section .section-nav a[data-v-cb476a6c]:hover{background:var(--role-hover-bg);color:var(--text-color)}.role-section .section-nav a:hover i[data-v-cb476a6c]{opacity:1;transform:translateY(-1px)}.role-section .section-nav a[data-v-cb476a6c]:hover:after{transform:translate(-50%) scaleX(1)}.role-section .section-nav a.active[data-v-cb476a6c]{background:var(--role-hover-bg);color:var(--text-color);font-weight:600}.role-section .section-nav a.active i[data-v-cb476a6c]{opacity:1}.role-section .section-nav a.active[data-v-cb476a6c]:after{transform:translate(-50%) scaleX(1)}.role-section .section-nav a[data-v-cb476a6c]:focus-visible{background:var(--role-hover-bg);color:var(--text-color);outline:2px solid var(--role-color);outline-offset:2px}.role-section .section-nav a:focus-visible i[data-v-cb476a6c]{opacity:1}.role-section .section-nav a[data-v-cb476a6c]:focus-visible:after{transform:translate(-50%) scaleX(1)}.role-section.hidden[data-v-cb476a6c]{opacity:0;pointer-events:none;transform:translateY(-100%)}@media(min-width:1200px){.role-section .section-nav a[data-v-cb476a6c]{padding:0 1rem}}@media(max-width:1199px)and (min-width:992px){.role-section .section-nav a[data-v-cb476a6c]{font-size:var(--text-sm);gap:.375rem;padding:0 .625rem}.role-section .section-nav a i[data-v-cb476a6c]{font-size:.9375rem}}@media(max-width:991px)and (min-width:769px){.role-section .section-nav[data-v-cb476a6c]{gap:.25rem}.role-section .section-nav a[data-v-cb476a6c]{height:clamp(36px,calc(var(--nav-section-height, 45px) - 6px),40px);margin:0;padding:0;width:clamp(36px,10vw,40px)}.role-section .section-nav a span[data-v-cb476a6c]{display:none}.role-section .section-nav a i[data-v-cb476a6c]{font-size:clamp(1rem,3vw,1.125rem);opacity:.75}.role-section .section-nav a[data-v-cb476a6c]:after{bottom:3px;width:18px}}@media(max-width:768px){.role-section[data-v-cb476a6c]{display:none}}.floating-checkin[data-v-cb476a6c]{background:transparent;border:none;cursor:pointer;height:100px;padding:0;position:fixed;right:10px;top:70%;transition:transform var(--duration-fast) var(--ease-smooth);width:100px;z-index:1050}.floating-checkin[data-v-cb476a6c]:hover{transform:scale(1.05)}.floating-checkin[data-v-cb476a6c]:disabled{cursor:wait}.floating-checkin .checkin-img[data-v-cb476a6c]{height:auto;pointer-events:none;width:100%}.floating-checkin .checkin-loading[data-v-cb476a6c]{color:var(--primary-color);font-size:2.5rem;height:100%;width:100%}.back-to-top[data-v-cb476a6c],.floating-checkin .checkin-loading[data-v-cb476a6c]{align-items:center;display:flex;justify-content:center}.back-to-top[data-v-cb476a6c]{background:var(--gradient-primary-btn);border:none;border-radius:50%;bottom:80px;box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-size:1.125rem;height:48px;padding:0;position:fixed;right:16px;transition:all var(--duration-normal) var(--ease-smooth);width:48px;z-index:1050}.back-to-top[data-v-cb476a6c]:hover{background:var(--gradient-primary-btn-hover);box-shadow:0 6px 20px #6366f180;transform:translateY(-3px)}.float-btn-enter-active[data-v-cb476a6c],.float-btn-leave-active[data-v-cb476a6c]{transition:opacity var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-smooth)}.float-btn-enter-from[data-v-cb476a6c],.float-btn-leave-to[data-v-cb476a6c]{opacity:0}.floating-checkin.float-btn-enter-from[data-v-cb476a6c],.floating-checkin.float-btn-leave-to[data-v-cb476a6c]{opacity:0;transform:translate(20px)}.back-to-top.float-btn-enter-from[data-v-cb476a6c],.back-to-top.float-btn-leave-to[data-v-cb476a6c]{transform:translateY(20px)}@media(max-width:768px){.floating-checkin[data-v-cb476a6c]{bottom:140px;height:80px;top:auto;width:80px}.back-to-top[data-v-cb476a6c]{bottom:70px;height:44px;right:12px;width:44px}}@media(max-width:576px){.floating-checkin[data-v-cb476a6c]{bottom:120px;height:70px;width:70px}.back-to-top[data-v-cb476a6c]{bottom:60px;font-size:1rem;height:40px;width:40px}}.toast-notification[data-v-cb476a6c]{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 8px 30px #10b98166;color:#fff;display:flex;font-size:.9375rem;font-weight:500;gap:.75rem;left:50%;padding:1rem 1.5rem;position:fixed;top:80px;transform:translate(-50%);z-index:var(--z-toast)}.toast-notification i[data-v-cb476a6c]{font-size:1.25rem}.toast-enter-active[data-v-cb476a6c],.toast-leave-active[data-v-cb476a6c]{transition:all var(--duration-normal) var(--ease-bounce)}.toast-enter-from[data-v-cb476a6c]{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}.toast-leave-to[data-v-cb476a6c]{opacity:0;transform:translate(-50%) translateY(-10px)}.user-dropdown:hover .user-btn[data-v-cb476a6c]{box-shadow:0 4px 12px var(--student-shadow)}.user-dropdown:hover .user-btn.teacher-mode[data-v-cb476a6c]{box-shadow:0 4px 12px var(--teacher-shadow)}.checkin-modal-overlay[data-v-cb476a6c]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:var(--z-overlay)}.checkin-modal[data-v-cb476a6c]{background:var(--bg-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:600px;padding:2rem;position:relative;width:100%}.checkin-modal-close[data-v-cb476a6c]{align-items:center;background:var(--bg-subtle);border:none;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:0;position:absolute;right:1rem;top:1rem;transition:all var(--duration-fast) var(--ease-smooth);width:32px}.checkin-modal-close[data-v-cb476a6c]:hover{background:var(--border-color);color:var(--text-color)}.checkin-modal-title[data-v-cb476a6c]{color:var(--text-color);font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.checkin-days[data-v-cb476a6c]{display:flex;gap:.375rem;justify-content:center}.checkin-day-wrapper[data-v-cb476a6c]{perspective:1000px}.checkin-day[data-v-cb476a6c]{align-items:center;background:linear-gradient(135deg,#f8efd8,#f2cf79);border:2px solid #e5c97a;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;min-width:56px;padding:.5rem .625rem;transition:all var(--duration-normal) var(--ease-smooth)}.checkin-day.grayscale[data-v-cb476a6c]{filter:grayscale(100%)}.checkin-day.signed[data-v-cb476a6c]{background:linear-gradient(135deg,var(--primary-300) 0,var(--primary-400) 100%);border-color:var(--primary-400);color:#fff;filter:none}.checkin-day.active[data-v-cb476a6c]{animation:checkin-pop-cb476a6c .4s ease-out .2s forwards;background:var(--gradient-yellow-btn);border-color:var(--accent-light);color:#fff}@keyframes checkin-pop-cb476a6c{0%{opacity:.5;transform:scale(.8)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.checkin-day-points[data-v-cb476a6c]{color:#5a4a0a;font-size:1rem;font-weight:700}.checkin-day-icon[data-v-cb476a6c]{color:#6b5c10;font-size:1.25rem}.checkin-day-label[data-v-cb476a6c]{color:#5a4a0a;font-size:.75rem;font-weight:500}.checkin-day.active .checkin-day-icon[data-v-cb476a6c],.checkin-day.active .checkin-day-points[data-v-cb476a6c],.checkin-day.signed .checkin-day-icon[data-v-cb476a6c],.checkin-day.signed .checkin-day-points[data-v-cb476a6c]{color:#fff}.checkin-day.active .checkin-day-label[data-v-cb476a6c],.checkin-day.signed .checkin-day-label[data-v-cb476a6c]{color:#ffffffe6}.checkin-modal-message[data-v-cb476a6c]{color:var(--secondary-color);font-size:1rem;font-weight:500;margin:1.5rem 0 0;text-align:center}.modal-enter-active[data-v-cb476a6c],.modal-leave-active[data-v-cb476a6c]{transition:all var(--duration-normal) var(--ease-smooth)}.modal-enter-active .checkin-modal[data-v-cb476a6c],.modal-leave-active .checkin-modal[data-v-cb476a6c]{transition:all var(--duration-normal) var(--ease-bounce)}.modal-enter-from[data-v-cb476a6c],.modal-leave-to[data-v-cb476a6c]{opacity:0}.modal-enter-from .checkin-modal[data-v-cb476a6c],.modal-leave-to .checkin-modal[data-v-cb476a6c]{opacity:0;transform:scale(.9) translateY(20px)}@media(max-width:576px){.checkin-modal[data-v-cb476a6c]{margin:0 1rem;overflow:hidden;padding:1.5rem}.checkin-days[data-v-cb476a6c]{flex-wrap:wrap}.checkin-day[data-v-cb476a6c]{flex:1 0 calc(25% - .375rem);min-width:0;padding:.5rem}.checkin-day-points[data-v-cb476a6c]{font-size:.875rem}.checkin-day-icon[data-v-cb476a6c]{font-size:1rem}}.ai-icon[data-v-cb476a6c]{--ai-icon-size:20px;background:url(/Images/AILogo.png) no-repeat 50%/contain;display:inline-block;height:var(--ai-icon-size);vertical-align:middle;width:var(--ai-icon-size)}.homepage-footer[data-v-d6cf990e]{--footer-bg:#06080c;background:var(--footer-bg);overflow:hidden;padding:var(--section-padding) 0 0;position:relative}.footer-ambient[data-v-d6cf990e]{inset:0;overflow:hidden;pointer-events:none;position:absolute}.ambient-orb[data-v-d6cf990e]{border-radius:50%;filter:blur(120px);opacity:.35;position:absolute}.orb-1[data-v-d6cf990e]{background:radial-gradient(circle,rgba(99,102,241,.6) 0,transparent 70%);height:600px;left:-100px;top:-300px;width:600px}.orb-2[data-v-d6cf990e]{background:radial-gradient(circle,rgba(236,72,153,.4) 0,transparent 70%);height:400px;right:-50px;top:-150px;width:400px}.footer-noise[data-v-d6cf990e]{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;opacity:.03;pointer-events:none;position:absolute}.footer-brand-showcase[data-v-d6cf990e]{border-bottom:1px solid hsla(0,0%,100%,.06);padding-bottom:3.5rem;position:relative;text-align:center;z-index:1}.brand-visual[data-v-d6cf990e]{align-items:center;display:flex;gap:1.25rem;justify-content:center;margin-bottom:1.25rem}.brand-logo-img[data-v-d6cf990e]{height:28px;-o-object-fit:contain;object-fit:contain;opacity:.95;transition:opacity .3s ease;width:auto}.brand-logo-img[data-v-d6cf990e]:hover{opacity:1}.brand-divider[data-v-d6cf990e]{background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.2),transparent);height:20px;width:1px}.brand-tagline[data-v-d6cf990e]{color:var(--slate-500);font-size:.6875rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}.brand-mission[data-v-d6cf990e]{color:var(--slate-400);font-size:.9375rem;line-height:1.7;margin:0 auto;max-width:480px}.footer-nav-grid[data-v-d6cf990e]{align-items:start;display:grid;gap:2rem;grid-template-columns:repeat(5,1fr);padding:3rem 0;position:relative;z-index:1}.nav-column[data-v-d6cf990e]{text-align:center}.nav-title[data-v-d6cf990e]{color:var(--slate-400);font-size:.6875rem;font-weight:600;letter-spacing:.2em;margin-bottom:1.25rem;text-transform:uppercase}.nav-title[data-v-d6cf990e]:after{background:linear-gradient(90deg,var(--primary-500),var(--primary-400));border-radius:1px;content:"";display:block;height:2px;margin:6px auto 0;width:20px}.nav-list[data-v-d6cf990e]{list-style:none;margin:0;padding:0}.nav-list li[data-v-d6cf990e]{margin-bottom:.5rem}.nav-list li[data-v-d6cf990e]:last-child{margin-bottom:0}.footer-nav-link[data-v-d6cf990e]{color:var(--slate-400);font-size:.875rem;text-decoration:none;transition:color .25s ease}.footer-nav-link[data-v-d6cf990e]:focus,.footer-nav-link[data-v-d6cf990e]:hover{color:#fff;outline:none}.footer-nav-link[data-v-d6cf990e]:focus-visible{border-radius:2px;outline:2px solid var(--primary-400);outline-offset:2px}.footer-bar[data-v-d6cf990e]{align-items:center;border-top:1px solid hsla(0,0%,100%,.06);display:flex;justify-content:space-between;padding:1.5rem 0;position:relative;z-index:1}.bar-left[data-v-d6cf990e],.bar-right[data-v-d6cf990e]{flex:1}.bar-right[data-v-d6cf990e]{text-align:right}.bar-center[data-v-d6cf990e]{flex:0 0 auto}.copyright[data-v-d6cf990e]{color:var(--slate-400);font-size:.75rem;letter-spacing:.02em}.copyright-link[data-v-d6cf990e]{color:var(--slate-300);text-decoration:none;transition:color .25s ease}.copyright-link[data-v-d6cf990e]:focus,.copyright-link[data-v-d6cf990e]:hover{color:#fff}.icp-info[data-v-d6cf990e]{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.625rem}.icp-link[data-v-d6cf990e]{align-items:center;color:var(--slate-300);display:inline-flex;font-size:.75rem;gap:.375rem;text-decoration:none;transition:color .25s ease}.icp-link[data-v-d6cf990e]:focus,.icp-link[data-v-d6cf990e]:hover{color:#fff}.icp-icon[data-v-d6cf990e]{font-size:.8125rem;opacity:.85}.social-row[data-v-d6cf990e]{gap:.5rem}.social-btn[data-v-d6cf990e],.social-row[data-v-d6cf990e]{align-items:center;display:flex}.social-btn[data-v-d6cf990e]{background:#ffffff0f;border:1px solid hsla(0,0%,100%,.1);border-radius:50%;color:var(--slate-400);cursor:pointer;font-size:1rem;height:44px;justify-content:center;text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;width:44px}.social-btn[data-v-d6cf990e]:focus,.social-btn[data-v-d6cf990e]:hover{background:#6366f126;border-color:#6366f14d;color:#fff;transform:translateY(-2px)}.social-btn[data-v-d6cf990e]:focus-visible{outline:2px solid var(--primary-400);outline-offset:2px}.social-btn[data-v-d6cf990e]:active{transform:translateY(0)}.social-dropdown[data-v-d6cf990e]{position:relative}.social-dropdown-menu[data-v-d6cf990e]{-webkit-backdrop-filter:var(--glass-blur-sm);backdrop-filter:var(--glass-blur-sm);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;bottom:calc(100% + 8px);min-width:120px;opacity:0;padding:.5rem;transform:translate(-50%) translateY(8px);transition:all .25s ease;visibility:hidden;z-index:10}.social-dropdown-menu[data-v-d6cf990e],.social-dropdown-menu[data-v-d6cf990e]:before{background:#0f141efa;left:50%;position:absolute}.social-dropdown-menu[data-v-d6cf990e]:before{border-bottom:1px solid hsla(0,0%,100%,.1);border-right:1px solid hsla(0,0%,100%,.1);bottom:-5px;content:"";height:10px;transform:translate(-50%) rotate(45deg);width:10px}.social-dropdown.is-open .social-dropdown-menu[data-v-d6cf990e],.social-dropdown:hover .social-dropdown-menu[data-v-d6cf990e]{opacity:1;transform:translate(-50%) translateY(0);visibility:visible}.social-dropdown-item[data-v-d6cf990e]{border-radius:6px;color:var(--slate-400);display:block;font-size:.8125rem;padding:.5rem .75rem;text-align:center;text-decoration:none;transition:all .2s ease}.social-dropdown-item[data-v-d6cf990e]:hover{background:#6366f126;color:#fff}.status-badge[data-v-d6cf990e]{align-items:center;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:100px;display:inline-flex;gap:.5rem;padding:.375rem .75rem}.status-dot[data-v-d6cf990e]{animation:pulse-dot-d6cf990e 2s ease-in-out infinite;background:#10b981;border-radius:50%;box-shadow:0 0 8px #10b98199;height:6px;width:6px}@keyframes pulse-dot-d6cf990e{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-d6cf990e]{color:#10b981;font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.wechat-link[data-v-d6cf990e]{cursor:help}.download-app-column[data-v-d6cf990e]{align-items:center;display:flex;flex-direction:column}.app-download-card[data-v-d6cf990e]{align-items:center;display:flex;gap:1rem}.qrcode-link[data-v-d6cf990e]{background:#fff;border-radius:8px;display:block;padding:6px;transition:transform .3s ease,box-shadow .3s ease}.qrcode-link[data-v-d6cf990e]:hover{box-shadow:0 8px 20px #0003;transform:scale(1.03)}.app-qrcode[data-v-d6cf990e]{display:block;height:90px;width:90px}.app-info[data-v-d6cf990e]{align-items:flex-start;display:flex;flex-direction:column;gap:.625rem}.app-header[data-v-d6cf990e]{align-items:center;display:flex;gap:.5rem}.app-logo[data-v-d6cf990e]{border-radius:8px;flex-shrink:0;height:36px;width:36px}.app-name[data-v-d6cf990e]{color:var(--slate-300);font-size:.9375rem;font-weight:600;letter-spacing:.02em}.app-store-link[data-v-d6cf990e]{display:block;transition:all .3s ease}.app-store-link[data-v-d6cf990e]:hover{filter:brightness(1.1);transform:translateY(-2px)}.app-store-badge[data-v-d6cf990e]{height:32px;width:auto}@media(max-width:768px){.footer-brand-showcase[data-v-d6cf990e]{padding-bottom:2.5rem}.brand-visual[data-v-d6cf990e]{flex-direction:column;gap:.75rem}.brand-divider[data-v-d6cf990e]{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);height:1px;width:40px}.footer-nav-grid[data-v-d6cf990e]{gap:2rem;grid-template-columns:repeat(2,1fr);padding:2rem 0}.app-header[data-v-d6cf990e]{flex-direction:column}.app-header[data-v-d6cf990e],.app-info[data-v-d6cf990e]{align-items:center;gap:0}.app-info[data-v-d6cf990e]{text-align:center}.app-qrcode[data-v-d6cf990e]{aspect-ratio:1;height:80px;-o-object-fit:contain;object-fit:contain;width:80px}.footer-bar[data-v-d6cf990e]{flex-direction:column;gap:1.25rem;padding:1.25rem 0}.bar-center[data-v-d6cf990e],.bar-left[data-v-d6cf990e],.bar-right[data-v-d6cf990e]{flex:none;text-align:center}}@media(prefers-reduced-motion:reduce){.app-store-link[data-v-d6cf990e],.brand-logo-img[data-v-d6cf990e],.footer-nav-link[data-v-d6cf990e],.qrcode-link[data-v-d6cf990e],.social-btn[data-v-d6cf990e],.status-dot[data-v-d6cf990e]{animation:none;transition:none}}#mosme-homepage{display:flex;flex-direction:column;min-height:100vh}.homepage-content{flex:1;padding-top:var(--navbar-height,64px)}.logged-in .homepage-content{padding-top:calc(var(--navbar-height, 64px) + var(--nav-section-height, 45px))}.skip-link{background-color:var(--primary-color,#1a4058);border-radius:0 0 8px 8px;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600;left:16px;padding:12px 24px;position:absolute;text-decoration:none;top:-100%;transition:top .2s ease-in-out;z-index:9999}.skip-link:focus{outline:3px solid var(--accent-color,#f72);outline-offset:2px;top:0}
