html{box-sizing:border-box;font-size:16px}
*,*:before,*:after{box-sizing:inherit}
body,h1,h2,h3,h4,h5,h6,p,ol,ul{margin:0;padding:0;font-weight:400}
ol,ul{list-style:none}
img{max-width:100%;height:auto}
a,a:visited{text-decoration:none}
a:hover{text-decoration:underline}
input,select,textarea,button{font-family:inherit;font-size:inherit;line-height:inherit}
button,select{text-transform:none}
button,input{overflow:visible}
:root{--breakpoint-xsmall:20rem;--breakpoint-small:34rem;--breakpoint-medium:48rem;--breakpoint-large:63.25rem;--breakpoint-xlarge:80rem;--breakpoint-xxlarge:90rem;--boxShadow-thin:inset 0 0 0 max(1px, .0625rem);--boxShadow-thick:inset 0 0 0 max(2px, .125rem);--boxShadow-thicker:inset 0 0 0 max(4px, .25rem);--borderWidth-thin:max(1px, .0625rem);--borderWidth-thick:max(2px, .125rem);--borderWidth-thicker:max(4px, .25rem);--borderRadius-small:.1875rem;--borderRadius-medium:.375rem;--borderRadius-large:.75rem;--borderRadius-full:624.9375rem;--outline-focus-offset:-.125rem;--outline-focus-width:.125rem;--base-text-weight-light:300;--base-text-weight-normal:400;--base-text-weight-medium:500;--base-text-weight-semibold:600;--base-size-4:.25rem;--base-size-8:.5rem;--base-size-12:.75rem;--base-size-16:1rem;--base-size-20:1.25rem;--base-size-24:1.5rem;--base-size-28:1.75rem;--base-size-32:2rem;--base-size-36:2.25rem;--base-size-40:2.5rem;--base-size-44:2.75rem;--base-size-48:3rem;--base-size-64:4rem;--base-size-80:5rem;--base-size-96:6rem;--base-size-112:7rem;--base-size-128:8rem}
@font-face{font-family:sf pro display;font-style:normal;font-weight:400;src:local("SF Pro Display"),url(./SFPRODISPLAYREGULAR-6PKAZPAV.woff) format("woff")}
body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Segoe UI,helvetica neue,"Apple Color Emoji","Segoe UI Emoji",sans-serif;line-height:1.5;color:#24292f}
:root{--fg-default:#1f2328;--bg-default:#fff;--fg-emphasis:white;--bg-emphasis:#24292f;--fg-accent:#0969da;--bg-accent:#fff;--fg-double-nav-top:rgba(255, 255, 255, .8);--bg-double-nav-top:rgba(22, 22, 22, .8);--fg-double-nav-green:rgba(255, 255, 255, .8);--bg-double-nav-green:#016732cc;--fg-footer:#eee;--bg-footer:#000}
.color-fg-default{color:var(--fg-default)}
.color-bg-default{background-color:var(--bg-default)}
.color-fg-emphasis{color:var(--fg-emphasis)}
.color-bg-emphasis{background-color:var(--bg-emphasis)}
.color-fg-accent{color:var(--fg-accent)}
.color-bg-accent{background-color:var(--bg-accent)}
.color-fg-double-nav-top{color:var(--fg-double-nav-top)}
.color-bg-double-nav-top{background-color:var(--bg-double-nav-top)}
.color-fg-double-nav-green{color:var(--fg-double-nav-green)}
.color-bg-double-nav-green{background-color:var(--bg-double-nav-green)}
.color-fg-footer{color:var(--fg-footer)}
.color-bg-footer{background-color:var(--bg-footer)}
:root{--fg-muted:#656d76;--bg-muted:#656d76;--fg-subtle:#6e7781;--bg-subtle:#6e7781;--fg-success:#1a7f37;--bg-success:#1a7f37;--fg-attention:#9a6700;--bg-attention:#9a6700;--fg-severe:#bc4c00;--bg-severe:#bc4c00;--fg-danger:#d1242f;--bg-danger:#d1242f;--fg-open:#1a7f37;--bg-open:#1a7f37;--fg-closed:#d1242f;--bg-closed:#d1242f;--fg-done:#8250df;--bg-done:#8250df;--fg-sponsors:#bf3989;--bg-sponsors:#bf3989;--fg-overlay:white;--bg-overlay:white;--fg-inset:#f6f8fa;--bg-inset:#f6f8fa;--fg-transparent:rgba(0, 0, 0, 0);--bg-transparent:rgba(0, 0, 0, 0)}
.color-fg-muted{color:var(--fg-muted)}
.color-bg-muted{background-color:var(--bg-muted)}
.color-fg-subtle{color:var(--fg-subtle)}
.color-bg-subtle{background-color:var(--bg-subtle)}
.color-fg-success{color:var(--fg-success)}
.color-bg-success{background-color:var(--bg-success)}
.color-fg-attention{color:var(--fg-attention)}
.color-bg-attention{background-color:var(--bg-attention)}
.color-fg-severe{color:var(--fg-severe)}
.color-bg-severe{background-color:var(--bg-severe)}
.color-fg-danger{color:var(--fg-danger)}
.color-bg-danger{background-color:var(--bg-danger)}
.color-fg-open{color:var(--fg-open)}
.color-bg-open{background-color:var(--bg-open)}
.color-fg-closed{color:var(--fg-closed)}
.color-bg-closed{background-color:var(--bg-closed)}
.color-fg-done{color:var(--fg-done)}
.color-bg-done{background-color:var(--bg-done)}
.color-fg-sponsors{color:var(--fg-sponsors)}
.color-bg-sponsors{background-color:var(--bg-sponsors)}
.color-fg-overlay{color:var(--fg-overlay)}
.color-bg-overlay{background-color:var(--bg-overlay)}
.color-fg-inset{color:var(--fg-inset)}
.color-bg-inset{background-color:var(--bg-inset)}
.color-fg-transparent{color:var(--fg-transparent)}
.color-bg-transparent{background-color:var(--bg-transparent)}
.dark{--fg-default:#1f2328;--fg-muted:#656d76;--fg-subtle:#6e7781;--fg-accent:#0969da;--fg-success:#1a7f37;--fg-attention:#9a6700;--fg-severe:#bc4c00;--fg-danger:#d1242f;--fg-open:#1a7f37;--fg-closed:#d1242f;--fg-done:#8250df;--fg-sponsors:#bf3989;--fg-emphasis:white;--bg-emphasis:#0969da;--bg-default:white;--bg-overlay:white;--bg-inset:#f6f8fa}
.color-fg-inherit{color:inherit!important}
:root{--gap:24px;--gap2:calc(var(--gap) / 2);--gap3:calc(var(--gap) / 3);--content-gap:20px;--content-gap2:10px;--nav-width:1024px;--main-width:960px;--header-height:60px;--nav-height:44px;--footer-height:60px;--radius:8px;--theme:white;--entry:white;--primary:#1e1e1e;--secondary:#6c6c6c;--tertiary:#d6d6d6;--content:#1f1f1f;--hljs-bg:#1c1d21;--code-bg:whitesmoke;--border:#eeeeee}
.dark{--theme:#1d1e20;--entry:#2e2e33;--primary:#dadadb;--secondary:#9b9c9d;--tertiary:#414244;--content:#c4c4c5;--hljs-bg:#2e2e33;--code-bg:#37383e;--border:#333333}
header{border-bottom:1px solid #ddd;padding:0 32px;font-size:12px;height:44px;display:flex;flex-direction:row;place-items:center}
header>span,header>nav>span{font-size:21px}
header.double-nav-top{color:var(--fg-double-nav-top);background-color:var(--bg-double-nav-top);backdrop-filter:saturate(1.8) blur(20px)}
header.double-nav-top.emerald{color:var(--fg-double-nav-green);background-color:var(--bg-double-nav-green)}
header.double-nav-top nav{width:100%}
header.double-nav-top nav>span{font-size:14px}
header.double-nav-top a{color:#fffc}
header ul{display:flex;flex-direction:row}
nav,.nav{max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;width:100%;line-height:var(--nav-height);display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}
.logo{font-size:24px;font-weight:700;margin:auto var(--gap)}
.main.menu{display:flex;font-weight:300;margin:auto var(--gap)}
.main.menu li+li{margin-inline-start:var(--gap2)}
.large-heading{font-size:36px}
.content,main,.container{position:relative;max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}
main{min-height:calc(100vh - var(--header-height) - var(--footer-height) - 5px)}
footer{background-color:var(--bg-footer);color:var(--fg-footer);min-height:80vh}
footer a,footer a:visited{color:var(--fg-footer)}
.flex{display:flex}
.flex-1{flex:1}
.flex-vertical,.flex-column{display:flex;flex-direction:column}
.flex-horizontal,.flex-row{display:flex;flex-direction:row}
a,a:visited{color:#333}
li>a{display:inline-block;padding:0 var(--gap2)}
li>a:hover{background-color:#0003}
.main.menu li>a:hover{border-bottom:1px solid var(--color-attention)}
:root{--color-btn-border:#4444}
button,.btn,[type=button],[type=submit],[type=reset]{position:relative;display:inline-block;padding:5px 16px;font-size:14px;font-weight:var(--base-text-weight-medium, 500);line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid;border-radius:6px;appearance:none;color:var(--button-default-fgColor-rest, var(--color-btn-text));background-color:var(--button-default-bgColor-rest, var(--color-btn-bg));border-color:var(--button-default-borderColor-rest, var(--color-btn-border));box-shadow:var(--button-default-shadow-resting, var(--color-btn-shadow)),var(--button-default-shadow-inset, var(--color-btn-inset-shadow));transition:80ms cubic-bezier(.33,1,.68,1);transition-property:color,background-color,box-shadow,border-color}
button:hover,.btn:hover,[type=button]:hover,[type=submit]:hover,[type=reset]:hover{background-color:#0000000d;box-shadow:2px #2222}
button:active,.btn:active,[type=button]:active,[type=submit]:active,[type=reset]:active{background-color:#00000014;box-shadow:2px #ccc,2px #fff}
.pad-18{padding:18px}
p{padding-bottom:18px}

/* ValoTown Emerald theme layer. One file, no JavaScript dependency. */
:root {
  --emerald-brand: #00a86b;
  --emerald-brand-strong: #007f52;
  --emerald-ink: #18211d;
  --emerald-muted: #5d6b64;
  --emerald-surface: #ffffff;
  --emerald-canvas: #f2f7f4;
  --emerald-border: #d9e6df;
  --emerald-shadow: 0 18px 45px rgba(24, 33, 29, 0.08);
}

body.theme-showcase {
  margin: 0;
  min-width: 320px;
  background: var(--emerald-canvas);
  color: var(--emerald-ink);
}

.theme-showcase a,
.theme-showcase a:visited {
  color: var(--emerald-brand-strong);
}

.theme-showcase header.theme-header {
  height: auto;
  min-height: 64px;
  padding: 0 24px;
  border-bottom-color: rgba(255, 255, 255, 0.14);
  background: #083b2a;
}

.theme-showcase .theme-header a,
.theme-showcase .theme-header a:visited {
  color: #fff;
}

.theme-showcase .theme-header nav {
  align-items: center;
}

.theme-showcase .theme-header .logo {
  margin-left: 0;
}

.theme-showcase .theme-header .main.menu {
  margin-right: 0;
}

.theme-showcase main {
  width: 100%;
  max-width: 1120px;
  padding: 64px 24px;
}

.theme-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  gap: 40px;
  align-items: center;
  margin-bottom: 56px;
}

.theme-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--emerald-brand-strong);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.theme-showcase h1,
.theme-showcase h2,
.theme-showcase h3 {
  color: var(--emerald-ink);
}

.theme-showcase h1 {
  max-width: 760px;
  font-size: clamp(2.4rem, 7vw, 5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.theme-lead {
  max-width: 700px;
  margin-top: 24px;
  color: var(--emerald-muted);
  font-size: 1.1rem;
}

.theme-badge {
  padding: 28px;
  border: 1px solid var(--emerald-border);
  border-radius: 18px;
  background: var(--emerald-surface);
  box-shadow: var(--emerald-shadow);
}

.theme-badge strong,
.theme-badge span {
  display: block;
}

.theme-badge strong {
  margin-bottom: 8px;
  color: var(--emerald-brand-strong);
  font-size: 1.4rem;
}

.theme-badge span {
  color: var(--emerald-muted);
}

.theme-showcase section {
  margin-top: 56px;
}

.theme-showcase section > h2 {
  margin-bottom: 12px;
  font-size: 1.8rem;
  font-weight: 650;
}

.theme-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.theme-card {
  padding: 24px;
  border: 1px solid var(--emerald-border);
  border-radius: 14px;
  background: var(--emerald-surface);
}

.theme-card.selected {
  border-color: var(--emerald-brand);
  box-shadow: 0 0 0 3px rgba(0, 168, 107, 0.12);
}

.theme-card h3 {
  margin-bottom: 8px;
  font-size: 1.15rem;
  font-weight: 650;
}

.theme-card p {
  color: var(--emerald-muted);
  font-size: 0.94rem;
}

.theme-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.theme-meta span {
  padding: 4px 9px;
  border-radius: 999px;
  background: #e7f6ef;
  color: #086944;
  font-size: 0.75rem;
  font-weight: 650;
}

.theme-showcase button,
.theme-showcase .btn {
  border-color: var(--emerald-brand-strong);
  background: var(--emerald-brand);
  color: #fff;
}

.theme-showcase button:hover,
.theme-showcase .btn:hover {
  background: var(--emerald-brand-strong);
  text-decoration: none;
}

.theme-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.theme-showcase pre {
  overflow-x: auto;
  margin-top: 16px;
  padding: 18px;
  border-radius: 10px;
  background: #10251d;
  color: #dff8ec;
}

.theme-showcase table {
  width: 100%;
  margin-top: 20px;
  border-collapse: collapse;
  background: var(--emerald-surface);
}

.theme-showcase th,
.theme-showcase td {
  padding: 14px;
  border: 1px solid var(--emerald-border);
  text-align: left;
  vertical-align: top;
}

.theme-showcase th {
  background: #e7f6ef;
  color: #086944;
}

.theme-showcase footer {
  min-height: auto;
  padding: 36px 24px;
  background: #071b14;
  color: #d9e6df;
}

.theme-showcase footer p {
  max-width: 1072px;
  margin: auto;
  padding: 0;
}

@media (max-width: 720px) {
  .theme-showcase header.theme-header {
    padding: 8px 16px;
  }

  .theme-showcase .theme-header nav,
  .theme-showcase .theme-header .main.menu {
    align-items: flex-start;
    flex-direction: column;
  }

  .theme-showcase .theme-header .logo,
  .theme-showcase .theme-header .main.menu {
    margin: 0;
  }

  .theme-showcase .theme-header li > a {
    padding-left: 0;
  }

  .theme-hero,
  .theme-grid {
    grid-template-columns: 1fr;
  }

  .theme-showcase main {
    padding: 40px 18px;
  }

  .theme-showcase h1 {
    font-size: clamp(2.2rem, 15vw, 4rem);
  }
}
