/* Legal notice, terms, privacy: the text in a terminal window, like the rest of the site */
:root { --bg:#050805; --panel:#091109; --fg:#d8f5df; --green:#39ff6a; --dim:#7fa889; --line:#1c3322; --cyan:#9fe8ff; }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--bg); color:var(--fg); }
body { font:15px/1.7 "IBM Plex Mono", ui-monospace, monospace; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:50;
  background:repeating-linear-gradient(to bottom, rgba(0,0,0,.3) 0 1px, transparent 1px 3px); }
body::after { content:""; position:fixed; inset:0; pointer-events:none; z-index:50;
  background:radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,.65) 100%); }
.shell { max-width:860px; margin:28px auto 64px; padding:0 16px; }
.term { border:2px solid var(--green); background:var(--panel); box-shadow:0 0 34px rgba(57,255,106,.15); animation:t-on .45s cubic-bezier(.2,.9,.3,1) both; }
@keyframes t-on { 0% { transform:scaleY(.01); filter:brightness(4); } 60% { transform:scaleY(1); filter:brightness(1.6); } 100% { transform:none; filter:none; } }
.bar { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:8px 12px; background:var(--green); color:#050805;
  font:9px/1.6 "Press Start 2P", monospace; overflow:hidden; white-space:nowrap; }
.bar span:first-child { overflow:hidden; text-overflow:ellipsis; }
.screen { padding:clamp(16px, 4vw, 34px); }
.cmd { color:var(--dim); margin:0 0 18px; }
.cmd b { color:var(--green); font-weight:400; }
a { color:var(--green); }
h1 { font:clamp(15px, 4vw, 22px)/1.5 "Press Start 2P", monospace; color:var(--green); text-shadow:0 0 8px rgba(57,255,106,.6); margin:0 0 6px; }
h2 { font:clamp(10px, 2.6vw, 13px)/1.7 "Press Start 2P", monospace; color:var(--green); margin:34px 0 10px; padding-top:16px; border-top:1px dashed var(--line); }
h2::before { content:"> "; }
h3 { font-size:15px; color:var(--cyan); margin:20px 0 4px; }
p, li { margin:6px 0; }
ul { padding-left:22px; }
li::marker { content:"* "; color:var(--green); }
strong { color:#fff; font-weight:600; }
.meta { color:var(--dim); font-size:13px; margin-bottom:24px; }
nav.doc { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; margin-bottom:22px; }
nav.doc a { color:var(--dim); text-decoration:none; border:1px solid var(--line); padding:4px 8px; }
nav.doc a:hover, nav.doc a[aria-current] { color:var(--green); border-color:var(--green); }
.en { margin-top:48px; }
table { border-collapse:collapse; width:100%; font-size:13px; display:block; overflow-x:auto; }
td, th { border:1px solid var(--line); padding:6px 8px; text-align:left; vertical-align:top; }
th { color:var(--green); }
.end { margin-top:30px; color:var(--green); }
.end::after { content:""; display:inline-block; width:.6em; height:1.1em; background:var(--green); vertical-align:-.2em; margin-left:.3em; animation:t-blink 1s steps(1) infinite; }
@keyframes t-blink { 50% { opacity:0; } }
@media (prefers-reduced-motion: reduce) { .term, .end::after { animation:none; } }
