:root{color-scheme:dark;--ink:#e4ebda;--muted:#97ac9d;--line:#31453a;--paper:#101b17;--rail:#17231d;--accent:#cee1aa;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:wait;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{color:inherit}a:hover{text-decoration:underline;text-underline-offset:4px}
.studio-header{height:78px;display:flex;align-items:center;gap:54px;padding:0 30px;border-bottom:1px solid var(--line)}.wordmark{font-size:26px;letter-spacing:-1.5px;white-space:nowrap}.wordmark span{font-size:10px;margin-left:5px;vertical-align:top;letter-spacing:0}.studio-title{display:flex;align-items:baseline;gap:20px}.studio-title h1{margin:0;font-size:15px;font-weight:400}.studio-title>span{font:10px/1.5 var(--mono);color:var(--muted)}.site-link{margin-left:auto;font-size:12px}.site-link span{margin-left:12px}
.studio-layout{height:calc(100svh - 78px);min-height:560px;display:grid;grid-template-columns:minmax(0,1fr) 346px}.preview{min-width:0;min-height:0;display:flex;flex-direction:column}.preview-heading{height:66px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:.025em}.preview-status{font:10px/1.5 var(--mono);color:var(--muted);text-align:right}.preview-status:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:8px}
.ascii-section{position:relative;flex:1;min-height:170px;background:var(--paper);--ascii-progress:0}.ascii-stage,.ascii-canvas-wrap{position:absolute;inset:0}.ascii-canvas-wrap{margin:0 18px;overflow:hidden}.ascii-canvas-wrap canvas,.ascii-poster{position:absolute;inset:0;width:100%;height:100%}.ascii-poster{object-fit:contain;opacity:.2}.ascii-canvas-wrap canvas{opacity:0;cursor:crosshair;touch-action:pan-y;outline-offset:-5px}.ascii-ready canvas{opacity:1}.ascii-ready .ascii-poster{visibility:hidden}.ascii-is-pinned{height:auto;min-height:170px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.preview-tools{padding:24px 30px 18px;flex-shrink:0}.timeline-heading{display:flex;justify-content:space-between;font-size:12px}.timeline-heading output{font:11px var(--mono);color:var(--accent)}input[type=range]{width:100%;height:24px;margin:8px 0 0;accent-color:var(--accent);cursor:ew-resize;background:transparent;min-width:0}input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--line);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-5px;background:var(--accent);border-radius:50%}input[type=range]{-webkit-appearance:none;appearance:none}input[type=range]::-moz-range-track{height:3px;background:var(--line)}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;background:var(--accent);border-radius:50%}.timeline-labels{display:flex;justify-content:space-between;color:var(--muted);font:9px var(--mono);margin-top:0}.transport{display:flex;align-items:center;gap:8px;margin-top:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:9px 13px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:11px;line-height:1.3;transition:background .15s,border-color .15s}.button:hover:not(:disabled){background:#27382c;border-color:#647b68}.play-button{margin-right:auto;background:#223526;border-color:#4d684b;color:var(--accent)}.play-button>span{font-size:17px;line-height:1}.preview-help{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;color:var(--muted);font:9px/1.6 var(--mono)}.checkbox{display:flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer}.checkbox input{width:13px;height:13px;margin:0;accent-color:var(--accent)}.preview-footer{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:17px 30px 18px;border-top:1px solid var(--line);font:9px/1.6 var(--mono);color:var(--muted);flex-shrink:0}.preview-footer>span{margin-right:auto}.preview-footer>a{color:#c3d0bf}
.settings-rail{border-left:1px solid var(--line);background:var(--rail);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#445a49 transparent}.rail-intro{padding:26px 24px 0}.rail-intro p{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin:15px 0 25px;max-width:260px}.preset-control{padding:0 24px 24px}.preset-control>label,.save-panel>label{display:block;font-size:11px;margin-bottom:9px}select,input[type=text],input[type=number],textarea{color:var(--ink);background:#101c16;border:1px solid #405544;border-radius:3px;outline-offset:2px}select{width:100%;min-height:40px;padding:9px 28px 9px 10px;font-size:12px;cursor:pointer}.preset-control p{min-height:30px;font-size:11px;line-height:1.55;color:var(--muted);margin:11px 0 0}.settings-group,.reference-group{border-top:1px solid var(--line)}.settings-group summary,.reference-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:57px;padding:18px 24px;font-size:13px}.settings-group summary::-webkit-details-marker,.reference-group summary::-webkit-details-marker{display:none}.settings-group summary>span:last-child,.reference-group summary>span{font-size:18px;line-height:1;color:var(--muted);transition:transform .15s}.settings-group[open] summary>span:last-child,.reference-group[open] summary>span{transform:rotate(45deg)}.control-list{padding:1px 24px 15px}.field-control{margin-bottom:20px}.control-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:3px}.control-heading label{font-size:11px;line-height:1.45;cursor:pointer}.control-heading input[type=number]{width:68px;min-height:28px;padding:4px 6px;font:10px var(--mono);text-align:right;flex-shrink:0}.field-control>select{margin-top:6px}.range-limits{display:flex;justify-content:space-between;color:#78917d;font:8px var(--mono);margin-top:2px}.reference-image{display:block;margin:0 24px 23px}.reference-image img{width:100%;display:block;border-radius:2px}.reference-image span{display:block;font-size:10px;color:var(--muted);padding-top:10px}
.save-panel{padding:25px 24px 29px;border-top:1px solid var(--line);background:#1b2a20}.save-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px}.save-heading h2{font-size:21px;line-height:1.2;font-weight:400;letter-spacing:-.5px;margin:0}.save-heading>span{font:8px var(--mono);color:var(--muted)}input[type=text],textarea{width:100%;padding:10px 11px;font-size:11px;line-height:1.6}input[type=text]{height:40px;margin-bottom:20px}textarea{resize:vertical;min-height:83px;max-height:250px}input::placeholder,textarea::placeholder{color:#7f9582;opacity:1}.optional{color:var(--muted);font-size:9px;float:right}.primary-button{width:100%;justify-content:space-between;margin-top:18px;background:var(--accent);border-color:var(--accent);color:#172419;padding:12px 14px;font-size:12px}.primary-button:hover:not(:disabled){background:#e1efc9;border-color:#e1efc9}.save-status{font:9px/1.65 var(--mono);color:#a8bea5;overflow-wrap:anywhere;min-height:31px;margin:11px 0 20px}.save-status[data-error=true]{color:#f0b698}.file-actions{display:flex;justify-content:space-between;gap:15px}.text-button{border:0;padding:4px 0;background:transparent;font-size:10px;color:#c6d8ba;min-height:28px}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.noscript{padding:20px;background:#273b2b;position:fixed;bottom:0;left:0;right:0;margin:0}
@media(min-width:1700px){.studio-layout{grid-template-columns:minmax(0,1fr) 380px}.rail-intro,.preset-control,.control-list,.save-panel{padding-left:30px;padding-right:30px}.settings-group summary,.reference-group summary{padding-inline:30px}.preview-tools{padding-inline:42px}.preview-heading,.preview-footer{padding-inline:42px}}
@media(max-width:1050px){.studio-header{gap:30px;padding-inline:22px}.studio-title>span{display:none}.studio-layout{grid-template-columns:minmax(0,1fr) 310px}.preview-heading,.preview-tools,.preview-footer{padding-left:22px;padding-right:22px}.preview-help{flex-wrap:wrap;gap:9px}.preview-footer{gap:8px 15px}.preview-footer>span{width:100%}.rail-intro,.preset-control,.control-list,.save-panel{padding-left:20px;padding-right:20px}.settings-group summary,.reference-group summary{padding-inline:20px}.transport{gap:6px}.button{padding-inline:10px}.play-button{margin-right:0}}
@media(max-width:760px){.studio-header{height:68px;padding-inline:18px;gap:25px}.wordmark{font-size:22px}.studio-title h1{font-size:13px}.site-link{font-size:0}.site-link span{font-size:20px;margin:0}.studio-layout{height:auto;min-height:0;display:block}.preview-heading{height:57px;padding-inline:18px;gap:10px}.preview-status,.eyebrow{font-size:9px}.ascii-section,.ascii-is-pinned{flex:none;height:clamp(330px,57svh,620px);min-height:330px}.ascii-canvas-wrap{margin-inline:9px}.preview-tools{padding:19px 18px 20px}.preview-footer{padding:16px 18px;gap:7px 19px}.preview-help{font-size:8px;justify-content:space-between}.transport{gap:7px}.button{min-height:42px;font-size:10px;padding-inline:10px}.play-button{margin-right:auto}.settings-rail{border-left:0;border-top:1px solid var(--line);overflow:visible;overscroll-behavior:auto}.rail-intro{padding-top:25px}.rail-intro p{max-width:none;font-size:20px;margin-bottom:23px}.preset-control p{min-height:0}.settings-group summary,.reference-group summary{min-height:63px}.control-list{padding-top:6px}.control-heading input[type=number]{min-height:34px;width:77px}.control-heading label{font-size:12px}.field-control{margin-bottom:23px}input[type=range]{height:30px}.save-panel{padding-block:29px}.save-heading{margin-bottom:25px}.save-heading h2{font-size:25px}.reference-image{max-width:340px;margin-left:20px}.save-panel>label,.preset-control>label{font-size:12px}.save-panel input[type=text],.save-panel textarea{font-size:13px}.save-status{font-size:10px}.primary-button{font-size:13px;min-height:46px}.text-button{min-height:40px;font-size:11px}}
@media(max-width:370px){.studio-header{gap:18px}.transport{gap:6px}.button{padding-inline:8px;font-size:9px}.play-button{margin-right:0}.preview-help{display:block}.checkbox{margin-top:10px}.preview-status{font-size:8px}}
.composition-hint{font:9px/1.5 var(--mono);color:var(--muted);margin:13px 0 0}.control-help{font-size:10px;line-height:1.5;color:var(--muted);margin:7px 0 0}.field-control[data-inactive=true]{opacity:.5}.field-control[data-inactive=true] input,.field-control[data-inactive=true] select{cursor:default;opacity:1}
.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 20px 24px}.reference-grid .reference-image{margin:0;min-width:0}.reference-grid img{aspect-ratio:1;object-fit:cover}.reference-grid .reference-image span{font-size:9px}
@media(max-width:760px){.transport{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.play-button{margin-right:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
