/* Shared by the home page and the docs: colour tokens, base type, header,
   buttons and footer. Page-specific styles live with each page. */
:root{
  --sky:#8fd0ef; --page:#ffffff; --ink:#0f1720; --soft:#36424f; --key:#0f1720; --ghost:#d9eef8;
  --brick:#c62a1d; --onbrick:#ffffff; --yellow:#ffcf1a; --onyellow:#0f1720; --focus:#0f1720;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --sky:#0e2533; --page:#16303f; --ink:#eef6fb; --soft:#b5c7d2; --key:#8fd0ef; --ghost:#1f3d4e;
  --brick:#ff7a6b; --onbrick:#1a0806; --yellow:#ffcf1a; --onyellow:#0f1720; --focus:#ffcf1a; color-scheme:dark}}
:root[data-theme="dark"]{
  --sky:#0e2533; --page:#16303f; --ink:#eef6fb; --soft:#b5c7d2; --key:#8fd0ef; --ghost:#1f3d4e;
  --brick:#ff7a6b; --onbrick:#1a0806; --yellow:#ffcf1a; --onyellow:#0f1720; --focus:#ffcf1a; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sky);color:var(--ink);font:400 17px/1.6 "Rubik",sans-serif}
::selection{background:var(--yellow);color:var(--onyellow)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
p{margin:0;max-width:62ch}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:800}
.wrap{max-width:1200px;margin:0 auto;padding-inline:max(20px,4vw)}

.skip{position:absolute;left:-9999px;top:12px;z-index:2;background:var(--yellow);color:var(--onyellow);padding:10px 16px;border-radius:10px;font-weight:700}
.skip:focus{left:16px}

header.top .wrap{display:flex;align-items:center;gap:22px;padding-block:18px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:23px}
.brand svg{width:40px;height:30px}
.stud{fill:var(--brick)}
.top nav{display:flex;gap:6px 24px;flex-wrap:wrap;margin-left:auto;font-weight:500;font-size:16px}
.top nav a{text-decoration:none;padding-block:6px}
.top nav a:hover,.top nav a[aria-current]{text-decoration:underline}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:12px;font:700 17px/1 "Rubik",sans-serif;text-decoration:none;border:3px solid var(--key);cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0)}
.btn.b{background:var(--brick);color:var(--onbrick)}
.btn.y{background:var(--yellow);color:var(--onyellow)}
.btn.p{background:var(--page);color:var(--ink)}
.tbd{align-self:flex-start;background:var(--yellow);color:var(--onyellow);border-radius:8px;padding:6px 11px;font-weight:700;font-size:14px}

footer{padding-block:40px 56px;font-size:15.5px}
footer .wrap{display:flex;gap:16px 24px;justify-content:space-between;flex-wrap:wrap}
footer nav{display:flex;gap:6px 24px;flex-wrap:wrap}

@media (max-width:560px){
  .top nav{margin-left:0;width:100%}
}
