.app-toast-stack[data-v-735c0e75]{position:fixed;z-index:2000;top:80px;right:20px;display:grid;width:min(380px,calc(100vw - 32px));gap:10px;pointer-events:none}.app-toast[data-v-735c0e75]{--toast-accent: var(--blue-400);position:relative;display:grid;overflow:hidden;grid-template-columns:30px minmax(0,1fr) 24px;align-items:start;gap:10px;padding:13px 12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-2) 94%,transparent);box-shadow:0 16px 44px #00000057;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.app-toast.is-success[data-v-735c0e75]{--toast-accent: var(--success)}.app-toast.is-warning[data-v-735c0e75]{--toast-accent: var(--warning)}.app-toast.is-error[data-v-735c0e75]{--toast-accent: var(--danger)}.app-toast__icon[data-v-735c0e75]{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--surface-3);color:var(--toast-accent)}.app-toast__icon svg[data-v-735c0e75]{width:15px;height:15px}.app-toast__content[data-v-735c0e75]{display:grid;min-width:0;gap:3px;padding-top:1px}.app-toast__content b[data-v-735c0e75]{color:var(--text-1);font-size:11px;font-weight:550}.app-toast__content>span[data-v-735c0e75]{color:var(--text-3);font-size:10px;line-height:1.55;overflow-wrap:anywhere}.app-toast button[data-v-735c0e75]{display:grid;width:24px;height:24px;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer}.app-toast button[data-v-735c0e75]:hover{background:var(--surface-interactive-hover);color:var(--text-1)}.app-toast button svg[data-v-735c0e75]{width:12px;height:12px}.app-toast-enter-active[data-v-735c0e75],.app-toast-leave-active[data-v-735c0e75]{transition:opacity .22s var(--ease-out),transform .22s var(--ease-out)}.app-toast-enter-from[data-v-735c0e75],.app-toast-leave-to[data-v-735c0e75]{opacity:0;transform:translate3d(12px,-8px,0) scale(.98)}.app-toast-move[data-v-735c0e75]{transition:transform .22s var(--ease-out)}@media(max-width:640px){.app-toast-stack[data-v-735c0e75]{top:12px;right:16px;left:16px;width:auto}}@media(prefers-reduced-motion:reduce){.app-toast-enter-active[data-v-735c0e75],.app-toast-leave-active[data-v-735c0e75],.app-toast-move[data-v-735c0e75]{transition-duration:.01ms}}:root{color-scheme:dark;font-size:14px;font-synthesis:none;color:var(--text-1);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", "Monospace";--bg-canvas: #08090a;--surface-0: #080808;--surface-1: #0a0a0a;--surface-2: #14171c;--surface-3: #1a1e25;--surface-card: #0a0a0a;--surface-interactive-hover: #191919;--surface-interactive-active: #1f1f1f;--table-head: #111111;--code-surface: #080808;--studio-node-surface: #0a0a0a;--studio-node-inner: #080808;--optimizer-result-hero: var(--surface-2);--text-1: #f7f8f8;--text-2: #a1a1a1;--text-3: #6f7682;--text-inverse: #ffffff;--syntax-prefix: #70a7e8;--syntax-iri: #d9ad73;--syntax-literal: #8fc98d;--blue-400: #3291ff;--blue-500: #0070f3;--blue-600: #0060df;--blue-soft: rgba(0, 112, 243, .12);--success: #5dcf9a;--success-soft: rgba(93, 207, 154, .12);--warning: #e9b95f;--warning-soft: rgba(233, 185, 95, .12);--danger: #f16a6a;--danger-soft: rgba(241, 106, 106, .12);--border-subtle: rgba(255, 255, 255, .075);--border-strong: rgba(255, 255, 255, .18);--control-border: rgba(255, 255, 255, .14);--control-border-hover: rgba(255, 255, 255, .24);--control-border-focus: rgba(255, 255, 255, .42);--control-focus-glow: rgba(255, 255, 255, .1);--focus-border: rgba(255, 255, 255, .92);--focus-ring: none;--scrollbar-width: 10px;--scrollbar-track: transparent;--scrollbar-thumb: #333333;--scrollbar-thumb-hover: #4a4a4a;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 0 rgba(255, 255, 255, .025) inset, 0 12px 40px rgba(0, 0, 0, .18);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .28);--shadow-overlay: 0 24px 72px rgba(0, 0, 0, .46), 0 0 0 1px rgba(255, 255, 255, .04);--duration-fast: .12s;--duration-normal: .18s;--ease-out: cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{color-scheme:light;--bg-canvas: #fafafa;--surface-0: #ffffff;--surface-1: #ffffff;--surface-2: #fafafa;--surface-3: #f2f2f2;--surface-card: #ffffff;--surface-interactive-hover: #f2f2f2;--surface-interactive-active: #eaeaea;--table-head: #fafafa;--code-surface: #fafafa;--studio-node-surface: #fafafa;--studio-node-inner: #ffffff;--optimizer-result-hero: var(--surface-3);--text-1: #1a1a1a;--text-2: #666666;--text-3: #888888;--text-inverse: #ffffff;--syntax-prefix: #0068d9;--syntax-iri: #9a5d00;--syntax-literal: #137a46;--blue-400: #0070f3;--blue-500: #0068d9;--blue-600: #0059bf;--blue-soft: rgba(0, 112, 243, .08);--success: #168a52;--success-soft: rgba(22, 138, 82, .09);--warning: #a65f00;--warning-soft: rgba(166, 95, 0, .09);--danger: #d72c2c;--danger-soft: rgba(215, 44, 44, .08);--border-subtle: #eaeaea;--border-strong: #d4d4d4;--control-border: #e1e1e1;--control-border-hover: #bcbcbc;--control-border-focus: #1a1a1a;--control-focus-glow: rgba(0, 0, 0, .06);--focus-border: #1a1a1a;--scrollbar-thumb: #c7c7c7;--scrollbar-thumb-hover: #a6a6a6;--shadow-card: 0 1px 2px rgba(0, 0, 0, .025);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .08);--shadow-overlay: 0 18px 48px rgba(0, 0, 0, .14), 0 0 0 1px rgba(0, 0, 0, .03)}:root[data-theme=light] .input:disabled,:root[data-theme=light] .textarea:disabled,:root[data-theme=light] .select:disabled,:root[data-theme=light] .select-trigger:disabled{background:#f5f5f5}:root[data-theme=light] .segmented:before{background:var(--surface-card);box-shadow:var(--shadow-xs)}:root[data-theme=light] .button--danger,:root[data-theme=light] .button--danger:hover:not(:disabled),:root[data-theme=light] .field-error,:root[data-theme=light] .badge.is-danger{color:var(--danger)}:root[data-theme=light] .badge.is-blue{color:var(--blue-600)}:root[data-theme=light] .badge.is-success{color:var(--success)}:root[data-theme=light] .badge.is-warning{color:var(--warning)}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{min-width:28px;min-height:28px;border:2px solid transparent;border-radius:var(--radius-pill);background:var(--scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}html{background:var(--bg-canvas)}body{min-width:320px;min-height:100vh;margin:0;background:var(--bg-canvas);color:var(--text-1);font-family:var(--font-sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#0070f352;color:var(--text-1)}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;min-width:0;height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 18px;color:var(--text-1);background:transparent;font-size:16px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1)}.button svg{width:15px;height:15px;flex:0 0 auto;stroke-width:1.9}.button:hover:not(:disabled){color:var(--text-1)}.button:active:not(:disabled){transform:translateY(1px)}.button:focus-visible{outline:2px solid var(--focus-border);outline-offset:2px}.button:disabled{opacity:.45;cursor:not-allowed}.button--primary{border-color:var(--blue-500);background:var(--blue-500);color:var(--text-inverse)}.button--primary:hover:not(:disabled){background:var(--blue-400)}.button--primary:active:not(:disabled){background:var(--blue-600)}.button--primary-white{border-color:var(--text-1);background:var(--text-1);color:var(--surface-1)}.button--primary-white:hover:not(:disabled){border-color:var(--text-2);background:var(--text-2);color:var(--surface-1)}.button--primary-white:active:not(:disabled){background:var(--text-3)}.button--secondary{border-color:var(--control-border);background:var(--surface-card);color:var(--text-1)}.button--secondary:hover:not(:disabled){background:var(--surface-interactive-hover)}.button--secondary:active:not(:disabled){background:var(--surface-interactive-active)}.button--ghost{color:var(--text-2)}.button--ghost:hover:not(:disabled){background:var(--surface-interactive-hover)}.button--danger{border-color:#f16a6a2e;background:var(--danger-soft);color:#faa}.button--danger:hover:not(:disabled){border-color:#f16a6a57;background:#f16a6a2e;color:#ffc0c0}.button--sm{height:32px;border-radius:var(--radius-sm);padding:0 13px;font-size:14px}.button--lg{height:40px;padding:0 18px}.button--icon{width:40px;padding:0}.button--sm.button--icon{width:32px}.button--lg.button--icon{width:40px}.icon-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;width:36px;height:36px;place-items:center;border:0;border-radius:var(--radius-md);padding:0;background:transparent;color:var(--text-2);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.icon-button svg{width:16px;height:16px}.icon-button:hover:not(:disabled){background:var(--surface-interactive-hover);color:var(--text-1)}.icon-button:focus-visible{outline:2px solid var(--focus-border);outline-offset:2px}.icon-button:disabled{opacity:.4;cursor:not-allowed}.spinner{animation:spin .8s linear infinite}.icon-hidden{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}.field{display:flex;min-width:0;flex-direction:column;gap:7px}.label,.demo-label{color:var(--text-2);font-size:12px;font-weight:500;line-height:16px;letter-spacing:.01em}.input,.textarea,.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;border:1px solid var(--control-border);border-radius:var(--radius-md);outline:0;background:var(--surface-1);color:var(--text-1);font-size:13px;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input,.select{height:40px;padding:0 11px}.textarea{min-height:88px;padding:10px 11px;line-height:1.55;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover:not(:disabled),.textarea:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--control-border-hover)}.input:focus:not(:disabled),.textarea:focus:not(:disabled),.select:focus:not(:disabled){border-color:var(--control-border-focus);box-shadow:0 0 0 1px var(--control-border-focus),0 0 0 4px var(--control-focus-glow)}.input:disabled,.textarea:disabled,.select:disabled{color:var(--text-3);background:#ffffff06;cursor:not-allowed}.input--sm{height:32px}.input-shell,.select-shell{position:relative;display:flex;min-width:0;align-items:center}.input-shell>.input{padding-right:38px}.input-shell>svg:first-child{position:absolute;left:11px;z-index:1;color:var(--text-3)}.input-shell>svg:first-child+.input{padding-left:35px}.input-shell>svg,.select-shell>svg,.input-shell>button svg{width:15px;height:15px;pointer-events:none}.input-shell>svg:last-child,.select-shell>svg{position:absolute;right:11px;color:var(--text-3)}.input-shell>button{position:absolute;right:5px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer}.input-shell>button:hover{background:var(--surface-interactive-hover);color:var(--text-1)}.input-shell>button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.input-shell>kbd{position:absolute;right:8px;border:1px solid var(--control-border);border-radius:5px;padding:2px 5px;background:var(--surface-2);color:var(--text-3);font:10px var(--font-sans)}.select{padding-right:34px;cursor:pointer}.select-shell>svg{pointer-events:none}.select option{background:var(--surface-1);color:var(--text-1)}.custom-select{position:relative;min-width:0}.select-trigger{display:flex;width:100%;height:40px;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--control-border);border-radius:var(--radius-md);padding:0 11px;background:var(--surface-1);color:var(--text-1);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.select-trigger:hover{border-color:var(--control-border-hover);background:var(--surface-1)}.select-trigger:disabled{color:var(--text-3);background:#ffffff06;cursor:not-allowed}.select-trigger:focus-visible,.custom-select.is-open .select-trigger{border-color:var(--control-border-focus);outline:0;box-shadow:0 0 0 1px var(--control-border-focus),0 0 0 4px var(--control-focus-glow)}.select-trigger svg{width:15px;height:15px;color:var(--text-3);transition:transform var(--duration-fast) var(--ease-out)}.custom-select.is-open .select-trigger svg{transform:rotate(180deg)}.select-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:30;display:none;margin:0;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:5px;background:var(--surface-1);box-shadow:var(--shadow-overlay);list-style:none}.custom-select.is-open .select-menu{display:flex;flex-direction:column;gap:3px;animation:select-in var(--duration-fast) var(--ease-out)}.select-option{display:flex;width:100%;min-height:34px;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:6px;padding:0 9px;background:transparent;color:var(--text-1);text-align:left;cursor:pointer}.select-option__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-option__meta{margin-left:auto;color:var(--text-2);font-size:10px;font-weight:400;white-space:nowrap}.select-option:hover,.select-option:focus-visible{outline:0;background:var(--surface-interactive-hover);color:var(--text-1)}.select-option[aria-selected=true]{background:var(--surface-interactive-active);color:var(--text-1)}.select-option svg{width:14px;height:14px;color:var(--text-1);opacity:0}.select-option[aria-selected=true] svg{opacity:1}.select-trigger .is-placeholder{color:var(--text-3)}.select-menu{max-height:280px;overflow-y:auto}.select-group-label,.select-empty{display:block;padding:7px 9px 4px;color:var(--text-3);font-size:10px}.select-group-label:not(:first-child){margin-top:4px;border-top:1px solid var(--border-subtle)}@keyframes select-in{0%{opacity:0;transform:translateY(-3px)}}.app-tooltip{position:fixed;z-index:120;max-width:min(240px,calc(100vw - 16px));padding:6px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-interactive-active);box-shadow:0 8px 24px #0000005c;color:var(--text-2);font-size:10px;font-weight:500;line-height:1.35;opacity:0;pointer-events:none;transform:translate(-50%,2px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);white-space:nowrap}.app-tooltip:after{position:absolute;left:50%;width:6px;height:6px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:var(--surface-interactive-active);content:""}.app-tooltip[data-placement=top]:after{bottom:-4px;transform:translate(-50%) rotate(45deg)}.app-tooltip[data-placement=bottom]:after{top:-4px;transform:translate(-50%) rotate(225deg)}.app-tooltip.is-visible{opacity:1;transform:translate(-50%)}.field-hint,.field-error{color:var(--text-3);font-size:11px;line-height:16px}.field-error{color:#f99}.field.is-error .input,.field.is-error .textarea,.field.is-error .select{border-color:#f16a6aa8}.field.is-error .input:focus,.field.is-error .textarea:focus,.field.is-error .select:focus{box-shadow:0 0 0 3px #f16a6a21}.field.is-error .input-shell>svg:last-child{color:var(--danger)}.checkbox,.radio{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;position:relative;width:16px;height:16px;flex:0 0 auto;margin:1px 0 0;border:1px solid var(--border-strong)!important;background:var(--surface-1)!important;cursor:pointer;transition:background-color var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast)}.checkbox{border-radius:5px!important}.radio{border-radius:50%!important}.checkbox:focus-visible,.radio:focus-visible{outline:0;box-shadow:var(--focus-ring)}.checkbox:checked,.radio:checked{border-color:var(--blue-500)!important;background:var(--blue-500)!important}.checkbox:checked:after{content:""!important;position:absolute!important;top:2px!important;left:5px!important;width:4px!important;height:8px!important;border:solid #fff!important;border-width:0 1.5px 1.5px 0!important;transform:rotate(45deg)!important}.radio:checked:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#fff}.switch{position:relative;display:inline-flex;width:34px;height:20px;flex:0 0 auto}.switch>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.switch>span{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface-3);cursor:pointer;transition:background-color var(--duration-normal),border-color var(--duration-normal),box-shadow var(--duration-normal)}.switch>span:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--text-2);box-shadow:0 1px 2px #00000052;transition:transform var(--duration-normal) var(--ease-out),background-color var(--duration-normal)}.switch>input:checked+span{border-color:var(--blue-500);background:var(--blue-500)}.switch>input:checked+span:after{transform:translate(14px);background:#fff}.switch>input:focus-visible+span{box-shadow:var(--focus-ring)}.segmented{position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:2px;border:1px solid var(--border-subtle);border-radius:9px;padding:3px;background:var(--surface-2)}.segmented:before{content:"";position:absolute;top:3px;bottom:3px;left:3px;z-index:-1;width:calc((100% - 8px)/2);border-radius:var(--radius-sm);background:var(--surface-3);box-shadow:0 1px #ffffff0d inset,0 1px 3px #00000040;transform:translate(0);transition:transform .22s var(--ease-out)}.segmented.is-second:before{transform:translate(calc(100% + 2px))}.segmented button{position:relative;z-index:1;height:28px;border:0;border-radius:var(--radius-sm);min-width:90px;padding:0 10px;background:transparent;color:var(--text-3);font-size:12px;cursor:pointer}.segmented button:hover{color:var(--text-2)}.segmented button.is-active{color:var(--text-1)}.segmented button:focus-visible{outline:1px solid var(--focus-border);outline-offset:-2px}.card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card--padded{padding:20px}.badge{display:inline-flex;width:fit-content;min-height:22px;align-items:center;gap:5px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:2px 8px;background:var(--surface-2);color:var(--text-2);font-size:10px;font-weight:500;line-height:16px}.badge svg{width:11px;height:11px}.badge>i{width:5px;height:5px;border-radius:50%;background:currentColor}.badge.is-blue{border-color:#0070f33d;background:var(--blue-soft);color:#8fc7ff}.badge.is-success{border-color:#5dcf9a2e;background:var(--success-soft);color:#80ddb0}.badge.is-warning{border-color:#e9b95f2e;background:var(--warning-soft);color:#f2c978}.badge.is-danger{border-color:#f16a6a2e;background:var(--danger-soft);color:#f99}a{color:inherit;text-decoration:none}#app{min-height:100vh}.shell-width{width:min(1200px,calc(100% - 64px));margin-inline:auto}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text-1);font-size:15px;font-weight:600;letter-spacing:-.02em}.brand-mark{display:inline-flex;width:22px;height:18px;flex:0 0 auto}.brand-mark img{display:block;width:100%;height:100%}.brand-mark svg{display:block;width:100%;height:100%}.brand-mark__layer{fill:var(--text-1)}.brand-mark__layer--back{opacity:.38}.brand-mark__layer--middle{opacity:.68}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font-size:12px;font-weight:500;letter-spacing:.02em}.status-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--success);box-shadow:0 0 12px var(--success)}.landing-reveal{opacity:0;filter:blur(5px);transform:translateY(18px)}.landing-reveal--soft{filter:blur(2px);transform:none}.landing-reveal--panel{transform:translateY(24px) scale(.985)}.landing-reveal.is-visible{animation:landing-reveal-in .76s cubic-bezier(.16,1,.3,1) var(--reveal-delay, 0ms) both}.dashboard-shell{min-height:100vh}.dashboard-header{position:sticky;top:0;z-index:20;display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-canvas) 92%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-header__left,.dashboard-header__right{display:flex;align-items:center;gap:10px}.header-divider{width:1px;height:24px;margin-inline:6px;background:var(--border-strong)}.workspace-switcher{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text-2);font-size:12px}.workspace-switcher svg{width:14px}.avatar-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-2);color:var(--text-1);font-size:11px}.dashboard-content{padding-block:54px 80px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:36px}.page-heading h1{margin:8px 0;font-size:28px;font-weight:600;letter-spacing:-.035em;line-height:1.2}.page-heading p{max-width:620px;margin:0;color:var(--text-2);line-height:1.6}.heading-actions{display:flex;align-items:center;gap:8px}.heading-actions svg{width:14px}.empty-state{display:flex;min-height:360px;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.empty-state__icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-2);color:var(--text-2)}.empty-state__icon svg{width:20px}.empty-state h2{margin:18px 0 7px;font-size:17px}.empty-state p{max-width:390px;margin:0 0 22px;color:var(--text-3)}.dialog-backdrop{position:fixed;z-index:50;display:grid;top:0;right:0;bottom:0;left:0;place-items:center;padding:20px;background:color-mix(in srgb,var(--bg-canvas) 76%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-card{width:min(500px,100%);padding:26px}.dialog-card header,.dialog-card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-card header{margin-bottom:24px}.dialog-card header h2{margin:0 0 6px;font-size:18px}.dialog-card header p{margin:0;color:var(--text-3);font-size:12px}.dialog-card .field{margin-bottom:18px}.dialog-card footer{justify-content:flex-end;margin-top:24px}.textarea{height:auto;resize:vertical}.project-shell{display:grid;min-height:calc(100vh - 64px);grid-template-columns:226px minmax(0,1fr)}.project-shell.is-insight,.project-shell.is-inspection{height:calc(100vh - 64px);min-height:0;overflow:hidden}.project-shell.is-insight .project-main,.project-shell.is-inspection .project-main{min-height:0;overflow:hidden}.project-sidebar{position:sticky;top:64px;display:flex;height:calc(100vh - 64px);flex-direction:column;padding:22px 14px;border-right:1px solid var(--border-subtle);background:var(--bg-canvas)}.project-context{display:flex;min-width:0;align-items:center;gap:11px;padding:8px}.project-context__icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-2)}.project-context__icon svg{width:14px}.project-context span:last-child{min-width:0}.project-context small,.project-context b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-context small{color:var(--text-3);font-size:10px;font-weight:400}.project-context b{margin-top:2px;font-size:12px;font-weight:550}.project-sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:25px}.project-sidebar nav a{display:flex;height:34px;align-items:center;gap:10px;padding:0 10px;border-radius:var(--radius-sm);color:var(--text-2);font-size:12px;transition:color var(--duration-fast),background var(--duration-fast)}.project-sidebar nav a svg{width:15px}.project-sidebar nav a:hover{background:var(--surface-interactive-hover);color:var(--text-2)}.project-sidebar nav a.router-link-exact-active{background:var(--surface-interactive-active);color:var(--text-1)}.project-sidebar__module{margin-top:18px;padding-top:17px;border-top:1px solid var(--border-subtle)}.project-sidebar__module-label{display:block;padding:0 10px;color:var(--text-3);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.project-sidebar__module nav{margin-top:8px}.sidebar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--border-subtle);color:var(--text-3);font-size:10px}.sidebar-foot b{font-family:var(--font-mono);font-weight:400}.project-main{min-width:0}.spin{animation:spin 1s linear infinite}.message-references{display:flex;flex-wrap:wrap;gap:5px}.message-references>span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text-3);font-size:10px}.message-references{margin-bottom:8px}.message-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.message-attachments button{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:10px}.message-attachments button svg{width:12px}.project-page{width:min(1120px,calc(100% - 64px));margin:0 auto;padding-block:48px 80px}@media(max-width:960px){.project-shell{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:700px){.shell-width,.project-page{width:min(100% - 32px,1200px)}.workspace-switcher,.header-divider,.dashboard-header__right .button{display:none}.dashboard-header{padding-inline:16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.button{width:100%}.heading-actions{width:100%}.heading-actions .button{flex:1}.project-shell{display:block}.project-sidebar{position:static;width:100%;height:auto;border-right:0;border-bottom:1px solid var(--border-subtle)}.project-sidebar nav{flex-direction:row;overflow-x:auto}.project-sidebar nav a{flex:0 0 auto}.project-sidebar__module{margin-top:12px;padding-top:12px}.project-sidebar__module nav{margin-top:8px}.sidebar-foot{display:none}}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.status-icon{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;overflow:hidden;background:var(--surface-interactive-active);box-shadow:inset 0 0 0 1px var(--border-strong);isolation:isolate}.status-icon svg{width:15px}.status-badge{display:inline-flex;width:max-content;align-items:center;gap:5px;padding:3px 7px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-2);font-size:10px;text-transform:capitalize}.status-badge svg{width:10px}.status-badge--success{border-color:color-mix(in srgb,var(--success) 35%,transparent);color:var(--success)}.status-badge--danger{border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}.inline-error{color:var(--danger);font-size:12px}.list-empty{padding:58px 20px;color:var(--text-3);font-size:11px;text-align:center}code{font-family:Inter}
