/* Neuro-Led brand layer: generated by source/brand.py */

@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fonts/atkinson-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fonts/atkinson-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fonts/atkinson-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible Next";src:url(fonts/atkinson-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Poppins";src:url(fonts/poppins-600.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}

:root{
  --bg:#F4F6F5; --surface:#FFFFFF; --ink:#1A2326; --muted:#556166; --line:#DCE3E1; --line-strong:#C5CFCC;
  --mint:#45C1A9; --teal:#0B6F60; --teal-soft:#E5F4F0;
  --gold:#3C5A94; --gold-soft:#EBF0F8;
  --rust:#AE4426; --rust-soft:#FBEDE7;
  --plate:#FFFFFF; --hero:#FFFFFF; --hero-ink:#1A2326;
  --sage:#E5F4F0; --sage-ink:#0B6F60; --air:#F7F9F8;
  --serif:"Poppins", "Segoe UI", -apple-system, Arial, sans-serif;
  --sans:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --radius:14px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#141B1D; --surface:#1B2427; --ink:#E9EFEE; --muted:#A3B0B3; --line:#2C3739; --line-strong:#3A4749;
  --mint:#5FD3BB; --teal:#5FD3BB; --teal-soft:#16302B; --gold:#9FB6E6; --gold-soft:#1E2636; --rust:#F0916A; --rust-soft:#33221B;
  --plate:#F4F6F5; --hero:#1B2427; --hero-ink:#E9EFEE; --sage:#16302B; --sage-ink:#8FE0CC; --air:#182023; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#141B1D; --surface:#1B2427; --ink:#E9EFEE; --muted:#A3B0B3; --line:#2C3739; --line-strong:#3A4749;
  --mint:#5FD3BB; --teal:#5FD3BB; --teal-soft:#16302B; --gold:#9FB6E6; --gold-soft:#1E2636; --rust:#F0916A; --rust-soft:#33221B;
  --plate:#F4F6F5; --hero:#1B2427; --hero-ink:#E9EFEE; --sage:#16302B; --sage-ink:#8FE0CC; --air:#182023; color-scheme:dark}

html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:18px;line-height:1.7;letter-spacing:.005em;font-feature-settings:"kern"}
body::before{background:var(--surface)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;line-height:1.2;color:var(--ink)}
h1{font-size:clamp(34px,4.6vw,50px)}
h2{font-size:clamp(25px,3vw,32px)}
h3{font-size:clamp(19px,2vw,22px)}
h4{font-size:18px}
a{color:var(--teal);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
::selection{background:var(--teal-soft)}
strong,b{font-weight:700}
.eyebrow{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;font-weight:700;color:var(--teal)}
.small{font-size:15px;color:var(--muted)}
.lead{font-size:20px;line-height:1.6;color:var(--muted)}
.prose{max-width:66ch}
.prose p,.prose li{text-wrap:pretty}
textarea,input,select{font-family:var(--sans)}
.btn{font-family:var(--sans);font-weight:700;font-size:16px;border-radius:10px;padding:11px 18px;background:var(--teal);color:#fff;letter-spacing:.01em}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:var(--surface);color:var(--teal);border:1.5px solid var(--teal)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn:not(.ghost){color:#0F1A18}}

/* top bar: logo, course, navigation */
.topbar{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);position:relative;z-index:6}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px 20px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.25;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand img{width:36px;height:36px;flex:none}
.brand small{display:block;font-family:var(--sans);font-weight:400;font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--muted)}
.topnav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.topnav a,.topnav button{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:8px;padding:8px 12px;text-decoration:none;cursor:pointer;position:relative}
.topnav a:hover,.topnav button:hover{color:var(--ink);background:var(--bg)}
.topnav a[aria-current="page"]{background:transparent;color:var(--ink)}
.topnav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:3px;border-radius:3px;background:var(--mint)}
.topnav #who{font-size:14px;color:var(--muted);padding-left:8px}
@media (max-width:640px){.topbar .wrap{gap:6px}.topnav{flex-wrap:nowrap;overflow-x:auto;width:100%;margin:0 -12px;scrollbar-width:none}.topnav a,.topnav button{padding:8px 10px;font-size:14.5px;white-space:nowrap}.topnav #who{white-space:nowrap}}
@media (min-width:1181px){.topbar .wrap{flex-wrap:nowrap}.topnav{flex-wrap:nowrap;white-space:nowrap}}
.lmsbar{display:none}

/* module hero: light, calm */
.hero{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.hero .wrap{padding-block:40px 36px;grid-template-columns:1.3fr .8fr;gap:32px;align-items:center}
.hero .eyebrow{color:var(--teal)}
.hero h1{font-size:clamp(36px,5vw,56px);margin-top:6px;color:var(--ink)}
.hero .lede{font-size:20px;color:var(--muted);max-width:48ch;line-height:1.6}
.meta span{border:1px solid var(--line);color:var(--muted);font-size:14px;padding:4px 12px;background:var(--bg)}
.synapse{max-width:360px}
/* hero diagrams were drawn for a dark background: map their colours to the light palette */
.hero svg [fill="#F7F3EE"]{fill:var(--ink)} .hero svg [stroke="#F7F3EE"]{stroke:var(--ink)}
.hero svg [fill="#C9D6D5"],.hero svg [fill="#93A6A6"]{fill:var(--muted)} .hero svg [stroke="#C9D6D5"],.hero svg [stroke="#93A6A6"]{stroke:var(--muted)}
.hero svg [fill="#3B4D4F"],.hero svg [fill="#2A3F41"]{fill:var(--line)} .hero svg [stroke="#3B4D4F"],.hero svg [stroke="#2A3F41"]{stroke:var(--line-strong)}
.hero svg [fill="#4FC3C9"]{fill:var(--mint)} .hero svg [stroke="#4FC3C9"]{stroke:var(--mint)}
.hero svg [fill="#C9A84C"]{fill:var(--gold)} .hero svg [stroke="#C9A84C"]{stroke:var(--gold)}
.hero svg [fill="#F08A5D"]{fill:var(--rust)} .hero svg [stroke="#F08A5D"]{stroke:var(--rust)}
.hero svg [fill="#8E9BC4"]{fill:var(--gold)} .hero svg [stroke="#8E9BC4"]{stroke:var(--gold)}
.resume{background:var(--teal);color:#fff;font-family:var(--sans);font-weight:700}

/* module switcher (narrow screens) */
.rail{background:var(--surface);border-bottom:1px solid var(--line)}
.rail a{border:0;border-radius:999px;padding:7px 14px;font-size:15px;color:var(--muted)}
.rail a.here{background:var(--teal-soft);color:var(--teal)}
.rail a.here b{color:var(--teal)}

/* two-column module layout: a sticky path beside one reading column */
.layout{display:block}
.side-mods{display:none}
main.reading{padding-block:8px 96px}
@media (min-width:1080px){
  .rail{display:none}
  .layout{display:grid;grid-template-columns:268px minmax(0,1fr);column-gap:64px;align-items:start}
  .side{position:sticky;top:0;max-height:100vh;overflow-y:auto;padding:36px 4px 32px 0;scrollbar-width:thin}
  main.reading{min-width:0;max-width:820px}
  .side .path{background:transparent;border:0;border-radius:0;padding:0;margin:0;gap:14px}
  .side .path-head{display:block}
  .side .path-head .eyebrow{font-size:14px}
  .side .path-head h2{font-size:15px;font-family:var(--sans);font-weight:400;color:var(--muted);letter-spacing:0;line-height:1.45;max-width:none;margin-top:2px}
  .side .path-tip{display:none}
  .side .path-list{gap:0;position:relative}
  .side .path-list li{position:relative}
  .side .path-list li:not(:last-child)::after{content:"";position:absolute;left:10px;top:30px;bottom:-8px;width:2px;background:var(--line-strong)}
  .side .path-list li.done:not(:last-child)::after{background:var(--mint)}
  .side .path-list a{grid-template-columns:22px 1fr;gap:12px;padding:9px 8px 9px 0;background:transparent;border:0;border-radius:8px;align-items:start}
  .side .path-list a:hover b{color:var(--teal)}
  .side .path-list .tick{width:22px;height:22px;border:2px solid var(--line-strong);background:var(--surface);position:relative;z-index:1;margin-top:1px}
  .side .path-list li.done .tick{background:var(--mint);border-color:var(--mint);box-shadow:inset 0 0 0 4px var(--surface)}
  .side .path-list li.here .tick{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}
  .side .path-list li.here b{color:var(--teal)}
  .side .path-list b{font-size:15.5px;line-height:1.35}
  .side .path-list small{display:none}
  .side .path-list em{grid-column:2;font-size:13.5px;margin-top:-2px}
  .side .path-more{font-size:14px;line-height:1.5}
  .side-mods{display:flex;flex-direction:column;gap:2px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
  .side-mods p{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:6px}
  .side-mods a{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;font-size:15px;color:var(--muted);text-decoration:none;padding:5px 0;border-radius:8px}
  .side-mods a span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:12px;font-weight:600;border:1.5px solid var(--line-strong);color:var(--muted)}
  .side-mods a:hover{color:var(--ink)}
  .side-mods a[aria-current="page"]{color:var(--ink);font-weight:700}
  .side-mods a[aria-current="page"] span{background:var(--teal);border-color:var(--teal);color:#fff}
  .stage,.session-mark{scroll-margin-top:24px}
}

/* rhythm inside the reading column */
main.reading section{padding-block:44px;gap:22px;border-top:1px solid var(--line)}
.sec-head{gap:16px}
.num{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--teal);width:40px;height:40px;min-width:40px;border-radius:50%;border:2px solid var(--mint);display:grid;place-items:center;line-height:1}
.mins{font-size:14.5px}
.sec-head .mins,.sec-head+.mins{margin-top:6px}
.sec-head h2+.mins{margin-top:6px}
.path{border-radius:var(--radius);margin-top:28px}
.path-list a{background:var(--air)}
.path-list li.done .tick{background:var(--mint);border-color:var(--mint)}
.stage{border-top:0;margin-top:64px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.stage-n{width:46px;height:46px;font-family:var(--serif);font-size:20px;font-weight:600;background:var(--surface);color:var(--teal);border:2px solid var(--mint)}
.stage-k{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--teal)}
.stage-h{font-size:clamp(26px,3.2vw,34px)}
.stage-p{font-size:16px}
.session-mark span{letter-spacing:0;font-size:15px}
.pause{background:var(--sage);border-radius:var(--radius)}
.pause-dot{background:var(--mint);opacity:.8}
.sbreak{border-left:4px solid var(--mint);border-radius:var(--radius)}
.sbreak h3{font-size:22px}
details.more{border-radius:var(--radius)}
details.more>summary b{font-size:18px}
details.more>summary em::after{color:var(--teal)}

/* components: fewer boxes, sentence-case labels */
.obj div,.two>div,.ideas div,.steps div,.case,.task>div,.item,.q,.principles details,.series a{border-radius:12px;border-color:var(--line)}
.obj b,.callout b,.case .tag,th{text-transform:none;letter-spacing:0}
.obj b{font-size:14px;color:var(--teal)}
.callout{border-radius:0 12px 12px 0;padding:16px 20px}
.callout b{font-size:15px}
.steps div::before{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--teal);width:30px;height:30px;border-radius:50%;border:2px solid var(--mint);display:grid;place-items:center}
.steps h4,.ideas h4{font-family:var(--serif);font-weight:600;font-size:17px}
.principles summary span{color:var(--teal);font-size:22px}
.principles details[open]{border-color:var(--mint)}
th{font-size:13.5px;font-weight:700;color:var(--muted)}
table{font-size:15.5px}
.seg button[aria-pressed="true"]{background:var(--teal)}
.item .opts button{border-radius:10px;padding:9px 14px}
.item .opts button.right{background:var(--teal);border-color:var(--teal)}
.score{font-family:var(--serif);font-weight:600}
.research{background:var(--teal-soft);color:var(--ink)}
.research .eyebrow{color:var(--teal)}
.research p{color:var(--ink)}
.research a{color:var(--teal)}
.kernel{color:var(--gold);background:var(--gold-soft)}
.space b{font-family:var(--serif);font-weight:600}
.series a span{font-family:var(--serif);font-weight:600;font-size:18px;width:38px;height:38px;min-width:38px;border-radius:50%;border:2px solid var(--mint);display:grid;place-items:center}
.series a b{font-family:var(--serif);font-weight:600;font-size:17px}
.checkin fieldset{border-radius:12px}
.ck-r span{font-family:var(--serif);font-weight:600}
.ck-reply{background:var(--teal-soft);border:1px solid var(--mint);border-radius:12px}
.ck-reply.ask{background:var(--rust-soft);border-color:var(--rust)}
@media (max-width:1079px){
  .layout>.side{display:block}
  .side .path{margin-top:24px}
}
@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;padding-block:28px 24px}
  .synapse{display:none}
  .hero .lede{font-size:18px}
  body{font-size:17px}
  .stage{padding:18px;margin-top:44px}
  main.reading section{padding-block:34px}
}
@media print{.topbar,.side,.rail{display:none!important}.layout{display:block}}

/* site pages: home, dashboard, forms, reports, course leader */
.page{padding-block:40px 88px;gap:32px}
.page>section:not(.panel){padding:0;border:0;gap:12px}
.dash-head{display:flex;flex-direction:row!important;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px}
.dash-head .access{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:46ch;background:transparent;border:0;padding:0}
.dash-head .access>div{display:flex;align-items:baseline;gap:10px}
.dash-head .access b{font-size:22px}
.dash-head .access.warn b{color:var(--rust)}
.dash-mods .modgrid{margin-top:8px}
.dash-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;align-items:start}
.panel{border-radius:var(--radius);border-color:var(--line);padding:26px}
.panel h2{font-size:clamp(22px,2.6vw,27px)}
.form label{font-size:15px}
.form input,.form select,select.inp,input.inp,.critbox textarea,textarea{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:10px;font-size:17px}
.form input:focus,select.inp:focus,input.inp:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-soft)}
.access{background:var(--surface)}
.access b{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--teal)}
.final-card{border-left:4px solid var(--mint)}
.modgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}
.mod{border-radius:var(--radius);padding:20px 22px;gap:8px}
.mod:hover{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}
.mod .n{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--teal);width:40px;height:40px;border-radius:50%;border:2px solid var(--mint);display:grid;place-items:center;line-height:1}
.mod h3{font-size:19px}
.mod p{font-size:16px}
.mod-close{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}
.mod-close .n{grid-row:1/span 2;background:var(--mint);color:#fff;border-color:var(--mint)}
.badge,.modstat{font-family:var(--sans);font-size:12.5px;padding:2px 9px;font-weight:700;letter-spacing:.01em}
.badge{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.badge.on,.modstat.sent{background:var(--teal-soft);color:var(--teal);border:1px solid transparent}
.modstat.reply{background:var(--gold-soft);color:var(--gold)}
.rlist a{background:var(--surface);border-radius:12px;padding:14px 16px}
.rlist a:hover{border-color:var(--mint)}
.critbox{background:var(--surface);border-radius:var(--radius);padding:20px}
.critbox h3{font-size:18px}
.notice{font-size:14px}
.level{font-family:var(--sans);letter-spacing:.01em;text-transform:none;font-size:13px}
.rcrit h3{text-transform:none;letter-spacing:0;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink)}
.revise small,.further span{text-transform:none;letter-spacing:0;font-size:13px}
.review{border-radius:12px}
table.adm th{text-transform:none;letter-spacing:0}
.tabs button{font-family:var(--sans)}
.guide h1,.guide h2,.guide h3{font-family:var(--serif)}
.cert-kind,.cert-name,.cert-course{font-family:var(--serif);letter-spacing:-.01em}
.cert-name{font-weight:600}
.cert-brand{text-transform:none}
.home-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start;padding-top:24px}
.home-intro{display:flex;flex-direction:column;gap:18px;padding:0;border:0}
.home-intro h1{font-size:clamp(36px,5vw,54px);line-height:1.1}
.home-points{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;max-width:52ch}
.home-points li{position:relative;padding-left:34px;color:var(--muted)}
.home-points li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;border:2px solid var(--mint)}
.home-points b{color:var(--ink)}
.home-side{display:flex;flex-direction:column;gap:16px}
.home-side .form{max-width:none}
@media (max-width:900px){.home-grid{grid-template-columns:1fr;gap:28px;padding-top:0}}
/* closing session */
body .gilb .bod{background:var(--teal);color:#fff;border-color:var(--teal)}
body .bod-card{border-left-color:var(--mint)}
body .sprint-timer{background:var(--teal-soft);color:var(--ink)}
body .sp-goal{color:var(--muted)}
body .sprint-timer .stage-k{color:var(--teal)}
body .sprint-timer .btn.ghost{color:var(--teal);border-color:var(--teal)}
@media print{
  @page{size:A4;margin:12mm}
  body{font-size:14px;background:#fff}
  .page{padding:0!important;gap:0!important;max-width:none}
  .certificate{margin:0!important;break-inside:avoid}
  .cert-in{padding:40px 40px 28px;gap:8px}
  .cert-logo{width:240px}
  .cert-kind{font-size:30px}
  .cert-name{font-size:36px}
  .cert-course{font-size:21px}
  .cert-signature{font-size:38px}
}
@media (max-width:640px){.panel{padding:20px}.brand{font-size:15.5px}.brand small{font-size:12.5px}}
