:root{--bg:#fafafa;--surface:#fff;--surface2:#f4f3f8;--border:#e4e2ed;--border-focus:#6c63ff;--text:#1a1a2e;--text-dim:#8b8a97;--accent:#6c63ff;--accent-glow:#6c63ff1f;--warm:#e87a48;--teal:#36b5ab;--pink:#e8558a;--radius:12px;--font-body:"DM Sans", sans-serif;--font-display:"Fraunces", serif;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000d, 0 1px 3px #0000000a;--shadow-lg:0 4px 24px #6c63ff14, 0 2px 8px #0000000a;color:var(--text);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{color:inherit}#root{min-height:100vh}.topbar{z-index:100;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:16px;padding:12px 32px;display:flex;position:sticky;top:0}.topbar-title{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:600}.topbar-title span{color:var(--accent)}.progress-wrap{align-items:center;gap:8px;display:flex}.progress-draft-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:10px;font-weight:600}.progress-bar{background:var(--surface2);border-radius:999px;width:160px;height:5px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-pct{min-width:34px;color:var(--text-dim);letter-spacing:.5px;font-size:11px;font-weight:500}.shell{max-width:860px;margin:0 auto;padding:40px 24px 120px}.hero{text-align:center;padding:56px 0 64px;position:relative;overflow:hidden}.hero:before{content:"";background-image:radial-gradient(circle, var(--border) 1px, transparent 1px);opacity:.5;pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.hero h1{font-family:var(--font-display);color:var(--text);margin:0 0 14px;font-size:44px;font-weight:700;line-height:1.15;position:relative}.hero h1 span{color:var(--accent)}.hero p{max-width:560px;color:var(--text-dim);margin:0 auto;font-size:16px;line-height:1.7;position:relative}.nav-pills{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:40px;display:flex}.nav-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);letter-spacing:.8px;text-transform:uppercase;cursor:pointer;border-radius:20px;padding:6px 14px;font-size:11px;font-weight:600;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}.nav-pill:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.nav-pill.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 2px 8px #6c63ff33}.section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);margin-bottom:28px;padding:32px;animation:.4s cubic-bezier(.4,0,.2,1) both fadeUp;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-num{color:var(--accent);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.section h2{font-family:var(--font-display);color:var(--text);margin:0 0 4px;font-size:24px;font-weight:600}.section-desc{color:var(--text-dim);margin:0 0 24px;font-size:13px}.helper-text{color:var(--text-dim);margin:0 0 18px;font-size:13px}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-group{margin-bottom:18px}.field-group.compact{margin-bottom:0}.field-label{color:var(--text-dim);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.field-hint{color:var(--text-dim);margin:6px 0 0;font-size:12px}input[type=text],input[type=url],textarea,select{border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s,background .2s}input[type=text]:hover,input[type=url]:hover,textarea:hover,select:hover{border-color:#ccc8dd}input[type=text]:focus,input[type=url]:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow);background:#fff}textarea{resize:vertical;min-height:72px}::placeholder{color:var(--text-dim);opacity:.6}.card{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:14px;padding:20px;transition:box-shadow .2s;position:relative}.card:hover{box-shadow:var(--shadow-sm)}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-tag{letter-spacing:1.5px;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 10px;font-size:10px;font-weight:700;display:inline-flex}.card-tag.star{color:var(--warm);background:#e87a481a}.card-tag.chain{color:var(--teal);background:#36b5ab1a}.card-tag.branch{color:var(--pink);background:#e8558a1a}.btn{cursor:pointer;letter-spacing:.3px;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:transform .15s,background .2s,border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover:not(:disabled){background:#5a52e0;transform:translateY(-1px);box-shadow:0 4px 12px #6c63ff33}.btn-outline{border:1px solid var(--border);background:var(--surface);color:var(--text-dim)}.btn-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.btn-danger{color:var(--pink);background:0 0;border:1px solid #e8558a33;padding:4px 10px;font-size:12px}.btn-danger:hover:not(:disabled){background:#e8558a0f}.btn-export{background:var(--accent);color:#fff;letter-spacing:.3px;border-radius:10px;padding:14px 24px;font-size:15px;font-weight:600}.btn-export:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff38}.add-row-wrap{text-align:center;margin-top:10px}.step-node{background:var(--surface2);border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:14px;margin-bottom:12px;padding:14px;transition:border-color .2s;display:flex}.step-node:hover{border-color:var(--border)}.step-dot{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;margin-top:2px;font-size:11px;font-weight:700;display:flex}.step-fields{flex:1;gap:10px;display:grid}.radio-group{gap:12px;margin-bottom:14px;display:flex}.radio-opt{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:500;transition:border-color .2s,background .2s,color .2s,box-shadow .2s}.radio-opt:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.radio-opt.selected{border-color:var(--accent);background:var(--accent);color:#fff}.checkbox-row{color:var(--text);align-items:center;gap:10px;font-size:14px;display:inline-flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.color-picker-wrap{align-items:center;gap:10px;display:flex}.color-swatch-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:40px;height:40px;padding:0;transition:box-shadow .15s,border-color .2s;position:relative;overflow:hidden}.color-swatch-btn:hover{box-shadow:var(--shadow-sm);border-color:#ccc8dd}.color-swatch-btn:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.color-input-native{opacity:0;cursor:pointer;border:none;width:calc(100% + 12px);height:calc(100% + 12px);padding:0;position:absolute;inset:-6px}.color-hex-display{border:1px solid var(--border);background:var(--surface2);color:var(--text);letter-spacing:.5px;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:8px;flex:1;padding:10px 14px;font-family:DM Mono,Courier New,monospace;font-size:13px}.empty-state{border:1px dashed var(--border);background:var(--surface2);text-align:center;color:var(--text-dim);border-radius:10px;margin:0 0 14px;padding:20px;font-size:13px}.bottom-bar{z-index:100;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;padding:14px 32px;position:fixed;bottom:0;left:0;right:0}.bottom-bar-inner{justify-content:center;align-items:center;gap:12px;max-width:860px;margin:0 auto;display:flex}.file-upload{width:100%}.file-upload-input{display:none}.file-upload-trigger{border:1px dashed var(--border);background:var(--surface2);color:var(--text-dim);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:border-color .2s,background .2s,color .2s;display:inline-flex}.file-upload-trigger:hover{border-color:var(--accent);background:var(--accent-glow);color:var(--accent)}.file-upload-icon{font-size:15px;line-height:1}.file-upload-preview{border:1px solid var(--border);background:var(--surface2);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.file-upload-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:36px;height:36px}.file-upload-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-upload-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.file-upload-size{color:var(--text-dim);font-size:11px}.file-upload-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;font-size:12px;transition:color .2s,background .2s}.file-upload-remove:hover{color:var(--pink);background:#e8558a0f}.cursor-dot{z-index:9999;background:var(--accent);opacity:.6;pointer-events:none;will-change:left, top;mix-blend-mode:multiply;border-radius:50%;width:10px;height:10px;transition:width .2s cubic-bezier(.4,0,.2,1),height .2s cubic-bezier(.4,0,.2,1),opacity .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot.hovering{opacity:.35;width:24px;height:24px}@media (width<=600px){.topbar{padding:12px 18px}.progress-bar{width:96px}.shell{padding:28px 16px 128px}.hero{padding:36px 0 44px}.hero h1{font-size:34px}.section{padding:22px 18px}.field-row{grid-template-columns:1fr}.card-header,.step-node,.bottom-bar-inner{flex-direction:column;align-items:stretch}.radio-group{flex-direction:column}.bottom-bar{padding:14px 16px}.cursor-dot{display:none}}@media print{.topbar,.bottom-bar,.btn,.add-row-wrap,.nav-pills,.cursor-dot{display:none!important}}
