/* Mobile dimensions copied from the current Flutter Home and navigation widgets. */
body{background:#f8fafc;padding-bottom:0;color:#1e293b}.web-member{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.page{padding:16px 20px;max-width:100%;overflow:hidden}.page-heading h1{font-size:22px;font-weight:800;letter-spacing:-.3px;margin:0 0 18px}.page:has(.mobile-app-home){padding:10px 0 24px;background:radial-gradient(ellipse at 0 0,#4338ca1f,transparent 50%),radial-gradient(ellipse at 100% 60%,#10b98114,transparent 45%)}.page:has(.mobile-app-home)>.page-heading{display:none}.desktop-hero,.desktop-shortcuts,.desktop-shortcut-heading{display:none}.banner-row{margin:0;gap:0;padding:0 0 10px;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}.banner-row::-webkit-scrollbar,.home-course-row::-webkit-scrollbar,.home-product-row::-webkit-scrollbar,.app-category-row::-webkit-scrollbar{display:none}.banner{flex:0 0 calc(100% - 32px);margin:0 16px;height:clamp(150px,calc(100vw / 2.1),205px);aspect-ratio:auto;border-radius:24px;border:1px solid #4338ca26;box-shadow:0 4px 12px #4338ca0d}.banner img{object-fit:cover}.banner-dots{display:flex;gap:5px;justify-content:center;align-items:center;min-height:12px;margin:3px 0 0}.banner-dots button{width:6px;height:6px;min-width:6px;padding:0;border-radius:99px;background:#cbd5e1;border:0}.banner-dots button.active{width:22px;background:linear-gradient(90deg,#4338ca,#8b5cf6);box-shadow:0 2px 4px #4338ca40}.mobile-categories{display:block}.app-section-heading{display:flex;gap:14px;align-items:center;margin:24px 16px 12px 20px}.app-section-heading .section-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;color:#4338ca;border:1px solid #4338ca33;background:linear-gradient(130deg,#4338ca26,#4338ca0d)}.app-section-heading>div{min-width:0;flex:1}.app-section-heading h2{font-size:18px;font-weight:800;letter-spacing:-.2px;line-height:1.3}.app-section-heading p{display:block;margin:2px 0 0;color:#64748b;font-size:12px;font-weight:500;line-height:1.4}.app-section-heading>a{font-size:12px;font-weight:800;color:#4338ca;white-space:nowrap;padding:8px 0}.shop-heading .section-icon{color:#10b981;background:linear-gradient(130deg,#10b98126,#10b9810d);border-color:#10b98133}.app-category-row{display:flex;gap:12px;overflow-x:auto;padding:4px 20px;scrollbar-width:none}.app-category{display:flex;align-items:center;gap:8px;flex:0 0 145px;min-height:64px;padding:8px 10px;border-radius:16px;background:white;border:1px solid color-mix(in srgb,var(--category-accent) 15%,transparent);box-shadow:0 3px 8px color-mix(in srgb,var(--category-accent) 5%,transparent);color:#1e293b}.app-category>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;color:white;background:linear-gradient(130deg,color-mix(in srgb,var(--category-accent) 70%,white),var(--category-accent));box-shadow:0 3px 6px color-mix(in srgb,var(--category-accent) 30%,transparent)}.app-category svg{width:18px;height:18px}.app-category strong{font-size:13px;font-weight:700;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.home-course-row,.home-product-row{display:flex;gap:16px;overflow-x:auto;padding:0 20px 12px;scrollbar-width:none;scroll-snap-type:x proximity}.home-course-row .course-card{flex:0 0 clamp(220px,65vw,260px);min-height:308px;border:1.5px solid #c7d2fe;border-radius:24px;background:#fff;box-shadow:0 4px 14px #4338ca0c;scroll-snap-align:start;overflow:hidden}.home-course-row .course-image{height:124px;aspect-ratio:auto;background:#eef2ff}.home-course-row .course-image img{width:100%;height:100%;object-fit:cover}.home-course-row .course-body{padding:14px;display:flex;flex-direction:column;min-height:181px}.home-course-row .course-body h3{font-size:15px;font-weight:800;line-height:1.25;margin:8px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.home-course-row .course-body .tag{font-size:10px;color:#4338ca;background:#eef2ff;align-self:flex-start;padding:4px 8px;border-radius:8px}.home-course-row .course-body p{font-size:11px;margin:0 0 8px}.home-course-row .course-body>strong{font-size:17px;color:#1e293b}.mobile-course-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:12px;border-radius:12px;background:linear-gradient(90deg,#4338ca,#6366f1);color:white;font-size:12px;font-weight:700;min-height:42px}.home-product-row .course-card{flex:0 0 180px;min-height:248px;border:1.5px solid #d1fae5;border-radius:24px;scroll-snap-align:start;overflow:hidden;background:white}.home-product-row .course-image{height:140px;background:#f8fafc}.home-product-row .course-image img{width:100%;height:100%;object-fit:contain}.home-product-row .course-body{padding:12px}.home-product-row .course-body h3{font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:8px 0}.home-product-row .tag{font-size:9px;color:#059669}.home-product-row strong{font-size:15px;color:#059669}.bottom-nav{min-height:70px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#ffffffd9,#f8fafca6);backdrop-filter:blur(25px);border-top:1.5px solid #ffffff99;box-shadow:0 -4px 20px #0000000f;z-index:40}.bottom-nav a{flex:1;gap:2px;font-size:10px;font-weight:600;line-height:1.4;color:#334155;padding:0;background:none;border-radius:0}.bottom-nav a>span{display:grid;place-items:center;width:44px;height:36px;border-radius:18px}.bottom-nav a svg{height:24px;width:24px}.bottom-nav a.active{color:#4338ca;background:none;font-weight:800}.bottom-nav a.active>span{background:#4338ca1a}.tabs{border-radius:14px;background:#eef2ff;padding:4px;gap:4px}.tabs a{flex:1;text-align:center;font-size:13px;padding:10px 12px;border:0;border-radius:11px}.tabs a.active{background:#4338ca;color:white;box-shadow:0 3px 8px #4338ca22}.card-grid:not(.home-course-row):not(.home-product-row){gap:12px}.card-grid:not(.home-course-row):not(.home-product-row) .course-card{border-radius:20px;border-color:#e0e7ff;box-shadow:0 3px 10px #4338ca08}.panel{border-radius:22px;border-color:#e2e8f0;box-shadow:0 3px 12px #0f172a05}.site-footer{font-size:11px;padding:20px}.search-form input{border-radius:14px}.search-form button{border-radius:14px}.web-guest .site-footer{padding-bottom:20px}@media(prefers-reduced-motion:reduce){.banner-row{scroll-behavior:auto}}
