:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#0f0f17;--border:#1e1e2e;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc1a;--accent-border:#c084fc66;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:14px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3{font-family:var(--heading);color:var(--text-h);margin:0}p{margin:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3a3a4a}.app{background:radial-gradient(circle at 0 0,#ff784829,#0000 28%),radial-gradient(circle at 100% 0,#27c1ff29,#0000 24%),linear-gradient(#0f1724 0%,#0a0f18 48%,#070b12 100%);flex-direction:column;min-height:100vh;display:flex}.app-header{width:100%;max-width:1320px;margin:0 auto;padding:14px 24px 10px}.header-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.header-title-group{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.app-header h1{letter-spacing:-.04em;color:#f5f7fb;margin:0;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1}.header-badges{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.app-main{flex:1;min-height:0;padding:0 24px 24px}.studio-grid{grid-template-columns:minmax(0,1.18fr) minmax(420px,.92fr);align-items:start;gap:14px;width:100%;max-width:1320px;margin:0 auto;display:grid}.side-rail{flex-direction:column;gap:14px;min-width:0;min-height:0;display:flex}.selector-shell{padding:14px}.selector-body{margin-top:10px}.panel{background:linear-gradient(#ffffff09,#ffffff05),#0b1019e6;border:1px solid #ffffff12;border-radius:24px;padding:14px;box-shadow:0 18px 40px #00000042,inset 0 1px #ffffff08}.preview-panel{padding:16px}.section-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-title{color:#f5f7fb;font-size:18px;font-weight:700}.selector-head-main{flex-direction:column;gap:6px;display:flex}.selector-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selector-current{color:#fff;white-space:nowrap;background:#ffa35514;border:1px solid #ffa3553d;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;display:inline-flex}.preview-control-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.preview-meta{flex-wrap:wrap;gap:6px;margin-top:0;display:flex}.preview-quickbar{flex-wrap:wrap;gap:10px;margin-top:0;display:flex}.quick-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.quick-label{color:#dde7f0c2;font-size:12px;font-weight:700}.quick-toggle{flex-wrap:wrap;gap:8px;display:flex}.quick-btn{color:#dbe5f0;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:999px;min-height:30px;padding:6px 10px;font-size:11px;font-weight:700;transition:all .2s}.quick-btn:hover{background:#ffa3550d;border-color:#ffa35561}.quick-btn.active{color:#fff;background:linear-gradient(145deg,#ffa35524,#1fb6ff14),#ffffff08;border-color:#ffa3559e}.meta-pill{color:#d7e2ee;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:11px;display:inline-flex}.preview-stage{background:radial-gradient(circle at top,#ffffff0d,#0000 42%),linear-gradient(#ffffff07,#ffffff03),#060a11eb;border:1px solid #ffffff0d;border-radius:24px;margin-top:10px;padding:10px;position:relative}.preview-stage.dragging{border-color:#ffa35566;box-shadow:inset 0 0 0 1px #ffa35538}.preview-toolbar{z-index:2;justify-content:flex-end;gap:8px;display:flex;position:absolute;top:10px;right:10px}.toolbar-btn{color:#eaf2fb;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;min-height:30px;padding:6px 10px;font-size:11px;font-weight:700;transition:border-color .2s,background .2s,color .2s}.toolbar-btn:hover{background:#ffa35514;border-color:#ffa3556b}.toolbar-btn.subtle{color:#e2ebf5cc}.preview-area{background:radial-gradient(circle at 18% 18%,#ff88421f,#0000 20%),radial-gradient(circle at 82% 14%,#38bdf81f,#0000 22%),radial-gradient(circle at 50% 86%,#ffffff0d,#0000 28%);justify-content:center;align-items:center;min-height:460px;padding:46px clamp(6px,1.2vw,14px) clamp(6px,1.2vw,14px);display:flex}.preview-stack{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;position:relative}.preview-canvas{aspect-ratio:1;background:linear-gradient(145deg,#ffffff08,#ffffff03),#06090eeb;border-radius:30px;justify-content:center;align-items:center;width:min(100%,560px);display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,0 24px 60px #00000073}.placeholder-icon{font-size:52px}.preview-status-hint{letter-spacing:.03em;color:#c4d1dead;font-size:11px}.effect-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:inline-grid}.effect-tab{color:#e0e8f0cc;cursor:pointer;background:#ffffff06;border:1px solid #ffffff17;border-radius:999px;min-height:32px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .2s}.effect-tab.active{color:#fff;background:linear-gradient(135deg,#ffa3552e,#1fb6ff24);border-color:#ffa35594}.effect-selector{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.effect-btn{color:#dbe4ef;cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffff06,#ffffff03),#ffffff04;border:1px solid #ffffff14;border-radius:14px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:40px;padding:8px 10px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:flex}.effect-btn:hover{background:linear-gradient(145deg,#ffa35512,#ffffff05),#ffffff05;border-color:#ffa35566;transform:translateY(-1px)}.effect-btn.active{color:#fff;background:radial-gradient(circle at 100% 0,#ffa04f29,#0000 55%),linear-gradient(145deg,#ffffff0a,#ffffff04),#ffffff08;border-color:#ffa3559e;box-shadow:0 12px 28px #ff833d2e}.effect-icon{flex:none;font-size:16px;line-height:1}.effect-label{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.effect-controls{flex-direction:column;gap:12px;display:flex}.control-row{grid-template-columns:72px minmax(0,1fr) 38px;align-items:center;gap:10px;display:grid}.control-row label{color:#e6edf5d1;font-size:12px;font-weight:600}.control-row input[type=range]{appearance:none;background:#ffffff1f;border-radius:999px;outline:none;width:100%;height:6px}.control-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:linear-gradient(135deg,#ff934c,#1fb6ff);border:2px solid #ffffffb3;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #ff934c1f}.control-row .val{font-size:12px;font-family:var(--mono);color:#f3f6fb;text-align:right}.control-row.colors{grid-template-columns:auto auto auto auto;justify-content:start;gap:10px 12px}.control-row.direction-row{grid-template-columns:72px minmax(0,1fr) 52px}.workspace-panel{flex-direction:column;min-height:0;display:flex}.side-panel{width:100%}.workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.workspace-tab{color:#dde5eed1;cursor:pointer;background:#ffffff06;border:1px solid #ffffff14;border-radius:14px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:700;transition:all .2s}.workspace-tab.active{color:#fff;background:linear-gradient(135deg,#ffa35529,#1fb6ff24),#ffffff08;border-color:#ffa35594}.workspace-body{max-height:430px;margin-top:10px;padding-right:2px;overflow:auto}.workspace-body-effects{padding-right:0}.workspace-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.workspace-tab-mobile-only{display:none}.control-row input[type=color]{cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:10px;width:42px;height:32px;padding:0}.direction-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.direction-btn{color:#e6edf5d1;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;transition:border-color .2s,background .2s,color .2s}.direction-btn.active{color:#fff;background:linear-gradient(135deg,#ff8f5638,#1fb6ff33);border-color:#ff944c8c}.output-group{flex-direction:column;gap:12px;display:flex}.output-group+.output-group{margin-top:14px}.group-label{letter-spacing:.08em;text-transform:uppercase;color:#99adc2bd;font-size:12px;font-weight:700}.mirror-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shape-btn{color:#dbe5f0;cursor:pointer;background:#ffffff05;border:1px solid #ffffff17;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.shape-btn:hover{background:#ffa3550d;border-color:#ffa35561}.shape-btn.active{color:#fff;background:linear-gradient(145deg,#ffa3551f,#1fb6ff14),#ffffff08;border-color:#ffa3559e}.shape-icon{font-size:17px;line-height:1}.export-controls{flex-direction:column;gap:12px;display:flex}.format-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.format-btn{color:#dce4ee;cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:14px;min-height:48px;padding:10px 12px;font-size:13px;font-weight:600;transition:all .2s}.format-btn:hover:not(:disabled){background:#1fb6ff14;border-color:#1fb6ff5c}.format-btn.active{color:#fff;background:linear-gradient(135deg,#ffa04f24,#1fb6ff29),#ffffff08;border-color:#1fb6ff94}.format-btn:disabled{opacity:.35;cursor:not-allowed}.export-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff8f56,#1fb6ff);border:none;border-radius:16px;width:100%;min-height:52px;padding:12px 16px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 16px 30px #09162a57}.export-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 20px 36px #09162a6b}.export-btn:disabled{opacity:.45;cursor:not-allowed}.export-progress{background:#ffffff0f;border-radius:999px;height:22px;position:relative;overflow:hidden}.export-progress-bar{background:linear-gradient(90deg,#ff8f56,#1fb6ff);border-radius:999px;min-width:6px;height:100%;transition:width .15s}.export-progress-text{color:#fff;text-shadow:0 1px 2px #00000073;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}@media (width<=1120px){.studio-grid{grid-template-columns:1fr}.side-rail{display:block}}@media (width<=768px){.app{overflow-x:hidden}.app-header{padding:20px 16px 14px}.header-copy{flex-direction:column;align-items:flex-start}.app-main{padding:0 16px 18px}.selector-shell{border-radius:22px;padding:14px}.section-head{flex-direction:column;align-items:flex-start;gap:10px}.effect-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.side-rail{display:contents}.selector-shell{display:none}.preview-panel,.panel{padding:16px}.preview-area{min-height:0;padding:8px}.preview-control-strip{align-items:flex-start}.preview-toolbar{justify-content:center;margin-bottom:8px;position:static}.preview-stage{flex-direction:column;padding:8px;display:flex}.preview-area{padding-top:8px}.workspace-panel{min-height:auto;max-height:none}.workspace-tab-mobile-only{justify-content:center;align-items:center;display:inline-flex}.workspace-body{max-height:none;overflow:visible}}@media (width<=600px){.app-header h1{font-size:30px}.selector-shell{border-radius:0;padding:14px 12px 18px}.preview-panel,.panel{border-radius:20px;padding:12px}.preview-stage{border-radius:20px;padding:6px}.preview-canvas{border-radius:20px;width:min(100%,100vw - 56px)}.effect-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.effect-tabs{width:100%}.effect-btn{min-height:40px;padding:8px 10px}.effect-label{font-size:12px}.control-row{grid-template-columns:1fr;gap:8px}.control-row label{font-size:11px}.control-row .val{text-align:left}.control-row.colors{grid-template-columns:auto auto}.mirror-selector,.format-toggle{grid-template-columns:1fr 1fr}.workspace-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.shape-btn,.format-btn{min-height:46px;font-size:13px}.workspace-tab{min-height:38px}.export-btn{min-height:50px;font-size:14px}}
