@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400 500;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400 500;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-ext-500-normal-jKqJW7bC.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-600-normal-zlTlWIYU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/caveat-latin-ext-600-normal-DDJRD6ps.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--primary: #1c1917;--primary-hover: #2d2824;--primary-text: #ffffff;--brand-ink: var(--primary);--brand-ink-hover: var(--primary-hover);--brand-ink-text: var(--primary-text);--bg: #f6f4ef;--surface: #ffffff;--surface2: #f1ede5;--nav-surface: #f8f8f6;--public-bg: #f6f4ef;--border: rgba(28, 25, 23, .08);--border-soft: rgba(28, 25, 23, .05);--grid-dot: rgba(28, 25, 23, .14);--text: #1c1917;--text-2: #524e49;--text-3: #6f665d;--text-4: #9a9089;--green: #0a531f;--green-bg: #e6f4ea;--red: #8f2015;--red-bg: #fdf0ef;--amber: #7a3a08;--amber-bg: #fbecd7;--blue: #1a4f85;--purple: #5b21b6;--teal: #0a5568;--rose: #9c1030;--selection-bg: rgba(212, 105, 58, .18);--surface-active: rgba(28, 25, 23, .06);--sidebar-active-bg: rgba(212, 105, 58, .14);--sidebar-active-color: var(--accent);--sidebar-active-hover-bg: rgba(212, 105, 58, .09);--sidebar-hover-color: var(--text);--nav-active-bg: var(--primary);--nav-active-text: var(--primary-text);--nav-hover-bg: rgba(28, 25, 23, .05);--accent: #d4693a;--accent-hover: #c05a2e;--accent-ink: #b04f20;--accent-text: #ffffff;--active-text-color: #4a2410;--font: "Sora", sans-serif;--mono: "JetBrains Mono", monospace;--radius: 14px;--radius-sm: 10px;--radius-xs: 6px;--radius-lg: 20px;--shadow-sm: 0 1px 3px rgba(30, 22, 12, .08), inset 0 .5px 0 rgba(255, 255, 255, .6);--shadow-md: 0 4px 14px rgba(30, 22, 12, .1), inset 0 .5px 0 rgba(255, 255, 255, .7);--shadow-lg: 0 14px 38px rgba(30, 22, 12, .14), inset 0 .5px 0 rgba(255, 255, 255, .8);--glass-inset: inset 0 .5px 0 rgba(255, 255, 255, .6);--glass-card: #ffffff;--blur-glass: blur(20px) saturate(160%);--blur-heavy: blur(28px) saturate(180%);--surface-hover: rgba(28, 25, 23, .04);--surface-pressed: rgba(28, 25, 23, .08);--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 17px;--text-2xl: 20px;--text-3xl: 24px;--status-success-bg: rgba(19, 138, 54, .14);--status-success-fg: #0a531f;--status-error-bg: rgba(192, 57, 43, .12);--status-error-fg: #8f2015;--status-warning-bg: rgba(180, 83, 9, .14);--status-warning-fg: #7a3a08;--status-info-bg: rgba(26, 79, 133, .12);--status-info-fg: #1a4f85;--status-muted-bg: rgba(0, 0, 0, .05);--status-muted-fg: var(--text-3);--json-key: #0550ae;--json-string: #1a7f37;--json-number: #953800;--json-bool: #8250df;--json-null: #6e7781;--json-punct: #57606a;--status-accent-bg: rgba(212, 105, 58, .14);--status-accent-fg: var(--accent);--subflow: #64748b;--scraper: #a13a97;--email-node: #5f7a14;--app-node: #0e7490;--syntax-function-fg: #164297;--syntax-decorator-fg: #9c1030;--syntax-string-fg: #0b5747;--syntax-number-fg: #6f4500;--syntax-constant-fg: #5d1cb0;--syntax-type-fg: #05505e;--syntax-property-fg: #6b3410;--success: #0a531f;--warning: #7a3a08;--danger: #8f2015;--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--icon-xl: 24px}[data-theme=dark]{--primary: #f2ede4;--primary-hover: #e6dfd2;--primary-text: #1a1512;--brand-ink: #43372e;--brand-ink-hover: #51443a;--brand-ink-text: #f2ede4;--json-key: #79c0ff;--json-string: #7ee787;--json-number: #ffa657;--json-bool: #d2a8ff;--json-null: #8b949e;--json-punct: #8b949e;--bg: #1a1512;--surface: #241e19;--surface2: #2c251e;--nav-surface: #1f1914;--public-bg: #1a1512;--border: rgba(245, 240, 232, .1);--border-soft: rgba(245, 240, 232, .06);--grid-dot: rgba(245, 240, 232, .12);--text: #f2ece0;--text-2: #bcb1a1;--text-3: #8a7e6e;--text-4: #6a5e50;--green: #138a36;--green-bg: rgba(19, 138, 54, .16);--red: #c0392b;--red-bg: rgba(192, 57, 43, .16);--amber: #b45309;--amber-bg: rgba(180, 83, 9, .16);--blue: #3178c6;--purple: #7c3aed;--teal: #0e7490;--rose: #be123c;--selection-bg: rgba(212, 105, 58, .22);--surface-active: rgba(255, 255, 255, .07);--sidebar-active-bg: rgba(212, 105, 58, .22);--sidebar-active-color: var(--accent);--sidebar-active-hover-bg: rgba(212, 105, 58, .12);--sidebar-hover-color: var(--text);--nav-active-bg: var(--primary);--nav-active-text: var(--primary-text);--nav-hover-bg: rgba(255, 255, 255, .05);--accent: #d4693a;--accent-hover: #c05a2e;--accent-ink: var(--accent);--accent-text: #ffffff;--active-text-color: #fef3c7;--shadow-sm: 0 2px 12px rgba(0, 0, 0, .35), inset 0 .5px 0 rgba(255, 255, 255, .06);--shadow-md: 0 6px 28px rgba(0, 0, 0, .4), inset 0 .5px 0 rgba(255, 255, 255, .08);--shadow-lg: 0 16px 52px rgba(0, 0, 0, .5), inset 0 .5px 0 rgba(255, 255, 255, .1);--glass-inset: inset 0 .5px 0 rgba(255, 255, 255, .1);--glass-card: #241e19;--blur-glass: blur(20px) saturate(160%);--blur-heavy: blur(28px) saturate(180%);--surface-hover: rgba(255, 255, 255, .05);--surface-pressed: rgba(255, 255, 255, .1);--status-success-bg: rgba(19, 138, 54, .18);--status-success-fg: #4ade80;--status-error-bg: rgba(192, 57, 43, .18);--status-error-fg: #f87171;--status-warning-bg: rgba(180, 83, 9, .18);--status-warning-fg: #fbbf24;--status-info-bg: rgba(49, 120, 198, .18);--status-info-fg: #60a5fa;--status-muted-bg: rgba(255, 255, 255, .07);--status-muted-fg: var(--text-3);--status-accent-bg: rgba(212, 105, 58, .18);--status-accent-fg: var(--accent);--subflow: #94a3b8;--scraper: #d78ad0;--email-node: #b9d36a;--app-node: #5ec4dc;--syntax-function-fg: #6ea8fe;--syntax-decorator-fg: #fb7185;--syntax-string-fg: #3ecfae;--syntax-number-fg: #e0af68;--syntax-constant-fg: #bd9df9;--syntax-type-fg: #56c8d8;--syntax-property-fg: #e8a075;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;overflow-x:hidden}#root{min-height:calc(100vh - var(--grace-h, 0px))}button{font-family:var(--font);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font)}a{text-decoration:none;color:inherit}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cardIn{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes lineIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@keyframes itemIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes itemOut{0%{opacity:1;transform:translate(0) scaleY(1)}to{opacity:0;transform:translate(20px) scaleY(.9)}}@keyframes blip{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes nodeIn{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flowCanvasIn{0%{opacity:0}to{opacity:1}}@keyframes edgeDraw{0%{stroke-dashoffset:var(--edge-len, 400);opacity:0}25%{opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes nodeReveal{0%{opacity:0;transform:scale(.5) translateY(10px)}60%{opacity:1;transform:scale(1.06) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes edgeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes nodeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-6px)}}@keyframes nodeUnreveal{0%{opacity:1;transform:scale(1) translateY(0)}40%{opacity:1;transform:scale(1.06) translateY(-2px)}to{opacity:0;transform:scale(.5) translateY(10px)}}@keyframes edgeUndraw{0%{stroke-dashoffset:0;opacity:1}75%{opacity:1}to{stroke-dashoffset:var(--edge-len, 400);opacity:0}}@keyframes edgeFadeOut{0%{opacity:1}to{opacity:0}}@keyframes tailFade{0%{opacity:0}to{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.h-page{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.5px;color:var(--text)}.h-section{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.4px;color:var(--text)}.h-card{font-size:var(--text-lg);font-weight:600;letter-spacing:-.3px;color:var(--text)}.h-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3)}.body-base{font-size:var(--text-base);color:var(--text)}.body-sm{font-size:var(--text-sm);color:var(--text-2)}.body-xs{font-size:var(--text-xs);color:var(--text-3)}.mono{font-family:var(--mono)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-3) 34%,transparent) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-3) 30%,transparent);border-radius:999px;border:3px solid transparent;background-clip:padding-box;transition:background .16s ease}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-3) 55%,transparent);background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}::selection{background:#7c2f1447;color:var(--text)}[data-theme=dark] *{scrollbar-color:rgba(255,255,255,.13) transparent}[data-theme=dark] *::-webkit-scrollbar-thumb{background:#ffffff21}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:#ffffff3d}[data-theme=dark] ::selection{background:#d4693a59;color:var(--text)}.scraper-mine ::selection,.scraper-mine::selection{background:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--text)}[data-popover-trigger-open]{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent),0 0 12px color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));transition:box-shadow .18s ease,border-color .18s ease}.in-desk,.in-desk *{scrollbar-width:none}.in-desk ::-webkit-scrollbar{display:none}:root{--assistant-clearance: 0px}:root.has-assistant-launcher{--assistant-clearance: 76px}.assistant-clearance:after{content:"";display:block;flex:none;height:var(--assistant-clearance);pointer-events:none}#boot-frame{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;flex-direction:column;background:var(--bg);pointer-events:none}.bf-top{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--surface);border-bottom:.5px solid var(--border);box-sizing:border-box}.bf-mark{font-family:var(--font);font-size:22px;font-weight:700;letter-spacing:-.04em;color:var(--text)}.bf-mark em{font-style:normal;color:var(--accent)}.bf-right{display:flex;align-items:center;gap:12px}.bf-body{flex:1;display:flex;min-height:0}.bf-nav{flex-shrink:0;width:224px;display:flex;flex-direction:column;padding:12px 0;box-sizing:border-box;background:#1c1917;border-radius:0 18px 18px 0;--bf-skel: rgba(255, 255, 255, .07);--bf-shine: rgba(255, 255, 255, .14)}.bf-nav[data-collapsed=true]{width:52px}.bf-head{display:flex;align-items:center;gap:10px;padding:0 12px 12px 14px;margin-bottom:8px;border-bottom:.5px solid rgba(255,255,255,.11)}.bf-nav[data-collapsed=true] .bf-head{justify-content:center;padding:0 0 12px}.bf-label{margin:4px 14px 10px}.bf-item{display:flex;align-items:center;gap:9px;height:35px;margin:1px 8px;padding:0 10px;box-sizing:border-box}.bf-nav[data-collapsed=true] .bf-item{justify-content:center;padding:0}.bf-nav[data-collapsed=true] .bf-label,.bf-nav[data-collapsed=true] .bf-text{display:none}.bf-group+.bf-group{margin-top:20px;padding-top:10px;border-top:.5px solid rgba(255,255,255,.07)}.bf-spacer+.bf-group{padding-top:10px;border-top:.5px solid rgba(255,255,255,.07)}.bf-spacer{flex:1;min-height:12px;max-height:24px}.bf-nav[data-collapsed=true] .bf-spacer{flex:0 0 0;min-height:0;max-height:0}.bf-nav[data-collapsed=true] .bf-group+.bf-group,.bf-nav[data-collapsed=true] .bf-spacer+.bf-group{margin-top:10px;padding-top:10px}.bf-skel{display:block;border-radius:5px;background:var(--bf-shine, color-mix(in srgb, var(--text-4) 20%, transparent))}.bf-round{border-radius:50%}.bf-tile{border-radius:10px}
