/* Peds Prism declutter: one calm system, loaded last.
   8px grid; type scale 24 / 17 / 16 / 13; one card style; soft dividers; line icons; study-mode focus. */
:root{--u:8px;--read:70ch;--bd2:#4a5266;--rad:16px}
html[data-theme=light]{--bd:#e5e7ef;--bd2:#b9bfce}
html:not([data-theme=light]){--bd:#2c313e}
body{font-size:16px;line-height:1.55}
.muted{font-size:14px;color:var(--mu)}
input,select,textarea{border-color:var(--bd2)}

/* ---- header: logo, search, settings ---- */
header{padding:calc(var(--sat,env(safe-area-inset-top)) + 8px) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));gap:8px;border-bottom:1px solid var(--bd)}
.wm small{display:none}.wm b{font-size:18px;font-weight:700}
.logo svg{width:30px;height:30px}
header .hsp{flex:1}
header .ibtn{border:0;background:none;color:var(--mu)}
header .ibtn:hover{color:var(--tx);background:var(--s2)}
#theme,#ac-btn{display:none!important}
#hbtn[hidden]{display:none!important}
#hbtn{border:1px solid var(--bd)!important;border-radius:99px;padding:0 12px;min-width:0}

/* ---- phone bottom bar: 5 items ---- */
nav{padding:4px 8px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--bd);gap:0}
nav button.sub{display:none}
nav button{font-size:11px;font-weight:600;min-height:54px;border-radius:12px}
nav button svg{width:22px;height:22px}
nav button.on::before{display:none}
nav button.on{color:var(--pri-tx)}
nav button.on .nl{background:none;color:var(--pri-tx);-webkit-text-fill-color:currentColor}

/* ---- desktop / iPad left rail: same grouping, with section labels ---- */
@media(min-width:1024px){
 nav{padding:76px 12px 16px;gap:2px;overflow-y:auto;overscroll-behavior:contain}
 nav button{min-height:44px;padding:8px 14px;font-size:15px;border-radius:12px}
 nav button.on{background:var(--pri-soft);box-shadow:none;color:var(--pri-tx)}
 nav button.on::before{display:none}
 nav button.sub{display:flex;min-height:38px;padding:6px 14px 6px 14px;font-size:14.5px;font-weight:500}
 nav button.sub svg{width:19px;height:19px}
 nav button.hub{margin-top:20px;min-height:28px;padding:4px 14px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--mu);background:none!important;box-shadow:none}
 nav button.hub svg{display:none}
 nav button.hub:hover{color:var(--tx)}
 nav button.hub.on{color:var(--pri-tx)}
 body.focus{padding-left:0}
}

/* ---- page header ---- */
.phead{align-items:flex-start;gap:8px;margin:8px 0 24px}
.phead .back{min-width:40px;min-height:40px;border:0;background:none;color:var(--mu);font-size:26px;line-height:1;margin-left:-8px;border-radius:12px}
.phead .back:hover{background:var(--s2);color:var(--tx)}
.phead.top .back{display:none}
.phead .crumbs{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:var(--pri-tx);text-decoration:none;margin:2px 0 2px}
.phead .psub{margin-top:4px}
.ptitle{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}
.crt{font-size:12px;color:var(--mu);margin:48px 0 8px;line-height:1.5;max-width:var(--read)}

/* ---- one card style ---- */
.card{padding:16px;margin:16px 0;border-radius:var(--rad);border:1px solid var(--bd);box-shadow:none}
.card .card{background:none;border:0;border-radius:0;padding:0;margin:8px 0}
.card h3,h3{font-size:17px;font-weight:600;margin:0 0 8px}
h2.sec,.lh{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mu);margin:0 0 8px}
.btn{border-radius:12px;box-shadow:none}
.mini{border-radius:10px}
hr{border:0;border-top:1px solid var(--bd)}

/* ---- navigation hubs ---- */
.v-hub{max-width:720px;margin:0 auto}
.v-hub .phead,.v-home .phead{max-width:720px}
.lgrp{margin:0 0 24px}
.llist{border:1px solid var(--bd);border-radius:var(--rad);background:var(--s1);overflow:hidden}
.lrow{display:flex;align-items:center;gap:16px;width:100%;padding:16px;min-height:68px;background:none;border:0;border-top:1px solid var(--bd);text-align:left;color:var(--tx);font:inherit}
.lrow:first-child{border-top:0}
.lrow:hover{background:var(--s2)}
.lrow .ic{flex:none;color:var(--pri-tx)}
.lrow .lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lrow .lt b{font-size:16px;font-weight:600}
.lrow .lt .muted{font-size:14px;line-height:1.4}
.lrow .lch{width:18px;height:18px;color:var(--mu);flex:none}
.lbadge{flex:none;font-size:12px;font-weight:700;color:var(--pri-tx);background:var(--pri-soft);border-radius:99px;padding:2px 10px}
.fblink{display:flex;align-items:center;gap:4px;margin:24px 0 0;font-size:13.5px}
.fblink .lnk{background:none;border:0;padding:8px 0;color:var(--mu);text-decoration:underline;font:inherit;font-size:13.5px;text-align:left}
.fbx{background:none;border:0;color:var(--mu);font-size:20px;line-height:1;min-width:40px;min-height:40px;border-radius:10px}
.fbx:hover{background:var(--s2)}

/* ---- Home ---- */
.v-home{max-width:720px;margin:0 auto}
.hh{margin:8px 0 24px}
.hh .ptitle{font-size:26px}
.hh p{margin:4px 0 0;font-size:15px}.hdays{color:var(--pri-tx);font-weight:700;font-size:15px}
.hp{padding:0;overflow:hidden;margin:0 0 16px}
.hp-go{display:flex;align-items:center;gap:16px;width:100%;padding:16px;background:none;border:0;text-align:left;color:var(--tx);font:inherit}
.hp-go:hover{background:var(--s2)}
.hp-go>.ic{flex:none;color:var(--mu);width:18px;height:18px}
.hp-ic{flex:none;width:44px;height:44px;border-radius:14px;background:var(--pri);color:#fff;display:grid;place-items:center}
.hp-ic .ic{color:#fff}
.hp-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hp-tx b{font-size:17px;font-weight:600}
.hp-k{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--pri-tx)}
.plslot:empty{display:none}
.plslot>.card,.plslot>.hlink{border:0;border-top:1px solid var(--bd);border-radius:0;margin:0;padding:16px;background:none;width:100%}
.plslot .hli{display:none}
.plslot .hlink{display:flex;align-items:center;gap:8px;text-align:left;color:var(--tx)}
.plslot .pl-home h3{font-size:15px}
.tstrip{margin:0 0 24px;padding:0 4px}
.ts-top{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.ts-k{font-weight:600;font-size:15px}.ts-top .muted{flex:1;font-size:13.5px}.ts-n{font-weight:700;font-size:15px;color:var(--pri-tx)}
.tbar{height:6px;border-radius:99px;background:var(--s3);overflow:hidden}.tbar i{display:block;height:100%;background:var(--pri);border-radius:99px}
.qrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:24px}
.qa{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;min-height:112px;background:var(--s1);border:1px solid var(--bd);border-radius:var(--rad);text-align:left;color:var(--tx);font:inherit}
.qa:hover{border-color:var(--pri)}
.qa .ic{color:var(--pri-tx);margin-bottom:4px}
.qa b{font-size:15px;font-weight:600;line-height:1.25}
.qa .muted{font-size:13px;line-height:1.35}
.hweak{margin:0 0 16px}
.hwh{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.hwh .sec{margin:0}
.hwh .lnk{background:none;border:0;color:var(--pri-tx);font:inherit;font-size:14px;font-weight:600;min-height:36px}
.hweak .weakrow{display:flex;align-items:center;gap:8px;padding:12px 0;border-top:1px solid var(--bd)}
.hweak .weakrow:first-of-type{border-top:0}
.hweak .tmeta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hweak .tmeta b{font-size:15px}.hweak .tmeta .muted{font-size:13px}
.hweak .tbar{margin-top:6px}
.hweak .mini{min-height:36px;padding:0 12px;background:var(--s2);border:1px solid var(--bd);color:var(--tx);font-weight:600;font-size:13.5px}
body.sp-open .v-home .plslot,body.sp-open .v-home .tstrip{display:none}

/* ---- side panel: lighter ---- */
.sp-sc section{padding:16px 0}
.sp-t{background:none;border:0;padding:4px 0;border-radius:0}
.sp-grid{grid-template-columns:1fr 1fr;gap:8px 16px}
.sp-t b{font-size:22px}.sp-t span{font-size:12.5px;color:var(--mu);font-weight:500}
.sp-log{display:block;margin-top:8px}

/* ---- study mode: practice, tutor, topic reading and figures hide global chrome ---- */
body.focus nav,body.focus #side,body.focus #sp-tab{display:none!important}
body.focus.sp-open{padding-right:0}
body.focus header{position:static;height:0;min-height:0;padding:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.focus header>*:not(#hbtn){display:none!important}
body.focus #hbtn{position:fixed;top:calc(8px + env(safe-area-inset-top));right:12px;z-index:30;background:var(--s1)}
body.focus main{padding-bottom:calc(32px + env(safe-area-inset-bottom));padding-top:0}
body.focus .phead{position:sticky;top:0;z-index:5;margin:0 -12px 16px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--bg);border-bottom:1px solid var(--bd);align-items:center}
body.focus .phead .back{display:flex;align-items:center;justify-content:center}
body.focus .phead .crumbs,body.focus .phead .psub{display:none}
body.focus .phead .ptitle{font-size:18px;font-weight:600}
body.focus form.ask,body.focus .tccomp{bottom:calc(8px + env(safe-area-inset-bottom))}
body.focus .cap{bottom:8px}
body.focus #toast{bottom:calc(24px + env(safe-area-inset-bottom))}
body.focus .v-topics p,body.focus .v-topics li{max-width:var(--read)}

@media(min-width:1024px){body.focus main{max-width:980px;padding-left:32px;padding-right:32px}body.focus .phead{margin:0 -32px 24px;padding-left:32px;padding-right:32px}}
html.pad body.focus .phead{padding-top:calc(8px + env(safe-area-inset-top))}
@media(max-width:520px){.qrow{gap:8px}.qa{padding:12px;min-height:104px}.qa b{font-size:14px}.hh .ptitle{font-size:24px}}
.st-card h2{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600}.st-card h2 .sti{width:20px;height:20px;color:var(--pri-tx);flex:none}
/* reading comfort in study mode */
body.focus .v-topics{font-size:17px;line-height:1.65}
body.focus .v-topics .card{max-width:var(--read)}
