:root{color-scheme:dark;--app: #0a0c0f;--surface: #111419;--raised: #1c2129;--ink: #f2f5f8;--ink-2: #a5aebb;--ink-3: #6f7986;--line: #232830;--line-strong: #333a45;--accent: #3b9eff;--accent-strong: #67b6ff;--accent-soft: #0e2740;--on-accent: #03121f;--danger: #f4677c;--ring: rgba(59, 158, 255, 0.38);--grad-from: #3b9eff;--grad-to: #67b6ff;--mark-from: #0b72e7;--mark-to: #4f9df0;--sans: ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--brand: "Varien", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fast: 140ms cubic-bezier(0.2, 0, 0, 1);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--s12: 48px;--s16: 64px;--r-none: 0px;--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 22px;--r-xl: 32px;--r-round: 99999px}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--app);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.6;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased}
@font-face{font-family:"Varien";src:url(/fonts/varien.otf) format("opentype");
  font-weight:normal;font-style:normal;font-display:swap}
.shell{width:min(100% - var(--s6) * 2, 68rem);margin-inline:auto}
.measure{max-width:42rem}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-strong)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}
code{font-family:var(--mono);font-size:0.88em;color:var(--ink);
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xs);padding:1px 5px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-0.02em;line-height:1.15;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.skip{position:absolute;left:-9999px;top:0;padding:var(--s3) var(--s4);background:var(--raised);
  color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);z-index:9}
.skip:focus{left:var(--s4);top:var(--s4)}


.banner{position:sticky;top:0;z-index:5;background:color-mix(in srgb, var(--app) 88%, transparent);
  border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.banner .shell{display:flex;align-items:center;gap:var(--s6);
  min-height:60px;flex-wrap:wrap;padding-block:var(--s2)}
.brand{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink);
  text-decoration:none;font-family:var(--brand);font-size:22px;letter-spacing:0.01em}
.brand .mark{width:26px;height:26px;border-radius:var(--r-round);
  background:linear-gradient(135deg,var(--mark-from),var(--mark-to));
  display:grid;place-items:center;color:#fff;font-size:15px;line-height:1}
.banner nav{margin-left:auto}
.banner ul{display:flex;flex-wrap:wrap;gap:var(--s5);margin:0;padding:0;list-style:none}
.banner a{color:var(--ink-2);text-decoration:none;font-size:15px}
.banner a:hover{color:var(--ink)}


.hero{padding-block:clamp(var(--s12), 9vw, 104px) var(--s12);border-bottom:1px solid var(--line)}
.hero .eyebrow{font-size:13px;letter-spacing:0.09em;text-transform:uppercase;color:var(--ink-3);
  margin-bottom:var(--s4)}
.hero h1{font-size:clamp(34px, 6.4vw, 60px);max-width:16ch}
.hero .lead{margin-top:var(--s6);font-size:clamp(18px, 2.2vw, 21px);color:var(--ink-2)}
.hero .note{margin-top:var(--s6);font-size:15px;color:var(--ink-3);
  border-left:2px solid var(--line-strong);padding-left:var(--s4)}
.hero .go{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s8)}


section{padding-block:var(--s16);border-bottom:1px solid var(--line);scroll-margin-top:60px}
section h2{font-size:clamp(24px, 3.2vw, 31px)}
section .lead{margin-top:var(--s4);color:var(--ink-2);font-size:18px}
.facts{margin:var(--s10) 0 0;padding:0;display:grid;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
@media (min-width: 60rem){.facts{grid-template-columns:1fr 1fr}
  .facts>div:last-child:nth-child(odd){grid-column:1 / -1}}
.facts>div{background:var(--surface);padding:var(--s6)}
.facts dt{font-weight:600;font-size:16px;color:var(--ink)}
.facts dd{margin:var(--s2) 0 0;color:var(--ink-2);font-size:16px}
.start{margin-top:var(--s10);border:1px solid var(--line);border-radius:var(--r-md);
  background:var(--surface);overflow:hidden}
.start h3{padding:var(--s4) var(--s6);font-size:14px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);font-weight:500}
.start pre{margin:0;padding:var(--s6);overflow-x:auto;font-family:var(--mono);
  font-size:15px;line-height:1.8;color:var(--ink)}
.start pre .sigil{color:var(--ink-3);user-select:none}
.start .after{padding:0 var(--s6) var(--s6);color:var(--ink-3);font-size:15px;margin:0}
#limits .facts>div{background:var(--app)}
#limits .facts{border-color:var(--line-strong)}


#open .box{margin-top:var(--s8);border:1px solid var(--line-strong);border-radius:var(--r-md);
  background:linear-gradient(180deg,var(--raised),var(--surface));padding:var(--s8)}
.opener{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:flex-end}
.opener .field{flex:1 1 18rem;min-width:0}
.opener label{display:block;font-size:14px;color:var(--ink-2);margin-bottom:var(--s2)}
input[type=text]{width:100%;padding:var(--s3) var(--s4);font:inherit;font-size:16px;color:var(--ink);
  background:var(--app);border:1px solid var(--line-strong);border-radius:var(--r-sm)}
input[type=text]::placeholder{color:var(--ink-3)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  padding:var(--s3) var(--s6);font:inherit;font-size:16px;font-weight:600;cursor:pointer;
  border:1px solid transparent;border-radius:var(--r-sm);text-decoration:none;
  color:var(--on-accent);background:linear-gradient(135deg,var(--grad-from),var(--grad-to));
  transition:filter var(--fast)}
.button:hover{filter:brightness(1.08)}
.button.quiet{background:none;color:var(--ink-2);border-color:var(--line-strong)}
.button.quiet:hover{color:var(--ink);filter:none}
.said{margin-top:var(--s3);font-size:15px;color:var(--danger);min-height:1.2em}
.said:empty{margin:0;min-height:0}
#open .privacy{margin-top:var(--s4);font-size:14px;color:var(--ink-3)}
.recents{margin-top:var(--s8);border-top:1px solid var(--line);padding-top:var(--s5)}
.recents h3{font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3);
  font-weight:500}
.recents ul{list-style:none;margin:var(--s4) 0 0;padding:0;display:flex;
  flex-direction:column;gap:var(--s1)}
.recents li{display:flex;align-items:center;gap:var(--s3);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s2) var(--s2) var(--s4)}
.recents li a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--mono);font-size:15px;text-decoration:none;color:var(--ink)}
.recents li a:hover{color:var(--accent)}
.recents button{font:inherit;font-size:14px;padding:var(--s1) var(--s3);cursor:pointer;
  color:var(--ink-3);background:none;border:1px solid transparent;border-radius:var(--r-xs)}
.recents button:hover{color:var(--ink);border-color:var(--line-strong)}
.recents .none{margin-top:var(--s4);color:var(--ink-3);font-size:15px}
noscript .said{color:var(--ink-3)}


footer{padding-block:var(--s10) var(--s16);color:var(--ink-3);font-size:14px}
footer p{max-width:44rem}
@media (prefers-reduced-motion: reduce){*{transition-duration:0.01ms !important}}
@media (prefers-contrast: more){:root{--ink-2:#d3d9e0;--ink-3:#aab3bd;--line:#3a424d}}