:root{
  --text-body:#c5e0ba;
  --text-bright:#c1ff98;
  --text-muted:#9ad47c;
}

html[data-motion-off] *,html[data-motion-off] *::before,html[data-motion-off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion-off] body::before{display:none}
.language [data-motion]{border-color:#4b6d40;white-space:nowrap}
@media(max-width:380px){.language{gap:3px}.language button{padding-inline:5px}}


.language [data-sound],.boot-controls [data-sound]{border:1px solid #4b6d40;white-space:nowrap}
.boot-controls{display:flex;align-items:center;gap:12px}
.boot-controls a{color:inherit}
.boot-controls button{font:inherit;color:inherit;background:#0b1a0d;padding:6px 8px;cursor:pointer}
.language{flex-wrap:wrap;justify-content:flex-end}

body{isolation:isolate}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#0004 0 1px,transparent 1px 4px),radial-gradient(ellipse,transparent 45%,#0007)}
@media(prefers-reduced-motion:no-preference){
 html:not([data-motion-off]) body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(transparent 40%,#8fff7517 49%,#9aff811f 50%,transparent 60%);animation:terminal-scan 8s linear infinite}
}
@keyframes terminal-scan{from{transform:translateY(-100%)}to{transform:translateY(100%)}}

/* Desktop proportions are authored at a 1920 × 1080 CSS viewport. */
@media (min-width: 1024px) and (min-height: 640px) {
  :root {
    --layout-scale: clamp(.8, min(calc(100vw / 1920px), calc(100svh / 1080px)), 2.5);
  }

  body:not(.layout-boot) > main,
  body > .top,
  .layout-home > .language {
    zoom: var(--layout-scale, 1);
  }

  .layout-home > main {
    min-height: calc(100svh / var(--layout-scale, 1));
    padding-top: 162px;
  }

  .layout-home > .language { top: 40px; right: 58px; }
  .layout-home .signature { padding-top: 120px; }

  .layout-boot .boot {
    font-size: calc(1.13rem * var(--layout-scale, 1));
    padding: calc(97px * var(--layout-scale, 1)) calc(58px * var(--layout-scale, 1));
  }
  .layout-boot .boot-controls {
    zoom: var(--layout-scale, 1);
    top: 40px;
    right: 58px;
  }

  body::after {
    background: repeating-linear-gradient(0deg, #0004 0 calc(1px * var(--layout-scale, 1)), transparent calc(1px * var(--layout-scale, 1)) calc(4px * var(--layout-scale, 1))), radial-gradient(ellipse, transparent 45%, #0007);
  }
}
