:root{--surface:#fbf8ff;--surface-bright:#fbf8ff;--surface-dim:#d7d7fc;--surface-c-lowest:#fff;--surface-c-low:#f5f2ff;--surface-c:#eeecff;--surface-c-high:#e7e6ff;--surface-c-highest:#e1e0ff;--on-surface:#171935;--on-surface-variant:#464555;--inverse-surface:#2c2e4b;--inverse-on-surface:#f1efff;--primary:#3525cd;--on-primary:#fff;--primary-container:#4f46e5;--on-primary-container:#dad7ff;--primary-fixed:#e2dfff;--primary-fixed-dim:#c3c0ff;--on-primary-fixed:#0f0069;--on-primary-fixed-variant:#3323cc;--inverse-primary:#c3c0ff;--secondary:#456556;--on-secondary:#fff;--secondary-container:#c7ebd7;--on-secondary-container:#4b6b5c;--tertiary:#453a9a;--tertiary-container:#5d53b3;--tertiary-fixed:#e4dfff;--error:#ba1a1a;--on-error:#fff;--error-container:#ffdad6;--on-error-container:#93000a;--outline:#777587;--outline-variant:#c7c4d8;--surface-tint:#4d44e3;--radius-default:2px;--radius-lg:4px;--radius-xl:8px;--radius-full:12px;--radius-pill:9999px;--xs:4px;--sm:8px;--md:16px;--lg:24px;--xl:48px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--on-surface);background:var(--surface);-webkit-font-smoothing:antialiased;font-size:14px;line-height:20px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-mono);letter-spacing:.02em;color:var(--on-surface);border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 14px;font-size:12px;font-weight:500;transition:background-color .12s,border-color .12s}button.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary);align-items:center;gap:6px;display:inline-flex}button.primary:hover{background:var(--surface-tint)}button.secondary{border-color:var(--primary);color:var(--primary)}button.secondary:hover{background:var(--surface-c-low)}button.ghost{color:var(--on-surface-variant);padding:6px 8px}button.ghost:hover{background:var(--surface-c-low)}.card-more-icon{color:var(--on-surface-variant);align-items:center;padding:6px 8px;display:inline-flex}button.link-button{color:var(--primary);background:0 0;border:none;padding:0;text-decoration:none}button.link-button:hover{text-decoration:underline}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:var(--font-sans);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-c-lowest);color:var(--on-surface);outline:none;width:100%;padding:8px 12px;font-size:14px;transition:border-color .12s}input:focus,textarea:focus,select:focus{border-color:var(--primary);border-width:2px;padding:7px 11px}label{font-family:var(--font-mono);color:var(--on-surface-variant);letter-spacing:.02em;margin-bottom:var(--md);font-size:12px;font-weight:500;display:block}label>input,label>textarea,label>select{margin-top:var(--xs)}.muted{color:var(--on-surface-variant)}.error{color:var(--error)}.padded{padding:var(--lg)}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle;-webkit-user-select:none;user-select:none;font-family:Material Symbols Outlined}.material-symbols-outlined.fill{font-variation-settings:"FILL" 1}.app-shell{min-height:100%;display:flex}.main-area{flex-direction:column;flex:auto;min-height:100vh;margin-left:240px;display:flex}.sidebar{background:var(--surface-c-low);border-right:1px solid var(--outline-variant);width:240px;height:100vh;padding:var(--lg) 0;z-index:50;flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-brand{padding:0 var(--lg) var(--md)}.sidebar-brand-title{color:var(--on-surface);margin:0;font-size:18px;font-weight:600;line-height:32px}.sidebar-brand-logo{width:auto;max-width:100%;height:32px;display:block}.sidebar-brand-icon{display:none}.sidebar-brand p{color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.02em;margin:2px 0 0;font-size:12px;font-weight:500}.sidebar-cta{padding:0 var(--md) var(--md)}.sidebar-cta button{background:var(--primary);width:100%;color:var(--on-primary);justify-content:center;align-items:center;gap:var(--sm);border-radius:var(--radius-lg);padding:8px 16px;display:inline-flex}.sidebar-cta button:hover{background:var(--surface-tint)}.sidebar-nav{padding-right:var(--md);flex-direction:column;gap:2px;display:flex}.sidebar-nav a{align-items:center;gap:var(--md);color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.02em;border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-left:2px solid #0000;padding:8px 16px;font-size:12px;font-weight:500;text-decoration:none;transition:background-color .12s;display:flex}.sidebar-nav a:hover{background:var(--surface-c-high);text-decoration:none}.sidebar-nav a.active{background:var(--surface-c-low);color:var(--primary);border-left-color:var(--primary);font-weight:600}.top-bar{z-index:40;justify-content:space-between;align-items:center;gap:var(--md);height:64px;padding:0 var(--lg);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--outline-variant);background:#fbf8ffd9;display:flex;position:sticky;top:0}.top-bar .search{align-items:center;gap:var(--sm);background:var(--surface-c-low);border:1px solid var(--outline-variant);border-radius:var(--radius-pill);width:320px;max-width:100%;padding:6px 16px;transition:border-color .12s;display:flex}.top-bar .search:focus-within{border-color:var(--primary)}.top-bar .search .material-symbols-outlined{color:var(--on-surface-variant);font-size:20px}.top-bar .search input{background:0 0;border:none;outline:none;width:100%;padding:0}.top-bar .search input:focus{border:none;padding:0}.top-bar .actions{align-items:center;gap:var(--md);display:flex}.top-bar .divider{background:var(--outline-variant);width:1px;height:24px;margin:0 4px}.avatar{background:var(--primary-container);width:32px;height:32px;color:var(--on-primary);border:1px solid var(--outline-variant);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.avatar-button{cursor:pointer;padding:0}.avatar-button:hover{background:var(--primary)}.sign-in-button{align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.signed-in-row,.signed-out-row{justify-content:space-between;align-items:center;gap:var(--md);flex-wrap:wrap;display:flex}.auth-callback-pending,.auth-callback-error{max-width:480px;padding:var(--lg);text-align:center;margin:80px auto}.auth-callback-error h2{color:var(--error,#b3261e);margin-top:0}.step-mode-toggle{color:var(--on-surface-variant);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:6px;margin:0;padding:4px 8px;font-size:13px;display:inline-flex}.step-mode-toggle:hover{background:var(--surface-c-low);color:var(--on-surface)}.step-mode-toggle input[type=checkbox]{appearance:auto;cursor:pointer;width:auto;margin:0;padding:0}.step-mode-toggle input[type=checkbox]:disabled{cursor:not-allowed}.step-mode-toggle input[type=checkbox]:disabled+span{opacity:.5}.step-resume{margin-top:var(--md);padding:var(--sm);border-top:1px solid var(--outline-variant);gap:var(--sm);flex-direction:column;align-items:flex-start;display:flex}.step-resume button{align-items:center;gap:6px;display:inline-flex}.page{padding:var(--lg);flex:auto;width:100%;max-width:1280px;margin:0 auto}.page-header{border-bottom:1px solid var(--outline-variant);padding-bottom:var(--md);margin-bottom:var(--lg);justify-content:space-between;align-items:flex-end;gap:var(--lg);display:flex}.page-header h2{letter-spacing:-.02em;color:var(--primary);margin:0;font-size:32px;font-weight:600;line-height:40px}.page-header p{color:var(--on-surface-variant);margin:4px 0 0;font-size:16px}.home{padding:var(--lg) var(--lg) var(--xl);align-items:center;gap:var(--lg);flex-direction:column;flex:auto;width:100%;max-width:760px;min-height:calc(100vh - 64px);margin:0 auto;display:flex;position:relative}.home-main{top:50%;left:var(--lg);right:var(--lg);align-items:center;gap:var(--lg);flex-direction:column;display:flex;position:absolute;transform:translateY(-50%)}@media (height<=900px){.home{min-height:0}.home-main{width:100%;position:static;inset:auto;transform:none}}.home-tagline{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.home-tagline-main{letter-spacing:-.01em;color:var(--on-surface);margin:0;font-size:18px;font-weight:600;line-height:1.3}.home-tagline-sub{font-family:var(--font-mono);color:var(--on-surface-variant);letter-spacing:.02em;align-items:center;gap:8px;margin:0;font-size:13px;display:inline-flex}.home-tagline-arrow{color:var(--on-surface-variant);font-size:14px}.home-tagline-dest,.home-tagline-dest-static{text-align:left;min-width:64px;color:var(--primary);font-weight:600;display:inline-block}.home-tagline-dest{animation:.26s ease-out home-tagline-fade}@keyframes home-tagline-fade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-tagline-dest{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-brand{width:200px;height:auto;display:block}.home-greeting{letter-spacing:-.02em;color:var(--primary);text-align:center;margin:0;font-size:40px;font-weight:600;line-height:1.15}.home-prompt-wrap{width:100%}.home-prompt{width:100%;min-height:160px;padding:var(--md);background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);font-family:var(--font-sans);color:var(--on-surface);resize:vertical;box-sizing:border-box;font-size:16px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.home-prompt::placeholder{color:var(--on-surface-variant)}.home-prompt:focus{border-color:var(--primary);padding:var(--md);box-shadow:0 0 0 3px var(--primary-fixed);border-width:1px;outline:none}.home-actions{gap:var(--sm);flex-wrap:wrap;justify-content:center;display:flex}.home-primary,.home-secondary{align-items:center;gap:var(--sm);border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;padding:10px 18px;font-size:14px;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex}.home-primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.home-primary:hover:not(:disabled){background:var(--surface-tint);border-color:var(--surface-tint)}.home-primary:disabled{background:var(--surface-c-high);border-color:var(--surface-c-high);color:var(--on-surface-variant);cursor:not-allowed}.home-secondary{color:var(--on-surface);border:1px solid var(--outline-variant);background:0 0}.home-secondary:hover{background:var(--surface-c-low)}.card-grid{gap:var(--md);grid-template-columns:1fr;display:grid}@media (width>=1024px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1440px){.card-grid{grid-template-columns:repeat(3,1fr)}}.playbook-card{gap:var(--md);background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:var(--md);color:var(--on-surface);cursor:pointer;flex-direction:column;text-decoration:none;transition:border-color .12s;display:flex}.playbook-card:hover{border-color:var(--primary);text-decoration:none}.card-header{justify-content:space-between;align-items:center;display:flex}.status-pill{align-items:center;gap:var(--xs);border-radius:var(--radius-default);letter-spacing:.02em;border:1px solid #0000;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.status-pill.active{background:var(--primary-fixed);color:var(--on-primary-fixed-variant);border-color:var(--primary-fixed-dim)}.status-pill.draft{background:var(--surface-c-high);color:var(--on-surface-variant);border-color:var(--outline-variant)}.status-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill.active .dot{background:var(--primary)}.status-pill.draft .dot{background:var(--outline-variant)}.status-pill.personal{background:var(--secondary-container);color:var(--on-secondary-container);border-color:var(--secondary)}.status-pill.personal .dot{background:var(--secondary)}.card-body{flex-direction:column;gap:4px;display:flex}.card-body h3{margin:0;font-size:18px;font-weight:600;line-height:1.4}.card-body p{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.card-fingerprint{background:var(--surface-c-low);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);margin-top:auto;padding:12px}.card-fingerprint svg{display:block}.card-tags{gap:var(--sm);padding-top:var(--sm);border-top:1px solid var(--outline-variant);flex-wrap:wrap;display:flex}.tag-chip{background:var(--surface-c-high);color:var(--on-surface-variant);border-radius:var(--radius-default);font-family:var(--font-mono);letter-spacing:.02em;padding:4px 8px;font-size:12px;font-weight:500}.tag-chip.metric-chip{background:var(--primary-fixed);color:var(--on-primary-fixed-variant);align-items:center;gap:3px;font-weight:500;display:inline-flex}.editor-view{flex-direction:column;flex:auto;height:100vh;min-height:0;display:flex;overflow:hidden}.editor-header{align-items:center;gap:var(--md);padding:12px var(--lg);border-bottom:1px solid var(--outline-variant);background:var(--surface-c-lowest);display:flex}.back-arrow{color:var(--on-surface-variant);background:0 0;border:none;align-items:center;padding:4px;display:inline-flex}.back-arrow:hover{color:var(--primary)}.editor-title{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.editor-title .breadcrumb{color:var(--on-surface-variant);letter-spacing:.02em;margin:0;font-size:12px}.editor-title .title-row{align-items:center;gap:var(--sm);display:flex}.editor-title h2{letter-spacing:-.015em;margin:0;font-size:24px;font-weight:600;line-height:1.3}.editor-toolbar-actions{align-items:center;gap:var(--sm);display:flex}.editor-mode-switch{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-c-lowest);display:flex;overflow:hidden}.editor-mode-switch button{color:var(--on-surface-variant);background:0 0;border:none;border-radius:0;padding:6px 14px;font-size:12px}.editor-mode-switch button:hover{background:var(--surface-c-low)}.editor-mode-switch button.active{background:var(--surface-c-low);color:var(--primary);font-weight:600}.editor-actions{gap:var(--sm);display:flex;position:relative}.save-error{text-align:left;white-space:normal;flex-direction:column;gap:4px;display:inline-flex}.save-error-expand{cursor:pointer;color:currentColor;font-size:inherit;background:0 0;border:0;padding:0;font-family:inherit;text-decoration:underline}.save-error-detail{background:var(--surface-c-low);border:1px solid var(--outline-variant);border-radius:var(--radius-default);max-height:160px;font-family:var(--font-mono);color:var(--on-surface-variant);white-space:pre-wrap;word-break:break-word;margin:0;padding:6px 8px;font-size:11px;overflow:auto}.export-dropdown{position:relative}.export-menu{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);z-index:10;min-width:260px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #01011b14}.export-menu li button{text-align:left;background:0 0;border:none;border-radius:0;width:100%;padding:8px 14px;font-size:13px}.export-menu li button:hover{background:var(--surface-c-low)}.editor-body,.editor-main{flex:auto;min-height:0;display:flex;overflow:hidden}.notebook-shell{background:var(--surface-c);flex:auto;min-height:0;display:flex}.notebook-sidebar{border-right:1px solid var(--outline-variant);background:var(--surface-c-low);padding:var(--md);flex:0 0 240px;overflow-y:auto}.notebook-sidebar h4{margin:0 0 var(--md);letter-spacing:.02em;color:var(--on-surface-variant);align-items:center;gap:var(--sm);text-transform:uppercase;font-size:12px;font-weight:600;display:inline-flex}.cell-graph{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.cell-graph-item{gap:var(--sm);padding:var(--sm) 0;display:flex;position:relative}.cell-graph-item:before{content:"";background:var(--outline-variant);width:1px;position:absolute;top:24px;bottom:-8px;left:5px}.cell-graph-item:last-child:before{display:none}.cell-dot{z-index:1;border-radius:50%;flex:0 0 12px;width:12px;height:12px;margin-top:4px}.cell-graph-content{flex-direction:column;display:flex}.cell-graph-content strong{color:var(--on-surface);font-size:13px;font-weight:500}.cell-graph-content small{color:var(--on-surface-variant);font-size:12px}.notebook-canvas{gap:var(--md);padding:var(--lg) var(--xl);flex-direction:column;flex:auto;display:flex;overflow:clip auto}.cell{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);overflow:hidden}.cell-header{align-items:center;gap:var(--sm);border-bottom:1px solid var(--outline-variant);background:var(--surface-c-low);padding:8px 12px;font-size:12px;display:flex}.cell-type-tag{border-radius:var(--radius-default);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);background:0 0;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-flex}.cell-type-tag.trigger{color:var(--primary)}.cell-type-tag.audible{color:var(--tertiary)}.cell-type-tag.tool{color:var(--secondary)}.cell-title{color:var(--on-surface);flex:auto;font-size:13px;font-weight:500}.cell-actions{align-items:center;gap:4px;display:flex}.cell-run,.cell-menu{color:var(--on-surface-variant);border-radius:var(--radius-default);background:0 0;border:1px solid #0000;align-items:center;padding:2px;display:inline-flex}.cell-run{background:var(--primary);border-color:var(--primary);color:var(--on-primary);cursor:pointer;gap:4px;padding:3px 8px;font-size:12px}.cell-run:hover:not(:disabled){filter:brightness(1.1)}.cell-menu:hover{background:var(--surface-c)}.cell-edit-action{border:1px solid var(--outline-variant);color:var(--on-surface);border-radius:var(--radius-default);cursor:pointer;background:0 0;align-items:center;gap:3px;padding:3px 8px;font-size:12px;display:inline-flex}.cell-edit-action:hover{border-color:var(--primary);background:var(--surface-c-low)}.cell-edit-action.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.cell-edit-action.primary:hover{background:var(--primary);filter:brightness(1.05)}.cell-edit-textarea{width:100%;padding:12px var(--md);font-family:var(--font-mono);resize:vertical;background:var(--surface-c-lowest);color:var(--on-surface);border:0;border-top:1px solid var(--outline-variant);outline:none;margin:0;font-size:13px;line-height:1.5}.cell-edit-textarea:focus{background:#fbfaff}.cell-body{margin:0}.cell-body.cell-code{color:var(--inverse-on-surface);padding:12px var(--md);font-family:var(--font-mono);white-space:pre-wrap;background:#1e1e1e;font-size:13px;line-height:18px;overflow-x:auto}.cell-body.cell-code code{color:inherit;background:0 0}.cell-markdown .cell-body{padding:var(--md) var(--lg)}.cell-output{color:#9ba;padding:6px var(--md);align-items:center;gap:var(--xs);background:#15191a;border-top:1px solid #2a3331;font-size:12px;display:flex}.cell-output code{font-family:var(--font-mono);color:var(--inverse-on-surface);background:0 0}.notebook-add-cell{align-items:center;gap:var(--sm);padding:var(--sm) 0;border-top:1px dashed var(--outline-variant);justify-content:center;display:flex}.cell-audible .cell-body.cell-code{background:#14080a}.cell-audible .cell-body.cell-code code{color:#ff8b9b}.cell-runmeta{gap:var(--sm);color:var(--inverse-on-surface);background:#15191a;border-top:1px solid #2a3331;flex-wrap:wrap;align-items:center;padding:6px 12px;font-size:12px;display:flex}.cell-runmeta .runmeta-piece{font-family:var(--font-mono);align-items:center;gap:4px;display:inline-flex}.cell-runmeta .runmeta-piece code{color:var(--inverse-on-surface);background:#ffffff0f;border-radius:3px;padding:1px 5px}.cell-runmeta .muted{color:#8a9690}.effect-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-default);border:1px solid #0000;align-items:center;padding:2px 6px;font-size:11px;font-weight:600;display:inline-flex}.effect-read{color:#9ba;background:#1a2a23;border-color:#2e4d3f}.effect-write{color:#f9c74f;background:#2a230f;border-color:#6b5300}.effect-destructive{color:#ff8b9b;background:#2d1416;border-color:#93000a}.cell-advisories{color:#f9c74f;background:#2a230f;border-top:1px solid #6b5300;flex-direction:column;gap:4px;margin:0;padding:6px 12px;font-size:12px;list-style:none;display:flex}.cell-advisories li{align-items:center;gap:6px;display:inline-flex}.cell-advisories code{font-family:var(--font-mono);background:#0000004d;border-radius:3px;padding:1px 5px}.run-fail-banner{align-items:flex-start;gap:var(--sm);background:var(--error-container);color:var(--on-error-container);border:1px solid #c01;border-left:3px solid var(--error);border-radius:var(--radius-lg);padding:var(--sm) var(--md);margin-bottom:var(--md);display:flex}.run-fail-banner strong{font-weight:600;display:block}.run-fail-banner small{color:var(--on-error-container);font-size:12px}.run-fail-banner p{margin:4px 0 0;font-size:13px}.run-fail-banner code{font-family:var(--font-mono);background:#ba1a1a1a;border-radius:3px;padding:1px 5px}.cell-output-pending{background:var(--inverse-surface);color:var(--inverse-primary);border-top-color:#ffffff1a}.cell-output-success{color:#9ba;background:#15191a}.cell-output-success small{color:var(--on-surface-variant);margin-left:4px}.cell-output-fail{color:#ff8b9b;background:#2d1416}.cell-output-paused{color:#f9c74f;background:#2a230f}.cell-output-body{font-family:var(--font-mono);white-space:pre-wrap;border-radius:var(--radius-default);max-height:240px;color:inherit;background:#00000040;margin:8px 0 0;padding:8px;font-size:12px;overflow-y:auto}.cell.cell-status-success{box-shadow:inset 3px 0 0 var(--primary)}.cell.cell-status-fail{box-shadow:inset 3px 0 0 var(--error)}.cell.cell-status-paused{box-shadow:inset 3px 0 #f9c74f}.cell.cell-status-pending{box-shadow:inset 3px 0 0 var(--primary-fixed-dim)}.cell-run:disabled{opacity:.4;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.material-symbols-outlined.spin{animation:1.2s linear infinite spin}.notebook-run-summary{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);overflow:hidden}.notebook-run-summary header{background:var(--surface-c-low);border-bottom:1px solid var(--outline-variant);letter-spacing:.02em;color:var(--on-surface-variant);align-items:center;gap:var(--xs);box-sizing:border-box;width:100%;padding:8px 12px;font-size:12px;font-weight:600;display:inline-flex}.notebook-run-summary pre{padding:var(--md);font-family:var(--font-mono);white-space:pre-wrap;color:var(--on-surface);max-height:480px;margin:0;font-size:12px;overflow-y:auto}.editor-footer{align-items:center;gap:var(--sm);padding:12px var(--lg);border-top:1px solid var(--outline-variant);background:var(--surface-c-lowest);display:flex}.editor-footer .footer-spacer{flex:auto}.export-menu-up{margin-bottom:4px;top:auto;bottom:100%}.split-pane{width:100%;height:100%;display:flex}.split-pane-left,.split-pane-right{flex-direction:column;display:flex;overflow:auto}.split-pane-divider{background:var(--outline-variant);cursor:col-resize;flex:0 0 6px;width:6px}.split-pane-divider:hover{background:var(--primary)}.source-pane{background:#1e1e1e;flex:auto;height:100%}.source-pane .cm-editor{height:100%;font-size:13px}.preview-pane{padding:var(--lg);background:var(--surface-c-lowest)}.preview-header{margin-bottom:var(--lg)}.preview-header h1{letter-spacing:-.015em;margin:0 0 4px;font-size:24px;font-weight:600;line-height:1.3}.preview-description{color:var(--on-surface-variant);margin:0 0 var(--sm)}.preview-meta{gap:var(--sm);flex-wrap:wrap;display:flex}.preview-pane h2{border-bottom:1px solid var(--outline-variant);margin:var(--lg) 0 12px;padding-bottom:4px;font-size:16px;font-weight:600}.rendered-md p{margin:0 0 12px}.rendered-md ul,.rendered-md ol{margin:0 0 12px;padding-left:22px}.audibles-list{gap:var(--sm);flex-direction:column;display:flex}.audible-box{background:var(--surface-c-low);border:1px solid var(--outline-variant);border-left:3px solid var(--primary);border-radius:var(--radius-lg);padding:12px var(--md)}.audible-box.severity-critical{border-left-color:var(--error);background:#fff5f5}.audible-box.severity-review{border-left-color:var(--primary);background:var(--primary-fixed)}.audible-box.severity-neutral{border-left-color:var(--secondary);background:var(--surface-c-low)}.audible-box pre{font-family:var(--font-mono);white-space:pre-wrap;color:var(--on-surface);margin:0;font-size:13px}.dag-frame{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface-c-low);padding:var(--md)}.dag-svg{width:100%;height:auto;max-height:600px}.dag-empty{color:var(--on-surface-variant);font-style:italic}.run-panel{border-left:1px solid var(--outline-variant);background:var(--surface-c-lowest);width:320px;padding:var(--md);flex:0 0 320px;overflow-y:auto}.run-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.run-panel-header h3{margin:0;font-size:16px;font-weight:600}.run-status{margin-bottom:12px;font-size:14px}.run-steps{margin:0 0 var(--md);padding:0;list-style:none}.run-step{border-radius:var(--radius-default);justify-content:space-between;margin-bottom:2px;padding:6px 8px;font-size:13px;display:flex}.run-step.success{background:var(--primary-fixed);color:var(--on-primary-fixed-variant)}.run-step.fail{background:var(--error-container);color:var(--on-error-container)}.run-step.pending{background:var(--surface-c-low)}.run-output{margin-bottom:var(--md);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:8px var(--sm)}.run-output summary{cursor:pointer;color:var(--on-surface-variant);font-size:12px;font-weight:500}.run-output pre{font-family:var(--font-mono);white-space:pre-wrap;color:var(--on-surface);max-height:320px;margin:8px 0 0;font-size:12px;overflow-y:auto}.judgment-form{border-top:1px solid var(--outline-variant);padding-top:12px}.judgment-form h4{margin:0 0 8px;font-weight:600}.judgment-form textarea{resize:vertical;margin-bottom:8px}.judgment-form-actions{align-items:center;gap:8px;display:flex}.settings-view{padding:var(--lg);max-width:640px}.settings-view h1{margin:0 0 var(--lg);letter-spacing:-.02em;color:var(--primary);font-size:32px;font-weight:600;line-height:40px}.settings-view section{margin-bottom:var(--lg)}.saved-indicator{color:var(--primary);margin-left:12px;font-size:13px}.target-selector{position:relative}.target-selector-trigger{background:var(--surface-c-low);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface);cursor:pointer;align-items:center;gap:4px;padding:6px 10px 6px 12px;font-size:13px;display:inline-flex}.target-selector-trigger:hover{border-color:var(--primary)}.target-selector-trigger strong{font-weight:600;font-family:var(--font-mono)}.target-selector-menu{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);z-index:20;min-width:280px;max-width:360px;margin:0 0 4px;padding:4px 0;list-style:none;position:absolute;bottom:100%;right:0;box-shadow:0 4px 16px #01011b1f}.target-selector-menu li button{text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;gap:2px;width:100%;padding:8px 14px;font-size:13px;display:flex}.target-selector-menu li button:hover{background:var(--surface-c-low)}.target-selector-menu li button[aria-selected=true],.target-selector-menu li button[aria-checked=true]{background:var(--primary-fixed)}.target-selector-menu .target-name{font-family:var(--font-mono);color:var(--on-surface);font-weight:600}.target-selector-menu small{color:var(--on-surface-variant);font-size:11px;line-height:14px}.target-selector-separator{border-top:1px solid var(--outline-variant);margin:4px 0}.target-selector-add{align-items:center;font-weight:500;color:var(--primary)!important;flex-direction:row!important;gap:6px!important;display:inline-flex!important}.target-selector-error{border-top:1px solid var(--outline-variant);margin-top:4px;padding:6px 12px}.modal.add-target{max-width:560px}.add-target-form{gap:var(--md);flex-direction:column;display:flex}.add-target-form label{gap:var(--xs);flex-direction:column;margin-bottom:0;display:flex}.add-target-form label small{margin-top:2px;font-size:12px}.bindings-fieldset{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);padding:var(--md);gap:var(--sm);flex-direction:column;margin:0;display:flex}.bindings-fieldset legend{padding:0 6px;font-size:13px;font-weight:600}.bindings-fieldset>p{margin:0;font-size:12px}.binding-row{gap:var(--sm);grid-template-columns:1fr 2fr auto;align-items:center;display:grid}.binding-row input{width:100%;font-family:var(--font-mono);font-size:12px}.binding-row button.ghost{padding:4px}.modal-backdrop{-webkit-backdrop-filter:blur(2px);z-index:100;padding:var(--md);background:#17193573;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:var(--lg);gap:var(--md);flex-direction:column;width:100%;max-width:480px;display:flex;box-shadow:0 8px 32px #01011b2e}.modal header{background:0 0;border:none;justify-content:space-between;align-items:center;margin:0;padding:0;display:flex}.modal header h3{margin:0;font-size:18px;font-weight:600;line-height:1.4}.modal .modal-actions{justify-content:flex-end;align-items:center;gap:var(--sm);margin-top:var(--xs);display:flex}.modal .modal-actions .primary{align-items:center;gap:6px;display:inline-flex}.sign-in-prompt .benefits{gap:var(--md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sign-in-prompt .benefits li{align-items:flex-start;gap:var(--sm);display:flex}.sign-in-prompt .benefits strong{margin-bottom:2px;font-size:14px;display:block}.sign-in-prompt .benefits small{color:var(--on-surface-variant);font-size:12px;line-height:16px}.sign-in-prompt .coming-soon-note{text-align:right;margin:0;font-size:11px}.upload-dropzone{justify-content:center;align-items:center;gap:var(--xs);padding:var(--xl) var(--lg);background:var(--surface-c-low);border:2px dashed var(--outline-variant);border-radius:var(--radius-xl);text-align:center;cursor:pointer;color:var(--on-surface-variant);flex-direction:column;transition:border-color .12s,background-color .12s;display:flex}.upload-dropzone:hover,.upload-dropzone.hovering{border-color:var(--primary);background:var(--primary-fixed);color:var(--on-primary-fixed-variant)}.upload-dropzone h3{color:var(--on-surface);margin:0;font-size:16px;font-weight:600}.upload-dropzone p{margin:0}.local-resume{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-left:3px solid var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--md);align-items:stretch;transition:border-color .12s;display:flex}.local-resume:hover{border-color:var(--primary)}.local-resume .material-symbols-outlined{color:var(--primary);font-size:24px}.local-resume-open{align-items:center;gap:var(--md);padding:var(--md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;margin:0;display:flex}.local-resume>.ghost{padding:var(--md)}.local-resume-meta{flex-direction:column;flex:auto;display:flex}.local-resume-meta strong{font-size:14px}.local-resume-meta small{color:var(--on-surface-variant);font-size:12px}.local-resume-badge{border-radius:var(--radius-pill);background:var(--surface-c-low);color:var(--on-surface-variant);border:1px solid var(--outline-variant);text-transform:uppercase;letter-spacing:.3px;padding:2px 8px;font-size:11px;font-weight:500}.empty-state{padding:var(--xl);text-align:center;max-width:480px;margin:0 auto}.dag-fingerprint{display:block;overflow:visible}.dag-fingerprint-node{cursor:default}.dag-fingerprint-hover-ring{fill:#0000;stroke:#0000;stroke-width:1px;transition:stroke .12s,fill .12s}.dag-fingerprint-node:hover .dag-fingerprint-hover-ring{fill:color-mix(in srgb, var(--primary) 12%, transparent);stroke:color-mix(in srgb, var(--primary) 45%, transparent)}.dag-fingerprint-count{font-family:var(--font-mono);letter-spacing:.02em;pointer-events:none;font-size:9px}.dag-canvas-shell{background:var(--surface-c-low);width:100%;height:100%;position:relative;overflow:hidden}.dag-canvas-shell .react-flow{background-color:var(--surface-c-low);background-image:radial-gradient(var(--outline-variant) 1px, transparent 1px);background-size:24px 24px}.dag-canvas-shell .react-flow__attribution{display:none}.dag-canvas-shell .react-flow__controls{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000a}.dag-canvas-shell .react-flow__controls button{color:var(--on-surface);border-bottom-color:var(--outline-variant);background:0 0;width:28px;height:28px}.dag-canvas-shell .react-flow__controls button:hover{background:var(--surface-c)}.dag-canvas-shell .react-flow__edge-path{stroke:var(--outline-variant);stroke-width:1.5px}.dag-canvas-shell .react-flow__edge.animated .react-flow__edge-path{stroke:var(--primary);stroke-dasharray:4 4;animation:.6s linear infinite dagDashdraw}@keyframes dagDashdraw{to{stroke-dashoffset:-8px}}.dag-node-card{background:var(--surface-c-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);cursor:pointer;width:220px;min-height:96px;font-family:var(--font-sans);flex-direction:column;gap:6px;padding:10px 12px;transition:border-color .12s,box-shadow .12s,opacity .12s;display:flex;box-shadow:0 1px 2px #0000000d}.dag-node-card:hover{border-color:var(--primary)}.dag-node-card.is-focused{border-color:var(--primary);border-width:2px;padding:9px 11px;box-shadow:0 4px 12px #01011b1f}.dag-node-card.is-dimmed{opacity:.45}.dag-node-handle{opacity:0;pointer-events:none;background:0 0;border:0;width:1px;min-width:1px;height:1px;min-height:1px}.dag-node-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dag-node-type-pill{letter-spacing:.02em;background:var(--surface-c);color:var(--on-surface-variant);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.dag-node-type-pill.type-trigger{color:var(--primary);background:var(--primary-fixed)}.dag-node-type-pill.type-tool{color:var(--secondary);background:var(--secondary-container)}.dag-node-type-pill.type-audible{color:var(--tertiary);background:var(--tertiary-fixed)}.dag-node-type-pill.type-markdown{color:var(--on-surface-variant);background:var(--surface-c)}.dag-node-status{font-size:10px;font-family:var(--font-mono);background:var(--surface-c);color:var(--on-surface-variant);border-radius:3px;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.dag-node-status.status-pending{color:var(--primary);background:var(--primary-fixed)}.dag-node-status.status-success{color:var(--secondary);background:var(--secondary-container)}.dag-node-status.status-fail{color:var(--on-error-container);background:var(--error-container)}.dag-node-status.status-paused{color:#6b5300;background:#fef3c7}.dag-node-title{color:var(--on-surface);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:18px;display:-webkit-box;overflow:hidden}.dag-node-outputs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dag-node-output-chip{font-family:var(--font-mono);background:var(--surface-c-high);color:var(--primary);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.cell-wrapper{border-radius:var(--radius-lg);outline-offset:2px;outline:2px solid #0000;transition:opacity .16s;position:relative}.cell-wrapper[role=button]{cursor:pointer}.cell-wrapper.is-focused{outline-color:var(--primary)}.cell-wrapper.is-focused:before{content:"";background:var(--primary);border-radius:var(--radius-default) 0 0 var(--radius-default);pointer-events:none;width:6px;height:32px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.cell-wrapper.is-dimmed{opacity:.45}.cell-wrapper.is-dimmed .cell{pointer-events:none}.cell-wrapper:focus-visible{outline:2px dashed var(--primary);outline-offset:4px}.notebook-inserter-gap{justify-content:center;align-items:center;gap:var(--sm);height:0;margin-top:calc(var(--md) * -1);z-index:1;margin-bottom:0;display:flex;position:relative;overflow:visible}.notebook-inserter-toggle{background:var(--surface-c-low);border:1px dashed var(--outline-variant);color:var(--on-surface-variant);cursor:pointer;opacity:.3;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:opacity .12s,background .12s,color .12s,border-color .12s,border-style .12s;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.notebook-inserter-toggle:hover,.notebook-inserter-toggle:focus-visible{opacity:1;background:var(--primary);border-color:var(--primary);color:var(--on-primary);border-style:solid}.notebook-inserter-open{height:auto;padding:4px var(--sm);background:var(--surface-c-low);border:1px dashed var(--outline-variant);border-radius:var(--radius-default);margin-top:0}.notebook-inserter-cancel{color:var(--on-surface-variant);cursor:pointer;border-radius:var(--radius-default);background:0 0;border:0;align-items:center;padding:2px;display:inline-flex}.notebook-inserter-cancel:hover{background:var(--surface-c);color:var(--on-surface)}.cell-more{display:inline-flex;position:relative}.cell-more-menu{z-index:5;background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-default);flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0000001f}.cell-more-menu button{text-align:left;border-radius:var(--radius-default);color:var(--on-surface);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.cell-more-menu button:hover{background:var(--surface-c-low)}.cell-more-menu .cell-more-delete{color:var(--error,#b3261e)}.cell-more-menu .cell-more-delete:hover{background:#b3261e14}.cell-drag-handle{color:var(--on-surface-variant);cursor:grab;opacity:0;border-radius:var(--radius-default);background:0 0;border:0;align-items:center;padding:2px;transition:opacity .12s;display:inline-flex;position:absolute;top:12px;left:-28px}.cell-wrapper:hover .cell-drag-handle,.cell-drag-handle:focus-visible{opacity:1}.cell-drag-handle:hover{background:var(--surface-c-low);color:var(--on-surface)}.cell-drag-handle:active{cursor:grabbing}.cell-wrapper.is-dimmed .cell-drag-handle{pointer-events:none;opacity:0}.cell-wrapper.is-dragging{opacity:.65;z-index:10}.cell-wrapper.is-dragging .cell{box-shadow:0 6px 18px #0000002e}.cell-anchor-hint{opacity:.65;margin-left:6px;font-size:11px;font-weight:400}.cell-edit-textarea-code{font-family:var(--font-mono);color:var(--inverse-on-surface);padding:12px var(--md);background:#0f1416}.cell-audible .cell-edit-textarea-code{color:#ff8b9b;background:#14080a}.upload-dropzone .link-button{color:inherit;font-size:inherit;text-decoration:underline}.upload-dropzone .link-button:hover{text-decoration:underline}.import-table{border-collapse:collapse;width:100%;margin-top:var(--md);font-size:13px}.import-table th,.import-table td{text-align:left;padding:var(--sm) var(--md);border-bottom:1px solid var(--outline-variant);vertical-align:top}.import-table th{color:var(--on-surface-variant);letter-spacing:.02em;font-size:12px;font-weight:600}.import-filename{font-family:var(--font-mono,monospace);word-break:break-all;max-width:260px}.import-detail-cell{color:var(--on-surface-variant);max-width:480px}.import-detail{margin-top:var(--xs);padding:var(--sm);background:var(--surface-c-low);border:1px solid var(--outline-variant);border-radius:var(--radius-default);font-family:var(--font-mono,monospace);white-space:pre-wrap;max-height:200px;font-size:11px;overflow-y:auto}.import-row-action{white-space:nowrap}.import-actions{gap:var(--sm);margin-top:var(--md);align-items:center;display:flex}.status-pill.import-status-queued{background:var(--surface-c-high);color:var(--on-surface-variant);border-color:var(--outline-variant)}.status-pill.import-status-saving{background:var(--primary-fixed);color:var(--on-primary-fixed-variant);border-color:var(--primary-fixed-dim)}.status-pill.import-status-saved{background:var(--secondary-container);color:var(--on-secondary-container);border-color:var(--secondary)}.status-pill.import-status-error{background:var(--error-container,var(--surface-c-high));color:var(--on-error-container,var(--error));border-color:var(--error)}@media (width<=768px){html,body{overflow-x:clip}.sidebar{width:64px;padding-top:12px}.sidebar-brand-icon{margin:0 auto var(--md);display:block}.sidebar-brand,.sidebar-nav a span:not(.material-symbols-outlined),.sidebar-cta button span:not(.material-symbols-outlined){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.main-area{min-width:0;margin-left:64px}.top-bar{padding:0 var(--md);gap:var(--sm)}.top-bar .search{flex:80px;width:auto;min-width:0}.top-bar .actions{gap:var(--sm);min-width:0}.top-bar .divider{display:none}.sign-in-button{white-space:nowrap;padding:6px 10px;font-size:12px}.page{padding:var(--md)}.page-header{align-items:flex-start;gap:var(--sm);flex-direction:column}.page-header h2{font-size:24px;line-height:32px}.page-header p{font-size:14px}.home{padding:var(--lg) var(--md) var(--lg);gap:var(--md)}.home-brand{width:160px}.home-tagline{margin-block-end:var(--sm)}.home-greeting{font-size:28px;line-height:1.2}.home-prompt{min-height:140px;font-size:15px}.home-actions{width:100%}.home-primary,.home-secondary{flex:auto;justify-content:center}.local-resume-open,.local-resume-meta{min-width:0}.local-resume-meta strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.local-resume-meta small{white-space:nowrap}.editor-header{gap:var(--sm);flex-wrap:wrap}.editor-mode-switch{flex-basis:100%;order:3}.editor-footer{flex-wrap:wrap}.editor-footer .footer-spacer{display:none}.split-pane{flex-direction:column}.split-pane-left,.split-pane-right{flex:50%!important}.split-pane-divider{cursor:row-resize;width:100%;height:6px}.run-panel{z-index:20;position:fixed;top:64px;bottom:0;right:0;box-shadow:0 4px 16px #00000026}}@keyframes author-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes author-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.landing{--landing-bg:#0b0914;--landing-bg-2:#14112a;--landing-card:#1a1827;--landing-card-hover:#221f33;--landing-border:#e0e0e01a;--landing-text:#e0e0e0;--landing-text-muted:#9b9aa3;--landing-text-dim:#6f6e76;--landing-accent:#00c896;--landing-accent-hover:#1ddca6;--landing-accent-soft:#00c8962e;background:var(--landing-bg);min-height:100vh;color:var(--landing-text);font-family:var(--font-sans);line-height:1.5;position:relative;overflow-x:hidden}.landing-bg-glow{pointer-events:none;filter:blur(40px);z-index:0;background:radial-gradient(80% 50% at 50% 0,#00c89629 0%,#00c8960a 40%,#0000 70%);height:800px;position:absolute;inset:0 0 auto}.landing-bg-grid{pointer-events:none;z-index:0;background-image:linear-gradient(90deg,#e0e0e00a 1px,#0000 1px),linear-gradient(#e0e0e00a 1px,#0000 1px);background-size:60px 60px;height:800px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.landing a{color:inherit}.landing a:hover{text-decoration:none}.landing-main{z-index:1;position:relative}.landing-error{z-index:11;color:#fde0e0;background:#4a1d1d;border-bottom:1px solid #ff787866;position:sticky;top:0}.landing-error-inner{max-width:1200px;padding:var(--sm) var(--lg);align-items:center;gap:var(--md);margin:0 auto;font-size:14px;display:flex}.landing-error-inner .material-symbols-outlined{color:#f99;flex-shrink:0;font-size:20px}.landing-error-text{flex:1;line-height:1.4}.landing-error-text strong{color:#fff;font-weight:600}.landing-error-dismiss{appearance:none;color:#fde0e0;cursor:pointer;border-radius:var(--radius-default);background:0 0;border:0;justify-content:center;align-items:center;padding:4px;transition:background-color .12s;display:inline-flex}.landing-error-dismiss:hover{background:#ffffff1a}.landing-nav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--landing-border);background:#0b0914d9;position:sticky;top:0}.landing-nav-inner{max-width:1200px;padding:var(--md) var(--lg);justify-content:space-between;align-items:center;gap:var(--md);margin:0 auto;display:flex}.landing-brand{align-items:center;gap:var(--sm);color:var(--landing-text);text-decoration:none;display:inline-flex}.landing-brand-logo{width:auto;height:56px;display:block}.landing-nav-cta{appearance:none;background:var(--landing-accent);color:#0b0914;border-radius:var(--radius-pill);font-family:var(--font-sans);cursor:pointer;border:0;padding:10px 20px;font-size:14px;font-weight:700;transition:background-color .12s,transform .12s}.landing-nav-cta:hover{background:var(--landing-accent-hover);transform:translateY(-1px)}.landing-hero{max-width:1200px;padding:80px var(--lg) 64px;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;margin:0 auto;display:grid}.landing-hero-title{letter-spacing:-.02em;margin:0 0 var(--md) 0;background:linear-gradient(#fff 0%,#b8e8d6 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:700;line-height:1.05}.landing-hero-sub{color:var(--landing-text-muted);max-width:520px;margin:0 0 var(--lg) 0;font-size:18px;line-height:1.55}.landing-hero-actions{gap:var(--md);flex-wrap:wrap;display:flex}.landing-cta{appearance:none;border-radius:var(--radius-pill);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:var(--sm);border:0;padding:14px 24px;font-size:15px;font-weight:600;transition:background-color .12s,border-color .12s,transform .12s,color .12s;display:inline-flex}.landing-cta-primary{background:var(--landing-accent);color:#0b0914}.landing-cta-primary:hover{background:var(--landing-accent-hover);transform:translateY(-1px)}.landing-cta-ghost{color:var(--landing-text);border:1px solid var(--landing-border);background:0 0}.landing-cta-ghost:hover{background:var(--landing-card);border-color:var(--landing-accent)}.landing-hero-art{justify-content:center;align-items:center;display:flex}.landing-hero-canvas{border-radius:var(--radius-xl);border:1px solid var(--landing-border);background:#14132a;width:100%;max-width:560px;overflow:hidden;box-shadow:0 30px 60px -20px #0009,0 0 80px #6a5fff26}.landing-canvas-bar{height:36px;padding:0 var(--md);border-bottom:1px solid var(--landing-border);background:#1a1930;align-items:center;gap:6px;display:flex;position:relative}.landing-canvas-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.landing-canvas-dot-red{background:#fc5753}.landing-canvas-dot-amber{background:#fdbc40}.landing-canvas-dot-green{background:#33c748}.landing-canvas-title{font-family:var(--font-mono);color:var(--landing-text-dim);letter-spacing:.04em;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.landing-canvas-body{background-image:linear-gradient(90deg,#c3c0ff0a 1px,#0000 1px),linear-gradient(#c3c0ff0a 1px,#0000 1px);background-size:30px 30px;height:320px;display:flex}.landing-canvas-sidebar{border-right:1px solid var(--landing-border);width:140px;padding:var(--md);z-index:1;background:#0b091499;flex-direction:column;gap:10px;display:flex;position:relative}.landing-canvas-sidebar-head{width:60%;height:6px;margin-bottom:var(--sm);background:#ffffff1f;border-radius:3px}.landing-canvas-sidebar-row{align-items:center;gap:var(--sm);display:flex}.landing-canvas-sidebar-icon{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;width:12px;height:12px}.landing-canvas-sidebar-label{background:#ffffff1a;border-radius:2.5px;flex:1;height:5px}.landing-canvas-stage{flex:1;position:relative}.landing-canvas-wires{stroke:#6a5fff;stroke-width:1.5px;fill:none;opacity:.55;width:100%;height:100%;position:absolute;inset:0}.landing-canvas-node{width:130px;padding:var(--sm);background:var(--landing-card);border:1px solid var(--landing-border);border-radius:6px;flex-direction:column;gap:6px;display:flex;position:absolute;box-shadow:0 4px 12px #00000080}.landing-canvas-node-1{top:50px;left:16px}.landing-canvas-node-2{border-color:#6a5fff99;top:50px;left:168px;box-shadow:0 0 16px #6a5fff33}.landing-canvas-node-3{top:150px;left:248px}.landing-canvas-node-4{top:210px;left:16px}.landing-canvas-node-chip{border-radius:3px;width:12px;height:12px;display:inline-block}.landing-canvas-node-chip-violet{background:#8b7df0}.landing-canvas-node-chip-blue{background:#3b82f6}.landing-canvas-node-chip-green{background:#34d399}.landing-canvas-node-chip-orange{background:#f59e0b}.landing-canvas-node-title{background:#ffffffbf;border-radius:2.5px;width:70%;height:5px}.landing-canvas-node-line{background:#ffffff1a;border-radius:1.5px;width:100%;height:3px}.landing-canvas-node-line.short{width:65%}.landing-canvas-node-line.accent{background:#6a5fff66}.landing-features{max-width:calc(1200px - var(--lg) * 2);margin:0 auto var(--xl);background:var(--landing-card);border:1px solid var(--landing-border);border-radius:var(--radius-xl);grid-template-columns:repeat(3,1fr);gap:48px;padding:40px;display:grid}.landing-feature{gap:var(--md);flex-direction:column;display:flex}.landing-feature-icon{width:44px;height:44px;color:var(--landing-accent);background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.landing-feature-icon .material-symbols-outlined{font-size:22px}.landing-feature-heading{align-items:center;gap:var(--sm);margin-bottom:var(--sm);display:flex}.landing-feature h3{margin:0 0 var(--sm) 0;color:var(--landing-text);font-size:18px;font-weight:600}.landing-feature-heading h3{margin:0}.landing-feature-badge{font-size:10px;font-weight:600;font-family:var(--font-mono);color:#ffffffbf;letter-spacing:.5px;background:#ffffff1a;border-radius:4px;padding:2px 6px;display:inline-block}.landing-feature p{color:var(--landing-text-muted);margin:0;font-size:14px;line-height:1.55}.landing-grid-section{max-width:1200px;padding:0 var(--lg) 80px;margin:0 auto;scroll-margin-top:80px}.landing-grid-header{text-align:center;margin-bottom:40px}.landing-grid-header h2{letter-spacing:-.02em;margin:0 0 var(--sm) 0;font-size:36px;font-weight:700}.landing-grid-header p{color:var(--landing-text-muted);margin:0;font-size:16px}.landing-grid{gap:var(--md);grid-template-columns:repeat(3,1fr);display:grid}.landing-tile{appearance:none;border:1px solid var(--landing-border);background:var(--landing-card);border-radius:var(--radius-xl);text-align:left;cursor:pointer;color:inherit;flex-direction:column;padding:0;font-family:inherit;transition:border-color .16s,transform .16s;display:flex;overflow:hidden}.landing-tile:hover{border-color:#00c8968c;transform:translateY(-2px)}.landing-tile-art{justify-content:center;align-items:center;height:160px;display:flex;position:relative;overflow:hidden}.landing-tile-art-grid{mix-blend-mode:overlay;opacity:.5;background-image:linear-gradient(90deg,#ffffff0f 1px,#0000 1px),linear-gradient(#ffffff0f 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.landing-tile-art:after{content:"";pointer-events:none;background:#0003;position:absolute;inset:0}.landing-tile-art-bubble{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;transition:transform .5s;display:flex;position:relative;box-shadow:0 10px 30px #0000004d}.landing-tile:hover .landing-tile-art-bubble{transform:scale(1.05)}.landing-tile-art-bubble .material-symbols-outlined{font-size:36px}.landing-tile-body{padding:var(--lg);position:relative}.landing-tile-bubble-overlap{top:-20px;right:var(--lg);background:var(--landing-card);border:1px solid var(--landing-border);width:40px;height:40px;color:var(--landing-text);pointer-events:none;border-radius:10px;justify-content:center;align-items:center;transition:background-color .16s,color .16s;display:flex;position:absolute;box-shadow:0 4px 12px #0006}.landing-tile:hover .landing-tile-bubble-overlap{background:var(--landing-accent);color:#0b0914}.landing-tile-bubble-overlap .material-symbols-outlined{font-size:20px}.landing-tile-body h4{margin:0 0 var(--sm) 0;color:var(--landing-text);font-size:18px;font-weight:600}.landing-tile-body p{color:var(--landing-text-muted);margin:0 0 var(--md) 0;font-size:14px;line-height:1.5}.landing-tile-link{color:var(--landing-accent);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.landing-tile-link .material-symbols-outlined{font-size:16px;transition:transform .16s}.landing-tile:hover .landing-tile-link .material-symbols-outlined{transform:translate(3px)}.landing-works-with{max-width:1200px;padding:0 var(--lg) 80px;text-align:center;margin:0 auto}.landing-works-with-label{letter-spacing:.12em;text-transform:uppercase;color:var(--landing-text-dim);margin:0 0 var(--md) 0;font-size:12px;font-weight:600}.landing-works-with-list{justify-content:center;gap:var(--lg);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-works-with-list li{color:var(--landing-text-muted);font-size:18px;font-weight:600;font-family:var(--font-mono)}.landing-final-cta{max-width:900px;padding:60px var(--lg) 80px;text-align:center;border-top:1px solid var(--landing-border);margin:0 auto}.landing-final-cta h2{letter-spacing:-.02em;margin:0 0 var(--lg) 0;font-size:32px;font-weight:700}.landing-footer{background:var(--landing-bg-2);border-top:1px solid var(--landing-border);padding:40px var(--lg) 32px}.landing-footer-inner{justify-content:space-between;align-items:center;gap:var(--md);flex-wrap:wrap;max-width:1200px;margin:0 auto;display:flex}.landing-footer-brand{align-items:center;gap:var(--md);display:flex}.landing-footer-by{color:var(--landing-text-dim);letter-spacing:.02em;font-size:13px;font-weight:500}.landing-footer-links{gap:var(--lg);display:flex}.landing-footer-links a{color:var(--landing-text-muted);font-size:14px;text-decoration:none;transition:color .12s}.landing-footer-links a:hover{color:var(--landing-text)}.landing-footer-copy{max-width:1200px;margin:var(--lg) auto 0;text-align:center;color:var(--landing-text-dim);font-size:12px}@media (width<=900px){.landing-hero{padding:48px var(--md) 40px;gap:var(--lg);grid-template-columns:1fr}.landing-hero-art{order:-1}.landing-hero-title{font-size:40px}.landing-hero-sub{font-size:16px}.landing-hero-canvas{max-width:100%}.landing-canvas-body{height:240px}.landing-canvas-node{width:110px}.landing-features{gap:var(--lg);padding:var(--lg);margin:0 var(--md) 56px;grid-template-columns:1fr}.landing-grid{grid-template-columns:repeat(2,1fr)}.landing-grid-section,.landing-works-with{padding-left:var(--md);padding-right:var(--md)}.landing-grid-header h2{font-size:28px}.landing-final-cta{padding:48px var(--md) 56px}.landing-final-cta h2{font-size:26px}}@media (width<=560px){.landing-nav-inner{padding:var(--sm) var(--md)}.landing-brand-logo{height:44px}.landing-hero{padding-top:32px}.landing-hero-title{font-size:32px}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-hero-actions .landing-cta{justify-content:center}.landing-canvas-sidebar{width:100px;padding:var(--sm)}.landing-canvas-node{width:92px}.landing-canvas-node-3{left:auto;right:8px}.landing-grid{grid-template-columns:1fr}.landing-works-with-list{gap:var(--md)}.landing-works-with-list li{font-size:15px}.landing-footer-inner{flex-direction:column;align-items:flex-start}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
