/* Lower Level 2.0 site tokens: the look of basementos.com, the BasementOS devlog.
   Colors are its default "synthwave" theme (basement-os-web, src/styles/global.css: --bg-primary #0a0a0a,
   --bg-secondary #141414, --border-color #333, --accent-primary #ff3e8a, --accent-secondary #ff6b9d,
   --accent-alert #ffb347, --accent-error #ff4757). Fonts: VT323 + JetBrains Mono, the same pair.
   milestones-theme.css maps these onto the shared milestones page. */
:root{
  --ll-night:#0a0a0a;      /* --bg-primary */
  --ll-s1:#141414;         /* --bg-secondary */
  --ll-s2:#1a1a1a;         /* --tooltip-bg */
  --ll-s3:#333333;         /* --border-color */
  --ll-pink:#ff3e8a;       /* --accent-primary */
  --ll-pink2:#ff6b9d;      /* --accent-secondary */
  --ll-amber:#ffb347;      /* --accent-alert */
  --ll-error:#ff4757;      /* --accent-error */
  --ll-bone:#ffffff;       /* --text-primary */
  --text-primary:#e0e0e0;  /* --text-secondary */
  --text-muted:#a8a8a8;
  --text-dim:#888888;      /* --text-dim */
  --font-display:'VT323',ui-monospace,monospace;
  --font-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --glow-accent:0 0 12px rgba(255,62,138,.55);
  --glow-amber:0 0 14px rgba(255,179,71,.4);
  --wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ll-night);color:var(--text-primary);font-family:var(--font-mono);font-size:15px;line-height:1.7;overflow-x:hidden;position:relative}
/* the faint pink 50px grid behind every basementos.com page */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-size:50px 50px;background-image:
  linear-gradient(0deg,transparent 24%,rgba(255,62,138,.05) 25%,rgba(255,62,138,.05) 26%,transparent 27%,transparent 74%,rgba(255,62,138,.05) 75%,rgba(255,62,138,.05) 76%,transparent 77%),
  linear-gradient(90deg,transparent 24%,rgba(255,62,138,.05) 25%,rgba(255,62,138,.05) 26%,transparent 27%,transparent 74%,rgba(255,62,138,.05) 75%,rgba(255,62,138,.05) 76%,transparent 77%)}
body>*{position:relative;z-index:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--ll-pink2)}
a:hover{color:var(--ll-bone)}
b,strong{color:var(--ll-bone);font-weight:600}
::selection{background:var(--ll-pink);color:#000}

/* top bar, drawn like the basementos.com terminal header: three window dots, pink title, outlined buttons */
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:10px max(16px,calc((100vw - var(--wrap))/2));background:rgba(20,20,20,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--ll-s3)}
.brand{font-family:var(--font-display);font-size:24px;letter-spacing:.12em;line-height:1;color:var(--ll-pink);display:flex;align-items:center;gap:14px}
.brand::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:#ff5f57;box-shadow:20px 0 0 var(--ll-pink),40px 0 0 #ff6b9d;margin-right:40px}
.brand a{color:var(--ll-pink);text-decoration:none}
.brand b{color:var(--ll-pink);text-shadow:var(--glow-accent);font-weight:400}
.brand .full{color:var(--text-dim);font-size:20px}
.topbar nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.topbar nav a{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ll-pink2);text-decoration:none;
  border:1px solid var(--ll-pink2);border-radius:4px;padding:7px 12px;line-height:1.2;transition:all .2s}
.topbar nav a[aria-current],.topbar nav a:hover{background:var(--ll-pink);border-color:var(--ll-pink);color:#000;text-shadow:none}
.topbar nav a.ext::after{content:" \2197"}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.kicker{font-family:var(--font-display);font-size:20px;letter-spacing:.14em;color:var(--ll-pink);margin:0 0 8px;text-transform:uppercase}
h1,h2,h3{font-family:var(--font-display);font-weight:400;color:var(--ll-bone);line-height:1.05;margin:0}
h1{font-size:clamp(52px,9vw,104px);letter-spacing:.02em}
h2{font-size:clamp(34px,5vw,48px);margin-bottom:14px}
h3{font-size:28px;margin-bottom:6px}
.lede{font-size:16px;color:var(--text-primary);max-width:62ch;margin:16px 0 0}
section.block{padding:72px 0;border-top:1px solid var(--ll-s3)}
.sec-note{color:var(--text-muted);max-width:68ch;margin:0 0 28px}

/* buttons: basementos.com's outlined pink buttons */
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:24px;letter-spacing:.06em;line-height:1;padding:12px 20px;text-decoration:none;border:1px solid currentColor;border-radius:4px;transition:all .2s}
.btn-primary{background:var(--ll-pink);color:#000;border-color:var(--ll-pink);box-shadow:var(--glow-accent)}
.btn-primary:hover{background:var(--ll-pink2);border-color:var(--ll-pink2);color:#000}
.btn-ghost{color:var(--ll-pink2);background:rgba(10,10,10,.6)}
.btn-ghost:hover{background:var(--ll-pink);border-color:var(--ll-pink);color:#000}

/* terminal panel: a basementos.com window (title bar with three dots, VT323 pink text on black) */
.crt{background:var(--ll-night);border:1px solid var(--ll-s3);border-radius:8px;box-shadow:0 0 30px rgba(255,62,138,.08);
  padding:18px 20px;font-family:var(--font-display);font-size:21px;line-height:1.25;color:var(--ll-pink);position:relative;overflow:hidden}
.crt::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,62,138,.03) 0 1px,transparent 1px 3px);pointer-events:none}
.crt .bar{display:flex;align-items:center;gap:8px;margin:-18px -20px 14px;padding:10px 14px;background:var(--ll-s1);border-bottom:1px solid var(--ll-s3);
  font-size:18px;letter-spacing:.14em;color:var(--ll-pink)}
.crt .bar i{width:12px;height:12px;border-radius:50%;background:var(--ll-pink);display:inline-block}
.crt .bar i:first-child{background:#ff5f57}
.crt .bar i:nth-child(3){background:var(--ll-pink2)}
.crt .bar span{margin-left:auto;margin-right:auto;padding-right:44px}
.crt .ok{color:var(--ll-bone)}
.crt .amb{color:var(--ll-pink)}
.crt .cursor{display:inline-block;width:.55em;height:1em;background:var(--ll-pink);vertical-align:-2px;animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.crt .cursor{animation:none}}

/* figures */
figure{margin:0}
.shot img{width:100%;height:auto;border:1px solid var(--ll-s3);border-radius:8px}
.shot figcaption{font-size:13px;color:var(--text-muted);margin-top:8px}
.shot figcaption b{font-family:var(--font-display);font-size:19px;font-weight:400;color:var(--ll-pink);letter-spacing:.04em}

/* callout in amber, like a terminal alert line */
.alert{border-left:3px solid var(--ll-amber);background:var(--ll-s1);padding:14px 18px;margin:24px 0 0;color:var(--text-primary)}
.alert .tag{font-family:var(--font-display);font-size:20px;color:var(--ll-amber);letter-spacing:.1em;display:block;margin-bottom:2px}

footer{background:var(--ll-s1);border-top:1px solid var(--ll-s3);padding:18px 16px;margin-top:24px;text-align:center;color:var(--text-dim);font-size:12px}
footer a{color:var(--ll-pink);text-decoration:none}
footer a:hover{color:var(--ll-bone)}

@media (max-width:640px){
  body{font-size:14.5px}
  .brand{font-size:20px;gap:10px}
  .brand::before{width:10px;height:10px;box-shadow:16px 0 0 var(--ll-pink),32px 0 0 #ff6b9d;margin-right:32px}
  .brand .full{display:none}
  .topbar nav{gap:6px}
  .topbar nav a{font-size:11px;padding:6px 9px}
  section.block{padding:52px 0}
  .crt{font-size:18px;padding:14px}
  .crt .bar{margin:-14px -14px 12px}
  .btn{font-size:22px}
}
