:root{
  --navy:#080d36;
  --navy-2:#121a55;
  --purple:#6d47f5;
  --purple-2:#8a5cf6;
  --pink:#ff4f93;
  --yellow:#ffd541;
  --green:#37c871;
  --blue:#47a8ff;
  --orange:#ffb22e;
  --red:#ff6868;
  --text:#10143f;
  --muted:#6c7094;
  --soft:#f7f8ff;
  --card:#ffffff;
  --border:#e9ebf7;
  --shadow:0 20px 55px rgba(23,29,88,.12);
  --shadow-soft:0 12px 32px rgba(23,29,88,.08);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Nunito',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:var(--soft);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}

.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(109,71,245,.16);
  background:#fff;border-radius:999px;padding:9px 14px;
  font-weight:900;color:#4a36bc;box-shadow:var(--shadow-soft)
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 24px;border-radius:18px;border:0;cursor:pointer;
  font-weight:1000;letter-spacing:.1px;transition:.2s ease;white-space:nowrap
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--yellow),#ffb52e);color:#16193f;box-shadow:0 14px 24px rgba(255,181,46,.25)}
.btn-purple{background:linear-gradient(135deg,var(--purple),var(--purple-2));color:white;box-shadow:0 14px 24px rgba(109,71,245,.25)}
.btn-light{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-soft)}
.btn-whats{background:#22c55e;color:white;box-shadow:0 14px 24px rgba(34,197,94,.22)}
.section{padding:86px 0}
.section-title{font-size:clamp(32px,4vw,52px);line-height:1.03;margin:0 0 14px;font-weight:1000;letter-spacing:-1.5px}
.section-text{font-size:19px;line-height:1.65;color:var(--muted);margin:0;max-width:720px}
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* Header */
.site-header{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(18px);
  background:rgba(247,248,255,.86);
  border-bottom:1px solid rgba(233,235,247,.85)
}
.navbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo-mark{display:flex;align-items:center;gap:12px;font-weight:1000}
.logo-mini{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,var(--navy),var(--purple));display:grid;place-items:center;box-shadow:var(--shadow-soft);color:#fff;font-size:28px}
.logo-text strong{display:block;font-size:20px;line-height:1;color:var(--navy)}
.logo-text span{font-size:13px;color:var(--muted);font-weight:900}
.nav-links{display:flex;align-items:center;gap:25px;font-weight:900;color:#33385f}
.nav-actions{display:flex;align-items:center;gap:12px}
.mobile-menu{display:none;border:0;background:#fff;border-radius:15px;width:48px;height:48px;font-size:24px;box-shadow:var(--shadow-soft)}

/* Hero */
.hero{padding:64px 0 48px;position:relative;overflow:hidden}
.hero:before{
  content:"";position:absolute;inset:-140px -100px auto auto;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,#ffe37d 0%,rgba(255,227,125,0) 70%);opacity:.65;pointer-events:none
}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
.hero h1{font-size:clamp(42px,5.5vw,72px);line-height:.98;margin:22px 0 18px;font-weight:1000;letter-spacing:-2.6px;color:var(--navy)}
.hero h1 span{color:var(--purple)}
.hero p{font-size:21px;line-height:1.62;color:#565b86;margin:0 0 28px;max-width:620px}
.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.trust-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:#59608b;font-weight:900}
.avatar-stack{display:flex;align-items:center}
.avatar-stack span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid var(--soft);margin-left:-9px;box-shadow:var(--shadow-soft)}
.avatar-stack span:first-child{margin-left:0}
.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}
.hero-card{
  position:absolute;left:0;right:0;bottom:34px;margin:auto;width:min(92%,740px);border-radius:38px;overflow:hidden;
  box-shadow:0 34px 80px rgba(48,31,137,.22);border:10px solid #fff;background:#fff
}
.mascot-card{
  position:absolute;right:2%;top:0;width:min(48%,280px);background:#fff;border-radius:34px;padding:10px;box-shadow:var(--shadow);transform:rotate(3deg)
}
.stat-bubble{
  position:absolute;left:5%;top:42px;background:#fff;border-radius:24px;padding:16px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);font-weight:1000
}
.stat-bubble .icon{width:46px;height:46px;border-radius:16px;background:#fff4bf;display:grid;place-items:center;font-size:24px}

/* Cards */
.feature-card,.module-card,.plan-card,.step-card,.faq-card,.stat-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)
}
.feature-card{padding:28px;min-height:235px;position:relative;overflow:hidden}
.feature-card:after{content:"";position:absolute;right:-45px;bottom:-45px;width:140px;height:140px;border-radius:50%;background:rgba(109,71,245,.08)}
.feature-icon{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;font-size:32px;margin-bottom:18px;background:linear-gradient(135deg,#eef3ff,#fff)}
.feature-card h3,.step-card h3,.module-card h3,.plan-card h3{margin:0 0 10px;font-size:23px;color:var(--navy);font-weight:1000}
.feature-card p,.step-card p,.module-card p,.plan-card p{margin:0;color:var(--muted);line-height:1.6;font-size:16px}

.benefits{background:#fff}
.benefits-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:34px}

.how{background:linear-gradient(180deg,#f7f8ff,#fff)}
.steps{counter-reset:step}
.step-card{padding:28px;position:relative;overflow:hidden}
.step-number{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,var(--purple),#a65df9);color:#fff;display:grid;place-items:center;font-weight:1000;font-size:20px;margin-bottom:18px}

.modules-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:34px;align-items:center}
.modules-panel{background:linear-gradient(135deg,var(--navy),#221b75);border-radius:38px;padding:34px;color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}
.modules-panel:before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;background:rgba(255,213,65,.16);border-radius:50%}
.modules-panel h2{font-size:42px;line-height:1.05;margin:0 0 14px;font-weight:1000}
.modules-panel p{color:#dce1ff;line-height:1.65;font-size:18px}
.module-card{padding:22px;display:flex;gap:16px;align-items:center}
.module-icon{width:60px;height:60px;border-radius:20px;display:grid;place-items:center;font-size:30px;flex:0 0 auto;color:#fff}
.bg-blue{background:linear-gradient(135deg,#31a7ff,#5a66ff)}
.bg-green{background:linear-gradient(135deg,#42d379,#97d85a)}
.bg-purple{background:linear-gradient(135deg,#7b45f2,#b653ef)}
.bg-orange{background:linear-gradient(135deg,#ffb22e,#ff7a40)}
.bg-pink{background:linear-gradient(135deg,#ff4f93,#ff88c7)}
.bg-yellow{background:linear-gradient(135deg,#ffd541,#ffb22e)}

.plans{background:#fff}
.plan-card{padding:28px;position:relative;display:flex;flex-direction:column;min-height:430px}
.plan-card.featured{border:2px solid var(--purple);box-shadow:0 26px 70px rgba(109,71,245,.18);transform:translateY(-12px)}
.plan-label{position:absolute;top:18px;right:18px;background:#f0ebff;color:var(--purple);border-radius:999px;padding:8px 12px;font-weight:1000;font-size:13px}
.price{font-size:46px;font-weight:1000;color:var(--navy);letter-spacing:-1px;margin:18px 0 8px}
.price small{font-size:17px;color:var(--muted)}
.plan-list{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:12px;color:#4d527a;font-weight:800;line-height:1.45}
.plan-list li{display:flex;gap:10px}.plan-list li:before{content:"✓";color:var(--green);font-weight:1000}
.plan-card .btn{margin-top:auto;width:100%}

.faq{background:linear-gradient(180deg,#fff,#f7f8ff)}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.faq-card{padding:24px}.faq-card h3{font-size:19px;margin:0 0 8px;color:var(--navy);font-weight:1000}.faq-card p{margin:0;color:var(--muted);line-height:1.6}

.cta-box{
  background:linear-gradient(135deg,var(--navy),var(--purple));color:#fff;border-radius:42px;padding:48px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative
}
.cta-box:before{content:"";position:absolute;right:-70px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,213,65,.18)}
.cta-box h2{font-size:42px;line-height:1.08;margin:0 0 12px;font-weight:1000}.cta-box p{margin:0;color:#e5e8ff;font-size:18px;line-height:1.6;max-width:720px}.cta-box>*{position:relative}

.footer{background:var(--navy);color:#fff;padding:46px 0}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:26px}.footer h4{margin:0 0 14px;font-size:17px}.footer p,.footer a{color:#d5d9ff;line-height:1.7}.footer a{display:block;margin:7px 0}.footer-bottom{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#bfc5ff;font-size:14px}

/* Auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.auth-brand{background:linear-gradient(135deg,var(--navy),var(--purple));color:#fff;padding:46px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(255,213,65,.16)}.auth-brand>*{position:relative}.auth-brand h1{font-size:52px;line-height:1;margin:24px 0 12px;font-weight:1000}.auth-brand p{font-size:20px;line-height:1.6;color:#e6e9ff}.auth-illustration{width:min(80%,420px);margin:20px auto 0}
.auth-form-wrap{display:grid;place-items:center;padding:40px;background:var(--soft)}
.auth-card{width:min(100%,480px);background:#fff;border:1px solid var(--border);border-radius:34px;padding:34px;box-shadow:var(--shadow)}
.auth-card h2{font-size:34px;margin:0 0 8px;font-weight:1000}.auth-card p{margin:0 0 24px;color:var(--muted);line-height:1.55}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:1000;color:#30355f}.form-control{width:100%;height:56px;border:1px solid var(--border);border-radius:18px;padding:0 18px;background:#fbfcff;color:var(--text);outline:none}.form-control:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(109,71,245,.1)}.form-help{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-weight:800;font-size:14px;margin:10px 0 22px}.demo-box{background:#f6f3ff;border:1px dashed #c6b9ff;border-radius:18px;padding:14px;margin-top:18px;color:#4a36bc;font-weight:800;line-height:1.5}

/* App layout */
.app-body{background:#f6f7ff;min-height:100vh;display:flex;color:var(--text)}
.sidebar{width:292px;background:linear-gradient(180deg,#070c34 0%,#111752 58%,#291c7d 100%);min-height:100vh;padding:26px 24px;color:#fff;position:fixed;left:0;top:0;bottom:0;overflow:auto}.sidebar-logo{margin:0 auto 26px;width:220px}.side-nav{display:grid;gap:9px}.side-link{display:flex;align-items:center;gap:14px;min-height:54px;border-radius:20px;padding:0 17px;font-weight:1000;color:#e8ebff}.side-link.active,.side-link:hover{background:linear-gradient(135deg,var(--purple),#7a5cff);color:#fff}.side-link .side-icon{font-size:22px;width:28px;text-align:center}.side-banner{margin-top:34px;border-radius:26px;background:linear-gradient(135deg,#7444f3,#d457ee);padding:20px;overflow:hidden;min-height:180px;position:relative}.side-banner strong{display:block;font-size:25px;line-height:1.12}.side-banner img{position:absolute;right:-24px;bottom:-34px;width:155px}
.app-main{margin-left:292px;width:calc(100% - 292px);padding:30px 38px 50px}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.welcome h1{font-size:34px;margin:0 0 3px;font-weight:1000;color:var(--navy)}.welcome p{margin:0;color:var(--muted);font-weight:800}.top-actions{display:flex;align-items:center;gap:14px}.pill-stat{height:54px;padding:0 18px;border-radius:999px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:10px;font-weight:1000}.bell,.user-avatar{width:54px;height:54px;border-radius:18px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-soft);display:grid;place-items:center;font-size:24px}.user-avatar{overflow:hidden;background:#ffe4f2}.user-avatar img{width:54px;height:54px;object-fit:cover}
.lesson-hero{background:linear-gradient(135deg,#7b45f2,#c557ec 60%,#ff74bb);border-radius:34px;min-height:260px;padding:42px;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;box-shadow:var(--shadow);overflow:hidden;position:relative}.lesson-hero:before{content:"";position:absolute;right:24%;bottom:-90px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.12)}.lesson-hero h2{font-size:42px;line-height:1.03;margin:0 0 12px;font-weight:1000;max-width:480px}.lesson-hero p{font-size:18px;line-height:1.55;color:#f5f1ff;margin:0 0 24px}.lesson-hero img{width:245px;position:relative;z-index:1}.dashboard-section{margin-top:28px}.dashboard-section h2{font-size:25px;margin:0 0 16px;color:var(--navy);font-weight:1000}.resume-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px}.progress-card,.small-card,.achievement-card,.parent-card,.admin-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow-soft)}.progress-card{padding:18px;display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.video-thumb{height:112px;border-radius:22px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:grid;place-items:center;color:#fff;font-size:44px;position:relative;overflow:hidden}.play-circle{width:54px;height:54px;border-radius:50%;background:#fff;color:#3478ff;display:grid;place-items:center;font-size:23px}.progress-card h3,.small-card h3{margin:0 0 4px;font-size:20px;color:var(--navy);font-weight:1000}.bar{height:11px;border-radius:999px;background:#edf0f7;overflow:hidden}.bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),#9bdc5a)}.progress-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:#4f557e;font-weight:900}.small-card{padding:23px;display:flex;align-items:center;gap:17px;min-height:140px}.small-emoji{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;font-size:37px;background:#fff6c8}.content-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px}.content-tile{min-height:210px;border-radius:28px;padding:23px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-soft);overflow:hidden;position:relative}.content-tile:after{content:"";position:absolute;right:-50px;bottom:-60px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.16)}.tile-icon{font-size:50px;position:relative}.content-tile h3{margin:0 0 6px;font-size:20px;font-weight:1000}.content-tile p{margin:0;color:rgba(255,255,255,.9);line-height:1.4;font-weight:800}.arrow-btn{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--purple);display:grid;place-items:center;font-weight:1000;align-self:flex-end;position:relative}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:26px}.achievement-card{padding:24px;overflow:hidden}.badges-row{display:flex;gap:16px;overflow:auto;padding-bottom:6px}.badge-medal{flex:0 0 82px;height:82px;border-radius:50%;background:linear-gradient(135deg,#ffe0ea,#d5c7ff);display:grid;place-items:center;font-size:35px;border:6px solid #fff;box-shadow:var(--shadow-soft)}

/* Internal pages */
.page-header-card{background:#fff;border:1px solid var(--border);border-radius:34px;padding:28px 30px;box-shadow:var(--shadow-soft);display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-header-card h1{font-size:34px;margin:0 0 4px;color:var(--navy);font-weight:1000}.page-header-card p{margin:0;color:var(--muted);font-weight:800}.lesson-list{display:grid;gap:18px}.lesson-row{background:#fff;border:1px solid var(--border);border-radius:26px;padding:18px;display:grid;grid-template-columns:80px 1fr auto;gap:18px;align-items:center;box-shadow:var(--shadow-soft)}.lesson-icon{width:80px;height:80px;border-radius:22px;display:grid;place-items:center;font-size:36px;color:#fff}.lesson-row h3{margin:0 0 6px;font-size:21px;color:var(--navy);font-weight:1000}.lesson-row p{margin:0;color:var(--muted);font-weight:800}.status-chip{border-radius:999px;padding:8px 12px;font-weight:1000;font-size:14px;background:#edfdf3;color:#16844a}.status-chip.locked{background:#f2f3fb;color:#8a8fac}.activity-box{background:#fff;border:1px solid var(--border);border-radius:34px;padding:30px;box-shadow:var(--shadow-soft)}.activity-options{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}.option-card{border:2px solid var(--border);border-radius:22px;padding:22px;background:#fbfcff;cursor:pointer;font-weight:1000;font-size:20px;display:flex;align-items:center;gap:14px}.option-card:hover,.option-card.selected{border-color:var(--purple);background:#f4f0ff}.option-card.correct{border-color:var(--green);background:#edfff4}.cert-card{background:linear-gradient(135deg,#fff7d0,#fff);border:2px solid #ffd86c;border-radius:34px;padding:34px;text-align:center;box-shadow:var(--shadow)}.cert-card h2{font-size:42px;margin:10px 0;color:var(--navy);font-weight:1000}.cert-seal{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--yellow),#ffb22e);display:grid;place-items:center;font-size:48px;margin:0 auto;border:8px solid #fff;box-shadow:var(--shadow-soft)}

/* Parent/admin */
.parent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.parent-card,.admin-card{padding:24px}.parent-card strong,.admin-card strong{display:block;font-size:34px;color:var(--navy);font-weight:1000}.parent-card span,.admin-card span{color:var(--muted);font-weight:900}.report-box{margin-top:24px;background:#fff;border:1px solid var(--border);border-radius:34px;padding:30px;box-shadow:var(--shadow-soft)}.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.admin-menu{background:#fff;border:1px solid var(--border);border-radius:28px;padding:18px;box-shadow:var(--shadow-soft);height:max-content}.admin-menu a{display:flex;gap:12px;align-items:center;padding:14px;border-radius:16px;font-weight:1000;color:#535a85}.admin-menu a.active,.admin-menu a:hover{background:#f2efff;color:var(--purple)}.admin-table{width:100%;border-collapse:separate;border-spacing:0 12px}.admin-table th{text-align:left;color:var(--muted);font-weight:1000;padding:0 14px}.admin-table td{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 14px;font-weight:800}.admin-table td:first-child{border-left:1px solid var(--border);border-radius:18px 0 0 18px}.admin-table td:last-child{border-right:1px solid var(--border);border-radius:0 18px 18px 0}.notice{border-radius:24px;background:#fff8d8;border:1px solid #ffe59c;padding:18px;color:#6d5600;font-weight:900;line-height:1.55}

@media (max-width:1080px){
  .nav-links{display:none}.mobile-menu{display:grid;place-items:center}.hero-grid,.modules-wrap,.cta-box{grid-template-columns:1fr}.hero-visual{min-height:470px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:repeat(3,1fr)}.resume-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.auth-page{grid-template-columns:1fr}.auth-brand{min-height:auto}.auth-illustration{max-width:260px}.sidebar{width:92px;padding:18px 14px}.sidebar-logo,.side-banner,.side-link span:not(.side-icon){display:none}.side-link{justify-content:center;padding:0}.app-main{margin-left:92px;width:calc(100% - 92px);padding:24px}.lesson-hero{grid-template-columns:1fr}.lesson-hero img{display:none}.parent-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-menu{display:flex;overflow:auto}.admin-menu a{white-space:nowrap}.lesson-row{grid-template-columns:64px 1fr}.lesson-row .btn,.lesson-row .status-chip{grid-column:2;width:max-content}.lesson-icon{width:64px;height:64px}
}
@media (max-width:720px){
  .container{width:min(100% - 26px,1180px)}.navbar{height:76px}.nav-actions .btn-light{display:none}.hero{padding-top:34px}.hero-actions .btn{width:100%}.hero-visual{min-height:380px}.mascot-card{width:160px}.stat-bubble{top:10px;left:0}.section{padding:58px 0}.benefits-head{display:block}.grid-3,.grid-4,.faq-list,.bottom-grid,.parent-grid,.activity-options{grid-template-columns:1fr}.module-card{align-items:flex-start}.plans .grid-3{gap:20px}.plan-card.featured{transform:none}.cta-box{padding:30px;border-radius:30px}.footer-grid{grid-template-columns:1fr}.auth-form-wrap,.auth-brand{padding:24px}.auth-card{padding:24px;border-radius:28px}.auth-brand h1{font-size:38px}.app-body{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:76px;min-height:0;z-index:50;display:flex;align-items:center;overflow:hidden;padding:10px;background:rgba(8,13,54,.96);backdrop-filter:blur(18px)}.side-nav{display:flex;width:100%;justify-content:space-around}.side-link{width:56px;min-height:56px;border-radius:18px}.app-main{margin-left:0;width:100%;padding:20px 14px 94px}.app-topbar{align-items:flex-start}.top-actions{display:none}.welcome h1{font-size:28px}.lesson-hero{padding:28px;border-radius:26px}.lesson-hero h2{font-size:32px}.progress-card{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr 1fr;gap:14px}.content-tile{min-height:170px}.page-header-card{display:block;padding:22px}.page-header-card .btn{margin-top:16px;width:100%}.admin-table{font-size:14px}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}
}
@media (max-width:720px){
  .modules-wrap .grid-2{grid-template-columns:1fr!important}
}
@media (max-width:1080px){
  .nav-links.is-open{display:flex;position:absolute;left:20px;right:20px;top:82px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:18px;flex-direction:column;align-items:flex-start;z-index:30}
}


/* Image library */
.image-library{scroll-margin-top:30px}
.library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.library-head h2{font-size:32px;line-height:1.05;margin:14px 0 8px;color:var(--navy);font-weight:1000}
.library-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.65;max-width:760px}
.upload-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.upload-card{border:1px solid var(--border);background:#fbfcff;border-radius:28px;padding:16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:12px}
.upload-card h3{margin:0;color:var(--navy);font-size:18px;font-weight:1000}
.upload-card p{margin:0;color:var(--muted);font-weight:800;line-height:1.45;font-size:14px;min-height:60px}
.upload-preview{height:150px;border-radius:22px;background:linear-gradient(135deg,#f2efff,#fff8d8);border:1px dashed #d9ddf0;display:grid;place-items:center;overflow:hidden}
.upload-preview img{width:100%;height:100%;object-fit:cover}
.upload-button{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:16px;background:linear-gradient(135deg,var(--purple),var(--purple-2));color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 12px 22px rgba(109,71,245,.18)}
.upload-button input{display:none}
.library-note{margin-top:18px;border-radius:22px;background:#f4f0ff;border:1px solid #e1d8ff;padding:16px;color:#40368b;font-weight:900;line-height:1.55}
.saved-gallery-wrap{margin-top:24px}.saved-gallery-wrap h3{margin:0 0 14px;color:var(--navy);font-weight:1000}.saved-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden}.gallery-item img{height:130px;width:100%;object-fit:cover;background:#f7f8ff}.gallery-item div{padding:12px}.gallery-item strong{display:block;color:var(--navy);font-weight:1000}.gallery-item small{color:var(--muted);font-weight:800}.empty-gallery{grid-column:1/-1;border:1px dashed #ccd2ec;border-radius:22px;padding:22px;text-align:center;color:var(--muted);font-weight:900;background:#fbfcff}

@media (max-width:1080px){.upload-grid,.saved-gallery{grid-template-columns:repeat(2,1fr)}.library-head{display:block}.library-head .btn{margin-top:16px}}
@media (max-width:720px){.upload-grid,.saved-gallery{grid-template-columns:1fr}.upload-preview{height:190px}}
