/* MetaChem trial UI · design refresh (Stage 5A). Brand cues from the Academy pages, recorded 19 Oct 2026.
   Independent CSS: system fonts only, no external fonts, scripts, tracking or service URLs (CSP style-src 'self'). */
:root{
  --bg:#f5f8fb;--surface:#fff;--sunken:#edf2f7;--line:#dbe4ec;--line-strong:#c3d1dd;
  --ink:#152433;--ink-2:#44586b;--ink-3:#6a7d8f;
  --brand:#087cb8;--brand-ink:#065b88;--brand-soft:#e6f3fa;--on-brand:#fff;
  --warm-soft:#fdf2e3;--ok:#1f7a55;--ok-soft:#e5f4ec;--wait:#8a5a00;--wait-soft:#fdf3dc;--bad:#b4372f;--bad-soft:#fbeae8;--off:#5d6b78;--off-soft:#eef1f4;
  --focus:#e7a63d;--shadow:0 1px 2px rgba(21,36,51,.06),0 6px 20px rgba(21,36,51,.06);
  --f-display:ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --f-body:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --r:12px;--r-lg:18px;--gutter:max(16px,env(safe-area-inset-left,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.2;letter-spacing:-.02em;margin:0 0 10px;text-wrap:balance}
h1{font-size:clamp(28px,4.4vw,40px);font-weight:700}
h2{font-size:clamp(21px,2.6vw,26px);font-weight:650}
h3{font-size:18px;font-weight:650}
p{margin:0 0 12px}
a{color:var(--brand-ink);text-underline-offset:3px}
button,input,select,textarea{font:inherit;color:inherit;max-width:100%;min-width:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.small{font-size:15px}.muted{color:var(--ink-2)}.tiny{font-size:13.5px;color:var(--ink-3)}
.mono{font-family:var(--f-mono);font-size:.86em;overflow-wrap:anywhere}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-ink);margin:0 0 6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
.ribbon{background:var(--warm-soft);color:var(--ink);font-size:14px;padding:7px var(--gutter);text-align:center;border-bottom:1px solid var(--line)}
.ribbon span{color:var(--ink-2)}
.brandbar{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;min-height:66px;padding:0 max(var(--gutter),calc((100vw - 1120px)/2))}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-right:auto;line-height:1.15}
.brand>span:last-child{font-family:var(--f-display);font-weight:600;font-size:17px}
.brand strong{font-weight:700}
.brand small{display:block;font-family:var(--f-body);font-size:10.5px;letter-spacing:.16em;color:var(--ink-3);font-weight:600}
.brand-mark{display:grid;place-items:center;position:relative;width:38px;height:42px;border-radius:10px;border:1px solid var(--line-strong);background:var(--brand-soft);font-family:var(--f-display);font-weight:800;font-size:21px;color:var(--brand-ink)}
.brand-mark>span{position:absolute;right:4px;bottom:3px;font-size:11px;font-weight:800}
.environment,.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:13px;font-weight:700;white-space:nowrap}
.site-nav{display:flex;gap:4px}
.site-nav a,.site-nav button{padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:15.5px;background:none;border:0;cursor:pointer;min-height:auto}
.site-nav a:hover,.site-nav button:hover{background:var(--sunken);color:var(--ink)}
.site-nav [aria-current="page"]{color:var(--brand-ink);background:var(--brand-soft)}
.tabbar{display:none}
@media (max-width:820px){
  .site-nav,.brandbar .environment{display:none}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding:4px max(8px,env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:12px;font-weight:600;color:var(--ink-3);text-decoration:none;border-radius:8px;background:none;border:0;min-height:auto;cursor:pointer}
  .tabbar svg{width:22px;height:22px}
  .tabbar [aria-current="page"]{color:var(--brand-ink)}
  .participant-page main{padding-bottom:96px}
}
@media (max-width:480px){.brand small{display:none}.brand>span:last-child{font-size:16px;white-space:nowrap}}
.signout{margin-left:4px;white-space:nowrap;flex:none}
#catalogue-panel{margin-bottom:22px}
.access-list p{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:8px 0;flex-wrap:wrap}
.feedback-page-heading{display:none}

/* Page */
main{max-width:1120px;margin:0 auto;padding:28px var(--gutter) 56px}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.page-heading p{margin:0}
footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid var(--line);margin-top:40px;padding-top:18px;font-size:14.5px;color:var(--ink-3)}
footer strong{color:var(--ink)}

/* Status line */
#notice{margin:0 0 18px;padding:12px 16px;border-radius:var(--r);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);font-size:15.5px}
#notice:empty{display:none}
#notice[data-error="true"]{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 30%,transparent);color:var(--ink);font-weight:600}

/* Surfaces */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,3vw,26px);box-shadow:var(--shadow);margin-bottom:18px;min-width:0}
.panel .panel{box-shadow:none;border-radius:var(--r);padding:16px;margin-bottom:12px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
.sunk{background:var(--sunken);border-radius:var(--r);padding:16px;margin-bottom:12px}
.section-description{color:var(--ink-2)}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.row.between{justify-content:space-between}

/* Buttons */
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 20px;border-radius:10px;border:1px solid transparent;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:16px;cursor:pointer;text-decoration:none;line-height:1.2;margin:4px 6px 4px 0}
button:hover,.button:hover{filter:brightness(1.06)}
button.secondary,.button.secondary{background:var(--surface);color:var(--brand-ink);border-color:var(--line-strong)}
button.quiet{background:transparent;color:var(--brand-ink);padding-inline:10px}
button.danger{background:var(--surface);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}
button.small-button{min-height:36px;padding:6px 14px;font-size:14.5px}
button:disabled,button[aria-disabled="true"]{background:var(--sunken);color:var(--ink-3);border-color:var(--line);cursor:not-allowed;filter:none}
.block{width:100%;margin-right:0}
.text-link{font-weight:600}

/* Forms */
form{display:flex;flex-direction:column;gap:16px}
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:15.5px}
input,select,textarea{width:100%;min-height:48px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);padding:10px 14px;font-size:17px;font-weight:400}
textarea{min-height:110px;resize:vertical}
input[readonly]{background:var(--sunken);color:var(--ink-2)}
input:invalid:not(:placeholder-shown):not(:focus){border-color:var(--bad)}
label.check{flex-direction:row;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-weight:500;cursor:pointer}
label.check input{width:22px;height:22px;min-height:0;margin:1px 0 0;flex:none;accent-color:var(--brand);padding:0}
label.check:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.pair{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:0 0 14px;display:flex;flex-direction:column;gap:12px;min-width:0}
legend{font-family:var(--f-display);font-weight:650;padding:0 6px}
.field-hint{font-size:14px;color:var(--ink-3);font-weight:400}
.sticky-action{margin-top:4px}
@media (max-width:820px){.sticky-action{position:sticky;bottom:64px;z-index:2;background:linear-gradient(to top,var(--surface) 70%,transparent);padding-top:12px}}

/* Chips and messages */
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:13.5px;font-weight:650;line-height:1.5;white-space:nowrap;background:var(--off-soft);color:var(--off)}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.wait{background:var(--wait-soft);color:var(--wait)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.info{background:var(--brand-soft);color:var(--brand-ink)}
.msg{display:flex;gap:12px;align-items:flex-start;border-radius:var(--r);padding:14px 16px;border:1px solid var(--line);background:var(--sunken);margin-bottom:12px}
.msg::before{content:"i";flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:var(--off);color:var(--surface)}
.msg.ok{background:var(--ok-soft)}.msg.ok::before{content:"✓";background:var(--ok)}
.msg.wait{background:var(--wait-soft)}.msg.wait::before{content:"!";background:var(--wait)}
.msg.bad{background:var(--bad-soft)}.msg.bad::before{content:"×";background:var(--bad)}
.msg.info{background:var(--brand-soft)}.msg.info::before{background:var(--brand)}
.msg p{margin:0}.msg b{display:block}
.access-good{color:var(--ok);font-weight:600}
.empty{text-align:center;padding:30px 16px;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--ink-2);margin-bottom:12px}
.empty h3{color:var(--ink)}
.sk{background:linear-gradient(90deg,var(--sunken),var(--line),var(--sunken));background-size:200% 100%;animation:sh 1.3s linear infinite;border-radius:8px;height:16px;margin:10px 0}
.sk.wide{width:90%}.sk.mid{width:65%}.sk.short{width:35%;height:22px}
@keyframes sh{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.sk{animation:none}}

/* Welcome (signed out) */
.welcome-panel{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center}
.welcome-panel h2{font-size:clamp(26px,4vw,38px)}
.welcome-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.welcome-steps li{display:flex;gap:14px;align-items:flex-start;background:var(--sunken);border-radius:var(--r);padding:14px}
.welcome-steps li>span{font-family:var(--f-mono);font-size:13px;color:var(--brand-ink);font-weight:700;padding-top:3px}
.welcome-steps p{margin:2px 0 0;color:var(--ink-2);font-size:15.5px}
@media (max-width:820px){.welcome-panel{grid-template-columns:1fr}}

/* Participant layout */
.view-heading{margin-bottom:16px}
.view-heading p{margin:0;color:var(--ink-2)}
.participant-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
.participant-grid>aside{position:sticky;top:86px}
@media (max-width:920px){.participant-grid{grid-template-columns:1fr}.participant-grid>aside{position:static}}
.identity h2{margin-bottom:6px}
.person-line{font-size:14.5px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:12px;margin:12px 0 0}
.steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 18px}
.steps li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink-3)}
.steps li::before{content:"";height:5px;border-radius:3px;background:var(--line)}
.steps li.done::before,.steps li.now::before{background:var(--brand)}
.steps li.now{color:var(--ink)}

/* Catalogue */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.wcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.wcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px 0}
.wcard .body{padding:10px 20px 16px;flex:1}
.wcard .body p{color:var(--ink-2);font-size:15.5px}
.wcard .foot{border-top:1px solid var(--line);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.wcard h3{font-size:19px}
.meta{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:15px;color:var(--ink-2);margin:0}
.meta dt{color:var(--ink-3)}.meta dd{margin:0}
.topics{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 12px}
.topics li{padding:4px 12px;border-radius:8px;background:var(--sunken);font-size:15px}

/* Schedule / sessions */
#workshop-schedule p,.session{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin:0 0 8px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:15px}
.session-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.session{grid-template-columns:60px 1fr auto;padding:12px 14px;margin:0}
.session.cancelled{opacity:.7}
.date{display:flex;flex-direction:column;align-items:center;border-radius:10px;background:var(--brand-soft);color:var(--brand-ink);padding:6px 0;line-height:1.1}
.date b{font-family:var(--f-display);font-size:22px}
.date small{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.session.cancelled .date{background:var(--off-soft);color:var(--off)}
@media (max-width:520px){.session{grid-template-columns:52px 1fr}.session>.chip{grid-column:2;justify-self:start}}
.joinbox{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:18px;border-radius:var(--r);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);margin-bottom:16px}
.joinbox.ended{background:var(--sunken);border-color:var(--line)}
.joinbox h3{margin:6px 0 2px}
.joinbox p{margin:0;color:var(--ink-2)}
@media (max-width:620px){.joinbox{grid-template-columns:1fr}}

/* Offers */
#trial-offers{display:flex;flex-direction:column;gap:10px;margin:12px 0}
#trial-offers label.check{flex-direction:row}
#trial-offers label.check>span{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.offer-title{font-weight:700;font-size:16.5px}
.offer-price{font-family:var(--f-display);font-weight:700;font-size:19px;color:var(--ink)}
.offer-detail{font-size:14.5px;color:var(--ink-2);font-weight:400}
.offer-note{font-size:13.5px;color:var(--ink-3);font-weight:400}
.currency-switch{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}
.currency-switch button{margin:0;border-radius:0;border:0;min-height:40px;background:var(--surface);color:var(--brand-ink)}
.currency-switch button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand)}
.summary{display:flex;flex-direction:column;gap:6px;font-variant-numeric:tabular-nums}
.summary .line{display:flex;justify-content:space-between;gap:12px}
.summary .total{border-top:1px solid var(--line);padding-top:8px;font-weight:700;font-size:18px}

/* Tabs */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;color:var(--ink-2);margin:0;padding:10px 14px;min-height:44px;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--brand-ink);border-bottom-color:var(--brand)}
@media (max-width:560px){.tabs button{flex:1;padding:10px 6px;font-size:14.5px}}

/* Purchases */
.purchase{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:10px}
.purchase>div{min-width:0;flex:1 1 240px}
.purchase p{margin:2px 0;font-size:15px}
.purchase .amount{font-family:var(--f-display);font-weight:700;font-size:19px}
.purchase .actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
@media (max-width:560px){.purchase .actions{align-items:flex-start}}
#trial-refunds:empty{display:none}

/* Feedback and certificate */
.track{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(4,1fr)}
.track li{position:relative;padding-top:30px;font-size:14px;font-weight:600;color:var(--ink-3);text-align:center}
.track li::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;background:var(--surface);border:3px solid var(--line-strong);z-index:1}
.track li::after{content:"";position:absolute;top:14px;left:-50%;width:100%;height:3px;background:var(--line)}
.track li:first-child::after{display:none}
.track li.done{color:var(--ink)}.track li.done::before{background:var(--ok);border-color:var(--ok)}.track li.done::after{background:var(--ok)}
.track li.now{color:var(--brand-ink)}.track li.now::before{border-color:var(--brand);background:var(--brand-soft)}
@media (max-width:560px){.track{grid-template-columns:1fr;gap:10px}.track li{padding:0 0 0 30px;text-align:left}.track li::before{left:8px;top:3px}.track li::after{display:none}}
.certificate-name-box{background:var(--sunken);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px}
.certificate-name-box h3{margin:0}
.cert{border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:20px;background:linear-gradient(135deg,var(--surface),var(--brand-soft));margin-bottom:12px}
.cert .name{font-family:var(--f-display);font-size:24px;font-weight:650;margin:4px 0}
.cert p{margin:4px 0}
.stars{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.stars button{margin:0;flex-direction:column;gap:0;min-height:54px;padding:6px 2px;background:var(--surface);color:var(--ink);border-color:var(--line-strong);font-size:18px}
.stars button small{font-weight:500;font-size:11.5px;color:var(--ink-3)}
.stars button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.stars button[aria-pressed="true"] small{color:inherit}

/* Verification */
.verification-page{max-width:760px}
.verification-page form{flex-direction:row;flex-wrap:wrap;align-items:flex-end}
.verification-page form label{flex:1 1 260px}
#result:empty{display:none}
#result p:first-child{font-weight:700}

/* Manager */
.manager-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.manager-sidebar{position:sticky;top:86px;display:flex;flex-direction:column;gap:4px}
.manager-sidebar nav{display:flex;flex-direction:column;gap:2px}
.manager-sidebar nav a{padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:15.5px}
.manager-sidebar nav a:hover{background:var(--sunken)}
.manager-sidebar nav a[aria-current="page"]{background:var(--ink);color:var(--surface)}
.sidebar-note{background:var(--sunken);border-radius:var(--r);padding:12px;font-size:14px;color:var(--ink-2);margin:12px 0 6px}
.sidebar-note span{color:var(--ink-3)}
.manager-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.manager-toolbar p{margin:0}
.manager-section>label,.manager-section>form>label{max-width:560px}
.manager-section pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--sunken);border-radius:var(--r);padding:12px;font-family:var(--f-mono);font-size:13.5px}
.manager-section article{border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:10px}
.manager-section details{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-bottom:10px}
.manager-section summary{cursor:pointer;font-weight:600}
.manager-picker{display:none}
@media (max-width:820px){.manager-layout{grid-template-columns:minmax(0,1fr)}.manager-sidebar{position:static;min-width:0}.manager-sidebar nav{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px}.manager-sidebar nav a{white-space:nowrap;border:1px solid var(--line)}.sidebar-note{display:none}}
.not-connected{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:620px){.not-connected{grid-template-columns:1fr}}

/* Design preview banner (inert preview pages) */
.preview-bar{background:var(--ink);color:var(--surface);border-radius:var(--r);padding:12px 16px;margin-bottom:18px;font-size:14.5px}
.preview-bar a{color:var(--surface);margin-right:14px}
.preview-bar nav{margin-top:6px}

@media (prefers-color-scheme:dark){:root{
  --bg:#0e1720;--surface:#15212c;--sunken:#1b2935;--line:#263645;--line-strong:#34495b;
  --ink:#e7eef5;--ink-2:#b2c1cf;--ink-3:#8b9cad;--brand:#46aee3;--brand-ink:#7cc6ec;--brand-soft:#16344a;--on-brand:#06263a;
  --warm-soft:#33291a;--ok:#5cc79a;--ok-soft:#143327;--wait:#e6b44e;--wait-soft:#372a10;--bad:#f08a80;--bad-soft:#3d1c1a;--off:#9fadba;--off-soft:#212e3a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);color-scheme:dark}}

/* MetaChem Academy look (ocean blue on warm paper), applied to MetaResearch Academy. */
:root{--bg:#faf9f6;--surface:#fff;--sunken:#f3f1ec;--line:#e6e2d9;--line-strong:#d3cec2;--ink:#0c1321;--ink-2:#3d4757;--ink-3:#6b7280;--brand:#0284c7;--brand-ink:#0369a1;--brand-soft:#e0f2fe;--focus:#38bdf8;--warm-soft:#fff7e6}
.brandbar{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.brand-mark{background:var(--brand);color:#fff;border-color:var(--brand)}
.brand-mark>span{color:#e0f2fe}
.site-nav a,.site-nav button{font-weight:600}
.header-cta{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;font-size:15px;text-decoration:none;white-space:nowrap}
.header-cta:hover{background:var(--brand-ink)}
.participant-page.signed-in .header-cta{display:none}
@media (max-width:820px){.header-cta{display:none}}
button,.button{border-radius:999px}
.welcome-panel h2{font-size:clamp(30px,4.6vw,46px);line-height:1.08;letter-spacing:-.03em}
.welcome-panel{background:linear-gradient(135deg,#fff 0%,#fff 55%,#f0f9ff 100%)}
.eyebrow{color:var(--brand-ink)}
.wcard{transition:box-shadow .15s ease,transform .15s ease}
.wcard:hover{box-shadow:0 2px 4px rgba(12,19,33,.06),0 14px 32px rgba(12,19,33,.08);transform:translateY(-1px)}
.wcard .instructor{font-weight:600;color:var(--ink);font-size:15px;margin-top:-4px}
footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px 28px;align-items:start}
footer .footer-links{display:flex;flex-direction:column;gap:4px}
footer .footer-links a{color:var(--ink-2);text-decoration:none}
footer .footer-links a:hover{color:var(--brand-ink)}
@media (max-width:720px){footer{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){:root{--bg:#0c1321;--surface:#111a2b;--sunken:#162238;--line:#22314a;--line-strong:#2d3f5c;--ink:#eef2f7;--ink-2:#b7c2d1;--ink-3:#8b98ab;--brand:#38bdf8;--brand-ink:#7dd3fc;--brand-soft:#0c2a40;--on-brand:#06263a}.welcome-panel{background:var(--surface)}.brand-mark{color:#06263a}.header-cta{color:#06263a}}
