:root{--bg-0:#0a0c0f;--bg-1:#0f1216;--bg-2:#151a20;--bg-3:#1b212a;--bg-4:#222a34;--line:#262e39;--line-2:#333d4a;--tx-0:#eef2f7;--tx-1:#aab4c2;--tx-2:#6f7a8a;--spark:#ff7a3c;--spark-2:#ffab5e;--spark-glow:#ff7a3c59;--blue:#5cb8ff;--green:#4ecb8f;--purple:#b98cff;--yellow:#ffd166;--danger:#ff6b6b;--radius:12px;--mono:"SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif}body.light{--bg-0:#eef0f4;--bg-1:#fff;--bg-2:#f6f7f9;--bg-3:#eceff3;--bg-4:#e1e6ee;--line:#e4e8ee;--line-2:#d1d8e2;--tx-0:#161b22;--tx-1:#495260;--tx-2:#8894a4;--spark-glow:#ff7a3c40}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 80% -10%, #ff7a3c14, transparent 60%), var(--bg-0);color:var(--tx-0);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px}body.light{background:radial-gradient(1200px 600px at 80% -10%, #ff7a3c1a, transparent 60%), var(--bg-0)}kbd{font-family:var(--mono);background:var(--bg-3);border:1px solid var(--line-2);color:var(--tx-1);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px}body.light kbd{color:var(--tx-1);background:#fff}.btn{border:1px solid var(--line-2);background:var(--bg-3);color:var(--tx-0);cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:8px 13px;font-family:inherit;font-size:12.5px;font-weight:560;display:inline-flex}.btn:hover{background:var(--bg-4)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(145deg, var(--spark), #e5601f);color:#1a0e06;box-shadow:0 4px 16px -6px var(--spark-glow);border-color:#0000}body.light .btn.primary{color:#fff}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{color:var(--tx-1);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-3);color:var(--tx-0)}.btn.danger{color:var(--danger);border-color:#ff6b6b4d}.btn kbd{background:#00000040;border-color:#ffffff26}.btn.primary kbd{color:#3a1e0c;background:#0000002e;border-color:#0003}.split{display:inline-flex}.split .btn{border-top-right-radius:0;border-bottom-right-radius:0}.split .caret{border-left:1px solid #0003;border-top-left-radius:0;border-bottom-left-radius:0;padding:8px 9px}.icon-btn{width:30px;height:30px;color:var(--tx-1);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-3);color:var(--tx-0)}.inp,.sel,textarea.inp{background:var(--bg-1);border:1px solid var(--line-2);width:100%;color:var(--tx-0);border-radius:9px;outline:none;padding:9px 11px;font-family:inherit;font-size:13px}.inp:focus,textarea.inp:focus,.sel:focus{border-color:var(--spark);box-shadow:0 0 0 3px var(--spark-glow)}textarea.inp{font-family:var(--mono);resize:vertical;min-height:90px;font-size:12.5px;line-height:1.6}label.f{color:var(--tx-1);margin:14px 0 6px;font-size:11px;font-weight:550;display:block}label.f:first-of-type{margin-top:0}.hint{color:var(--tx-2);margin-top:5px;font-size:11px}.req{color:var(--spark);margin-left:5px;font-size:10px;font-weight:600}.seg{background:var(--bg-1);border:1px solid var(--line-2);border-radius:9px;padding:3px;display:inline-flex}.seg button{color:var(--tx-1);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px}.seg button.on{background:var(--spark);color:#1a0e06;font-weight:600}body.light .seg button.on{color:#fff}.tag{color:var(--tx-1);background:var(--bg-3);border:1px solid var(--line);font-size:10px;font-family:var(--mono);border-radius:20px;padding:1px 7px}.badge-team{color:var(--blue);background:#5cb8ff24;border:1px solid #5cb8ff4d;border-radius:20px;padding:1px 5px;font-size:9px}.tpl-badge{color:var(--purple);background:#b98cff1f;border:1px solid #b98cff4d;border-radius:20px;padding:0 5px;font-size:9px;font-weight:600}.pill{border-radius:20px;align-items:center;gap:5px;padding:2px 9px;font-size:10.5px;display:inline-flex}.pill.owner{color:var(--spark-2);background:#ff7a3c24;border:1px solid #ff7a3c4d}.pill.editor{color:var(--green);background:#4ecb8f1f;border:1px solid #4ecb8f4d}.pill.viewer{color:var(--tx-1);border:1px solid var(--line-2);background:#6f7a8a24}.toggle{background:var(--bg-4);border:1px solid var(--line-2);cursor:pointer;border-radius:20px;flex:none;width:42px;height:24px;padding:0;position:relative}.toggle.on{background:var(--spark)}.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .15s;position:absolute;top:2px;left:2px}.toggle.on:after{left:20px}.callout{color:var(--tx-1);background:#5cb8ff14;border:1px solid #5cb8ff40;border-radius:10px;gap:10px;padding:12px 14px;font-size:12px;line-height:1.55;display:flex}.callout .i{color:var(--blue)}.var{color:var(--spark-2);background:#ff7a3c1f;border:1px solid #ff7a3c4d;border-radius:5px;padding:0 3px}.avatar{color:#0b0d10;vertical-align:middle;border-radius:50%;place-items:center;width:28px;height:28px;margin-right:9px;font-size:11px;font-weight:600;display:inline-grid}.hidden{display:none!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-2);background-clip:padding-box;border:2px solid #0000;border-radius:10px}::-webkit-scrollbar-track{background:0 0}.app-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.titlebar{background:linear-gradient(180deg, var(--bg-2), var(--bg-1));border-bottom:1px solid var(--line);-webkit-app-region:drag;flex:0 0 40px;align-items:center;gap:8px;height:40px;padding:0 14px;display:flex}.titlebar.tauri{padding-left:82px}.tl{border-radius:50%;width:12px;height:12px}.tl.r{background:#ff5f57}.tl.y{background:#febc2e}.tl.g{background:#28c840}.titlebar .tt{color:var(--tx-2);font-size:12px;font-family:var(--mono);pointer-events:none;margin-left:8px}.titlebar .tb-right{align-items:center;gap:4px;margin-left:auto;display:flex}.titlebar .icon-btn{-webkit-app-region:no-drag}.workspace{flex:1;min-height:0;display:flex}.side{border-right:1px solid var(--line);background:var(--bg-1);flex-direction:column;flex:0 0 224px;gap:2px;width:224px;padding:12px 10px;display:flex;overflow:auto}.brand-row{align-items:center;gap:9px;padding:2px 6px 12px;display:flex}.brand-logo{background:linear-gradient(145deg, var(--spark), #e0561c);width:26px;height:26px;box-shadow:0 0 16px var(--spark-glow);border-radius:7px;place-items:center;font-size:15px;display:grid}.brand-row b{font-size:14px}.search-mini{background:var(--bg-2);border:1px solid var(--line);color:var(--tx-2);cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:7px 10px;font-family:inherit;font-size:12.5px;display:flex}.search-mini:hover{border-color:var(--line-2)}.search-mini kbd{margin-left:auto}.side-lbl{text-transform:uppercase;letter-spacing:.8px;color:var(--tx-2);padding:12px 8px 5px;font-size:10.5px}.vault{color:var(--tx-1);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:7px 9px;font-family:inherit;font-size:13px;display:flex}.vault:hover{background:var(--bg-2)}.vault.active{background:var(--bg-3);color:var(--tx-0)}.vault .ic{text-align:center;width:16px}.vault .count{color:var(--tx-2);font-size:11px;font-family:var(--mono);margin-left:auto}.vault .badge-team{margin-left:auto}.side-nav{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:auto;padding-top:10px;display:flex}.main{background:var(--bg-1);flex:1;min-width:0;display:flex}.list{border-right:1px solid var(--line);background:var(--bg-1);flex-direction:column;flex:0 0 300px;width:300px;display:flex;overflow:auto}.list-head{border-bottom:1px solid var(--line);background:var(--bg-1);z-index:2;justify-content:space-between;align-items:center;padding:12px 14px;display:flex;position:sticky;top:0}.list-head b{font-size:13px}.list-head .sub{color:var(--tx-2);font-size:11px}.list-scroll{overflow:auto}.pcard{border-bottom:1px solid var(--line);cursor:pointer;border-left:2px solid #0000;padding:11px 14px}.pcard:hover{background:var(--bg-2)}.pcard.active{background:var(--bg-2);border-left-color:var(--spark)}.pcard .t{align-items:center;gap:7px;margin-bottom:4px;font-size:13px;font-weight:550;display:flex}.pcard .t .star{color:var(--yellow);font-size:11px}.pcard .ex{color:var(--tx-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.pcard .tags{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.empty{text-align:center;color:var(--tx-2);padding:40px 20px;font-size:12.5px}.detail{background:var(--bg-1);flex-direction:column;flex:1;min-width:0;display:flex}.detail-head{border-bottom:1px solid var(--line);padding:16px 20px 12px}.detail-head .row1{align-items:center;gap:9px;display:flex}.detail-head h3{margin:0;font-size:16px;font-weight:640}.detail-head .meta{color:var(--tx-2);flex-wrap:wrap;gap:14px;margin-top:9px;font-size:11px;display:flex}.detail-head .meta b{color:var(--tx-1);font-weight:550}.detail-body{flex:1;padding:18px 20px;overflow:auto}.md{font-family:var(--mono);color:var(--tx-1);white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.7}.detail-foot{border-top:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.view{flex:1;padding:24px 28px;overflow:auto}.view-head{margin-bottom:18px}.view-head h2{margin:0;font-size:18px;font-weight:650}.view-head p{color:var(--tx-2);max-width:720px;margin:5px 0 0;font-size:12.5px;line-height:1.6}.grid2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.panel h4{margin:0 0 3px;font-size:14px}.panel .desc{color:var(--tx-2);margin:0 0 14px;font-size:11.5px;line-height:1.5}.launcher-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:radial-gradient(900px 400px at 50% -10%,#ff7a3c1a,#0000 60%),#06080bb8;justify-content:center;padding-top:12vh;display:flex;position:fixed;inset:0}.launcher{background:var(--bg-2);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;width:640px;max-width:92vw;height:fit-content;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 40px 80px -20px #000c,inset 0 0 0 1px #ffffff08}.l-in{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 18px;display:flex}.l-in .mag{color:var(--tx-2);font-size:17px}.l-in input{color:var(--tx-0);font-size:17px;font-family:var(--sans);background:0 0;border:0;outline:0;flex:1}.l-in .scope{color:var(--blue);background:#5cb8ff1f;border:1px solid #5cb8ff4d;border-radius:20px;padding:3px 8px;font-size:10.5px}.l-results{padding:6px;overflow:auto}.l-sec{text-transform:uppercase;letter-spacing:.8px;color:var(--tx-2);padding:10px 12px 5px;font-size:10px}.l-row{cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;display:flex}.l-row.active{background:var(--bg-3)}.l-row .lic{background:var(--bg-4);border-radius:7px;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.l-row .lt{font-size:13.5px;font-weight:550}.l-row .lx{color:var(--tx-2);font-size:11px}.l-row .rt{align-items:center;gap:7px;margin-left:auto;display:flex}.l-row.active .rt kbd{border-color:var(--spark);color:var(--spark-2)}.l-foot{border-top:1px solid var(--line);color:var(--tx-2);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;font-size:11px;display:flex}.l-foot b{color:var(--tx-1);font-weight:500}.l-foot .sp{margin-left:auto}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:120;background:#06080bb8;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.modal{background:var(--bg-2);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;width:540px;max-width:94vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 40px 80px -20px #000c}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 20px;display:flex}.modal-head h4{margin:0;font-size:15px}.modal-head .close{color:var(--tx-2);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:15px}.modal-body{padding:18px 20px;overflow:auto}.modal-foot{border-top:1px solid var(--line);background:var(--bg-1);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 20px;display:flex}.preview{background:var(--bg-1);border:1px dashed var(--line-2);font-family:var(--mono);color:var(--tx-1);white-space:pre-wrap;word-break:break-word;border-radius:9px;margin-top:14px;padding:12px 14px;font-size:12px;line-height:1.6}.preview .fill{color:var(--green)}.chain{flex-direction:column;display:flex}.chain-step{background:var(--bg-2);border:1px solid var(--line);border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.chain-step .num{background:var(--bg-4);border:1px solid var(--line-2);width:26px;height:26px;font-size:12px;font-family:var(--mono);color:var(--spark-2);border-radius:50%;flex:0 0 26px;place-items:center;display:grid}.chain-step .cs-t{font-size:13.5px;font-weight:560}.chain-step .cs-x{color:var(--tx-2);margin-top:3px;font-size:11.5px;line-height:1.5}.chain-io{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.io-pill{font-size:10px;font-family:var(--mono);border:1px solid var(--line-2);color:var(--tx-1);background:var(--bg-1);border-radius:20px;padding:2px 8px}.io-pill.in{color:var(--blue);background:#5cb8ff1a;border-color:#5cb8ff4d}.io-pill.out{color:var(--green);background:#4ecb8f1a;border-color:#4ecb8f4d}.chain-conn{background:var(--line-2);width:2px;height:22px;margin:0 0 0 27px;position:relative}.chain-conn:after{content:"↓";color:var(--tx-2);font-size:12px;position:absolute;top:2px;left:-6px}.chain-out{background:var(--bg-1);border:1px solid var(--line);font-family:var(--mono);color:var(--tx-1);white-space:pre-wrap;border-radius:8px;margin-top:8px;padding:10px 12px;font-size:11.5px}.members{border-collapse:collapse;width:100%}.members th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--tx-2);border-bottom:1px solid var(--line);padding:8px 10px;font-size:10.5px;font-weight:600}.members td{border-bottom:1px solid var(--line);padding:11px 10px;font-size:13px}.role{border:1px solid var(--line-2);background:var(--bg-3);color:var(--tx-1);border-radius:20px;padding:3px 10px;font-family:inherit;font-size:11px}.tokrow{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.stat{background:var(--bg-1);border:1px solid var(--line);border-radius:11px;flex:1;min-width:110px;padding:14px 16px}.stat .n{font-size:24px;font-weight:680;font-family:var(--mono)}.stat .k{color:var(--tx-2);margin-top:3px;font-size:11px}.stat .n.spark{color:var(--spark-2)}.stat .n.blue{color:var(--blue)}.stat .n.green{color:var(--green)}.modeltable{border-collapse:collapse;width:100%;margin-top:8px}.modeltable th{text-transform:uppercase;letter-spacing:.6px;color:var(--tx-2);text-align:left;border-bottom:1px solid var(--line);padding:8px;font-size:10.5px}.modeltable td{border-bottom:1px solid var(--line);font-size:12.5px;font-family:var(--mono);padding:10px 8px}.modeltable td.name{font-family:var(--sans)}.enh-mode{flex-wrap:wrap;gap:8px;margin:4px 0 6px;display:flex}.enh-mode .m{border:1px solid var(--line-2);background:var(--bg-1);cursor:pointer;color:var(--tx-1);border-radius:8px;padding:6px 12px;font-size:12px}.enh-mode .m.on{border-color:var(--spark);color:var(--spark-2);background:#ff7a3c1a}.diff-add{color:#a7e9c9;background:#4ecb8f24;border-radius:3px}.set-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:14px 0;display:flex}.set-row:last-child{border-bottom:0}.set-row .st{flex:1}.set-row .st b{font-size:13px;display:block}.set-row .st span{color:var(--tx-2);font-size:11.5px}.hkey{gap:5px;display:flex}.toasts{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-3);border:1px solid var(--line-2);color:var(--tx-0);border-radius:10px;padding:10px 16px;font-size:12.5px;animation:.15s toastin;box-shadow:0 12px 30px -12px #000000b3}.toast.success{border-color:#4ecb8f80}.toast.error{border-color:#ff6b6b80}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}}.web{color:#1c2430;background:#fbfaf8;min-height:100vh}.web-top{color:#fff;background:#12151a;align-items:center;gap:10px;padding:12px 22px;font-size:13px;display:flex}.web-top .logo{background:linear-gradient(145deg, var(--spark), #e0561c);border-radius:6px;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.web-top .wr{gap:14px;margin-left:auto;display:flex}.web-top .wr a{color:#c9d1db;font-size:12px;text-decoration:none}.web-body{max-width:720px;margin:0 auto;padding:34px 44px}.web-body .crumb{color:#8a94a3;font-size:12px}.web-body h1{color:#0f1622;margin:8px 0 6px;font-size:26px}.web-meta{color:#6b7686;flex-wrap:wrap;gap:16px;margin-bottom:22px;font-size:12px;display:flex}.web-card{font-family:var(--mono);color:#2a333f;white-space:pre-wrap;background:#fff;border:1px solid #e6e3dd;border-radius:12px;padding:20px 22px;font-size:13px;line-height:1.75;box-shadow:0 1px 2px #0000000a}.web-card .var{color:#c85a1c;background:#fdf0e6;border:1px solid #f3d3bd}.web-vars{flex-direction:column;gap:10px;margin:20px 0;display:flex}.web-vars .vrow{align-items:center;gap:10px;font-size:13px;display:flex}.web-vars .vk{font-family:var(--mono);color:#c85a1c;background:#fdf0e6;border:1px solid #f3d3bd;border-radius:6px;padding:2px 8px;font-size:12px}.web-cta{flex-wrap:wrap;gap:10px;margin:26px 0 8px;display:flex}.wbtn{color:#1c2430;cursor:pointer;background:#fff;border:1px solid #d8d3ca;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:600}.wbtn.primary{background:linear-gradient(145deg, var(--spark), #e5601f);color:#fff;border-color:#0000}.web-note{color:#8a94a3;margin-top:12px;font-size:12px}.loading{height:100vh;color:var(--tx-2);place-items:center;font-size:13px;display:grid}.spinner{border:2px solid var(--line-2);border-top-color:var(--spark);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.spacer{margin-left:auto}
