:root{
  --ludy-scheme:light;
  --ludy-paper:#f5f8f6;
  --ludy-surface:#fff;
  --ludy-header:#fbfcfa;
  --ludy-footer:#edf4f0;
  --ludy-ink:#152b39;
  --ludy-muted:#4d6470;
  --ludy-line:#dce7e3;
  --ludy-accent:#176657;
  --ludy-tint:#e4f1ed;
  --ludy-hover:#fbfefd;
  --ludy-button:#152b39;
  --ludy-button-text:#fff;
  --ludy-button-hover:#244c57;
}
:root[data-theme="dark"]{
  --ludy-scheme:dark;
  --ludy-paper:#0e181f;
  --ludy-surface:#182630;
  --ludy-header:#111d23;
  --ludy-footer:#131f27;
  --ludy-ink:#eef7f6;
  --ludy-muted:#b3c7cc;
  --ludy-line:#304650;
  --ludy-accent:#8ce1c7;
  --ludy-tint:#233b43;
  --ludy-hover:#20323d;
  --ludy-button:#a6ead7;
  --ludy-button-text:#0c2b2a;
  --ludy-button-hover:#c3f6e8;
}
.site-header,.site-footer{
  --shell-gutter:32px;
  --shell-ink:var(--ludy-ink);
  --shell-muted:var(--ludy-muted);
  --shell-line:var(--ludy-line);
  --shell-tint:var(--ludy-tint);
  color-scheme:var(--ludy-scheme);
  color:var(--shell-ink);
  font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.site-header{position:relative;z-index:40;border-bottom:1px solid var(--shell-line);background:var(--ludy-header);padding-top:env(safe-area-inset-top,0px)}
.site-footer{border-top:1px solid var(--shell-line);background:var(--ludy-footer);padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))}
.site-shell-inner{
  margin-left:max(calc((100% - 1152px) / 2),calc(var(--shell-gutter) + env(safe-area-inset-left,0px)));
  margin-right:max(calc((100% - 1152px) / 2),calc(var(--shell-gutter) + env(safe-area-inset-right,0px)));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-header .site-shell-inner{min-height:76px}
.site-wordmark{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-size:19px;
  font-weight:760;
  letter-spacing:-.045em;
  white-space:nowrap;
  min-width:44px;
  min-height:44px;
}
.site-wordmark small{font-size:inherit;color:var(--shell-muted);font-weight:520}
.site-logo{display:block;width:40px;height:40px;flex:none}
.site-header nav,.site-footer nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.site-header nav a,.site-footer nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:44px;
  text-decoration:none;
  font-size:14px;
  font-weight:630;
}
.site-header nav a,.site-footer nav a{padding:7px 12px;border-radius:8px;color:var(--shell-muted)}
.site-header nav [aria-current],.site-header nav a:hover,.site-footer nav a:hover{
  background:var(--shell-tint);
  color:var(--shell-ink);
}
.site-language,.site-theme{position:relative}
.site-theme{display:none}
:root[data-theme] .site-theme{display:block}
.site-header details summary{
  display:grid;place-items:center;min-width:44px;min-height:44px;
  cursor:pointer;list-style:none;color:var(--shell-ink);font-size:13px;font-weight:700;border-radius:8px;
}
.site-header details summary::-webkit-details-marker{display:none}
.site-header details[open] summary,.site-header details summary:hover{background:var(--shell-tint)}
.site-header details summary:focus-visible{outline:3px solid var(--ludy-accent);outline-offset:2px}
.site-language ul,.site-theme fieldset{
  position:absolute;right:0;top:100%;min-width:148px;margin:2px 0 0;padding:5px;
  list-style:none;background:var(--ludy-surface);border:1px solid var(--shell-line);
  border-radius:10px;box-shadow:0 8px 20px #0003;
}
.site-header .site-language li a{display:flex;justify-content:flex-start;white-space:nowrap;padding-inline:10px}
.site-theme summary svg{width:22px;height:22px}
.site-theme fieldset{min-width:165px;margin-top:7px;padding:4px 5px 5px}
.site-theme legend{padding-inline:4px;background:var(--ludy-surface);color:var(--shell-muted);font-size:12px;font-weight:650}
.site-theme label{
  display:flex;gap:9px;align-items:center;min-height:44px;padding:0 10px;
  white-space:nowrap;border-radius:7px;font-size:14px;cursor:pointer;
}
.site-theme label:hover{background:var(--shell-tint)}
.site-theme input{margin:0;accent-color:var(--ludy-accent)}
.site-footer .site-wordmark{font-size:17px}
.site-footer p{margin:0;color:var(--shell-muted);font-size:14px}
.site-header a:focus-visible,.site-footer a:focus-visible,.site-skip:focus-visible{outline:3px solid var(--ludy-accent);outline-offset:3px}
.site-skip{position:absolute;top:-100px;left:16px;z-index:100;background:var(--ludy-surface);color:var(--ludy-ink);padding:10px;font:16px/1.5 system-ui,sans-serif}
.site-skip:focus{top:16px}
@media(max-width:850px){
  .site-header,.site-footer{--shell-gutter:20px}
  .site-header nav a,.site-footer nav a{padding:6px 8px}
}
@media(max-width:650px){
  .site-header,.site-footer{--shell-gutter:16px}
  .site-shell-inner{gap:8px}
  .site-header .site-shell-inner{min-height:60px}
  .site-footer p{display:none}
  .site-header nav,.site-footer nav{gap:0}
  .site-header nav a,.site-footer nav a{font-size:13px;padding:6px}
  .site-wordmark,.site-footer .site-wordmark{font-size:15px;gap:6px}
  .site-logo{width:31px;height:31px}
  .site-footer{padding:2px 0 calc(2px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:420px){
  .site-header .site-wordmark small{display:none}
  .site-footer .site-wordmark>span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
  }
}
@media(max-width:360px){
  .site-header,.site-footer{--shell-gutter:10px}
  .site-header nav a,.site-footer nav a{font-size:12px;padding:6px 4px}
  .site-header .site-wordmark>span{display:none}
}
