@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/ibm-plex-mono-v20-latin_latin-ext-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../../../fonts/ibm-plex-mono-v20-latin_latin-ext-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../../../fonts/ibm-plex-mono-v20-latin_latin-ext-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:700;font-display:swap;src:url(../../../fonts/ibm-plex-mono-v20-latin_latin-ext-700italic.woff2) format("woff2")}@font-face{font-family:"IBM VGA 8x16-2x";font-weight:400;font-style:normal;font-display:swap;src:url(../../../fonts/WebPlus_IBM_VGA_8x16-2x.woff) format("woff")}@font-face{font-family:Sysfont;src:url(../../../fonts/sysfont.woff2) format("woff2"),url(/fonts/sysfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:Chicago;src:url(../../../fonts/ChicagoFLF.woff2) format("woff2");font-weight:400;font-style:normal}@property --hue{syntax: "<number>"; inherits: true; initial-value: 29;}:root{--hue: 29;--hue-red: 29;--hue-green: 142;--hue-yellow: 91;--accent: oklch(63% .25 var(--hue));--led-on: oklch(63% .25 var(--hue));--glow: oklch(63% .25 var(--hue) / 50%);--glow-soft: oklch(63% .25 var(--hue) / 15%);--text: oklch(82% .06 var(--hue));--text-bright: oklch(95% .09 var(--hue));--text-dim: oklch(67% .05 var(--hue));--surface: oklch(9% .01 var(--hue));--surface2: oklch(12% .01 var(--hue));--border: oklch(39% .025 var(--hue));--border2: oklch(45% .035 var(--hue));--led-hover: oklch(50% .015 var(--hue));--led-off: oklch(21% .013 var(--hue));--code-bg: oklch(13% .011 var(--hue));--danger: oklch(81% .15 69.54);--led-red: oklch(63% .25 var(--hue-red));--led-red-glow: oklch(63% .25 var(--hue-red) / 40%);--led-red-soft: oklch(63% .25 var(--hue-red) / 15%);--led-green: oklch(78% .4 var(--hue-green));--led-green-glow: oklch(78% .4 var(--hue-green) / 40%);--led-green-soft: oklch(78% .4 var(--hue-green) / 12%);--led-yellow: oklch(92% .16 var(--hue-yellow));--led-yellow-glow: oklch(92% .16 var(--hue-yellow) / 40%);--led-yellow-soft: oklch(92% .16 var(--hue-yellow) / 12%);--font-display:"IBM VGA 8x16-2x", monospace;--font-mono: "Sysfont","Chicago", "Courier New", monospace;--font-code: "IBM Plex Mono", "Courier New", monospace;--cell: 14px;--gap: 2px;--radius: 2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:oklch(14% .01 var(--hue));color:var(--text);font-family:var(--font-mono);font-size:round(1rem,3px);line-height:1.5;min-height:100vh}::selection{background-color:oklch(42.682% .14522 var(--hue));color:#fff}main{flex:1;min-height:0;width:100%;max-width:1600px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.25rem}h1{transform:scaleX(.8333);transform-origin:left;width:120.48%;line-height:1em;letter-spacing:0}h3{font-size:round(1.33rem,3px)}.content-layout{flex:1;min-height:0;display:flex;flex-direction:column;gap:1.25rem}.col-primary,.col-secondary{min-height:0;display:flex;flex-direction:column;gap:1.25rem}@media(min-width:1100px){main{padding-left:2.5rem;padding-right:2.5rem;padding-bottom:2rem}.content-layout{display:grid;grid-template-columns:50% 50%;align-items:start;gap:2.5rem}}.page-root{min-height:100dvh;display:flex;flex-direction:column;transition:--hue .6s ease}.tricolour-theme{--hue: var(--hue-green);--accent: oklch(63% .25 var(--hue-green));--led-on: oklch(63% .25 var(--hue-green));--glow: oklch(63% .25 var(--hue-green) / 50%);--glow-soft: oklch(63% .25 var(--hue-green) / 15%);--text: oklch(72% .06 var(--hue-green));--text-bright: oklch(85% .09 var(--hue-green));--text-dim: oklch(57% .05 var(--hue-green));--surface: oklch(9% .01 var(--hue-green));--surface2: oklch(12% .01 var(--hue-green));--border: oklch(39% .025 var(--hue-green));--border2: oklch(45% .035 var(--hue-green));--led-hover: oklch(50% .015 var(--hue-green));--led-off: oklch(21% .013 var(--hue-green));--code-bg: oklch(13% .011 var(--hue-green))}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:ease}@media(max-width:600px){main{padding:1rem .75rem 3rem}}.panel{border:1px solid var(--border);background:var(--surface);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.panel-header-sm{display:flex;flex-direction:column;gap:.35rem}.panel-controls{display:flex;align-items:center;gap:.4rem}.field-group{display:flex;flex-direction:column;gap:.35rem}.ui-label{font-size:round(1.15rem,3px);color:var(--text-dim);letter-spacing:.15em}.ui-label-sm{font-family:var(--font-mono);font-size:round(.85rem,3px);color:var(--text)}.btn{--btn-font-size: round(.9rem, 3px);background:transparent;border:1px solid var(--border2);color:var(--text);font-family:var(--font-mono);font-size:var(--btn-font-size);letter-spacing:.08em;padding:.3rem .75rem;cursor:pointer;transition:background .1s,border-color .1s,color .1s;display:inline-flex;align-items:center;justify-content:center;line-height:1.3;min-height:calc(var(--btn-font-size) * 1.3 + .6rem)}.btn:hover:not(:disabled){background:var(--surface2);border-color:var(--text-dim);color:var(--text-bright)}.btn:active:not(:disabled){background:var(--border)}.btn:disabled{opacity:.35;cursor:default}.btn-accent{border-color:var(--accent);color:var(--accent)}.btn-accent:hover:not(:disabled){background:var(--glow-soft);border-color:var(--accent);color:var(--accent)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger);color:var(--danger)}.btn-success{border-color:var(--led-green);color:var(--led-green)}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--led-green) 10%,transparent);border-color:var(--led-green);color:var(--led-green)}.btn-sm{font-size:round(.8rem,3px);padding:.22rem .6rem}.btn-del{position:absolute;top:-6px;right:-6px;width:16px;height:16px;padding:0;background:var(--surface2);border:1px solid var(--border2);border-radius:50%;color:var(--text-dim);font-size:round(1rem,3px);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .1s,border-color .1s}.btn-del:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.btn-del:disabled{opacity:.35;cursor:default}.toggle-group{display:flex}.toggle-group .btn{background:var(--code-bg);color:var(--text-dim)}.toggle-group .btn+.btn{border-left:none}.toggle-group .btn.active{background:var(--glow-soft);border-color:var(--accent);color:var(--accent)}.input{background:var(--code-bg);border:1px solid var(--border2);color:var(--text-bright);font-family:var(--font-mono);font-size:round(.95rem,3px);padding:.35rem .6rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--glow-soft)}.input::placeholder{color:var(--text-dim);opacity:.5}.input-full{flex:1;min-width:0}.spin-wrap{display:flex;align-items:stretch}.spin-input{width:58px;border-right:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.spin-input::-webkit-inner-spin-button,.spin-input::-webkit-outer-spin-button{-moz-appearance:none;appearance:none;-webkit-appearance:none}.spin-wrap:focus-within .spin-input{border-color:var(--accent)}.spin-wrap:focus-within .spin-btns{border-color:var(--accent)}.spin-wrap:focus-within .spin-btn:first-child{border-bottom-color:var(--accent)}.spin-btns{display:flex;flex-direction:column;border:1px solid var(--border2)}.spin-btn{flex:1;background:var(--code-bg);border:none;color:var(--text-dim);font-size:.55rem;line-height:1;padding:.1rem .35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:20px;transition:background .1s,color .1s}.spin-btn:first-child{border-bottom:1px solid var(--border2)}.spin-btn:hover{background:var(--surface2);color:var(--accent)}.spin-btn:active{background:var(--border)}.chips{display:flex;gap:.5rem;padding-top:6px;padding-bottom:.25rem;max-width:100%;overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:var(--border2) var(--code-bg)}.chips::-webkit-scrollbar{height:4px}.chips::-webkit-scrollbar-track{background:var(--code-bg)}.chips::-webkit-scrollbar-thumb{background:var(--border2)}.chip{position:relative;flex-shrink:0}.chip-load{display:flex;flex-direction:column;align-items:center;gap:.3rem;background:var(--code-bg);border:1px solid var(--border2);padding:.4rem .5rem .35rem;cursor:pointer;width:80px;transition:border-color .1s}.chip-load:hover{border-color:var(--accent)}.thumb-wrap{position:relative;width:68px;height:36px;display:block}.thumb{width:68px;height:36px;display:block;background:var(--led-off);image-rendering:pixelated}.chip-name{font-family:var(--font-mono);font-size:round(.8rem,3px);color:var(--text-dim);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:68px}.badge{position:absolute;bottom:2px;font-family:var(--font-mono);font-size:round(.6rem,3px);letter-spacing:.04em;line-height:1;background:oklch(9% .01 var(--hue) / 75%);padding:1px 4px;left:2px;color:var(--led-green)}.badge-left{left:2px}.badge-right{right:2px}.badge-success{color:var(--led-green)}.badge-accent{color:var(--accent);font-weight:600}.code-block{background:var(--code-bg);color:var(--text-bright);font-family:var(--font-code);font-size:.9rem;line-height:1.7;padding:1rem 1.25rem;overflow-x:auto;white-space:pre;-moz-tab-size:2;tab-size:2;scrollbar-width:thin;scrollbar-color:var(--border2) var(--code-bg)}.code-block::-webkit-scrollbar{height:6px;width:6px}.code-block::-webkit-scrollbar-track{background:var(--code-bg)}.code-block::-webkit-scrollbar-thumb{background:var(--border2)}.code-block-sm{padding:.4rem .75rem}.resize-v{resize:vertical}
