:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0d1117;color:#c9d1d9}body{margin:0}main{max-width:1400px;margin:0 auto;padding:24px 16px 64px}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"controls viz";gap:16px;align-items:start}.controls{grid-area:controls}.viz-col{grid-area:viz}.viz-panel{position:sticky;top:16px}@media (max-width: 1024px){.layout{grid-template-columns:1fr;grid-template-areas:"viz" "controls"}.viz-panel{position:static}}h1{font-size:1.4rem;margin:0 0 4px}h2{font-size:1rem;margin:0 0 12px;color:#8b949e;text-transform:uppercase;letter-spacing:.05em}.env-n-wrap{display:inline-flex;align-items:baseline;gap:4px;margin-left:6px;text-transform:none;font-size:.85rem}.env-n-wrap code{color:#6e7681}.env-n-wrap input{width:3.5em;background:#0d1117;border:1px solid #30363d;color:#c9d1d9;border-radius:3px;padding:1px 4px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85rem}.env-n-wrap input:focus{outline:1px solid #58a6ff}h3{font-size:.8rem;margin:14px 0 8px;color:#58a6ff;text-transform:uppercase;letter-spacing:.04em;font-weight:600}h3:first-of-type{margin-top:0}.subtitle{margin:0 0 24px;color:#8b949e}footer{margin-top:32px;padding-top:16px;border-top:1px solid #21262d;color:#6e7681;font-size:.8rem;text-align:center}footer a{color:#8b949e}footer a:hover{color:#58a6ff}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.panel{border:1px solid #30363d;border-radius:8px;padding:16px;margin-bottom:16px;background:#161b22}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px 12px;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:2px;cursor:help}.field-label{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.field-name{font-size:.78rem;color:#c9d1d9}.field-code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.7rem;color:#6e7681;background:#0d1117;border:1px solid #30363d;border-radius:3px;padding:0 4px}.field input,.field select{background:#0d1117;border:1px solid #30363d;color:#c9d1d9;border-radius:4px;padding:4px 6px;font-family:ui-monospace,monospace}.field input:focus,.field select:focus{outline:1px solid #58a6ff}.field input:disabled,.field select:disabled{color:#484f58;cursor:not-allowed}.field.disabled,h3.disabled,.grid.disabled{opacity:.45}.grid.disabled{pointer-events:none}#play,#stop,#share-link,#run-emulator{color:#fff;border:none;border-radius:4px;padding:6px 14px;margin-right:8px;cursor:pointer;font:inherit}#play{background:#238636}#play:hover{background:#2ea043}#stop{background:#6e7681}#stop:hover{background:#8b949e}#share-link{background:#30363d;margin-left:auto}#share-link:hover{background:#484f58}#run-emulator{background:#1f6feb;margin-right:0}#run-emulator:hover{background:#388bfd}.basic-row{display:flex;align-items:stretch;gap:6px;margin-bottom:12px}.basic-line{background:#0d1117;border:1px solid #30363d;border-radius:4px;padding:8px 10px;margin:0;overflow-x:auto;font-size:.85rem;flex:1;font-family:ui-monospace,Cascadia Code,Consolas,monospace;color:#c9d1d9;min-width:0}input.basic-line:focus{outline:1px solid #58a6ff}input.basic-line.invalid{border-color:#f85149}.copy-btn{background:#21262d;border:1px solid #30363d;border-radius:4px;padding:0;margin:0;width:36px;flex:0 0 auto;cursor:pointer;color:#8b949e;display:flex;align-items:center;justify-content:center;position:relative;transition:color .15s,background .15s}.copy-btn:hover{background:#30363d;color:#c9d1d9}.copy-btn:before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z'/><path fill-rule='evenodd' d='M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z'/><path fill-rule='evenodd' d='M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z'/></svg>") center / contain no-repeat}.copy-btn.copied{color:#56d364;background:#1a2f1f;border-color:#2a4a30}.copy-btn.copied:before{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.75.75 0 0 1 1.06-1.06L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z'/></svg>")}canvas{width:100%;height:auto;display:block;border-radius:4px}.transport{display:flex;gap:8px;margin:12px 0;align-items:center}.hold-toggle{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;color:#c9d1d9;cursor:pointer;-webkit-user-select:none;user-select:none}.hold-toggle input{cursor:pointer}.presets{display:flex;flex-wrap:wrap;gap:6px}.preset-btn{background:#21262d;color:#c9d1d9;border:1px solid #30363d;border-radius:4px;padding:4px 10px;margin:0;font:inherit;font-size:.8rem;cursor:pointer}.preset-btn:hover{background:#30363d;border-color:#58a6ff}.preset-btn:focus{outline:none}.preset-btn:focus-visible{outline:2px solid #58a6ff;outline-offset:1px}.preset-btn.active{background:#1f6feb;border-color:#58a6ff;color:#fff}.preset-btn.active:hover{background:#388bfd}
