@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url("./media/schibsted-grotesk-latin-ext-wght-normal-BGULE5YG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url("./media/schibsted-grotesk-latin-wght-normal-3LQMT5AL.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-cyrillic-ext-wght-normal-ZRYXLPGP.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-cyrillic-wght-normal-PWXOYVRJ.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-greek-ext-wght-normal-UMQUSC3Q.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-greek-wght-normal-JA6EJJC4.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-vietnamese-wght-normal-EOUY4LRG.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-latin-ext-wght-normal-RPE5VANN.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-latin-wght-normal-4NNBPSPN.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-cyrillic-ext-wght-italic-2I7ZURDJ.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-cyrillic-wght-italic-QA5ILSWR.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-greek-ext-wght-italic-4KEY6QWM.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-greek-wght-italic-S3ATQFGQ.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-vietnamese-wght-italic-6K32DHIH.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-latin-ext-wght-italic-4ICIB7V5.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond Variable;font-style:italic;font-display:swap;font-weight:400 800;src:url("./media/eb-garamond-latin-wght-italic-EF3KYTTP.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-mono-latin-ext-400-normal-HV5URJWH.woff2") format("woff2"),url("./media/dm-mono-latin-ext-400-normal-LRFTOVAR.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/dm-mono-latin-400-normal-ASEO4XL4.woff2") format("woff2"),url("./media/dm-mono-latin-400-normal-I45UUIKU.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-mono-latin-ext-500-normal-SA7RRQ4Y.woff2") format("woff2"),url("./media/dm-mono-latin-ext-500-normal-HCBH5OK3.woff") format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/dm-mono-latin-500-normal-5DTZP5O2.woff2") format("woff2"),url("./media/dm-mono-latin-500-normal-KIKLL7X2.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #19191a;--chassis: #212122;--surface: #262627;--surface-2: #2c2c2d;--surface-3: #343435;--plate: #39393a;--plate-hi: #414142;--well: #121213;--line: #0c0c0d;--line-2: #464647;--text: #ddd8cc;--muted: #908b80;--faint: #66635c;--accent: #6f5fa6;--accent-hi: #a497cf;--accent-ink: #f1ede4;--accent-glow: rgb(111 95 166 / .25);--danger: #c4493c;--ok: #7fa864;--warn: #d09a3a;--led-off: #2e2c29;--lcd: #8d977c;--lcd-ink: #1d2219;--radius: 3px;--radius-lg: 5px;--ui: "Schibsted Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "EB Garamond Variable", "EB Garamond", Georgia, serif;--mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%' height='100%' filter='url(%23n)'/%3E%3C/svg%3E");--brushed: repeating-linear-gradient(180deg, rgb(255 255 255 / .012) 0 1px, transparent 1px 3px);--key-shadow: inset 0 1px 0 rgb(255 255 255 / .09), inset 0 -1px 0 rgb(0 0 0 / .35), 0 2px 0 #0a0a0b, 0 3px 3px -1px rgb(0 0 0 / .5);--key-pressed: inset 0 2px 3px rgb(0 0 0 / .55), inset 0 0 0 1px rgb(0 0 0 / .3);--inset: inset 0 2px 3px rgb(0 0 0 / .6), inset 0 -1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(255 255 255 / .04);--ease: cubic-bezier(.2, .7, .1, 1);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background-color:var(--bg);background-image:var(--grain),var(--brushed);background-size:160px 160px,auto;color:var(--text);font:400 15px/1.45 var(--ui);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--accent-ink)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:1px dashed var(--accent-hi);outline-offset:2px}#audio{display:none}h1,h2,.display{font-family:var(--display);font-weight:500;letter-spacing:-.01em}h1{font-size:2.3rem;line-height:1.05;font-style:italic}h2{font-size:1.7rem;line-height:1.1;font-style:italic}a{color:var(--accent-hi)}.grain{background-image:var(--grain);background-size:160px 160px}.pixel{image-rendering:pixelated}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:34px;padding:0 .9rem;border-radius:var(--radius);border:1px solid #0b0b0c;background:var(--plate);color:var(--text);box-shadow:var(--key-shadow);font-weight:600;font-size:.84rem;letter-spacing:.01em;text-decoration:none;transition:transform 60ms linear,box-shadow 60ms linear,background .12s,color .12s;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){background:var(--plate-hi)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--key-pressed)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:#7a6ab2}.btn.danger{background:#a63a2f;color:#f4e9e4}.btn.danger:hover:not(:disabled){background:#b4433a}.btn.on{transform:translateY(2px);box-shadow:var(--key-pressed);background:#303031;color:var(--text)}.btn.on:after{content:"";position:absolute;top:4px;right:4px;width:4px;height:4px;border-radius:50%;background:var(--ok);box-shadow:0 0 4px #7fa86499}.btn.off{color:var(--danger)}.btn.wide{width:100%}.btn.small{height:28px;padding:0 .65rem;font-size:.78rem}.btn.icon{width:40px;padding:0}.btn.icon.small{width:28px}.btn.ghost{background:#161617d1}.btn.ghost:hover:not(:disabled){background:#2c2c2deb}.led{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--led-off);box-shadow:inset 0 1px 1px #0009,0 0 0 1px #00000080}.led.ok{background:var(--ok);box-shadow:inset 0 -1px 1px #0000004d,0 0 0 1px #0008,0 0 4px #7fa86473}.led.warn{background:var(--warn);box-shadow:inset 0 -1px 1px #0000004d,0 0 0 1px #0008,0 0 4px #d09a3a73;animation:blink 1.2s steps(1) infinite}.led.bad,.led.live{background:var(--danger);box-shadow:inset 0 -1px 1px #0000004d,0 0 0 1px #0008,0 0 4px #c4493c80}.led.live{animation:blink 1.6s steps(1) infinite}.led.accent{background:var(--accent-hi);box-shadow:inset 0 -1px 1px #0000004d,0 0 0 1px #0008,0 0 4px var(--accent-glow)}.chip{position:relative;height:26px;padding:0 .6rem 0 1.15rem;border-radius:2px;border:1px solid #0b0b0c;background:var(--plate);box-shadow:var(--key-shadow);font:500 .66rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:transform 60ms linear,box-shadow 60ms linear,color .12s}.chip:before{content:"";position:absolute;left:.45rem;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--led-off);box-shadow:inset 0 1px 1px #000a}.chip:hover{color:var(--text)}.chip.lit{transform:translateY(2px);box-shadow:var(--key-pressed);background:#2f2f30;color:var(--text)}.chip.lit:before{background:var(--accent-hi);box-shadow:0 0 4px var(--accent-glow)}.chips{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:2px}.label{font:500 .64rem/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:1.1rem 0 .45rem}.hint{font-size:.82rem;color:var(--muted);margin:.3rem 0;line-height:1.45}.error{color:var(--danger);min-height:1.2em;font-size:.88rem}.mono{font-family:var(--mono);font-size:.92em;letter-spacing:.01em}.tag{display:inline-flex;align-items:center;gap:.3rem;height:19px;padding:0 .4rem;border-radius:1px;font:500 .64rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--well);box-shadow:var(--inset)}.tag.warn{color:var(--warn)}.tag.accent{color:var(--accent-hi)}.lcd{display:inline-flex;align-items:center;gap:.45rem;height:22px;padding:0 .5rem;border-radius:2px;background:var(--lcd);color:var(--lcd-ink);font:500 .74rem/1 var(--mono);letter-spacing:.08em;box-shadow:inset 0 2px 3px #00000073,inset 0 0 0 1px #00000059,0 1px #ffffff0d;text-shadow:1px 1px 0 rgb(0 0 0 / .12)}.field{display:flex;flex-direction:column;gap:.35rem}.input{height:38px;padding:0 .7rem;border-radius:2px;border:1px solid #0b0b0c;background:var(--well);box-shadow:var(--inset);transition:border-color .12s}.input:focus{outline:none;border-color:var(--accent)}input[type=range]{accent-color:var(--accent-hi)}input[type=checkbox]{accent-color:var(--accent)}.switch{display:flex;gap:.6rem;align-items:center;margin-top:.7rem;cursor:pointer;font-size:.88rem}.switch input{appearance:none;-webkit-appearance:none;margin:0;flex-shrink:0;position:relative;cursor:pointer;width:30px;height:16px;border-radius:2px;background:var(--well);border:1px solid #0b0b0c;box-shadow:var(--inset)}.switch input:after{content:"";position:absolute;top:1px;left:1px;width:13px;height:12px;border-radius:1px;background:var(--plate-hi);box-shadow:inset 0 1px #ffffff1f,0 1px #000;transition:transform 90ms linear}.switch input:before{content:"";position:absolute;top:5px;right:4px;width:4px;height:4px;border-radius:50%;background:var(--led-off)}.switch input:checked:after{transform:translate(14px)}.switch input:checked:before{right:auto;left:4px;background:var(--ok);box-shadow:0 0 4px #7fa86480}.card{position:relative;width:min(440px,100%);padding:2.2rem 2rem 1.8rem;border-radius:var(--radius-lg);background-color:var(--chassis);background-image:var(--grain),var(--brushed);background-size:160px 160px,auto;border:1px solid #0b0b0c;box-shadow:inset 0 1px #ffffff0f,inset 0 -2px #0000004d,0 18px 40px -20px #000;animation:develop .36s var(--ease) both}.screws:after{content:"";position:absolute;inset:9px;pointer-events:none;background:linear-gradient(45deg,transparent 45%,#121213 45% 58%,transparent 58%) 0 0 / 7px 7px no-repeat,linear-gradient(-30deg,transparent 45%,#121213 45% 58%,transparent 58%) 100% 0 / 7px 7px no-repeat,linear-gradient(80deg,transparent 45%,#121213 45% 58%,transparent 58%) 0 100% / 7px 7px no-repeat,linear-gradient(15deg,transparent 45%,#121213 45% 58%,transparent 58%) 100% 100% / 7px 7px no-repeat,radial-gradient(circle,#555556 0 2.5px,#141415 2.7px 3.5px,transparent 3.7px) 0 0 / 7px 7px no-repeat,radial-gradient(circle,#555556 0 2.5px,#141415 2.7px 3.5px,transparent 3.7px) 100% 0 / 7px 7px no-repeat,radial-gradient(circle,#555556 0 2.5px,#141415 2.7px 3.5px,transparent 3.7px) 0 100% / 7px 7px no-repeat,radial-gradient(circle,#555556 0 2.5px,#141415 2.7px 3.5px,transparent 3.7px) 100% 100% / 7px 7px no-repeat}.marks:before{content:"";position:absolute;inset:-7px;pointer-events:none;--m: #47474a;background:linear-gradient(var(--m),var(--m)) 0 0 / 12px 1px,linear-gradient(var(--m),var(--m)) 0 0 / 1px 12px,linear-gradient(var(--m),var(--m)) 100% 0 / 12px 1px,linear-gradient(var(--m),var(--m)) 100% 0 / 1px 12px,linear-gradient(var(--m),var(--m)) 0 100% / 12px 1px,linear-gradient(var(--m),var(--m)) 0 100% / 1px 12px,linear-gradient(var(--m),var(--m)) 100% 100% / 12px 1px,linear-gradient(var(--m),var(--m)) 100% 100% / 1px 12px;background-repeat:no-repeat}.panel-surface{background-color:var(--surface);background-image:var(--grain),var(--brushed);background-size:160px 160px,auto;border:1px solid #0b0b0c;border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff0f,0 12px 30px -12px #000,0 2px #0a0a0b}.center{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:1.5rem 1rem}@keyframes develop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes crt-on{0%{transform:scale(.7,.006);filter:brightness(3);opacity:.9}40%{transform:scaleY(.006);filter:brightness(2.5)}to{transform:none;filter:none;opacity:1}}@keyframes unfold-up{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes unfold-down{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes slide-in{0%{transform:translate(10px);opacity:0}to{transform:none;opacity:1}}@keyframes blink{0%,64%{opacity:1}65%,to{opacity:.3}}@keyframes print{0%{clip-path:inset(0 0 100% 0);transform:translateY(-6px)}to{clip-path:inset(0 0 0 0);transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
