:root{color-scheme:light;--ink:#3d4c57;--muted:#697c89;--line:#d8e0e7;--amber:#a96a1c;--teal:#267f98;--mono:Consolas,'SFMono-Regular','Liberation Mono',monospace}*{box-sizing:border-box}body{margin:0;background:#f6f8f9;color:#293642;font-family:var(--mono);font-size:12px;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #cbd1d7;border-radius:5px;background:#fff;color:#34414c;padding:8px 13px}button:hover{background:#e7ecf0}button:focus-visible,select:focus-visible,.model-trigger:focus-visible,canvas:focus-visible{outline:2px solid #2e9dbb;outline-offset:4px}header{position:fixed;top:19px;left:23px;right:16px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}header>*{pointer-events:auto}h1{font-size:17px;font-weight:500;letter-spacing:-.7px;margin:0}h1 span{color:#98a3ad}.actions{display:flex;gap:7px;width:300px;justify-content:space-between}.actions button{border:1px solid #d8e0e7;background:#ffffffed;color:#3d4c57;border-radius:20px;padding:8px 15px;font-size:11px;box-shadow:0 2px 5px #162e4010}.actions button:hover{background:#eaf0f3;border-color:#b9c9d3}.actions .accent{color:#9a651f}.engine-panel{position:fixed;inset:0}#engine{display:block;width:100vw;height:100vh;touch-action:none;cursor:grab}#engine:active{cursor:grabbing}#part-labels{position:absolute;inset:0;pointer-events:none}#part-labels span{position:absolute;transform:translate(-50%,-50%);font-size:10px;font-weight:600;width:19px;height:19px;border:1px solid #b5c3cb80;border-radius:50%;display:grid;place-items:center;background:#ffffffb0}.canvas-note{position:fixed;top:57px;left:24px;color:#7b8995;font-size:10px;display:flex;flex-direction:column;gap:5px}.overlay{background:#ffffffed;color:var(--ink);border:1px solid #d8e0e7;border-radius:9px;box-shadow:0 5px 24px #172c4010;backdrop-filter:blur(14px)}aside{position:fixed;right:16px;top:66px;bottom:36px;width:300px;display:flex;flex-direction:column;gap:10px;pointer-events:none}aside>section{pointer-events:auto}.analysis-panel{padding:13px 15px 8px;min-height:0}.chart-heading{display:flex;justify-content:space-between;align-items:center}h2{font-size:10px;font-weight:500;letter-spacing:1.1px;text-transform:uppercase;margin:0}.chart-heading>span{font-size:10px;color:var(--muted)}#pv{width:100%;height:218px;display:block;margin:10px 0 0}.formula{text-align:center;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:30px;color:var(--amber);padding:1px 0 4px}.metrics>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #e5ebef;font-size:11px}.metrics output{font-size:19px;white-space:nowrap;letter-spacing:-.5px}.metrics small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.metrics>div.live-work{border:0;color:var(--teal);font-size:10px;padding:8px 0 2px}.metrics .live-work output{font-size:14px;letter-spacing:0}.controls{position:fixed;left:16px;bottom:36px;width:231px;background:#ffffffed;color:#3d4c57;border-color:#d8e0e7;box-shadow:0 5px 24px #172c4010;padding:16px}.controls h2{color:#83929d;margin-bottom:15px}.controls label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:7px;margin-top:13px;font-size:10px}.controls label input{grid-column:1/-1;grid-row:2}.controls output{text-align:right;font-size:10px;white-space:nowrap}input[type=range]{appearance:none;width:100%;height:18px;margin:0;background:transparent;cursor:pointer;accent-color:#4e9cba}input[type=range]::-webkit-slider-runnable-track{height:2px;background:#8695a173}input[type=range]::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:#55a9c4;margin-top:-4.5px}input[type=range]::-moz-range-track{height:2px;background:#8695a173}input[type=range]::-moz-range-thumb{height:11px;width:11px;border:0;background:#55a9c4}#compression::-webkit-slider-thumb,#advance::-webkit-slider-thumb{background:#dca145}.sequence{position:fixed;left:16px;bottom:328px;width:231px;padding:13px 12px;background:#ffffffdd;border:1px solid #dae1e7;border-radius:9px;box-shadow:0 5px 24px #172c4010;text-align:left}.sequence p{font-size:10px;margin:0 0 10px;color:#697c89}.sequence p span{display:block;font-size:9px;color:#8997a1;margin-top:4px}#cylinders{display:flex;gap:3px}#cylinders button{padding:0;width:23px;height:28px;font-size:10px;border:0;background:transparent}#cylinders button[aria-pressed=true]{background:#e3a844;color:#202d35}#cylinders button.firing{box-shadow:inset 0 -3px #f49d35}.tach-card{padding:14px 15px;flex:0 0 auto;min-height:0;max-height:none}.tach-reading{display:flex;align-items:baseline;gap:6px;margin-top:14px}.tach-reading output{font-size:22px}.tach-reading span{font-size:10px;color:var(--muted)}#pulses{width:100%;height:85px;display:block}.tach-card p{font-size:10px;color:var(--amber);margin:5px 0}.tach-card p>span{float:right;font-size:9px;color:var(--muted)}.tach-card .small-note{font-size:9px;line-height:1.5;color:var(--muted);clear:both}.timeline{position:fixed;bottom:36px;left:calc((100vw - 69px)/2);right:auto;width:min(560px,calc(100vw - 595px));transform:translateX(-50%);min-height:147px;display:grid;grid-template-columns:1fr 150px;gap:15px 22px;align-items:center;padding:17px 20px}.scrubber{min-width:0}.scrubber label{display:flex;gap:20px;font-size:12px;margin-bottom:6px}.scrubber output{color:var(--teal)}.ticks{display:flex;justify-content:space-between;color:#596d7b;font-size:11px}.strokes{grid-column:1/-1;grid-row:2;min-width:0}#stroke-labels{display:grid;grid-template-columns:repeat(4,1fr);font-size:12px;text-align:center;color:#596d7b}#stroke-labels span{padding:2px 0 8px;border-right:1px solid #e0e7ec}#stroke-labels span:last-child{border:0}#stroke-labels span.active{color:#263e4d;font-weight:600}#stroke-track{height:3px;background:linear-gradient(to right,#55a9c4 0 25%,#a9b6bc 25% 50%,#dca145 50% 75%,#70838c 75%);position:relative}#stroke-track i{position:absolute;height:9px;width:2px;top:-3px;background:#293f4d}#live-state{font-size:11px;color:#596d7b;text-align:center;margin:9px 0 0}.speed-control{display:flex;flex-direction:column;gap:6px;color:#596d7b;font-size:11px;grid-column:2;grid-row:1}.speed-control select{font:inherit;color:#3d4c57;background:#f6f8f9;border:1px solid #cbd7df;border-radius:4px;font-size:11px;padding:6px}.model-note{position:fixed;bottom:9px;left:20px;margin:0;font-size:9px;color:#798793}#audio-status{position:fixed;top:57px;left:34%;max-width:370px;color:#536978;font-size:10px;line-height:1.5;z-index:5}#audio-status:empty{display:none}
@media(min-width:1500px) and (min-height:850px){#pv{height:260px}.analysis-panel{padding:16px 17px 12px}.metrics>div{padding:11px 0}.tach-card{max-height:none}#pulses{height:105px}}
@media(max-width:1100px){header{right:12px;flex-direction:row;align-items:flex-start;gap:9px}.actions{width:270px}header .actions button{font-size:10px;padding:6px 11px}.canvas-note{top:57px;font-size:9px}aside{width:270px;right:12px;top:66px}.controls{width:195px;left:12px;padding:12px}.sequence{width:195px;left:12px;bottom:316px;padding:10px 8px}#cylinders{gap:1px}#cylinders button{width:21px}.timeline{left:220px;right:294px;width:auto;transform:none;padding:16px;gap:15px;grid-template-columns:1fr 112px}.speed-control select{font-size:9px}#pv{height:195px}.model-note{font-size:8px}.tach-card{min-height:0}.tach-reading{margin-top:8px}#pulses{height:65px}.tach-card .small-note{font-size:8px}}
@media(max-height:740px) and (min-width:761px){#pv{height:155px}.formula{font-size:25px}.metrics>div{padding:7px 0}.tach-card{min-height:0;padding:10px 15px}.tach-reading{margin-top:8px}#pulses{height:53px}.tach-card .small-note{font-size:8px}.timeline{min-height:133px}.controls label{margin-top:9px}.controls h2{margin-bottom:10px}.sequence{bottom:297px}}
@media(max-width:760px){body{overflow:auto;background:#f6f8f9}header{position:absolute;left:17px;right:17px;top:18px;flex-direction:row;align-items:flex-start;flex-wrap:wrap}h1{font-size:16px}.actions{margin-left:auto;width:auto;gap:7px}.actions button{font-size:10px!important}.engine-panel{position:relative;height:490px}#engine{width:100%;height:490px}.canvas-note{position:absolute;top:85px;left:18px;font-size:9px}.sequence{position:absolute;bottom:5px;left:15px;right:15px;width:auto;padding:10px 12px}.sequence p{display:inline-block;margin:0 12px 0 0;vertical-align:middle}.sequence p span{display:none}#cylinders{display:inline-flex;vertical-align:middle;gap:5px}#cylinders button{width:25px}.controls{position:relative;left:auto;bottom:auto;width:auto;order:-1;padding:16px;grid-column:1/-1}.controls label{grid-template-columns:1fr 100px;margin-top:10px}.controls h2{margin-bottom:7px}aside{position:relative;top:auto;right:auto;bottom:auto;display:grid;grid-template-columns:1fr;gap:12px;width:auto;margin:10px 15px}.analysis-panel{padding:16px}#pv{height:235px}.tach-card{min-height:0;max-height:none}#pulses{height:85px}.timeline{position:relative;left:auto;right:auto;bottom:auto;width:auto;transform:none;margin:12px 15px;grid-template-columns:1fr 130px;padding:16px}.model-note{position:static;margin:15px;font-size:9px;line-height:1.6}#audio-status{position:absolute;left:18px;top:146px;max-width:80%;font-size:9px}.tach-card .small-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(min-width:761px) and (max-width:1000px){.timeline{grid-template-columns:1fr}.speed-control{grid-column:1;grid-row:3;flex-direction:row;align-items:center;justify-content:space-between}.strokes{grid-row:2}.scrubber label{font-size:12px}#stroke-labels{font-size:11px}}
.layer-panel{position:fixed;left:16px;top:97px;width:231px;max-height:calc(100vh - 530px);min-height:130px;overflow:auto;padding:13px 12px;background:#ffffffec;border:1px solid #d8e0e7;border-radius:9px;box-shadow:0 5px 24px #172c4010;scrollbar-width:thin}.layer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.layer-heading h2{color:#71838e}.layer-heading button{font-size:9px;border:0;padding:0;background:transparent;color:#648090}#view-modes{display:flex;border:1px solid #d2dce3;border-radius:5px;overflow:hidden}#view-modes button{font-size:9px;flex:1;padding:7px 2px;border:0;border-radius:0;background:transparent}#view-modes button[aria-pressed=true]{background:#344150;color:#fff}.explode-control{display:grid;grid-template-columns:64px 1fr 30px;align-items:center;gap:7px;margin:12px 0 9px;font-size:9px;color:#788b97}.explode-control output{text-align:right}.layer-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e9eef1;min-height:25px;gap:10px}.layer-row button{text-align:left;border:0;background:transparent;font-size:10px;padding:5px 0;flex:1}.layer-row.selected button{color:#a16a1e}.layer-row input{width:12px;height:12px;accent-color:#527386;cursor:pointer}.part-inspector{position:fixed;left:calc((100vw - 69px)/2);transform:translateX(-50%);bottom:208px;width:310px;padding:13px 15px;font-size:11px;z-index:3}.part-inspector[hidden],#part-labels span[hidden]{display:none}.part-inspector>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.part-inspector strong{font-weight:500;color:#a16a1e}.part-inspector p{font-size:10px;color:#596d7b;line-height:1.6;margin:9px 0}.part-inspector button{background:transparent;color:#3d4c57;border-color:#cbd7df;font-size:10px;padding:5px 8px}.part-inspector #clear-part{border:0;font-size:18px;padding:0}.part-actions{justify-content:flex-start!important;gap:8px!important}
@media(max-width:1100px){.layer-panel{left:12px;width:195px;top:96px;padding:11px 9px}#view-modes button{font-size:8px}.explode-control{grid-template-columns:58px 1fr 27px;gap:5px}.layer-row button{font-size:9px}.part-inspector{left:220px;right:294px;transform:none;width:auto;bottom:240px}}
@media(max-width:760px){.layer-panel{position:relative;top:auto;left:auto;width:auto;min-height:0;max-height:none;margin:12px 15px;padding:15px}.layer-row{min-height:30px}.layer-row button{font-size:11px}#view-modes button{font-size:11px;padding:9px}#layer-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.explode-control{font-size:11px;grid-template-columns:80px 1fr 36px}#part-labels{overflow:hidden}.part-inspector{position:relative;left:auto;right:auto;bottom:auto;transform:none;width:auto;margin:12px 15px}.part-inspector p{font-size:11px}}
