:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--panel:#f3f4f6;--gutter-bg:#f3f4f6;--editor-bg:#fff;--fg:#14181d;--muted:#5b6570;--border:#d5dae0;--accent:#007b81;--accent-fg:#fff;--ok:#1a7f37;--danger:#b3261e;--warn:#8a6100;--selection:#b6dcff;--active-line:#14181d0d;--bracket:#d8e6f5;--error-line:#fdeceb;--tok-comment:#6e7781;--tok-keyword:#cf222e;--tok-type:#953800;--tok-number:#0550ae;--tok-string:#0a3069;--tok-function:#8250df;--tok-preproc:#116329;--tok-constant:#0550ae;--tok-punct:#57606a;--plot-1:#1a63c8;--plot-2:#b3261e;--plot-3:#1a7f37;--plot-4:#8250df;--plot-grid:#e6e9ee}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161b22;--gutter-bg:#0d1117;--editor-bg:#0d1117;--fg:#e6edf3;--muted:#9198a1;--border:#30363d;--accent:#2f9ea4;--accent-fg:#04191b;--ok:#3fb950;--danger:#f85149;--warn:#d29922;--selection:#23405e;--active-line:#e6edf30d;--bracket:#26374a;--error-line:#2d1618;--tok-comment:#8b949e;--tok-keyword:#ff7b72;--tok-type:#ffa657;--tok-number:#79c0ff;--tok-string:#a5d6ff;--tok-function:#d2a8ff;--tok-preproc:#7ee787;--tok-constant:#79c0ff;--tok-punct:#9198a1;--plot-1:#58a6ff;--plot-2:#ff7b72;--plot-3:#3fb950;--plot-4:#d2a8ff;--plot-grid:#21262d}*{box-sizing:border-box}[hidden]{display:none!important}html{overflow:hidden auto}html,body{min-height:100%}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100dvh;display:flex}.toolbar,.output,.monitor,.footer,.resize-handle{flex:none}.resize-handle{background:var(--panel);border-top:1px solid var(--border);cursor:row-resize;touch-action:none;justify-content:center;align-items:center;height:10px;display:flex}.resize-handle:after{content:"";background:var(--border);border-radius:1px;width:2.5rem;height:2px}.resize-handle:hover:after,.resize-handle:focus-visible:after,.resize-handle[data-dragging]:after{background:var(--accent)}.resize-handle:not([hidden])+.output,.resize-handle:not([hidden])+.monitor{border-top:none}body.resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}@media (pointer:coarse){.resize-handle{height:14px}}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;padding:.5rem .75rem;display:flex}.tool-group{align-items:center;gap:.4rem;display:inline-flex}.menu-button:after{content:"▾";color:var(--muted);margin-left:.35rem}.menu-button[aria-expanded=true],#find[aria-expanded=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg))}.menu{min-width:12rem;max-width:calc(100vw - 32px);color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;margin:0;padding:.3rem;position:fixed;inset:auto;box-shadow:0 8px 24px #00000038}.menu:popover-open{flex-direction:column;gap:.1rem;display:flex}.menu>button{text-align:left;background:0 0;border-color:#0000;padding:.4rem .65rem}.menu>button:hover:not(:disabled){background:var(--panel);border-color:#0000}.menu>button.danger{color:var(--danger)}.menu hr{border:none;border-top:1px solid var(--border);margin:.25rem .3rem}.menu>.check,.menu-row{padding:.35rem .65rem}.menu-row{justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.run-group{align-items:center;gap:.4rem .5rem;margin-left:auto;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:.45rem;margin-right:.25rem;font-weight:700;display:inline-flex}.brand img{border-radius:12px}.grow{flex:auto}.field{color:var(--muted);align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.check{white-space:nowrap;align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}button,select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:.28rem .6rem;font-size:.85rem}select{max-width:12rem}#library-select{max-width:9rem}.dialog{max-width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--fg);background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1.1rem 1.3rem;line-height:1.45;overflow:auto}.dialog::backdrop{background:#00000073}.dialog h2{margin:0 0 .6rem}.dialog h3{margin:1rem 0 .4rem;font-size:1rem}.dialog .steps{margin:0;padding-left:1.3rem}.dialog .steps li{margin-bottom:.4rem}.dialog .keys{border-collapse:collapse;width:100%;font-size:.9rem}.dialog .keys td{border-bottom:1px solid var(--border);vertical-align:top;padding:.25rem .5rem .25rem 0}.dialog .keys td:first-child{color:var(--muted);white-space:nowrap}.dialog kbd{font:inherit;border:1px solid var(--border);background:var(--bg);border-radius:4px;padding:0 .3rem;font-size:.8rem}.dialog .note{color:var(--muted);margin-top:.8rem;font-size:.85rem}.dialog .note a{color:inherit}.reference{margin:0;padding:0;list-style:none}.reference li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:.45rem 0}.reference code{color:var(--muted);font-size:.8rem}.reference-about{font-size:.9rem;display:block}.reference-links{flex-wrap:wrap;gap:.2rem .9rem;font-size:.9rem;display:flex}.reference a{color:var(--accent)}.userlibs{margin:12px 0;padding:0;list-style:none}.userlibs li{border-bottom:1px solid var(--border,#d0d7de);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.userlibs li.empty{color:var(--muted,#6b7280);justify-content:flex-start}.userlibs small{color:var(--muted,#6b7280);display:block}.dialog-actions{justify-content:flex-end;margin-top:.9rem;display:flex}.toplink{color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:.28rem .6rem;font-size:.85rem;text-decoration:none}.toplink:hover,button:hover:not(:disabled),select:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);padding-inline:1rem;font-weight:600}button.link{color:var(--muted);background:0 0;border:none;padding:.1rem .2rem;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status{border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:.28rem .6rem;font-size:.85rem;font-weight:600}.status[data-state=idle]{color:var(--muted)}.status[data-state=compiling],.status[data-state=uploading]{color:var(--warn);border-color:var(--warn)}.status[data-state=success]{color:var(--ok);border-color:var(--ok)}.status[data-state=error]{color:var(--danger);border-color:var(--danger)}.status[data-state=compiler-busy]{color:var(--warn);border-color:var(--warn)}.editor{background:var(--editor-bg);flex:1 1 0;min-height:12rem;overflow:hidden}.editor .cm-editor{height:100%}.editor .cm-scroller{overflow:auto}.output{height:var(--output-height,auto);max-height:var(--output-height,28vh);background:var(--panel);border-top:1px solid var(--border);flex-direction:column;display:flex;overflow:auto}.output-head{align-items:center;gap:.6rem;padding:.3rem .75rem;display:flex}.serial-help{color:var(--danger);font-size:.75rem}.output-head h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.progress{align-items:center;gap:.6rem;padding:0 .75rem .4rem;display:flex}.progress progress{height:.6rem;accent-color:var(--accent);flex:auto}.progress-count{color:var(--muted);white-space:nowrap;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.75rem}.phrase-form{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:0 .75rem .4rem;display:flex}.phrase-label{color:var(--muted);font-size:.8rem}.phrase-form input[type=text]{min-width:0;max-width:22rem;height:2rem;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--accent);border-radius:5px;flex:10rem;padding:0 .5rem;font-size:.95rem}.phrase-set{color:var(--muted);align-items:center;gap:.35rem;padding:0 .75rem .4rem;font-size:.8rem;display:flex}.phrase-set button{font-size:inherit}.error-list{flex-direction:column;flex:none;display:flex}.error-list:not(:empty){border-top:1px solid var(--border)}.error-row{text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--danger);background:0 0;border-radius:0;padding:.35rem .75rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;display:block}.error-row[data-severity=warning],.error-row[data-severity=note]{color:var(--muted)}.error-row:hover{background:var(--bracket);border-color:var(--border)}.error-row .where{margin-right:.4rem;font-weight:700}.error-said{display:block}.error-hint{color:var(--muted);margin-top:.15rem;padding-left:1.1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:400;display:block}.output-text{white-space:pre-wrap;word-break:break-word;min-height:2.5rem;color:var(--muted);flex:auto;margin:0;padding:.5rem .75rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem}.output-text[data-tone=error]{color:var(--danger)}.output-text[data-tone=success]{color:var(--ok)}.monitor{background:var(--panel);border-top:1px solid var(--border);flex-direction:column;display:flex}.monitor-state{color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:600}.monitor-state[data-state=connected]{color:var(--ok)}.monitor-state[data-state=connecting],.monitor-state[data-state=paused]{color:var(--warn)}.monitor-body{flex-direction:column;min-height:0;display:flex}.monitor-controls,.monitor-send{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:0 .75rem .4rem;display:flex}.monitor-output{height:var(--monitor-log-height,clamp(4rem, 22vh, 14rem));background:var(--editor-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-word;color:var(--fg);margin:0;padding:.5rem .75rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.8rem;overflow:auto}.view-toggle{gap:0;display:inline-flex}.view-toggle button{white-space:nowrap;border-radius:0}.view-toggle button:first-child{border-radius:5px 0 0 5px}.view-toggle button:last-child{border-radius:0 5px 5px 0;margin-left:-1px}.view-toggle button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600;position:relative}.monitor-plot{height:var(--monitor-log-height,clamp(4rem, 22vh, 14rem));background:var(--editor-bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.monitor-plot canvas{width:100%;height:100%;display:block}.monitor-send{padding-top:.4rem}.monitor-send input[type=text]{min-width:0;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:5px;flex:12rem;padding:.28rem .5rem;font-size:.85rem}.monitor-send input[type=text]:disabled{opacity:.55}.footer{background:var(--panel);border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;display:flex}.footer a{color:var(--muted);text-decoration:underline}.footer a:hover{color:var(--accent)}@media (width<=640px){.brand img{border-radius:9px;width:42px;height:42px}.field span{display:none}.toolbar{column-gap:.6rem}.toolbar button{white-space:nowrap}.tool-group{flex-wrap:wrap}#library-select{max-width:6rem}}@media (pointer:coarse){button,select,.monitor-send input[type=text],.cm-find .cm-textfield,.check{min-height:2.5rem}button{min-width:2.5rem}.reference-links a{align-items:center;min-height:2.5rem;display:inline-flex}.phrase-form input[type=text]{height:2.5rem}}
