: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:28px 24px 18px}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:#8fb7d8;margin-bottom:10px;font-size:11px;font-weight:700}.app-header h1{letter-spacing:-.04em;color:#f5f7fb;margin:0;font-size:clamp(34px,5vw,56px);font-weight:800;line-height:.98}.subtitle{color:#e3e9f2c7;max-width:760px;margin-top:14px;font-size:15px;line-height:1.7}.header-badges{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.app-main{flex:1;min-height:0;padding:0 24px 24px}.selector-shell{background:linear-gradient(#ffffff0e,#ffffff07),#090d15eb;border:1px solid #ffffff12;border-radius:28px;width:100%;max-width:1320px;margin:0 auto;padding:18px;box-shadow:0 24px 60px #00000061,inset 0 1px #ffffff0a}.selector-body{margin-top:16px}.studio-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr);align-items:start;gap:18px;margin-top:18px;display:grid}.control-rail{flex-direction:column;gap:18px;min-width:0;display:flex}.panel{background:linear-gradient(#ffffff09,#ffffff05),#0b1019e6;border:1px solid #ffffff12;border-radius:24px;padding:18px;box-shadow:0 18px 40px #00000042,inset 0 1px #ffffff08}.preview-panel{padding:20px}.section-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.section-head-inline{align-items:end}.section-kicker{letter-spacing:.18em;text-transform:uppercase;color:#7f97b3;margin-bottom:8px;font-size:11px;font-weight:700}.section-title{color:#f5f7fb;font-size:22px;font-weight:700}.section-note{color:#d2dde9a3;max-width:460px;font-size:13px;line-height:1.65}.preview-meta{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.meta-pill{color:#d7e2ee;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:34px;padding:0 13px;font-size:12px;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:18px;padding:clamp(14px,2vw,24px)}.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:100%;padding:clamp(8px,1.8vw,20px);display:flex}.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}.preview-placeholder{aspect-ratio:1;width:min(100%,420px);color:var(--text);background:#ffffff06;border:1px dashed #ffffff2e;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.placeholder-icon{font-size:52px}.uploader{text-align:center;cursor:pointer;background:linear-gradient(145deg,#ffffff09,#ffffff04),#ffffff03;border:1px dashed #ffffff29;border-radius:20px;justify-content:center;align-items:center;min-height:124px;padding:22px 20px;transition:all .2s;display:flex}.uploader:hover,.uploader.dragging{background:linear-gradient(145deg,#ffa47414,#ffffff05),#ffffff05;border-color:#ff955380;transform:translateY(-1px)}.upload-icon{margin-bottom:10px;font-size:34px}.uploader-placeholder p{color:#edf3fa;margin:0;font-size:14px}.uploader-placeholder .sub{opacity:.62;margin-top:4px;font-size:12px}.uploader-preview{align-items:center;gap:14px;display:flex}.uploader-preview img{object-fit:cover;border-radius:18px;width:74px;height:74px;box-shadow:0 10px 24px #00000047}.uploader-hint{color:#dee6f0bd;font-size:12px}.effect-selector{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;display:grid}.effect-btn{color:#dbe4ef;cursor:pointer;text-align:left;background:linear-gradient(145deg,#ffffff06,#ffffff03),#ffffff04;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;min-height:86px;padding:14px 14px 13px;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{font-size:20px;line-height:1}.effect-label{font-size:13px;font-weight:600;line-height:1.35}.effect-controls{flex-direction:column;gap:14px;display:flex}.control-row{grid-template-columns:72px minmax(0,1fr) 38px;align-items:center;gap:12px;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 input[type=color]{cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:10px;width:42px;height:32px;padding:0}.output-group{flex-direction:column;gap:12px;display:flex}.output-group+.output-group{margin-top:18px}.group-label{letter-spacing:.08em;text-transform:uppercase;color:#99adc2bd;font-size:12px;font-weight:700}.shape-selector,.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}.control-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.output-panel{grid-column:1/-1}}@media (width<=768px){.app-header{padding:20px 16px 14px}.app-main{padding:0 16px 18px}.selector-shell{border-radius:22px;padding:14px}.section-head,.section-head-inline{flex-direction:column;align-items:flex-start;gap:10px}.section-note{max-width:none}.effect-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.control-rail{grid-template-columns:1fr}.preview-panel,.panel{padding:16px}}@media (width<=600px){.app-header h1{font-size:30px}.subtitle{font-size:13px}.selector-shell{border-radius:20px;padding:12px}.preview-panel,.panel{border-radius:20px;padding:14px}.preview-stage{border-radius:20px;padding:10px}.preview-canvas{border-radius:24px;width:min(100%,86vw)}.preview-placeholder{border-radius:20px;width:min(100%,80vw)}.effect-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.effect-btn{min-height:80px;padding:12px}.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}.shape-selector,.mirror-selector,.format-toggle{grid-template-columns:1fr 1fr}.shape-btn,.format-btn{min-height:46px;font-size:13px}.export-btn{min-height:50px;font-size:14px}}
