
:root{--bg:#0f1115;--panel:#171a21;--text:#f4f6f8;--muted:#aeb6c2;--line:#2b313b;--accent:#f0f2f5;--max:980px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
a{color:#dce7ff}a:hover{opacity:.8}header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(15,17,21,.96);backdrop-filter:blur(10px);z-index:10}.nav{max-width:var(--max);margin:auto;padding:14px 20px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand{font-weight:800;text-decoration:none;color:var(--text)}.navlinks{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}main{max-width:var(--max);margin:auto;padding:42px 20px 72px}.hero{padding:36px 0 24px}h1{font-size:clamp(30px,5vw,48px);line-height:1.25;margin:.2em 0 .5em}h2{margin-top:2.2em;font-size:1.5rem}h3{margin-top:1.7em}.lead{font-size:1.12rem;color:#d6dbe3;max-width:760px}.meta,.muted{color:var(--muted);font-size:.94rem}.card,.notice{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.pill{display:inline-block;padding:4px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted);margin:0 6px 6px 0}table{width:100%;border-collapse:collapse;margin:18px 0}th,td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}th{background:#1c2028}footer{border-top:1px solid var(--line)}.footer-inner{max-width:var(--max);margin:auto;padding:26px 20px 50px;color:var(--muted);font-size:14px}ul{padding-left:1.4em}.cta{display:inline-block;padding:11px 16px;background:var(--accent);color:#111;text-decoration:none;border-radius:10px;font-weight:700}


html.age-locked,
html.age-locked body {
  overflow: hidden;
}
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(8,10,13,.98);
}
.age-gate-card {
  width: min(620px, 100%);
  background: #171a21;
  border: 1px solid #343b47;
  border-radius: 18px;
  padding: clamp(24px, 5vw, 42px);
  box-shadow: 0 24px 80px rgba(0,0,0,.45);
}
.age-gate-card h1 {
  font-size: clamp(26px, 5vw, 40px);
  margin: .3em 0 .5em;
}
.age-gate-kicker {
  margin: 0;
  color: #aeb6c2;
  font-size: 14px;
}
.age-gate-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.age-gate-primary,
.age-gate-secondary {
  appearance: none;
  border-radius: 10px;
  padding: 12px 16px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.age-gate-primary {
  border: 1px solid #f0f2f5;
  background: #f0f2f5;
  color: #111;
}
.age-gate-secondary {
  border: 1px solid #49515e;
  background: transparent;
  color: #f4f6f8;
}
.age-gate-note {
  margin-top: 18px;
  color: #aeb6c2;
  font-size: 13px;
}

html.age-locked body > header,
html.age-locked body > main,
html.age-locked body > footer { visibility: hidden; }
.age-gate { overflow-y: auto; }
