:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14131a;--panel:#1c1b24;--line:#2e2c3a;--ink:#e6e3ef;--dim:#918da8;--accent:#c9a6ff;--warn:#ff9b8a;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--serif:Spectral, Georgia, "Times New Roman", serif;--pulse:#c9a6ff;--ornament:#6fd6c5;--bass:#ffb86b;--rhyme:#ff7aa8;--chords:#8fb3ff;--paper:#efe6d3;--paper-back:#ddd0b4;--paper-ink:#2b2620;--paper-dim:#6c6252;--paper-line:#cdbd9e;--control:#262433;--field:#17161f;--on-accent:#191423;--unlit:#8a86a0;--select:#c9a6ff4d;--wash:#f4eede14;--wash-strong:#f4eede42;--shade:#00000040;--lit-strength:100%}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f2e8;--panel:#efe7d7;--line:#dccfb6;--ink:#24202b;--dim:#6c6676;--accent:#6b4bb8;--warn:#b4412d;--control:#fbf7ef;--field:#fffcf5;--on-accent:#fff;--unlit:#8c8494;--select:#6b4bb838;--wash:#2b26200f;--wash-strong:#2b262029;--shade:#3c2d141a;--lit-strength:58%}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f2e8;--panel:#efe7d7;--line:#dccfb6;--ink:#24202b;--dim:#6c6676;--accent:#6b4bb8;--warn:#b4412d;--control:#fbf7ef;--field:#fffcf5;--on-accent:#fff;--unlit:#8c8494;--select:#6b4bb838;--wash:#2b26200f;--wash-strong:#2b262029;--shade:#3c2d141a;--lit-strength:58%}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;display:grid;overflow:hidden}a{color:inherit}button{font:inherit;border:1px solid var(--line);background:var(--control);color:var(--ink);cursor:pointer;border-radius:6px;padding:.4rem 1rem;font-weight:600}button:hover{border-color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}button:disabled{opacity:.45;cursor:default;border-color:var(--line)}header.top{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.6rem 1rem;display:flex}.brand{align-items:baseline;gap:.6rem;margin-right:auto;display:flex}.brand h1{font:italic 500 1.6rem/1 var(--serif);letter-spacing:.01em;margin:0}.brand h1 span{--c:var(--pulse);color:color-mix(in srgb, var(--c) var(--lit-strength), #000)}.brand h1 span:first-child{--c:var(--pulse)}.brand h1 span:nth-child(2){--c:var(--ornament)}.brand h1 span:nth-child(3){--c:var(--bass)}.tag{color:#191423;background:var(--rhyme);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block;transform:rotate(-3deg)}.links{order:2;align-items:center;gap:.2rem;display:flex}.links button,.links a{color:var(--dim);background:0 0;border:0;border-radius:6px;padding:.3rem .5rem;font-size:.85rem;font-weight:500;text-decoration:none}.links button:hover,.links a:hover{color:var(--ink);background:var(--control)}.controls{flex-wrap:wrap;order:3;align-items:center;gap:.5rem;display:flex}.poems{width:19rem}.poems .patch{gap:0}#play{position:relative}#play.beating:after{content:"";border:2px solid var(--accent);animation:beat var(--beat,.5s) ease-out infinite;pointer-events:none;border-radius:9px;position:absolute;inset:-4px}@keyframes beat{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}.ab{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.ab span{color:var(--dim);padding:.4rem .6rem;font-size:.8rem}.ab button{border:0;border-left:1px solid var(--line);border-radius:0;padding:.4rem .8rem}.ab button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}@media (max-width:720px){header.top{gap:.45rem .6rem;padding:.5rem .75rem}.brand{gap:.45rem;min-width:0}.brand h1{font-size:1.35rem}.links button,.links a{padding:.3rem .35rem}.controls{order:4;gap:.4rem;width:100%}.poems{flex:100%;width:auto;min-width:0}#play{flex:1}.ab span{display:none}#notice{padding:.35rem .75rem;font-size:.8rem}}#status{color:var(--dim);background:var(--bg);border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;padding:.25rem 1rem;font-size:.8rem;overflow:hidden}#status.bad{color:var(--warn)}#notice{background:color-mix(in srgb, var(--rhyme) 14%, var(--bg));color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.45rem 1rem;font-size:.85rem;display:flex}#notice p{flex:1;margin:0}#notice button{color:var(--dim);background:0 0;border:0;padding:.1rem .4rem;font-size:1rem}#notice[hidden]{display:none}.shared-note{background:color-mix(in srgb, var(--ornament) 16%, var(--bg));border-bottom:1px solid var(--line);align-items:center;gap:.8rem;padding:.45rem 1rem;font-size:.85rem;display:flex}.shared-note p{flex:1;margin:0}.shared-note button{color:var(--dim);background:0 0;border:0;padding:.1rem .4rem;font-size:1rem}.share-link{width:100%;font:500 .8rem var(--mono);border:1px solid var(--paper-line);color:var(--paper-ink);background:#fffaf0;border-radius:8px;padding:.55rem .6rem}.notices{min-width:0}main{min-height:0;position:relative}#editor{position:absolute;inset:0}#lit,#poem{font-family:var(--serif);letter-spacing:0;white-space:pre-wrap;overflow-wrap:break-word;tab-size:4;scrollbar-gutter:stable;border:0;margin:0;padding:1.6rem max(1.2rem,50% - 23rem) 3rem;font-size:1.32rem;font-weight:400;line-height:1.75;position:absolute;inset:0}@media (max-width:720px){#lit,#poem{padding:1.1rem 1rem 2rem;font-size:1.12rem}}#lit{color:var(--ink);pointer-events:none;overflow:hidden}#poem{resize:none;color:#0000;caret-color:var(--ink);background:0 0;outline:0;overflow-y:auto}#poem::selection{background:var(--select);color:#0000}#poem::placeholder{color:var(--dim)}#editor.playing #lit{color:var(--unlit)}#lit span{text-underline-offset:.28em;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:color .45s ease-out,text-decoration-color .45s ease-out}#lit span.on{color:color-mix(in srgb, var(--c) var(--lit-strength), #000);-webkit-text-decoration-color:var(--u,transparent);text-decoration-color:var(--u,transparent);transition:none}#lit span.echo{color:color-mix(in srgb, color-mix(in srgb, var(--c) var(--lit-strength), #000) 60%, var(--unlit));-webkit-text-decoration-color:color-mix(in srgb, var(--u,transparent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--u,transparent) 55%, transparent);transition:none}#lit span.reading{background:var(--wash);-webkit-box-decoration-break:clone;box-decoration-break:clone}#lit span.spoken{background:var(--wash-strong)}:root{--desk-top:#24222d;--desk-bottom:#16151c;--desk-ink:#e6e3ef;--engrave:#9a96b0;--well:#0c0b10;--groove:#34313f;--track:#2a2834;--cap-hi:#4a4757;--cap-lo:#23212b;--cap-shadow:#0000008c;--good:#9be3a5}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--desk-top:#f1efea;--desk-bottom:#dedbd3;--desk-ink:#24202b;--engrave:#5f5a68;--well:#fbfaf6;--groove:#c4bfb4;--track:#cfcac0;--cap-hi:#fff;--cap-lo:#cfcbc2;--cap-shadow:#3c321e47;--good:#2f7d3c}}:root[data-theme=light]{--desk-top:#f1efea;--desk-bottom:#dedbd3;--desk-ink:#24202b;--engrave:#5f5a68;--well:#fbfaf6;--groove:#c4bfb4;--track:#cfcac0;--cap-hi:#fff;--cap-lo:#cfcbc2;--cap-shadow:#3c321e47;--good:#2f7d3c}.stage{grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.stage>main{grid-row:1}.rollband{grid-row:2}.folders{z-index:2;flex-direction:column;grid-row:3;min-height:0;display:flex;position:relative}.handle{cursor:pointer;background:0 0;border:0;border-radius:0;width:100%;height:1.4rem;padding:0;display:block}.handle span{background:var(--groove);border-radius:3px;width:2.8rem;height:5px;margin:0 auto;display:block}.handle:hover span{background:var(--engrave)}.tabs{scrollbar-width:none;background:linear-gradient(to bottom, transparent 60%, var(--shade));flex:none;gap:.25rem;padding:0 .75rem;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{background:var(--desk-bottom);color:var(--engrave);box-shadow:inset 0 3px 0 var(--t);border:0;border-radius:10px 10px 0 0;flex:none;margin-top:.2rem;padding:.5rem 1rem .45rem;font:600 .85rem/1.3 system-ui,-apple-system,Segoe UI,sans-serif;transition:transform .15s;transform:translateY(4px)}.tabs button:hover{color:var(--desk-ink);border:0;transform:translateY(0)}.folders.open .tabs button[aria-selected=true]{background:var(--desk-top);color:var(--desk-ink);transform:translateY(0)}.sheet{background:linear-gradient(180deg, var(--desk-top), var(--desk-bottom));color:var(--desk-ink);border-top:1px solid var(--groove);--ink:var(--desk-ink);--dim:var(--engrave);--line:var(--groove);max-height:min(55dvh,36rem);animation:.18s ease-out rise;overflow-y:auto;box-shadow:0 -12px 30px #00000059}.folders:not(.open) .sheet{display:none}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.folder[hidden]{display:none}.sheet button{background:var(--well);color:var(--desk-ink);border-color:var(--groove)}.sheet code{background:var(--well);border-radius:3px;padding:0 .25em;font-size:.9em}.sheet a{color:var(--accent)}@media (min-width:1100px){.stage{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) min(36rem,42vw)}.stage>main{grid-area:1/1}.rollband{grid-area:2/1}.folders{border-left:1px solid var(--groove);background:var(--desk-bottom);grid-area:1/2/span 2}.handle{display:none}.tabs{background:var(--desk-bottom);padding-top:.5rem}.folders .tabs button[aria-selected=true]{background:var(--desk-top);color:var(--desk-ink);transform:translateY(0)}.folders:not(.open) .sheet,.sheet{max-height:none;box-shadow:none;flex:1;animation:none;display:block}}.engrave{letter-spacing:.08em;text-transform:uppercase;color:var(--engrave);font:600 .66rem/1.3 IBM Plex Mono,ui-monospace,monospace}.hint{color:var(--engrave);font-size:.78rem}.label{color:var(--engrave);font:500 .8rem/1.3 system-ui,-apple-system,Segoe UI,sans-serif}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.desk-head{flex-wrap:wrap;align-items:baseline;gap:.9rem;padding:.9rem 1.2rem .3rem;display:flex}.desk-head h2{font:italic 500 1.5rem/1 var(--serif);color:var(--desk-ink);margin:0}.desk{padding-bottom:1rem}.desk .desk-head{grid-column:1/-1}.desk{grid-template-columns:repeat(auto-fit,minmax(min(100%,16.5rem),1fr));gap:.8rem;padding:0 1rem 1rem;display:grid}.module{background:color-mix(in srgb, var(--well) 55%, transparent);box-shadow:inset 0 0 0 1px var(--groove);border-radius:12px;flex-wrap:wrap;align-content:flex-start;gap:.8rem;padding:.9rem;display:flex}.module.fx{grid-column:1/-1;align-items:center;gap:.6rem 1.1rem}.module.fx .fx-title{width:100%}.module.key{flex-direction:column;align-items:center}.module.tempo{flex-direction:column}.module.voices{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.module.mixer{flex-wrap:nowrap;grid-column:1/-1;justify-content:space-around;align-items:flex-end;gap:.4rem}.mixer .channel{border-radius:10px;flex-direction:column;align-items:center;gap:.45rem;padding:.4rem .3rem .3rem;display:flex}.mixer .channel.quiet .fader{opacity:.4}.ms{gap:.25rem;display:flex}.sheet .ms button{width:1.9rem;height:1.7rem;font:600 .72rem var(--mono);color:var(--engrave);border-radius:6px;padding:0}.sheet .ms .mute[aria-pressed=true]{background:var(--rhyme);border-color:var(--rhyme);color:#191423}.sheet .ms .solo[aria-pressed=true]{background:var(--bass);border-color:var(--bass);color:#191423}.mixer .channel.voice{background:color-mix(in srgb, var(--ornament) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ornament) 35%, var(--groove));margin-left:.4rem;padding:.4rem .5rem .3rem}.module.duck{grid-column:1/-1;align-items:center}.module.reading{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.module.reading .wide{grid-column:1/-1}.feel{gap:1.2rem;margin-top:.4rem;display:flex}.octaves{grid-column:1/-1;gap:1.2rem;display:flex}.desk-note{grid-column:1/-1;margin:0 .2rem}.knob{cursor:grab;width:4.6rem;color:var(--desk-ink);flex-direction:column;align-items:center;gap:.25rem;display:flex}.knob .dial{--size:3.6rem;width:var(--size);height:var(--size);background:conic-gradient(from 225deg, var(--c) 0 calc(var(--v,0) * 270deg), var(--track) 0 270deg, transparent 0);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--c) 35%, transparent));border-radius:50%;position:relative}.knob .dial:before{content:"";background:radial-gradient(circle at 35% 30%, var(--cap-hi), var(--cap-lo) 75%);box-shadow:0 4px 10px var(--cap-shadow), inset 0 1px 0 #ffffff14;border-radius:50%;position:absolute;inset:6px}.knob .dial i{transform:rotate(calc(-135deg + var(--v,0) * 270deg));pointer-events:none;position:absolute;inset:6px}.knob .dial i:before{content:"";background:var(--c);border-radius:2px;width:3px;height:28%;margin-left:-1.5px;position:absolute;top:4px;left:50%}.knob input{opacity:0;cursor:grab;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.knob .dial:focus-within{outline:2px solid var(--accent);outline-offset:3px}.knob output{color:color-mix(in srgb, var(--c) var(--lit-strength), #000);font:600 .78rem IBM Plex Mono,ui-monospace,monospace}.module.tempo .knob{margin-top:.4rem}.fader{color:var(--desk-ink);flex-direction:column;align-items:center;gap:.3rem;display:flex}.fader .rail{align-items:flex-end;gap:.35rem;height:9.5rem;display:flex}.fader .meter{background:var(--well);width:6px;height:100%;box-shadow:inset 0 0 0 1px var(--groove);border-radius:3px;position:relative;overflow:hidden}.fader .meter:after{content:"";height:calc(var(--v,0) * var(--a,1) * 100%);background:linear-gradient(to top, var(--c), color-mix(in srgb, var(--c) 40%, #ff9b8a));transition:height 60ms linear;position:absolute;bottom:0;left:0;right:0}.fader input{writing-mode:vertical-lr;appearance:none;cursor:grab;direction:rtl;background:0 0;width:2.1rem;height:100%;margin:0}.fader input::-webkit-slider-runnable-track{background:var(--well);width:6px;box-shadow:inset 0 0 0 1px var(--groove);border-radius:3px}.fader input::-webkit-slider-thumb{-webkit-appearance:none;background:linear-gradient(var(--cap-hi), var(--cap-lo));border:1px solid var(--groove);width:2rem;height:1.3rem;box-shadow:inset 0 -3px 0 var(--c), 0 4px 8px var(--cap-shadow);border-radius:4px;margin-left:-.85rem}.fader input::-moz-range-track{background:var(--well);border-radius:3px;width:6px}.fader input::-moz-range-thumb{background:var(--cap-lo);border:1px solid var(--groove);width:2.3rem;height:1.3rem;box-shadow:inset 0 -3px 0 var(--c);border-radius:4px}.fader input:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.fader output{color:color-mix(in srgb, var(--c) var(--lit-strength), #000);font:600 .78rem IBM Plex Mono,ui-monospace,monospace}.sheet input[type=number]{color:var(--desk-ink);background:var(--well);border:1px solid var(--groove);border-radius:6px;width:100%;min-width:0;min-height:2.2rem;padding:.4rem .5rem;font:500 .82rem IBM Plex Mono,ui-monospace,monospace}.leds{align-items:center;gap:.4rem;display:flex}.sheet input.led{text-align:center;color:#ffb86b;text-shadow:0 0 14px #ffb86b66;-moz-appearance:textfield;background:#0e0d12;border:0;width:5.2rem;padding:.4rem .3rem;font:600 1.9rem/1 IBM Plex Mono,ui-monospace,monospace;box-shadow:inset 0 0 0 1px #2e2c3a}.sheet input.led::-webkit-inner-spin-button{opacity:.35}.led-dash{color:var(--engrave);font:600 1.4rem IBM Plex Mono,ui-monospace,monospace}.circle{background:radial-gradient(color-mix(in srgb, var(--well) 70%, transparent) 55%, transparent 56%);width:13rem;height:13rem;box-shadow:inset 0 0 0 1px var(--groove);border-radius:50%;flex:none;position:relative}.circle button{background:var(--well);width:2.2rem;height:2.2rem;color:var(--engrave);border:1px solid var(--groove);border-radius:50%;margin:-1.1rem 0 0 -1.1rem;padding:0;font:600 .72rem IBM Plex Mono,ui-monospace,monospace;position:absolute}.circle button.in{background:color-mix(in srgb, var(--pulse) 22%, var(--well));color:var(--desk-ink);border-color:color-mix(in srgb, var(--pulse) 60%, var(--groove))}.circle button[aria-pressed=true]{background:var(--pulse);color:#191423;border-color:var(--pulse);box-shadow:0 0 14px color-mix(in srgb, var(--pulse) 55%, transparent)}.circle .hub{background:var(--well);box-shadow:inset 0 0 0 1px var(--groove);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:.3rem;display:flex;position:absolute;inset:3.6rem}.circle .hub span:first-child{font:italic 500 1.9rem/1 var(--serif);color:color-mix(in srgb, var(--pulse) var(--lit-strength), #000)}.module.key .patch{width:100%}.switch{cursor:pointer;flex-direction:row;align-items:center;gap:.7rem;display:flex}.flip{appearance:none;background:var(--well);width:1.9rem;height:3.2rem;box-shadow:inset 0 0 0 1px var(--groove);cursor:pointer;border-radius:1rem;flex:none;margin:0;position:relative}.flip:before{content:"";background:linear-gradient(var(--cap-hi), var(--cap-lo));width:1.4rem;height:1.4rem;box-shadow:0 2px 5px var(--cap-shadow);border-radius:50%;transition:top .15s;position:absolute;top:1.7rem;left:.25rem}.flip:checked{box-shadow:inset 0 0 0 1px var(--rhyme), 0 0 12px color-mix(in srgb, var(--rhyme) 40%, transparent)}.flip:checked:before{background:linear-gradient(#fff, var(--rhyme));top:.25rem}.flip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.palette{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:.8rem 1rem;padding:.4rem 1.2rem 1.1rem;display:grid}.palette p{color:var(--engrave);grid-column:1/-1;max-width:60rem;margin:0;font-size:.8rem}label{color:var(--dim);flex-direction:column;gap:.2rem;font-size:.76rem;display:flex}select,input{font:inherit;border:1px solid var(--line);background:var(--field);color:var(--ink);border-radius:5px;padding:.3rem .4rem;font-size:.85rem}input[type=range]{accent-color:var(--accent);padding:0}.row{gap:.4rem;display:flex}.row input{width:100%;min-width:0}.views-nav{padding:.2rem 1rem .7rem}.folder>pre,.folder>div>pre{margin-top:0}pre{background:var(--well);max-height:44dvh;box-shadow:inset 0 0 0 1px var(--groove);color:var(--desk-ink);font-family:var(--mono);white-space:pre;tab-size:2;border-radius:10px;margin:0 1rem 1rem;padding:.8rem 1rem;font-size:12px;line-height:1.55;overflow:auto}pre.wrapped{white-space:pre-wrap;word-break:break-all}.hidden{display:none}.mappings{flex-direction:column;grid-column:1/-1;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.mapping{background:color-mix(in srgb, var(--well) 55%, transparent);box-shadow:inset 0 0 0 1px var(--groove);border-radius:10px;flex-direction:column;gap:.4rem;padding:.6rem .8rem .7rem;display:flex}.mapping.differ{box-shadow:inset 0 0 0 1px var(--bass), 0 0 12px color-mix(in srgb, var(--bass) 22%, transparent)}.mapping-head{align-items:center;gap:.5rem;display:flex}.mapping-head code{font:600 .85rem var(--mono);color:var(--desk-ink);background:0 0;padding:0}.mapping .why{width:1.5rem;height:1.5rem;color:var(--engrave);background:0 0;border-radius:50%;padding:0;font-size:.75rem;line-height:1}.mapping .flag{color:var(--engrave);margin-left:auto;font-size:.75rem}.mapping.differ .flag{color:color-mix(in srgb, var(--bass) var(--lit-strength), #000)}.mapping .what{color:var(--engrave);margin:0;font-size:.82rem}.mapping .side{grid-template-columns:1.2rem minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.mapping .side-name{font:600 .78rem var(--mono)}.rollband{border-top:1px solid var(--line);background:var(--panel);min-width:0}.rollband[hidden]{display:none}#roll{width:calc(100% - 2rem);height:clamp(90px,18dvh,200px);box-shadow:inset 0 0 0 1px var(--line);background:#18171f;border-radius:10px;margin:0 1rem .8rem;display:block}.rollbar{flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;padding:.5rem 1rem;display:flex}.rollbar .segmented-field{flex-direction:row;align-items:center;gap:.5rem}.rollbar .segmented button{min-height:1.7rem;padding:.15rem .55rem}@media (max-width:720px){.stage>main{min-height:6.5rem}.rollbar{display:none}#roll{height:64px;margin:.45rem .75rem}.sheet{max-height:40dvh}}.key{color:var(--dim);flex-wrap:wrap;gap:.3rem 1rem;font-size:.78rem;display:flex}.key span{align-items:center;gap:.4rem;display:inline-flex}.key i{background:var(--c);width:.65rem;height:.65rem;box-shadow:0 0 6px var(--c);border-radius:50%}.key .echo i{box-shadow:inset 0 0 0 1.5px var(--engrave);background:0 0}.key .voice i{background:var(--wash-strong);width:1.1rem;box-shadow:none;border-radius:2px}#score{padding:0 1rem 1.2rem}#score .bar{margin-bottom:.8rem}#score table{border-collapse:collapse;font-family:var(--mono);font-size:12px}#score th{color:var(--engrave);text-align:right;padding:.2rem .7rem;font-weight:600}#score th:first-child,#score td:first-child{text-align:left;padding-left:0}#score td{text-align:right;border-top:1px solid var(--groove);padding:.2rem .7rem}#score td.out{color:var(--warn)}#score td.up{color:var(--good)}#score td.down{color:var(--warn)}#score tr.total td{font-weight:700}#score p{color:var(--engrave);max-width:46rem;font-size:.8rem}.patch{flex-direction:column;gap:.3rem;min-width:0;display:flex}.patch-row{align-items:stretch;gap:.3rem;min-width:0;display:flex}.patch .step{background:var(--well);width:2.1rem;color:var(--engrave);border:1px solid var(--groove);border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.patch .step:hover{color:var(--desk-ink);border-color:var(--c)}.patch .step svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:.75rem;height:.75rem}.lcd{background:#0b0e0e;border-radius:7px;flex-direction:column;flex:1;justify-content:center;gap:.2rem;min-width:0;min-height:2.6rem;padding:.3rem .7rem;display:flex;position:relative;box-shadow:inset 0 0 0 1px #2e2c3a,inset 0 0 16px #0009}.lcd-text{color:var(--c);text-shadow:0 0 10px color-mix(in srgb, var(--c) 45%, transparent);white-space:nowrap;text-overflow:ellipsis;font:600 .9rem/1.2 IBM Plex Mono,ui-monospace,monospace;overflow:hidden}.lcd-dots{gap:3px;display:flex}.lcd-dots i{background:#2a2834;border-radius:2px;width:.55rem;height:3px}.lcd-dots i.on{background:var(--c)}.lcd-count{color:#8f8aa5;font:500 .66rem IBM Plex Mono,ui-monospace,monospace}.lcd select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:1rem;position:absolute;inset:0}.lcd:focus-within{outline:2px solid var(--accent);outline-offset:2px}.patch:has(select:disabled){opacity:.5}.header-patch .lcd{min-height:2.3rem}.segmented-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.segmented{min-width:0;display:flex}.segmented button{background:var(--well);min-height:2.2rem;color:var(--desk-ink);border:1px solid var(--groove);white-space:nowrap;border-radius:0;flex:auto;margin-left:-1px;padding:.3rem .7rem;font:600 .78rem/1.2 IBM Plex Mono,ui-monospace,monospace}.segmented button:first-child{border-radius:7px 0 0 7px;margin-left:0}.segmented button:last-child{border-radius:0 7px 7px 0}.segmented button:only-child{border-radius:7px}.segmented button.default{text-underline-offset:.25em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.sheet .segmented button[aria-pressed=true],.segmented button[aria-pressed=true]{background:var(--c);color:#191423;border-color:var(--c);box-shadow:0 0 10px color-mix(in srgb, var(--c) 40%, transparent);position:relative}.segmented.wrap{flex-wrap:wrap;gap:.35rem}.segmented.wrap button{white-space:normal;text-align:left;border-radius:7px;flex:0 auto;margin-left:0}@media (max-width:720px){.segmented:not(.wrap){scrollbar-width:none;overflow-x:auto}}.module.styles{flex-direction:column;grid-column:1/-1;align-items:stretch}.style-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:.45rem;display:grid}.sheet .style-card{text-align:left;background:var(--well);border:1px solid var(--groove);border-radius:9px;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.55rem .65rem;font-weight:400;display:flex}.sheet .style-card:hover{border-color:var(--ornament)}.sheet .style-card[aria-pressed=true]{border-color:var(--ornament);background:color-mix(in srgb, var(--ornament) 16%, var(--well));box-shadow:0 0 12px color-mix(in srgb, var(--ornament) 30%, transparent)}.style-name{font:italic 500 1.05rem/1.1 var(--serif);color:var(--desk-ink)}.style-what{color:var(--engrave);font-size:.74rem;line-height:1.35}.style-suggests{font:500 .66rem/1.3 var(--mono);color:color-mix(in srgb, var(--bass) var(--lit-strength), #000)}.style-set{margin:0}.sheet .link,.link{font:inherit;color:var(--accent);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.mapping .tag{font:500 .68rem var(--mono);color:#191423;background:var(--ornament);border-radius:999px;padding:.05rem .4rem}.suggested{background:color-mix(in srgb, var(--ornament) 12%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ornament) 40%, var(--groove));border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.4rem .8rem;padding:.6rem .8rem;display:flex}.suggested p{flex:14rem;margin:0;font-size:.82rem}.more{grid-column:1/-1;padding:0 .2rem}.more-toggle{text-underline-offset:.2em;padding:.2rem 0;font-size:.8rem;font-weight:500;text-decoration:underline;color:var(--accent)!important;background:0 0!important;border:0!important}.more-text{color:var(--engrave);max-width:46rem;font-size:.8rem}.more-text p{margin:.4rem 0}.roll-switch{align-items:center;gap:.5rem;display:inline-flex}.roll-switch .lever{background:var(--field);width:1.9rem;height:1.1rem;box-shadow:inset 0 0 0 1px var(--line);border-radius:1rem;position:relative}.roll-switch .lever:before{content:"";background:var(--dim);border-radius:50%;width:.74rem;height:.74rem;transition:left .15s;position:absolute;top:.18rem;left:.2rem}.roll-switch[aria-pressed=true] .lever{background:color-mix(in srgb, var(--pulse) 30%, var(--field))}.roll-switch[aria-pressed=true] .lever:before{background:var(--pulse);left:.96rem}dialog{background:var(--paper);max-width:min(36rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--paper-ink);--ink:var(--paper-ink);--dim:var(--paper-dim);--line:var(--paper-line);--accent:#6b4bb8;border:0;border-radius:14px;padding:0;overflow:auto;box-shadow:0 30px 80px #0000008c}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a090eb8}.card{padding:1.6rem 1.8rem 1.4rem;position:relative}.card .close{border:1px solid var(--paper-line);width:2.2rem;height:2.2rem;color:var(--paper-ink);background:0 0;border-radius:50%;padding:0;font-size:1.1rem;line-height:1;position:absolute;top:.7rem;right:.7rem}.card h2{margin:0 0 .4rem;font:600 1.1rem/1.3 system-ui,sans-serif}.card p{margin:.6rem 0;line-height:1.55}.card .actions{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.card .actions button{color:var(--paper-ink);border-color:var(--paper-line);background:#f7f0e1}.card .actions button.primary{background:var(--paper-ink);color:var(--paper);border-color:var(--paper-ink)}.card .small{color:var(--paper-dim);font-size:.82rem}.entry{font-family:var(--serif);border-bottom:1px solid var(--paper-line);margin-bottom:.9rem;padding-bottom:.9rem}.entry .head{font-size:2.1rem;font-style:italic;font-weight:500}.entry .head span:first-child{color:#7b55d6}.entry .head span:nth-child(2){color:#1f9483}.entry .head span:nth-child(3){color:#c26a12}.entry .pron{color:var(--paper-dim);margin-left:.4rem}.entry .pos{color:var(--paper-dim);font-style:italic}.entry ol{margin:.4rem 0 0;padding-left:1.3rem;font-size:1.05rem;line-height:1.5}.entry .field{color:var(--paper-dim);font-style:italic}.card .lead{font:italic 1.1rem/1.5 var(--serif)}.bar-outer{background:var(--paper-back);border-radius:999px;height:.55rem;margin:.8rem 0 .3rem;overflow:hidden}.bar-inner{background:linear-gradient(90deg, var(--pulse), var(--rhyme));width:0;height:100%;transition:width .2s}.bar-inner.unknown{width:35%;animation:1.2s ease-in-out infinite sweep}@keyframes sweep{0%{margin-left:-35%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){#lit span,.tabs button,.sheet,.bar-inner,.roll-switch .lever:before{transition:none;animation:none}#play.beating:after{opacity:0;animation:none}}#app{display:contents}
