:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #0a0d14;--panel: rgba(18, 23, 36, .92);--panel-border: rgba(255, 255, 255, .12);--text: #edf0f7;--muted: #99a3bb;--accent: #6dd6ff;--accent-2: #ffd76d;--danger: #ff7a7a;--shadow: 0 24px 80px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(109,214,255,.16),transparent 32%),radial-gradient(circle at top right,rgba(255,215,109,.12),transparent 28%),linear-gradient(180deg,#111827,#07090d 70%);color:var(--text)}body{padding:24px}#app{max-width:1280px;margin:0 auto}.shell{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.controls{padding:22px}.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-size:12px;margin:0 0 10px}h1{font-size:clamp(2rem,3vw,3.2rem);line-height:1.02;margin:0 0 10px}p{color:var(--muted);line-height:1.55;margin:0 0 18px}.field{display:grid;gap:8px;margin-bottom:16px}.field.compact{margin-bottom:12px}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.settings-grid{display:grid;gap:14px;margin-bottom:18px}.settings-block{padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.settings-block h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.settings-block-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.settings-block-header:hover{opacity:.85}.section-toggle-arrow{font-size:10px;color:var(--muted);transition:transform .18s ease}.settings-block-content{margin-top:14px}.band-settings{display:grid;gap:10px}.buttons-grid{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 16px}.buttons-grid button{flex:1 1 calc(50% - 6px);min-width:120px}.band-item{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:12px;margin-bottom:12px;transition:border-color .18s ease,background .18s ease}.band-item:hover{border-color:#ffffff1a;background:#ffffff08}.band-header{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.band-color-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.2);flex-shrink:0;transition:background-color .18s ease}.band-title-label{font-size:13px;font-weight:600;color:var(--text);flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.band-header-actions{display:flex;align-items:center;gap:8px}.band-toggle-button{background:transparent;color:var(--muted);border:0;padding:4px 8px;font-size:10px;cursor:pointer;border-radius:6px;transition:background .18s ease,color .18s ease}.band-toggle-button:hover{background:#ffffff0f;color:var(--text)}.band-remove-button{background:#ff7a7a1f;color:var(--danger);border:0;width:24px;height:24px;padding:0;font-size:14px;line-height:1;cursor:pointer;border-radius:6px;transition:background .18s ease}.band-remove-button:hover{background:#ff7a7a33}.band-content{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.weight-slider-row{display:flex;align-items:center;gap:12px}.weight-slider-row input[type=range]{flex-grow:1}.weight-slider-row .weight-value{width:32px;font-size:12px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.band-label{font-size:12px;font-weight:600;color:var(--text)}label{font-size:13px;color:var(--muted)}input[type=file]{width:100%;border:1px solid var(--panel-border);border-radius:14px;background:#ffffff0a;color:var(--text);padding:12px}input[type=color]{width:100%;height:40px;padding:4px;border:1px solid var(--panel-border);border-radius:12px;background:#ffffff0a}input[type=range]{width:100%}input[type=number],input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--panel-border);border-radius:12px;background:#ffffff0a;color:var(--text)}select{width:100%;padding:10px 12px;border:1px solid var(--panel-border);border-radius:12px;background:#ffffff0a;color:var(--text);font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23edf0f7' d='M0,0 L10,0 L5,6 Z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:10px 6px;cursor:pointer}select:focus{outline:none;border-color:var(--accent)}output{font-size:12px;color:var(--muted)}.band-add-button{justify-self:start;margin-top:4px}.band-remove{width:40px;height:40px;padding:0;border-radius:12px;background:#ff7a7a29;color:var(--danger);font-size:20px;line-height:1}.band-remove:hover:not(:disabled){background:#ff7a7a3d}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:14px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:linear-gradient(135deg,var(--accent),#95f0ff);color:#08111f}.secondary{background:#ffffff14;color:var(--text)}.status{border-top:1px solid var(--panel-border);padding-top:16px;color:var(--muted);font-size:14px;min-height:72px}.status strong{color:var(--text)}.progress{margin-top:12px;width:100%;height:10px;border-radius:999px;overflow:hidden;background:#ffffff14}.progress>div{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.stage{padding:18px;display:grid;gap:14px}.canvas-frame{padding:18px}.canvas-shell{display:grid;place-items:center;padding:12px;border-radius:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}canvas{width:min(100%,800px);height:auto;aspect-ratio:auto;border-radius:16px;background:#fff;box-shadow:0 20px 50px #0000004d}.meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}@media(max-width:1000px){body{padding:16px}.shell{grid-template-columns:1fr}}
