:root{--bg:#ffffff;--panel:#f7f8fa;--border:#e5e7eb;--text:#111827;--muted:#6b7280;--accent:#2563eb;--accent-weak:#eff6ff;--danger:#b91c1c;--radius:12px;--shadow:0 1px 2px rgba(16,24,40,0.06),0 1px 3px rgba(16,24,40,0.1)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--border);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:20}.site-header .wrap{display:flex;align-items:center;gap:16px;height:60px}.brand{font-weight:700;font-size:18px;color:var(--text);letter-spacing:-.01em}.brand span{color:var(--accent)}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:14px}.locale-switcher{position:relative;flex:none}.locale-trigger{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#4b5563;font:inherit;font-size:12px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.locale-switcher.open .locale-trigger,.locale-trigger:hover{border-color:#cbd5e1;background:#f8fafc;color:var(--text)}.locale-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.locale-code{font-weight:650;letter-spacing:.03em}.locale-chevron{color:#94a3b8;transition:transform .16s ease}.locale-switcher.open .locale-chevron{transform:rotate(180deg)}.locale-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:210px;padding:6px;border:1px solid var(--border);border-radius:11px;background:#fff;box-shadow:0 14px 36px rgba(16,24,40,.14)}.locale-menu a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:7px 10px;border-radius:7px;color:var(--text);font-size:13px;text-decoration:none}.locale-menu a:hover{background:#f5f7fa;text-decoration:none}.locale-menu a[aria-current=true]{background:var(--accent-weak);color:var(--accent);font-weight:600}.locale-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.locale-menu-code{flex:none;color:#94a3b8;font-size:10px;font-weight:650;letter-spacing:.04em}.locale-menu a[aria-current=true] .locale-menu-code{color:var(--accent)}.hero{padding:40px 0 8px}.hero h1{font-size:34px;line-height:1.25;margin:0 0 12px;letter-spacing:-.02em}.hero p{color:var(--muted);font-size:17px;margin:0;max-width:680px}section{padding:28px 0}h2{font-size:22px;margin:0 0 16px;letter-spacing:-.01em}h3{font-size:17px;margin:24px 0 8px}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#fff;box-shadow:var(--shadow);transition:transform .12s ease,border-color .12s ease}a.card{color:var(--text);display:block}a.card:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}.card h3{margin:0 0 6px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:14px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:20px}.dropzone{border:2px dashed #cbd5e1;border-radius:var(--radius);background:#fff;padding:26px 16px;text-align:center;cursor:pointer}.dropzone.active{border-color:var(--accent);background:var(--accent-weak)}.dropzone strong{display:block;font-size:15px;margin-bottom:4px}.dropzone small{color:var(--muted)}.filelist{list-style:none;margin:14px 0 0;padding:0}.filelist li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:14px;cursor:-webkit-grab;cursor:grab}.filelist li.dragging{opacity:.55;border-style:dashed;border-color:var(--accent)}.filelist .grip{color:#cbd5e1;font-size:11px;letter-spacing:-2px;cursor:-webkit-grab;cursor:grab}.filelist .idx{width:20px;height:20px;border-radius:50%;background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.filelist .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filelist .size{color:var(--muted);margin-left:auto;flex:none}.filelist .move{display:flex;gap:2px;flex:none}.filelist .move button{border:1px solid var(--border);background:#fff;color:#4b5563;cursor:pointer;width:22px;height:22px;border-radius:6px;font-size:12px;line-height:1;padding:0}.filelist .move button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.filelist .move button:disabled{opacity:.35;cursor:not-allowed}.filelist button.remove{border:none;background:none;color:var(--danger);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.reorder-hint{font-size:12px;color:var(--muted);margin:6px 0 0}.options{display:grid;grid-gap:12px;gap:12px;margin:18px 0 4px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}.field input[type=number],.field input[type=password],.field input[type=text],.field select{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;color:var(--text)}.field.checkbox{display:flex;align-items:center;gap:8px}.field.checkbox label{margin:0;color:var(--text);font-size:14px}.actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}a.primary,button.primary{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:11px 20px;font-size:15px;font-weight:600;cursor:pointer;display:inline-block}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:#fff;border:1px solid var(--border);border-radius:9px;padding:10px 16px;font-size:14px;cursor:pointer}.notice{font-size:13px;color:var(--muted);margin-top:10px}.alert{border-radius:9px;padding:11px 14px;font-size:14px;margin-top:14px}.alert.error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.alert.info{background:var(--accent-weak);color:#1e40af;border:1px solid #bfdbfe}.alert.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.alert.warn strong{display:block;margin-bottom:2px}.alert-detail{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:inherit;opacity:.85;word-break:break-word}.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.steps li{position:relative;padding-left:42px;color:var(--muted)}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:2px;width:26px;height:26px;border-radius:50%;background:var(--accent-weak);color:var(--accent);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.about p{color:#374151;font-size:15.5px;margin:0 0 14px;max-width:760px}.tool-start{scroll-margin-top:80px}.guide-hero{padding-top:28px}.guide-badge,.guide-card-kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-weak);border-radius:999px;padding:3px 9px}.guide-hero .guide-badge{margin-bottom:12px}.guide-meta{display:block;font-size:12px;color:var(--muted);margin-top:12px}.guide-inline-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:600}.guide-cta,.guide-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 4px;padding:18px 20px;border:1px solid #bfdbfe;border-radius:var(--radius);background:var(--accent-weak)}.guide-cta strong,.guide-footer-cta strong{display:block;font-size:17px}.guide-cta p{margin:4px 0 0;color:#1e40af;font-size:14px;max-width:620px}.guide-footer-cta{margin-top:28px}.guide-checklist{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px}.guide-checklist li{position:relative;padding-left:26px;color:#374151;font-size:15px}.guide-checklist li:before{content:"✓";position:absolute;left:0;top:0;color:#047857;font-weight:700}.guide-checklist.guide-warn li:before{content:"!";color:#b45309}.guide-inline-cta{margin:18px 0 0;font-weight:600}.guide-copy{color:#374151;font-size:15.5px;margin:0;max-width:760px}.guide-hub{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid #bfdbfe;border-radius:var(--radius);background:var(--accent-weak);color:var(--text)}.guide-hub:hover{text-decoration:none;border-color:var(--accent)}.guide-hub strong{font-size:21px}.guide-hub>span:not(.guide-card-kicker):not(.guide-more){color:#1e40af;font-size:14.5px}.guide-index .guide-card{display:flex;flex-direction:column;min-height:100%}.guide-card h2{margin:10px 0 8px;font-size:18px}.guide-card p{flex:1 1}.guide-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:600;color:var(--accent)}@media (max-width:640px){.guide-cta,.guide-footer-cta{align-items:flex-start;flex-direction:column}}.faq details{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:#fff}.faq summary{cursor:pointer;font-weight:600;font-size:15px}.faq p{color:var(--muted);margin:8px 0 0;font-size:14px}.crumbs{padding-top:18px}.crumbs,.site-footer{font-size:13px;color:var(--muted)}.site-footer{border-top:1px solid var(--border);margin-top:40px;padding:22px 0 40px}.site-footer .wrap{display:flex;gap:16px;flex-wrap:wrap}@media (max-width:640px){.hero h1{font-size:26px}.site-header .wrap{height:auto;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;align-items:flex-start}.site-header nav{width:100%;margin-left:0;flex-wrap:wrap;gap:8px 12px;font-size:13px}.locale-menu{right:auto;left:0}}.studio-page{width:100vw;margin-left:calc(50% - 50vw);max-width:none;padding:20px 24px 0}.studio-header h1{font-size:26px;margin:0 0 6px;letter-spacing:-.02em}.studio-header p{color:var(--muted);margin:0 0 16px;font-size:14.5px}.studio{display:flex;flex-direction:column;height:calc(100vh - 190px);min-height:560px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.studio-loading{padding:40px;color:var(--muted);font-size:14px}.studio-top{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:#fff}.studio-name{font-size:14px;font-weight:600;border:1px solid transparent;border-radius:6px;padding:4px 7px;width:200px;font-family:inherit;color:inherit;background:transparent}.studio-name:hover{border-color:var(--border)}.studio-name:focus{outline:none;border-color:var(--accent);background:#fff}.studio-saved{font-size:12px;color:#9ca3af}.studio-actions{margin-left:auto;display:flex;gap:8px}.studio-main{flex:1 1;display:flex;min-height:0}.studio-palette{width:210px;flex:none;border-right:1px solid var(--border);padding:12px 10px 28px;overflow-y:auto}.studio-group{margin-bottom:14px}.studio-group h4{font-size:10.5px;color:#9ca3af;font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.studio-chip{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;font-size:12.5px;color:#374151;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid transparent}.studio-chip:hover{background:#f9fafb;border-color:var(--border)}.studio-chip:active{cursor:-webkit-grabbing;cursor:grabbing}.studio-dot{width:16px;height:16px;border-radius:5px;flex:none}.studio-dot.in{background:#0ea5e9}.studio-dot.tr{background:#8b5cf6}.studio-dot.out{background:#10b981}.studio-hint{margin:14px 0 0;padding:8px 10px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:11px;color:#92400e;line-height:1.5}.studio-canvas{flex:1 1;min-width:340px;min-height:0;display:flex;position:relative}.studio-canvas>div:not(.studio-toolbar){height:100%;min-height:0;flex:1 1}.studio-canvas .react-flow{height:100%!important}.studio-toolbar{position:absolute;top:10px;left:10px;z-index:6;display:flex;align-items:center;gap:6px}.studio-toolbar .tb{background:#fff;border:1px solid var(--border);border-radius:7px;padding:5px 9px;font-size:11.5px;color:#4b5563;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.05);font-family:inherit}.studio-toolbar .tb:hover{background:#f9fafb}.studio-toolbar .tb-file{display:inline-flex;align-items:center}.studio-files{font-size:11.5px;color:var(--muted);margin-left:4px}.studio-inspector{width:296px;flex:none;border-left:1px solid var(--border);padding:14px;overflow-y:auto}.studio-inspector h3{font-size:13px;margin:0 0 2px}.studio-sub{font-size:11px;color:#9ca3af;margin-bottom:12px}.studio-empty{color:#9ca3af;font-size:12px;line-height:1.7;text-align:center;padding:24px 8px}.studio-empty b{display:block;color:#374151;font-size:13px;margin-bottom:6px}.studio-warnbox{background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:11.5px;border-radius:8px;padding:8px 10px;margin:10px 0;line-height:1.5}.studio-node{width:186px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px rgba(16,24,40,.08);font-size:12px}.studio-node.selected{box-shadow:0 0 0 3px rgba(37,99,235,.12)}.studio-node.running,.studio-node.selected{border-color:var(--accent)}.studio-node.done{border-color:#a7f3d0}.studio-node.failed{border-color:#fecaca;background:#fffafa}.studio-node-head{display:flex;align-items:center;gap:7px;padding:8px 10px 5px}.studio-node-name{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-node-body{padding:0 10px 6px;display:flex;align-items:center;gap:6px}.studio-node-line{flex:1 1;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-stat{font-size:10px;font-weight:600;border-radius:999px;padding:1px 6px;flex:none}.studio-stat.idle{background:#f3f4f6;color:#6b7280}.studio-stat.run{background:var(--accent-weak);color:#1d4ed8}.studio-stat.ok{background:#ecfdf5;color:#047857}.studio-stat.err{background:#fef2f2;color:#b91c1c}.studio-ports{display:flex;justify-content:space-between;padding:0 10px 6px;font-size:9px;color:#9ca3af}.studio-handle{width:9px;height:9px;border:2px solid #94a3b8;background:#fff}.studio-handle.pdf{border-color:#ef4444}.studio-handle.image{border-color:#8b5cf6}.studio-handle.office{border-color:#0ea5e9}.studio-warn{position:absolute;top:-7px;right:-7px;width:16px;height:16px;border-radius:50%;background:#f59e0b;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.studio-log{height:118px;flex:none;border-top:1px solid var(--border);padding:9px 14px;overflow-y:auto;background:#fff}.studio-log-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.studio-log-head h5{font-size:10.5px;color:var(--muted);font-weight:600;margin:0}.studio-log-head .btn{padding:4px 10px;font-size:11.5px}.studio-log-line{font-size:11.5px;color:#4b5563;margin-bottom:2px}.studio-log-line.err{color:var(--danger)}.studio-log-empty{font-size:11.5px;color:#9ca3af}.studio-toast{position:absolute;right:18px;bottom:140px;background:#111827;color:#fff;font-size:12px;padding:9px 13px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);max-width:340px;line-height:1.5;z-index:50}@media (max-width:1180px){.studio-inspector{display:none}}@media (max-width:900px){.studio-palette{display:none}.studio{height:calc(100vh - 160px)}}.studio-handle.true{border-color:#10b981}.studio-handle.false{border-color:#f59e0b}.studio-modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.35);z-index:80;display:flex;align-items:center;justify-content:center}.studio-modal{background:#fff;border-radius:12px;padding:18px;width:min(460px,92vw);box-shadow:0 18px 50px rgba(0,0,0,.2)}.studio-modal-head{display:flex;align-items:center;justify-content:space-between}.studio-modal h3{margin:0 0 4px;font-size:15px}.studio-modal-close{border:none;background:none;font-size:18px;line-height:1;color:#9ca3af;cursor:pointer;padding:0 2px}.studio-modal-close:hover{color:#374151}.studio-template{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;padding:10px 12px;margin:8px 0;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;font-family:inherit}.studio-template:hover{border-color:var(--accent);background:#f8fbff}.studio-template b{font-size:13px}.studio-template span{font-size:11px;color:var(--muted)}.account-loading{color:var(--muted);font-size:13px}.account-signin,.account-signout{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer}.account-signin:hover,.account-signout:hover{border-color:var(--accent);color:var(--accent)}.account-menu{display:flex;align-items:center;gap:7px;min-width:0}.account-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}.account-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-weak);color:var(--accent);font-size:11px;font-weight:700}.account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}.plan-badge{font-size:11px;font-weight:700;border-radius:999px;padding:2px 7px;background:#f3f4f6;color:var(--muted)}.plan-badge.premium{background:#ecfdf5;color:#047857}a.plan-badge:hover{text-decoration:none}.account-signout{padding:4px 7px;font-size:11px;color:var(--muted)}.pricing-hero{max-width:760px}.pricing-grid-section{padding-top:18px}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:stretch}.pricing-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;padding:26px;box-shadow:var(--shadow)}.pricing-card h2{margin:0 0 4px}.pricing-card-pro{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff 42%)}.pricing-ribbon{position:absolute;right:18px;top:18px;font-size:11px;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:3px 9px}.pricing-price{font-size:34px;font-weight:750;letter-spacing:-.03em;margin:12px 0 18px}.pricing-features{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-gap:10px;gap:10px;color:#374151;font-size:14.5px}.pricing-features li{position:relative;padding-left:24px}.pricing-features li:before{content:"✓";position:absolute;left:0;color:#047857;font-weight:700}.pricing-actions{margin-top:auto}.pricing-actions .primary{width:100%}.pricing-message,.pricing-signed-in{margin:9px 0 0;font-size:12px;color:var(--muted)}.pricing-message{color:#b45309}.pricing-note{margin:18px 0 0;color:var(--muted);font-size:13px;max-width:720px}.quota-upgrade{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:inherit;text-decoration:underline}@media (max-width:640px){.pricing-grid{grid-template-columns:1fr}.pricing-price{font-size:29px}.account-name{display:none}}.account-area{position:relative;display:flex;align-items:center}.account-error{position:absolute;right:0;top:34px;z-index:40;width:min(300px,80vw);padding:8px 10px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:12px;line-height:1.45;white-space:normal;box-shadow:var(--shadow)}