@font-face{font-family:Barlow;src:url('fonts/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:BarlowText;src:url('fonts/barlow-regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Plex;src:url('fonts/ibm-plex-mono.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#080b09;--ink:#f0f2e9;--muted:#b4bcb0;--acid:#c6fa64;--line:#41483f;--mono:Plex,monospace;font-family:BarlowText,sans-serif;color:var(--ink);background:var(--bg)}
*{-webkit-user-select:none;user-select:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:3px}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}::selection{background:var(--acid);color:var(--bg)}html{scrollbar-color:#66705f var(--bg);scrollbar-width:thin}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:16px;top:8px;background:var(--acid);color:var(--bg);padding:16px;z-index:20;transform:translateY(-180%)}.skip-link:focus{transform:none}
.machine{position:relative;min-height:320px;height:100svh;isolation:isolate}.board-stage{position:absolute;inset:0;overflow:hidden;background:var(--bg) url('assets/circuit-poster.png') center/cover}#footage{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.machine:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#000b,transparent 140px,transparent calc(100% - 140px),#000d)}
.site-header{position:absolute;z-index:3;top:max(24px,env(safe-area-inset-top));left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.site-header>*{pointer-events:auto}.brand{text-decoration:none}.text-button{border:0;background:transparent;color:var(--ink);min-height:44px;padding:12px 16px;font-size:14px}.text-button:hover{color:var(--acid)}.site-header .text-button{font-size:16px;padding-right:0;text-shadow:0 2px 6px #000}
.scene-bottom{position:absolute;z-index:1;bottom:max(24px,env(safe-area-inset-bottom));left:24px;right:24px;text-align:center}.mine-entry{border:0;background:transparent;color:var(--acid);min-height:56px;min-width:104px;padding:12px 24px;font:700 32px/1 Barlow,sans-serif;text-shadow:0 2px 6px #000}.mine-entry:hover{color:white}
.idea{position:fixed;z-index:5;right:28px;top:90px;width:400px;max-width:calc(100% - 32px);max-height:calc(100svh - 112px);overflow:auto;background:var(--bg);padding:24px;border:1px solid var(--line)}.idea-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.idea h2{font:700 36px/1.1 Barlow,sans-serif;margin:0}.idea-heading button{padding-right:0}.idea p{font-size:16px;line-height:1.6;margin:20px 0}.idea .muted{font-size:14px;color:var(--muted)}.idea .credit{font-size:13px;color:var(--muted);margin-bottom:0}.motion-setting{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;font-size:14px;cursor:pointer}.motion-setting input{width:22px;height:22px;margin:0;accent-color:var(--acid);cursor:pointer}
.solid{border:1px solid var(--acid);background:var(--acid);color:#14200a;padding:13px 16px;min-height:46px;font-size:14px}.solid:hover{background:#d5ff8c}dialog{background:var(--bg);color:var(--ink);overflow:auto}dialog::backdrop{background:#060b08dc}
@media(max-width:600px){.site-header{top:max(16px,env(safe-area-inset-top));left:20px;right:20px}.site-header .text-button{font-size:15px}.scene-bottom{bottom:max(20px,env(safe-area-inset-bottom))}.idea{right:16px;top:76px;padding:20px}.idea h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
