/* Alea shared brand stylesheet — fonts + tokens + document layout.
   Used by the legal pages (privacy, terms). The landing page keeps its own
   inlined copy so it stays self-contained. */
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/literata-400.woff2) format('woff2');}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/literata-600.woff2) format('woff2');}
@font-face{font-family:'Literata';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/literata-500-italic.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-400.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-600.woff2) format('woff2');}
@font-face{font-family:'Spline Sans Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/spline-sans-mono-500.woff2) format('woff2');}

:root{
  --bg:#0E1D15; --surface-card:#1E3327; --surface-2:#172A20; --field:#0A1710;
  --ink:#F1EDE1; --ink-2:#C0C8B6; --ink-3:#8B9A87;
  --primary:#5FB0C9; --primary-ink:#86C7DA; --leaf:#93C978; --brass:#E0AC55;
  --border:#34493B; --border-strong:#48624F;
  --serif:'Literata',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:
  radial-gradient(1100px 640px at 82% -6%, rgba(95,176,201,0.06), transparent 60%),
  var(--bg);
  color:var(--ink-2);font-family:var(--sans);font-size:16.5px;line-height:1.68;
  -webkit-font-smoothing:antialiased;}
a{color:var(--primary);text-decoration:none;}
a:hover{color:var(--primary-ink);text-decoration:underline;}
a:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px;}

.wrap{max-width:720px;margin:0 auto;padding:0 clamp(22px,5vw,40px) 90px;}

/* top bar */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:26px 0 14px;border-bottom:1px solid var(--border);margin-bottom:clamp(30px,6vw,54px);}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);}
.brand:hover{color:var(--ink);text-decoration:none;}
.brand svg{width:28px;height:28px;flex:none;}
.brand .name{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:0.01em;}
.top .back{font-size:14.5px;color:var(--ink-2);}
.top .back:hover{color:var(--primary);}

/* document */
h1{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-0.02em;
  font-size:clamp(2rem,5vw,2.9rem);line-height:1.1;margin:0 0 6px;text-wrap:balance;}
.updated{font-family:var(--mono);font-size:12.5px;letter-spacing:0.02em;color:var(--ink-3);margin:0 0 clamp(28px,5vw,44px);}
h2{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:-0.01em;
  font-size:clamp(1.25rem,2.4vw,1.55rem);margin:clamp(34px,5vw,48px) 0 12px;}
p{max-width:68ch;margin:0 0 1.1em;}
strong,b{color:var(--ink);font-weight:600;}
.lede{color:var(--ink);font-size:1.08rem;}
ul,ol{max-width:68ch;padding-left:1.3em;margin:0 0 1.2em;}
li{margin:0 0 0.5em;}
ol.numbered{list-style:none;counter-reset:c;padding-left:0;}
ol.numbered>li{counter-increment:c;position:relative;padding-left:2.4em;margin-bottom:1.1em;}
ol.numbered>li::before{content:counter(c,decimal-leading-zero);position:absolute;left:0;top:0.1em;
  font-family:var(--mono);font-size:12.5px;color:var(--brass);}
.disclaimer{font-size:0.92rem;color:var(--ink-3);}

/* permissions table */
table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:0.96rem;}
th,td{text-align:left;vertical-align:top;padding:11px 14px;border:1px solid var(--border);}
th{background:var(--surface-2);color:var(--ink);font-weight:600;font-size:0.86rem;}
td:first-child{color:var(--ink);}
code{font-family:var(--mono);font-size:0.85em;background:var(--field);color:var(--primary-ink);
  padding:.1em .4em;border-radius:4px;border:1px solid var(--border);}

/* footer */
.foot{margin-top:clamp(44px,7vw,68px);padding-top:22px;border-top:1px solid var(--border);
  font-size:13.5px;color:var(--ink-3);display:flex;gap:8px 20px;flex-wrap:wrap;}
.foot a{color:var(--ink-2);}
.foot .sep{color:var(--border-strong);}
