:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101014;--panel:#1e1e23;--panel-2:#26262c;--text:#ffffffeb;--text-dim:#ffffff8c;--accent:#ff594c;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);overscroll-behavior-x:none}.app{flex-direction:column;height:100%;display:flex}.nav{background:var(--panel);border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:18px;padding:10px 20px;display:flex}.nav a{color:var(--text-dim);font-size:13px;text-decoration:none}.nav a.active{color:var(--text)}.wordmark{margin-right:8px;font-weight:700;color:var(--text)!important;font-size:15px!important}.vol{accent-color:#ffffff80;width:90px}.vol-icon{color:var(--text-dim);font-size:12px}.nav-auth{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:4px 10px;font-size:12px}.spacer{flex:1}:root{--u:4px;--u2:8px;--u3:12px;--u4:16px;--cell:40px}.synth{gap:var(--u3);min-height:0;padding:var(--u3);flex:1;display:flex}.panel{border-radius:var(--u4);width:272px;padding:var(--u3);justify-content:space-between;gap:var(--u3);background:linear-gradient(#202027,#191920);border:1px solid #ffffff12;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto;box-shadow:inset 0 1px #ffffff0d}.panel-section{gap:var(--u2);flex-direction:column;align-items:stretch;display:flex}.section-label{height:var(--u4);line-height:var(--u4);letter-spacing:.16em;text-transform:uppercase;color:#ffffff59;font-size:10px}.btn-grid{gap:var(--u2);grid-template-columns:repeat(4,1fr);display:grid}.btn-grid.cols-3{grid-template-columns:repeat(3,1fr)}.btn-grid.cols-2{grid-template-columns:repeat(2,1fr)}.switch{height:var(--cell);color:var(--text-dim);border-radius:var(--u2);padding:0 var(--u);font:inherit;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:none;border-bottom:2px solid #0000;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.switch:hover{background:#ffffff1f}.switch.active{color:#111;background:#ffffffe0}.gen-btn{justify-content:center;align-items:center;gap:var(--u);height:64px;color:var(--text-dim);border-radius:var(--u3);font:inherit;cursor:pointer;background:#ffffff0f;border:none;flex-direction:column;font-size:12px;display:flex}.gen-btn:hover{background:#ffffff1f}.gen-btn.active{color:#111;background:#ffffffe6}.gen-emoji{font-size:22px;line-height:1}.color-chip{border-radius:var(--u3);height:48px;font:inherit;color:#0009;cursor:pointer;text-transform:lowercase;border:2px solid #0000;font-size:12px;font-weight:700}.color-chip.active{border-color:#fff;box-shadow:0 0 0 2px #0009}.stack{gap:var(--u2);grid-template-columns:1fr;display:grid}.voice-row{height:44px;padding:0 var(--u3);color:var(--text-dim);border-radius:var(--u2);font:inherit;cursor:pointer;background:#ffffff0f;border:none;justify-content:space-between;align-items:center;font-size:13px;display:flex}.voice-row:hover{background:#ffffff1f}.voice-row.active{color:#111;background:#ffffffe6}.voice-dot{width:var(--u3);height:var(--u3);border-radius:50%}.big-btn{height:48px;color:var(--text);border-radius:var(--u2);font:inherit;cursor:pointer;background:#ffffff17;border:none;font-size:14px}.big-btn:hover{background:#ffffff29}.play-btn{background:var(--accent);color:#fff;border-radius:var(--u2);cursor:pointer;border:none;height:56px;font-size:24px;box-shadow:0 4px #0006}.play-btn.playing{background:#cc4237;box-shadow:inset 0 2px 4px #0006}.knob-grid{gap:var(--u2);row-gap:var(--u3);grid-template-columns:1fr 1fr;justify-items:center;display:grid}.knob-wrap{flex-direction:column;align-items:center;gap:3px;display:flex}.knob{cursor:ns-resize;touch-action:none;background:radial-gradient(circle at 35% 30%,#3a3a44,#232329 65%,#17171c);border:1px solid #ffffff1f;border-radius:50%;position:relative;box-shadow:0 3px 6px #00000073,inset 0 1px #ffffff1a}.knob-indicator{position:absolute;inset:0}.knob-indicator:after{content:"";background:var(--accent);border-radius:2px;width:3px;height:32%;margin-left:-1.5px;position:absolute;top:3px;left:50%}.knob-label{color:var(--text-dim);font-size:11px}.knob-value{color:#ffffff59;font-size:10px}.swatch-grid{gap:var(--u2);grid-template-columns:repeat(4,1fr);display:grid}.screen-bay{min-width:0;padding:var(--u3);flex:1;justify-content:center;align-items:center;display:flex}.screen{aspect-ratio:2/3;background:#0b0b0e;border:1px solid #ffffff1a;border-radius:14px;max-width:100%;height:100%;display:flex;overflow:hidden;box-shadow:inset 0 2px 12px #000000b3,0 0 0 6px #141418,0 0 0 7px #ffffff0f}.screen.wide{aspect-ratio:3/2;width:100%;height:auto;max-height:100%}.editor{flex-direction:column;flex:1;min-height:0;display:flex}.toolbar{background:var(--panel);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;display:flex}.divider{background:#ffffff26;width:1px;height:22px;margin:0 4px}.tool{color:var(--text);min-width:34px;height:32px;font:inherit;cursor:pointer;background:#ffffff12;border:none;border-radius:8px;padding:0 8px;font-size:14px}.tool:hover{background:#ffffff24}.tool.active{color:#111;background:#ffffffd9}.inst{color:var(--text-dim);height:32px;font:inherit;cursor:pointer;background:#ffffff12;border:1.5px solid #0000;border-radius:8px;padding:0 10px;font-size:12px;font-weight:700}.inst.active{color:#111;background:#ffffffe0}.swatch{width:100%;height:var(--cell);border-radius:var(--u2);cursor:pointer;border:2px solid #0000;padding:0}.swatch.active{border-color:#fff}.tempo{accent-color:#fff9;width:110px}.tempo-label{color:var(--text-dim);width:30px;font-size:12px}.mood-picker{position:relative}.mood-current{align-items:center;gap:7px;font-size:11px;display:flex}.mood-dots{gap:2px;display:inline-flex}.mood-dots i{border-radius:50%;width:8px;height:8px;display:inline-block}.mood-caret{color:var(--text-dim);font-size:9px}.mood-backdrop{z-index:30;position:fixed;inset:0}.mood-menu{z-index:31;background:var(--panel-2);border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:38px;left:0;box-shadow:0 10px 30px #00000080}.mood-row{color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;font-size:12px;display:flex}.mood-row:hover{background:#ffffff14}.mood-row.active{background:#ffffff24}.mood-row .mood-dots i{width:11px;height:11px}.publish{background:var(--accent);color:#fff;font-weight:700}.editing-note{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.publish:hover{background:#ff6f63}.canvas-container{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.canvas-container canvas{touch-action:none;cursor:crosshair;display:block}.bottom-bar{background:var(--panel);align-items:center;gap:10px;padding:8px 14px 14px;display:flex}.bottom-bar.centered{justify-content:center}.dial{accent-color:#fff9;width:130px}.dial-icon{color:var(--text-dim);font-size:12px}.scrubber{cursor:pointer;background:#ffffff12;border-radius:8px;flex:1;height:16px;position:relative}.scrubber .thumb{pointer-events:none;background:#ffffff59;border-radius:8px;height:100%;position:absolute;top:0;left:0}.feed{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:start;gap:22px;width:100%;max-width:960px;margin:0 auto;padding:24px 16px 80px;display:grid;overflow-y:auto}.feed .shelf-title,.feed .shelf-empty,.feed .page-message{grid-column:1/-1}.player-card{background:var(--panel);border:1px solid #ffffff0f;border-radius:14px;overflow:hidden}.player-card.active{border-color:#ff594c80}.card-canvas{aspect-ratio:2/3;cursor:pointer;width:100%;height:auto;display:block}.card-cell{min-width:0}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:10px 12px;font-size:13px;display:flex}.card-title,.card-author,.card-prompt{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.card-title{color:var(--text);font-weight:700;text-decoration:none}.card-sub{color:var(--text-dim);font-size:11px}.card-playing{color:var(--accent);font-size:12px}.card-hint{color:var(--text-dim);font-size:12px}.save-btn{color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:4px 10px;font-size:12px}.save-btn:hover{color:var(--text)}.card-author{color:var(--text-dim);font-size:12px}.badge-mine{color:var(--text-dim);border:1px solid #ffffff26;border-radius:6px;padding:3px 8px;font-size:11px}.shelf-title{color:var(--text-dim);margin-top:10px;font-size:14px;font-weight:400}.shelf-empty{color:var(--text-dim);font-size:13px}.painting-page{width:100%;max-width:400px;margin:0 auto;padding:32px 16px;position:relative}.big-play{color:#fff;font:inherit;cursor:pointer;background:#000000a6;border:1px solid #ffffff40;border-radius:999px;padding:12px 28px;font-size:18px;position:absolute;top:140px;left:50%;transform:translate(-50%)}.page-message{text-align:center;color:var(--text-dim);flex-direction:column;align-items:center;gap:12px;padding:80px 20px;display:flex}.page-message h2{color:var(--text)}.prompt-overlay{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.prompt-text{color:var(--text-dim);font-size:16px}.prompt-text em{color:var(--text);font-style:normal;font-weight:700}.prompt-shuffle{pointer-events:auto;color:var(--text-dim);width:34px;height:34px;font:inherit;cursor:pointer;background:#ffffff14;border:none;border-radius:999px;font-size:16px}.prompt-shuffle:hover{color:var(--text);background:#ffffff29}.prompt-hint{color:#ffffff4d;font-size:11px}.card-prompt{color:var(--text-dim);font-size:11px;font-style:italic}.dialog-backdrop{z-index:50;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--panel-2);border-radius:14px;flex-direction:column;gap:12px;width:340px;padding:26px;display:flex}.dialog h2{font-size:16px}.dialog-sub{color:var(--text-dim);font-size:12px}.dialog input{color:var(--text);font:inherit;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;padding:10px 12px}.primary{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:10px;font-weight:700}.primary:disabled{opacity:.5}.dialog-error{color:#ff8a80;font-size:12px}.dialog-sent{color:var(--text)}
