/* LEGAL PAGES, in the site's own dress: void ground, the Ink technical face
   for labels, the door's Mars face for the head, body copy in --ink on --void
   (7.27:1). Self-contained on purpose: these two pages must render with none
   of the site's JS and must never depend on the door's stylesheet changing. */
@font-face{ font-family:'Mars'; src:url('/Shared/fonts/Futuristic%20Mars/Mars.ttf') format('truetype'); font-display:block; }
@font-face{ font-family:'JetBrains Mono'; src:url('/Shared/fonts/Kusanagi-Ink/JetBrainsMono-Regular.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face{ font-family:'JetBrains Mono'; src:url('/Shared/fonts/Kusanagi-Ink/JetBrainsMono-Bold.ttf') format('truetype'); font-weight:700; font-display:swap; }
@font-face{ font-family:'Noto Sans JP'; src:url('/Shared/fonts/Kusanagi-Ink/NotoSansJP-Regular.ttf') format('truetype'); font-display:swap; }
@font-face{ font-family:'Noto Serif JP'; src:url('/Shared/fonts/Kusanagi-Ink/NotoSerifJP-Regular.ttf') format('truetype'); font-display:swap; }
:root{
  --void:#0A0A0A; --headline:#f6f4f2; --ink:#b4b1af; --muted:#93908e; --ink-dim:#6e6b69; --accent-red:#ff4b4b;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --body:'Noto Sans JP',system-ui,'Segoe UI',Helvetica,Arial,sans-serif;
}
html{ scrollbar-width:thin; scrollbar-color:#4a4846 transparent; }
html,body{ margin:0; background:var(--void); color:var(--ink); }
body{ font-family:var(--body); font-size:15px; line-height:1.75; -webkit-font-smoothing:antialiased; }
main{ max-width:72ch; margin:0 auto; padding:120px 24px 96px; }
#navstack{ position:fixed; right:24px; top:24px; z-index:40; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
#navstack a{ display:inline-flex; align-items:center; padding:8px 13px; border-radius:7px; background:#1d1c1b; border:1px solid #4a4846;
  color:var(--muted); text-decoration:none; opacity:.9; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.22em;
  transition:color .25s ease,border-color .25s ease,opacity .25s ease; }
#navstack a:hover{ color:var(--headline); border-color:var(--ink-dim); opacity:1; }
.label{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.30em; color:var(--muted); margin:0 0 18px; }
h1{ font-family:'Mars','Noto Sans JP',sans-serif; font-weight:400; font-size:clamp(34px,6vw,56px); letter-spacing:.06em; text-transform:uppercase;
  color:var(--headline); margin:0 0 10px; line-height:1.05; }
.meta{ font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--muted); margin:0 0 44px; padding-bottom:22px; border-bottom:1px solid #2a2928; }
h2{ font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--headline); margin:44px 0 12px; }
h2 .n{ color:var(--accent-red); margin-right:14px; }
p{ margin:0 0 14px; }
ul{ margin:0 0 14px; padding-left:22px; }
li{ margin:0 0 8px; }
li::marker{ color:var(--ink-dim); }
b{ color:var(--headline); font-weight:600; }
a{ color:var(--headline); text-decoration:none; border-bottom:1px solid #4a4846; transition:border-color .25s ease; }
a:hover{ border-color:var(--headline); }
code{ font-family:var(--mono); font-size:.92em; color:var(--headline); }
.cop{ font-family:var(--mono); font-size:10px; letter-spacing:.22em; color:var(--ink-dim); margin:72px 0 0; padding-top:22px; border-top:1px solid #2a2928; }
.cop, h1{ font-feature-settings:"kern"; }
@media (max-width:720px){ main{ padding:96px 18px 72px; } #navstack{ right:14px; top:14px; } }
