/* AxioraX New: the Parent dashboard (js/parent.js). Every rule here is scoped to the parent screens
   and their sheets by class names of their own (k...), so no approved screen is touched. */
.kav{display:inline-grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font-weight:700;flex:none;letter-spacing:.01em;line-height:1}
.ktt{font-size:19px;line-height:25px;font-weight:700;color:var(--ink);margin-bottom:6px}
.knone{font-size:13.5px;line-height:18px;color:var(--ph);white-space:nowrap}

/* My children: one card per child */
.kcards{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.kcard{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;column-gap:14px;width:100%;padding:15px 16px;text-align:start;color:var(--ink);transition:background .15s,transform .15s}
.kcard:active{background:#ECECEC;transform:scale(.985)}
.kcard .kct{min-width:0;display:flex;flex-direction:column}
.kcard .kct b{font-size:17px;line-height:23px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcard .kct span{font-size:14.5px;line-height:20px;color:var(--sub);margin-top:1px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.kcard .kcr{display:flex;align-items:center;gap:6px}

/* a name or a school in English inside the Arabic app sits with the Arabic around it, as the app's own cards do */
html[dir=rtl] .kcard .ltr-auto,html[dir=rtl] .ktile .ltr-auto,html[dir=rtl] .kfocus .ltr-auto,html[dir=rtl] .kschool .ltr-auto,html[dir=rtl] .kread .ltr-auto,html[dir=rtl] .khead .ltr-auto{text-align:right}

/* one child: the head, the month's three numbers and the two tiles */
.khead{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:2px}
.khead .h1{margin:12px 0 0}
.khead .sub{margin-top:2px}
.kstats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kstats.four{grid-template-columns:repeat(4,1fr);gap:8px}
.kstats .stat{padding:14px 4px 12px;width:100%;color:var(--ink)}
.kstats.four .stat b{font-size:22px}
.kstats.four .stat span{font-size:12.5px}
.ktile{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 16px 15px;text-align:start;width:100%;color:var(--ink);min-width:0}
.ktile .kti{width:44px;height:44px;border-radius:14px;background:var(--green-soft);display:grid;place-items:center}
.ktile .kti.gold{background:var(--gold-soft)}
.ktile b{font-size:24px;line-height:28px;font-weight:700;white-space:nowrap}
.ktile b i{font-style:normal;font-size:12.5px;font-weight:500;color:var(--ph);line-height:0}
.ktile .kts{display:block;font-size:14px;line-height:19px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:-6px}
.kcode{letter-spacing:.14em;font-weight:700;font-variant-numeric:tabular-nums}
.kcode.big{font-size:30px;line-height:36px;letter-spacing:.18em;color:var(--green)}
.kcodetile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px 16px 18px;text-align:center}
.kcodetile>span:last-child{font-size:14.5px;line-height:20px;color:var(--sub)}
.kreport{gap:7px;font-weight:600;font-size:16px;padding:0 17px 0 14px}
html[dir=rtl] .kreport{padding:0 14px 0 17px}

/* the pill that names the child under a page title, and switches between children */
.kpick{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 13px 0 6px;border-radius:20px;background:var(--row);margin:16px 0 0;font-size:15px;font-weight:600;color:var(--ink);max-width:100%;transition:transform .12s}
html[dir=rtl] .kpick{padding:0 6px 0 13px}
.kpick:not([disabled]):active{transform:scale(.97)}
.kpick[disabled]{opacity:1;padding-inline-end:15px}
.kpick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* a tile that leads somewhere: an icon, two lines and a chevron */
.kfocus,.kschool{display:flex;align-items:center;gap:14px;padding:16px;width:100%;text-align:start;color:var(--ink)}
.kschool{margin-top:16px}
.kfocus{transition:background .15s,transform .15s}
.kfocus:active{background:#ECECEC;transform:scale(.985)}
.kfi{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--green-soft)}
.kft{flex:1;min-width:0;display:flex;flex-direction:column}
.kft b{font-size:16.5px;line-height:22px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.kft span{font-size:14.5px;line-height:20px;color:var(--sub);margin-top:2px}

/* the month */
.kmonth{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}
.kmonth .kmb{width:42px;height:42px;box-shadow:none;background:var(--row)}
.kmonth .kmt{flex:1;text-align:center;font-size:17px;line-height:24px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcal{margin-top:12px;padding:12px 6px 10px}
.kdow{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12.5px;line-height:16px;color:var(--ph);font-weight:600;margin-bottom:6px}
.kdays{display:grid;grid-template-columns:repeat(7,1fr);row-gap:5px;justify-items:center}
.kday{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;font-weight:500;color:var(--ink);background:transparent;transition:transform .12s}
.kday:not(.out):active{transform:scale(.92)}
.kday.out{visibility:hidden}
.kday.future{color:var(--ph)}
.kday.today{box-shadow:inset 0 0 0 1.5px var(--green)}
.kday.present{background:var(--green-soft);color:var(--green);font-weight:700}
.kday.absent{background:var(--red-soft);color:var(--red);font-weight:700}
.kday.late{background:var(--amber-soft);color:var(--amber);font-weight:700}
.kday.holiday{background:var(--gold-soft);color:var(--gold-ink);font-weight:700}
.kday.school::after{content:"";position:absolute;inset-inline-end:2px;top:2px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2.5px var(--gold)}
.klegend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;margin-inline-start:18.667px;font-size:13px;line-height:18px;color:var(--sub)}
.klegend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.klegend i{display:inline-block;width:10px;height:10px;border-radius:50%}
.klegend i.ring{background:#fff;box-shadow:inset 0 0 0 2.5px var(--gold)}
.row .s.late{color:var(--amber)}

/* the trend over time */
.ktrend{padding:14px 10px 10px}
.ktrend svg{width:100%;height:auto;display:block}
.ktl{display:flex;justify-content:space-between;font-size:12.5px;line-height:16px;color:var(--ph);padding:6px 8px 0}

/* wellbeing: the question, the reading and its suggestions */
.kqn{font-size:14.5px;line-height:20px;color:var(--sub);font-weight:600;margin:20px 0 0 .667px}
.kq{display:flex;align-items:flex-start;gap:12px;margin-top:10px}
.kq .kqi{flex:none;width:38px;height:38px;border-radius:12px;background:var(--green-soft);display:grid;place-items:center;margin-top:-4px}
.kq .kqt{font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.005em;min-width:0}
.kread{display:flex;align-items:center;gap:14px;margin-top:20px;padding:16px}
.kread .kri{flex:none;width:50px;height:50px;border-radius:16px;display:grid;place-items:center}
.kread .kft b{font-size:20px;line-height:26px;font-weight:700}
.kwords{margin-top:12px;padding:16px 18px;font-size:15.5px;line-height:23px;color:#2A2A2A}
.kparts{padding:4px 18px}
.kpart{display:flex;align-items:flex-start;gap:12px;padding:13px 0;font-size:15.5px;line-height:22px}
.kpart+.kpart{border-top:1px solid #E7E8E7}
.kpart svg{margin-top:2px}

/* the learning plan: a task is a row with a tick and its words */
.row.ktask{padding-inline:8px 12px;gap:2px}
.ktask .kchk{width:48px;height:48px;display:grid;place-items:center;flex:none}
.ktask .ktx{flex:1;min-width:0;text-align:start;display:flex;flex-direction:column;padding:4px 0;color:var(--ink)}
.ktask .ktx .t,.ktask .ktx .s{display:block}
.ktask.done .ktx .t{color:var(--ph);text-decoration:line-through}

/* the forms in the sheets */
.kform{display:flex;flex-direction:column;gap:12px}
.kf{display:block}
.kfl{display:block;font-size:13.5px;line-height:18px;color:var(--sub);font-weight:600;margin:0 0 6px;margin-inline-start:6px}
.kf2{display:grid;grid-template-columns:1.45fr 1fr;gap:10px}
.kf2.even{grid-template-columns:1fr 1fr}
.kf2>*{min-width:0}
.kf2 .input{min-width:0;width:100%}
.kf2 .input[type=date],.kf2 .input[type=time]{padding-inline:14px 10px}
.kchips{display:flex;gap:8px;flex-wrap:wrap}
.kform .input{min-width:0}
.kform input[type=date]{-webkit-appearance:none;appearance:none;text-align:start}
.kform input[type=date]::-webkit-date-and-time-value{text-align:start}

/* ---------- 2026.10.02.6: the newer parent pages (js/parent-more.js), every rule scoped to kx classes ---------- */
/* Today: the line about school today */
.kxhero{display:flex;align-items:center;gap:14px;width:100%;margin-top:16px;padding:16px;border-radius:24px;text-align:start;background:var(--row);color:var(--ink);transition:transform .12s}
.kxhero:active{transform:scale(.985)}
.kxhero .kxhi{flex:none;width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#fff;color:var(--sub)}
.kxhero .kxht{min-width:0;display:flex;flex-direction:column}
.kxhero b{font-size:17px;line-height:23px;font-weight:700}
.kxhero .kxht span{font-size:14px;line-height:19px;color:var(--sub);margin-top:1px}
.kxhero.ok{background:var(--green);color:#fff}
.kxhero.ok .kxhi{background:rgba(255,255,255,.16);color:#fff}
.kxhero.ok .kxht span{color:rgba(255,255,255,.86)}
.kxhero.late{background:var(--amber-soft)}.kxhero.late .kxhi{color:var(--amber)}
.kxhero.away{background:var(--red-soft)}.kxhero.away .kxhi{color:var(--red)}
.kxhero.none .kxhi{color:var(--green)}
/* tabs, small heads, chips */
.kxseg{width:100%;margin-top:16px}
.kxkick{font-size:12.5px;line-height:17px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ph);margin-top:6px}
.kxchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.kxchips .chip{margin:0}
.kxof,.stat .kxof{display:inline;font-size:14px;font-weight:500;color:var(--ph)}
.kxwide{margin-top:10px}
.kxwide.red{color:var(--red)}
/* messages */
.kxday{text-align:center;font-size:12.5px;line-height:16px;color:var(--ph);font-weight:600;margin:18px 0 2px}
.kxbub{max-width:84%;width:fit-content;padding:11px 14px 9px;border-radius:20px;font-size:15.5px;line-height:22px;margin-top:8px;overflow-wrap:anywhere}
.kxbub.in{background:var(--row);border-end-start-radius:6px}
.kxbub.out{background:var(--bub-a);color:var(--bub-ink);margin-inline-start:auto;border-end-end-radius:6px}
.kxbub small{display:block;font-size:12px;line-height:15px;color:var(--ph);margin-top:4px;text-align:end}
.kxcompose{display:flex;align-items:flex-end;gap:10px;margin-top:18px;padding:6px;padding-inline-start:16px;border-radius:26px;background:var(--row)}
.kxin{flex:1;min-width:0;border:0;outline:0;background:transparent;resize:none;font:inherit;font-size:16px;line-height:22px;color:var(--ink);padding:9px 0;max-height:140px}
.kxin::placeholder{color:var(--ph)}
.kxsend{flex:none;width:40px;height:40px;border-radius:50%;background:var(--green);display:grid;place-items:center}
html[dir=rtl] .kxsend svg{transform:scaleX(-1)}
/* forms */
.kxfield{display:block;width:100%;padding:12px 16px;border-radius:18px;background:var(--row);margin-top:8px;text-align:start;color:var(--ink)}
.kxfield small{display:block;font-size:12.5px;line-height:16px;color:var(--ph);font-weight:600}
.kxfield>div{font-size:15.5px;line-height:22px;margin-top:2px}
.kxinput{display:block;width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:16px;line-height:22px;color:var(--ink);padding:2px 0 0;resize:none}
.kxinput::placeholder{color:var(--ph)}
.kxattach>div{display:flex;align-items:center;gap:8px}
.kxchips2{display:flex;flex-wrap:wrap;gap:8px}
.kxroles{gap:8px}
.kxroles .opt{height:38px}
.kxbox{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:14px 16px;border-radius:20px;background:var(--gold-soft);color:#4A4210;font-size:14.5px;line-height:21px}
.kxbox svg{flex:none;margin-top:1px}
.kxbox[hidden]{display:none}
/* a concern's steps */
.kxtl{list-style:none;margin:6px 0 0;padding:0 4px}
.kxtl li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;padding-bottom:16px;position:relative}
.kxtl li::before{content:"";position:absolute;inset-inline-start:11px;top:26px;bottom:2px;width:2px;background:var(--line)}
.kxtl li:last-child::before{display:none}
.kxtl .d{width:24px;height:24px;border-radius:50%;background:var(--green);display:grid;place-items:center}
.kxtl .d.o{background:#fff;box-shadow:inset 0 0 0 2px #D4D4D4}
.kxtl b{display:block;font-size:15.5px;line-height:21px;font-weight:600}
.kxtl span{display:block;font-size:13.5px;line-height:19px;color:var(--sub);overflow-wrap:anywhere}
/* who has the concern now */
.kxstep{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;position:relative;margin-top:4px}
.kxstep::before{content:"";position:absolute;top:11px;inset-inline:12.5%;height:2px;background:var(--line)}
.kxstep div{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:12.5px;line-height:16px;color:var(--sub);font-weight:600;overflow-wrap:anywhere}
.kxstep i{width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #D4D4D4;display:grid;place-items:center}
.kxstep .done i{background:var(--green);box-shadow:none}
.kxstep .on i{background:var(--gold-soft);box-shadow:inset 0 0 0 2px var(--gold)}
.kxstep .on{color:var(--ink)}
/* a date in a row */
.kxdate{width:100%;height:100%;border-radius:11px;background:var(--green-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.kxdate b{font-size:15px;font-weight:700;color:var(--green)}
.kxdate span{font-size:9.5px;font-weight:700;color:var(--green);text-transform:uppercase;margin-top:2px;letter-spacing:.03em}
/* a class announcement */
.kxpost{padding:14px 16px;margin-top:8px}
.kxph{display:flex;align-items:center;gap:12px}
.kxph b{display:block;font-size:15px;line-height:20px}
.kxph span{display:block;font-size:13px;line-height:17px;color:var(--ph)}
.kxpb{font-size:15.5px;line-height:23px;margin-top:10px}
/* marks by subject on Progress */
.kxsubj{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kxsubj.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.kxsubj .stat{padding:14px 6px 12px}
.kxsubj .stat b{font-size:24px}
.kxsubj em{display:block;font-style:normal;font-size:12.5px;line-height:16px;font-weight:600;color:var(--ph);margin-top:2px}
.kxsubj em.up{color:var(--green)}.kxsubj em.down{color:var(--amber)}
/* a child's photo in the round picture, and the camera badge on their page */
.kav.kph{background-size:cover;background-position:center;background-repeat:no-repeat}
.kav.kph.has{color:transparent}
.kphbtn{position:relative;display:inline-block;border-radius:50%;line-height:0}
.kphbtn:active{transform:scale(.97)}
.kphcam{position:absolute;inset-inline-end:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 0 0 3px #fff}

/* ---------- 2026.10.02.9: every child on Today, children side by side, and the school on a map ---------- */
/* under a page title: each child on their own, a tap moves the page to that child */
.kxkids{display:flex;gap:8px;margin:16px -17.333px 0;padding:0 17.333px 2px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kxkids::-webkit-scrollbar{display:none}
.kxkidc{flex:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px 0 6px;border-radius:20px;background:var(--row);font-size:15px;font-weight:600;color:var(--ink);transition:transform .12s,background .15s}
html[dir=rtl] .kxkidc{padding:0 6px 0 16px}
.kxkidc:active{transform:scale(.97)}
.kxkidc.on{background:var(--green);color:#fff}
.kxkidc.on .kav:not(.has){background:rgba(255,255,255,.18);color:#fff}
/* Today: one section for each child */
.kxday1{margin-top:24px}
.kxday1+.kxday1{margin-top:34px}
.kxkid{display:flex;align-items:center;gap:12px;width:100%;padding:0;text-align:start;color:var(--ink);transition:transform .12s}
.kxkid:active{transform:scale(.985)}
.kxkid .kxkt{flex:1;min-width:0;display:flex;flex-direction:column}
.kxkid b{font-size:19px;line-height:25px;font-weight:700}
.kxkid .kxkt span{font-size:14px;line-height:19px;color:var(--sub);margin-top:1px}
.kxkid .chev{flex:none}
.kxhero.sm{margin-top:12px;padding:12px 14px;gap:12px;border-radius:22px}
.kxhero.sm .kxhi{width:42px;height:42px;border-radius:14px}
.kxhero.sm b{font-size:16px;line-height:21px}
.kxhero.sm .kxht span{font-size:13.5px;line-height:18px}
.kxst{margin-top:10px}
.kxst .stat{padding:11px 4px 10px}
.kxst .stat b{font-size:21px;line-height:27px}
.kxneed{margin-top:10px}
.kxcalm{display:flex;align-items:center;gap:10px;margin-top:10px;padding:13px 16px;border-radius:20px;background:var(--green-soft);font-size:14.5px;line-height:20px;color:var(--ink)}
.kxcalm svg{flex:none}
/* where the school is: the search, the map, the pin */
.kxfind{margin-top:16px}
.kxfind .kxin::-webkit-search-cancel-button{-webkit-appearance:none}
.kxmap{position:relative;height:300px;margin-top:12px;border-radius:24px;overflow:hidden;background:#EEF0EA;isolation:isolate}
.kxmap.off{height:auto;min-height:74px}
.kxmap.off .kxloc{display:none}
.kxmap.off .kxmapmsg{position:static;margin:14px;display:block}
.kxmapc{position:absolute;inset:0;z-index:0}
.kxmap .leaflet-container{font:inherit;background:#EEF0EA}
.kxmap .leaflet-bar.leaflet-control-zoom{border:0;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.14);margin:12px}
.kxmap .leaflet-control-zoom a{width:36px;height:36px;line-height:36px;font-size:20px;color:var(--ink)}
.kxmap .leaflet-control-attribution.leaflet-control{font-size:10.5px;line-height:15px;margin:0 16px 8px;padding:1px 7px;border-radius:8px;background:rgba(255,255,255,.88)}
.kxmapmsg{position:absolute;z-index:500;top:12px;inset-inline-start:12px;max-width:calc(100% - 80px);padding:8px 13px;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 2px 10px rgba(0,0,0,.12);font-size:13.5px;line-height:18px;color:var(--ink);pointer-events:none}
.kxmapmsg:empty{display:none}
.kxloc{position:absolute;z-index:500;bottom:14px;inset-inline-start:12px;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 13px;border-radius:21px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.16);font-size:14.5px;font-weight:600;color:var(--ink);transition:transform .12s}
html[dir=rtl] .kxloc{padding:0 13px 0 16px}
.kxloc:active{transform:scale(.97)}
.kxpin{background:none;border:0}
.kxpin svg{display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28))}

/* ---------- 2026.10.02.9: You as a parent (js/parent-grow.js), every rule scoped to kx classes ---------- */
/* My parenting check: a card for each test */
.kxtest{margin-top:16px;padding:18px;border-radius:26px;background:var(--row)}
.kxtest.first{background:var(--gold-soft)}
.kxtt{display:flex;align-items:center;gap:12px}
.kxti{flex:none;width:48px;height:48px;border-radius:16px;background:#fff;display:grid;place-items:center}
.kxtn{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.kxtn b{font-size:17px;line-height:22px;font-weight:700}
.kxtn .chip{margin:0}
.kxtest p{margin:12px 0 0;font-size:14.5px;line-height:21px;color:var(--sub)}
.kxtf{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:13.5px;line-height:18px;color:var(--sub)}
.kxtf .chip{margin:0}
.kxtf .bs{flex:1;min-width:130px;margin:0}
.kxtest.first .chip{background:#fff}
/* a test, one question at a time */
.kxprog{height:6px;border-radius:3px;background:var(--row);margin-top:14px;overflow:hidden}
.kxprog span{display:block;height:100%;border-radius:3px;background:var(--green);transition:width .25s var(--ease)}
.kxqn{margin-top:10px;font-size:13.5px;color:var(--sub);font-weight:600}
.kxq{margin-top:18px;font-size:21px;line-height:29px;font-weight:700}
.kxans{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.kxa{width:100%;min-height:54px;padding:12px 18px;border-radius:18px;background:var(--row);font-size:16px;font-weight:600;color:var(--ink);text-align:start;transition:transform .12s,background .15s}
.kxa:active{transform:scale(.985)}
.kxa.on{background:var(--green);color:#fff}
/* a result */
.kxscore{display:flex;align-items:center;gap:18px;margin-top:18px;padding:18px;border-radius:26px;background:var(--row)}
.kxscore .ring{flex:none}
.kxscore .ring b{font-size:26px;font-weight:700}
.kxscore p{margin:0;font-size:15px;line-height:22px}
.kxbars{display:flex;flex-direction:column;gap:12px;margin-top:0;padding:16px 18px}
.kxbar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 42px;align-items:center;gap:10px;font-size:14px;line-height:19px}
.kxbar i{display:block;height:8px;border-radius:4px;background:#E2E4E0;overflow:hidden}
.kxbar i b{display:block;height:100%;border-radius:4px;background:var(--green)}
.kxbar em{font-style:normal;font-weight:700;text-align:end}
/* Know How: this week's practice, the eight cards, my family */
.kxweek,.kxnudge{display:flex;align-items:center;gap:14px;width:100%;margin-top:18px;padding:16px;border-radius:24px;background:var(--green);color:#fff;text-align:start;transition:transform .12s}
.kxweek:active,.kxnudge:active{transform:scale(.985)}
.kxwi{flex:none;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.16);display:grid;place-items:center}
.kxwt{flex:1;min-width:0;display:flex;flex-direction:column}
.kxwt small{font-size:12.5px;line-height:16px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.82}
.kxwt b{font-size:17px;line-height:23px;font-weight:700}
.kxwt span{font-size:14px;line-height:19px;opacity:.86}
.kxweek .chev{flex:none}
.kxweek .chev{stroke:rgba(255,255,255,.8)}
.kxnudge{background:var(--gold-soft);color:var(--ink)}
.kxnudge .kxwi{background:#fff}
.kxnudge .kxwt small{color:var(--gold-ink);opacity:1}
.kxnudge .kxwt span{color:var(--sub);opacity:1}
.kxg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.kxgc{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px 14px;border-radius:22px;background:var(--row);text-align:start;color:var(--ink);min-height:150px;transition:transform .12s}
.kxgc:active{transform:scale(.98)}
.kxgc.on{box-shadow:inset 0 0 0 2px var(--green)}
.kxgc b{font-size:15.5px;line-height:21px;font-weight:700;margin-top:4px}
.kxgc span:last-child{font-size:13px;line-height:18px;color:var(--sub)}
.kxgi{flex:none;width:42px;height:42px;border-radius:14px;background:#fff;display:grid;place-items:center}
.kxgi.big{width:60px;height:60px;border-radius:20px;background:var(--green-soft)}
.kxfam{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:0;padding:18px 14px}
.kxfam>span{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px}
.kxfam b{font-size:14.5px;font-weight:700;margin-top:4px}
.kxfam small{font-size:12.5px;color:var(--sub)}
/* a guide */
.kxgh{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.kxsave{width:46px;height:46px;border-radius:50%;background:var(--row);display:grid;place-items:center;transition:transform .12s}
.kxsave:active{transform:scale(.94)}
.kxsave.on{background:var(--green-soft)}
.kxsteps{display:flex;flex-direction:column;gap:8px}
.kxstp{display:flex;align-items:flex-start;gap:12px;width:100%;padding:14px 16px;border-radius:20px;background:var(--row);text-align:start;color:var(--ink);font-size:15px;line-height:22px}
.kxstp i{flex:none;width:26px;height:26px;border-radius:50%;margin-top:-1px;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 2px #CFCFCF;font-style:normal;font-size:13px;font-weight:700;color:var(--green)}
.kxstp i.n{box-shadow:none;background:var(--green-soft)}
.kxstp.on i{background:var(--green);box-shadow:none}
.kxstp.on span{color:var(--sub)}
button.kxstp{transition:transform .12s}
button.kxstp:active{transform:scale(.99)}
/* Learn */
.kxpicks{display:flex;gap:10px;margin:0 -17.333px;padding:0 17.333px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.kxpicks::-webkit-scrollbar{display:none}
.kxpk{flex:none;width:170px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:22px;background:var(--gold-soft);text-align:start;color:var(--ink)}
.kxpk b{font-size:15px;line-height:20px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px}
.kxpk span:last-child{font-size:13px;color:var(--sub)}
.kxlk{margin:12px -17.333px 0;padding:0 17.333px 2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.kxlk::-webkit-scrollbar{display:none}
.kxlk .opt{flex:none}
.kxlk .opt{height:34px;padding:0 14px;font-size:14px}
/* Feedback: the five faces */
.kxfaces{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.kxface{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;border-radius:20px;background:var(--row);color:var(--sub);font-size:11.5px;line-height:14px;font-weight:600;text-align:center;transition:transform .12s,background .15s}
.kxface:active{transform:scale(.96)}
.kxface.on{background:#fff;box-shadow:inset 0 0 0 2px var(--green);color:var(--ink)}
/* Parents Hub holds up to twelve pages (For me merged in, 3 Oct): room for all of them when it opens */
.dsub.open:has([data-mgo="pcheck"]){max-height:640px}

/* ---------- 2026.10.02.9: the parents' library: drawn covers, the shelf, a book's page ---------- */
.kxcov{position:relative;display:block;width:100%;aspect-ratio:2/3;overflow:hidden;border-radius:3px 9px 9px 3px;color:#fff;text-align:left;direction:ltr;container-type:inline-size;
  background:linear-gradient(160deg,var(--c2),var(--c1));box-shadow:0 1px 2px rgba(0,0,0,.14),0 6px 16px rgba(0,0,0,.14);transition:transform .14s}
.kxcov.m0{background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.2) 0 17%,transparent 17.6%),radial-gradient(circle at 88% 10%,transparent 0 25%,rgba(255,255,255,.13) 25.6% 26.8%,transparent 27.4%),linear-gradient(160deg,var(--c2),var(--c1))}
.kxcov.m1{background:linear-gradient(180deg,transparent 0 74%,rgba(255,255,255,.16) 74% 75.4%,transparent 75.4% 77.6%,rgba(255,255,255,.1) 77.6% 78.6%,transparent 78.6%),linear-gradient(160deg,var(--c2),var(--c1))}
.kxcov.m2{background:radial-gradient(circle at 100% 100%,rgba(255,255,255,.15) 0 34%,transparent 34.6%),radial-gradient(circle at 100% 100%,transparent 0 46%,rgba(255,255,255,.1) 46.6% 48%,transparent 48.6%),linear-gradient(160deg,var(--c2),var(--c1))}
.kxcov .kxsp{position:absolute;top:0;bottom:0;left:0;width:8%;background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(255,255,255,.14) 70%,rgba(0,0,0,.08))}
.kxcov em{font-style:normal;font-size:8px;font-size:7.6cqw;line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.78}
.kxcov b{margin-top:9%;font-size:11px;font-size:9.4cqw;line-height:1.18;font-weight:800;letter-spacing:-.005em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}
.kxcov small{margin-top:auto;padding-top:6%;font-size:8px;font-size:7.4cqw;line-height:1.25;opacity:.86;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}
.kxcov .kxci{position:absolute;right:-9%;bottom:-7%;opacity:.17;line-height:0}
.kxcov .kxci svg{width:62cqw;height:62cqw;width:66px;height:66px;width:62cqw;height:62cqw}
.kxcov.mini{width:27px;height:40px;aspect-ratio:auto;padding:0;border-radius:2px 4px 4px 2px;box-shadow:0 1px 3px rgba(0,0,0,.2);align-items:center;justify-content:center}
.kxcov.mini em,.kxcov.mini b,.kxcov.mini small{display:none}
.kxcov.mini .kxci{position:static;opacity:.85;margin-left:3px}
.kxcov.mini .kxci svg{width:15px;height:15px}
.row .ri.av .kxcov.mini{margin:-2px auto 0}
.kxcov.big{width:128px;flex:none;box-shadow:0 2px 4px rgba(0,0,0,.14),0 12px 28px rgba(0,0,0,.18)}
/* the shelf: three across, the title and author under each cover */
.kxshelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;margin-top:12px}
.kxbk{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0;text-align:start;color:var(--ink)}
.kxbk:active .kxcov{transform:scale(.97)}
.kxbk[hidden],.grp [data-hay][hidden]{display:none}
.kxbk > b{font-size:13px;line-height:17px;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kxbk > span:not(.kxcov){font-size:12px;line-height:16px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kxbk .kxpkd{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.kxshelf1{gap:12px}
.kxshelf1 .kxbk.sm{flex:none;width:100px}
.kxshelf1 .kxbk.sm > b{font-size:12.5px;line-height:16px}
.kxlq{margin-top:16px}
.kxsk{align-items:center}
.kxlkl{flex:none;font-size:13px;font-weight:600;color:var(--sub);margin-inline-end:2px}
.kxln{margin-top:12px}
/* a book's page */
.kxbh{display:flex;align-items:flex-end;gap:16px;margin-top:6px}
.kxbt{flex:1;min-width:0;padding-bottom:4px}
.kxbn{margin-top:4px;font-size:22px;line-height:28px;font-weight:800;overflow-wrap:anywhere}
.kxbt .sub{margin-top:4px}
.kxbt .kxchips{margin-top:8px}
/* AxioCHAT: books from the library under an answer */
.kxlib{margin:14px 0 2px}
.kxlibh{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:13.5px;font-weight:700;color:var(--sub)}
.msg-ax .kxpicks{margin:0 -17.9px;padding:0 17.9px 4px}
.kxcov .kxcin{position:absolute;inset:0;display:flex;flex-direction:column;padding:13% 10% 10% 17%;z-index:1}
.kxcov em{color:rgba(255,255,255,.82);opacity:1}
.kxcov b{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.kxcov.mini .kxcin{display:none}
.kxcov.mini{display:flex}

/* ---------- 2026.10.03.2: Listen (audiobook) and Give me a brief ---------- */
.kxlb .bs{gap:8px}
.kxlisten{background:var(--green-soft);color:var(--green)}
.kxbrief{background:var(--gold-soft);color:var(--gold-ink)}
.kxpl{text-align:center}
.kxplc{display:flex;justify-content:center;margin-top:6px}
.kxplc .kxcov.big{width:156px}
.kxpln{margin-top:18px;font-size:21px;line-height:27px;font-weight:800}
.kxpla{margin-top:4px;font-size:15px;color:var(--sub)}
.kxplw{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--sub);letter-spacing:.02em}
.kxplb{margin:8px auto 0;max-width:320px}
.kxnow{min-height:96px;margin-top:20px;padding:16px 18px;border-radius:22px;background:var(--row);font-size:18px;line-height:27px;font-weight:600;color:var(--ink);text-align:start}
.kxnext{margin-top:10px;padding:0 18px;font-size:15px;line-height:22px;color:var(--ph);text-align:start;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kxctl{display:flex;align-items:center;justify-content:center;gap:34px;margin-top:22px}
.kxcb{width:52px;height:52px;border-radius:50%;background:var(--row);display:grid;place-items:center;transition:transform .12s}
.kxcp{width:78px;height:78px;border-radius:50%;background:var(--green);display:grid;place-items:center;box-shadow:0 6px 18px rgba(19,83,51,.32);transition:transform .12s}
.kxcb:active,.kxcp:active{transform:scale(.94)}
html[dir=rtl] .kxcb svg{transform:scaleX(-1)}
.kxctl2{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px}
.kxctl2 .opt{gap:6px}
.kxbrh{display:flex;align-items:center;gap:14px;margin-top:6px}
.kxcov.sm2{width:64px;flex:none}
.kxbrt{margin-top:3px;font-size:19px;line-height:25px;font-weight:800}
.kxbr{margin-top:18px;padding:18px 18px 8px}
.kxbrw{display:flex;align-items:center;gap:12px;padding:6px 0 14px;font-size:15px;color:var(--sub)}
.kxbrw.err{flex-direction:column;align-items:flex-start;gap:4px}
.kxbrw.err b{color:var(--ink)}
.kxbrmd h2,.kxbrmd h3{font-size:17px;line-height:23px;margin:4px 0 6px}
.kxbrmd{font-size:15.5px;line-height:24px}
.kxbrw .spin{flex:none;border-color:rgba(0,0,0,.12);border-top-color:var(--green)}
/* the tabs of a merged page in Advanced (School, Talk to school, My parenting): one row that scrolls sideways on a narrow phone */
.khub{display:flex;gap:8px;margin:16px -17.333px 0;padding:0 17.333px 2px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.khub::-webkit-scrollbar{display:none}
.khub button{flex:none;height:38px;padding:0 17px;border-radius:19px;background:var(--row);color:var(--ink);font-size:15px;font-weight:600;white-space:nowrap;transition:background .18s,color .18s,transform .12s}
.khub button.on{background:var(--green);color:#fff}
.khub button:active{transform:scale(.97)}
/* a field that opens a list of the common answers (the medical record) */
.kdrop{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:12px 18px;border-radius:18px;background:var(--row);font-size:17px;line-height:23px;color:var(--ink);text-align:start}
.kdrop span{flex:1;min-width:0;overflow-wrap:anywhere}
.kdrop span.ph{color:var(--ph)}
.kdrop svg{flex:none}
.kmedl .row .kchk{visibility:hidden}
.kmedl .row.on .kchk{visibility:visible}
.kmedl .row.on .t{font-weight:600}
/* the pages of a book (2026.10.05.3): a number to go to, the chapters, and every page as a small picture */
.sheet.kxpgsh{max-height:92%}
.kxpg-go{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:4px}
.kxpg-go .bp{width:auto;padding:0 26px;height:52px}
.kxpg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin-top:4px;padding-bottom:6px}
.kxpg{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.kxpg-im{width:100%;aspect-ratio:1/1.414;border-radius:10px;background:#F1F1F1;display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.kxpg-im>span{font-size:15px;font-weight:600;color:#B5B5B5}
.kxpg-im canvas{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.kxpg-n{font-size:13.5px;line-height:18px;font-weight:600;color:var(--sub)}
.kxpg.on .kxpg-im{box-shadow:0 0 0 3px var(--green)}
.kxpg.on .kxpg-n{color:var(--green)}
.kxpg:active .kxpg-im{transform:scale(.97)}
.kxpg-peek{font-size:15px;line-height:22px}
.kxnext.kxerr{color:var(--red);display:block;-webkit-line-clamp:unset;overflow:visible}
.kxpgsh .row[data-chl]{padding-inline-start:89px}
.kxpgsh .row[data-chl] .ri{inset-inline-start:46px;opacity:.55}
.kxctl2 .kxlang span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- My parenting check: the three tests (PSST-10, PWLBST-15, CPSSI-75), their results and the report ---------- */
.pqcode{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;background:#fff;color:var(--sub);font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;direction:ltr;unicode-bidi:isolate}
.kxtn .pqtags{display:flex;flex-wrap:wrap;gap:6px}
.pqmeta{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13.5px;line-height:18px;color:var(--sub);font-weight:600}
.pqlast{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:18px;background:#fff}
.pqlast .pqmini{flex:none}
.pqlast b{display:block;font-size:15.5px;line-height:21px}
.pqlast span{display:block;font-size:13.5px;line-height:18px;color:var(--sub)}
.pqrep{display:flex;align-items:center;gap:14px;width:100%;margin-top:18px;padding:16px;border-radius:24px;background:var(--green);color:#fff;text-align:start;transition:transform .12s}
.pqrep:active{transform:scale(.985)}
.pqrep .pqri{flex:none;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.16);display:grid;place-items:center}
.pqrep .pqrt{flex:1;min-width:0}
.pqrep small{display:block;font-size:12.5px;line-height:16px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;opacity:.75}
.pqrep b{display:block;font-size:17px;line-height:23px;margin-top:2px}
.pqrep span{display:block;font-size:13.5px;line-height:18px;opacity:.85;margin-top:2px}
.pqrep .chev path,.pqrep svg.chev{stroke:#fff}
/* the test's opening page */
.pqparts{display:flex;flex-wrap:wrap;gap:8px;padding:16px 16px 16px}
.pqparts .opt{height:auto;min-height:34px;padding:7px 14px;white-space:normal;text-align:start;line-height:19px;background:#fff;font-size:14px}
.pqscale{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pqscale span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:15px;background:#fff;font-size:13px;font-weight:600;color:var(--ink)}
.pqscale i{font-style:normal;font-weight:700;color:var(--gold-ink)}
.pqabout{margin-top:0;padding:16px}
.pqabout .kfl{margin-inline-start:2px}
.pqabout .input{background:#fff}
.pqabout .opt{background:#fff}
.pqabout .opt.on{background:var(--green-soft)}
.pqabout .pqsel{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:52px;padding:0 16px 0 18px;border-radius:18px;background:#fff;font-size:17px;text-align:start}
.pqabout .pqsel .ph{color:var(--ph)}
/* one question */
.pqsec{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;line-height:19px;font-weight:600;color:var(--green)}
.pqsec .pqcode{background:var(--green-soft);color:var(--green)}
.pqlead{margin-top:16px;font-size:15px;line-height:21px;font-weight:600;color:var(--sub)}
.pqlead + .kxq{margin-top:4px}
.kxa .pqn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:var(--sub);font-size:13.5px;font-weight:700;margin-inline-end:12px;flex:none}
.kxa.pqa{display:flex;align-items:center}
.kxa.on .pqn{background:rgba(255,255,255,.2);color:#fff}
/* the dial */
.pqdial{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.pqgauge{padding:18px 16px 18px;text-align:center}
.pqgauge .pqlvl{margin-top:6px;font-size:22px;line-height:28px;font-weight:700}
.pqgauge .pqtot{margin-top:4px;font-size:14.5px;line-height:20px;color:var(--sub);font-weight:600}
.pqadv{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:14px 16px;border-radius:20px;font-size:15px;line-height:22px;color:var(--ink);text-align:start}
.pqadv svg{flex:none;margin-top:1px}
.pqadv b{display:block;margin-bottom:2px}
/* the parts, each with its bar */
.pqbars{display:flex;flex-direction:column;gap:14px;padding:16px 18px 18px}
.pqbar .pqbl{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:15px;line-height:20px}
.pqbar .pqbl b{flex:none;font-size:15px;font-variant-numeric:tabular-nums}
.pqbar i{display:block;height:9px;border-radius:5px;background:#E2E4E0;overflow:hidden;margin-top:7px}
.pqbar i b{display:block;height:100%;border-radius:5px}
/* the 15 skills */
.pqcounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pqcounts > div{padding:14px 8px 13px;border-radius:20px;text-align:center}
.pqcounts b{display:block;font-size:26px;line-height:30px;font-weight:700}
.pqcounts span{display:block;font-size:13px;line-height:17px;font-weight:600;margin-top:2px}
.pqsk{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}
.pqskr{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 10px;align-items:center}
.pqskr .pqcode{grid-row:span 2;justify-content:center;height:30px;border-radius:10px;font-size:12.5px;padding:0 4px}
.pqskr .pqsn{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;line-height:19px;min-width:0}
.pqskr .pqsn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pqskr .pqsn b{flex:none;font-variant-numeric:tabular-nums}
.pqskr i{display:block;height:8px;border-radius:4px;background:#E2E4E0;overflow:hidden}
.pqskr i b{display:block;height:100%;border-radius:4px}
.pqkey{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pqkey span{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:18px;color:var(--sub);font-weight:600}
.pqkey i{width:10px;height:10px;border-radius:50%}
.pqlv{margin-top:14px;border-radius:24px;background:var(--row);overflow:hidden}
.pqlvh{padding:16px 18px 14px}
.pqlvh b{display:flex;align-items:center;gap:8px;font-size:17px;line-height:23px}
.pqlvh b small{font-size:12.5px;font-weight:700;opacity:.8}
.pqlvh p{margin:6px 0 0;font-size:14px;line-height:20px;color:#3A3A3A}
.pqlvl{list-style:none;margin:0;padding:6px 18px 16px;counter-reset:pq}
.pqlvl li{position:relative;padding:10px 0 10px;padding-inline-start:30px;font-size:14.5px;line-height:21px;color:#2A2A2A;border-top:1px solid #E6E6E6;counter-increment:pq}
.pqlvl li:first-child{border-top:0}
.pqlvl li::before{content:counter(pq);position:absolute;inset-inline-start:0;top:10px;width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--sub)}
.pqlvl li b{color:var(--ink)}
/* the report */
.pqacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.pqacts .bp,.pqacts .bs{height:50px}
.pqdet{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;padding:16px 18px}
.pqdet > div{min-width:0}
.pqdet small{display:block;font-size:12.5px;line-height:17px;color:var(--sub);font-weight:600}
.pqdet b{display:block;font-size:15px;line-height:21px;font-weight:700;overflow-wrap:anywhere}
.pqdet .full{grid-column:1/-1}
.pqdet .ph{color:var(--ph);font-weight:600}
.pqcard{margin-top:14px;border-radius:26px;background:var(--row);overflow:hidden}
.pqch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 0}
.pqch b{font-size:16px;line-height:21px}
.pqch .pqcode{flex:none}
.pqcard .pqgauge{padding-top:8px}
.pqcard .pqbars{padding-top:4px}
.pqcard .pqadv{margin:0 14px 14px}
.pqmiss{padding:6px 16px 18px;text-align:center;color:var(--sub);font-size:15px;line-height:22px}
.pqmiss .bs{margin-top:12px;background:#fff}
.pqthanks{margin-top:14px;padding:16px 18px;border-radius:24px;border:1.5px solid var(--line);font-size:14.5px;line-height:21px;color:#2A2A2A}
.pqthanks b{display:block;font-size:16px;margin-bottom:4px;color:var(--ink)}
.kxtest .kxtf .bs,.kxtest.first .kxtf .bs{background:#fff}
.kxtest .kxtf .bp.pqgo{flex:1;min-width:150px;margin:0}
.kxprog.pqwhite{background:#fff}
.pqparts .opt i{font-style:normal;font-weight:700;color:var(--green);margin-inline-end:7px;font-size:12.5px}
.pqhow{background:var(--green-soft);color:var(--ink)}
.pqedit{display:block;margin:10px auto 0;color:var(--green);font-weight:600;font-size:15px;padding:6px 12px}
.pqinvh{padding:14px 16px 16px}
.pqinvh .pqch{padding:0}
.pqacts .bs svg,.pqacts .bp svg{flex:none}
.pqsel{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:52px;padding:0 16px 0 18px;border-radius:18px;background:var(--row);font-size:17px;text-align:start}
.pqsel .ph{color:var(--ph)}
/* a statement glides out towards the reading side once answered and the next glides in; Previous question the
   other way round; in Arabic everything runs the other way */
.pqin.go{animation:pqIn .26s var(--ease) both}
.pqin.go.back{animation-name:pqInB}
.pqin.out{animation:pqOut .17s var(--ease) both;pointer-events:none}
.pqin.out.back{animation-name:pqOutB}
@keyframes pqIn{from{opacity:0;transform:translate3d(26px,0,0)}to{opacity:1;transform:none}}
@keyframes pqOut{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(-26px,0,0)}}
@keyframes pqInB{from{opacity:0;transform:translate3d(-26px,0,0)}to{opacity:1;transform:none}}
@keyframes pqOutB{from{opacity:1;transform:none}to{opacity:0;transform:translate3d(26px,0,0)}}
html[dir=rtl] .pqin.go{animation-name:pqInB} html[dir=rtl] .pqin.go.back{animation-name:pqIn}
html[dir=rtl] .pqin.out{animation-name:pqOutB} html[dir=rtl] .pqin.out.back{animation-name:pqOut}
.kxprog span{transition:width .45s var(--ease)}
.kxa.pqa{transition:background .18s,color .18s,transform .12s}
.kxa.pqa.on{animation:pqPick .24s var(--ease)}
@keyframes pqPick{0%{transform:scale(.97)}60%{transform:scale(1.012)}100%{transform:none}}
.pqsec.pqnew{animation:pqPop .42s var(--ease) both}
@keyframes pqPop{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}
/* the dial's pointer sweeps from the start of the scale to the score; the bars grow; once per result */
.pqdial .pqptr{transform-box:view-box;transform-origin:150px 118px;animation:pqSweep 1.05s cubic-bezier(.22,.9,.24,1) .08s both}
@keyframes pqSweep{from{transform:rotate(0deg)}}
.pqbar i b,.pqskr i b{animation:pqGrow .8s var(--ease) .1s both}
@keyframes pqGrow{from{width:0}}
.pqstill .pqdial .pqptr,.pqstill .pqbar i b,.pqstill .pqskr i b{animation:none}
@media (prefers-reduced-motion:reduce){.pqin.go,.pqin.out,.kxa.pqa.on,.pqsec.pqnew,.pqdial .pqptr,.pqbar i b,.pqskr i b{animation:none!important}.kxprog span{transition:none}}
/* My parenting check: one clear next step, finished tests fold into their result */
.pqmeta{align-items:flex-start}
.pqmeta svg{margin-top:1px}
.kxtest .bs.pqquiet{background:#fff;color:var(--green)}
.pqdone{gap:4px;padding:0 10px 0 7px}
button.pqlast{width:100%;color:inherit;text-align:start;transition:transform .12s}
button.pqlast:active{transform:scale(.985)}
.pqlast .pqlt{flex:1;min-width:0}
.pqlast .chev{flex:none}
.pqlc{display:inline-flex;gap:4px;flex:none;direction:ltr}
.pqlc i{font-style:normal;min-width:32px;height:32px;padding:0 6px;border-radius:11px;display:grid;place-items:center;font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums}
.row .pqlc i{min-width:26px;height:26px;border-radius:9px;font-size:13px}
.row .s .pqcode.pqrow{height:20px;padding:0 7px;margin-inline-end:8px;font-size:11.5px;background:#E4E4E4;vertical-align:1px}

.pqlast .pqlc{display:inline-flex}
.pqlast .pqlc i{display:grid}
.kxtest .pqagain{margin-top:10px;height:46px}

/* review fixes: Previous question hides on the first question, long skill names wrap, the report's two buttons
   fit small phones, the code pill and its chip share a centre line, the saving line */
.pqprev[hidden]{display:none}
.pqskr .pqsn span{white-space:normal;overflow:visible;text-overflow:clip}
.pqacts .bp,.pqacts .bs{padding:0 12px;font-size:clamp(14.5px,4.3vw,17px);gap:7px;min-width:0;white-space:nowrap}
.kxtn .pqtags{align-items:center}
.pqlast .pqlt b{color:var(--ink)}
.pqsave{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--green)}
.pqsave i{width:16px;height:16px;border-radius:50%;border:2.4px solid var(--green-soft);border-top-color:var(--green);animation:pqSpin .8s linear infinite}
@keyframes pqSpin{to{transform:rotate(360deg)}}
.kxans[data-busy]{pointer-events:none}

/* ---------- a member's own books (Library / Documents, 11 Oct 2026) ----------
   The same shelf and the same book pages as the Parents Hub library; the cover is the book's own first page, under the
   spine's shading. Add books leads the shelf, the same size as a book. */
.kxcov.kxown{background:#EEF1EF;color:var(--ink)}
.kxcov.kxown .ftb{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:#EEF1EF}
.kxcov.kxown .ftb .fpaper{left:0;right:0;top:0;bottom:0;border-radius:0;box-shadow:none}
.kxcov.kxown .ftb .fpaper img{width:100%;height:100%;object-fit:cover;object-position:center top}
.kxcov.kxown .ftb .fpaper.sk{padding:16% 13% 0}
.kxcov.kxown .ftb .fpill,.kxcov.kxown .ftb .fdur{display:none}
.kxcov.kxown .kxsp{z-index:4;background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.18) 70%,rgba(0,0,0,.05))}
.kxcov.big.kxown,.kxcov.sm2.kxown{background:#EEF1EF}
.libshelf{margin-top:14px}
.libbk.up .kxcov .ftb .fbar{opacity:1}
/* the size and day under a book: up to two lines, never cut (Arabic words are longer) */
.kxbk.libbk > span.fmeta{font-size:12px;line-height:16px;color:var(--sub);white-space:normal;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kxbk.libbk.up > span.fmeta{color:var(--green);font-weight:600}
.kxbk.libbk.fail > span.fmeta{color:var(--red);font-weight:600}
.libadd .libaddcov{display:grid;place-items:center;background:var(--green-soft);border:1.5px solid rgba(19,83,51,.2);border-radius:9px;box-shadow:none}
.libadd-ic{width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 1px 2px rgba(12,12,12,.05),0 4px 12px rgba(19,83,51,.14)}
.libadd > b{color:var(--green)}
.libadd:active .kxcov{transform:scale(.97)}
.libsk{display:block;width:100%;aspect-ratio:2/3;border-radius:3px 9px 9px 3px}
.libnote{margin-top:14px;font-size:14.5px;line-height:21px;color:var(--sub)}
