
:root{
  --ink:#17203a;--muted:#69748b;--line:#e5e8f0;--paper:#ffffff;--soft:#f7f8fc;
  --navy:#172554;--blue:#3c5cff;--violet:#7c3aed;--cyan:#0ea5e9;--gold:#f5b940;
  --green:#1a936f;--rose:#d9487d;--shadow:0 18px 50px rgba(23,32,58,.10);
  --radius:22px;--max:1280px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.62}
body.dark{--ink:#eef2ff;--muted:#aab4cc;--line:#303852;--paper:#111827;--soft:#171f31;--shadow:0 18px 50px rgba(0,0,0,.28)}
a{color:inherit}
button,input,select,textarea{font:inherit}
.site-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 6px 24px rgba(21,29,60,.05)}
.header-top{max-width:var(--max);margin:auto;min-height:78px;display:flex;align-items:center;gap:18px;padding:10px 22px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:280px}
.brand img{width:56px;height:56px;border-radius:16px;object-fit:cover}
.brand span{display:grid;line-height:1.15}
.brand b{font-size:13px;letter-spacing:.025em;color:var(--navy)}
body.dark .brand b{color:#eef2ff}
.brand small{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--violet);margin-top:4px}
.global-search{flex:1;display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:10px 14px}
.global-search input{flex:1;border:0;background:transparent;color:var(--ink);outline:0}
.header-actions{display:flex;gap:8px}
.icon-btn,.menu-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;padding:10px 12px;cursor:pointer}
.menu-btn{display:none;font-size:22px}
.nav-wrap{border-top:1px solid var(--line)}
nav{max-width:var(--max);margin:auto;display:flex;align-items:center;gap:6px;padding:8px 22px}
nav>a,.drop>a{padding:9px 12px;border-radius:11px;text-decoration:none;font-weight:800;font-size:13px;color:var(--ink)}
nav>a:hover,.drop>a:hover,nav>a.active,.drop>a.active{background:linear-gradient(135deg,var(--navy),var(--violet));color:#fff}
.drop{position:relative}
.drop-menu{display:none;position:absolute;top:44px;left:0;min-width:240px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:9px}
.drop:hover .drop-menu,.drop:focus-within .drop-menu{display:grid}
.drop-menu a{text-decoration:none;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:750}
.drop-menu a:hover{background:var(--soft)}
main{max-width:var(--max);margin:auto}
.page-hero{margin:26px 18px 0;border-radius:32px;padding:62px clamp(24px,6vw,72px);color:#fff;background:
radial-gradient(circle at 85% 15%,rgba(255,255,255,.17),transparent 27%),
linear-gradient(135deg,#172554 0%,#4438a8 55%,#7c3aed 100%);box-shadow:var(--shadow);position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-90px;bottom:-130px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.07)}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:900;color:#f7c95e}
.page-hero h1{font-size:clamp(42px,6vw,76px);line-height:.96;letter-spacing:-.045em;margin:10px 0 14px;max-width:900px}
.page-hero p{max-width:830px;font-size:18px;color:#e7e9ff;margin:0}
.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn{border:0;border-radius:13px;padding:12px 17px;text-decoration:none;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.btn.primary{background:linear-gradient(135deg,#f8d46d,#f5b940);color:#17203a}
.btn.secondary{background:var(--paper);color:var(--violet);border:1px solid var(--line)}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}
.btn.small{padding:9px 12px;font-size:12px}
.section{padding:72px 28px}
.section.soft{background:var(--soft);border-radius:32px;margin:0 18px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.035em;margin:7px 0;color:var(--navy)}
body.dark .section-head h2{color:#eef2ff}
.section-intro{color:var(--muted);max-width:780px;margin:0}
.stat-grid,.feature-grid,.card-grid,.topic-grid,.media-grid,.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.stat-card,.feature-card,.content-card,.topic-card,.media-card,.leader-card,.dashboard-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 24px rgba(33,42,76,.05)}
.stat-card b{font-size:32px;color:var(--violet);display:block}
.stat-card span{color:var(--muted);font-size:12px;font-weight:800}
.feature-card{text-decoration:none;transition:.2s}
.feature-card:hover,.content-card:hover,.topic-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(33,42,76,.09);border-color:#bac3f7}
.feature-card .icon{font-size:28px}
.feature-card h3,.content-card h3,.topic-card h3,.media-card h3,.leader-card h3{margin:10px 0 7px;color:var(--navy)}
body.dark .feature-card h3,body.dark .content-card h3,body.dark .topic-card h3,body.dark .media-card h3,body.dark .leader-card h3{color:#f1f5ff}
.feature-card p,.content-card p,.topic-card p,.media-card p,.leader-card p{color:var(--muted);font-size:14px}
.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef0ff;color:#5046c7;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
body.dark .tag{background:#2d3153;color:#c7c4ff}
.reference{font-weight:850;color:#8c5c00;font-size:13px}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.toolbar input,.toolbar select,.form-control{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;padding:11px 13px;outline:0}
.toolbar input{min-width:min(100%,320px);flex:1}
.list-stack{display:grid;gap:13px}
.content-card header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.text-btn{border:0;background:transparent;color:var(--blue);font-weight:850;padding:0;cursor:pointer}
.detail-panel{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.detail-panel ul{padding-left:20px}
.empty{padding:36px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.dashboard-card h3{margin-top:0}
.progressbar{height:10px;background:var(--soft);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.progressbar span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--violet));border-radius:999px}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px}
.plan-days{display:grid;gap:8px;margin-top:14px}
.plan-day{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:11px;background:var(--paper)}
.plan-day.done{background:#eefbf6;border-color:#b9e4d2}
body.dark .plan-day.done{background:#17352d}
.plan-day .dayno{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:900}
.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.memory-card{border:1px solid var(--line);background:linear-gradient(145deg,var(--paper),var(--soft));border-radius:20px;padding:22px}
.memory-card h3{font-size:24px;margin:6px 0;color:var(--navy)}
body.dark .memory-card h3{color:#fff}
.quiz-wrap{max-width:820px;margin:auto}
.quiz-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.quiz-options{display:grid;gap:10px;margin-top:18px}
.quiz-options button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;padding:13px;text-align:left;cursor:pointer}
.quiz-options button:hover{border-color:#8f9df2}
.journal-layout,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
form.panel,.panel{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:24px}
form.panel{display:grid;gap:14px}
form.panel label{display:grid;gap:6px;font-size:13px;font-weight:800}
form.panel textarea{min-height:150px;resize:vertical}
.note-card,.goal-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper)}
.note-card + .note-card,.goal-card + .goal-card{margin-top:10px}
.search-results{display:grid;gap:11px}
.search-result{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper)}
.search-result a{text-decoration:none;color:var(--blue);font-weight:900}
.safety-note{background:#fff8e6;border:1px solid #f2d08b;border-radius:16px;padding:15px;color:#5e4813}
body.dark .safety-note{background:#3a301c;color:#f4e6bd;border-color:#65512a}
.footer{margin-top:34px;background:#10182f;color:#dfe5f5;padding:44px 28px}
.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-brand img{width:58px;height:58px;object-fit:cover;border-radius:15px}
.footer-brand div{display:grid}
.footer-brand small{color:#f7c95e;font-weight:900;letter-spacing:.12em}
.footer-links{display:flex;flex-wrap:wrap;gap:14px;align-content:start;justify-content:end}
.footer-links a{color:#dfe5f5;text-decoration:none;font-size:13px}
.footer-copy{grid-column:1/-1;border-top:1px solid #28324e;padding-top:18px;color:#9eabc8;font-size:12px}
.hidden{display:none!important}
@media(max-width:1080px){
  .stat-grid,.feature-grid,.card-grid,.topic-grid,.media-grid,.leader-grid{grid-template-columns:repeat(3,1fr)}
  .plan-grid,.memory-grid{grid-template-columns:repeat(2,1fr)}
  .brand{min-width:auto}
}
@media(max-width:900px){
  .header-top{flex-wrap:wrap}.brand{flex:1}.global-search{order:3;flex-basis:100%}
  .menu-btn{display:inline-flex}.nav-wrap{display:none}.nav-wrap.open{display:block}
  nav{flex-direction:column;align-items:stretch}.drop>a,nav>a{display:block}
  .drop-menu{display:grid!important;position:static;box-shadow:none;border:0;padding:4px 12px 8px;background:transparent}
  .dashboard-grid,.journal-layout,.contact-grid{grid-template-columns:1fr}
  .section-head{align-items:stretch;flex-direction:column}
}
@media(max-width:680px){
  .page-hero{margin:14px 10px;border-radius:22px;padding:44px 22px}
  .section{padding:54px 16px}.section.soft{margin:0 8px}
  .stat-grid,.feature-grid,.card-grid,.topic-grid,.media-grid,.leader-grid,.plan-grid,.memory-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}.footer-links{justify-content:start}.brand b{font-size:11px}
}

/* Teen home hero image upgrade */
.teen-hero-split{display:grid;grid-template-columns:1.02fr .98fr;padding:0;min-height:560px}.teen-hero-copy{padding:62px clamp(24px,5vw,68px);align-self:center;position:relative;z-index:2}.teen-hero-image-wrap{position:relative;min-height:560px;overflow:hidden}.teen-hero-image-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.teen-hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,37,84,.42),rgba(23,37,84,.05) 38%,rgba(23,37,84,.08))}.teen-hero-badge{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;background:rgba(255,255,255,.94);color:#17203a;border-radius:18px;padding:16px 18px;box-shadow:0 16px 36px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.teen-hero-badge b{display:block;color:#172554}.teen-hero-badge span{display:block;color:#69748b;font-size:13px;margin-top:3px}.teen-hero-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.teen-hero-points span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800;color:#fff}@media(max-width:900px){.teen-hero-split{grid-template-columns:1fr}.teen-hero-image-wrap{min-height:380px}.teen-hero-copy{padding:46px 24px}.teen-hero-image-wrap:after{background:linear-gradient(180deg,rgba(23,37,84,.06),rgba(23,37,84,.18))}}
