@import "https://fonts.googleapis.com/css2?family=Fugaz+One&display=swap";@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";:root{--bg:#f4f3f0;--bg-alt:#eceae6;--bg-deep:#e2e0dc;--color-easy:#4a90d9;--color-pro:#3daa6c;--color-studio:#e87a30;--color-history:#7a8fa0;--color-favorites:#8a8098;--card:#fff;--card-border:#00000012;--card-shadow:0 16px 32px -8px #0000001c, 0 4px 10px -2px #0000000f;--green-main:#4e8a4e;--green-light:#7baf7b;--green-dark:#3a6e3a;--green-soft:#4e8a4e1a;--green-mid:#5e9e5e;--mode-rgb:78, 138, 78;--purple:#4e8a4e;--purple-light:#7baf7b;--purple-accent:#b2d4b2;--purple-soft:#3d7a3d;--purple-mid:#5e9e5e;--purple-sel:#3a6e3a;--gold:#8b6914;--gold-dim:#6b4f10;--gold-bright:#a07820;--text:#1a1a1a;--text-secondary:#3c3c3c;--text-dim:#606060;--text-muted:#9a9a9a;--text-bright:#080808;--green:#2e7040;--accent-warn:#b06020;--accent-error:#c03030;--accent-error-light:#e05050;--border-dim:#00000012}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--bg);color:var(--text);background-image:none;min-height:100vh;font-family:Pretendard Variable,Inter,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.card{background:var(--card);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:20px;position:relative;overflow:hidden}.card:before{content:"";background:var(--stripe-color,transparent);z-index:1;height:4px;transition:background .25s;position:absolute;top:0;left:0;right:0}.app-header{background:var(--bg)}.studio-title-wrap{align-items:baseline;gap:10px;display:flex}.studio-title{color:var(--text);letter-spacing:.2px;white-space:nowrap;font-family:Fugaz One,sans-serif;font-size:28px;font-weight:400;line-height:1}.studio-sub{color:var(--text-muted);letter-spacing:.2px;white-space:nowrap;font-family:Pretendard Variable,sans-serif;font-size:12px;font-weight:500}.tab-row{overflow:visible}.tab-btn{cursor:pointer;white-space:nowrap;background:#fffc;border:1px solid #00000017;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.tab-btn:before{content:"";background:var(--stripe-color,transparent);z-index:1;height:3px;transition:background .2s;position:absolute;top:0;left:0;right:0}.tab-btn.active{background:#fff;border-color:#00000017;box-shadow:0 2px 8px #0000001a}.tab-btn.inactive{color:var(--text-muted);background:#fff;border-color:#0000001a}.tab-btn.inactive:hover{color:var(--text-dim);background:#fff;border-color:#0000002e}.btn-help{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;transition:color .2s,background .2s;display:flex}.btn-help:hover{color:var(--text-dim);background:#00000012}.btn-primary{background:var(--green-main);color:#fff;border:1px solid var(--green-dark);cursor:pointer;letter-spacing:-.2px;box-shadow:0 3px 12px rgba(var(--mode-rgb),.3);border-radius:12px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:background .2s,transform .1s,box-shadow .2s}.btn-primary:hover{background:var(--green-dark);box-shadow:0 6px 18px rgba(var(--mode-rgb),.35);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-dim);cursor:pointer;background:#0000000a;border:1px solid #0000001a;border-radius:10px;padding:9px 17px;font-family:inherit;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,color .2s}.btn-secondary:hover{background:rgba(var(--mode-rgb),.08);border-color:rgba(var(--mode-rgb),.35);color:var(--green-main)}.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);white-space:nowrap;background:#0000000a;border:1px solid #00000017;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{background:rgba(var(--mode-rgb),.08);color:var(--green-main);border-color:rgba(var(--mode-rgb),.25)}.chip{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:1.5px solid #00000021;border-radius:100px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .18s}.chip:hover{border-color:var(--green-main);color:var(--green-main);background:var(--green-soft)}.chip.selected{background:var(--green-main);border-color:var(--green-main);color:#fff;box-shadow:0 2px 10px rgba(var(--mode-rgb),.25)}.chip-block{cursor:pointer;color:var(--text-secondary);text-align:left;background:#00000006;border:1.5px solid #00000017;border-radius:14px;width:100%;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:500;transition:all .18s;display:block}.chip-block:hover{border-color:var(--green-main);color:var(--text);background:var(--green-soft)}.chip-block.selected{background:rgba(var(--mode-rgb),.08);border-color:var(--green-main);color:var(--green-dark)}.code-block{color:var(--text-dim);white-space:pre-wrap;word-break:break-all;background:#00000008;border:1px solid #00000012;border-radius:12px;padding:16px 18px;font-family:SF Mono,Fira Code,Courier New,monospace;font-size:13px;line-height:1.65}.step-row{align-items:center;gap:0;width:100%;margin-bottom:32px;padding:0;display:flex}.step-dot{letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:800;transition:all .3s;display:flex}.step-dot.done{background:var(--green-main);color:#fff;box-shadow:0 2px 8px rgba(var(--mode-rgb),.35)}.step-dot.now{background:var(--green-main);color:#fff;box-shadow:0 0 0 4px rgba(var(--mode-rgb),.18), 0 2px 10px rgba(var(--mode-rgb),.3)}.step-dot.wait{color:var(--text-muted);background:#00000012;border:1.5px solid #00000017}.step-line{background:#00000014;flex:1;height:2px;transition:background .3s}.step-line.done{background:var(--green-main)}.result-enter{animation:.38s cubic-bezier(.22,1,.36,1) slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.toast{border:1px solid rgba(var(--mode-rgb),.3);color:var(--green-dark);z-index:9999;background:#fff;border-radius:14px;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:600;animation:.28s ease-out toastIn;display:flex;position:fixed;bottom:26px;right:26px;box-shadow:0 8px 32px #00000024}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}input,textarea,select{color:var(--text);background:#00000008;border:1.5px solid #0000001a;border-radius:12px;width:100%;padding:11px 15px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--green-main);box-shadow:0 0 0 3px rgba(var(--mode-rgb),.1);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}.modal-overlay{z-index:9000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14281473;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:#fff;border:1px solid #0000001a;border-radius:24px;width:100%;max-width:520px;max-height:80vh;animation:.24s cubic-bezier(.22,1,.36,1) modalUp;overflow-y:auto;box-shadow:0 32px 80px #0000002e}@keyframes modalUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-handle-area{cursor:pointer;justify-content:center;align-items:center;width:100%;padding:12px 0 6px;display:none}.modal-drag-handle{background:#00000026;border-radius:2px;width:40px;height:4px}.modal-swipe-hint{color:#0000004d;letter-spacing:.3px;font-size:10px;display:none}.modal-header{border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{color:var(--text);letter-spacing:-.3px;font-size:17px;font-weight:800}.modal-close{cursor:pointer;width:32px;height:32px;color:var(--text-dim);background:#0000000d;border:1px solid #00000014;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close:hover{color:var(--text);background:#00000017}.modal-body{padding:22px 26px 28px}.help-tab-label{letter-spacing:.8px;text-transform:uppercase;color:var(--green-main);margin-top:6px;margin-bottom:10px;font-size:11px;font-weight:800}.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:#00000012;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)}.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:700}.param-val{color:var(--text)}.history-row{cursor:default;border:1.5px solid #00000012;border-radius:16px;min-width:0;padding:14px 18px;transition:background .2s,border-color .2s;overflow:hidden}.history-row:hover{background:rgba(var(--mode-rgb),.04);border-color:rgba(var(--mode-rgb),.2)}.char-ok{color:var(--green)}.char-warn{color:#a07030}.char-over{color:var(--accent-error)}.section-label{color:var(--text-muted);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800}.success-banner{color:var(--green);text-align:center;background:#2e70400f;border:1px solid #2e704033;border-radius:14px;margin-bottom:16px;padding:16px 20px;font-size:14px;font-weight:600}.tip-box{background:rgba(var(--mode-rgb),.06);border:1px solid rgba(var(--mode-rgb),.16);border-radius:14px;margin-top:18px;padding:15px 18px}.tip-title{color:var(--green-main);letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.tip-body{color:var(--text-dim);font-size:12px;line-height:1.9}.copy-btn{width:100%;color:var(--text-dim);cursor:pointer;background:#00000009;border:1.5px solid #00000017;border-radius:11px;justify-content:center;align-items:center;gap:6px;margin-top:9px;padding:9px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.copy-btn:hover{background:rgba(var(--mode-rgb),.07);border-color:rgba(var(--mode-rgb),.3);color:var(--green-main)}.copy-btn.copied{color:var(--green);background:#2e70400f;border-color:#2e70404d}.fusion-el-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=540px){.fusion-el-grid{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--text-muted);padding:64px 20px}.empty-icon{opacity:.4;margin-bottom:14px;font-size:40px}.divider{background:#00000012;height:1px;margin:22px 0}@media (width<=640px){.studio-title{font-size:20px}.studio-sub{font-size:11px}.tab-btn{flex:1;padding:7px 10px;font-size:11.5px}.chip{padding:7px 13px;font-size:12px}.chip-block{padding:11px 14px;font-size:13px}.btn-primary{min-height:42px;padding:10px 16px;font-size:13px}.btn-secondary{min-height:40px;padding:8px 13px}.btn-header{height:40px;padding:6px 12px;font-size:12px}.step-dot{width:28px;height:28px;font-size:11px}.step-row{margin-bottom:24px}.section-label{font-size:11px}.code-block{padding:13px 14px;font-size:12px}.history-row{padding:12px 14px}.empty-state{padding:44px 12px}.toast{text-align:center;bottom:16px;left:12px;right:12px}.modal-overlay{align-items:flex-end;padding:0 0 12px}.modal-box{border-radius:24px;max-width:100%;max-height:88vh;margin:0 6px}.modal-handle-area{display:flex}.modal-swipe-hint{display:block}}
