@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg:#17171d;--bg-alt:#1c1c25;--card:#1e1e28;--card-border:#ffffff0e;--gold:#c9a86a;--gold-dim:#9a7a42;--purple:#7b56c2;--purple-light:#a07de0;--purple-accent:#c4b5fd;--purple-soft:#c4a6f0;--purple-mid:#b090d8;--text:#d4d2ec;--text-secondary:#a8a6c8;--text-dim:#9494b8;--text-muted:#7474a0;--text-bright:#e2e2f0;--green:#5db87a;--accent-warn:#d4956a;--accent-error:#d45050;--accent-error-light:#ff8080;--border-dim:#ffffff14;--gold-bright:#d4a84b;--purple-sel:#d4b8f8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--bg);color:var(--text);background-image:radial-gradient(80% 40% at 15% 0,#7b56c212 0%,#0000 60%),radial-gradient(60% 30% at 85% 100%,#c9a86a0d 0%,#0000 60%);min-height:100vh;font-family:Inter,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}body>*{z-index:1;position:relative}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#7b56c266;border-radius:4px}.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;overflow-x:clip;box-shadow:0 2px 24px #00000059,inset 0 1px #ffffff0a}.studio-title-wrap{align-items:baseline;gap:10px;display:flex}.studio-title{color:var(--text);letter-spacing:-.3px;font-family:Outfit,Inter,-apple-system,sans-serif;font-size:28px;font-weight:700;line-height:1}.studio-sub{color:var(--text-muted);letter-spacing:.4px;white-space:nowrap;font-family:Outfit,Inter,-apple-system,sans-serif;font-size:14px;font-weight:400}.btn-help{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.btn-help:hover{color:var(--purple-light)}.modal-overlay{z-index:9000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a12b8;justify-content:center;align-items:flex-start;padding:80px 24px 24px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:#1a1a24;border:1px solid #7b56c24d;border-radius:18px;width:100%;max-width:520px;max-height:80vh;animation:.24s cubic-bezier(.22,1,.36,1) modalUp;overflow-y:auto;box-shadow:0 24px 64px #0009,inset 0 0 0 1px #ffffff0a}@keyframes modalUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text);font-family:Outfit,sans-serif;font-size:16px;font-weight:600}.modal-close{cursor:pointer;width:30px;height:30px;color:var(--text-dim);background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.modal-close:hover{color:var(--text);background:#ffffff17}.modal-body{padding:20px 24px 24px}.help-tab-label{letter-spacing:.8px;text-transform:uppercase;color:var(--purple-light);margin-top:6px;margin-bottom:10px;font-size:11px;font-weight:700}.help-item{color:var(--text-dim);margin-bottom:6px;font-size:13px;line-height:1.8}.help-item strong{color:var(--text);font-weight:600}.help-divider{background:#ffffff0f;height:1px;margin:16px 0}.help-dev-row{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px;display:flex}.help-dev-val{color:var(--text-dim)}.btn-primary{color:#f0eaff;cursor:pointer;background:linear-gradient(160deg,#7b56c2 0%,#5a3ea0 100%);border:1px solid #7b56c299;border-radius:10px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .2s,transform .1s,box-shadow .2s;box-shadow:0 3px 16px #5a3ea066}.btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 22px #5a3ea080}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-dim);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff17;border-radius:10px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,color .2s}.btn-secondary:hover{color:var(--gold);background:#ffffff17;border-color:#c9a86a59}.btn-ghost{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;font-family:inherit;transition:color .2s}.btn-ghost:hover{color:var(--text)}.btn-header{cursor:pointer;color:var(--text-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff17;border-radius:10px;align-items:center;gap:7px;height:38px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s;display:flex}.btn-header svg{flex-shrink:0}.btn-header:hover{color:var(--text);background:#ffffff1a;border-color:#7b56c259}.tab-btn{cursor:pointer;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-bottom:none;border-radius:10px 10px 0 0;justify-content:center;align-items:center;max-width:120px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .22s;display:flex;overflow:hidden}.tab-btn.active{background:var(--purple);color:#f0eaff;border-color:#7b56c280;box-shadow:0 -2px 14px #7b56c24d}.tab-btn.inactive{color:var(--text-muted);background:#ffffff09;border-color:#ffffff0f}.tab-btn.inactive:hover{color:var(--text-dim);background:#ffffff12;border-color:#7b56c240}.chip{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:100px;padding:8px 18px;font-family:inherit;font-size:13px;transition:all .18s}.chip:hover{color:var(--gold);background:#c9a86a0f;border-color:#c9a86a66}.chip.selected{color:#d4c4f8;background:#7b56c238;border-color:#a07de08c;box-shadow:0 0 10px #7b56c226}.chip-block{cursor:pointer;color:var(--text-secondary);text-align:left;background:#ffffff08;border:1px solid #ffffff17;border-radius:12px;width:100%;padding:13px 16px;font-family:inherit;font-size:14px;transition:all .18s;display:block}.chip-block:hover{color:var(--text);background:#ffffff0f;border-color:#c9a86a59}.chip-block.selected{color:#d4c4f8;background:#7b56c22e;border-color:#a07de080}.code-block{color:#b8aee0;white-space:pre-wrap;word-break:break-all;background:#0000004d;border:1px solid #ffffff12;border-radius:10px;padding:15px 17px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:13px;line-height:1.65}.step-row{box-sizing:border-box;align-items:center;gap:6px;width:100%;min-width:0;margin-bottom:28px;padding:0 10px;display:flex;overflow:hidden}.step-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;transition:all .3s;display:flex}.step-dot.done{background:var(--purple);color:#fff}.step-dot.now{background:var(--purple);color:#fff;box-shadow:0 0 0 3px #7b56c233,0 0 16px #7b56c259}.step-dot.wait{color:var(--text-muted);background:#ffffff0f;border:1px solid #ffffff14}.step-line{background:#ffffff14;flex:1;min-width:0;height:1px;transition:background .3s}.step-line.done{background:#7b56c280}.result-enter{animation:.38s cubic-bezier(.22,1,.36,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast{color:#d4c4f8;z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e1c2cf2;border:1px solid #7b56c273;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:500;animation:.28s ease-out toastIn;position:fixed;bottom:26px;right:26px;box-shadow:0 8px 28px #0006}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}input,textarea,select{color:var(--text);background:#ffffff0a;border:1px solid #ffffff17;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:#7b56c299;outline:none;box-shadow:0 0 0 3px #7b56c214}input::placeholder,textarea::placeholder{color:var(--text-muted)}.params-grid{gap:10px;font-size:13px;display:grid}.param-row{align-items:flex-start;gap:12px;display:flex}.param-key{color:var(--gold-dim);flex-shrink:0;min-width:72px;font-size:12px;font-weight:600}.param-val{color:var(--text)}.history-row{cursor:default;border:1px solid #ffffff0f;border-radius:12px;min-width:0;padding:14px 16px;transition:background .2s;overflow:hidden}.history-row:hover{background:#ffffff08;border-color:#c9a86a26}.char-ok{color:var(--green)}.char-warn{color:#d4a03a}.char-over{color:#d45050}.section-label{color:var(--text-dim);letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.success-banner{color:var(--green);text-align:center;background:#5db87a14;border:1px solid #5db87a40;border-radius:10px;margin-bottom:16px;padding:15px 18px;font-size:14px}.tip-box{background:#5db87a0d;border:1px solid #5db87a26;border-radius:10px;margin-top:16px;padding:14px 16px}.tip-title{color:var(--green);letter-spacing:.6px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.tip-body{color:#5db87acc;font-size:12px;line-height:1.9}.copy-btn{width:100%;color:var(--text-dim);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;margin-top:8px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.copy-btn:hover{color:var(--gold);background:#c9a86a14;border-color:#c9a86a4d}.copy-btn.copied{color:var(--green);border-color:#5db87a4d}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-icon{opacity:.5;margin-bottom:14px;font-size:40px}.sparkle{color:#c9a86a40;pointer-events:none;z-index:10;font-size:22px;animation:4s ease-in-out infinite sparklePulse;position:fixed;bottom:26px;right:26px}@keyframes sparklePulse{0%,to{opacity:.25;transform:scale(1)rotate(0)}50%{opacity:.55;transform:scale(1.1)rotate(15deg)}}.divider{background:#ffffff0f;height:1px;margin:20px 0}
