.heroapp{--hv-bg:#0a0a0a;--hv-panel:#171717;--hv-rail:#131313;--hv-elev:#262626;--hv-pop:#121212;--hv-pop2:#181818;--hv-line:#ffffff1a;--hv-line-soft:#ffffff12;--hv-fg:#fafafa;--hv-mut:#a1a1a1;--hv-mut2:#6e6e6e;--hv-blue:#2563eb;--hv-run:#3b82f6;--hv-emerald:#10b981;--hv-amber:#f59e0b;--hv-red:#ef4444;--hv-font:"Geist", var(--font,"Inter"), ui-sans-serif, system-ui, sans-serif;--hv-mono:"Geist Mono", var(--mono,"JetBrains Mono"), ui-monospace, monospace;width:min(1280px,100vw - 48px);margin-left:50%;transform:translate(-50%)}.heroapp,.heroapp *{box-sizing:border-box;scrollbar-width:none}.heroapp ::-webkit-scrollbar{display:none}.hv-tour{-webkit-overflow-scrolling:touch;margin:0 auto 16px;display:flex;overflow-x:auto}.hv-tour-in{isolation:isolate;backdrop-filter:blur(12px)saturate(185%)contrast(108%);background:linear-gradient(#ffffff09,#ffffff02),#05070947;border:1px solid #ffffff1b;border-radius:999px;flex:none;gap:3px;margin-inline:auto;padding:6px 7px 8px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff17,inset 0 -1px #ffffff06,0 14px 38px #0000003d,0 2px 8px #0000003d}.hv-tour-in:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(58% 150% at 9% -70%,#ffffff17,#0000 55%),radial-gradient(42% 140% at 92% 170%,#4a8fff0b,#0000 68%);position:absolute;inset:1px}.hv-tourbtn{appearance:none;z-index:1;letter-spacing:.01em;color:#dee2eaa8;cursor:pointer;text-shadow:0 1px 1px #0000006b;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 15px;font-family:inherit;font-size:12.5px;font-weight:520;transition:color .18s cubic-bezier(.22,1,.36,1),background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1);position:relative}.hv-tourbtn:hover{color:#f7f8f8;background:#ffffff09;border-color:#ffffff0d}.hv-tourbtn:active{transform:scale(.975)}.hv-tourbtn:focus-visible{outline-offset:2px;outline:2px solid #78b5ffd1}.hv-tourbtn[aria-selected=true]{color:#fffffffa;backdrop-filter:blur(11px)saturate(195%)brightness(108%);background:radial-gradient(110% 190% at 14% -75%,#ffffff13,#0000 49%),linear-gradient(118deg,#ffffff06,#ffffff02 48%,#7eb1ff07),#080a0d38;border-color:#ffffff1b;box-shadow:inset 0 1px #ffffff1b,inset 1px 0 #ffffff0b,inset -1px 0 #7ab1ff0a,inset 0 -1px #00000038,0 7px 18px #0003}.hv-tour-prog{background:#ffffff14;border-radius:2px;height:2px;position:absolute;bottom:0;left:14px;right:14px}.hv-tour-prog span{background:#ffffffd1;border-radius:2px;width:0%;height:100%;display:block;box-shadow:0 0 10px #fff3}.hv-frame{background:var(--hv-bg);border:1px solid #ffffff26;border-radius:10px;margin:0;position:relative;overflow:hidden;box-shadow:0 0 0 5px #030405db,0 0 0 7px #ffffff0e,0 28px 72px #0000009e}.hv-frame:after{content:"";border-radius:inherit;pointer-events:none;z-index:60;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff14}.hv-viewport{aspect-ratio:1080/678;background:var(--hv-bg);position:relative;overflow:hidden}.hv-stage{width:1080px;height:678px;font-family:var(--hv-font);color:var(--hv-fg);background:var(--hv-bg);-webkit-font-smoothing:antialiased;pointer-events:none;user-select:none;flex-direction:column;display:flex;position:absolute;top:0;left:0}.hv-ib,.hv-ib-s,.hv-ib-xs{color:var(--hv-mut);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hv-ib{width:25px;height:25px}.hv-ib svg{width:11.5px;height:11.5px}.hv-ib-s{width:19px;height:19px}.hv-ib-s svg{width:10px;height:10px}.hv-ib-xs{width:18px;height:18px}.hv-ib-xs svg{width:10px;height:10px}.hv-div{background:var(--hv-line);flex-shrink:0;width:1px;height:11px;margin:0 2.5px}.hv-tdiv{background:var(--hv-line);flex-shrink:0;width:1px;height:14px;margin:0 3px}.hv-top{border-bottom:1px solid var(--hv-line-soft);background:var(--hv-bg);z-index:5;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:34px;padding:0 8px 0 10px;display:grid;position:relative}.hv-top-left{align-items:center;gap:4px;min-width:0;display:flex}.hv-brand{letter-spacing:-.01em;color:var(--hv-fg);align-items:center;gap:5px;font-size:10px;font-weight:600;display:inline-flex}.hv-brand svg{width:14px;height:14px}.hv-top-sep{color:#a1a1a180;display:inline-flex}.hv-top-sep svg{width:10px;height:10px}.hv-proj{color:var(--hv-mut);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4.5px;font-size:10px;display:inline-flex;overflow:hidden}.hv-proj-dot{background:#e2543e;border-radius:50%;flex-shrink:0;width:5.5px;height:5.5px}.hv-seg{border:1px solid var(--hv-line);background:#26262666;border-radius:6px;align-items:center;padding:1.5px;display:flex}.hv-seg-btn{height:20px;color:var(--hv-mut);border-radius:4.5px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.hv-seg-btn svg{width:11.5px;height:11.5px}.hv-seg-btn.is-on{background:var(--hv-elev);color:var(--hv-fg);box-shadow:0 1px 2px #00000059}.hv-top-right{justify-content:flex-end;align-items:center;gap:1px;display:flex}.hv-compile{border-radius:4.5px;align-items:stretch;height:20px;margin-right:3px;display:inline-flex;overflow:hidden;box-shadow:0 1px 2px #00000059}.hv-cp-main{background:var(--hv-blue);color:#fff;align-items:center;gap:4px;padding:0 8px;font-size:8.5px;font-weight:500;display:inline-flex}.hv-cp-main svg{width:9.5px;height:9.5px}.hv-cp-chev{background:var(--hv-blue);border-left:1px solid #ffffff40;align-items:center;padding:0 4px;display:inline-flex}.hv-cp-chev svg{color:#fff;width:9.5px;height:9.5px}.hv-cp-spin{border:1.3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:9px;height:9px;animation:.8s linear infinite hv-rotate;display:none}.heroapp[data-scene=project]:not([data-compiled]) #hvCompile .hv-cp-main,.heroapp[data-recompiling] #hvCompile .hv-cp-main,.heroapp[data-ai-compiling] #hvCompile .hv-cp-main{opacity:.55}.heroapp[data-scene=project]:not([data-compiled]) #hvCompile .hv-cp-spin,.heroapp[data-recompiling] #hvCompile .hv-cp-spin,.heroapp[data-ai-compiling] #hvCompile .hv-cp-spin{display:inline-block}.heroapp[data-scene=project]:not([data-compiled]) #hvCompile .hv-cp-re,.heroapp[data-recompiling] #hvCompile .hv-cp-re,.heroapp[data-ai-compiling] #hvCompile .hv-cp-re{display:none}.hv-cp-re{display:inline-flex}.hv-gh{border-radius:4.5px;align-items:center;gap:4.5px;height:25px;padding:0 6px 0 3px;display:inline-flex}.hv-avatar-img{object-fit:cover;border-radius:50%;flex-shrink:0;width:14px;height:14px;display:block}.hv-gh-name{color:var(--hv-fg);font-size:8.5px;font-weight:500}.hv-menu{z-index:30;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:5px;padding:3px;display:none;position:absolute;top:32px;box-shadow:0 14px 40px #0009}.hv-menu-compile{width:182px;right:216px}.hv-menu-export{width:170px;right:174px}.heroapp[data-pop=compile] .hv-menu-compile,.heroapp[data-pop=export] .hv-menu-export{display:block}.hv-mlabel{color:var(--hv-mut);align-items:center;gap:4px;padding:4px 6px 3px;font-size:8.5px;font-weight:500;display:flex}.hv-minfo{display:inline-flex}.hv-minfo svg{color:#a1a1a199;width:8px;height:8px}.hv-mrow{color:var(--hv-fg);white-space:nowrap;border-radius:3px;align-items:center;padding:4px 6px;font-size:9.5px;display:flex;position:relative}.hv-mradio{padding-left:21px}.hv-mdot{background:var(--hv-blue);opacity:0;border-radius:50%;width:5.5px;height:5.5px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.hv-mradio.is-on .hv-mdot,.heroapp[data-autocompile] #hvAcOn .hv-mdot{opacity:1}.heroapp[data-autocompile] #hvAcOff .hv-mdot{opacity:0}.hv-msuf{color:var(--hv-mut);margin-left:4px}.hv-msep{background:var(--hv-line-soft);height:1px;margin:3px 1px}.hv-mrow.is-disabled{opacity:.4}.hv-mitem{gap:6px}.hv-mic{flex-shrink:0;display:inline-flex}.hv-mic svg{width:10.5px;height:10.5px;color:var(--hv-mut)}.hv-mrow.is-hover{background:var(--hv-elev)}.hv-body{flex:1;min-height:0;display:flex;position:relative}.hv-rail{border-right:1px solid var(--hv-line-soft);background:var(--hv-rail);flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:34px;padding:6px 0;display:flex}.hv-railbtn{width:25px;height:25px;color:var(--hv-mut);border-radius:4.5px;justify-content:center;align-items:center;display:inline-flex}.hv-railbtn svg{width:13.5px;height:13.5px}.hv-railbtn.is-active{color:var(--hv-fg);background:#2563eb1a}.hv-rsep{background:var(--hv-line);width:17px;height:1px;margin:3px 0}.hv-rail-spacer{flex:1}.hv-scene{flex:1;min-width:0;min-height:0;display:none;position:relative}.heroapp[data-scene=project] .hv-scene[data-scene=project],.heroapp[data-scene=assistant] .hv-scene[data-scene=assistant],.heroapp[data-scene=diagram] .hv-scene[data-scene=diagram],.heroapp[data-scene=cite] .hv-scene[data-scene=cite],.heroapp[data-scene=history] .hv-scene[data-scene=history],.heroapp[data-scene=polish] .hv-scene[data-scene=polish],.heroapp[data-scene=home] .hv-scene[data-scene=home]{animation:.4s cubic-bezier(.2,.7,.3,1) hv-scene-in;display:flex}.hv-fullbleed{z-index:6;background:var(--hv-bg);flex-direction:column;position:absolute;inset:-34px 0 0}@keyframes hv-scene-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hv-tree{width:calc(var(--treew,0) * 1px);background:var(--hv-panel);border-right:0 solid var(--hv-line-soft);flex-shrink:0;min-width:0;overflow:hidden}.heroapp[data-tree] .hv-tree{border-right-width:1px}.hv-tree-in{width:calc(var(--treeinw,241) * 1px);flex-direction:column;height:100%;display:flex}.hv-tsplit{flex-shrink:0;justify-content:center;align-items:center;width:7px;display:flex}.heroapp:not([data-tree]) .hv-tsplit{display:none}.hv-panel-head{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;gap:5px;height:25.5px;padding:0 8px;display:flex}.hv-ph-ic{color:var(--hv-mut);display:inline-flex}.hv-ph-ic svg{width:10px;height:10px}.hv-ph-label{text-transform:uppercase;letter-spacing:.03em;color:#fafafab3;white-space:nowrap;flex:1;font-size:8.5px;font-weight:500;overflow:hidden}.hv-ph-actions{gap:1px;margin-left:auto;display:inline-flex}.hv-tree-files{padding:4px 5px}.hv-trow{height:22px;color:var(--hv-fg);white-space:nowrap;border-radius:4.5px;align-items:center;gap:4px;padding:0 5px 0 4px;font-size:9.5px;display:flex}.hv-trow.is-active{background:var(--hv-elev)}.hv-star-slot{flex-shrink:0;width:10px}.hv-star{width:10px;color:var(--hv-fg);flex-shrink:0;display:inline-flex}.hv-star svg{width:8.5px;height:8.5px}.hv-fic{flex-shrink:0;display:inline-flex}.hv-fic svg{width:11px;height:11px}.hv-trow-name{text-overflow:ellipsis;overflow:hidden}.hv-tree-grip{flex-shrink:0;justify-content:center;align-items:center;height:10px;margin-top:auto;display:flex}.hv-tree-grip span{background:var(--hv-line);border-radius:999px;width:18px;height:2.5px}.hv-structure{height:calc(var(--structh,240) * 1px);border-top:1px solid var(--hv-line-soft);flex-direction:column;flex-shrink:0;display:flex}.hv-struct-head{border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:4.5px;height:23px;padding:0 7px;display:flex}.hv-ph-label2{text-transform:uppercase;letter-spacing:.08em;color:#fafafabf;font-size:8px;font-weight:600}.hv-schev{color:var(--hv-mut);flex-shrink:0;display:inline-flex}.hv-schev svg{width:8.5px;height:8.5px}.hv-count{background:var(--hv-elev);font-family:var(--hv-mono);color:var(--hv-mut);border-radius:2px;margin-left:auto;padding:0 3px;font-size:6.5px;line-height:11px}.hv-filter{color:#a1a1a1bf;background:#0a0a0ab3;border:1px solid #ffffff26;border-radius:4.5px;flex-shrink:0;align-items:center;gap:4.5px;height:20px;margin:5px 6px;padding:0 6px;font-size:8.5px;display:flex}.hv-filter svg{width:9px;height:9px;color:var(--hv-mut)}.hv-struct-rows{padding:1px 5px;overflow:hidden}.hv-srow{min-height:20px;color:var(--hv-fg);white-space:nowrap;border-radius:3.5px;align-items:center;gap:4.5px;padding:0 5px 0 4px;font-size:9.2px;display:flex}.hv-srow.ind{padding-left:14px}.hv-srow.ind2{padding-left:24px}.hv-sbullet{color:#a1a1a173;flex-shrink:0;margin:0 .5px;display:inline-flex}.hv-sbullet svg{width:7.5px;height:7.5px}.hv-sic{color:var(--hv-mut);flex-shrink:0;display:inline-flex}.hv-sic svg{width:9.5px;height:9.5px}.hv-srow-name{text-overflow:ellipsis;overflow:hidden}.hv-prov{font-family:var(--hv-mono);color:#a1a1a1cc;flex-shrink:0;margin-left:auto;font-size:6.5px}.hv-editor{background:var(--hv-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.hv-tabs{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;gap:2px;height:25px;padding:0 5px;display:flex}.hv-tab{height:20px;color:var(--hv-fg);white-space:nowrap;background:#1c1c1c;border-radius:4.5px;align-items:center;gap:5px;padding:0 8px;font-size:9px;display:inline-flex}.hv-tab-x{color:var(--hv-mut);display:inline-flex}.hv-tab-x svg{width:8px;height:8px}.hv-etb{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;gap:1px;height:25px;padding:0 5px;display:flex}.hv-etb .hv-div{height:9px;margin:0 2px}.hv-etb-type{gap:1px;width:auto;padding:0 3px}.hv-etb-type svg:last-child{width:7px;height:7px}.hv-etb-right{align-items:center;gap:1px;margin-left:auto;display:flex}.hv-code{min-height:0;font-family:var(--hv-mono);flex:1;padding:7px 0;font-size:9.2px;line-height:14.75px;position:relative;overflow:hidden}.hv-codein{transition:transform .6s cubic-bezier(.3,.7,.3,1)}.hv-cl{align-items:flex-start;min-width:0;display:flex}.hv-cl.is-active{background:#26262673}.hv-ln{text-align:right;color:#757575;flex-shrink:0;width:24px;font-size:9.2px}.hv-cl.is-active .hv-ln{color:var(--hv-fg)}.hv-mark{width:15px;height:14.75px;color:var(--hv-mut2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.hv-mark svg{width:9px;height:9px}.hv-mark-fold svg{width:8.5px;height:8.5px}.heroapp[data-fixed] .hv-mark-err{visibility:hidden}.hv-ct{white-space:pre-wrap;overflow-wrap:break-word;color:#ececec;flex:1;min-width:0;padding-right:10px}.t-cmd{color:#ff7b72}.t-br{color:#d2a8ff}.t-env{color:#7ee787}.t-key,.t-num{color:#79c0ff}.hv-ct .t-key{text-underline-offset:2px;text-decoration:underline .8px}.t-sp{text-underline-offset:2.5px;text-decoration:underline .8px wavy #d97706d1}.hv-editkey.is-selected{background:#2563eb59;border-radius:1px}.hv-type-caret{vertical-align:text-bottom;background:var(--hv-blue);width:1.2px;height:10px;margin-left:.5px;display:none}.hv-type-caret.is-typing{animation:1s step-end infinite hv-blink;display:inline-block}@keyframes hv-blink{50%{opacity:0}}@keyframes hv-caret{50%{opacity:0}}@keyframes hv-spin{to{transform:rotate(360deg)}}.hv-sb{background:#ffffff24;border-radius:999px;width:4px;height:40%;transition:transform .6s cubic-bezier(.3,.7,.3,1);position:absolute;top:4px;right:2px}.hv-vsplit{flex-shrink:0;justify-content:center;align-items:center;width:9px;display:flex}.hv-vthumb{background:var(--hv-line);border-radius:999px;width:2.5px;height:28px;transition:background .15s}.heroapp[data-dragging=tree] .hv-tsplit .hv-vthumb,.heroapp[data-dragging=pdf] .hv-vsplit .hv-vthumb,.heroapp[data-dragging=grip] .hv-tree-grip span{background:#737373}.hv-preview{width:calc(var(--pvw,517) * 1px);background:var(--hv-bg);flex-direction:column;flex-shrink:0;min-width:0;display:flex;position:relative}.hv-preview-static{flex:1.15}.hv-pv-bar{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;gap:4px;min-height:28px;padding:2px 6px;display:flex}.hv-logs{height:17px;color:var(--hv-mut);border-radius:4px;align-items:center;gap:4px;padding:0 6px;font-size:8.5px;font-weight:500;display:inline-flex}.hv-logs svg{width:10px;height:10px}.hv-status{font-variant-numeric:tabular-nums;color:var(--hv-emerald);align-items:center;gap:3px;font-size:7.5px;font-weight:500;display:inline-flex}.hv-status-ok{display:inline-flex}.hv-status-ok svg{width:10px;height:10px}.hv-status-spin{border:1.2px solid var(--hv-line);border-top-color:var(--hv-run);border-radius:50%;width:8px;height:8px;animation:.8s linear infinite hv-rotate;display:none}.heroapp[data-recompiling] .hv-scene[data-scene=project] .hv-status-ok{display:none}.heroapp[data-recompiling] .hv-scene[data-scene=project] .hv-status-spin{display:inline-block}.heroapp[data-recompiling] .hv-scene[data-scene=project] .hv-status-t{color:var(--hv-mut)}.hv-pv-right{align-items:center;gap:1px;margin-left:auto;display:flex}.hv-zoom{font-variant-numeric:tabular-nums;height:19px;color:var(--hv-mut);align-items:center;gap:2.5px;padding:0 4px;font-size:8.5px;display:inline-flex}.hv-zoom svg{width:7.5px;height:7.5px}.hv-pgnav{align-items:center;gap:2px;display:inline-flex}.hv-pgbox{background:var(--hv-bg);width:19px;height:16px;color:var(--hv-fg);border:1px solid #ffffff26;border-radius:3px;justify-content:center;align-items:center;font-size:7.8px;display:inline-flex}.hv-pgof{color:var(--hv-mut);white-space:nowrap;padding:0 2px;font-size:8.2px}.hv-pgmode{background:#ffffff0f;border-radius:4px;gap:1px;margin:0 2px;padding:1px;display:inline-flex}.hv-pgmode .hv-ib-s{width:16px;height:14px;color:var(--hv-mut2);border-radius:3px}.hv-pgmode .hv-ib-s svg{width:8px;height:8px}.hv-pgmode .is-on{background:var(--hv-panel);color:var(--hv-fg);box-shadow:0 1px 2px #0000004d}.heroapp:not([data-compiled]) .hv-scene[data-scene=project] .only-done,.heroapp[data-compiled] .hv-scene[data-scene=project] .only-boot{display:none}.hv-pv-body{background:var(--hv-panel);flex:1;min-height:0;position:relative;overflow:hidden}.hv-startup{z-index:3;flex-direction:column;justify-content:center;width:363px;max-width:88%;margin:0 auto;transition:opacity .35s;display:flex;position:absolute;inset:0}.heroapp[data-compiled] .hv-scene[data-scene=project] .hv-startup{opacity:0;visibility:hidden}.hv-su-head{align-items:center;gap:7px;display:flex}.hv-su-fic{color:var(--hv-mut);display:inline-flex}.hv-su-fic svg{width:11.5px;height:11.5px}.hv-su-title{background:linear-gradient(90deg,#fafafa 30%,#6a6a6a 50%,#fafafa 70%) 0 0/200% 100%;color:#0000;background-clip:text;font-size:10px;font-weight:600;animation:2s linear infinite hv-shimmer}@keyframes hv-shimmer{to{background-position:-200% 0}}.heroapp[data-scene=project]:not([data-compiled]) #hvCpLabel,.heroapp[data-recompiling] #hvCpLabel,.heroapp[data-ai-compiling] #hvCpLabel,.hv-home:not([data-home-compile=done]) .hv-created-compile-label,.hv-home:not([data-home-compile=done]) #hvHomeCompileTitle,.hv-diagram-scene[data-diagram-state=compiling] #hvDiagramCompileLabel,.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-compile-overlay>span:last-child,.hv-diagram-scene[data-diagram-state=recompile] #hvDiagramRecompileLabel{background:linear-gradient(90deg,#ffffff94 0% 40%,#fff 50%,#ffffff94 60% 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;color:#0000;background-clip:text;animation:1.6s linear infinite hv-shimmer}.hv-su-pulse{background:var(--hv-run);border-radius:50%;width:4.5px;height:4.5px;animation:1.6s infinite hv-pulse}@keyframes hv-pulse{50%{opacity:.35}}.hv-su-count{font-family:var(--hv-mono);color:var(--hv-mut);font-variant-numeric:tabular-nums;margin-left:auto;font-size:7.5px}.hv-su-bars{gap:3px;margin-top:8px;display:flex}.hv-su-bar{background:#a1a1a140;border-radius:999px;flex:1;height:3px;transition:background .5s}.hv-su-bar.done{background:var(--hv-emerald)}.hv-su-bar.run{background:var(--hv-run);animation:1.6s infinite hv-pulse}.hv-su-meta{font-family:var(--hv-mono);color:var(--hv-mut);margin-top:5px;font-size:7.5px}.hv-su-list{margin:9px 0 0;padding:0;list-style:none}.hv-su-item{align-items:center;gap:9px;padding:8px 0;display:flex}.hv-su-item+.hv-su-item{border-top:1px solid #ffffff0d}.hv-su-ic{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.hv-su-check{color:var(--hv-emerald);display:none}.hv-su-check svg{width:13px;height:13px}.hv-su-spin{border:1.4px solid #3b82f640;border-top-color:var(--hv-run);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite hv-rotate;display:none}.hv-su-dot{background:#a1a1a166;border-radius:50%;width:4.5px;height:4.5px;display:none}.hv-su-item.done .hv-su-check{display:inline-flex}.hv-su-item.run .hv-su-spin,.hv-su-item.q .hv-su-dot{display:inline-block}.hv-su-txt{flex-direction:column;gap:1px;min-width:0;display:flex}.hv-su-label{color:var(--hv-fg);font-size:8.5px;font-weight:500}.hv-su-item.q .hv-su-label{color:var(--hv-mut)}.hv-su-detail{color:var(--hv-mut);font-size:7.2px}.hv-su-status{font-family:var(--hv-mono);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-left:auto;font-size:7.2px}.hv-su-item.done .hv-su-status{color:var(--hv-emerald)}.hv-su-item.done .hv-su-status:before{content:"done"}.hv-su-item.run .hv-su-status{color:#60a5fa}.hv-su-item.run .hv-su-status:before{content:"running"}.hv-su-item.q .hv-su-status{color:#a1a1a1b3}.hv-su-item.q .hv-su-status:before{content:"queued"}.hv-pv-pages{flex-direction:column;align-items:center;gap:10px;height:100%;padding-top:10px;display:flex;overflow:hidden}.heroapp:not([data-compiled]) .hv-scene[data-scene=project] .hv-pv-pages{opacity:0;transform:translateY(6px)}.heroapp[data-compiled] .hv-scene[data-scene=project] .hv-pv-pages{opacity:1;transition:opacity .45s,transform .45s;transform:none}.hv-page{color:#111;zoom:var(--pgz,1.037);background:#fff;border-radius:1.5px;flex-shrink:0;width:456px;font-family:Times New Roman,Liberation Serif,Georgia,serif;box-shadow:0 2px 10px #00000080}.hv-preview-static .hv-page{zoom:.92}.hv-page1{height:590px;padding-top:24px;overflow:hidden}.hv-page2{height:590px;padding-top:20px;overflow:hidden}.hv-p-title{text-align:center;letter-spacing:.005em;font-size:17px;line-height:1.3}.hv-p-authors{text-align:center;margin-top:10px;font-size:8px;line-height:1.6}.hv-cols{gap:14px;margin-top:16px;padding:0 26px;display:flex}.hv-col{width:50%;min-width:0}.hv-p{text-align:justify;hyphens:auto;margin:3px 0;font-size:6.5px;line-height:1.5}.hv-p.ind{text-indent:8px}.hv-abs,.hv-abs i,.hv-abs b{font-weight:700}.hv-sec{text-align:center;letter-spacing:.02em;margin:10px 0 4.5px;font-size:7px}.hv-sec span{letter-spacing:.05em;font-size:5.6px}.hv-fcap{color:#1c1c1c;text-align:justify;margin:3px 0 7px;font-size:5.8px;line-height:1.4}.hv-eq{text-align:center;margin:9px 0 5px;font-size:7px;position:relative}.hv-eq .hv-eqn{position:absolute;top:0;right:0}.hv-eqss{vertical-align:baseline;width:.55em;height:1em;display:inline-block;position:relative}.hv-eqss sup,.hv-eqss sub{vertical-align:baseline;font-size:68%;line-height:1;position:absolute;left:.5px}.hv-eqss sup{top:-.35em}.hv-eqss sub{bottom:-.1em}.hv-cn:before{content:"[?]"}[data-fixed] .hv-cn:before{content:"[" attr(data-n) "]"}.hv-refq:before{content:" [?]"}[data-fixed] .hv-refq:before{content:""}.hv-refline{text-align:left;gap:3px;display:flex}.hv-refn{flex-shrink:0}.hv-fig1{width:100%;margin-top:2px;display:block}.hv-fig1 .f1-box rect{fill:#eef4fd;stroke:#333;stroke-width:.6px}.hv-fig1 .f1-arrow path{fill:none;stroke:#333;stroke-width:.7px}.hv-fig1 .f1-label text{fill:#111;font-family:inherit;font-size:5px}.hv-fig1 .f1-note{fill:#444;font-size:3.8px;font-style:italic}.hv-tcap{text-align:center;letter-spacing:.06em;margin-bottom:4px;font-size:6.2px}.hv-tcap span{letter-spacing:.02em;font-size:5.6px}.hv-table{border-collapse:collapse;width:100%;margin-bottom:7px;font-size:6px}.hv-table td{text-align:right;padding:1.8px 2px}.hv-table td:first-child{text-align:left}.hv-tr-head td{border-top:.7px solid #222;border-bottom:.5px solid #222}.hv-table tr:last-child td{border-bottom:.7px solid #222}.hv-fig2{width:100%;display:block}.hv-fig2 .f2-axis path{fill:none;stroke:#333;stroke-width:.6px}.hv-fig2 .f2-lab{fill:#111;font-family:inherit;font-size:4.4px}.hv-fig2 .f2-line{fill:none;stroke:#2456c9;stroke-width:1px}.hv-fig2 .f2-dash{fill:none;stroke:#e08a2e;stroke-width:.8px;stroke-dasharray:3 2.2}.hv-fig2 .f2-blue{fill:#2456c9;font-family:inherit;font-size:4.2px}.hv-fig2 .f2-orange{fill:#e08a2e;font-family:inherit;font-size:4.2px}.hv-zoommenu{z-index:30;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:5px;width:108px;padding:3px;display:none;position:absolute;top:29px;left:0;box-shadow:0 14px 40px #0009}.heroapp[data-pop=zoom] .hv-zoommenu{display:block}.hv-zrow{color:var(--hv-fg);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:3px;align-items:center;padding:3.5px 7px;font-size:9.5px;display:flex}.hv-zrow.is-hover{background:var(--hv-elev)}.hv-citepop{z-index:20;border:1px solid var(--hv-line);background:var(--hv-pop2);border-radius:7px;width:172px;display:none;position:absolute;overflow:hidden;box-shadow:0 10px 24px #0006,0 2px 6px #00000040}.heroapp[data-pop=cite] .hv-citepop{display:block}.hv-cp-head{color:var(--hv-fg);align-items:center;gap:4.5px;padding:7px 10px;font-size:8.5px;display:flex}.hv-cp-dot{background:#ff645f;border-radius:50%;flex-shrink:0;width:4.5px;height:4.5px}.hv-cp-sym{border-top:1px solid var(--hv-line);padding:6px 10px 7px}.hv-cp-title{color:var(--hv-fg);font-size:8.5px;font-weight:600}.hv-cp-detail{font-family:var(--hv-mono);color:#fafafabf;margin-top:3px;font-size:7.4px;line-height:1.55}.hv-toast{z-index:40;border:1px solid var(--hv-line);background:var(--hv-pop2);color:var(--hv-fg);opacity:0;pointer-events:none;border-radius:7px;align-items:center;gap:6px;padding:7px 11px;font-size:8.8px;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(8px);box-shadow:0 10px 28px #00000073}.heroapp[data-toast] .hv-toast{opacity:1;transform:none}.hv-toast-ic{color:var(--hv-emerald);display:inline-flex}.hv-toast-ic svg{width:11px;height:11px}.hv-cursor{z-index:50;opacity:0;will-change:transform;transition:transform .6s cubic-bezier(.25,.6,.2,1),opacity .3s;position:absolute;top:0;left:0;transform:translate(760px,400px)}.heroapp[data-cursor] .hv-cursor{opacity:1}.hv-cursor-arrow,.hv-cursor-hand{filter:drop-shadow(0 1px 2px #00000080);position:absolute}.hv-cursor-arrow{width:17px;height:17px;top:-3px;left:-5px}.hv-cursor-hand{width:19px;height:19px;display:none;top:-2px;left:-9px}.heroapp[data-cursor-pointer] .hv-cursor-arrow{display:none}.heroapp[data-cursor-pointer] .hv-cursor-hand{display:block}.hv-cursor-glow{background:radial-gradient(circle,#ffffff47,#0000 70%);border-radius:50%;width:28px;height:28px;position:absolute;top:-14px;left:-14px}.hv-cursor-ring{opacity:0;border:2px solid #60a5faf2;border-radius:50%;width:18px;height:18px;position:absolute;top:-9px;left:-9px;transform:scale(.4);box-shadow:0 0 0 2px #ffffff6b}.hv-cursor-ring.is-click{animation:.85s ease-out hv-ring}@keyframes hv-ring{0%{opacity:1;transform:scale(.3)}58%{opacity:.72}to{opacity:0;transform:scale(1.85)}}@keyframes hv-rotate{to{transform:rotate(360deg)}}.hv-assistant-scene{overflow:visible}.heroapp[data-scene=assistant] #hvRailFiles{color:var(--hv-mut);background:0 0}.heroapp[data-scene=assistant] #hvRailAssistant{color:var(--hv-fg);background:#2563eb1a}.heroapp[data-scene=assistant] .hv-cursor{z-index:150}.heroapp[data-scene=assistant] #hvSegSplit{color:var(--hv-mut);box-shadow:none;background:0 0}.heroapp[data-scene=assistant][data-ai-pane=pdf] #hvSegPdf,.heroapp[data-scene=assistant][data-ai-pane=references] #hvSegPdf,.heroapp[data-scene=assistant][data-ai-pane=code] #hvSegEdit{background:var(--hv-elev);color:var(--hv-fg);box-shadow:0 1px 2px #00000059}.hv-ai-chat{background:var(--hv-panel);flex-direction:column;flex-shrink:0;width:520px;min-width:0;display:flex;position:relative}.hv-ai-vsplit{background:var(--hv-bg);width:9px}.hv-ai-chat-head{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;justify-content:flex-end;align-items:center;gap:1px;height:25.5px;padding:0 6px;display:flex;position:relative}.hv-ai-chat-head>span{width:19px;height:19px;color:var(--hv-mut);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.hv-ai-chat-head>span svg{width:10px;height:10px}.hv-ai-usage{display:none!important}.hv-assistant-scene[data-chat=run] .hv-ai-usage,.hv-assistant-scene[data-chat=done] .hv-ai-usage{display:inline-flex!important}.hv-usage-popover{z-index:32;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:5px;width:182px;padding:8px;font-size:8px;display:none;position:absolute;top:25px;right:66px;box-shadow:0 12px 35px #000000a6}.hv-assistant-scene[data-ai-pop=usage] .hv-usage-popover{display:block}.hv-usage-popover section+section{border-top:1px solid var(--hv-line-soft);margin-top:8px;padding-top:8px}.hv-usage-popover section>b{font-size:8.5px}.hv-usage-popover section>strong{float:right;color:#34d399;font-weight:600}.hv-usage-popover dl{color:var(--hv-mut);grid-template-columns:1fr 1fr;gap:3px 8px;margin:5px 0 0;display:grid}.hv-usage-popover dt,.hv-usage-popover dd{margin:0}.hv-usage-popover dd{text-align:right;font-variant-numeric:tabular-nums}.hv-usage-popover>p{border-top:1px solid var(--hv-line-soft);color:var(--hv-mut);margin:8px 0 0;padding-top:6px;font-size:6.8px;line-height:1.55}.hv-ai-plan{border-bottom:1px solid var(--hv-line-soft);background:#0000002e;flex-shrink:0;padding:7px 10px 8px;display:none}.hv-assistant-scene[data-chat=run] .hv-ai-plan,.hv-assistant-scene[data-chat=done] .hv-ai-plan{display:block}.hv-ai-plan-label{letter-spacing:.07em;text-transform:uppercase;color:var(--hv-mut);margin-bottom:4px;font-size:6.8px;font-weight:600;display:block}.hv-ai-plan-row{min-height:14px;color:var(--hv-mut);align-items:flex-start;gap:5px;font-size:7.6px;line-height:1.45;display:flex}.hv-ai-plan-row i{background:#fafafa40;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-top:3.5px}.hv-ai-plan-row.is-doing{color:var(--hv-fg);font-weight:500}.hv-ai-plan-row.is-doing i{background:var(--hv-blue)}.hv-ai-plan-row.is-done{color:var(--hv-mut2);text-decoration:line-through}.hv-ai-plan-row.is-done i{background:var(--hv-emerald)}.hv-ai-chat-body{flex:1;min-height:0;position:relative;overflow:hidden}.hv-ai-connect,.hv-ai-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:18px;display:none;position:absolute;inset:0}.hv-assistant-scene[data-chat=connect] .hv-ai-connect,.hv-assistant-scene[data-chat=welcome] .hv-ai-welcome{display:flex}.hv-ai-orb{background:var(--hv-fg);width:35px;height:35px;color:var(--hv-bg);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.hv-ai-orb svg{width:18px;height:18px}.hv-ai-connect>b{margin-top:8px;font-size:10px;font-weight:500}.hv-ai-connect>p{width:230px;color:var(--hv-mut);margin:5px 0 7px;font-size:8.3px;line-height:1.48}.hv-connect-provider{background:var(--hv-blue);color:#fff;border-radius:5px;align-items:center;gap:5px;height:26px;padding:0 12px;font-size:9px;font-weight:500;display:inline-flex}.hv-connect-provider svg{width:10px;height:10px}.hv-ai-connect>small{color:var(--hv-mut);margin-top:8px;font-size:7.5px}.hv-ai-welcome{justify-content:center;padding-bottom:78px}.hv-ai-welcome>b{margin-top:8px;font-size:11.5px}.hv-ai-welcome>p{color:var(--hv-mut);margin:5px 0 8px;font-size:8.5px}.hv-ai-welcome>small{color:var(--hv-mut);align-items:center;gap:4px;margin-top:8px;font-size:7.5px;display:inline-flex}.hv-ai-welcome>small svg{width:9px;height:9px}.hv-ai-suggestions{flex-wrap:wrap;justify-content:center;gap:5px;max-width:450px;display:flex}.hv-ai-suggestions>span{color:#93c5fd;background:#1e40af29;border:1px solid #2563eb73;border-radius:999px;align-items:center;gap:5px;height:24px;padding:0 9px;font-size:8.4px;display:inline-flex}.hv-ai-suggestions svg{width:9px;height:9px}.hv-ai-run-scroll{scrollbar-width:thin;height:100%;padding:8px;font-size:8.4px;line-height:1.5;display:none;overflow:hidden}.hv-assistant-scene[data-chat=run] .hv-ai-run-scroll,.hv-assistant-scene[data-chat=done] .hv-ai-run-scroll{display:block}.hv-ai-user-message{background:var(--hv-blue);color:#fff;border-radius:7px;width:max-content;max-width:80%;margin-left:auto;padding:6px 9px;font-size:9px}[data-ai-step]{display:none}[data-ai-step].is-visible{display:flex}.hv-ai-thought{border:1px solid var(--hv-line);color:var(--hv-mut);background:#2626269e;border-radius:5px;flex-direction:column;margin-top:6px;overflow:hidden}.hv-ai-thought-head{align-items:center;gap:5px;min-height:20px;padding:0 7px;display:flex}.hv-ai-thought-head>span{display:inline-flex}.hv-ai-thought-head svg{width:9px;height:9px}.hv-ai-thought.is-thinking .hv-ai-thought-head>span{animation:.75s ease-in-out infinite alternate hv-think-pulse}@keyframes hv-think-pulse{to{color:#60a5fa;filter:drop-shadow(0 0 3px #60a5faa6)}}.hv-ai-thought-head b{font-weight:400}.hv-ai-thought-head i{margin-left:auto;display:inline-flex}.hv-ai-thought.is-expanded .hv-ai-thought-head i{transform:rotate(90deg)}.hv-ai-thought-body{border-top:1px solid var(--hv-line-soft);color:#a1a1a1d1;padding:3px 7px 8px;font-size:7.6px;line-height:1.55}.hv-ai-tool{border:1px solid var(--hv-line);background:#262626ad;border-radius:5px;align-items:center;gap:6px;min-height:21px;margin-top:5px;padding:0 7px}.hv-ai-tool>span,.hv-ai-tool>i,.hv-ai-tool>b{display:inline-flex}.hv-ai-tool svg{width:9px;height:9px}.hv-ai-tool>span{color:var(--hv-mut)}.hv-ai-tool>code{font-family:var(--hv-mono);color:#fafafadb;font-size:8.3px}.hv-ai-tool>i{color:var(--hv-emerald)}.hv-ai-tool.is-running>i{border:1.2px solid #3b82f640;border-top-color:#60a5fa;border-radius:50%;width:8px;height:8px;animation:.65s linear infinite hv-rotate}.hv-ai-tool.is-running>i svg{display:none}.hv-ai-tool>em{color:#34d399;background:#10b98124;border-radius:999px;margin-left:auto;padding:1px 5px;font-size:6.5px;font-style:normal}.hv-ai-tool>b{color:var(--hv-mut);margin-left:auto}.hv-ai-tool>em+b{margin-left:0}.hv-ai-response{background:var(--hv-elev);color:#fafafaeb;border-radius:6px;max-width:86%;margin-top:6px;padding:7px 8px}.hv-ai-response.is-typing-text:after{content:"";vertical-align:-1px;background:currentColor;width:1px;height:8px;margin-left:2px;animation:.72s step-end infinite hv-caret;display:inline-block}.hv-ai-restore{color:var(--hv-mut);justify-content:flex-end;align-items:center;gap:4px;margin-top:5px;font-size:7px}.hv-ai-restore svg{width:8px;height:8px}.hv-ai-composer{border-top:1px solid var(--hv-line-soft);flex-shrink:0;padding:7px 8px 6px;display:none}.hv-assistant-scene[data-model-selected] .hv-ai-composer{display:block}.hv-ai-composer-box{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:7px;height:58px;padding:7px 8px 5px}.hv-ai-composer-box>span{color:var(--hv-mut);font-size:8.5px;display:block}.hv-ai-composer-box>span.is-user-text{color:var(--hv-fg)}.hv-ai-composer-box>div{align-items:center;gap:2px;margin-top:9px;display:flex}.hv-ai-composer-box i,.hv-ai-composer-box b,.hv-ai-composer-box em,.hv-ai-composer-box strong{height:18px;color:var(--hv-mut);justify-content:center;align-items:center;font-size:7.6px;font-style:normal;font-weight:500;display:inline-flex}.hv-ai-composer-box i{width:18px}.hv-ai-composer-box svg{width:9px;height:9px}.hv-ai-composer-box b{color:var(--hv-fg);gap:3px;padding:0 3px}.hv-ai-composer-box b svg{width:7px;height:7px}.hv-ai-composer-box em{gap:4px;margin-left:auto}.hv-ai-composer-box em>svg:first-child{width:9px;height:9px}.hv-ai-composer-box em>svg:last-child{width:6px;height:6px}.hv-ai-composer-box strong{background:var(--hv-blue);color:#fff;border-radius:5px;width:22px;height:22px}.hv-ai-approval{z-index:24;background:linear-gradient(120deg,#8b5cf6,#ec4899,#fb7185);border-radius:9px;padding:1.5px;display:none;position:absolute;bottom:72px;left:8px;right:8px;box-shadow:0 14px 35px #0009}.hv-assistant-scene[data-approval=bib] .hv-ai-approval-bib,.hv-assistant-scene[data-approval=main] .hv-ai-approval-main{display:block}.hv-approval-in{background:var(--hv-pop);border-radius:7.5px;padding:10px}.hv-approval-head{align-items:flex-start;gap:8px;display:flex}.hv-ai-mark{color:#60a5fa;background:#2563eb1f;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.hv-ai-mark svg{width:12px;height:12px}.hv-approval-head b{font-size:9.5px}.hv-approval-head p{align-items:center;gap:5px;margin:4px 0 0;display:flex}.hv-approval-head p code{color:#60a5fa;font-family:var(--hv-mono);background:#2563eb1a;border:1px solid #2563eb40;border-radius:4px;padding:2px 5px;font-size:7px}.hv-approval-head p span{border:1px solid var(--hv-line);color:var(--hv-mut);border-radius:4px;align-items:center;gap:3px;padding:2px 5px;font-size:7px;display:inline-flex}.hv-approval-head p span svg{width:8px;height:8px}.hv-approval-head p em{color:var(--hv-mut);font-family:var(--hv-mono);font-size:6.5px;font-style:normal}.hv-diff{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:6px;margin-top:8px;overflow:hidden}.hv-diff-head{border-bottom:1px solid var(--hv-line);height:22px;color:var(--hv-mut);background:#26262680;align-items:center;gap:4px;padding:0 7px;display:flex}.hv-diff-head svg{width:9px;height:9px}.hv-diff-head code{font-size:7px}.hv-diff-head span{margin-left:auto;font-size:6.5px}.hv-diff-code{height:178px;font-family:var(--hv-mono);padding:5px 0;overflow:hidden}.hv-diff-line{color:#fafafad1;min-height:18px;font-size:6.7px;line-height:1.45;display:flex}.hv-diff-line>span{width:24px;color:var(--hv-mut2);text-align:right;flex-shrink:0;padding-right:5px}.hv-diff-line>code{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;padding:3px 6px}.hv-diff-line.del>code{color:#fca5a5;background:#7f1d1d8f}.hv-diff-line.add>code{color:#86efac;background:#14532da3}.hv-approval-actions{border-top:1px solid var(--hv-line-soft);justify-content:flex-end;align-items:center;gap:6px;padding-top:8px;display:flex}.hv-approval-actions>span{border-radius:5px;align-items:center;gap:4px;height:23px;padding:0 8px;font-size:7.8px;font-weight:500;display:inline-flex}.hv-approval-actions svg{width:9px;height:9px}.hv-reject{color:var(--hv-red)}.hv-always{color:#fff;background:#059669}.hv-approve{background:var(--hv-blue);color:#fff}.hv-ai-preview{background:var(--hv-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.hv-ai-preview .hv-pv-bar{min-height:28px}.hv-ai-pdf-status{color:var(--hv-emerald);align-items:center;gap:3px;font-size:7.5px;font-weight:500;display:inline-flex}.hv-ai-status-ok{display:inline-flex}.hv-ai-status-ok svg{width:10px;height:10px}.hv-ai-status-spin{border:1.2px solid #3b82f640;border-top-color:var(--hv-run);border-radius:50%;width:8px;height:8px;animation:.8s linear infinite hv-rotate;display:none}.heroapp[data-ai-compiling] .hv-ai-status-ok{display:none}.heroapp[data-ai-compiling] .hv-ai-status-spin{display:inline-block}.heroapp[data-ai-compiling] .hv-ai-status-time{color:var(--hv-mut)}.hv-ai-preview-body{background:var(--hv-panel);flex:1;min-height:0;position:relative;overflow:hidden}.hv-ai-pdf-pages{flex-direction:column;align-items:center;gap:10px;min-height:100%;padding-top:10px;transition:transform .35s;display:flex}.hv-ai-preview .hv-page{zoom:1.02}.hv-assistant-scene[data-ai-pane=references] .hv-ai-pdf-pages{transform:translateY(-603px)}.hv-ai-stale{color:#d4d4d8;background:#181818;border:1px solid #3f3f46;border-radius:999px;align-items:center;gap:4px;height:20px;padding:0 7px;font-size:7px;font-weight:600;display:none;position:absolute;bottom:8px;right:8px}.hv-ai-stale i{background:var(--hv-amber);border-radius:50%;width:4px;height:4px}.hv-assistant-scene[data-ai-compile=stale] .hv-ai-stale{display:flex}.hv-ai-outline{z-index:20;border:1px solid var(--hv-line);backdrop-filter:blur(12px);background:#121212d6;border-radius:7px;flex-direction:column;width:215px;transition:transform .2s ease-out;display:flex;position:absolute;inset:6px auto 6px 6px;overflow:hidden;transform:translate(-225px);box-shadow:0 12px 30px #0000008c}.hv-assistant-scene[data-outline] .hv-ai-outline{transform:translate(0)}.hv-ai-outline header{align-items:center;gap:6px;min-height:31px;padding:0 8px;display:flex}.hv-ai-outline header>svg{width:10px;height:10px;color:var(--hv-mut)}.hv-ai-outline header b{font-size:9.5px}.hv-ai-outline header span{margin-left:auto;display:inline-flex}.hv-ai-outline header span svg{width:9px;height:9px}.hv-ai-outline>div{padding:5px}.hv-outline-row{border-radius:4px;align-items:center;min-height:25px;padding:0 7px;font-size:8.4px;display:flex}.hv-outline-row.is-hover{background:var(--hv-elev)}.hv-ai-code-view{background:var(--hv-bg);flex-direction:column;flex:1;min-height:0;display:none}.hv-assistant-scene[data-ai-pane=code] .hv-ai-preview>.hv-pv-bar,.hv-assistant-scene[data-ai-pane=code] .hv-ai-preview-body{display:none}.hv-assistant-scene[data-ai-pane=code] .hv-ai-code-view{display:flex}.hv-ai-code-tabs{border-bottom:1px solid var(--hv-line-soft);background:var(--hv-panel);align-items:center;height:24px;display:flex}.hv-ai-code-tabs>span{border-right:1px solid var(--hv-line-soft);background:var(--hv-bg);height:24px;color:var(--hv-fg);align-items:center;gap:4px;padding:0 8px;font-size:7.6px;display:inline-flex}.hv-ai-code-tabs svg{color:#f59e0b;width:8px;height:8px}.hv-ai-code-tabs i svg{width:6px;height:6px;color:var(--hv-mut)}.hv-ai-code-tabs>b{color:var(--hv-mut);margin-left:auto;padding-right:7px}.hv-ai-code-tabs>b svg{color:inherit}.hv-ai-code-toolbar{border-bottom:1px solid var(--hv-line-soft);height:25px;color:var(--hv-mut);align-items:center;gap:1px;padding:0 5px;display:flex}.hv-ai-code-toolbar>span,.hv-ai-code-toolbar>b{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.hv-ai-code-toolbar svg{width:8.5px;height:8.5px}.hv-ai-code-toolbar>i{background:var(--hv-line);width:1px;height:11px;margin:0 3px}.hv-ai-code-scroll{min-height:0;font-family:var(--hv-mono);flex:1;padding:7px 0 20px;overflow:hidden}.hv-code-entry{color:#ececec;min-height:14px;font-size:7.1px;line-height:1.5;display:flex}.hv-code-ln{color:#757575;text-align:right;flex-shrink:0;width:27px;padding-right:6px}.hv-code-entry code{white-space:nowrap}.hv-code-entry b{color:#ff7b72;font-weight:400}.hv-code-entry i{color:#d2a8ff;font-style:normal}.hv-code-entry u{color:#79c0ff;text-decoration:none}.hv-settings-layer{z-index:80;justify-content:center;align-items:center;display:none;position:absolute;inset:-34px 0 0 -34px}.hv-assistant-scene[data-settings] .hv-settings-layer{display:flex}.hv-settings-backdrop{backdrop-filter:blur(3px);background:#000000ad;position:absolute;inset:0}.hv-settings-modal{border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:8.5px;width:581px;height:439px;display:flex;position:relative;overflow:visible;box-shadow:0 22px 60px #000000b8}.hv-settings-nav{border-right:1px solid var(--hv-line-soft);background:#26262638;flex-direction:column;flex-shrink:0;gap:1px;width:147px;padding:8px;display:flex}.hv-settings-label{height:27px;padding:3px 7px;font-size:9.5px;font-weight:600}.hv-set-nav-row{height:27px;color:var(--hv-mut);border-radius:4px;align-items:center;gap:7px;padding:0 7px;display:flex}.hv-set-nav-row>span{display:inline-flex}.hv-set-nav-row svg{width:10px;height:10px}.hv-set-nav-row b{white-space:nowrap;font-size:8.5px;font-weight:400}.hv-set-nav-row.is-active{background:var(--hv-bg);color:var(--hv-fg)}.hv-set-nav-row.is-active b{font-weight:500}.hv-settings-advanced{color:var(--hv-mut);justify-content:space-between;align-items:center;margin-top:auto;padding:0 7px 4px;font-size:7.8px;display:flex}.hv-switch{background:#52525b;border-radius:999px;align-items:center;width:25.5px;height:14px;display:inline-flex;position:relative}.hv-switch i{background:#fff;border-radius:50%;width:11px;height:11px;margin-left:2px}.hv-switch.is-on{background:var(--hv-blue)}.hv-switch.is-on i{margin-left:12px}.hv-settings-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.hv-settings-main>header{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;height:34px;padding:0 14px;display:flex}.hv-settings-main>header b{font-size:9.5px}.hv-settings-main>header span{color:var(--hv-fg);margin-left:auto;display:inline-flex}.hv-settings-main>header svg{width:10px;height:10px}.hv-settings-scroll{flex:1;min-height:0;padding:15px;position:relative;overflow:hidden}.hv-settings-tabs{background:var(--hv-elev);border-radius:6px;width:248px;height:27px;padding:2px;display:flex}.hv-settings-tabs span{height:23px;color:var(--hv-mut);white-space:nowrap;border-radius:4.5px;justify-content:center;align-items:center;padding:0 10px;font-size:8.5px;font-weight:500;display:inline-flex}.hv-assistant-scene[data-settings-tab=providers] .hv-set-tab-providers,.hv-assistant-scene[data-settings-tab=instructions] .hv-set-tab-instructions{background:var(--hv-bg);color:var(--hv-fg);box-shadow:0 1px 2px #00000059}.hv-provider-tab,.hv-instructions-tab{display:none}.hv-assistant-scene[data-settings-tab=providers] .hv-provider-tab,.hv-assistant-scene[data-settings-tab=instructions] .hv-instructions-tab{display:block}.hv-provider-intro{color:var(--hv-mut);margin:10px 0;font-size:7.7px;line-height:1.35}.hv-provider-list{flex-direction:column;gap:7px;display:flex}.hv-provider-card{border:1px solid var(--hv-line);background:#0a0a0a26;border-radius:7px;overflow:hidden}.hv-provider-head{align-items:center;gap:7px;height:36px;padding:0 9px;display:flex}.hv-provider-chevron,.hv-provider-logo,.hv-connected{display:inline-flex}.hv-provider-chevron svg{width:9px;height:9px;color:var(--hv-mut)}.hv-provider-logo svg{width:13px;height:13px}.hv-provider-name{font-size:9px;font-weight:500}.hv-provider-chevron,.hv-provider-logo{flex-shrink:0}.hv-connected{color:#10b981;background:#10b98121;border-radius:999px;align-items:center;gap:3px;margin-left:auto;padding:2px 6px;font-size:6.8px;display:none}.hv-connected svg{width:8px;height:8px}.hv-get-key{color:#3b82f6;align-items:center;gap:3px;margin-left:auto;font-size:6.8px;display:none}.hv-get-key svg{width:7px;height:7px}.hv-provider-body{padding:0 9px 9px;display:none}.hv-assistant-scene:not([data-provider=closed]) .hv-provider-openai .hv-provider-body{display:block}.hv-assistant-scene:not([data-provider=closed]) .hv-provider-openai .hv-provider-chevron{transform:rotate(90deg)}.hv-provider-copy{color:var(--hv-mut);margin-bottom:8px;font-size:7.8px}.hv-key-row{gap:6px;display:flex}.hv-key-input{border:1px solid var(--hv-line);background:var(--hv-bg);height:27px;color:var(--hv-mut);font-family:var(--hv-mono);border-radius:5px;flex:1;align-items:center;padding:0 8px;font-size:7.5px;display:flex}.hv-key-mask{color:var(--hv-fg);letter-spacing:.08em;white-space:nowrap;display:none;overflow:hidden}.hv-assistant-scene[data-key=filled] .hv-key-placeholder,.hv-assistant-scene[data-provider=loading] .hv-key-placeholder{display:none}.hv-assistant-scene[data-key=filled] .hv-key-mask,.hv-assistant-scene[data-provider=loading] .hv-key-mask{display:inline}.hv-key-save{background:var(--hv-blue);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:4px;width:43px;height:27px;font-size:7.8px;font-weight:500;display:none}.hv-assistant-scene[data-key=filled] .hv-key-save,.hv-assistant-scene[data-provider=loading] .hv-key-save{display:inline-flex}.hv-key-loader{border:1.3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:9px;height:9px;animation:.8s linear infinite hv-rotate;display:none}.hv-assistant-scene[data-provider=loading] .hv-key-loader{display:inline-block}.hv-assistant-scene[data-provider=loading] .hv-key-save{opacity:.55}.hv-key-status{min-height:15px;padding-top:5px;font-size:6.8px}.hv-key-checking,.hv-key-valid{color:var(--hv-mut);display:none}.hv-assistant-scene[data-provider=loading] .hv-key-checking{display:inline}.hv-assistant-scene[data-provider=ready] .hv-key-valid{color:#10b981;display:inline}.hv-provider-ready,.hv-assistant-scene[data-provider=ready] .hv-key-row{display:none}.hv-assistant-scene[data-provider=ready] .hv-provider-ready{display:block}.hv-assistant-scene[data-provider=ready] .hv-connected,.hv-assistant-scene[data-provider=ready] .hv-get-key{display:inline-flex}.hv-assistant-scene[data-provider=ready] .hv-get-key{margin-left:0}.hv-provider-model-select{color:var(--hv-mut);align-items:center;gap:6px;margin-top:1px;font-size:7px;display:flex}.hv-provider-model-select b{border:1px solid var(--hv-line);background:var(--hv-bg);height:24px;color:var(--hv-fg);border-radius:5px;flex:1;align-items:center;gap:5px;padding:0 8px;font-weight:400;display:flex}.hv-provider-model-select b svg{width:8px;height:8px}.hv-provider-model-select b svg:last-child{width:7px;margin-left:auto}.hv-provider-model-select b i{font-style:normal}.hv-key-actions{gap:6px;margin-top:6px;display:flex}.hv-key-actions span{border:1px solid var(--hv-line);border-radius:5px;align-items:center;height:23px;padding:0 7px;font-size:7px;display:inline-flex}.hv-key-actions .hv-delete-key{width:23px;color:var(--hv-mut);justify-content:center;padding:0}.hv-delete-key svg{width:8px;height:8px}.hv-model-manager-head{border-top:1px solid var(--hv-line-soft);color:var(--hv-mut);align-items:center;margin-top:9px;padding-top:9px;font-size:7px;display:flex}.hv-model-manager-head span:last-child{color:var(--hv-fg);align-items:center;gap:4px;margin-left:auto;display:inline-flex}.hv-model-manager-head svg{width:8px;height:8px}.hv-managed-model{color:#fafafae0;align-items:center;gap:6px;height:25px;font-size:7.2px;display:flex}.hv-managed-model .hv-switch{width:24px;height:13px}.hv-managed-model .hv-switch i{width:10px;height:10px;margin-left:12px}.hv-model-trash{color:var(--hv-mut);margin-left:auto;display:inline-flex}.hv-model-trash svg{width:8px;height:8px}.hv-instructions-tab{padding-top:12px;position:relative}.hv-instruction-block{margin-bottom:13px}.hv-instruction-block>b,.hv-capabilities>b{font-size:9px;display:block}.hv-instruction-block>p{color:var(--hv-mut);margin:5px 0 7px;font-size:7.7px;line-height:1.4}.hv-default-model{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:5px;align-items:center;gap:6px;width:144px;height:27px;padding:0 8px;font-size:8.5px;display:flex}.hv-default-model svg{width:10px;height:10px}.hv-default-model>svg:last-child{width:7px;margin-left:auto}.hv-model-menu{z-index:110;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:6px;width:240px;max-height:285px;padding:4px;display:none;position:absolute;top:74px;left:0;overflow:hidden;box-shadow:0 14px 40px #000000b3}.hv-assistant-scene[data-model-menu] .hv-model-menu{display:block}.hv-model-group{letter-spacing:.05em;text-transform:uppercase;padding:4px 6px;font-size:6.5px;font-weight:600;display:block}.hv-model-option{border-radius:4px;align-items:center;gap:6px;height:25px;padding:0 6px;font-size:8px;display:flex}.hv-model-option.is-hover{background:var(--hv-elev)}.hv-model-provider{display:inline-flex}.hv-model-provider svg{width:10px;height:10px}.hv-model-check{color:var(--hv-emerald);margin-left:auto;display:none}.hv-assistant-scene[data-model-selected] .hv-model-option.is-target .hv-model-check{display:inline-flex}.hv-model-check svg{width:9px;height:9px}.hv-custom-instructions{border:1px solid var(--hv-line);background:var(--hv-bg);color:#fafafae6;border-radius:5px;height:84px;padding:8px;font-size:7.8px;line-height:1.5;position:relative}.hv-instructions-placeholder{color:var(--hv-mut)}.hv-instructions-value:not(:empty)+.hv-instructions-placeholder{display:none}.hv-custom-instructions .hv-type-caret{background:var(--hv-fg);vertical-align:middle;width:1px;height:9px;margin-left:1px;display:none;position:static}.hv-custom-instructions .hv-type-caret.is-typing{animation:.8s step-end infinite hv-caret;display:inline-block}.hv-save-instructions{background:var(--hv-blue);color:#fff;opacity:.45;border-radius:5px;justify-content:center;align-items:center;min-width:74px;height:24px;margin-top:7px;padding:0 8px;font-size:7.2px;font-weight:500;transition:background .18s,opacity .18s,transform .18s;display:inline-flex}.hv-assistant-scene[data-instructions-filled] .hv-save-instructions{opacity:1}.hv-save-done{align-items:center;gap:4px;display:none}.hv-save-done svg{width:9px;height:9px}.hv-assistant-scene[data-instructions-saved] .hv-save-instructions{background:var(--hv-emerald);opacity:1;transform:scale(1.03)}.hv-assistant-scene[data-instructions-saved] .hv-save-idle{display:none}.hv-assistant-scene[data-instructions-saved] .hv-save-done{display:inline-flex}.hv-capabilities{border-top:1px solid var(--hv-line-soft);padding-top:11px}.hv-capabilities>p{margin:7px 0 10px;padding-left:20px;font-size:7.4px;position:relative}.hv-checkbox{background:var(--hv-blue);color:#fff;border-radius:3px;justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex;position:absolute;top:0;left:0}.hv-checkbox svg{width:8px;height:8px}.hv-capabilities strong{font-weight:500;display:block}.hv-capabilities small{color:var(--hv-mut);margin-top:2px;line-height:1.35;display:block}.hv-tools-summary{border:1px solid var(--hv-line);border-radius:6px;align-items:center;gap:6px;height:31px;padding:0 8px;font-size:7.5px;display:flex}.hv-tools-summary svg{width:9px;height:9px;color:var(--hv-blue)}.hv-tools-summary svg:last-child{color:var(--hv-mut);margin-left:auto}.hv-side{border-right:1px solid var(--hv-line-soft);background:var(--hv-panel);flex-direction:column;flex-shrink:0;width:200px;min-width:0;display:flex}.hv-warn-badge{color:#fbbf24;text-align:center;background:#f59e0b29;border-radius:999px;min-width:11px;height:11px;font-size:6.8px;font-weight:700;line-height:11px}.hv-ref-seg{color:var(--hv-mut);background:#ffffff0f;border-radius:5px;grid-template-columns:1.2fr 1.1fr 1fr;gap:1.5px;margin:5px 6px 0;padding:1.5px;font-size:7px;display:grid}.hv-ref-seg span{white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;height:15px;display:flex}.hv-ref-seg .is-on{background:var(--hv-panel);color:var(--hv-fg);font-weight:500;box-shadow:0 1px 2px #0000004d}.hv-ref-filter{background:var(--hv-bg)}.hv-refs{flex:1;min-height:0;padding:2px 4px;overflow:hidden}.hv-rrow{color:#fafafad1;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;height:17px;padding:0 4px;font-size:8.2px;display:flex;overflow:hidden}.hv-rrow.ind{padding-left:14px}.hv-rrow.ind2{height:15px;padding-left:24px}.hv-rkey{font-family:var(--hv-mono);color:#79c0ff;font-size:7.8px}.hv-rtag{background:var(--hv-elev);color:var(--hv-mut);font-family:var(--hv-mono);white-space:nowrap;border-radius:3px;margin-left:auto;padding:0 3px;font-size:6.2px;line-height:11px}.hv-rtag.warn{color:#fbbf24;background:#f59e0b21}.hv-rtag.danger{color:#f87171;background:#ef44441f}.hv-refdesc{height:13px;color:var(--hv-mut2);font-size:7.6px}.hv-modal-backdrop{backdrop-filter:blur(1px);z-index:8;background:#00000073;position:absolute;inset:0}.hv-dialog{border:1px solid var(--hv-line);background:var(--hv-pop);z-index:9;border-radius:8px;width:390px;padding:10px 11px;position:absolute;top:34px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #0009}.hv-dlg-head{align-items:center;margin-bottom:8px;display:flex}.hv-dlg-title{flex:1;align-items:center;gap:5px;font-size:9.8px;font-weight:600;display:inline-flex}.hv-dlg-title svg{width:10px;height:10px;color:var(--hv-mut)}.hv-dlg-search{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:5px;align-items:center;gap:5px;height:23px;padding:0 3px 0 7px;display:flex}.hv-dlg-search svg{width:8.5px;height:8.5px;color:var(--hv-mut2)}.hv-dlg-q{font-family:var(--hv-mono);color:var(--hv-fg);flex:1;font-size:8.2px}.hv-dlg-go{background:var(--hv-blue);color:#fff;border-radius:3.5px;height:17px;padding:0 8px;font-size:7.8px;font-weight:500;line-height:17px}.hv-dlg-chips{flex-wrap:wrap;gap:4px;margin:7px 0;display:flex}.hv-chip{color:#7fa6f5;white-space:nowrap;background:#2563eb1a;border:1px solid #2563eb59;border-radius:999px;padding:2.5px 7px;font-size:7.2px}.hv-dlg-bib{border:1px solid var(--hv-line);background:var(--hv-bg);font-family:var(--hv-mono);color:#fafafad9;border-radius:5px;margin:0;padding:7px 8px;font-size:7.6px;line-height:1.62;overflow:hidden}.hv-dlg-foot{justify-content:flex-end;align-items:center;gap:5px;margin-top:9px;display:flex}.hv-btn-ghost{border:1px solid var(--hv-line);height:20px;color:var(--hv-mut);white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:0 9px;font-size:8.2px;display:inline-flex}.hv-btn-ghost svg{width:8.5px;height:8.5px}.hv-btn-primary{background:var(--hv-blue);color:#fff;border-radius:5px;align-items:center;height:20px;padding:0 9px;font-size:8.2px;font-weight:500;display:inline-flex}.hv-cite-left{flex-shrink:0;display:flex;position:relative}.hv-scene[data-scene=cite] .hv-tree{--treew:200;--treeinw:200;--structh:318;border-right-width:1px}.heroapp[data-cite-panel=refs] .hv-scene[data-scene=cite] .hv-tree,.heroapp:not([data-cite-panel=refs]) .hv-scene[data-scene=cite] .hv-side{display:none}.heroapp[data-scene=cite][data-cite-panel=refs] #hvRailFiles{color:var(--hv-mut);background:0 0}.heroapp[data-scene=cite][data-cite-panel=refs] #hvRailRefs{color:var(--hv-fg);background:#2563eb1a}.hv-srow.is-selected{background:#2563eb33}.hv-srow.is-selected .hv-srow-name{color:var(--hv-fg)}.hv-cl.is-bsel{background:#2563eb2b}.hv-cl.is-bsel .hv-ln{color:var(--hv-fg)}.hv-askai{z-index:6;border:1px solid var(--hv-line);height:16px;color:var(--hv-fg);white-space:nowrap;background:#0b0b0b;border-radius:999px;align-items:center;gap:3.5px;padding:0 7px;font-size:7.6px;font-weight:500;display:none;position:absolute;box-shadow:0 4px 10px #0006}.hv-askai svg{color:#a78bfa;width:8px;height:8px}.heroapp[data-cite-sel] .hv-scene[data-scene=cite] .hv-askai{display:inline-flex}.heroapp[data-cite-seg=cites] #hvCSegRefs,.heroapp[data-cite-seg=syms] #hvCSegRefs{color:var(--hv-mut);box-shadow:none;background:0 0;font-weight:400}.heroapp[data-cite-seg=cites] #hvCSegCites,.heroapp[data-cite-seg=syms] #hvCSegSyms{background:var(--hv-panel);color:var(--hv-fg);font-weight:500;box-shadow:0 1px 2px #0000004d}.hv-reflist{display:none}.heroapp:not([data-cite-seg]) .hv-reflist[data-view=refs],.heroapp[data-cite-seg=refs] .hv-reflist[data-view=refs],.heroapp[data-cite-seg=cites] .hv-reflist[data-view=cites],.heroapp[data-cite-seg=syms] .hv-reflist[data-view=syms]{display:block}.hv-reflist .hv-sic svg{width:9px;height:9px}.hv-cite-c12,.hv-cite-c13{font-style:normal}.hv-cite-c13,.heroapp[data-cite-inserted] .hv-cite-c12{display:none}.heroapp[data-cite-inserted] .hv-cite-c13{display:inline}.hv-cite-newrow{display:none}.heroapp[data-cite-inserted] .hv-cite-newrow{animation:.6s ease-out both hv-cite-row-in;display:flex}@keyframes hv-cite-row-in{0%{opacity:0;background:#10b98133;transform:translateY(3px)}60%{background:#10b98133}to{opacity:1;background:0 0;transform:none}}.hv-cins-caret,.hv-cins-body{display:none}.heroapp[data-cite-caret] .hv-scene[data-scene=cite] .hv-cins-caret{background:var(--hv-fg);vertical-align:-1px;width:1px;height:9px;margin:0 .5px;animation:.8s step-end infinite hv-caret;display:inline-block}.heroapp[data-cite-inserted] .hv-scene[data-scene=cite] .hv-cins-body{border-radius:2px;animation:1.2s ease-out both hv-cite-ins-in;display:inline}@keyframes hv-cite-ins-in{0%{background:#10b9814d}to{background:0 0}}.hv-cpick{z-index:9;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:7px;width:268px;padding:4px;display:none;position:absolute;box-shadow:0 14px 40px #0000008c}.heroapp[data-cite-pick] .hv-scene[data-scene=cite] .hv-cpick{display:block}.hv-cpick-search{border-bottom:1px solid var(--hv-line-soft);height:22px;color:var(--hv-mut2);align-items:center;gap:5px;margin-bottom:3px;padding:0 7px;font-size:8px;display:flex}.hv-cpick-search svg{width:8.5px;height:8.5px}.hv-cpick-row{border-radius:4px;flex-direction:column;gap:1px;padding:3.5px 7px;display:flex}.hv-cpick-key{font-family:var(--hv-mono);color:var(--hv-fg);font-size:8px}.hv-cpick-meta{color:var(--hv-mut2);white-space:nowrap;font-size:7.2px;overflow:hidden}.hv-cpick-find{border-top:1px solid var(--hv-line-soft);height:22px;color:var(--hv-fg);border-radius:4px;align-items:center;gap:5px;margin-top:3px;padding:0 7px;font-size:8px;display:flex}.hv-cpick-find svg{width:9px;height:9px;color:var(--hv-mut)}.hv-cpick-find.is-hover{background:var(--hv-elev)}.hv-scene[data-scene=cite] .hv-modal-backdrop,.hv-scene[data-scene=cite] .hv-dialog{display:none}.hv-scene[data-scene=cite] .hv-modal-backdrop{inset:-34px 0 0}.heroapp[data-cite-dlg] .hv-scene[data-scene=cite] .hv-modal-backdrop{display:block}.heroapp[data-cite-dlg] .hv-scene[data-scene=cite] .hv-dialog{animation:.18s ease-out hv-dlg-in;display:block}@keyframes hv-dlg-in{0%{opacity:0;transform:translate(-50%)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}.hv-dialog{top:130px}.hv-dlg-note{border-bottom:1px solid var(--hv-line-soft);color:var(--hv-mut2);margin-top:5px;padding-bottom:7px;font-size:7.2px}.hv-dlg-help{color:var(--hv-mut);margin:7px 0 2px;font-size:7.6px;line-height:1.5}.hv-dlg-ph,.hv-dlg-val{font-style:normal}.hv-dlg-ph{color:var(--hv-mut2)}.hv-dlg-val,.heroapp[data-cite-dlg=filled] .hv-dlg-ph,.heroapp[data-cite-dlg=loading] .hv-dlg-ph,.heroapp[data-cite-dlg=result] .hv-dlg-ph{display:none}.heroapp[data-cite-dlg=filled] .hv-dlg-val,.heroapp[data-cite-dlg=loading] .hv-dlg-val,.heroapp[data-cite-dlg=result] .hv-dlg-val{display:inline}.hv-dlg-go{justify-content:center;align-items:center;min-width:34px;display:inline-flex}.hv-dlg-spin{border:1.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:8px;height:8px;animation:.8s linear infinite hv-spin;display:none}.heroapp[data-cite-dlg=loading] .hv-dlg-spin{display:inline-block}.heroapp[data-cite-dlg=loading] .hv-dlg-go-t,.hv-dlg-result,.heroapp[data-cite-dlg=result] .hv-dlg-empty{display:none}.heroapp[data-cite-dlg=result] .hv-dlg-result{display:block}.hv-dlg-result .hv-dlg-bib{margin-top:7px}.hv-cite-toast{z-index:12;border:1px solid var(--hv-line);color:#ddd;opacity:0;pointer-events:none;background:#050505;border-radius:7px;align-items:center;gap:7px;height:32px;padding:0 13px;font-size:8px;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:12px;right:14px;transform:translateY(10px);box-shadow:0 6px 20px #00000080}.heroapp[data-cite-toast] .hv-cite-toast{opacity:1;transform:none}.hv-cite-toast b{font-family:var(--hv-mono);color:#fff;font-weight:500}.hv-cite-toast .hv-toast-ic{color:var(--hv-emerald);display:inline-flex}.hv-cite-toast .hv-toast-ic svg{width:11px;height:11px}.hv-scene[data-scene=history] .hv-cins-body{display:inline}.hv-git{width:calc(var(--gitw,0) * 1px);background:var(--hv-panel);border-right:0 solid var(--hv-line-soft);flex-shrink:0;min-width:0;overflow:hidden}.heroapp[data-git-panel] .hv-git{border-right-width:1px}.hv-git-in{flex-direction:column;width:200px;height:100%;display:flex}.heroapp[data-scene=history] #hvRailGit{position:relative}.heroapp[data-scene=history]:not([data-git-committed]) #hvRailGit:after{content:"1";background:var(--hv-blue);color:#fff;width:10px;height:10px;font:600 6px/10px var(--hv-font);text-align:center;border-radius:50%;position:absolute;top:-1px;right:0}.heroapp[data-scene=history][data-git-panel] #hvRailFiles{color:var(--hv-mut);background:0 0}.heroapp[data-scene=history][data-git-panel] #hvRailGit{color:var(--hv-fg);background:#2563eb1a}.hv-git-meta{align-items:center;gap:5px;padding:6px 8px;display:flex}.hv-git-branch{color:#fff;background:#16a34a;border-radius:999px;align-items:center;gap:3px;height:14px;padding:0 6px;font-size:7px;font-weight:500;display:inline-flex}.hv-git-branch svg{width:7px;height:7px}.hv-git-ahead{border:1px solid var(--hv-line);border-radius:999px;align-items:center;height:14px;padding:0 5px;font-size:7px;display:inline-flex}.hv-git-up{color:#34d399;font-style:normal}.heroapp[data-git-committed] .hv-git-ahead{display:none}.hv-git-groups{flex:1;min-height:0;padding:2px 6px}.hv-git-ghead{height:16px;color:var(--hv-mut2);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:4px;padding:0 4px;font-size:7px;font-weight:500;display:flex}.hv-git-row{border-radius:4px;align-items:center;gap:5px;height:19px;padding:0 5px;font-size:8.5px;display:flex}.hv-git-st{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:11px;height:11px;font-size:7px;font-weight:600;display:inline-flex}.hv-git-st.m{color:#fbbf24;background:#f59e0b26}.hv-git-stage{width:14px;height:14px;color:var(--hv-mut);border-radius:3px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.hv-git-stage svg{width:9px;height:9px}.hv-git-staged-head,.hv-git-staged-row,.hv-git-clean{display:none}.heroapp[data-git-staged]:not([data-git-committed]) .hv-git-staged-head,.heroapp[data-git-staged]:not([data-git-committed]) .hv-git-staged-row{display:flex}.heroapp[data-git-staged] .hv-scene[data-scene=history] #hvGChange,.heroapp[data-git-staged] .hv-scene[data-scene=history] .hv-git-changes-head{display:none}.heroapp[data-git-committed] .hv-git-clean{color:var(--hv-mut2);padding:8px 5px;font-size:7.6px;display:block}.hv-git-foot{border-top:1px solid var(--hv-line-soft);flex-direction:column;gap:6px;padding:7px 7px 8px;display:flex}.hv-git-msg{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:5px;min-height:30px;padding:5px 6px;font-size:8px}.hv-git-msg-ph{color:var(--hv-mut2)}.heroapp[data-git-typing] .hv-git-msg-ph{display:none}.hv-git-btns{gap:5px;display:flex}.hv-git-commit,.hv-git-push{white-space:nowrap;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;height:20px;font-size:7.8px;font-weight:500;display:inline-flex}.hv-git-commit{border:1px solid var(--hv-line);color:var(--hv-mut)}.hv-git-commit svg{width:8px;height:8px}.hv-git-push{background:var(--hv-blue);color:#fff}.heroapp:not([data-git-staged]) .hv-git-commit,.heroapp:not([data-git-staged]) .hv-git-push{opacity:.4}.hv-git-push-spin{border:1.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:8px;height:8px;animation:.8s linear infinite hv-spin;display:none}.heroapp[data-git-busy] .hv-git-push-spin{display:inline-block}.hv-git-status{color:#34d399;background:#10b9811a;border:1px solid #10b9814d;border-radius:5px;align-items:center;gap:4px;padding:4px 6px;font-size:7.4px;display:none}.hv-git-status svg{flex-shrink:0;width:9px;height:9px}.heroapp[data-git-committed] .hv-git-status{display:flex}.hv-git-remote{color:var(--hv-mut2);font-family:var(--hv-mono);white-space:nowrap;text-overflow:ellipsis;font-size:6.8px;overflow:hidden}.hv-gtab-diff{display:none}.hv-gtab-diff i{color:var(--hv-mut);font-style:normal}.heroapp[data-git-diff] .hv-scene[data-scene=history] .hv-gtab-diff{display:inline-flex}.heroapp[data-git-diff] .hv-scene[data-scene=history] .hv-gtab-main{color:var(--hv-mut);background:0 0}.hv-gd{background:var(--hv-bg);flex-direction:column;flex:1;min-height:0;display:none}.heroapp[data-git-diff] .hv-scene[data-scene=history] .hv-gd{display:flex}.heroapp[data-git-diff] .hv-scene[data-scene=history] .hv-editor .hv-etb,.heroapp[data-git-diff] .hv-scene[data-scene=history] .hv-editor .hv-code{display:none}.hv-gd-bar{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;justify-content:space-between;align-items:center;height:22px;padding:0 8px;display:flex}.hv-gd-mode{color:var(--hv-mut);align-items:center;gap:5px;font-size:8px;display:inline-flex}.hv-gd-mode svg{width:9px;height:9px}.hv-gd-nav{color:var(--hv-mut);align-items:center;gap:3px;display:inline-flex}.hv-gd-nav svg{width:9px;height:9px}.hv-gd-nav i{background:var(--hv-line);width:1px;height:11px;margin:0 3px}.hv-gd-nav b{border-radius:3px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.hv-gd-nav b.is-on{background:var(--hv-elev);color:var(--hv-fg)}.hv-gd-panes{flex:1;min-height:0;padding-top:6px;display:flex}.hv-gd-pane{flex:1;min-width:0;margin:0 6px;overflow:hidden}.hv-gd-band{color:#8b98a9;font-family:var(--hv-mono);background:#38598a2e;border-radius:2px;margin:4px 0;padding:3px 8px;font-size:7.4px}.hv-gd-row{font-family:var(--hv-mono);font-size:8.2px;line-height:1.65;display:flex}.hv-gd-ln{width:22px;color:var(--hv-mut2);text-align:right;flex-shrink:0;padding-right:7px}.hv-gd-ct{overflow-wrap:break-word;min-width:0;overflow:hidden}.hv-gd-row.is-del{background:#f8514924;box-shadow:inset 2px 0 #f8514999}.hv-gd-row.is-add{background:#3fb95021;box-shadow:inset 2px 0 #3fb95099}.hv-gd-w{background:#3fb95059;border-radius:2px}.hv-scene[data-scene=history] .hv-modal-backdrop{display:none;inset:-34px 0 0}.heroapp[data-git-history] .hv-scene[data-scene=history] .hv-modal-backdrop{display:block}.hv-gh-modal{z-index:9;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:9px;flex-direction:column;width:363px;padding:10px 8px 8px;display:none;position:absolute;top:46px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #0009}.heroapp[data-git-history] .hv-scene[data-scene=history] .hv-gh-modal{animation:.18s ease-out hv-dlg-in;display:flex}.hv-gh-head{align-items:center;gap:5px;padding:0 4px 7px;display:flex}.hv-gh-head>svg{width:10px;height:10px}.hv-gh-head b{font-size:10px;font-weight:600}.hv-gh-git{color:#7fa6f5;background:#2563eb26;border-radius:999px;padding:1.5px 6px;font-size:7px;font-weight:500}.hv-gh-x{width:16px;height:16px;color:var(--hv-mut);border-radius:4px;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.hv-gh-x svg{width:9px;height:9px}.hv-gh-tabs{justify-content:center;padding:2px 0 7px;display:flex}.hv-gh-seg{background:var(--hv-elev);color:var(--hv-mut);border-radius:6px;padding:2px;font-size:7.8px;display:flex}.hv-gh-seg span{border-radius:4.5px;padding:2.5px 10px}.heroapp:not([data-git-tab=labels]) .hv-gh-tab-all,.heroapp[data-git-tab=labels] .hv-gh-tab-labels{background:var(--hv-pop);color:var(--hv-fg);font-weight:500;box-shadow:0 1px 2px #0000004d}.hv-gh-rows{min-height:0;padding:0 2px;overflow:hidden}.hv-gh-row{border-radius:5px;align-items:center;gap:8px;padding:5px 6px;display:flex}.hv-gh-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.hv-gh-label{align-items:center;gap:4px;font-size:8.8px;font-weight:500;display:inline-flex}.hv-gh-pencil{color:var(--hv-mut);display:none}.hv-gh-pencil svg{width:7px;height:7px}.heroapp[data-git-tab=labels] .hv-gh-pencil{display:inline-flex}.hv-gh-msg{color:var(--hv-mut);font-size:7.6px}.hv-gh-meta{color:var(--hv-mut2);font-family:var(--hv-mono);font-size:7px}.hv-gh-restore{height:17px;color:var(--hv-fg);white-space:nowrap;border-radius:4.5px;align-items:center;gap:3px;padding:0 7px;font-size:7.6px;display:inline-flex}.hv-gh-restore svg{width:8px;height:8px}.hv-gh-restore.is-hover{background:var(--hv-elev)}.hv-gh-confirm{align-items:center;gap:4px;display:none}.heroapp[data-git-confirm] #hvGRestore{display:none}.heroapp[data-git-confirm] .hv-gh-confirm{display:inline-flex}.hv-gh-overwrite{color:#fff;white-space:nowrap;background:#dc2626;border-radius:4.5px;align-items:center;height:17px;padding:0 7px;font-size:7.6px;font-weight:500;display:inline-flex}.hv-gh-cancel{height:17px;color:var(--hv-mut);border-radius:4.5px;align-items:center;padding:0 7px;font-size:7.6px;display:inline-flex}.hv-gh-cancel.is-hover{background:var(--hv-elev);color:var(--hv-fg)}.hv-gh-new{display:none}.heroapp[data-git-committed] .hv-gh-new{animation:.6s ease-out both hv-cite-row-in;display:flex}.hv-scene[data-scene=polish] .hv-cins-body{display:inline}.hv-scene[data-scene=polish] .hv-startup{display:none}.hv-scene[data-scene=polish] .hv-preview{--pvw:517}.hv-wys{background:var(--hv-elev);border-radius:999px;align-items:center;height:18px;margin:0 2px;padding:1.5px;display:inline-flex}.hv-wys-side{height:15px;color:var(--hv-mut);border-radius:999px;align-items:center;padding:0 7px;font-size:7.6px;font-style:normal;font-weight:500;display:inline-flex}.heroapp:not([data-pl-visual]) #hvPCodeBtn,.heroapp[data-pl-visual] #hvPVisBtn{background:var(--hv-blue);color:#fff}.hv-vis{background:var(--hv-bg);flex:1;min-height:0;display:none;overflow:hidden}.heroapp[data-pl-visual] .hv-scene[data-scene=polish] .hv-vis{display:block}.heroapp[data-pl-visual] .hv-scene[data-scene=polish] .hv-code{display:none}.hv-vis-doc{max-width:340px;margin:0 auto;padding:18px 16px}.hv-vis-doc h3{letter-spacing:-.01em;color:var(--hv-fg);margin:10px 0 6px;font-size:12.5px;font-weight:650}.hv-vis-doc p{color:#fafafae0;margin-bottom:8px;font-size:8.8px;line-height:1.75}.hv-vis-cite{color:#7fa6f5;font-family:var(--hv-mono);vertical-align:.5px;background:#2563eb1f;border:1px solid #2563eb59;border-radius:999px;padding:0 4px;font-size:7px;font-style:normal;line-height:1.6;display:inline-block}.heroapp[data-pl-sel] .hv-vis-sel{background:#2563eb59;border-radius:1.5px}.heroapp[data-pl-bold] .hv-vis-sel{background:0 0;font-weight:700}.heroapp[data-pl-synced] #hvPSyncW{outline:1.5px solid var(--hv-blue);outline-offset:.5px;background:#2563eb2e;border-radius:1px}.hv-cl.is-sync-flash{animation:1.6s ease-out both hv-sync-flash}@keyframes hv-sync-flash{0%{background:#2563eb66}to{background:#26262673}}.hv-pl-ren.is-renamed{border-radius:2px;animation:1.2s ease-out both hv-cite-ins-in}.hv-scene[data-scene=polish] .hv-modal-backdrop{display:none;inset:-34px 0 0}.heroapp[data-pl-rn] .hv-scene[data-scene=polish] .hv-modal-backdrop,.heroapp[data-pl-wc] .hv-scene[data-scene=polish] .hv-modal-backdrop{display:block}.hv-rn-modal,.hv-wc-modal{z-index:9;border:1px solid var(--hv-line);background:var(--hv-pop);border-radius:8px;width:262px;padding:11px 12px;display:none;position:absolute;top:110px;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #0009}.heroapp[data-pl-rn] .hv-scene[data-scene=polish] .hv-rn-modal,.heroapp[data-pl-wc] .hv-scene[data-scene=polish] .hv-wc-modal{animation:.18s ease-out hv-dlg-in;display:block}.hv-rn-title{margin-bottom:7px;font-size:9.4px;font-weight:600}.hv-rn-title b{font-family:var(--hv-mono);font-weight:500}.hv-rn-input{border:1px solid var(--hv-blue);background:var(--hv-bg);height:22px;font-family:var(--hv-mono);border-radius:5px;align-items:center;padding:0 7px;font-size:8.4px;display:flex}.hv-rn-old{background:#2563eb59;border-radius:1px}.heroapp[data-pl-rn=typed] .hv-rn-old,.heroapp[data-pl-rn=typing] .hv-rn-old{display:none}.hv-rn-input .hv-type-caret{background:var(--hv-fg);width:1px;height:10px;margin-left:.5px;animation:.8s step-end infinite hv-caret;display:inline-block}.hv-rn-hint{height:10px;color:var(--hv-mut2);visibility:hidden;margin:6px 0 2px;font-size:7.4px}.heroapp[data-pl-rn=typed] .hv-rn-hint{visibility:visible}.heroapp:not([data-pl-rn=typed]) #hvPRnGo{opacity:.5}.hv-wc-title{margin-bottom:2px;font-size:10px;font-weight:600}.hv-wc-file{color:var(--hv-mut2);margin-bottom:6px;font-size:7.6px}.hv-wc-row{border-top:1px solid var(--hv-line-soft);color:var(--hv-mut);justify-content:space-between;align-items:center;padding:6px 0;font-size:8.6px;display:flex}.hv-wc-row b{font-family:var(--hv-mono);color:var(--hv-fg);font-variant-numeric:tabular-nums;font-weight:500}.heroapp[data-pl-spread] .hv-scene[data-scene=polish] .hv-pv-pages{transform-origin:top;flex-direction:row;justify-content:center;align-items:flex-start;transition:transform .45s cubic-bezier(.2,.7,.3,1);overflow:visible;transform:scale(.53)}.heroapp:not([data-pl-spread]) .hv-scene[data-scene=polish] .hv-pg-one,.heroapp[data-pl-spread] .hv-scene[data-scene=polish] .hv-pg-two{background:var(--hv-elev);color:var(--hv-fg)}.hv-pf{width:calc(var(--pfw,0) * 1px);background:var(--hv-panel);border-right:0 solid var(--hv-line-soft);flex-shrink:0;min-width:0;overflow:hidden}.heroapp[data-pl-preflight] .hv-pf{border-right-width:1px}.hv-pf-in{flex-direction:column;width:200px;height:100%;display:flex}.heroapp[data-scene=polish][data-pl-preflight] #hvRailFiles{color:var(--hv-mut);background:0 0}.heroapp[data-scene=polish][data-pl-preflight] #hvRailShield{color:var(--hv-fg);background:#2563eb1a}.hv-pf-cards{flex-direction:column;flex:1;gap:6px;min-height:0;padding:6px;display:flex;overflow:hidden}.hv-pf-card{border:1px solid var(--hv-line-soft);background:var(--hv-bg);border-radius:7px}.hv-pf-head{align-items:center;gap:4px;height:24px;padding:0 7px;font-size:8px;display:flex}.hv-pf-head>svg{width:9px;height:9px;color:var(--hv-mut);flex-shrink:0}.hv-pf-head b{white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.hv-pf-check{border:1px solid var(--hv-line);border-radius:2.5px;flex-shrink:0;width:9px;height:9px}.hv-pf-check.is-on{color:var(--hv-blue);border:none;display:inline-flex}.hv-pf-check.is-on svg{width:10px;height:10px}.hv-pf-run,.hv-pf-rerun{border-radius:4px;flex-shrink:0;align-items:center;gap:3px;height:15px;padding:0 6px;font-size:7px;font-weight:500;display:inline-flex}.hv-pf-run{color:var(--hv-mut2);border:1px solid var(--hv-line-soft)}.hv-pf-rerun{background:var(--hv-blue);color:#fff}.hv-pf-run svg,.hv-pf-rerun svg{width:7px;height:7px}.hv-pf-hchev{color:var(--hv-mut2);flex-shrink:0;display:inline-flex}.hv-pf-hchev svg{width:8px;height:8px}.hv-pf-body{padding:0 8px 8px}.hv-pf-lab{color:var(--hv-mut2);text-transform:uppercase;letter-spacing:.05em;margin:5px 0 3px;font-size:6.4px;font-weight:600}.hv-pf-desc{color:var(--hv-mut);font-size:7px;line-height:1.55}.hv-pf-gauge{flex-direction:column;align-items:center;margin:7px 0 3px;display:flex;position:relative}.hv-pf-gauge svg{width:40px;height:40px}.hv-pf-gauge b{font-size:11px;font-weight:650;position:absolute;top:12px}.hv-pf-gauge i{color:var(--hv-mut2);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:6.4px;font-style:normal;font-weight:600}.hv-pf-issue{border:1px solid var(--hv-line-soft);border-radius:5px;align-items:flex-start;gap:5px;margin-top:4px;padding:5px 6px;display:flex}.hv-pf-iic{flex-shrink:0;margin-top:1px;display:inline-flex}.hv-pf-iic svg{width:8.5px;height:8.5px}.hv-pf-itxt{flex-direction:column;flex:1;gap:1.5px;min-width:0;display:flex}.hv-pf-itxt b{font-size:7.4px;font-weight:500;line-height:1.35}.hv-pf-itxt i{color:var(--hv-mut2);letter-spacing:.04em;font-size:6.2px;font-style:normal}.hv-pf-chev{color:var(--hv-mut2);margin-top:2px;display:inline-flex}.hv-pf-chev svg{width:7px;height:7px}.heroapp[data-pl-toast] .hv-pl-toast{opacity:1;transform:none}.hv-dg-top{border-bottom:1px solid var(--hv-line-soft);flex-shrink:0;align-items:center;gap:8px;height:34px;padding:0 8px;display:flex}.hv-dg-name{border:1px solid var(--hv-line);background:var(--hv-bg);border-radius:4px;align-items:center;height:19px;padding:0 7px;font-size:8.5px;display:inline-flex}.hv-dg-file{font-family:var(--hv-mono);color:var(--hv-mut2);font-size:7.6px}.hv-dg-mode{border:1px solid var(--hv-line);background:#ffffff08;border-radius:6px;gap:1px;margin:0 auto;padding:1.5px;display:inline-flex}.hv-dg-mode>span{height:18px;color:var(--hv-mut);border-radius:4px;align-items:center;gap:4px;padding:0 8px;font-size:8.2px;display:inline-flex}.hv-dg-mode svg{width:8.5px;height:8.5px}.hv-dg-mode .is-on{background:var(--hv-bg);color:var(--hv-fg);box-shadow:0 1px 2px #00000059}.hv-dg-actions{align-items:center;gap:5px;display:flex}.hv-compile-mini .hv-cp-main{opacity:1!important}.hv-compile-mini .hv-cp-main span{font-size:8.5px;font-weight:500}.hv-dg-body{flex:1;min-height:0;display:flex}.hv-canvas{background-image:radial-gradient(circle,#ffffff21 1px,#0000 1px);background-size:15px 15px;flex:1;min-width:0;position:relative}.hv-edges{width:100%;height:100%;position:absolute;inset:0}.hv-edges path{stroke:#fafafa73;stroke-width:1.2px;fill:none}.hv-edges .pt{fill:#0a0a0a;stroke:#fafafa73;stroke-width:1.2px}.hv-edges .hv-edge-lab{fill:#a1a1a1cc;font-size:8px;font-style:italic}.hv-node{color:#fafafae6;text-align:center;background:#1f2937;border:1px solid #ffffff29;border-radius:6px;justify-content:center;align-items:center;height:32px;font-size:8.5px;font-weight:500;display:flex;position:absolute}.hv-node.is-sel{border-color:var(--hv-blue);box-shadow:0 0 0 2px #2563eb4d}.hv-sel-h{border:1px solid var(--hv-blue);z-index:3;background:#fff;border-radius:1.5px;width:5px;height:5px;position:absolute}.hv-inspector{border:1px solid var(--hv-line);backdrop-filter:blur(6px);background:#121212db;border-radius:7px;width:150px;padding:8px 9px;position:absolute;top:10px;right:10px;box-shadow:0 7px 24px #00000073}.hv-insp-title{color:var(--hv-fg);margin-bottom:5px;font-size:8.2px;font-weight:600}.hv-insp-row{color:var(--hv-mut);justify-content:space-between;font-size:7.6px;line-height:1.9;display:flex}.hv-insp-row span:last-child{color:#fafafad9}.hv-dg-controls{border:1px solid var(--hv-line);border-radius:6px;display:flex;position:absolute;bottom:10px;left:10px;overflow:hidden;box-shadow:0 4px 14px #0006}.hv-dg-controls span{width:18px;height:18px;color:var(--hv-mut);background:#1f2937;justify-content:center;align-items:center;font-size:9px;display:inline-flex}.hv-dg-controls span+span{border-left:1px solid var(--hv-line)}.hv-dg-controls .is-on{color:var(--hv-fg);background:#2b3644}.hv-minimap{border:1px solid var(--hv-line);background:#0d1117;border-radius:6px;width:120px;height:76px;position:absolute;bottom:10px;right:10px;overflow:hidden}.hv-minimap span{background:#3b82f680;border-radius:1px;position:absolute}.hv-minimap .mm-sel{background:#60a5fa40;border:1px solid #60a5fa}.hv-dg-preview{border-left:1px solid var(--hv-line-soft);background:var(--hv-panel);flex-direction:column;flex-shrink:0;width:160px;display:flex}.hv-dg-pv-card{background:#fff;border-radius:3px;margin:8px;padding:7px;box-shadow:0 3px 9px #00000059}.hv-dg-pv-card svg{width:100%;height:auto;display:block}.hv-dg-pv-card rect{fill:#e5e7eb;stroke:#9ca3af;stroke-width:1px}.hv-dg-pv-card rect.pv-sel{fill:#dbeafe;stroke:#2563eb}.hv-dg-pv-card line{stroke:#9ca3af;stroke-width:1px}.hv-dg-zoom{gap:1.5px;padding:0 8px;display:flex}.hv-dg-zoom span{text-align:center;height:17px;color:var(--hv-mut);border-radius:4px;flex:1;font-size:7.6px;line-height:17px}.hv-dg-zoom .is-on{background:var(--hv-elev);color:var(--hv-fg)}.hv-home{background:#0b0c0e;overflow:hidden}.hv-home-glow{pointer-events:none;background:radial-gradient(60% 100% at 50% 0,#6081db17,#0000 70%);height:300px;position:absolute;inset:0 0 auto}.hv-home-dots{pointer-events:none;background-image:radial-gradient(#ffffff26 .8px,#0000 .8px);background-size:16px 16px;position:absolute;inset:0}.hv-home-top{z-index:2;justify-content:flex-end;align-items:center;gap:3px;height:34px;padding:0 10px;display:flex;position:relative}.hv-home-import{height:21px;color:var(--hv-mut);border-radius:4.5px;align-items:center;gap:4.5px;padding:0 7px;font-size:8.5px;display:inline-flex}.hv-home-import svg{width:10px;height:10px}.hv-shelf{z-index:2;grid-template-columns:repeat(3,106px);justify-content:center;gap:44px 58px;padding:26px 0 0;display:grid;position:relative}.hv-book{width:106px}.hv-book-cover{border-radius:4px 7px 7px 4px;height:140px;padding:10px 9px;position:relative;overflow:hidden;box-shadow:inset 3.5px 0 5px -2px #00000059,inset -1px 0 2px #ffffff2e,0 8px 18px #00000073}.hv-book-cover:before{content:"";background:#0000002e;width:1px;position:absolute;top:0;bottom:0;left:5.5px}.hv-book-title{letter-spacing:-.005em;padding-left:4px;font-size:8.6px;font-weight:600;line-height:1.35;display:block}.hv-book-brand{opacity:.35;background:currentColor;border-radius:50%;width:9px;height:9px;position:absolute;bottom:9px;left:13px}.hv-book-meta{color:var(--hv-mut);text-align:center;margin-top:7px;font-size:7.2px}.hv-dock{z-index:3;backdrop-filter:blur(12px)saturate(1.5);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px -6px #00000080,inset 0 1px #ffffff14}.hv-dock-btn{width:25px;height:25px;color:var(--hv-mut);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.hv-dock-btn svg{width:11.5px;height:11.5px}.hv-dock-btn.is-primary{background:var(--hv-blue);color:#fff}.hv-home{color:#e8e8e8}.hv-space-library{transition:filter .25s,opacity .25s;position:absolute;inset:0;overflow:hidden}.hv-space-top{z-index:5;justify-content:flex-end;align-items:center;gap:3px;height:34px;padding:0 10px;display:flex;position:absolute;inset:0 0 auto}.hv-space-topbtn{color:#9b9b9b;border-radius:5px;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex;position:relative}.hv-space-topbtn svg{width:12px;height:12px}.hv-space-topbtn b{color:#fff;min-width:10px;height:10px;font:600 5.8px/10px var(--hv-font);text-align:center;background:#2563eb;border-radius:99px;padding:0 2px;position:absolute;top:-2px;right:-1px}.hv-home[data-home-filter=favs] #hvHomeFavFilter{color:#f59e0b;background:#ffffff0e}.hv-space-shelf{z-index:2;grid-template-columns:repeat(4,128px);grid-auto-rows:202px;align-content:start;gap:40px 66px;padding:34px 0 56px 183px;display:grid;position:absolute;inset:34px 0 0;overflow:hidden}.hv-space-book{color:#a4a4a4;width:128px;height:202px;transition:transform .18s,opacity .2s}.hv-home[data-home-filter=favs] .hv-space-book:not(.is-fav){display:none}.hv-space-cover{background:var(--book);color:#17233a;width:128px;height:169px;box-shadow:inset 7px 0 7px -5px #00000059,inset -1px 0 2px #ffffff73,0 4px 0 -1px color-mix(in srgb,var(--book),#6f6f4a 35%),0 7px 0 -3px color-mix(in srgb,var(--book),#222 25%),0 11px 18px #00000052;border-radius:5px 7px 7px 5px;position:relative;overflow:hidden}.hv-space-cover:before{content:"";z-index:3;background:#00000021;width:1px;position:absolute;top:0;bottom:0;left:8px}.hv-space-pages{z-index:4;opacity:.65;border-bottom:1px dotted #21212159;height:3px;position:absolute;bottom:1px;left:8px;right:4px}.hv-space-label{z-index:2;position:absolute;bottom:13px;left:20px;right:10px}.hv-space-label small{color:#607080;font:600 6.4px/1 var(--hv-font);letter-spacing:.07em;margin-bottom:4px;display:block}.hv-space-label b{font:650 10.3px/1.22 var(--hv-font);letter-spacing:-.01em;display:block}.hv-space-meta{color:#979797;font:8.4px/1.45 var(--hv-font);flex-direction:column;padding:7px 2px 0;display:flex}.hv-space-bookmark{z-index:7;color:#f59e0b;opacity:0;background:#1414140d;border-radius:6px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:7px;right:7px}.hv-space-bookmark svg{fill:none;width:9px;height:9px}.hv-space-bookmark.is-on svg{fill:currentColor}.hv-space-bookmark.is-on,.hv-space-book:hover .hv-space-bookmark{opacity:1}.hv-home[data-home-bookmark-pulse] .hv-space-book.is-target .hv-space-bookmark{animation:.7s both hv-bookmark-pop}@keyframes hv-bookmark-pop{40%{transform:scale(1.45)rotate(-8deg)}to{transform:none}}.hv-space-preview{z-index:5;background:#fff;transition:transform .34s cubic-bezier(.2,.72,.2,1);position:absolute;inset:0;transform:translate(-101%);box-shadow:5px 0 12px #0000003d}.hv-home[data-home-hover] .hv-space-book.is-target .hv-space-preview{transform:translate(0)}.hv-home[data-home-hover] .hv-space-book.is-target{transform:translateY(-2px)}.hv-space-dock{z-index:10;backdrop-filter:blur(12px)saturate(1.5);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;flex-direction:column;align-items:center;gap:6px;padding:5px 4px;display:flex;position:absolute;top:258px;left:11px;box-shadow:0 8px 30px -6px #00000080,inset 0 1px #ffffff14}.hv-space-dockbtn{width:26px;height:26px;color:var(--hv-mut);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.hv-space-dockbtn svg{width:12px;height:12px}.hv-space-dockbtn.is-primary{background:var(--hv-blue);color:#fff}.hv-space-dockbtn em{border:1px solid var(--hv-line);color:#e8e8e8;width:max-content;font:7.4px/1 var(--hv-font);background:#111;border-radius:5px;padding:4px 7px;font-style:normal;display:none;position:absolute;top:5px;left:33px}.hv-home[data-home-new-hover] .hv-space-dockbtn em{display:block}.hv-resume-page{box-sizing:border-box;color:#171717;background:#fff;font-family:Georgia,Times New Roman,serif;overflow:hidden}.hv-rp-book{width:128px;height:169px;padding:10px 8px 8px;font-size:2.35px;line-height:1.2}.hv-rp-template{width:100%;height:100%;padding:8px 7px 7px;font-size:1.72px;line-height:1.14;position:absolute;inset:0}.hv-rp-name-preview{border-radius:5px;width:153px;height:198px;padding:12px 10px 9px;font-size:2.85px;line-height:1.2}.hv-rp-name-preview .hv-rp-contact{white-space:nowrap;overflow:hidden}.hv-rp-name-preview .hv-rp-summary{max-height:2.45em;overflow:hidden}.hv-rp-name-preview ul{max-height:2.55em;overflow:hidden}.hv-rp-name-preview .hv-rp-section{margin-top:.76em}.hv-rp-header{text-align:center}.hv-resume-page .hv-rp-name{font-size:2.45em;font-weight:700;line-height:1.08}.hv-resume-page .hv-rp-role{margin-top:.35em;font-size:.96em}.hv-resume-page .hv-rp-contact{margin-top:.45em;font-size:.72em;line-height:1.22}.hv-resume-page .hv-rp-section{border-bottom:.35px solid #333;margin-top:1.05em;padding-bottom:.22em;font-size:1.04em;font-weight:700}.hv-resume-page p{margin:.34em 0}.hv-resume-page b{font-weight:700}.hv-resume-page i{color:#444;font-style:italic}.hv-rp-job,.hv-rp-jobmeta,.hv-rp-project{justify-content:space-between;align-items:baseline;gap:1em;display:flex}.hv-rp-job{margin-top:.42em}.hv-rp-job span,.hv-rp-project span{text-align:right;margin-left:auto}.hv-rp-jobmeta{color:#444;margin-top:.05em}.hv-rp-jobmeta i:last-child{text-align:right;margin-left:auto}.hv-resume-page ul{margin:.24em 0 .32em 1.5em;padding:0}.hv-resume-page li{margin:.08em 0;padding-left:.12em}.hv-rp-project{margin-top:.35em}.hv-rp-project+p{margin-top:.08em}.hv-resume-page.is-jane .hv-rp-name,.hv-resume-page.is-jane .hv-rp-section{color:#008a96}.hv-resume-page.is-jane .hv-rp-section{border-color:#35a5ad}.hv-resume-page.is-morgan .hv-rp-header{text-align:left}.hv-resume-page.is-morgan .hv-rp-name,.hv-resume-page.is-morgan .hv-rp-section{color:#147b9a}.hv-resume-page.is-morgan .hv-rp-section{border-color:#84c6d7}.hv-resume-page.is-typst{font-family:var(--hv-font)}.hv-resume-page.is-typst .hv-rp-header{text-align:left}.hv-resume-page.is-typst .hv-rp-section{letter-spacing:.04em;border-top:.35px solid #444;border-bottom:0;padding-top:.3em}.hv-rp-template .hv-rp-section{margin-top:.72em}.hv-rp-template ul{margin-top:.15em;margin-bottom:.18em}.hv-rp-template .hv-rp-job{margin-top:.25em}.hv-home-backdrop{z-index:20;backdrop-filter:blur(5px);background:#0000009e;display:none;position:absolute;inset:0}.hv-template-modal,.hv-name-modal{z-index:21;background:#181818;border:1px solid #292929;border-radius:9px;width:638px;height:483px;display:none;position:absolute;top:96px;left:221px;overflow:hidden;box-shadow:0 22px 65px #000000b8}.hv-template-modal>header,.hv-name-modal>header{height:41px;font:8px/1 var(--hv-font);border-bottom:1px solid #2a2a2a;align-items:center;padding:0 14px;display:flex}.hv-template-modal>header b,.hv-name-modal>header b{font-size:11.2px}.hv-tpl-import{color:#65a30d;align-items:center;gap:5px;margin-left:auto;display:flex}.hv-tpl-import svg,.hv-tpl-close svg{width:11px;height:11px}.hv-tpl-close{color:#ddd;margin-left:14px}.hv-template-body{height:442px;display:flex}.hv-template-body>aside{border-right:1px solid #292929;flex:none;width:125px;padding:6px;position:relative;overflow:hidden}.hv-tpl-cat{color:#9c9c9c;height:24px;font:9.2px/1 var(--hv-font);border-radius:5px;align-items:center;gap:4px;padding:0 7px;display:flex}.hv-tpl-cat.is-on{color:#f0f0f0;background:#292929;font-weight:600}.hv-tpl-cat span:nth-child(2),.hv-tpl-cat>span:first-child:not(.hv-tpl-spark){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hv-tpl-cat em{text-align:center;min-width:14px;height:14px;font:600 6.2px/14px var(--hv-font);background:#292929;border-radius:99px;margin-left:auto;font-style:normal}.hv-tpl-cat.is-on em{background:#4a4a4a}.hv-tpl-spark{color:#3b82f6;display:flex}.hv-tpl-spark svg{width:10px;height:10px}.hv-get-templates{color:#aaa;font:8.4px/1 var(--hv-font);align-items:center;gap:6px;display:flex;position:absolute;bottom:11px;left:10px}.hv-get-templates svg{width:11px;height:11px}.hv-template-main{width:513px;min-width:0}.hv-template-filters{border-bottom:1px solid #292929;align-items:center;gap:6px;height:48px;padding:7px 12px;display:flex}.hv-template-filters>span{color:#b5b5b5;height:29px;font:8.2px/1 var(--hv-font);white-space:nowrap;border:1px solid #2a2a2a;border-radius:6px;align-items:center;display:flex}.hv-template-search{background:#090909;flex:1;gap:6px;padding:0 9px;color:#888!important}.hv-template-search svg{width:10px;height:10px}.hv-engine-filter{background:#0d0d0d;justify-content:space-between;width:94px;padding:0 9px}.hv-engine-filter svg{width:8px}.hv-ats-filter,.hv-offline-filter{justify-content:center;padding:0 9px;border-radius:999px!important;height:19px!important}.hv-ats-filter svg{width:8px;margin-right:3px;display:none}.hv-home[data-home-ats] .hv-ats-filter{color:#10b981;background:#10b9811f;border-color:#10b98159}.hv-home[data-home-ats] .hv-ats-filter svg{display:block}.hv-template-grid{grid-template-columns:repeat(4,1fr);align-content:start;gap:18px 11px;height:394px;padding:11px 14px;display:grid;overflow:hidden}.hv-tpl-card{color:#eee;min-width:0;font-family:var(--hv-font);flex-direction:column;display:flex;position:relative}.hv-home[data-home-ats] .hv-tpl-card:not(.is-ats){display:none}.hv-tpl-page{aspect-ratio:17/22;background:#fff;border:1px solid #00000026;border-radius:5px;width:100%;transition:transform .16s,box-shadow .16s,outline .16s;position:relative;overflow:hidden;box-shadow:0 2px 5px #00000038}.hv-tpl-card>b{font:600 8.2px/1.1 var(--hv-font);text-overflow:ellipsis;white-space:nowrap;margin:6px 1px 0;overflow:hidden}.hv-tpl-card>small{color:#777;font:600 5.8px/1 var(--hv-font);letter-spacing:.04em;align-items:center;gap:4px;margin:3px 1px 0;display:flex}.hv-tpl-card>small i{background:#10b981;border-radius:50%;width:4px;height:4px}.hv-tpl-card>small em{color:#eab308;letter-spacing:0;font-style:normal}.hv-tpl-setup{z-index:5;color:#fff;font:6px/1 var(--hv-font);background:#141414ab;border-radius:3px;align-items:center;gap:3px;padding:3px 4px;display:flex;position:absolute;top:4px;left:4px}.hv-tpl-setup svg{width:7px;height:7px}.hv-tpl-blank{color:#888;justify-content:center;align-items:center;font:3.4px Georgia,serif;display:flex;position:absolute;inset:0}.hv-tpl-diagram{flex-direction:column;justify-content:space-around;align-items:center;display:flex;position:absolute;inset:14px}.hv-tpl-diagram span{color:#333;text-align:center;background:#e7e0ff;border:1px solid #aaa;border-radius:4px;width:58px;height:18px;font:7px/18px Georgia,serif}.hv-tpl-diagram span:last-child{background:#d8ffd8}.hv-tpl-diagram i{border-left:1px solid #333;height:20px}.hv-home[data-home-template-hover] .hv-tpl-card.is-software .hv-tpl-page{outline:1px solid #4f80ff;transform:translateY(-2px);box-shadow:0 4px 9px #00000073}.hv-template-tip{z-index:10;color:#fff;width:190px;font:7.7px/1.22 var(--hv-font);background:#343434;padding:5px;display:none;position:absolute;top:134px;left:90px;box-shadow:0 2px 6px #00000080}.hv-home[data-home-template-hover] .hv-template-tip,.hv-home[data-home-state=templates] .hv-home-backdrop,.hv-home[data-home-state=templates] .hv-template-modal,.hv-home[data-home-state=naming] .hv-home-backdrop,.hv-home[data-home-state=naming] .hv-name-modal{display:block}.hv-home[data-home-state=templates] .hv-space-library,.hv-home[data-home-state=naming] .hv-space-library{filter:blur(5px);opacity:.58}.hv-name-modal>header{justify-content:space-between}.hv-name-modal>header span svg{width:11px;height:11px}.hv-name-body{height:442px;display:flex}.hv-name-body>aside{border-right:1px solid #292929;flex:none;width:183px;padding:14px}.hv-name-body>aside h3{font:600 10px/1 var(--hv-font);margin:10px 0 3px}.hv-name-body>aside p{color:#999;font:8px/1 var(--hv-font);margin:0 0 9px}.hv-name-body>aside>.hv-name-tags{gap:4px;display:flex}.hv-name-body>aside>.hv-name-tags span,.hv-name-body>aside>.hv-name-tags em{color:#aaa;font:6px/1 var(--hv-font);background:#2b2b2b;border-radius:999px;padding:3px 6px;font-style:normal}.hv-name-body>aside>.hv-name-tags span{color:#10b981;background:#10b98124}.hv-name-body>aside>small{color:#888;font:7px/1 var(--hv-font);margin-top:12px;display:block}.hv-name-body>main{flex:1;padding:20px 17px;position:relative}.hv-name-body label{color:#9b9b9b;font:600 7.4px/1 var(--hv-font);letter-spacing:.05em;margin:0 0 7px;display:block}.hv-name-input{color:#ddd;height:28px;font:9.5px/1 var(--hv-font);background:#080808;border:1px solid #2a2a2a;border-radius:6px;align-items:center;margin-bottom:18px;padding:0 9px;display:flex}.hv-name-caret{background:#eee;width:1px;height:12px;margin-left:1px;animation:.8s step-end infinite hv-caret;display:none}.hv-home[data-home-name-typing] .hv-name-caret{display:inline-block}.hv-color-row{align-items:center;gap:8px;display:flex}.hv-color{background:var(--swatch);border-radius:50%;width:21px;height:21px;transition:transform .15s;position:relative}.hv-color.is-on{transform:scale(1.08);box-shadow:0 0 0 1px #2563eb,0 0 0 3px #181818}.hv-color>i{color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;display:none;position:absolute;inset:3px}.hv-color>i svg{width:10px;height:10px}.hv-color>em{color:#ddd;font:6.8px/1 var(--hv-font);background:#111;border-radius:5px;padding:4px 6px;font-style:normal;display:none;position:absolute;top:27px;left:50%;transform:translate(-50%)}.hv-home[data-home-color=lilac] .hv-color.is-on{box-shadow:none;transform:none}.hv-home[data-home-color=lilac] #hvHomeLilac{transform:scale(1.08);box-shadow:0 0 0 1px #2563eb,0 0 0 3px #181818}.hv-home[data-home-color=lilac] #hvHomeLilac>i,.hv-home[data-home-color-hover] #hvHomeLilac>em{display:flex}.hv-name-actions{font:8.7px/1 var(--hv-font);align-items:center;gap:17px;display:flex;position:absolute;bottom:17px;right:17px}.hv-name-actions>span{align-items:center;gap:5px;display:flex}.hv-name-actions>span svg{width:9px;transform:rotate(180deg)}.hv-name-actions button{color:#fff;height:27px;font:8.7px/1 var(--hv-font);background:#2563eb;border:0;border-radius:6px;align-items:center;gap:7px;padding:0 9px;display:flex}.hv-name-actions button>svg{width:9px}.hv-name-actions button small{background:#fff3;border-radius:3px;padding:3px 4px;font-size:5.5px}.hv-created-project{z-index:30;color:#eaeaea;background:#0a0a0a;display:none;position:absolute;inset:0}.hv-home[data-home-state=created] .hv-space-library,.hv-home[data-home-state=created] .hv-home-backdrop,.hv-home[data-home-state=created] .hv-template-modal,.hv-home[data-home-state=created] .hv-name-modal{display:none}.hv-home[data-home-state=created] .hv-created-project{animation:.32s both hv-created-in;display:block}@keyframes hv-created-in{0%{opacity:0;transform:scale(.995)}to{opacity:1;transform:none}}.hv-created-top{background:#080808;border-bottom:1px solid #202020;align-items:center;height:34px;display:flex;position:absolute;inset:0 0 auto}.hv-created-brand{color:#a7a7a7;width:420px;font:8.5px/1 var(--hv-font);align-items:center;gap:7px;padding-left:12px;display:flex}.hv-created-brand>svg:first-child{color:#4ade80;width:12px;height:12px}.hv-created-brand>svg{width:8px;height:8px}.hv-created-brand b{color:#eee;font-size:9.5px}.hv-created-brand span{background:#c9b4ed;border-radius:50%;width:6px;height:6px}.hv-created-brand strong{font-weight:400}.hv-created-modes{border:1px solid #242424;border-radius:6px;gap:2px;padding:2px;display:flex;position:absolute;top:6px;left:500px}.hv-created-modes i{color:#aaa;border-radius:4px;justify-content:center;align-items:center;width:20px;height:18px;display:flex}.hv-created-modes i.is-on{color:#fff;background:#1d1d1d}.hv-created-modes svg{width:11px;height:11px}.hv-created-actions{color:#aaa;font:8px/1 var(--hv-font);align-items:center;gap:12px;margin-left:auto;padding-right:10px;display:flex}.hv-created-actions>svg{width:11px;height:11px}.hv-created-actions button{color:#fff;height:23px;font:8px/1 var(--hv-font);background:#1d4ed8;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 8px;display:flex}.hv-created-actions button .hv-created-spinner{border:1.4px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.8s linear infinite hv-spin}.hv-created-actions button svg{width:8px}.hv-created-actions button>b{color:inherit;font-weight:500}.hv-created-recompile{align-items:center;display:none}.hv-created-avatar{object-fit:cover;border-radius:50%;flex:none;width:15px;height:15px;display:block}.hv-created-actions>b{color:#ccc;font-weight:500}.hv-created-rail{color:#aaa;border-right:1px solid #202020;flex-direction:column;align-items:center;gap:13px;width:34px;padding:8px 0;display:flex;position:absolute;top:34px;bottom:0;left:0}.hv-created-rail svg{width:13px;height:13px}.hv-created-rail span{display:flex;position:relative}.hv-created-rail span b{color:#fff;text-align:center;min-width:11px;height:11px;font:5.5px/11px var(--hv-font);background:#2563eb;border-radius:50%;position:absolute;top:-6px;left:9px}.hv-created-rail i{background:#272727;width:18px;height:1px}.hv-created-rail em{flex:1}.hv-created-work{display:flex;position:absolute;inset:34px 0 0 34px}.hv-resume-editor{background:#090909;border-right:1px solid #202020;width:516px;position:relative;overflow:hidden}.hv-resume-tab{width:max-content;height:28px;font:8.5px/1 var(--hv-font);background:#202020;border-radius:0 0 6px;align-items:center;gap:6px;padding:0 10px;display:flex}.hv-resume-tab svg{width:8px;height:8px}.hv-resume-tools{color:#aaa;border-bottom:1px solid #1d1d1d;align-items:center;gap:10px;height:28px;padding:0 10px;display:flex}.hv-resume-tools svg{width:11px;height:11px}.hv-resume-tools span{font:9px/1 var(--hv-font)}.hv-resume-tools i{margin-left:auto}.hv-resume-code{font:8.9px/1.48 var(--hv-mono);padding:6px 0 40px;position:absolute;inset:56px 0 0;overflow:hidden}.hv-resume-line{white-space:pre;min-height:13.2px;display:flex}.hv-resume-line:first-child{background:#171717}.hv-resume-ln{color:#8a8a8a;text-align:right;user-select:none;flex:none;width:60px;padding-right:10px}.hv-resume-line code{color:#dadada;font:inherit}.hv-resume-command{color:#56d364}.hv-resume-comment{color:#777;font-style:italic}.hv-created-preview{background:#171717;flex:1;position:relative}.hv-created-pvbar{color:#aaa;height:31px;font:8px/1 var(--hv-font);border-bottom:1px solid #202020;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.hv-created-pvbar>span{align-items:center;gap:10px;display:flex}.hv-created-pvbar svg{width:11px;height:11px}.hv-created-pvbar b{font-weight:400}.hv-created-status{color:#10b981;align-items:center;gap:3px;display:none!important}.hv-created-status i{display:inline-flex}.hv-created-status em{font-style:normal}.hv-created-page-nav{color:#aaa;white-space:nowrap;display:none}.hv-created-compile{color:#d8d8d8;width:365px;font-family:var(--hv-font);position:absolute;top:228px;left:50%;transform:translate(-50%,-50%)}.hv-cc-title{align-items:center;gap:7px;height:24px;display:flex}.hv-cc-title svg{color:#aaa;width:12px;height:12px}.hv-cc-title b{font-size:9.5px}.hv-cc-title i{background:#2d60ab;border-radius:50%;width:4px;height:4px}.hv-cc-title span{color:#888;margin-left:auto;font-size:7px}.hv-cc-bars{grid-template-columns:repeat(3,1fr);gap:3px;height:3px;margin:4px 0 7px;display:grid}.hv-cc-bars i{background:#393939}.hv-cc-bars i:first-child{background:#10b981}.hv-cc-bars i:nth-child(2){transform-origin:0;background:#2563eb;animation:1.4s ease-in-out infinite hv-compile-bar}@keyframes hv-compile-bar{0%,to{transform:scaleX(.28)}60%{transform:scaleX(1)}}.hv-created-compile>small{color:#858585;font-size:7px}.hv-cc-row{border-bottom:1px solid #252525;align-items:center;gap:10px;height:48px;display:flex}.hv-cc-row>svg,.hv-cc-row>i{flex:none;width:11px;height:11px}.hv-cc-row.done>svg{color:#10b981}.hv-cc-row.run>i{border:1.5px solid #3b82f6;border-top-color:#0000;border-radius:50%;animation:.8s linear infinite hv-spin}.hv-cc-row.queued>i{background:#555;border-radius:50%;width:5px;height:5px;margin-left:3px;margin-right:3px}.hv-cc-row div{flex-direction:column;gap:4px;display:flex}.hv-cc-row div b{font-size:8.3px}.hv-cc-row div span{color:#888;font-size:6.8px}.hv-cc-row em{color:#777;font:6.3px/1 var(--hv-font);margin-left:auto;font-style:normal}.hv-cc-row.done em{color:#10b981}.hv-cc-row.run em{color:#3b82f6}.hv-created-output{background:#171717;justify-content:center;align-items:flex-start;padding:13px;display:none;position:absolute;inset:31px 0 0;overflow:hidden}.hv-rp-created{width:414px;height:536px;padding:34px 29px 25px;font-size:7.7px;line-height:1.34;box-shadow:0 5px 20px #0006}.hv-home[data-home-compile=render] .hv-cc-bars i:nth-child(2){background:#10b981;animation:none;transform:none}.hv-home[data-home-compile=render] .hv-cc-bars i:nth-child(3){transform-origin:0;background:#2563eb;animation:1.1s ease-in-out infinite hv-compile-bar}.hv-home[data-home-compile=render] .hv-cc-row.run>i{color:#10b981;border:0;animation:none}.hv-home[data-home-compile=render] .hv-cc-row.run>i:after{content:"✓";font:700 10px/1 var(--hv-font)}.hv-home[data-home-compile=render] .hv-cc-row.run em{color:#10b981}.hv-home[data-home-compile=render] .hv-cc-row.run em:before{content:"DONE";font-size:6.3px}.hv-home[data-home-compile=render] .hv-cc-row.run em{font-size:0}.hv-home[data-home-compile=render] .hv-cc-row.queued>i{background:0 0;border:1.5px solid #3b82f6;border-top-color:#0000;border-radius:50%;width:11px;height:11px;margin:0;animation:.8s linear infinite hv-spin}.hv-home[data-home-compile=render] .hv-cc-row.queued em{color:#3b82f6}.hv-home[data-home-compile=render] .hv-cc-row.queued em:before{content:"RUNNING";font-size:6.3px}.hv-home[data-home-compile=render] .hv-cc-row.queued em{font-size:0}.hv-home[data-home-compile=done] .hv-created-compile{display:none}.hv-home[data-home-compile=done] .hv-created-output{animation:.3s ease-out both hv-pdf-reveal;display:flex}.hv-home[data-home-compile=done] .hv-created-spinner{display:none}.hv-home[data-home-compile=done] .hv-created-recompile{display:inline-flex}.hv-home[data-home-compile=done] .hv-created-status,.hv-home[data-home-compile=done] .hv-created-page-nav{display:inline-flex!important}@keyframes hv-pdf-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.heroapp[data-scene=home] .hv-cursor{z-index:80}.hv-diagram-scene{--dgm-blue:#2869ea;color:#d7d7d7;font-family:var(--hv-font);background:#0a0a0a;overflow:hidden}.hv-diagram-scene button{color:inherit;font:inherit;cursor:default;border:0}.hv-diagram-scene svg{display:block}.hv-dgm-standalone,.hv-dgm-home,.hv-dgm-project{position:absolute;inset:0}.hv-dgm-home,.hv-dgm-project,.hv-dgm-save-sheet,.hv-dgm-sheet-backdrop{display:none}.hv-dgm-topbar,.hv-dgm-app-top{z-index:12;background:#080808;border-bottom:1px solid #202020;align-items:center;height:34px;display:flex;position:relative}.hv-dgm-breadcrumb,.hv-dgm-app-brand{color:#8e8e8e;white-space:nowrap;align-items:center;gap:11px;padding-left:16px;font-size:9px;display:flex}.hv-dgm-brand,.hv-dgm-app-brand{color:#eee}.hv-dgm-brand{align-items:center;gap:7px;display:flex}.hv-dgm-brand svg,.hv-dgm-app-brand>svg{width:13px;height:13px}.hv-dgm-brand b,.hv-dgm-app-brand b{font-weight:650}.hv-dgm-breadcrumb>span:last-child svg{width:10px;height:10px}.hv-dgm-breadcrumb i{color:#777;font-size:15px;font-style:normal}.hv-dgm-mode{background:#0b0b0b;border:1px solid #202020;border-radius:7px;height:22px;padding:2px;display:flex;position:absolute;top:7px;left:50%;transform:translate(-50%)}.hv-dgm-mode button{color:#a8a8a8;background:0 0;border-radius:5px;align-items:center;gap:4px;height:18px;padding:0 10px;font-size:8px;display:flex}.hv-dgm-mode svg{width:9px;height:9px}.hv-dgm-top-actions{align-items:center;gap:7px;margin-left:auto;padding-right:12px;display:flex}.hv-dgm-top-actions button,.hv-dgm-app-actions button{background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:23px;display:flex}.hv-dgm-top-actions svg,.hv-dgm-app-actions svg{width:11px;height:11px}.hv-dgm-primary{min-width:68px;background:var(--dgm-blue)!important;color:#fff!important;padding:0 11px!important;font-size:8.5px!important}.hv-dgm-compile-play,.hv-dgm-compile-re{display:inline-flex}.hv-dgm-compile-re,.hv-dgm-compile-spin{display:none}.hv-dgm-compile-spin{border:1.5px solid #ffffff61;border-top-color:#fff;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite hv-spin}.hv-dgm-icon{color:#eee;min-width:44px;padding:0 8px;font-size:8px}.hv-dgm-icon:hover{background:#242424}.hv-dgm-standalone-main{display:flex;position:absolute;inset:34px 0 0;overflow:hidden}.hv-dgm-draw-pane,.hv-dgm-code,.hv-dgm-preview-pane{min-width:0;height:100%;position:relative;overflow:hidden}.hv-dgm-draw-pane{--dgm-scale:.83;background-color:#111;background-image:radial-gradient(circle,#ffffff1d .72px,#0000 .8px);background-size:15px 15px;flex:1}.hv-dgm-shapes{z-index:5;color:#ddd;width:29px;font:12px/1 var(--hv-font);background:#151515;border:1px solid #282828;border-radius:8px;flex-direction:column;align-items:center;gap:11px;padding:7px 0;display:flex;position:absolute;top:8px;left:7px}.hv-dgm-shapes span{justify-content:center;align-items:center;width:18px;height:14px;display:flex}.hv-dgm-shapes svg{width:11px;height:11px}.hv-dgm-help{z-index:5;color:#aaa;white-space:nowrap;background:#121212f0;border:1px solid #272727;border-radius:12px;align-items:center;height:22px;padding:0 13px;font-size:7.8px;display:flex;position:absolute;top:7px;left:50%;transform:translate(-50%)}.hv-dgm-zoom{z-index:5;background:#141414;border:1px solid #292929;border-radius:7px;flex-direction:column;align-items:center;gap:8px;width:25px;padding:5px 0;display:flex;position:absolute;bottom:8px;left:9px}.hv-dgm-zoom b{font-size:12px;font-weight:400}.hv-dgm-art{width:800px;height:570px;transform:translate(-50%,-50%) scale(var(--dgm-scale,.82));transform-origin:50%;color:#0f172a;font-family:Georgia,serif;position:absolute;top:50%;left:50%}.hv-dgm-art.is-dark{color:#d0d0d0}.hv-dgm-wires{width:800px;height:570px;position:absolute;inset:0;overflow:visible}.hv-dgm-wires path{fill:none;stroke:currentColor;stroke-width:1.25px}.hv-dgm-wires marker path{fill:currentColor;stroke:none}.hv-dgm-box{color:#0f172a;text-align:center;box-sizing:border-box;border:1px solid #55606d;border-radius:3px;justify-content:center;align-items:center;height:29px;font:10px/1.05 Georgia,serif;display:flex;position:absolute}.hv-dgm-output{text-align:center;width:150px;font-size:10px;position:absolute;top:13px;left:481px}.hv-dgm-box.softmax{background:#cdedd0;width:142px;top:53px;left:485px}.hv-dgm-box.linear{background:#dad2f0;width:142px;top:103px;left:485px}.hv-dgm-stack{box-sizing:border-box;background:#e9e9ec;border:1px solid #c7c7cc;border-radius:13px;position:absolute}.hv-dgm-stack.encoder{width:184px;height:192px;top:240px;left:129px}.hv-dgm-stack.decoder{width:184px;height:286px;top:146px;left:464px}.hv-dgm-stack .hv-dgm-box{width:142px;left:20px}.hv-dgm-stack.encoder .top{top:12px}.hv-dgm-stack.encoder .feed{top:56px}.hv-dgm-stack.encoder .norm:not(.top){top:106px}.hv-dgm-stack.encoder .attention{top:150px}.hv-dgm-stack.decoder .top{top:12px}.hv-dgm-stack.decoder .feed{top:56px}.hv-dgm-stack.decoder .norm:nth-of-type(3){top:106px}.hv-dgm-stack.decoder .attention:nth-of-type(4){top:150px}.hv-dgm-stack.decoder .norm:nth-of-type(5){top:200px}.hv-dgm-stack.decoder .masked{height:29px;top:244px}.hv-dgm-box.norm{background:#eef2c3}.hv-dgm-box.feed{background:#cfe8f8}.hv-dgm-box.attention{background:#fde3c7}.hv-dgm-box.embed{background:#f9d7d9}.hv-dgm-repeat{font-size:9px;position:absolute}.hv-dgm-repeat.encoder-repeat{top:330px;left:68px}.hv-dgm-repeat.decoder-repeat{top:287px;left:654px}.hv-dgm-plus,.hv-dgm-dot{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #55606d;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex;position:absolute;top:439px}.hv-dgm-plus.plus-left{left:209px}.hv-dgm-dot.dot-left{left:142px}.hv-dgm-plus.plus-right{left:544px}.hv-dgm-dot.dot-right{left:611px}.hv-dgm-pos{text-align:center;width:118px;font-size:9px;position:absolute;top:469px}.hv-dgm-pos.pos-left{left:41px}.hv-dgm-pos.pos-right{left:618px}.hv-dgm-box.embed{width:142px;height:29px;top:484px}.hv-dgm-box.embed-left{left:150px}.hv-dgm-box.embed-right{left:485px}.hv-dgm-base{text-align:center;width:142px;font-size:10px;position:absolute;top:535px}.hv-dgm-base.base-left{left:150px}.hv-dgm-base.base-right{left:485px}.hv-dgm-art.is-dark .hv-dgm-stack{background:#e9e9ec}.hv-dgm-art.is-dark .hv-dgm-box,.hv-dgm-art.is-dark .hv-dgm-plus{color:#0f172a}.hv-dgm-art.is-dark .hv-dgm-wires path{stroke:#999}.hv-dgm-art.is-dark .hv-dgm-wires marker path{fill:#999}.hv-dgm-minimap{background:#141414f0;border:1px solid #2b2b2b;border-radius:8px;width:134px;height:94px;display:none;position:absolute;bottom:-10px;right:-36px}.hv-dgm-art.is-dark .hv-dgm-minimap{display:block}.hv-dgm-minimap span{background:#242424;border:1px solid #3a3a3a;width:18px;height:42px;position:absolute;bottom:17px}.hv-dgm-minimap span:first-child{height:28px;left:47px}.hv-dgm-minimap span:last-child{left:79px}.hv-dgm-code{background:#080808;display:none}.hv-dgm-code.is-standalone{border-right:1px solid #202020}.hv-dgm-snips{color:#909090;background:#171717;border-bottom:1px solid #232323;align-items:center;height:25px;padding:0 6px;font-size:7px;display:flex}.hv-dgm-code-scroll{font:8.2px/1.45 var(--hv-mono);padding-top:6px;position:absolute;inset:25px 0 0;overflow:hidden}.hv-dgm-code-line{white-space:pre;color:#d6d6d6;min-height:12px;display:flex}.hv-dgm-code-line:nth-child(11){background:#171717}.hv-dgm-ln{color:#888;text-align:right;flex:none;width:34px;padding-right:10px}.hv-dgm-code-line code{font:inherit}.hv-dgm-cmd{color:#68dd72}.hv-dgm-preview-pane{background:#181818;flex:1;display:none}.hv-dgm-previewbar{color:#999;border-bottom:1px solid #292929;align-items:center;gap:10px;height:25px;padding:0 5px 0 9px;font-size:7px;display:flex}.hv-dgm-previewbar b{letter-spacing:.08em}.hv-dgm-previewbar .hv-dgm-select{background:#0b0b0b;border-radius:5px;align-items:center;height:18px;padding:0 8px;display:flex}.hv-dgm-previewbar>i{background:#fff;border-radius:50%;width:19px;height:19px}.hv-dgm-preview-close{justify-content:center;align-items:center;width:22px;height:22px;margin-left:auto;display:flex;color:#aaa!important;background:0 0!important;border-radius:5px!important}.hv-dgm-preview-close svg{width:11px;height:11px}.hv-dgm-preview-close:hover{color:#eee!important;background:#272727!important}.hv-dgm-paper,.hv-dgm-project-paper{background:#fff;position:absolute;overflow:hidden}.hv-dgm-paper{--dgm-scale:.72;inset:57px 9px 9px}.hv-dgm-paper .hv-dgm-art{top:51%}.hv-dgm-compile-overlay{color:#929292;justify-content:center;align-items:center;gap:7px;font-size:8px;display:none;position:absolute;inset:25px 0 0}.hv-dgm-spinner{border:1.5px solid #555;border-top-color:#ccc;border-radius:50%;width:10px;height:10px;animation:.8s linear infinite hv-spin}.hv-diagram-scene[data-diagram-state=source] .hv-dgm-code.is-standalone{width:100%;display:block}.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-code.is-standalone,.hv-diagram-scene[data-diagram-state=preview] .hv-dgm-code.is-standalone,.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-preview-pane,.hv-diagram-scene[data-diagram-state=preview] .hv-dgm-preview-pane,.hv-diagram-scene[data-diagram-state^=drawsplit] .hv-dgm-preview-pane,.hv-diagram-scene[data-diagram-state^=save] .hv-dgm-preview-pane,.hv-diagram-scene[data-diagram-state^=saved] .hv-dgm-preview-pane{width:50%;display:block}.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-compile-overlay{display:flex}.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-paper{opacity:0}.hv-diagram-scene[data-diagram-state=source] .hv-dgm-draw-pane,.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-draw-pane,.hv-diagram-scene[data-diagram-state=preview] .hv-dgm-draw-pane{display:none}.hv-diagram-scene[data-diagram-state^=drawsplit] .hv-dgm-draw-pane,.hv-diagram-scene[data-diagram-state^=save] .hv-dgm-draw-pane,.hv-diagram-scene[data-diagram-state^=saved] .hv-dgm-draw-pane{--dgm-scale:.58;flex:none;width:50%}.hv-diagram-scene[data-diagram-state=source] #hvDiagramCode,.hv-diagram-scene[data-diagram-state=compiling] #hvDiagramCode,.hv-diagram-scene[data-diagram-state=preview] #hvDiagramCode,.hv-diagram-scene:not([data-diagram-state=source]):not([data-diagram-state=compiling]):not([data-diagram-state=preview]) #hvDiagramDraw{color:#eee;background:#252525}.hv-diagram-scene[data-diagram-state=compiling] #hvDiagramCompile{opacity:.72}.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-compile-play{display:none}.hv-diagram-scene[data-diagram-state=compiling] .hv-dgm-compile-spin{display:inline-block}.hv-diagram-scene:not([data-diagram-state=draw]):not([data-diagram-state=source]):not([data-diagram-state=compiling]) .hv-dgm-compile-play{display:none}.hv-diagram-scene:not([data-diagram-state=draw]):not([data-diagram-state=source]):not([data-diagram-state=compiling]) .hv-dgm-compile-re{display:inline-flex}.hv-dgm-save-menu{z-index:25;color:#eee;align-items:flex-start;font-size:8px;display:none;position:absolute;top:32px;right:64px}.hv-diagram-scene[data-diagram-state=save] .hv-dgm-save-menu,.hv-diagram-scene[data-diagram-state=saveproject] .hv-dgm-save-menu,.hv-diagram-scene[data-diagram-state=savenew] .hv-dgm-save-menu{display:flex}.hv-dgm-project-menu,.hv-dgm-save-main{background:#080808;border:1px solid #222;border-radius:7px;overflow:hidden;box-shadow:0 8px 18px #00000080}.hv-dgm-project-menu{width:184px;margin-right:4px;padding:3px;display:none}.hv-diagram-scene[data-diagram-state=saveproject] .hv-dgm-project-menu,.hv-diagram-scene[data-diagram-state=savenew] .hv-dgm-project-menu{display:block}.hv-dgm-project-menu div,.hv-dgm-project-menu span{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;align-items:center;gap:7px;height:23px;padding:0 7px;display:flex;overflow:hidden}.hv-dgm-project-menu svg{width:10px;height:10px}.hv-dgm-project-menu div{border-bottom:1px solid #1c1c1c}.hv-dgm-project-menu b{font-weight:500}.hv-dgm-save-main{width:157px;height:max-content;padding:3px}.hv-dgm-save-main b,.hv-dgm-save-main>span{border-radius:4px;align-items:center;gap:7px;height:25px;padding:0 7px;display:flex}.hv-dgm-save-main b{font-weight:500}.hv-dgm-save-main b>span{flex:1;justify-content:flex-end}.hv-dgm-save-main b>i{color:#888;display:inline-flex;transform:rotate(180deg)}.hv-dgm-save-main b>svg:last-child{color:#aaa}.hv-dgm-save-main>span{border-top:1px solid #202020}.hv-dgm-save-main svg{width:10px}.hv-diagram-scene[data-diagram-state=saveproject] #hvDiagramSaveToProject,.hv-diagram-scene[data-diagram-state=savenew] #hvDiagramSaveToProject{background:#222}.hv-diagram-scene[data-diagram-state=saveproject] #hvDiagramAttention,.hv-diagram-scene[data-diagram-state=savenew] #hvDiagramNewProject{background:#252525}.hv-dgm-toast{z-index:27;color:#ddd;background:#050505;border:1px solid #262626;border-radius:7px;align-items:center;gap:10px;min-width:255px;height:42px;padding:0 15px;font-size:8px;display:none;position:absolute;bottom:14px;right:15px;box-shadow:0 6px 20px #00000080}.hv-dgm-toast-close{color:#aaa;background:#020202;border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:-7px}.hv-dgm-toast>span{color:#0bc78b}.hv-dgm-toast b{font-weight:500}.hv-dgm-toast-action{color:#3283ff;margin-left:auto;text-decoration:underline}.hv-diagram-scene[data-diagram-state=savedproject] .hv-dgm-toast,.hv-diagram-scene[data-diagram-state=savednew] .hv-dgm-toast,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-toast{animation:.25s ease-out both hv-dgm-toast-in;display:flex}@keyframes hv-dgm-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hv-diagram-scene[data-diagram-state=home] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state^=project] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-standalone,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-standalone{display:none}.hv-diagram-scene[data-diagram-state=home] .hv-dgm-home{background:#0b0c0e;display:block}.hv-dgm-home .hv-space-library{background:#0b0c0e}.hv-dgm-home .hv-space-book:first-child .hv-space-cover{animation:.4s ease-out both hv-dgm-book-arrive}@keyframes hv-dgm-book-arrive{0%{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:none}}.hv-diagram-scene[data-diagram-state^=project] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-project,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-project{display:block}.hv-dgm-app-top{padding-right:9px}.hv-dgm-app-brand i{background:#2589c7;border-radius:50%;width:6px;height:6px}.hv-dgm-layout{border:1px solid #202020;border-radius:6px;padding:2px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hv-dgm-layout button{border-radius:4px;justify-content:center;align-items:center;width:23px;height:20px;display:flex}.hv-dgm-layout button:first-child{background:#242424}.hv-dgm-layout svg{width:11px;height:11px}.hv-dgm-app-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.hv-dgm-app-actions>button:not(.hv-dgm-primary){width:23px}.hv-dgm-app-actions>span{font-size:8px}.hv-dgm-app-rail{color:#aaa;z-index:5;background:#0b0b0b;border-right:1px solid #202020;flex-direction:column;align-items:center;gap:13px;width:34px;padding:10px 0;display:flex;position:absolute;top:34px;bottom:0;left:0}.hv-dgm-app-rail span{position:relative}.hv-dgm-app-rail svg{width:13px;height:13px}.hv-dgm-app-rail span b{color:#fff;text-align:center;width:11px;height:11px;font:5.5px/11px var(--hv-font);background:#2563eb;border-radius:50%;position:absolute;top:-6px;left:9px}.hv-dgm-app-rail i{border-top:1px solid #292929;width:18px}.hv-dgm-app-rail div{flex:1}.hv-dgm-filetab{z-index:5;height:24px;font:8px/1 var(--hv-font);background:#202020;border-radius:0 0 6px;align-items:center;padding:0 11px;display:flex;position:absolute;top:34px;left:34px}.hv-dgm-formatbar{z-index:5;color:#aaa;border-bottom:1px solid #202020;align-items:center;height:27px;padding-left:10px;font-size:8px;display:flex;position:absolute;top:58px;left:34px;right:0}.hv-dgm-inner-mode{background:#252525;border-radius:10px;align-items:center;height:21px;margin-left:auto;margin-right:11px;padding:2px;display:flex}.hv-dgm-inner-mode button{color:#aaa;border-radius:9px;height:18px;padding:0 8px}.hv-dgm-inner-mode span{margin-left:7px}.hv-dgm-project-main{display:flex;position:absolute;inset:85px 0 0 34px}.hv-dgm-project-left,.hv-dgm-project-right{position:relative;overflow:hidden}.hv-dgm-project-left{background:#090909;border-right:1px solid #252525;width:50%}.hv-dgm-project-right{background:#181818;flex:1}.hv-dgm-project-source,.hv-dgm-project-canvas{position:absolute;inset:0}.hv-dgm-project-source .hv-dgm-code{display:block}.hv-dgm-project-source .hv-dgm-snips{display:none}.hv-dgm-project-source .hv-dgm-code-scroll{font-size:8.4px;top:0}.hv-dgm-project-canvas{--dgm-scale:.55;background-color:#111;background-image:radial-gradient(circle,#ffffff1d .72px,#0000 .8px);background-size:15px 15px;display:none}.hv-dgm-pdf-tools{color:#aaa;justify-content:space-between;align-items:center;height:30px;padding:0 6px 0 10px;font-size:7.5px;display:flex}.hv-dgm-pdf-tools>span{align-items:center;gap:4px;display:flex}.hv-dgm-pdf-tools b{color:#10b981}.hv-dgm-pdf-tools svg{vertical-align:middle;width:11px;height:11px;display:inline-block}.hv-dgm-project-close{border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.hv-dgm-project-close:hover{color:#eee;background:#292929}.hv-dgm-project-paper{--dgm-scale:.7;inset:30px 0 0 18px}.hv-diagram-scene[data-diagram-state=projectsource] .hv-dgm-project-left{width:100%}.hv-diagram-scene[data-diagram-state=projectsource] .hv-dgm-project-right{display:none}.hv-diagram-scene[data-diagram-state=projectsource] #hvDiagramInnerCode,.hv-diagram-scene[data-diagram-state=projectsplit] #hvDiagramInnerCode,.hv-diagram-scene[data-diagram-state=projectcanvas] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=inspector] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=fontsize] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=recompile] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=exportready] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=download] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=savesheet] #hvDiagramInnerCanvas,.hv-diagram-scene[data-diagram-state=exported] #hvDiagramInnerCanvas{color:#fff;background:#2869ea}.hv-diagram-scene[data-diagram-state=projectcanvas] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-project-left{width:100%}.hv-diagram-scene[data-diagram-state=projectcanvas] .hv-dgm-project-right,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-project-right,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-project-right,.hv-diagram-scene[data-diagram-state=projectcanvas] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-project-source,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-project-source{display:none}.hv-diagram-scene[data-diagram-state=projectcanvas] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-project-canvas{display:block}.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-project-left,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-project-left{width:50%}.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-project-canvas,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-project-canvas{--dgm-scale:.48}.hv-diagram-scene[data-diagram-state=recompile] #hvDiagramRecompile{opacity:.72}.hv-diagram-scene[data-diagram-state=recompile] #hvDiagramRecompile>svg:first-child{animation:.8s linear infinite hv-spin}.hv-dgm-inspector{z-index:8;color:#999;box-sizing:border-box;background:#181818;border:1px solid #292929;border-radius:8px;width:155px;padding:11px 9px;font-size:7.5px;display:none;position:absolute;top:31px;right:7px;box-shadow:0 8px 20px #00000059}.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-inspector,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-inspector{display:block}.hv-dgm-inspector>div:first-child{justify-content:space-between;margin-bottom:10px;display:flex}.hv-dgm-inspector strong{color:#ddd;background:#080808;border:1px solid #242424;border-radius:5px;align-items:center;height:26px;margin-bottom:7px;padding:0 7px;font-weight:400;display:flex}.hv-dgm-inspector label{justify-content:space-between;align-items:center;min-height:27px;display:flex}.hv-dgm-inspector label i{background:#fff;border-radius:50%;width:19px;height:19px}.hv-dgm-inspector label i.navy{background:#0f172a}.hv-dgm-inspector em{color:#ddd;background:#080808;border-radius:5px;justify-content:space-between;align-items:center;min-width:61px;height:20px;padding:0 7px;font-style:normal;display:flex}.hv-dgm-font-menu{z-index:3;color:#ddd;background:#0a0a0a;border:1px solid #292929;border-radius:7px;width:83px;padding:4px;display:none;position:absolute;top:222px;right:5px}.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-font-menu{display:block}.hv-dgm-font-menu span{border-radius:4px;align-items:center;height:20px;padding:0 8px;display:flex}.hv-dgm-font-menu #hvDiagramFont16{background:#252525}.hv-dgm-art.is-interactive .encoder-repeat{padding:3px 5px}.hv-diagram-scene[data-diagram-state=inspector] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=fontsize] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=recompile] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=exportready] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=download] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-art.is-interactive .encoder-repeat,.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-art.is-interactive .encoder-repeat{outline-offset:2px;color:#ddd;font-size:var(--dgm-label-size,9px);outline:1.5px solid #2869ea}.hv-dgm-download-menu{z-index:15;background:#080808;border:1px solid #252525;border-radius:7px;width:172px;padding:5px;display:none;position:absolute;top:33px;right:239px;box-shadow:0 8px 20px #00000073}.hv-diagram-scene[data-diagram-state=download] .hv-dgm-download-menu{display:block}.hv-dgm-download-menu span{border-radius:4px;align-items:center;gap:7px;height:23px;padding:0 7px;font-size:7.8px;display:flex}.hv-dgm-download-menu span:last-child{background:#282828}.hv-dgm-download-menu svg{width:11px;height:11px}.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-sheet-backdrop{z-index:40;background:#0000007a;display:block;position:absolute;inset:0}.hv-diagram-scene[data-diagram-state=savesheet] .hv-dgm-save-sheet{display:grid}.hv-dgm-save-sheet{z-index:41;color:#cfcfcf;width:264px;font:8px/1 var(--hv-font);background:#262626;border:1px solid #555;border-radius:18px;grid-template-columns:62px 1fr 22px;align-items:center;gap:8px;padding:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 50px #0000008c}.hv-dgm-sheet-input{color:#fff;background:#303030;border:2px solid #2b8ac4;border-radius:6px;grid-column:2/4;align-items:center;height:23px;padding:0 7px;display:flex}.hv-dgm-sheet-input i{background:#fff;width:1px;height:12px;margin-left:1px;animation:.8s step-end infinite hv-caret}.hv-dgm-save-sheet>div:not(.hv-dgm-sheet-input){background:#242424;border:1px solid #333;border-radius:5px;grid-column:2/4;height:21px}.hv-dgm-save-sheet strong{background:#303030;border-radius:5px;align-items:center;height:22px;padding:0 7px;font-weight:500;display:flex}.hv-dgm-save-sheet>button{background:#303030;border-radius:5px;height:22px}.hv-dgm-save-sheet footer{grid-column:1/4;justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.hv-dgm-save-sheet footer button{background:#3a3a3a;border-radius:6px;height:22px;padding:0 13px}.hv-dgm-save-sheet footer button:last-child{color:#fff;background:#087bf2}.hv-diagram-scene[data-diagram-state=exported] .hv-dgm-toast{min-width:250px}.heroapp[data-scene=diagram] .hv-cursor{z-index:70}.heroapp.hv-freeze *,.heroapp.hv-freeze .hv-cursor{transition:none!important;animation:none!important}@media (width<=640px){.heroapp{width:calc(100vw - 24px)}.hv-tour{margin-bottom:12px}.hv-tourbtn{padding:6px 12px;font-size:12px}}a[href^="http://"]:not([href*=oleafly\.com]):not(.btn):not(.dl-platform):not(.dl-card):not(.no-ext-icon):not(.nav-links a):after,a[href^="https://"]:not([href*=oleafly\.com]):not(.btn):not(.dl-platform):not(.dl-card):not(.no-ext-icon):not(.nav-links a):after{content:"↗";vertical-align:super;opacity:.85;margin-left:2px;font-size:.7em}a.btn[href^=http]:after,a.dl-platform:after,a.dl-card:after,a.no-ext-icon:after,.social-icons a:after,.brand:after,.stars:after{content:none!important;display:none!important}:root{--brand:#2563eb;--brand-hover:#3b82f6;--brand-text:#60a5fa;--bg:#08090a;--bg-deep:#060607;--surface:#0a0a0a;--surface-2:#191a1c;--text:#f7f8f8;--muted:#8a8f98;--line:#ffffff14;--line-strong:#ffffff24;--green:#34b44a;--red:#eb5757;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-popup:0 4px 16px #0006;--shadow-modal:0 16px 48px #00000080;--font:"Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}:where(.astro-wgrabhiq){box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;max-width:100%;scroll-padding-top:76px;overflow-x:clip}body{background:var(--bg);width:100%;max-width:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5;overflow-x:clip}main:where(.astro-wgrabhiq){width:100%;min-width:0;max-width:100%;overflow-x:clip}:where(.astro-wgrabhiq)::selection{background:#2563eb66}.container:where(.astro-wgrabhiq){max-width:1328px;margin:0 auto;padding:0 24px}.rel:where(.astro-wgrabhiq){position:relative}code:where(.astro-wgrabhiq){font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:#d6d9e0;padding:1px 5px;font-size:.86em}a:where(.astro-wgrabhiq){color:inherit}.skip:where(.astro-wgrabhiq){background:var(--brand);color:#fff;border-radius:var(--radius-md);z-index:100;padding:8px 12px;position:absolute;top:0;left:-9999px}.skip:where(.astro-wgrabhiq):focus{top:12px;left:12px}.btn:where(.astro-wgrabhiq){border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-sm:where(.astro-wgrabhiq){padding:6px 12px;font-size:13px}.btn-lg:where(.astro-wgrabhiq){padding:10px 18px;font-size:14px}.btn-primary:where(.astro-wgrabhiq){color:#08090a;background:#f7f8f8;border:1px solid #0000}.btn-primary:where(.astro-wgrabhiq):hover{background:#fff}.btn-ghost:where(.astro-wgrabhiq){color:#d6d9e0;border:1px solid var(--line-strong);background:0 0}.btn-ghost:where(.astro-wgrabhiq):hover{color:#fff;background:#ffffff0a}.btn-docs:where(.astro-wgrabhiq){background:#08090a}.btn-docs:where(.astro-wgrabhiq):hover{background:#111316}.nav:where(.astro-wgrabhiq){z-index:50;-webkit-backdrop-filter:blur(12px);background:#08090ad9;border-bottom:1px solid #0000;transition:border-color .15s;position:sticky;top:0}.nav:where(.astro-wgrabhiq).scrolled{border-bottom-color:var(--line)}.nav-inner:where(.astro-wgrabhiq){align-items:center;gap:24px;max-width:1328px;height:56px;margin:0 auto;padding:0 24px;display:flex}.brand:where(.astro-wgrabhiq){letter-spacing:-.01em;color:#fff;align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.nav-links:where(.astro-wgrabhiq){gap:4px;margin-left:8px;display:flex}.nav-links:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){color:var(--muted);border-radius:var(--radius-md);padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-links:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq):hover{color:#fff;background:#ffffff0a}.nav-cta:where(.astro-wgrabhiq){align-items:center;gap:8px;margin-left:auto;display:flex}.nav-burger:where(.astro-wgrabhiq){border:1px solid var(--line-strong);border-radius:var(--radius-md);color:#d6d9e0;cursor:pointer;background:0 0;justify-content:center;align-items:center;width:36px;height:36px;display:none}.nav-burger:where(.astro-wgrabhiq):hover{color:#fff;background:#ffffff0f}@media (width<=760px){.nav-burger:where(.astro-wgrabhiq){display:inline-flex}.nav-links:where(.astro-wgrabhiq){backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#08090afa;flex-direction:column;gap:2px;margin:0;padding:10px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0}.nav:where(.astro-wgrabhiq).nav-open .nav-links:where(.astro-wgrabhiq){display:flex}.nav-links:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){padding:10px 12px;font-size:15px}}.hero:where(.astro-wgrabhiq){text-align:left;padding:108px 0 40px;position:relative;overflow:hidden}.hero-glow:where(.astro-wgrabhiq){pointer-events:none;background:radial-gradient(720px 360px at 30% 12%,#2563eb1f,#0000 70%);height:620px;position:absolute;inset:-30% -20% auto}.hero-dot-field{mask-image:linear-gradient(#000 0% 72%,#0000 100%)}.pill:where(.astro-wgrabhiq){color:var(--muted);border:1px solid var(--line);background:#ffffff05;border-radius:999px;align-items:center;gap:8px;margin-bottom:28px;padding:5px 12px;font-size:12px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex;position:relative}.pill:where(.astro-wgrabhiq):hover{color:#d6d9e0;border-color:var(--line-strong)}.pill-dot:where(.astro-wgrabhiq){background:var(--green);border-radius:50%;width:6px;height:6px}.pill-os:where(.astro-wgrabhiq){border-left:1px solid var(--line);color:#a6abb5;align-items:center;gap:7px;margin-left:4px;padding-left:10px;display:inline-flex}.pill-os:where(.astro-wgrabhiq) svg:where(.astro-wgrabhiq){display:block}h1:where(.astro-wgrabhiq){letter-spacing:-.025em;margin-bottom:20px;font-size:clamp(2.6rem,6.4vw,4.35rem);font-weight:600;line-height:1.08;position:relative}.h1-line:where(.astro-wgrabhiq){background:linear-gradient(#fff 55%,#b8bcc8);-webkit-text-fill-color:transparent;background-clip:text;display:block}.h1-tenx:where(.astro-wgrabhiq){letter-spacing:-.03em;background:linear-gradient(100deg,#60a5fa 10%,#34b44a 90%);-webkit-text-fill-color:transparent;background-clip:text;margin-right:.06em;font-size:1.32em;font-weight:700}.rotate-slot:where(.astro-wgrabhiq){vertical-align:baseline;display:inline-block}.rotate-slot:where(.astro-wgrabhiq) div{vertical-align:baseline;padding:0;display:inline-block;overflow:visible}.h1-word{font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;white-space:nowrap}.lede:where(.astro-wgrabhiq){width:100%;max-width:none;color:var(--muted);margin:0 0 32px;font-size:16.5px;line-height:1.6;position:relative}.hero-actions:where(.astro-wgrabhiq){flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:56px;display:flex;position:relative}.hero-actions:where(.astro-wgrabhiq) a[data-slot=button]{text-decoration:none}@media (width<=760px){.stars:where(.astro-wgrabhiq){display:none}}.stars:where(.astro-wgrabhiq){gap:7px}.stars:where(.astro-wgrabhiq) svg:where(.astro-wgrabhiq){color:#e8b339}.stars-count:where(.astro-wgrabhiq):not(:empty){font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1px 6px;font-size:12px}.section:where(.astro-wgrabhiq){padding:104px 0 0}.eyebrow:where(.astro-wgrabhiq){font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brand-hover);margin-bottom:12px;font-size:12.5px;font-weight:700}h2:where(.astro-wgrabhiq){letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(1.6rem,3.4vw,2.25rem);font-weight:600;line-height:1.15}.sub:where(.astro-wgrabhiq){max-width:680px;color:var(--muted);margin-bottom:36px;font-size:15.5px;line-height:1.65}.sub:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){color:var(--brand-text);border-bottom:1px solid #60a5fa59;text-decoration:none}.sub:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq):hover{color:#93c5fd}.sub:where(.astro-wgrabhiq) em:where(.astro-wgrabhiq){color:#d6d9e0;font-style:normal;font-weight:500}.aside-note:where(.astro-wgrabhiq){color:var(--muted);margin-top:20px;font-size:13px}.aside-note:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){color:var(--brand-text);text-decoration:none}.nav-links:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq)[target=_blank]:after,.sub:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq)[target=_blank]:after,.aside-note:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq)[target=_blank]:after,.footer-col:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq)[target=_blank]:after{content:"↗";vertical-align:super;margin-left:2px;font-size:.7em}.ticks:where(.astro-wgrabhiq){flex-direction:column;gap:14px;list-style:none;display:flex}.ticks:where(.astro-wgrabhiq) li:where(.astro-wgrabhiq){color:#c9cdd6;padding-left:26px;font-size:14.5px;line-height:1.55;position:relative}.ticks:where(.astro-wgrabhiq) li:where(.astro-wgrabhiq):before{content:"";background-color:#34b44a29;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235ad375' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:10.5px 10.5px;border:1px solid #4ec46a6b;border-radius:5.5px;width:17px;height:17px;position:absolute;top:2.5px;left:0;box-shadow:0 0 12px #34b44a38}.howitworks:where(.astro-wgrabhiq){padding-bottom:8px}.loop-grid:where(.astro-wgrabhiq){counter-reset:none;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none;display:grid}.loop-step:where(.astro-wgrabhiq){background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 18px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.loop-step:where(.astro-wgrabhiq):hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:0 12px 32px #00000073}.loop-vis:where(.astro-wgrabhiq){min-height:44px;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;display:flex}.loop-vis-col:where(.astro-wgrabhiq){flex-direction:column;justify-content:center;align-items:flex-start;gap:7px}.lv-chip:where(.astro-wgrabhiq){color:#c9cdd6;white-space:nowrap;background:#141517;border:1px solid #ffffff26;border-radius:4px;padding:2px 6px;font-size:8.5px}.lv-ok:where(.astro-wgrabhiq){color:#7ed492;background:#34b44a1a;border-color:#34b44a66;border-radius:999px}.lvr-doi:where(.astro-wgrabhiq){opacity:0;animation:7s ease-in-out infinite lv-in}.lvr-bib:where(.astro-wgrabhiq){opacity:0;animation:7s ease-in-out 1.2s infinite lv-in}.lvw-line:where(.astro-wgrabhiq){color:#a8c3f5;background:#0d0e10;border:1px solid #ffffff1a;border-radius:4px;padding:3px 7px;font-size:9.5px}.lvw-type:where(.astro-wgrabhiq){white-space:nowrap;vertical-align:bottom;border-right:1.5px solid #3b82f6;width:0;animation:7s steps(17,end) infinite lvw-type;display:inline-block;overflow:hidden}.lvv-bar:where(.astro-wgrabhiq){background:#ffffff1a;border-radius:999px;width:104px;height:3px;overflow:hidden}.lvv-fill:where(.astro-wgrabhiq){border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#2563eb,#34b44a);height:100%;animation:7s ease-in-out infinite lvv-fill;display:block;transform:scaleX(0)}.lvv-ok:where(.astro-wgrabhiq){opacity:0;animation:7s ease-in-out 2.4s infinite lv-in}.lvp-1:where(.astro-wgrabhiq),.lvp-2:where(.astro-wgrabhiq),.lvp-3:where(.astro-wgrabhiq){opacity:.45;animation:7s ease-in-out infinite lvp-pulse}.lvp-2:where(.astro-wgrabhiq){animation-delay:.9s}.lvp-3:where(.astro-wgrabhiq){animation-delay:1.8s}@keyframes lv-in{0%,3%{opacity:0;transform:translateY(4px)}10%,88%{opacity:1;transform:translateY(0)}95%,to{opacity:0}}@keyframes lvw-type{0%,6%{width:0}40%,88%{width:17ch}95%,to{width:0}}@keyframes lvv-fill{0%,5%{transform:scaleX(0)}34%,92%{transform:scaleX(1)}98%,to{transform:scaleX(0)}}@keyframes lvp-pulse{0%,8%{opacity:.45;color:#c9cdd6;border-color:#ffffff26}16%,80%{opacity:1;color:#a8c3f5;border-color:#3b82f68c}90%,to{opacity:.45;color:#c9cdd6;border-color:#ffffff26}}.loop-step:where(.astro-wgrabhiq) h3:where(.astro-wgrabhiq){color:#f7f8f8;margin:10px 0 6px;font-size:15px;font-weight:600}.loop-step:where(.astro-wgrabhiq) p:where(.astro-wgrabhiq){color:var(--muted);font-size:13px;line-height:1.55}.loop-head:where(.astro-wgrabhiq){align-items:center;gap:10px;margin-bottom:6px;display:flex}.loop-num:where(.astro-wgrabhiq){font-family:var(--mono);color:var(--brand-text);background:#2563eb1a;border:1px solid #3b82f673;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}@media (width<=980px){.loop-grid:where(.astro-wgrabhiq){grid-template-columns:1fr 1fr}}@media (width<=640px){.loop-grid:where(.astro-wgrabhiq){grid-template-columns:1fr}}.privacy-grid:where(.astro-wgrabhiq){grid-template-columns:1fr 1fr;gap:12px;display:grid}.privacy-card:where(.astro-wgrabhiq){background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 20px}.privacy-card:where(.astro-wgrabhiq) h3:where(.astro-wgrabhiq){color:#f7f8f8;align-items:center;gap:9px;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.dot-local:where(.astro-wgrabhiq),.dot-net:where(.astro-wgrabhiq){border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-local:where(.astro-wgrabhiq){background:var(--green);box-shadow:0 0 8px #34b44a99}.dot-net:where(.astro-wgrabhiq){background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.ticks-net:where(.astro-wgrabhiq) li:where(.astro-wgrabhiq):before{background-color:#f59e0b24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7bc55' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");border-color:#f7bc556b;box-shadow:0 0 12px #f59e0b2e}@media (width<=980px){.privacy-grid:where(.astro-wgrabhiq){grid-template-columns:1fr}}.craft-card:where(.astro-wgrabhiq){background:radial-gradient(circle at 16% 12%, #34b44a14, transparent 42%), var(--surface);border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden}.craft-inner:where(.astro-wgrabhiq){grid-template-columns:minmax(300px,.82fr) minmax(400px,1.18fr);align-items:stretch;min-height:390px;display:grid}.craft-visual:where(.astro-wgrabhiq){align-items:center;min-width:0;padding:clamp(10px,1.2vw,16px);display:flex;position:relative}.craft-visual:where(.astro-wgrabhiq):after{content:"";filter:blur(28px);pointer-events:none;background:#0000005c;border-radius:50%;height:18%;position:absolute;inset:auto 10% 7%}.craft-copy:where(.astro-wgrabhiq){flex-direction:column;justify-content:center;min-width:0;padding:clamp(30px,3.4vw,50px) clamp(30px,3.4vw,50px) clamp(30px,3.4vw,50px) clamp(20px,2vw,30px);display:flex}.craft-copy:where(.astro-wgrabhiq) .eyebrow:where(.astro-wgrabhiq){margin-bottom:14px}.craft-copy:where(.astro-wgrabhiq) h2:where(.astro-wgrabhiq){max-width:20ch;margin:0 0 22px;font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.05}.craft-card:where(.astro-wgrabhiq) .craft-body:where(.astro-wgrabhiq){color:#c9cdd6;max-width:58ch;margin:0;font-size:15px;line-height:1.7}.craft-card:where(.astro-wgrabhiq) .craft-note:where(.astro-wgrabhiq){border-top:1px solid var(--line);color:var(--muted);margin:30px 0 0;padding-top:22px;font-size:13px;line-height:1.65}.craft-card:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){color:var(--brand-text);font-weight:600;text-decoration:none}.craft-card:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq):hover{text-underline-offset:3px;text-decoration:underline}.craft-shot:where(.astro-wgrabhiq){z-index:1;border:1px solid var(--line-strong);border-radius:12px;width:100%;height:auto;display:block;position:relative;box-shadow:0 18px 50px #00000047}@media (width<=900px){.craft-inner:where(.astro-wgrabhiq){grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.craft-copy:where(.astro-wgrabhiq){padding:32px}}@media (width<=760px){.craft-inner:where(.astro-wgrabhiq){grid-template-columns:1fr;min-height:0}.craft-visual:where(.astro-wgrabhiq){border-right:none;border-bottom:1px solid var(--line);padding:16px}.craft-copy:where(.astro-wgrabhiq){padding:28px 22px 30px}.craft-copy:where(.astro-wgrabhiq) h2:where(.astro-wgrabhiq){max-width:16ch}.craft-card:where(.astro-wgrabhiq) .craft-note:where(.astro-wgrabhiq){margin-top:24px;padding-top:18px}}.table-wrap:where(.astro-wgrabhiq){isolation:isolate;contain:inline-size;overscroll-behavior-x:none;scrollbar-width:none;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:100%;min-width:0;max-width:100%;position:relative;overflow-x:auto}.table-wrap:where(.astro-wgrabhiq)::-webkit-scrollbar{display:none}table:where(.astro-wgrabhiq){width:var(--compare-table-width);min-width:var(--compare-table-width);max-width:var(--compare-table-width);border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}.compare-category-column:where(.astro-wgrabhiq){width:42px}.compare-feature-column:where(.astro-wgrabhiq),.compare-product-column:where(.astro-wgrabhiq){width:220px}.compare-oleafly-column:where(.astro-wgrabhiq){width:300px}thead:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq){text-align:left;color:#d6d9e0;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:12px 14px;font-weight:600}thead:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq):not(:first-child),tbody:where(.astro-wgrabhiq) td:where(.astro-wgrabhiq){text-align:center}tbody:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq){text-align:left;color:#c9cdd6;white-space:nowrap;padding:10px 14px;font-weight:500}tbody:where(.astro-wgrabhiq) td:where(.astro-wgrabhiq){color:var(--muted);vertical-align:middle;padding:10px 14px}tbody:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq),tbody:where(.astro-wgrabhiq) td:where(.astro-wgrabhiq){border-bottom:1px solid var(--line)}.compare-group-body:where(.astro-wgrabhiq):last-of-type tr:where(.astro-wgrabhiq):last-child th:where(.astro-wgrabhiq),.compare-group-body:where(.astro-wgrabhiq):last-of-type tr:where(.astro-wgrabhiq):last-child td:where(.astro-wgrabhiq){border-bottom:none}tbody:where(.astro-wgrabhiq) tr:where(.astro-wgrabhiq):hover{background:#ffffff05}.compare-category-head:where(.astro-wgrabhiq){z-index:8;background:var(--surface);width:42px;min-width:42px;padding:0;position:sticky;left:0}.compare-group-body:where(.astro-wgrabhiq){--compare-group-color:var(--brand)}tbody:where(.astro-wgrabhiq) .compare-group-label:where(.astro-wgrabhiq){border-right:1px solid var(--line-strong);width:42px;min-width:42px;color:color-mix(in srgb, var(--compare-group-color), #f7f8f8 28%);background:color-mix(in srgb, var(--surface), var(--compare-group-color) 13%);text-align:center;vertical-align:middle;white-space:normal;z-index:6;padding:12px 8px;position:sticky;left:0}.compare-group-label:where(.astro-wgrabhiq) span:where(.astro-wgrabhiq){writing-mode:vertical-rl;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:700;display:inline-block;transform:rotate(180deg)}.col-us:where(.astro-wgrabhiq){background:color-mix(in srgb, var(--surface), #2563eb 8%);z-index:10;border-left:0;border-right:0;position:sticky;left:262px;box-shadow:inset 2px 0 #3b82f6,inset -2px 0 #3b82f6;color:#fff!important}thead:where(.astro-wgrabhiq) .col-us:where(.astro-wgrabhiq){z-index:11;border-top:2px solid #3b82f6;border-top-left-radius:8px;border-top-right-radius:8px;color:var(--brand-text)!important}thead:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq):nth-child(2),tbody:where(.astro-wgrabhiq) th:where(.astro-wgrabhiq)[scope=row]{z-index:9;background:var(--surface);position:sticky;left:42px}.compare-group-body:where(.astro-wgrabhiq):last-of-type tr:where(.astro-wgrabhiq):last-child .col-us:where(.astro-wgrabhiq){border-bottom:2px solid #3b82f6;border-bottom-right-radius:8px;border-bottom-left-radius:8px}.compare-status:where(.astro-wgrabhiq){vertical-align:middle;place-items:center;width:22px;height:22px;display:inline-grid}.compare-status:where(.astro-wgrabhiq) svg:where(.astro-wgrabhiq){width:22px;height:22px;display:block}.compare-status:where(.astro-wgrabhiq) circle:where(.astro-wgrabhiq){fill:currentColor}.compare-status:where(.astro-wgrabhiq) path:where(.astro-wgrabhiq){color:#f7f8f8}.compare-status-yes:where(.astro-wgrabhiq){color:#2da44e}.compare-status-no:where(.astro-wgrabhiq){color:#d94c4c}.velocity:where(.astro-wgrabhiq){padding:104px 0 0;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.philosophy:where(.astro-wgrabhiq){text-align:center;margin-top:48px}.phil-grid:where(.astro-wgrabhiq){padding:150px 0 90px;position:relative;overflow:hidden}.phil-grid:where(.astro-wgrabhiq) .eyebrow:where(.astro-wgrabhiq){margin-bottom:16px}.phil-grid:where(.astro-wgrabhiq) h2{display:flex}.philosophy:where(.astro-wgrabhiq) .eyebrow:where(.astro-wgrabhiq){margin-bottom:10px}.philosophy:where(.astro-wgrabhiq) h2:where(.astro-wgrabhiq){background:linear-gradient(#fff 55%,#b8bcc8);-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:0}.download:where(.astro-wgrabhiq){text-align:center;padding-bottom:104px;position:relative;overflow:hidden}.glyphs-bg{opacity:.35;width:100%;height:100%;position:absolute;inset:0;mask-image:radial-gradient(720px at 50% 45%,#000,#0000)}.download:where(.astro-wgrabhiq) .eyebrow:where(.astro-wgrabhiq){margin-top:104px}.download:where(.astro-wgrabhiq) .sub:where(.astro-wgrabhiq){margin-left:auto;margin-right:auto}.dl-grid:where(.astro-wgrabhiq){grid-template-columns:repeat(3,1fr);gap:10px;max-width:560px;margin:0 auto;display:grid}.dl-card:where(.astro-wgrabhiq){border:2px solid var(--line);border-radius:var(--radius-lg);color:#d6d9e0;background:#151515;flex-direction:column;align-items:center;gap:5px;padding:16px 12px;text-decoration:none;transition:border-color .15s,background .15s,color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.dl-card:where(.astro-wgrabhiq):hover{color:#fff;background:#141517;border-color:#2563eb8c}.dl-card:where(.astro-wgrabhiq).is-current{background:linear-gradient(#fff, #fff) padding-box, linear-gradient(90deg, var(--color-1), var(--color-5), var(--color-3), var(--color-4), var(--color-2)) border-box;color:#08090a;animation:var(--animate-rainbow);background-size:200% 100%;border-color:#0000;transform:translateY(-2px);box-shadow:0 8px 28px #2563eb2e,0 12px 34px #34b44a1a}.dl-card:where(.astro-wgrabhiq).is-current svg:where(.astro-wgrabhiq){color:#08090a}.dl-os:where(.astro-wgrabhiq){color:#fff;margin-top:2px;font-size:13px;font-weight:600}.dl-check:where(.astro-wgrabhiq){color:#2563eb;width:14px;height:14px;display:none;position:absolute;top:8px;right:8px}.dl-card:where(.astro-wgrabhiq).is-current .dl-check:where(.astro-wgrabhiq){color:#2563eb;display:block}.dl-card:where(.astro-wgrabhiq).is-current .dl-os:where(.astro-wgrabhiq){color:#08090a}.footer:where(.astro-wgrabhiq){background:var(--bg);margin-top:104px;overflow:hidden}.footer-wordmark:where(.astro-wgrabhiq){letter-spacing:-.035em;white-space:nowrap;text-align:center;user-select:none;pointer-events:none;background:linear-gradient(#ffffff17 0%,#ffffff06 60%,#0000 95%);-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:-.26em;font-size:clamp(5rem,18.5vw,18rem);font-weight:700;line-height:1}.footer-inner:where(.astro-wgrabhiq){grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-top:48px;padding-bottom:48px;display:grid}.footer-brand:where(.astro-wgrabhiq) p:where(.astro-wgrabhiq){color:var(--muted);max-width:260px;margin-top:12px;font-size:13px}.footer-license:where(.astro-wgrabhiq){font-size:12px!important}.footer-col:where(.astro-wgrabhiq){flex-direction:column;gap:10px;display:flex}.footer-col:where(.astro-wgrabhiq) .footer-h:where(.astro-wgrabhiq){text-transform:uppercase;letter-spacing:.06em;color:#d6d9e0;margin-bottom:2px;font-size:12px;font-weight:600}.footer-col:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq){color:var(--muted);width:fit-content;font-size:13px;text-decoration:none;transition:color .15s}.footer-col:where(.astro-wgrabhiq) a:where(.astro-wgrabhiq):hover{color:#fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (width<=980px){.footer-inner:where(.astro-wgrabhiq){grid-template-columns:1fr 1fr}}@media (width<=640px){.hero:where(.astro-wgrabhiq){padding-top:64px}.hero-actions:where(.astro-wgrabhiq){flex-direction:column;align-items:stretch}.hero-actions:where(.astro-wgrabhiq) a[data-slot=button],.hero-actions:where(.astro-wgrabhiq) .btn-docs:where(.astro-wgrabhiq){justify-content:center;width:100%}.section:where(.astro-wgrabhiq),.velocity:where(.astro-wgrabhiq),.philosophy:where(.astro-wgrabhiq){padding-top:72px}.dl-grid:where(.astro-wgrabhiq),.footer-inner:where(.astro-wgrabhiq){grid-template-columns:1fr}}
