/* Pencil In — site styles, built only from tokens.css. */
@font-face { font-family:"Inter"; src:url(/fonts/InterVariable.woff2) format("woff2"); font-weight:100 900; font-display:swap; }
html { font-optical-sizing:auto; }
* { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; }
body { background:var(--bg); color:var(--ink); font-family:var(--font-sans);
  font-size:var(--t-body); line-height:var(--t-body-lh); -webkit-font-smoothing:antialiased; text-wrap:pretty; }
.num { font-variant-numeric:tabular-nums lining-nums; font-feature-settings:"tnum" 1,"lnum" 1; }
a { color:inherit; text-decoration:underline; text-decoration-color:var(--edge); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { text-decoration-color:var(--ink); }
:focus-visible { outline:2px solid var(--edge); outline-offset:3px; border-radius:2px; }
.wrap { max-width:var(--page); margin:0 auto; padding:0 var(--gutter); }

/* ---- SiteHeader ---- */
.hdr { border-bottom:var(--hairline) solid var(--line); }
.hdr .wrap { display:flex; align-items:center; gap:var(--s3); min-height:72px; }
.hdr img { width:40px; height:40px; border-radius:var(--radius-icon); display:block; }
.hdr .wm { font-weight:600; font-size:var(--t-body); letter-spacing:-0.2px; text-decoration:none; }
.hdr nav { margin-left:auto; display:flex; gap:var(--s6); }
.hdr nav a { text-decoration:none; color:var(--sub); font-size:15px; min-height:var(--hit-min); display:inline-flex; align-items:center; }
.hdr nav a:hover, .hdr nav a[aria-current="page"] { color:var(--ink); }
@media (max-width:720px) { .hdr nav { gap:var(--s4); } .hdr nav a { font-size:14px; } }

/* ---- Labels ---- */
.lbl { font-size:var(--t-label); line-height:var(--t-label-lh); font-weight:600; letter-spacing:var(--t-label-tr); text-transform:uppercase; color:var(--faint); }
.cap { font-size:var(--t-caption); line-height:var(--t-caption-lh); color:var(--faint); }

/* ---- Hero (home) ---- */
.hero .wrap { display:grid; grid-template-columns:1fr 1fr; gap:var(--s7); align-items:end; padding-top:var(--s9); padding-bottom:var(--s9); }
.hero h1 { font-size:var(--t-display-lg); line-height:var(--t-display-lg-lh); font-weight:500; letter-spacing:var(--t-display-lg-tr); }
.hero h1 span { display:block; }
.hero .deck { margin-top:var(--s5); font-size:var(--t-body-lg); line-height:var(--t-body-lg-lh); color:var(--sub); max-width:30rem; }
.hero .status { margin-top:var(--s6); }
/* NumberLockup */
.lockup { text-align:right; }
.lockup .amt { font-variant-numeric:lining-nums proportional-nums; font-feature-settings:"lnum" 1,"tnum" 0; font-size:var(--t-display-xl); line-height:var(--t-display-xl-lh); font-weight:500; letter-spacing:var(--t-display-xl-tr); }
.lockup .amt .sym { font-size:.69em; vertical-align:baseline; letter-spacing:0; margin-right:.02em; }
.lockup .cap1 { margin-top:var(--s3); font-size:var(--t-body-lg); color:var(--sub); }
.lockup .cap2 { margin-top:var(--s1); }
.lockup.ok .amt, .lockup.ok .cap1 { color:var(--ok); }
.lockup.ok .cap1 { font-weight:600; }
@media (max-width:720px) {
  .hero .wrap { grid-template-columns:1fr; gap:var(--s7); padding-top:var(--s7); padding-bottom:var(--s7); }
  .hero h1 { font-size:40px; letter-spacing:-0.8px; }
  .hero .deck { font-size:var(--t-body); }
  .lockup .amt { font-size:80px; letter-spacing:-2px; }
  .lockup .cap1 { font-size:var(--t-body); }
}

/* ---- Register ---- */
.reg { border-top:var(--hairline) solid var(--line); padding:var(--s9) 0; }
.reg .head { display:flex; align-items:baseline; padding:0 0 var(--s2); }
.reg .head .cap { margin-left:auto; }
.reg table { width:100%; border-collapse:collapse; }
.reg th, .reg td { text-align:right; vertical-align:top; padding:14px var(--s4) var(--s3); }
.reg th:first-child, .reg td:first-child { text-align:left; padding-left:var(--s4); }
.reg tbody th { font-weight:400; color:var(--ink); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.reg thead th:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.reg thead th { font-size:11px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:var(--faint); padding-top:0; padding-bottom:var(--s1); }
.reg tbody th, .reg td { border-top:var(--hairline) solid var(--line); height:64px; }
.reg .c2, .reg .c3 { width:176px; border-left:var(--hairline) solid var(--rule); }
.reg th.c2, .reg th.c3 { border-left:0; }
.reg .l { font-size:var(--t-body); }
.reg .sub { font-size:var(--t-caption); line-height:var(--t-caption-lh); color:var(--faint); margin-top:2px; }
.reg .state { display:block; font-size:11px; font-weight:600; margin-top:1px; }
.ok { color:var(--ok); } .warn { color:var(--warn); } .faint { color:var(--faint); }
.strike { color:var(--faint); text-decoration:line-through; text-decoration-color:var(--faint); }
.reg tr.total th, .reg tr.total td { background:var(--card); border-top:var(--hairline) solid var(--line); border-bottom:var(--hairline) solid var(--line); height:48px; font-size:var(--t-caption); color:var(--sub); }
.reg tr.total th { padding-left:var(--s4); font-weight:400; color:var(--sub); vertical-align:middle; }
.reg tr.total td { vertical-align:middle; }
.reg tr.total td.c3 { font-weight:600; color:var(--ink); font-size:15px; }
.reg tr.total td.c2, .reg tr.total td.c3 { border-left:0; }
@media (max-width:720px) {
  .reg { padding:var(--s8) 0; }
  .reg .c2, .reg .c3 { width:96px; }
  .reg th, .reg td { padding:var(--s3) var(--s2); }
  .reg td:first-child { padding-right:var(--s2); }
  .reg .l { font-size:16px; }
}

/* ---- Sections ---- */
.sec { padding:var(--s9) 0; border-top:var(--hairline) solid var(--line); }
.sec .wrap.two { display:grid; grid-template-columns:240px 1fr; gap:var(--s7); }
.sec .body { max-width:var(--measure); font-size:var(--t-body); color:var(--sub); }
.sec .body a { color:var(--ink); }
.thesis { font-size:var(--t-title); line-height:var(--t-title-lh); letter-spacing:var(--t-title-tr); font-weight:500; color:var(--ink); max-width:34rem; }
.thesis + .body { margin-top:var(--s5); }
/* exclusions: the register grid again */
.excl table { width:100%; border-collapse:collapse; }
.excl td { border-top:var(--hairline) solid var(--line); height:52px; padding:var(--s2) 0 var(--s2) var(--s4); font-size:var(--t-body); }
.excl td:last-child { text-align:right; color:var(--faint); width:176px; border-left:var(--hairline) solid var(--rule); padding-right:var(--s4); }
.excl tr:last-child td { border-bottom:var(--hairline) solid var(--line); }
.excl .body { margin-top:var(--s5); }
@media (max-width:720px) {
  .sec { padding:var(--s8) 0; }
  .sec .wrap.two { grid-template-columns:1fr; gap:var(--s4); }
  .thesis { font-size:24px; letter-spacing:-0.3px; }
  .excl td:last-child { width:96px; }
}

/* ---- Zero band ---- */
.zero { background:var(--card); border-top:var(--hairline) solid var(--line); }
.zero .lockup .amt { font-size:160px; letter-spacing:-4px; }
.zero .wrap { display:grid; grid-template-columns:240px 1fr; gap:var(--s7); align-items:start; padding-top:var(--s9); padding-bottom:var(--s9); }
@media (max-width:720px) { .zero .wrap { grid-template-columns:1fr; gap:var(--s5); padding-top:var(--s8); padding-bottom:var(--s8); } .zero .lockup .amt { font-size:96px; letter-spacing:-2.5px; } }

/* ---- Footer ---- */
.ftr { border-top:var(--hairline) solid var(--line); }
.ftr .wrap { display:grid; grid-template-columns:240px 1fr auto; gap:var(--s4) var(--s7); padding-top:var(--s7); padding-bottom:var(--s8); font-size:var(--t-caption); color:var(--faint); align-items:baseline; }
.ftr nav { display:flex; gap:var(--s5); }
.ftr a { text-decoration:none; color:var(--sub); min-height:var(--hit-min); display:inline-flex; align-items:center; }
.ftr a:hover { color:var(--ink); }
.ftr .maker { display:flex; flex-direction:column; gap:var(--s1); }
.ftr .maker a { color:var(--ink); }
.ftr .entity { color:var(--sub); }
@media (max-width:720px) { .ftr .wrap { grid-template-columns:1fr; gap:var(--s2); } .ftr nav { flex-wrap:wrap; gap:var(--s4); } }

/* ---- DocPage (day) ---- */
.doc .wrap.two { display:grid; grid-template-columns:240px 1fr; gap:var(--s7); }
.doc section > h2 { border-right:var(--hairline) solid var(--rule); }
.doc .titlebar { padding:var(--s8) 0 var(--s6); margin-left:calc(240px + var(--s7)); }
.doc h1 { font-size:var(--t-display-md); line-height:var(--t-display-md-lh); letter-spacing:var(--t-display-md-tr); font-weight:600; }
.doc .eff { margin-top:var(--s3); max-width:var(--measure); text-wrap:balance; }
.doc section { display:grid; grid-template-columns:240px minmax(0,var(--measure)); gap:var(--s7); border-top:var(--hairline) solid var(--line); padding:var(--s6) 0 var(--s7); max-width:calc(240px + var(--s7) + var(--measure)); }
.doc section > .lbl { padding-top:6px; }
.doc section > div { max-width:var(--measure); }
.doc h3 { font-size:var(--t-body); font-weight:600; margin:var(--s5) 0 var(--s1); }
.doc h3:first-child { margin-top:0; }
.doc p { margin:0 0 var(--s4); }
.doc p:last-child { margin-bottom:0; }
@media (max-width:720px) {
  .doc section { grid-template-columns:1fr; gap:var(--s3); padding:var(--s5) 0 var(--s6); max-width:none; }
  .doc section > h2 { border-right:0; }
  .doc .titlebar { padding:var(--s6) 0 var(--s5); margin-left:0; }
}

/* ---- Laurels: the peers' award row, awarded to our privacy policy ---- */
.laurels { border-top:var(--hairline) solid var(--line); }
.laurels .row { list-style:none; display:grid; grid-template-columns:repeat(6,1fr); gap:var(--s4); padding:var(--s7) 0 var(--s4); }
.laurels li { display:flex; align-items:flex-start; justify-content:center; gap:0; color:var(--faint); text-align:center; }
.laurels li > div { width:120px; min-height:64px; padding-top:4px; }
.laurels svg { width:22px; height:64px; flex:none; }
.laurels svg.r { transform:scaleX(-1); }
.laurels b { display:block; font-size:var(--t-title); line-height:1; font-weight:500; letter-spacing:var(--t-title-tr); color:var(--ink); }
.laurels span { display:block; font-size:var(--t-caption); line-height:1.3; color:var(--sub); margin-top:var(--s1); text-wrap:balance; }
.laurels .src { text-align:center; padding:0 0 var(--s7); margin:0; }
.laurels .src a { color:var(--sub); }
@media (max-width:720px) { .laurels .row { grid-template-columns:repeat(2,1fr); gap:var(--s5) var(--s2); padding-top:var(--s6); } .laurels .src { padding-bottom:var(--s6); } }
