/* LearnCIE — "Pathway" theme
   Palette: deep navy ink, navy → teal brand gradient, sunny yellow, mint, sky and coral accents. */
@font-face{font-family:"Fredoka";src:url(/fonts/fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Nunito";src:url(/fonts/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{
  --ink:#12233f;--muted:#6a6790;--bg:#f1f7fb;--card:#fff;--line:#dfe9f2;--soft:#eaf4fa;
  --violet:#1d5fbf;--indigo:#1e5aa8;--pink:#ec4899;--coral:#f43f5e;--orange:#fb923c;--sun:#fbbf24;--mint:#10b981;--sky:#0ea5e9;--lime:#84cc16;
  --brand:#0c3b6e;--teal:#1d5fbf;
  --grad:linear-gradient(135deg,#0b4f8a 0%,#0e7490 55%,#14b8a6 100%);
  --grad-btn:linear-gradient(135deg,#1d5fbf,#0d9488);
  --grad-sun:linear-gradient(135deg,#fde68a,#fbbf24);
  --shadow:0 10px 30px -12px rgba(12,59,110,.25),0 2px 6px rgba(12,59,110,.06);
  --shadow-lg:0 22px 50px -18px rgba(29,95,191,.45);
  --r:24px;--display:"Fredoka","Nunito",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:17px/1.6 "Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;background:
  radial-gradient(900px 500px at 105% -5%,#bfe9e1 0,transparent 60%),
  radial-gradient(800px 500px at -10% 25%,#c7e6f2 0,transparent 60%),
  radial-gradient(700px 500px at 110% 85%,#bae6fd 0,transparent 60%),
  var(--bg);background-attachment:fixed;min-height:100vh}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em;line-height:1.2}
h2{font-size:clamp(22px,3.2vw,30px);margin:.2em 0 .45em;font-weight:600}
h3{font-size:20px;margin:.3em 0 .6em;font-weight:600}
h4{margin:1.2em 0 .4em;font-weight:600;color:var(--violet)}

/* header */
header{position:relative;overflow:hidden;background:var(--grad);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:0 10px 30px -15px #0b4f8a}
header::before,header::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
header::before{width:260px;height:260px;right:-60px;top:-140px;background:radial-gradient(circle,#fde68a88,transparent 70%)}
header::after{width:200px;height:200px;left:30%;bottom:-150px;background:radial-gradient(circle,#67e8f966,transparent 70%)}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.logo{font-size:30px;width:52px;height:52px;display:grid;place-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:16px;backdrop-filter:blur(6px);animation:sway 4s ease-in-out infinite}
h1{margin:0;font-size:26px;font-weight:700}
header p{margin:2px 0 0;font-size:14px;opacity:.92}
#who{display:flex;align-items:center;gap:8px;font-size:15px;position:relative;z-index:1}
#who>span{background:#ffffff22;border:1px solid #ffffff35;border-radius:999px;padding:6px 14px;font-weight:700}
main{max-width:1100px;margin:auto;padding:16px}
footer{text-align:center;color:var(--muted);font-size:13px;padding:28px 12px 44px}

/* cards */
.card{background:var(--card);border-radius:var(--r);padding:24px;margin:16px 0;box-shadow:var(--shadow);border:1px solid #ffffffaa;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
main>.card:nth-of-type(2),#report>.card:nth-of-type(2){animation-delay:.05s}main>.card:nth-of-type(3){animation-delay:.1s}main>.card:nth-of-type(4){animation-delay:.15s}
.subcard{background:var(--soft);border-radius:18px;padding:18px;border:1px solid var(--line)}
.narrow{max-width:520px;margin:34px auto}
.hero{text-align:center;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:var(--grad)}
.hero form{text-align:left}
.art{font-size:58px;text-align:center;animation:float 5s ease-in-out infinite}

/* controls */
button,input,select,textarea{font:inherit;color:inherit}
button{background:#efeafe;color:#0c3b6e;border:0;border-radius:14px;padding:10px 16px;margin:4px 4px 4px 0;cursor:pointer;min-height:44px;font-weight:700;transition:transform .15s,box-shadow .2s,background .2s}
button:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px #1d5fbf}
button:active{transform:translateY(0) scale(.98)}
button.primary{background:var(--grad-btn);color:#fff;box-shadow:0 10px 22px -12px #0d9488}
button.primary:hover{box-shadow:0 14px 28px -12px #0d9488}
button.big{font-size:19px;padding:14px 26px;border-radius:18px}
button.ghost{background:#ffffff26;color:#fff;border:1px solid #ffffff45}
button.danger{background:#ffe4e6;color:#be123c}
button.link{background:none;color:var(--violet);padding:4px 0;min-height:0;text-decoration:underline;text-underline-offset:3px;margin:0;box-shadow:none}
button.link:hover{transform:none;color:var(--pink)}
button:disabled{opacity:.5;cursor:wait;transform:none}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.choice:focus-within{outline:3px solid var(--sun);outline-offset:2px}
label{display:block;margin:12px 0;font-weight:700;font-size:15px}
label.inline{display:inline-flex;align-items:center;gap:8px;margin:0;flex-wrap:wrap;max-width:100%}
label.inline select{width:auto;max-width:100%;min-width:0;flex:1 1 200px}
input,select,textarea{display:block;width:100%;border:2px solid var(--line);border-radius:14px;padding:11px 13px;background:#fff;font-weight:500;font-size:16px;margin-top:5px;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover,textarea:hover{border-color:#d4c8f7}
input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 4px #e3f1f8;outline:none}
textarea{min-height:100px;resize:vertical}
label.check{font-weight:600;display:flex;gap:10px;align-items:flex-start}
label.check input{width:auto;margin-top:6px;accent-color:var(--violet)}
input[type=radio],input[type=checkbox]{accent-color:var(--violet)}
.sr{position:absolute;left:-9999px}
fieldset{border:0;padding:0;margin:0}
code{background:#f3e8ff;color:#6b21a8;border-radius:8px;padding:2px 8px;font-size:.95em;word-break:normal;white-space:nowrap}

/* navigation */
nav{display:flex;gap:6px;margin:10px 0 4px;padding:6px;background:#ffffffcc;border-radius:20px;box-shadow:var(--shadow);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(8px)}
nav::-webkit-scrollbar{display:none}
nav .tab{background:transparent;box-shadow:none;white-space:nowrap;margin:0;color:#4b4775;border-radius:14px}
nav .tab:hover{background:#eaf4fa;transform:none}
.tab.active,nav .tab.active,.guide-head .tab.active{background:var(--grad-btn);color:#fff;box-shadow:0 8px 18px -10px #0d9488}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.toolbar select{border-radius:999px}
.pill{background:#fff;border-radius:999px;padding:7px 16px;font-weight:800;box-shadow:var(--shadow);color:var(--brand)}
.helpline{margin:4px 2px 0;text-align:right}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}
.actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.muted{color:var(--muted)}.small,small{font-size:14px}
.notice{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-left:6px solid var(--sun);padding:12px 16px;border-radius:16px}
.win{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:16px;padding:14px 16px;font-weight:800;color:#065f46}
.empty{text-align:center;color:var(--muted);font-size:20px;padding:24px}
article{border:2px solid var(--line);padding:16px 18px;border-radius:20px;margin:12px 0;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}
article:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#ddd3fb}
article p{margin:.35em 0}
article.mini{padding:12px 14px}
article.journal{background:linear-gradient(135deg,#fff,#fdf4ff)}
.reply{background:linear-gradient(135deg,#ecfeff,#e0f2fe);border-radius:14px;padding:11px 14px;margin:8px 0;border-left:5px solid var(--sky)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.two>.card{margin:0}

/* home hero */
.hero-card{background:linear-gradient(135deg,#ffffff 0%,#faf5ff 50%,#fdf2f8 100%);position:relative;overflow:hidden}
.hero-card::after{content:"✨";position:absolute;right:22px;top:14px;font-size:26px;animation:twinkle 2.6s ease-in-out infinite}
.hero-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.hero-row>div{flex:1 1 300px}
.ring{filter:drop-shadow(0 8px 14px #a855f744)}
.ring-bg{stroke:#e3f1f8}.ring-fg{}
.ring-num{font:700 26px var(--display);fill:#0c3b6e}.ring-sub{font-size:13px;fill:var(--muted);font-weight:700}

/* journey */
.journey{width:100%;height:auto;margin:6px 0 14px}
.trail{stroke:#a9cdee}.trail-label{font:700 13px "Nunito",sans-serif;fill:var(--muted)}
.stone{fill:#fff;stroke:#c7e6f2;stroke-width:3}.stone.part{fill:#fef3c7;stroke:var(--sun)}.stone.done{fill:#d1fae5;stroke:var(--mint)}
.stone-icon{font-size:17px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px}
.section-card{--c:#3b82c4;--bgc:#f5f3ff;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:var(--bgc);color:var(--ink);border-radius:20px;padding:14px;margin:0;min-height:120px;border:2px solid transparent;position:relative;overflow:hidden}
.section-card::after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-26px;top:-26px;background:var(--c);opacity:.14;transition:transform .3s}
.section-card:hover{border-color:var(--c);box-shadow:0 14px 26px -16px var(--c)}
.section-card:hover::after{transform:scale(1.5)}
.section-card .icon{font-size:24px;width:44px;height:44px;display:grid;place-items:center;background:#fff;border-radius:14px;box-shadow:0 4px 10px -4px var(--c)}
.section-card b{font:600 15px/1.25 var(--display)}
.section-card .bar-fg{fill:var(--c)}
.section-card.complete{border-color:var(--mint)}
.section-card.complete .icon::after{content:"✓";position:absolute;margin:-30px 0 0 34px;background:var(--mint);color:#fff;font-size:12px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.grid .section-card:nth-child(8n+1){--c:#3b82c4;--bgc:#f5f3ff}.grid .section-card:nth-child(8n+2){--c:#ec4899;--bgc:#fdf2f8}.grid .section-card:nth-child(8n+3){--c:#f59e0b;--bgc:#fffbeb}.grid .section-card:nth-child(8n+4){--c:#10b981;--bgc:#ecfdf5}.grid .section-card:nth-child(8n+5){--c:#0ea5e9;--bgc:#f0f9ff}.grid .section-card:nth-child(8n+6){--c:#f43f5e;--bgc:#fff1f2}.grid .section-card:nth-child(8n+7){--c:#6366f1;--bgc:#eef2ff}.grid .section-card:nth-child(8n+8){--c:#14b8a6;--bgc:#f0fdfa}
.bar{display:block;margin:5px 0}.bar-bg{fill:#e3f1f8}.bar-fg{fill:var(--violet)}.bar-self{fill:var(--sky)}.bar-low{fill:var(--coral)}.bar-mid{fill:var(--orange)}.bar-high{fill:var(--mint)}

/* badges */
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px}
.badge{border:2px dashed #d8d0f3;border-radius:20px;padding:12px 10px;text-align:center;opacity:.65;display:flex;flex-direction:column;gap:2px;background:#fff}
.badge span{font-size:32px;filter:grayscale(1)}.badge b{font:600 14px var(--display)}.badge small{font-size:12px;color:var(--muted)}
.badge.on{opacity:1;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#fbbf24,#ec4899,#3b82c4) border-box;box-shadow:0 12px 24px -16px #ec4899;animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}
.badge.on span{filter:none;animation:bob 3s ease-in-out infinite}
.badge.on small{color:#b45309;font-weight:800}

/* check-in */
.question{display:flex;gap:16px;align-items:flex-start;margin:16px 0}
.big-icon{font-size:40px;line-height:1;width:68px;height:68px;flex:none;display:grid;place-items:center;border-radius:22px;background:var(--grad-sun);box-shadow:0 10px 20px -12px #f59e0b}
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}
.choice{display:flex;align-items:center;gap:10px;background:#fff;padding:13px;border-radius:18px;border:2px solid var(--line);font-weight:700;cursor:pointer;margin:0;min-height:62px;transition:transform .15s,border-color .2s,box-shadow .2s,background .2s}
.choice:hover{transform:translateY(-2px);border-color:#a9cdee;box-shadow:0 10px 20px -14px #1d5fbf}
.choice input{width:auto;margin:0}
.choice .emo{font-size:28px;transition:transform .3s}
.choice:has(input:checked),.mock .choice.picked{border-color:transparent;background:linear-gradient(#faf5ff,#fdf2f8) padding-box,var(--grad-btn) border-box;box-shadow:0 12px 24px -14px #0d9488}
.choice:has(input:checked) .emo{transform:scale(1.2) rotate(-6deg)}
.roles .choice{align-items:flex-start}

/* chips & flags */
.chip,.flag{display:inline-block;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:800;white-space:nowrap}
.c-open{background:#e3f1f8;color:#0b4a7f}.c-doing{background:#fef3c7;color:#92400e}.c-done{background:#d1fae5;color:#065f46}.c-help{background:#ffe4e6;color:#be123c}.c-closed{background:#f1f5f9;color:#475569}
.flag{white-space:normal}
.flag-grey{background:#f1f5f9;color:#475569}.flag-amber{background:#fef3c7;color:#92400e}.flag-blue{background:#e0f2fe;color:#075985}.flag-red{background:#ffe4e6;color:#be123c}.flag-green{background:#d1fae5;color:#065f46}
.s0{fill:#cbd5e1;background:#f1f5f9;color:#475569}.s1{fill:#f43f5e;background:#ffe4e6;color:#be123c}.s2{fill:#fb923c;background:#ffedd5;color:#9a3412}.s3{fill:#a3e635;background:#ecfccb;color:#3f6212}.s4{fill:#10b981;background:#d1fae5;color:#065f46}.s5{fill:#047857;background:#a7f3d0;color:#064e3b}
.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin:10px 0;font-weight:700}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:14px;height:14px;border-radius:5px}
.legend i.s0{background:#cbd5e1}.legend i.s1{background:#f43f5e}.legend i.s2{background:#fb923c}.legend i.s3{background:#a3e635}.legend i.s4{background:#10b981}.legend i.s5{background:#047857}

/* tables */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
th,td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font:600 12px var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--violet);background:#faf7ff}
tr:hover td{background:#fcfaff}
table.map td{min-width:150px}
table.answers td:first-child{width:45%}
td code{white-space:nowrap}
.hbar{display:grid;grid-template-columns:minmax(150px,240px) 1fr 60px;gap:10px;align-items:center;margin:8px 0;font-weight:700}

/* overview */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin:12px 0}
.tile{--c:#3b82c4;background:#fff;border:2px solid var(--line);border-radius:20px;padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;overflow:hidden;transition:transform .2s}
.tile:hover{transform:translateY(-3px)}
.tile::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}
.tile:nth-child(2){--c:#ec4899}.tile:nth-child(3){--c:#f59e0b}.tile:nth-child(4){--c:#10b981}.tile:nth-child(5){--c:#0ea5e9}.tile:nth-child(6){--c:#6366f1}
.tile .num{font:700 38px var(--display);color:var(--c)}
.tile.alert{background:linear-gradient(180deg,#fff7ed,#fff);border-color:#fed7aa}.tile.alert .num{color:#ea580c;animation:pulse 2s ease-in-out infinite}
.todo{list-style:none;padding:0}.todo li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:8px 0}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:800;color:var(--violet)}
.flow span{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border:1px solid var(--line);border-radius:14px;padding:9px 13px;color:var(--ink)}

/* accounts */
.step{margin:18px 0;padding-top:10px;border-top:2px dashed var(--line)}.step[hidden],[hidden]{display:none!important}
.share{border:2px solid transparent;background:linear-gradient(135deg,#f0fdf4,#ecfeff) padding-box,linear-gradient(135deg,#10b981,#0ea5e9) border-box;animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}
.creds{background:#fff;border-radius:16px;padding:12px 16px;font-size:18px;box-shadow:var(--shadow)}
.row input{flex:1}
.choice.off{opacity:.55;cursor:not-allowed}

/* guide */
.toc{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:12px 0}
.toc-item{text-align:left;margin:0;background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border:1px solid var(--line)}
.guide-sec h3{font-size:22px}.guide-sec h4{margin:1.2em 0 .3em}
.guide-sec ul,.guide-sec ol{padding-left:22px}.guide-sec li{margin:5px 0}
.example{background:linear-gradient(135deg,#f0f9ff,#faf5ff);border:1px solid #dbeafe;border-left:6px solid var(--sky);border-radius:16px;padding:13px 16px;margin:14px 0}
.example>b{display:block;margin-bottom:6px;color:#0369a1;font-family:var(--display);font-weight:600}
.tip{background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border-radius:14px;padding:11px 15px;border-left:5px solid var(--mint)}
.quote{font-style:italic;color:#4338ca}
.steps li{margin:7px 0}
.steps li::marker{color:var(--pink);font-weight:800}
.mock{pointer-events:none}.mock .choice{min-height:44px;padding:8px 10px}
.faq dt{font-weight:800;margin-top:14px;color:var(--brand)}.faq dd{margin:4px 0 0 0}

/* toast */
#message:not(:empty){position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(92%,560px);background:linear-gradient(135deg,#312e81,#0b4f8a);color:#fff;padding:15px 20px;border-radius:18px;box-shadow:0 18px 40px -12px #0c3b6eaa;z-index:5;font-weight:700;animation:toast .45s cubic-bezier(.3,1.5,.5,1) both}

/* motion */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pop{0%{opacity:0;transform:scale(.85)}100%{opacity:1;transform:scale(1)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-6deg)}}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes toast{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width:600px){
  .journey{display:none}main{padding:10px}.card{padding:18px;border-radius:20px}
  .hbar{grid-template-columns:1fr 50px}.hbar span{grid-column:1/-1}
  nav .tab{font-size:14px;padding:8px 12px}header{padding:12px 14px}h1{font-size:21px}header p{display:none}.logo{width:42px;height:42px;font-size:24px}
  .grid{grid-template-columns:repeat(2,1fr)}.choices{grid-template-columns:1fr}
}
@media print{header,nav,.toolbar,button,#message,footer,.actions,.helpline,.toc,#guide-search{display:none!important}.card{box-shadow:none;break-inside:avoid;padding:8px 0;border:0;animation:none}body{background:#fff;font-size:12pt}main{max-width:none}}
@media (min-width:700px){nav{flex-wrap:wrap;overflow:visible}}
#login button{width:100%;margin-top:10px}
@media (max-width:699px){nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:30px}}

/* ===== Trackers, Toolkit, Family ===== */
.bar-good{fill:var(--mint)}.bar-ok{fill:var(--lime)}
.boundaries{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.bd{display:flex;flex-direction:column;align-items:center;min-width:52px;padding:6px 8px;border-radius:14px;color:#fff;box-shadow:var(--shadow)}
.bd b{font-family:var(--display);font-size:22px;line-height:1}.bd small{font-size:12px;opacity:.95;font-weight:700}
.g0{background:#e2e8f0;color:#475569}.g1{background:#f43f5e}.g2{background:#fb7185}.g3{background:#fb923c}.g4{background:#f59e0b}.g5{background:#84cc16}.g6{background:#10b981}.g7{background:linear-gradient(135deg,#1d5fbf,#0d9488)}
.g4,.g5{color:#12233f}.bd.g4,.bd.g5{color:#12233f}
.grade{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;font-family:var(--display);font-size:24px;font-weight:600;color:#fff;box-shadow:var(--shadow);flex:none}
.grade.g0{color:#64748b}.grade.g4,.grade.g5{color:#12233f}
.grade.sm{width:32px;height:32px;font-size:17px}.grade sup{font-size:11px;margin-left:1px}
.cert{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:800;color:var(--brand)}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:12px 0}
.cert-part{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:9px 12px;font-weight:700;font-size:15px}
.cert-part.ok{background:#ecfdf5;border-color:#a7f3d0}.cert-part.low{background:#fff1f2;border-color:#fecdd3}
.good{background:#ecfdf5;border:1px solid #a7f3d0;border-left:6px solid var(--mint);padding:12px 16px;border-radius:16px}
.subj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.subj-card{background:linear-gradient(160deg,#fff,#faf5ff);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);transition:transform .2s}
.subj-card:hover{transform:translateY(-2px)}.subj-card.sel{border:2px solid var(--violet)}
.subj-card>.row b{font-family:var(--display);font-weight:600;font-size:17px}
.crit{display:grid;grid-template-columns:minmax(0,1fr) 90px 22px;align-items:center;gap:8px;font-size:13px}
.crit span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crit .lv{text-align:right;font-size:15px}
.small-btn{padding:7px 12px!important;font-size:14px!important}
.coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.crit-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow)}
.crit-card.focus{border:2px solid var(--pink);background:linear-gradient(160deg,#fff,#fdf2f8)}
.crit-card ul,.crit-card ol{padding-left:20px;margin:8px 0}.crit-card li{margin:4px 0}
.crit-k{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:var(--grad-btn);color:#fff;font-family:var(--display);flex:none}
.crit-card .row{justify-content:flex-start;flex-wrap:wrap}.crit-card .row .pill{margin-left:auto;font-size:13px;padding:4px 12px}
.top8{background:linear-gradient(135deg,#fefce8,#fef3c7);border-radius:12px;padding:8px 12px}
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0}
label.lvl{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px;margin:0}
label.lvl span{display:block;margin-bottom:4px}
label.grow{flex:1 1 260px}label.grow input{flex:1;min-width:0}
form.row{align-items:flex-end;gap:12px}
.stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
button.stage{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;background:#fff;border:2px dashed #c7e6f2;border-radius:18px;padding:12px;color:var(--ink);transition:transform .15s}
button.stage[data-a=noop]{cursor:default}
button.stage:hover{transform:translateY(-2px)}
button.stage .num{grid-row:span 2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#e3f1f8;color:var(--violet);font-weight:900}
button.stage .ic{display:none}
button.stage b{font-size:15px}button.stage small{grid-column:2;color:var(--muted);font-size:12.5px;line-height:1.35}
button.stage.done{border:2px solid var(--mint);background:linear-gradient(135deg,#ecfdf5,#f0fdfa)}
button.stage.done .num{background:var(--mint);color:#fff}
button.stage:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
ul.checks{list-style:none;padding:0;columns:2 280px;margin:0}ul.checks li{padding:5px 0;break-inside:avoid}ul.checks li.ok{color:#065f46;font-weight:700}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px}
.pre{white-space:pre-wrap}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.big-chip{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:800}
.lvl-0,.lvl-1{background:#e0f2fe;color:#075985}.lvl-2{background:#e3f1f8;color:#0b4a7f}.lvl-3{background:#fef3c7;color:#92400e}.lvl-4{background:#fce7f3;color:#9d174d}.lvl-5{background:#d1fae5;color:#065f46}
.quiz{margin:12px 0}.good-btn{background:var(--mint)!important;color:#fff!important}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
a.res{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
a.res:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}a.res b{color:var(--violet)}a.res span{font-size:14.5px;color:var(--muted)}a.res .chip{align-self:flex-start}
a.res:focus-visible{outline:3px solid var(--sun)}
.timer-card{text-align:center}
.clock{font-family:var(--display);font-size:clamp(64px,14vw,120px);font-weight:600;line-height:1;margin:14px auto;padding:22px 30px;border-radius:32px;display:inline-block;color:#fff;background:var(--grad);box-shadow:var(--shadow-lg)}
.clock.break{background:linear-gradient(135deg,#10b981,#0ea5e9)}
.timer-card .actions{justify-content:center}
.help-lines{border-left:6px solid var(--coral)}
a.button{display:inline-block;text-decoration:none;border-radius:14px;padding:11px 18px;font-weight:800}
a.button.primary{background:var(--grad-btn);color:#fff;box-shadow:var(--shadow-lg)}
.danger-zone{margin-top:24px;border:2px solid #fecdd3;background:#fff1f2;border-radius:20px;padding:16px}
ul.privacy li{margin:6px 0}
details.subcard summary{cursor:pointer}
.center{text-align:center}
.mini-grades{display:flex;flex-wrap:wrap;gap:10px}.mini-grades span{display:flex;align-items:center;gap:4px;font-size:20px}
@media (max-width:520px){.crit{grid-template-columns:minmax(0,1fr) 70px 20px}.clock{padding:16px 20px}}
@media print{.cert-grid,.subj-grid{break-inside:avoid}}

/* ===== Starting point ===== */
.prog-badge{display:inline-block;border-radius:999px;padding:5px 14px;font-weight:900;color:#fff;font-size:14px;box-shadow:var(--shadow)}
.prog-PRI{background:linear-gradient(135deg,#059669,#65a30d)}.prog-LSEC{background:linear-gradient(135deg,#0f766e,#0369a1)}.prog-IGCSE{background:linear-gradient(135deg,#1d5fbf,#0f766e)}.prog-AL{background:linear-gradient(135deg,#0b4f8a,#4f46e5)}
.stepnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
button.stepbtn{background:#fff;color:var(--ink);border:2px solid var(--line);border-radius:16px;padding:9px 14px;font-weight:800;display:inline-flex;align-items:center;gap:8px;box-shadow:none}
button.stepbtn .num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#e3f1f8;color:var(--violet);font-size:13px}
button.stepbtn.done .num{background:var(--mint);color:#fff}
button.stepbtn.active{background:var(--grad-btn);color:#fff;border-color:transparent}button.stepbtn.active .num{background:#fff;color:var(--violet)}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
fieldset{border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:14px 0}legend{padding:0 6px}
.rowset{display:grid;grid-template-columns:1fr 1.6fr .6fr .6fr 1fr auto;gap:8px;align-items:end;background:var(--soft);border-radius:14px;padding:10px;margin:8px 0}
.lang-row{grid-template-columns:1.4fr 1fr repeat(4,.8fr) auto}
.rowset label{margin:0;font-size:13px}.rowset .ghost{align-self:end}
label.tiny{font-size:12px}
.timeline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}
.tl{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border:1px solid var(--line);border-radius:16px;padding:9px 13px;display:flex;flex-direction:column}
.tl small{color:var(--muted);font-size:12.5px}.tl.now{background:var(--grad-btn);color:#fff;border:0}.tl.now small{color:#fff}
.tl-arrow{color:var(--violet);font-weight:900}
.lang-1{background:#ffe4e6;color:#9f1239}.lang-2{background:#fef3c7;color:#92400e}.lang-3{background:#e0f2fe;color:#075985}.lang-4{background:#d1fae5;color:#065f46}
.bridge-card .bcol{margin:8px 0}.bridge-card .bcol ul{margin:4px 0;padding-left:20px;font-size:14px}
ul.sugg{color:var(--muted);font-style:normal}
.wide-card{grid-column:1/-1}
.ready-list{display:grid;gap:10px}
fieldset.ready-row{margin:0;padding:10px 14px;background:var(--soft)}fieldset.ready-row legend{font-weight:800}
.pills{display:flex;flex-wrap:wrap;gap:6px}
label.pill-opt{margin:0;cursor:pointer}label.pill-opt input{position:absolute;opacity:0;width:1px;height:1px}
label.pill-opt span{display:inline-block;border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-weight:700;font-size:14px}
label.pill-opt input:checked+span{background:var(--grad-btn);color:#fff;border-color:transparent}
label.pill-opt input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}
ul.prio{list-style:none;padding:0;display:grid;gap:8px}
ul.prio li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 14px}
ul.prio li input{width:20px;height:20px;margin-top:3px;flex:none}ul.prio li small{display:block;color:var(--muted)}ul.prio li.added{background:#ecfdf5;border-color:#a7f3d0}
.tile.ok{background:#ecfdf5}.tile.late{background:#fff1f2}
ul.checks li.bad{color:#9f1239;font-weight:700}
.dp-grid{display:grid;gap:8px}.dp-row{display:grid;grid-template-columns:90px 1fr 110px;gap:10px;align-items:center;background:var(--soft);border-radius:14px;padding:8px 12px}
.start-teaser{border-left:6px solid var(--violet)}
@media (max-width:720px){.rowset,.lang-row{grid-template-columns:1fr 1fr}.rowset .wide{grid-column:1/-1}.dp-row{grid-template-columns:1fr 90px}.dp-row b{grid-column:1/-1}}

/* ===== Exams, projects, safety ===== */
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.subcard.result{background:#fff}.subcard.result.ok{border:2px solid var(--mint)}.subcard.result.bad{border:2px solid var(--coral)}
.result .total{display:flex;align-items:baseline;gap:4px}.result .total .num{font:700 44px/1 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.checks li.bad{color:#9f1239}
.matrix td,.matrix th{text-align:center}.matrix td.bad{background:#ffe4e6;color:#9f1239;font-weight:800}.matrix td.here{outline:3px solid var(--violet);outline-offset:-3px;font-weight:900}
td.late{color:#9f1239;font-weight:800}
.bar-red{fill:var(--coral)}
.lo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}
.lo{border:2px dashed var(--line);border-radius:16px;padding:10px 12px;background:#fff}.lo b{display:block;color:var(--muted)}.lo small{color:var(--muted);line-height:1.35;display:block}
.lo.on{border:2px solid var(--mint);background:#ecfdf5}.lo.on b{color:#065f46}
.grid.themes,.grid.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.subcard.theme{display:flex;flex-direction:column;gap:6px}.subcard.theme small{color:var(--muted);line-height:1.35}.subcard.theme.on{background:#ecfdf5;border-color:#a7f3d0}.subcard.theme .chip{align-self:flex-start}
.subcard .big{font-size:30px;line-height:1}
.subcard.warn{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border-color:#fecdd3;margin-bottom:16px}.subcard.okbox{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#a7f3d0;margin-bottom:16px}
.dp-subj{align-items:end}
fieldset.choices{border:1px solid var(--line);border-radius:16px;padding:12px;margin:12px 0}fieldset.choices legend{font-weight:800;padding:0 6px}
body.is-offline::before{content:"📡 You are offline — saving is paused until you reconnect";position:fixed;top:0;left:0;right:0;z-index:99;background:#9f1239;color:#fff;text-align:center;padding:6px;font-weight:800}
button:disabled{cursor:progress}
code.wrap{word-break:break-all;white-space:normal}

/* ===== Public homepage and "What is this?" ===== */
.eyebrow{display:inline-block;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--violet);background:#e3f1f8;border-radius:999px;padding:7px 12px;margin:0 0 10px}
.landing{display:flex;flex-direction:column;gap:12px}
.lp-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:28px;align-items:center;padding:26px 4px 8px}
.lp-title{font-size:clamp(30px,4.6vw,50px);line-height:1.08;font-weight:700;margin:.1em 0 .35em;background:linear-gradient(120deg,#3b0764,#1d5fbf 45%,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:#3f3a6b;max-width:62ch}
.lp-pills{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:8px}
.lp-pills li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:700;font-size:15px;box-shadow:var(--shadow)}
.lp-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.lp-cta.center{justify-content:center}
a.button.ghost,.lp-cta button.ghost{display:inline-block;text-decoration:none;border-radius:14px;padding:11px 18px;font-weight:800;background:#fff;color:var(--violet);border:2px solid #c7e6f2}
.lp-signin{position:relative;overflow:hidden;text-align:center}.lp-signin::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:var(--grad)}.lp-signin form{text-align:left}.lp-signin .art{font-size:46px}
.lp-section{padding:34px 4px 6px}.lp-section>h2{max-width:30ch;margin-bottom:18px}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lp-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.lp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.lp-card h3{margin:.5em 0 .3em}.lp-card p{margin:0;color:#4a4675;font-size:16px}
.lp-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:26px;background:linear-gradient(135deg,#e3f1f8,#fce7f3)}.lp-ic.big{width:64px;height:64px;font-size:34px}
.lp-grid.small-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.small-cards .lp-card{padding:16px}.small-cards .lp-ic{width:44px;height:44px;font-size:22px}
.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;counter-reset:none}
.lp-steps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 18px 18px;box-shadow:var(--shadow)}
.lp-steps li p{margin:0;color:#4a4675;font-size:16px}.lp-steps h3,.lp-steps h4{margin:.5em 0 .3em}
.lp-num{position:absolute;top:-12px;right:16px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 16px var(--display);color:#fff;background:var(--grad-btn);box-shadow:var(--shadow-lg)}
.lp-steps.compact{grid-template-columns:1fr;gap:14px}.lp-steps.compact li{padding:14px 16px 12px;box-shadow:none}
.lp-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lp-role{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.lp-role h3{margin:.5em 0 0}.lp-role p.muted{margin:.2em 0 .6em}.lp-role ul{padding-left:20px;margin:0 0 12px}.lp-role li{margin:4px 0}
.lp-note{margin-top:auto;background:#fef9c3;border-radius:14px;padding:10px 12px;font-weight:700;font-size:15px}
.lp-progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.lp-prog{border-radius:24px;padding:22px;color:var(--ink);box-shadow:var(--shadow)}.lp-prog h3{font-size:28px;margin:.3em 0 0}.lp-prog p{margin:.3em 0}
.p-pri{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.p-lsec{background:linear-gradient(135deg,#ccfbf1,#99f6e4)}.p-igcse{background:linear-gradient(135deg,#e3f1f8,#c7e6f2)}.p-al{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}
.lp-prog .lp-ic{background:#fff}
.lp-split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}
.lp-promises{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lp-promises>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px}.lp-promises span{font-size:24px;display:block}.lp-promises p{margin:.2em 0 0;color:#4a4675;font-size:15px}
.lp-not{background:#fff7ed;border:2px solid #fed7aa;border-radius:24px;padding:20px 22px}.lp-not ul{padding-left:20px;margin:0}.lp-not li{margin:6px 0}
.faq{display:grid;gap:10px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px}
.faq summary{cursor:pointer;font-weight:800;list-style-position:outside}.faq details[open]{box-shadow:var(--shadow)}.faq p{margin:.5em 0 .2em;color:#4a4675}
.lp-final{text-align:center;margin-top:24px}.lp-final h2{margin:0 auto .3em;max-width:none}
.journey-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:14px}
.jl{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:700;font-size:15px}.jl b{font-size:18px}.jl-arrow{color:var(--violet);font-weight:900}
.welcome{background:linear-gradient(135deg,#fef9c3,#fde68a);border:0}.welcome h3{margin-top:0}.welcome .row>div:first-child{flex:1 1 320px}
@media (max-width:820px){.lp-hero,.lp-split{grid-template-columns:1fr}.lp-hero{padding-top:8px}.lp-section{padding-top:22px}}
@media (prefers-reduced-motion:reduce){.lp-card{transition:none}.lp-card:hover{transform:none}}

/* ===== 1-on-1 tutoring ===== */
.loop{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:12px 0 4px}
.sc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.sc-tile{background:#fff;border:2px solid var(--line);border-radius:20px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.sc-tile .sc-ic{font-size:22px}.sc-tile .sc-val{font:700 30px/1.1 var(--display);color:var(--ink)}.sc-tile b{font-size:15px}.sc-tile small{color:var(--muted);line-height:1.35}
.sc-tile.good{border-color:#6ee7b7;background:#ecfdf5}.sc-tile.ok{border-color:#fcd34d;background:#fffbeb}.sc-tile.low{border-color:#fda4af;background:#fff1f2}
.score{display:inline-block;border-radius:999px;padding:2px 10px;font-weight:800;font-size:14px}.score.pass{background:#d1fae5;color:#065f46}.score.near{background:#fef3c7;color:#92400e}.score.miss{background:#ffe4e6;color:#9f1239}
.pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:6px 0 10px}
.pipe{background:linear-gradient(135deg,#f5f3ff,#fdf2f8);border-radius:16px;padding:10px;text-align:center;display:flex;flex-direction:column}.pipe-n{font:700 26px/1 var(--display);color:var(--violet)}.pipe small{color:var(--muted);font-weight:700}
.obj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.obj{border:2px solid var(--line);border-radius:18px;padding:14px;background:#fff}.obj.mastered{border-color:#6ee7b7;background:#f0fdf4}.obj.corr{border-color:#fdba74;background:#fff7ed}
.checks-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:10px;background:#f5f3ff;border-radius:14px;padding:10px}.inline-form label{margin:0;flex:1 1 120px}
button.small{padding:7px 12px;font-size:14px}
.blueprint label{display:block}
.pnote{background:#fef9c3;border-radius:12px;padding:8px 12px}
.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.ev{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.ev-n{display:block;font:700 30px/1.1 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bloom-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end}
.bl{border-radius:14px;padding:10px;color:#fff;display:flex;flex-direction:column}.bl small{opacity:.92;line-height:1.3}
.bl.b0{background:#7fb3e0;min-height:70px}.bl.b1{background:#3b82c4;min-height:84px}.bl.b2{background:#1d5fbf;min-height:98px}.bl.b3{background:#0e7490;min-height:112px}.bl.b4{background:#c026d3;min-height:126px}.bl.b5{background:#0d9488;min-height:140px}
@media (max-width:700px){.pipeline{grid-template-columns:repeat(3,1fr)}.bloom-steps{grid-template-columns:repeat(2,1fr)}.bl{min-height:0!important}}
.lp-sigma{background:linear-gradient(135deg,#faf5ff,#fdf2f8);border-radius:32px;padding:30px 26px;margin-top:20px}
.lp-ticks{padding-left:0;list-style:none}.lp-ticks li{padding-left:30px;position:relative;margin:10px 0}.lp-ticks li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--mint);color:#fff;font-weight:900;display:grid;place-items:center;font-size:13px}
.lp-evidence{background:#fff;border-radius:24px;padding:20px 22px;box-shadow:var(--shadow)}.lp-evidence h3{margin-top:0}
.ev-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;border-bottom:1px dashed var(--line);padding:8px 0}.ev-row p{margin:0;font-size:15px}
.ev-row .ev-n{font:700 28px/1 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:820px){.lp-sigma{padding:22px 16px}}

/* ===== Tutor Academy ===== */
.ac-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-weight:800;font-size:13px;background:#f1f5f9;color:#334155;white-space:nowrap}
.ac-badge.ac-onboarded{background:#dcfce7;color:#166534}.ac-badge.ac-foundation{background:#fde7d3;color:#9a3412}.ac-badge.ac-practitioner{background:#e0e7ff;color:#3730a3}.ac-badge.ac-mentor{background:linear-gradient(135deg,#fde68a,#fbbf24);color:#713f12}
.ac-status{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:14px 0}.ac-status>div:last-child{flex:1 1 260px}.ac-status p{margin:4px 0}.ac-level .ac-badge{font-size:16px;padding:6px 14px}
.ac-ring{--p:0;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--violet) calc(var(--p)*1%),#e3f1f8 0);display:grid;place-items:center;flex:none}
.ac-ring span{width:84px;height:84px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.ac-ring b{font:700 24px/1 var(--display)}.ac-ring small{color:var(--muted)}
.ac-path{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.ac-step{display:inline-flex;gap:6px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:999px;padding:5px 12px;font-weight:700;font-size:14px}.ac-step b{font-size:15px}.ac-step.ok{border-color:#6ee7b7;background:#ecfdf5;color:#065f46}
.ac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.ac-mod{border:2px solid var(--line);border-radius:20px;padding:14px;background:#fff;display:flex;flex-direction:column}.ac-mod h4{margin:8px 0 4px}.ac-mod p{margin:4px 0}.ac-mod button{margin-top:auto;align-self:flex-start}
.ac-mod.done{border-color:#6ee7b7;background:#f0fdf4}.ac-mod.corr{border-color:#fdba74;background:#fff7ed}.ac-mod.wip{border-color:#a9cdee}
.ac-mod-top{display:flex;justify-content:space-between;align-items:center}.ac-ic{font-size:28px}
.ac-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ac-two h3{margin-top:0}
.ac-goal{font-weight:700;font-size:18px}
.ac-example{background:#f5f3ff;border-radius:16px;padding:12px 16px;margin:12px 0}.ac-example p{margin:6px 0 0}
.ac-do,.ac-dont{border-radius:16px;padding:12px 16px}.ac-do{background:#ecfdf5}.ac-dont{background:#fff1f2}.ac-do ul,.ac-dont ul{margin:6px 0 0;padding-left:20px}
.ac-corr{border:2px solid #fdba74;background:linear-gradient(135deg,#fff7ed,#fffbeb)}
.ac-q{border:2px solid var(--line);border-radius:16px;padding:12px 14px;margin:12px 0}.ac-q legend{padding:0 6px;font-weight:600}
.ac-choice{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;margin:4px 0;cursor:pointer}.ac-choice:hover{background:#f5f3ff}.ac-choice input{margin-top:5px}
.ac-score{font-size:20px}.ac-score .score{font-size:22px;padding:4px 14px}
.ac-pass{border:2px solid #6ee7b7;background:linear-gradient(135deg,#ecfdf5,#f0f9ff)}.ac-fail{border:2px solid #fdba74;background:linear-gradient(135deg,#fff7ed,#fdf2f8)}
.ac-fb{border-left:4px solid #6ee7b7;padding:6px 12px;margin:10px 0}.ac-fb.no{border-color:#fb7185;background:#fff1f2;border-radius:0 12px 12px 0}.ac-fb p{margin:4px 0}
.ac-promise{display:flex;gap:10px;align-items:flex-start;background:#f8fafc;border-radius:12px;padding:10px 12px;margin:8px 0}.ac-promise input{margin-top:5px}
.ac-rate{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;border:0;border-bottom:1px dashed var(--line);padding:8px 0;margin:0}.ac-rate legend{float:left;width:min(320px,100%);font-weight:600;padding:0}.ac-rate label{display:inline-flex;gap:4px;margin:0}
.ac-rub{display:flex;flex-wrap:wrap;gap:8px}.ac-rub span{background:#f8fafc;border-radius:999px;padding:4px 6px 4px 12px;font-size:14px}
.ac-plan{border-left:4px solid var(--violet);padding:4px 12px;margin:10px 0}.ac-plan p{margin:4px 0;white-space:pre-wrap}
.ac-nudge{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:2px solid #a9cdee;background:linear-gradient(135deg,#f5f3ff,#fdf2f8)}.ac-nudge p{margin:4px 0 0}.ac-nudge>div{flex:1 1 300px}
.ac-cert{padding:14px}.ac-cert-in{border:6px double #a9cdee;border-radius:22px;padding:34px 24px;text-align:center;background:radial-gradient(circle at top,#faf5ff,#fff)}
.ac-cert-in h2{font-size:clamp(28px,5vw,42px);margin:6px 0 14px}.ac-cert-name{font:700 clamp(26px,5vw,38px)/1.2 var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:6px 0}
.ac-cert-level{font-size:22px;font-weight:800}.ac-cert-meta{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:18px 0}
@media (max-width:700px){.ac-two{grid-template-columns:1fr}.ac-ring{width:92px;height:92px}.ac-ring span{width:70px;height:70px}}
@media print{.noprint,nav,.toolbar,.helpline,header{display:none!important}.ac-cert{box-shadow:none}}
button.ac-sec{background:#fff;color:var(--violet);border:2px solid #c7e6f2;box-shadow:none}button.ac-sec:hover{background:#f5f3ff}
.ac-rate input[type=radio],.ac-rate input[type=checkbox]{width:auto;display:inline-block;margin:0}.ac-dec{border-bottom:0}
.ac-promise input,.ac-choice input{width:auto!important;flex:none;display:inline-block}

/* ===== LearnCIE: Checkpoint bands, segmented control ===== */
small.hint{display:block;font-weight:400;color:var(--muted);font-size:13px;line-height:1.4;margin-top:4px}
.start-card{border-left:4px solid #0e7490}
.band-row{display:flex;flex-wrap:wrap;gap:8px;margin:.6em 0}
.band-chip{border-radius:999px;padding:4px 12px;font-size:14px;background:#eef6fb;border:1px solid var(--line)}
.band-chip b{margin-right:4px}
.band-basic{background:#fee2e2}.band-aspiring{background:#ffedd5}.band-good{background:#fef9c3}.band-high{background:#dcfce7}.band-outstanding{background:#cffafe}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{border:0;border-radius:0;background:#fff;color:var(--ink);box-shadow:none;padding:6px 14px;font-size:14px}
.seg button.on{background:var(--grad-btn);color:#fff}
ul.checks li.info{color:var(--muted)}
tr.muted td{opacity:.6}
.dp-row.ch-row{grid-template-columns:1fr 170px}
@media (max-width:720px){.dp-row.ch-row{grid-template-columns:1fr 120px}}
.dp-row.ch-row select{min-width:0;width:100%}
/* Mastery path */
.mp-top{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.mp-head{flex:1 1 280px}.mp-head h2{margin:0 0 4px}.mp-head p{margin:4px 0}
.mp-ring{--p:0;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--mint) calc(var(--p)*1%),#e3f1f8 0);display:grid;place-items:center;flex:none}
.mp-ring span{width:84px;height:84px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mp-ring b{font:700 26px/1 var(--display)}.mp-ring small{color:var(--muted);font-size:12px}
.mp-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.mp-stats span{background:var(--soft);border-radius:999px;padding:4px 12px;font-size:14px}.mp-stats .mp-due{background:#fef3c7;color:#92400e}
.mp-next{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#eff6ff);border:1px solid #bfdbfe}
.mp-next div{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}.mp-next small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.mp-next b{font-size:18px}.mp-next span{color:var(--muted);font-size:14px}
.mp-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.mp-row h2,.mp-row h3{margin:6px 0}
.mp-toggle{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14px;margin:0}.mp-toggle input{width:auto;margin:0}
.mp-subjects{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 4px}.mp-subjects button{border:1px solid var(--line,#cbd5e1);background:#fff;color:inherit;border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;cursor:pointer}.mp-subjects button small{font-weight:600;opacity:.7;margin-left:4px}.mp-subjects button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.mp-strand{margin:18px 0 8px;color:var(--brand)}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.mp-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:18px;padding:12px 14px;color:var(--ink);box-shadow:none;margin:0;min-height:0;font-weight:400;white-space:normal;width:100%}
.mp-tile:hover{border-color:#93c5fd;transform:translateY(-1px)}.mp-tile b{font-size:15px;line-height:1.3;font-weight:700}.mp-tile small{color:var(--muted);font-size:13px;line-height:1.35}.mp-ic{font-size:22px}
.mp-tile.st-locked{background:#f8fafc;opacity:.8}.mp-tile.st-mastered{border-color:#a7f3d0;background:#f0fdf4}.mp-tile.st-secure{border-color:#fcd34d;background:#fffbeb}.mp-tile.st-review{border-color:#fbbf24;background:#fef3c7}.mp-tile.st-corr,.mp-tile.st-slipped{border-color:#fdba74;background:#fff7ed}.mp-tile.st-learning{border-color:#a9cdee}
.mp-chip{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800;white-space:nowrap;background:#e2e8f0;color:#334155}
.mp-chip.st-ready{background:#dbeafe;color:#1e40af}.mp-chip.st-learning{background:#e0f2fe;color:#075985}.mp-chip.st-corr,.mp-chip.st-slipped{background:#ffedd5;color:#9a3412}.mp-chip.st-mastered{background:#d1fae5;color:#065f46}.mp-chip.st-review{background:#fde68a;color:#78350f}.mp-chip.st-secure{background:linear-gradient(135deg,#fde68a,#fbbf24);color:#713f12}
.mp-flag{color:#9a3412!important;font-weight:700}
.mp-diag{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:10px 14px;margin:8px 0;background:var(--soft)}.mp-diag span{font-size:20px}.mp-diag p{margin:0}.mp-diag.mp-warn{background:#fff7ed;border:1px solid #fed7aa}.mp-diag.mp-good{background:#ecfdf5;border:1px solid #a7f3d0}
.mp-inline{display:flex;gap:8px;align-items:center;margin:0}.mp-inline label{display:flex;gap:6px;align-items:center;margin:0;font-weight:600;font-size:14px}.mp-inline input{width:76px;margin:0}.mp-inline button{margin:0}
.mp-how ol{padding-left:22px}.mp-how li{margin:8px 0}.mp-how summary{cursor:pointer}
.mp-learn{display:grid;gap:12px;margin:14px 0}.mp-learn h3,.mp-learn h4{margin:0 0 4px}.mp-learn p{margin:0}.mp-ex{background:#f5f3ff;border-radius:16px;padding:12px 16px}.mp-mis{background:#fff1f2;border-radius:16px;padding:12px 16px}
.mp-corr{border:2px solid #fdba74;background:linear-gradient(135deg,#fff7ed,#fffbeb);border-radius:18px;padding:14px 16px;margin:14px 0}.mp-corr h3{margin:0 0 6px}
.mp-acts button{font-size:16px}
.mp-mark label{display:block}.mp-mark .actions button{margin:4px 4px 0 0}
.mp-hist{display:grid;gap:4px}.mp-hist>div{display:grid;grid-template-columns:minmax(110px,auto) 1fr auto auto;gap:4px 12px;padding:8px 10px;border-radius:10px;background:var(--soft);font-size:14px;align-items:center}.mp-hist b{text-align:right}
.mp-dots{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}.mp-dots span{width:14px;height:14px;border-radius:50%;background:#e2e8f0;border:2px solid transparent}.mp-dots .on{border-color:var(--violet)}.mp-dots .done{background:#93c5fd}.mp-dots .ok{background:var(--mint)}.mp-dots .no{background:var(--orange)}
.mp-qtext{font-size:20px;font-weight:700;line-height:1.4}.mp-qtext span{color:var(--muted)}
.mp-ans input{font-size:20px;padding:12px 14px}
.mp-fb{border-left:4px solid #6ee7b7;padding:6px 12px;margin:10px 0}.mp-fb.no{border-color:#fb923c;background:#fff7ed;border-radius:0 12px 12px 0}.mp-fb p{margin:4px 0}
.mp-xp{font-size:18px}.mp-xp small{font-size:14px;color:var(--muted)}
.mp-own{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.mp-own div{display:flex;flex-direction:column}.mp-own small{color:var(--muted)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}
@media (max-width:600px){.mp-hist>div{grid-template-columns:1fr auto}.mp-hist>div span:first-child{grid-column:1/-1;color:var(--muted);font-size:12px}.mp-ring{width:92px;height:92px}.mp-ring span{width:70px;height:70px}.mp-qtext{font-size:18px}}
/* read-aloud */
.mp-say{border:1px solid var(--line);background:var(--card,#fff);border-radius:999px;min-width:40px;min-height:40px;padding:2px 8px;font-size:16px;line-height:1;vertical-align:middle;margin-left:6px;cursor:pointer;box-shadow:none}
.mp-say:hover,.mp-say:focus-visible{border-color:#0e7490;outline:2px solid #0e7490;outline-offset:1px}
.mp-readbar{display:flex;justify-content:flex-end;margin:-6px 0 10px}
.mp-read{margin:6px 0 10px}
/* learning pilot */
.pl-card{border-left:4px solid #7c3aed}
.pl-kid{border-left:4px solid #7c3aed;padding-top:12px;padding-bottom:12px}
.pl-base{border-left:4px solid #7c3aed;margin:12px 0}
.pl-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0}
.pl-tile{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pl-tile b{font-size:20px;line-height:1.2;overflow-wrap:anywhere}
.pl-tile span{font-weight:700;font-size:13px}
.pl-tile small{color:var(--muted);font-size:12px;line-height:1.35}
.pl-scroll{overflow-x:auto;margin:8px 0}
.pl-table{border-collapse:collapse;width:100%;font-size:14px;min-width:620px}
.pl-table th,.pl-table td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.pl-table td small{display:block;color:var(--muted);font-size:12px}
.pl-form label{margin:6px 0}
