:root{--bg:#fafafa;--panel:#fff;--ink:#141414;--mut:#9a9a9a;--mut2:#c4c4c4;--hair:#e7e7e7;--hair2:#f0f0f0;--acc:#ff4d00;--acc-soft:#fff0eb;--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono","Roboto Mono",Menlo,Consolas,monospace;--sans:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink)}html{min-height:100%}body{font-family:var(--mono);min-height:100vh;background:var(--bg);display:flex;justify-content:center;padding:28px 18px 80px;-webkit-font-smoothing:antialiased;line-height:1.4;color-scheme:light;font-feature-settings:"tnum" 1}.unit{width:100%;max-width:720px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num,button{font-family:var(--mono)}button{color:inherit}.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}.title{display:flex;flex-direction:column;gap:6px;min-width:0}.title h1{font-family:var(--sans);font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:.9}.title h1 .dot{color:var(--acc)}.title .sub{font-size:10px;color:var(--mut);text-transform:lowercase}.meta,.title .sub{letter-spacing:.04em}.meta{font-size:9.5px;color:var(--mut2);text-align:right;line-height:1.7;white-space:nowrap}@media (max-width:520px){.title h1{font-size:34px}.title .sub{display:none}}.tabs{display:flex;gap:24px;margin-bottom:24px;border-bottom:1px solid var(--hair)}.tab{padding:0 0 12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--mut);position:relative;background:none;border:0}.tab.on{color:var(--ink)}.tab.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acc)}.scope{background:var(--panel);border:1px solid var(--hair);margin-bottom:26px}canvas{display:block;width:100%}.cluster{padding:0 0 24px}.cluster h3{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:16px;display:flex;align-items:center;gap:12px}.cluster h3:after{content:"";flex:1 1;height:1px;background:var(--hair)}.section-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:20px;font-family:var(--mono)}.divider{border-top:1px solid var(--hair);padding-top:26px;margin-top:8px}.vb{display:grid;grid-template-columns:104px 1fr 38px;align-items:center;grid-gap:16px;gap:16px;margin-bottom:16px;cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.vb:last-child{margin-bottom:0}.vb .nm{font-size:11px;color:var(--ink);font-family:var(--sans);text-transform:lowercase}.vb .track{height:2px;background:var(--hair);position:relative}.vb .track .fillbar{position:absolute;left:0;top:0;bottom:0;background:var(--ink);width:50%}.vb .track .fillbar:after{content:"";position:absolute;right:-3px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--ink);transform:translateY(-50%)}.vb .val{font-size:10px;color:var(--mut);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.vb.live .fillbar,.vb.live .fillbar:after{background:var(--acc)}.vb.live .val{color:var(--acc)}.seg{display:inline-flex;gap:6px;flex-wrap:wrap}.seg .opt{padding:7px 14px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:1px solid var(--hair);background:var(--panel);color:var(--mut)}.seg .opt:hover{border-color:var(--mut2);color:var(--ink)}.seg .opt.on{border-color:var(--ink);color:var(--ink)}.seg.live .opt.on{border-color:var(--acc);color:var(--acc)}.wordrow{display:flex;align-items:center;gap:14px;margin-bottom:24px;border-bottom:1px solid var(--hair);padding-bottom:14px}input[type=text]{flex:1 1;border:0;background:none;font-family:var(--sans);font-size:22px;padding:0;outline:none;color:var(--ink);letter-spacing:-.01em}input[type=text]::placeholder{color:var(--mut2)}.wordrow button{border:0;background:none;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);cursor:pointer;padding:6px 0}.wordrow button:hover{color:var(--acc)}.rows{flex-direction:column;gap:2px;margin-bottom:10px}.rows,.syl{display:flex}.syl{flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;cursor:pointer;background:var(--panel);border:1px solid var(--hair)}.syl.sel{border-color:var(--ink)}.syl .idx{font-size:10px;color:var(--mut);width:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.syl.sel .idx{color:var(--acc)}.syl select{flex:0 0 88px}select{border:1px solid var(--hair);background:var(--panel);font-family:var(--mono);font-size:11px;padding:6px;outline:none;cursor:pointer;color:var(--ink)}select:focus{border-color:var(--ink)}.vowels{display:inline-flex;gap:4px}.vowels .vw{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;border:1px solid var(--hair);background:var(--panel);color:var(--mut);font-family:var(--sans)}.vowels .vw:hover{border-color:var(--mut2);color:var(--ink)}.vowels .vw.on{border-color:var(--ink);color:var(--ink)}.vsw{margin-left:auto;font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:7px 11px;border:1px solid var(--hair);cursor:pointer;color:var(--mut);background:var(--panel)}.vsw.on{border-color:var(--acc);color:var(--acc)}.addrow{padding:12px;text-align:center;cursor:pointer;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border:1px dashed var(--mut2);background:none;margin-bottom:24px;width:100%}.addrow:hover{color:var(--acc);border-color:var(--acc)}.seq{margin-bottom:26px}.seqhead{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.lane{padding:0 0 22px;border-bottom:1px solid var(--hair2);margin-bottom:18px}.lane:last-child{border-bottom:0}.lane-top{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.lane-name{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);flex:0 0 auto;min-width:54px}.lane-name.gate{color:var(--ink)}.lane-ctl{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}.lane-ctl select{padding:4px 5px;font-size:10px}.steps{display:grid;grid-gap:6px;gap:6px}.step{display:flex;flex-direction:column;align-items:center;gap:6px}.knob{width:100%;aspect-ratio:1/1;max-width:38px;border:1px solid var(--mut2);border-radius:50%;position:relative;cursor:ns-resize;background:var(--panel);touch-action:none}.knob:before{content:"";top:-2px;width:1px;height:4px;background:var(--mut2);transform:translateX(-50%)}.knob .ind,.knob:before{position:absolute;left:50%}.knob .ind{top:10%;width:2px;height:38%;background:var(--ink);transform-origin:bottom center;transform:translateX(-50%) rotate(var(--rot,0deg))}.step.cur .knob{border-color:var(--acc)}.step.cur .knob .ind{background:var(--acc)}.kval{font-size:9px;color:var(--mut);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;height:10px}.step.cur .kval{color:var(--acc)}.gate{width:100%;max-width:38px;height:4px;cursor:pointer;background:var(--hair)}.gate.on{background:var(--ink)}.step.cur .gate.on{background:var(--acc)}.stepnum{font-size:9px;color:var(--mut2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step.cur .stepnum{color:var(--acc)}.mod-route,.mod-src{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:10px;color:var(--mut)}.mod-route select,.mod-src select{padding:5px 6px}.chip-btn{border:1px solid var(--hair);background:var(--panel);padding:6px 12px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:var(--mut)}.chip-btn:hover{border-color:var(--mut2);color:var(--ink)}.icon-btn{border:1px solid var(--hair);background:var(--panel);width:24px;height:24px;cursor:pointer;color:var(--mut);font-size:12px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:var(--acc);color:var(--acc)}.transport-mini{display:inline-flex;gap:6px;margin-left:auto}.transport-mini button{border:1px solid var(--hair);background:var(--panel);font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:8px 16px;cursor:pointer;color:var(--mut)}.transport-mini button:hover{border-color:var(--mut2);color:var(--ink)}.transport-mini button.on{border-color:var(--acc);color:var(--acc)}.transport{display:flex;gap:8px;margin-top:4px}.transport button{flex:1 1;border:1px solid var(--hair);background:var(--panel);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:15px 9px;cursor:pointer;color:var(--ink)}.transport button:hover{border-color:var(--mut2)}.transport button.primary{border-color:var(--acc);color:var(--acc)}.transport button.primary:hover{background:var(--acc);color:#fff}.status{font-size:10px;letter-spacing:.03em;color:var(--mut);margin-top:14px;min-height:14px;text-align:center}.tempo{display:flex;align-items:center;gap:10px}.tempo .lbl{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:var(--hair);outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--panel);border:1px solid var(--ink);cursor:pointer}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--panel);border:1px solid var(--ink);cursor:pointer}.hide{display:none!important}