*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fafafa;--panel:#ffffff;--border:#e4e4e7;--text:#18181b;--text-dim:#71717a;--accent:#18181b;--accent-text:#ffffff;--danger:#dc2626}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}.container{max-width:1280px;margin:0 auto;padding:32px 24px}.topbar{border-bottom:1px solid var(--border);background:var(--panel)}.topbar-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:baseline;gap:12px}.topbar-inner h1{font-size:16px;font-weight:650;letter-spacing:-.01em}.topbar-inner span{color:var(--text-dim);font-size:13px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px;transition:border-color .15s;display:block}.card:hover{border-color:#a1a1aa}.card h2{font-size:15px;font-weight:600}.card p{font-size:13px;margin-top:6px}.badge,.card p{color:var(--text-dim)}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;border:1px solid var(--border);margin-top:12px}.workbench{display:grid;grid-template-columns:420px 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:900px){.workbench{grid-template-columns:1fr}}.form-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px}.form-panel h2{font-size:15px;margin-bottom:4px}.form-panel .desc{color:var(--text-dim);font-size:13px;margin-bottom:16px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:4px}.field input,.field textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:7px 10px;font:inherit;font-size:13px;background:var(--panel);color:var(--text)}.field input:focus,.field textarea:focus{outline:2px solid #a1a1aa;outline-offset:-1px}.field textarea{resize:vertical;min-height:60px}.array-field{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:14px}.array-field>label{display:block;font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.array-row{display:flex;gap:6px;margin-bottom:6px;align-items:flex-start}.array-row input{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit;font-size:13px;width:100%;min-width:0}.array-row .grow{flex:2 1}.array-row .narrow{flex:1 1}.icon-btn{border:1px solid var(--border);background:var(--panel);border-radius:6px;width:30px;height:30px;flex:none;cursor:pointer;color:var(--text-dim);font-size:14px}.icon-btn:hover{color:var(--danger);border-color:var(--danger)}.add-row{border:1px dashed var(--border);background:none;border-radius:6px;padding:6px 12px;font-size:12px;cursor:pointer;color:var(--text-dim);width:100%}.add-row:hover{border-color:#a1a1aa;color:var(--text)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{border:1px solid var(--border);border-radius:7px;padding:8px 16px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:var(--panel);color:var(--text)}.btn:hover{border-color:#a1a1aa}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-primary:hover{background:#3f3f46}.btn:disabled{opacity:.5;cursor:default}.error-msg{color:var(--danger);font-size:13px;margin-top:10px}.preview-panel{position:-webkit-sticky;position:sticky;top:24px}.preview-panel .preview-head{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:8px}.preview-frame{width:100%;height:calc(100vh - 120px);min-height:600px;border:1px solid var(--border);border-radius:10px;background:#fff}.preview-empty{border:1px dashed var(--border);border-radius:10px;padding:60px 20px;text-align:center}.back-link,.preview-empty{color:var(--text-dim);font-size:13px}.back-link{display:inline-block;margin-bottom:16px}.back-link:hover{color:var(--text)}