/* Studies Multiverse: Standing Register
   Inlined critical CSS. No external requests, no web fonts, no framework.
   System fonts render instantly and cost nothing; on a phone in a hostel on
   bad wifi that is the difference between a usable answer and a blank page. */

:root{
  --ground:#F4F6F5; --surface:#fff; --surface-2:#EDF1F0;
  --line:#D6DEDC; --line-soft:#E4EAE9;
  --ink:#101E1D; --ink-2:#3C4E4C; --muted:#657775;
  --accent:#0F5560; --accent-soft:#DCEAEC;
  --good:#2F6F4E; --good-soft:#DCEBE2;
  --warn:#8F6412; --warn-soft:#F3E8CE;
  --bad:#9C3B2B; --bad-soft:#F3DFDA;
  --radius:3px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0B1413; --surface:#121D1C; --surface-2:#182524;
    --line:#263634; --line-soft:#1E2C2B;
    --ink:#E7EFED; --ink-2:#B8C8C5; --muted:#8A9C99;
    --accent:#57BCC6; --accent-soft:#12333A;
    --good:#6FC095; --good-soft:#122E23;
    --warn:#DCAE4E; --warn-soft:#33280F;
    --bad:#E08872; --bad-soft:#361C17;
  }
}
:root[data-theme="dark"]{
  --ground:#0B1413; --surface:#121D1C; --surface-2:#182524;
  --line:#263634; --line-soft:#1E2C2B;
  --ink:#E7EFED; --ink-2:#B8C8C5; --muted:#8A9C99;
  --accent:#57BCC6; --accent-soft:#12333A;
  --good:#6FC095; --good-soft:#122E23;
  --warn:#DCAE4E; --warn-soft:#33280F;
  --bad:#E08872; --bad-soft:#361C17;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--accent);color:#fff;padding:10px 14px;border-radius:var(--radius)}

header.site{
  display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between;
  max-width:1080px;margin:0 auto;padding:20px 24px;border-bottom:1px solid var(--line);
}
.brand{font-weight:700;letter-spacing:-.02em;color:var(--ink);text-decoration:none;font-size:1.05rem}
header.site nav{display:flex;flex-wrap:wrap;gap:18px;font-size:.92rem}
header.site nav a{color:var(--ink-2);text-decoration:none}
header.site nav a:hover{color:var(--accent);text-decoration:underline}

.crumbs{max-width:1080px;margin:0 auto;padding:12px 24px 0;font-size:.84rem;color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.crumbs li+li::before{content:"›";margin-right:8px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs li:last-child a{color:var(--ink-2)}

main{max-width:1080px;margin:0 auto;padding:28px 24px 72px}
h1{font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.1;letter-spacing:-.022em;margin:.2em 0 .4em;text-wrap:balance;font-weight:700}
h2{font-size:clamp(1.2rem,2.6vw,1.5rem);letter-spacing:-.015em;margin:2em 0 .5em;text-wrap:balance;font-weight:600}
h3{font-size:1.05rem;margin:0 0 .3em;font-weight:600;letter-spacing:-.01em}
p{max-width:70ch}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:62ch}
.small{font-size:.86rem;color:var(--muted)}
a{color:var(--accent);text-underline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
code{font-family:var(--mono);font-size:.86em;background:var(--surface-2);padding:1px 5px;border-radius:2px}

/* search: the front door */
.searchbox{margin:26px 0 8px;max-width:640px}
.searchbox label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.searchbox input{
  width:100%;padding:15px 16px;font-size:1.05rem;font-family:inherit;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);
}
.searchbox button{
  margin-top:10px;padding:12px 22px;font-size:.98rem;font-family:inherit;font-weight:600;
  background:var(--accent);color:#fff;border:0;border-radius:var(--radius);cursor:pointer;
}
.searchbox button:hover{filter:brightness(1.08)}
#sm-results{margin-top:14px}
#sm-results ul{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
#sm-results li{border-bottom:1px solid var(--line-soft)}
#sm-results li:last-child{border-bottom:0}
#sm-results a{display:flex;justify-content:space-between;gap:14px;padding:12px 15px;text-decoration:none;color:var(--ink)}
#sm-results a:hover{background:var(--surface-2)}
#sm-results .c{color:var(--muted);font-size:.86rem;white-space:nowrap}
#sm-results .gone{color:var(--bad);font-size:.8rem;font-weight:600}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:32px 0}
.stats div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.stats b{display:block;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.6rem;letter-spacing:-.02em}
.stats small{display:block;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:7px;line-height:1.4}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--accent)}
.card p{margin:.2em 0;color:var(--ink-2);font-size:.94rem}
.card .meta{color:var(--muted);font-size:.82rem;margin-top:10px}

/* the change record */
ul.changes{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:10px}
.ch{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:var(--radius);padding:15px 18px}
.ch-removed{border-left-color:var(--bad)}
.ch-added{border-left-color:var(--good)}
.ch-renamed{border-left-color:var(--accent)}
.ch-modified{border-left-color:var(--warn)}
.ch-course_withdrawn_provider_still_listed{border-left-color:var(--warn)}
.ch-head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;margin-bottom:7px}
.tag{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:2px;background:var(--surface-2);color:var(--muted)}
.ch-removed .tag{background:var(--bad-soft);color:var(--bad)}
.ch-added .tag{background:var(--good-soft);color:var(--good)}
.ch-renamed .tag{background:var(--accent-soft);color:var(--accent)}
.ch-modified .tag,.ch-course_withdrawn_provider_still_listed .tag{background:var(--warn-soft);color:var(--warn)}
.ch .country{font-size:.84rem;color:var(--muted)}
.ch time{margin-left:auto;font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.ch-statement{margin:0 0 6px;font-size:.96rem}
.ch-caveat{margin:0;font-size:.85rem;color:var(--muted);max-width:78ch}

aside.warning,aside.note,aside.correction,.charter{
  background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--warn);
  border-radius:var(--radius);padding:18px 20px;margin:22px 0;
}
aside.note{border-left-color:var(--accent)}
aside.correction{border-left-color:var(--accent)}
.charter{border-left-color:var(--good)}
aside p:last-child,.charter p:last-child{margin-bottom:0}

.status{display:inline-block;padding:9px 14px;border-radius:var(--radius);font-weight:600;font-size:.96rem}
.is-listed{background:var(--good-soft);color:var(--good)}
.not-listed{background:var(--bad-soft);color:var(--bad)}

dl.flags{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:14px 0}
dl.flags dt{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
dl.flags dd{margin:4px 0 14px;font-size:1.02rem}
dl.flags dd:last-child{margin-bottom:0}

.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:16px 0}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:.92rem}
th,td{padding:10px 15px;text-align:left;border-bottom:1px solid var(--line-soft)}
thead th{font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
td.hash{font-family:var(--mono);font-size:.78rem;color:var(--muted)}

ol.steps{max-width:72ch;padding-left:22px}
ol.steps li{margin-bottom:12px}
ul.links{list-style:none;padding:0;max-width:72ch}
ul.links li{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:.94rem}
.more{margin-top:16px;font-weight:600}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 20px;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:.95rem}

footer.site{border-top:1px solid var(--line);margin-top:56px}
footer.site p{max-width:1080px;margin:0 auto;padding:22px 24px;font-size:.84rem;color:var(--muted)}
footer.site a{color:var(--muted)}

@media (max-width:640px){
  body{font-size:16px}
  main{padding:20px 18px 56px}
  header.site{padding:16px 18px}
  .ch time{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Watchlist: the columns a register publishes and nobody renders.
   Deliberately plain: a list of quotations, not a scoreboard. */
.sm-watchlist{list-style:none;margin:18px 0;padding:0;display:grid;gap:8px}
.sm-watchlist li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.sm-watchlist b{display:block;font-size:1rem;letter-spacing:-.01em}
.sm-watchlist small{display:block;font-size:.8rem;color:var(--muted);margin-top:5px;line-height:1.45}
.sm-caveat{font-size:.82rem;color:var(--muted);line-height:1.5;max-width:70ch;margin-top:14px}

/* Offer-letter code check. Same plain treatment as the watchlist: a list of
   statements from the register, not a verdict with a colour. */
.sm-verify label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 6px}
.sm-verify input{width:100%;max-width:420px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:.95rem}
.sm-verify button{margin-top:14px;padding:11px 18px;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:600;cursor:pointer}
.sm-verify-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.sm-verify-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.sm-verify-list b{display:block;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.sm-verify-list small{display:block;font-size:.88rem;line-height:1.5;margin-top:5px}

/* ===== Studies Multiverse: site layer =====
   The register stylesheet above is the design system (tokens, dark mode,
   system fonts). This part adds the site header and footer, article
   typography, tool pages and forms. No framework, no web fonts. */

.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
img{max-width:100%;height:auto}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* header */
.site-header{border-bottom:1px solid var(--line);background:var(--surface)}
.site-header .bar{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap;justify-content:space-between}
.site-header .brand{font-size:1.1rem}
.site-header ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.93rem}
.site-header nav a{color:var(--ink-2);text-decoration:none;padding:4px 0;display:inline-block}
.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--accent);text-decoration:underline}
.nav-toggle{display:none;font:inherit;font-size:.9rem;font-weight:600;background:none;border:1px solid var(--line);color:var(--ink);border-radius:var(--radius);padding:7px 12px;cursor:pointer}
@media (max-width:760px){
  .nav-toggle{display:inline-block}
  #site-nav{display:none;width:100%}
  #site-nav.open{display:block}
  .site-header ul{flex-direction:column;gap:0}
  .site-header nav li a{padding:10px 0;border-top:1px solid var(--line-soft);display:block}
}

/* articles and ordinary pages */
main.article{max-width:780px}
main.article.wide{max-width:1080px}
main.article h1{margin-top:.3em}
.entry{font-size:1.04rem;line-height:1.75}
.entry p,.entry li{max-width:none}
.entry h2{margin-top:1.9em}
.entry h3{margin-top:1.5em;font-size:1.12rem}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{margin-bottom:.45em}
.entry blockquote{margin:1.4em 0;padding:.4em 1.1em;border-left:3px solid var(--accent);color:var(--ink-2)}
.entry table{min-width:0}
.entry figure{margin:1.6em 0}
.entry figure.wp-block-table,.entry .table-scroll{overflow-x:auto}
.entry img{border-radius:6px}
.entry details{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;margin:10px 0}
.entry summary{cursor:pointer;font-weight:600}
.entry input,.entry select,.entry textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;max-width:100%}
.entry button{font:inherit}

/* guide index (blog and categories) */
.kind-page .entry:has(> article.post){display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;align-items:start}
.entry > article.post{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;padding-bottom:14px}
.entry > article.post > a{order:1}
.entry > article.post img{width:100%;height:180px;object-fit:cover;border-radius:0;display:block}
.entry > article.post .entry-title{order:2;font-size:1.04rem;line-height:1.4;margin:12px 16px 6px}
.entry > article.post .entry-title a{color:var(--ink);text-decoration:none}
.entry > article.post .entry-title a:hover{color:var(--accent)}
.entry > article.post > p{order:3;margin:0 16px;font-size:.94rem;color:var(--ink-2)}
main.article:has(article.post){max-width:1080px}

/* the register's "tools" strip, used on several pages */
.sm-tools-strip{max-width:960px;margin:36px auto 8px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.sm-tools-head{margin:0 0 10px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.sm-tools-strip p{margin:0 0 8px;font-size:.92rem;line-height:1.6;color:var(--ink-2)}
.sm-tools-strip p:last-child{margin-bottom:0}
.sm-tools-strip a{color:var(--ink-2);text-decoration:none}
.sm-tools-strip a strong{color:var(--accent)}

/* home page sections that sat below the content */
#sm-follow,#cm-world{color:var(--ink)}
#sm-follow{background:var(--surface)}

/* forms */
.sm-form{max-width:560px;margin:18px 0}
.sm-form label{display:block;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.sm-form input,.sm-form textarea{width:100%;font:inherit;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.sm-form button{margin-top:16px;padding:12px 22px;font:inherit;font-weight:600;background:var(--accent);color:#fff;border:0;border-radius:var(--radius);cursor:pointer}
.sm-form-status{min-height:1.4em;margin-top:10px;font-weight:600}
.sm-form-status.ok{color:var(--good)}
.sm-form-status.err{color:var(--bad)}

/* affiliate disclosure next to a partner link */
.aff-note{font-size:.82rem;color:var(--muted);border-left:3px solid var(--warn);padding:4px 10px;margin:10px 0}

/* footer */
.site-footer{border-top:1px solid var(--line);margin-top:64px;background:var(--surface);font-size:.9rem}
.site-footer .wrap{padding-top:34px;padding-bottom:30px}
.foot-intro{max-width:62ch}
.foot-intro p{color:var(--ink-2);margin:.5em 0 0}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;margin:28px 0}
.foot-cols h2{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{margin:0 0 7px}
.foot-cols a,.foot-legal a,.foot-pub a{color:var(--ink-2);text-decoration:none}
.foot-cols a:hover,.foot-legal a:hover,.foot-pub a:hover{color:var(--accent);text-decoration:underline}
.foot-legal{border-top:1px solid var(--line-soft);padding-top:18px;margin:0;max-width:none}
.foot-pub{color:var(--muted);font-size:.84rem;max-width:none}

@media print{.site-header,.site-footer,.nav-toggle{display:none}}

/* the two dark tool pages keep a matching header */
.sm-on-date .site-header,.sm-register-watch .site-header{background:#0b1413;border-bottom-color:rgba(231,239,237,.12)}
.sm-on-date .site-header .brand,.sm-register-watch .site-header .brand{color:#e7efed}
.sm-on-date .site-header nav a,.sm-register-watch .site-header nav a{color:#b9cbc8}
.sm-on-date .site-footer,.sm-register-watch .site-footer{background:#101c1b;border-top-color:rgba(231,239,237,.12);color:#b9cbc8}
.sm-on-date .site-footer a,.sm-register-watch .site-footer a{color:#b9cbc8}

/* tables inside articles */
.entry .tablewrap{margin:1.4em 0}
.entry .tablewrap table{min-width:640px}
.entry thead th{white-space:normal;vertical-align:bottom}
.entry td{vertical-align:top}
