:root{--bg: #1a1b1e;--fg: #e6e6e6;--muted: #8a8d93;--accent: #6ea8fe;--cell-bg: #2a2c30;--cell-border: #3a3d42;--head: #ffd166;--head-dim: #cca84d;--error: #ff6b6b;--ok: #5fd068;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg)}body{display:flex;flex-direction:column}header{display:flex;align-items:center;gap:24px;padding:12px 24px;border-bottom:1px solid var(--cell-border)}header h1{font-size:16px;margin:0;font-weight:500;letter-spacing:.04em;color:var(--head-dim)}.tabs{display:flex;gap:4px}.repo-link{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:var(--muted);text-decoration:none;transition:background-color .12s ease,color .12s ease}.repo-link:hover{background:#ffffff0f;color:var(--fg)}.repo-link svg{width:18px;height:18px;display:block}.tabs button{background:transparent;border:1px solid transparent;color:var(--muted);padding:4px 14px;font:inherit;cursor:pointer;border-radius:6px}.tabs button.active{color:var(--fg);background:var(--cell-bg);border-color:var(--cell-border)}main{flex:1;overflow:hidden;display:flex}.tab{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden}.tab.hidden{display:none}.panel-tape{display:flex;flex-direction:column;gap:16px;padding:24px;border-right:1px solid var(--cell-border);overflow:hidden;min-height:0}.panel-editor{display:flex;flex-direction:column;gap:12px;padding:24px;overflow:hidden}.control-panel{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--cell-border);border-radius:6px;background:#00000026;animation:belt-enter .4s ease-out .1s backwards}.control-panel.hidden{display:none}.cp-interactive{display:flex;flex-direction:column;gap:8px;transition:opacity .15s ease}.cp-interactive .cp-row+.cp-row{padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.control-panel.disabled .cp-interactive{opacity:.5;pointer-events:none}.control-panel.no-apply .cp-apply-row,.cp-row.hidden{display:none}.cp-btn.pressed{background:#6ea8fe66;border-color:var(--accent);color:var(--accent);transform:scale(.96);transition:background-color 80ms ease,transform 80ms ease}.take-control{display:flex;align-items:center;justify-content:center;width:100%;gap:6px;height:30px;padding:4px 12px;background:transparent;border:1px solid rgba(95,208,104,.28);color:#5fd068b3;border-radius:6px;cursor:pointer;font:inherit;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.take-control:hover{background:#5fd06824;border-color:var(--ok);color:var(--ok)}.take-control.hidden{display:none}.take-control svg,.take-control .btn-icon-slot{width:16px;height:16px;display:block;flex-shrink:0;opacity:.85}.cp-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.cp-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:4px 10px;background:var(--cell-bg);border:1px solid rgba(255,255,255,.06);color:var(--fg);border-radius:4px;cursor:pointer;font:inherit;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:14px;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.cp-btn:hover{border-color:#6ea8fe80;color:var(--accent)}.cp-btn.selected{background:#6ea8fe33;border-color:var(--accent);color:var(--accent)}.cp-btn svg{width:18px;height:18px;display:block}.cp-apply{min-width:64px}@keyframes belt-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ui-belt{--cell-w: 32px;--cell-h: 40px;--cell-gap: 4px;--visible-cells: 15;--fade-cells: 2.5;--pitch: calc(var(--cell-w) + var(--cell-gap));--ui-belt-width: calc(var(--visible-cells) * var(--cell-w) + (var(--visible-cells) - 1) * var(--cell-gap));--ui-belt-fade: calc(var(--fade-cells) * var(--pitch));display:flex;justify-content:center;font-family:ui-monospace,SF Mono,Consolas,monospace;padding-bottom:20px;animation:belt-enter .4s ease-out backwards}.ui-belt-viewport{position:relative;width:var(--ui-belt-width);max-width:100%;height:var(--cell-h);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,black var(--ui-belt-fade),black calc(100% - var(--ui-belt-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black var(--ui-belt-fade),black calc(100% - var(--ui-belt-fade)),transparent 100%)}.ui-belt-center{display:flex;justify-content:center;height:100%}.ui-belt-strip{display:flex;gap:var(--cell-gap);align-items:center;height:100%;transform:translate(0)}.ui-belt-strip.transitions-on{transition:transform .4s ease}.ui-belt-cell{position:relative;flex:0 0 auto;width:var(--cell-w);height:var(--cell-h);display:flex;align-items:center;justify-content:center;background:var(--cell-bg);border:1px solid var(--cell-border);border-radius:4px;font-size:16px;white-space:pre}.ui-belt-sym{pointer-events:none}.ui-belt-caret{position:absolute;left:50%;top:0;transform:translate(-50%);width:var(--cell-w);height:var(--cell-h);border:1px solid var(--head);border-radius:4px;box-shadow:0 0 0 1px var(--head) inset;pointer-events:none}.ui-belt-caret:after{content:"▲";position:absolute;bottom:-16px;left:50%;transform:translate(-50%);color:var(--head);font-size:10px}.log-panel{position:relative;flex:1;min-height:80px;background:#0003;border:1px solid var(--cell-border);border-radius:6px}.log-content{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:8px 10px;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:12px;color:var(--muted)}.log-clear{position:absolute;top:6px;right:6px;z-index:1;width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.log-clear:hover{background:#ffffff0f;color:var(--fg)}.log-clear svg{width:14px;height:14px;display:block}.log-line{white-space:pre-wrap;word-break:break-word;padding:1px 0}.log-line.error{color:var(--error)}.log-line.ok{color:var(--ok)}.status{display:none;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status.error{color:var(--error)}.status.ok{color:var(--ok)}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.controls button{display:inline-flex;align-items:center;gap:6px;background:var(--cell-bg);border:1px solid var(--cell-border);color:var(--fg);padding:6px 14px;font:inherit;cursor:pointer;border-radius:6px}.controls button svg,.controls button .btn-icon-slot{width:16px;height:16px;display:block;flex-shrink:0}.controls .checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.controls .checkbox input{accent-color:var(--accent);margin:0}.controls .interval-input{width:64px;background:var(--cell-bg);border:1px solid var(--cell-border);color:var(--fg);padding:4px 8px;font:inherit;font-size:13px;border-radius:4px}.controls .interval-input:focus{outline:none;border-color:var(--accent)}.controls .interval-input.invalid{border-color:var(--error);color:var(--error)}.controls .interval-input.hidden{display:none}.controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.controls button:disabled{opacity:.4;cursor:not-allowed}.editor{flex:1;min-height:0;border:1px solid var(--cell-border);border-radius:6px;overflow:hidden}.version{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:11px;color:var(--muted);text-align:right;padding-top:4px}.editor .cm-editor{height:100%;font-size:13px}.editor .cm-editor.cm-focused{outline:none}.editor .cm-focused{border-color:var(--accent)}.editor .cm-scroller{font-family:ui-monospace,SF Mono,Consolas,monospace;line-height:1.5}@media (max-width: 768px){header{flex-wrap:wrap;gap:12px;padding:10px 14px}header h1 .title-prefix{display:none}main{overflow:auto}.tab{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:visible}.panel-tape{padding:16px;border-right:none;border-bottom:1px solid var(--cell-border)}.panel-editor{padding:16px;min-height:60vh}.ui-belt{--cell-w: 26px;--cell-h: 34px;--visible-cells: 11}.ui-belt-cell{font-size:14px}.log-panel{display:none}.status{display:block}.controls button{flex:1}.alphabet{font-size:12px}}
