.sage-mark[data-v-0a6b9361]{display:block;width:100%;height:100%;flex-shrink:0}.sidebar[data-v-6aef67c1]{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);display:flex;flex-direction:column;min-height:0;padding:20px 14px 12px;border-right:1px solid var(--color-border-subtle);background:var(--color-bg-sidebar);transition:margin-left var(--transition-base),transform var(--transition-base)}.sidebar[data-v-6aef67c1]:not(.sidebar--open){margin-left:calc(var(--sidebar-width) * -1)}.sidebar__brand[data-v-6aef67c1]{height:44px;display:flex;align-items:center;gap:10px;padding:0 4px;font-weight:var(--font-semibold)}.sidebar__logo[data-v-6aef67c1]{width:36px;height:36px;display:inline-flex;color:var(--color-accent)}.sidebar__brand-name[data-v-6aef67c1]{flex:1;font-size:19px;letter-spacing:-.025em;line-height:1.3}.sidebar__brand-name small[data-v-6aef67c1]{display:block;margin-top:4px;color:var(--color-text-muted);font:12px / 1.4 var(--font-mono);letter-spacing:0}.sidebar__section-label[data-v-6aef67c1]{margin:19px 12px 9px;color:var(--color-text-muted);font-size:12px;letter-spacing:.06em}.sidebar__history-empty[data-v-6aef67c1]{margin:14px 12px;color:var(--color-text-muted);font-size:13px;line-height:1.8}.sidebar__close[data-v-6aef67c1]{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;cursor:pointer}.sidebar__close[data-v-6aef67c1]:hover{background:var(--color-bg-hover)}.sidebar__new[data-v-6aef67c1],.sidebar__nav-item[data-v-6aef67c1]{position:relative;width:100%;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;text-decoration:none;cursor:pointer;font-size:15px;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar__new[data-v-6aef67c1]{margin:27px 0 4px;border-color:var(--color-border-strong);color:var(--color-text-primary);background:var(--color-bg-app);font-weight:var(--font-medium)}.sidebar__new[data-v-6aef67c1]:hover{border-color:var(--color-accent);background:var(--color-accent-subtle)}.sidebar__nav[data-v-6aef67c1]{margin-top:16px;display:flex;flex-direction:column;gap:4px}.sidebar__nav-item[data-v-6aef67c1]:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.sidebar__nav-item--active[data-v-6aef67c1]{color:var(--color-accent);border-color:var(--color-border-default);background:var(--color-accent-subtle)}.sidebar__history[data-v-6aef67c1]{min-height:0;flex:1;overflow-y:auto;margin-top:var(--space-md)}.sidebar__group[data-v-6aef67c1]{margin-bottom:var(--space-md)}.sidebar__group h2[data-v-6aef67c1]{margin:16px 0 5px;padding:0 12px;color:var(--color-text-muted);font-size:12px;font-weight:var(--font-medium)}.sidebar__session[data-v-6aef67c1]{display:flex;align-items:center;border-radius:var(--radius-sm)}.sidebar__session[data-v-6aef67c1]:hover,.sidebar__session--active[data-v-6aef67c1]{background:var(--color-bg-hover)}.sidebar__session-open[data-v-6aef67c1]{min-width:0;flex:1;height:40px;padding:0 8px 0 12px;overflow:hidden;border:0;color:var(--color-text-secondary);background:transparent;text-align:left;cursor:pointer}.sidebar__session-open span[data-v-6aef67c1]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.sidebar__session-menu[data-v-6aef67c1]{position:relative}.sidebar__session-menu summary[data-v-6aef67c1]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer}.sidebar__session-menu summary[data-v-6aef67c1]::-webkit-details-marker{display:none}.sidebar__session-menu button[data-v-6aef67c1],.sidebar__account>button[data-v-6aef67c1]{position:absolute;right:0;z-index:var(--z-popover);display:flex;align-items:center;gap:var(--space-sm);min-width:120px;padding:9px 12px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-status-error-fg);background:var(--color-bg-app);box-shadow:var(--shadow-md);cursor:pointer}.sidebar__account[data-v-6aef67c1]{position:relative;border-top:1px solid var(--color-hairline);padding-top:var(--space-sm)}.sidebar__account summary[data-v-6aef67c1]{display:flex;align-items:center;gap:var(--space-sm);min-height:40px;padding:0 var(--space-sm);border-radius:var(--radius-sm);list-style:none;cursor:pointer}.sidebar__account summary[data-v-6aef67c1]:hover{background:var(--color-bg-hover)}.sidebar__avatar[data-v-6aef67c1]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-accent);background:var(--color-accent-subtle);font-size:var(--text-xs)}.sidebar__account-name[data-v-6aef67c1]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.sidebar__account-name small[data-v-6aef67c1]{display:block;color:var(--color-text-muted);font-size:12px}.sidebar__account>button[data-v-6aef67c1]{bottom:44px;color:var(--color-text-primary)}@media(max-width:767px){.sidebar[data-v-6aef67c1]{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);box-shadow:var(--shadow-lg);transform:translate(-100%);margin-left:0!important}.sidebar--open[data-v-6aef67c1]{transform:translate(0)}}.app-shell[data-v-d9e1bbeb]{display:flex;width:100%;height:100dvh;overflow:hidden;background:var(--color-bg-app)}.app-shell__content[data-v-d9e1bbeb]{position:relative;min-width:0;flex:1;display:flex;flex-direction:column;background:var(--color-bg-app)}.app-shell__header[data-v-d9e1bbeb]{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:0 var(--page-gutter)}.app-shell__breadcrumb[data-v-d9e1bbeb]{display:flex;align-items:center;gap:12px;color:var(--color-text-secondary);font-size:var(--text-xs)}.app-shell__breadcrumb>svg[data-v-d9e1bbeb],.app-shell__workspace[data-v-d9e1bbeb]{color:var(--color-text-muted)}.app-shell__badge[data-v-d9e1bbeb]{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;color:var(--color-text-muted);font-size:14px}.app-shell__badge svg[data-v-d9e1bbeb]{color:var(--color-accent)}.app-shell__sidebar-open[data-v-d9e1bbeb]{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;cursor:pointer}.app-shell__sidebar-open[data-v-d9e1bbeb]:hover{background:var(--color-bg-hover)}.app-shell__main[data-v-d9e1bbeb]{min-height:0;flex:1;overflow:auto}.app-shell__scrim[data-v-d9e1bbeb]{display:none}@media(max-width:767px){.app-shell__header[data-v-d9e1bbeb]{height:56px;flex-basis:56px}.app-shell__breadcrumb[data-v-d9e1bbeb]{gap:8px}.app-shell__scrim[data-v-d9e1bbeb]{position:fixed;top:0;right:0;bottom:0;left:0;display:block;border:0;background:var(--color-overlay-scrim);z-index:calc(var(--z-sidebar) - 1)}}.sage-toast-container[data-v-bc73a737]{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none;max-width:360px}.sage-toast[data-v-bc73a737]{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid transparent;border-left-width:2px;font-size:var(--text-sm);line-height:var(--lh-base);background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-sm);min-width:240px}.sage-toast--info[data-v-bc73a737]{background:var(--color-status-info-bg);color:var(--color-status-info-fg);border-color:var(--color-status-info-border)}.sage-toast--success[data-v-bc73a737]{background:var(--color-status-success-bg);color:var(--color-status-success-fg);border-color:var(--color-status-success-border)}.sage-toast--warning[data-v-bc73a737]{background:var(--color-status-warning-bg);color:var(--color-status-warning-fg);border-color:var(--color-status-warning-border)}.sage-toast--error[data-v-bc73a737]{background:var(--color-status-error-bg);color:var(--color-status-error-fg);border-color:var(--color-status-error-border)}.sage-toast__message[data-v-bc73a737]{flex:1;min-width:0}.sage-toast__close[data-v-bc73a737]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:currentColor;cursor:pointer;padding:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);opacity:.6;transition:opacity var(--transition-fast),background var(--transition-fast);flex:0 0 auto}.sage-toast__close[data-v-bc73a737]:hover{opacity:1;background:#00000014}.sage-toast-enter-active[data-v-bc73a737]{transition:transform var(--transition-base),opacity var(--transition-base)}.sage-toast-leave-active[data-v-bc73a737]{transition:transform var(--transition-fast),opacity var(--transition-fast)}.sage-toast-enter-from[data-v-bc73a737]{opacity:0;transform:translate(40px)}.sage-toast-leave-to[data-v-bc73a737]{opacity:0;transform:translateY(-10px)}.sage-overlay[data-v-9cfc7bb9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-overlay-scrim);display:flex;align-items:center;justify-content:center}.sage-overlay-enter-active[data-v-9cfc7bb9],.sage-overlay-leave-active[data-v-9cfc7bb9]{transition:opacity var(--transition-base)}.sage-overlay-enter-from[data-v-9cfc7bb9],.sage-overlay-leave-to[data-v-9cfc7bb9]{opacity:0}.sage-btn[data-v-982f40a8]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border-radius:var(--radius-xs);font-family:var(--font-body);font-weight:var(--font-medium);letter-spacing:var(--tracking-normal);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);position:relative}.sage-btn[data-v-982f40a8]:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.sage-btn[data-v-982f40a8]:not(:disabled):active{box-shadow:inset 0 1px 2px #0000002e}.sage-btn--block[data-v-982f40a8]{display:flex;width:100%}.sage-btn--sm[data-v-982f40a8]{height:34px;padding:0 var(--space-md);font-size:var(--text-sm)}.sage-btn--md[data-v-982f40a8]{height:42px;padding:0 var(--space-lg);font-size:var(--text-sm)}.sage-btn--primary[data-v-982f40a8]{background:var(--color-accent);color:var(--color-accent-fg);border-color:var(--color-accent)}.sage-btn--primary[data-v-982f40a8]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.sage-btn--primary[data-v-982f40a8]:not(:disabled):active{background:var(--color-accent-pressed);border-color:var(--color-accent-pressed)}.sage-btn--secondary[data-v-982f40a8]{background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-border-default)}.sage-btn--secondary[data-v-982f40a8]:not(:disabled):hover{background:var(--color-bg-hover)}.sage-btn--secondary[data-v-982f40a8]:not(:disabled):active{background:var(--color-bg-active)}.sage-btn--danger[data-v-982f40a8]{background:var(--color-status-error-fg);color:var(--color-text-on-accent);border-color:var(--color-status-error-fg)}.sage-btn--danger[data-v-982f40a8]:not(:disabled):hover{filter:brightness(.92)}.sage-btn--danger[data-v-982f40a8]:not(:disabled):active{filter:brightness(.85)}.sage-btn--danger-ghost[data-v-982f40a8]{background:transparent;color:var(--color-status-error-fg);border-color:var(--color-status-error-border)}.sage-btn--danger-ghost[data-v-982f40a8]:not(:disabled):hover{background:var(--color-status-error-bg)}.sage-btn__spinner[data-v-982f40a8]{width:12px;height:12px;border-radius:50%;border:1.5px solid currentColor;border-top-color:transparent;animation:sage-btn-spin-982f40a8 .7s linear infinite}@keyframes sage-btn-spin-982f40a8{to{transform:rotate(360deg)}}.sage-btn__icon[data-v-982f40a8]{display:inline-flex;align-items:center;flex:0 0 auto}.sage-btn__icon>svg[data-v-982f40a8]{width:1em;height:1em}.sage-btn--loading .sage-btn__label[data-v-982f40a8],.sage-btn--loading .sage-btn__icon[data-v-982f40a8]{opacity:.5}@media(prefers-reduced-motion:reduce){.sage-btn__spinner[data-v-982f40a8]{animation-duration:2s}}.sage-input[data-v-3da37118]{display:block;width:100%;height:42px;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--lh-base);letter-spacing:var(--tracking-normal);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);padding:0 var(--space-md);transition:background var(--transition-fast),border-color var(--transition-fast);font-feature-settings:"kern" 1,"liga" 1}.sage-input[data-v-3da37118]::placeholder{color:var(--color-text-muted)}.sage-input[data-v-3da37118]:hover:not(:disabled):not(:read-only){border-color:var(--color-border-strong)}.sage-input[data-v-3da37118]:focus{border-color:var(--color-border-focus)}.sage-input[data-v-3da37118]:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}.sage-input--invalid[data-v-3da37118],.sage-input--invalid[data-v-3da37118]:hover,.sage-input--invalid[data-v-3da37118]:focus{border-color:var(--color-status-error-border)}.sage-modal[data-v-ac0e0777]{background:var(--color-bg-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);max-height:calc(100vh - var(--space-3xl));max-width:calc(100vw - var(--space-2xl));display:flex;flex-direction:column;width:100%;outline:none}.sage-modal--sm[data-v-ac0e0777]{width:340px}.sage-modal--md[data-v-ac0e0777]{width:440px}.sage-modal--lg[data-v-ac0e0777]{width:640px}.sage-modal__header[data-v-ac0e0777]{padding:var(--space-lg) var(--space-lg) var(--space-sm);border-bottom:1px solid var(--color-hairline)}.sage-modal__title[data-v-ac0e0777]{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);color:var(--color-text-heading);margin:0}.sage-modal__body[data-v-ac0e0777]{padding:var(--space-md) var(--space-lg);overflow-y:auto;flex:1;font-size:var(--text-sm);line-height:var(--lh-base);color:var(--color-text-primary)}.sage-modal__message[data-v-ac0e0777]{margin:0 0 var(--space-md);color:var(--color-text-primary)}.sage-modal-prompt-input[data-v-ac0e0777]{margin-top:var(--space-sm)}.sage-modal__footer[data-v-ac0e0777]{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg) var(--space-lg);border-top:1px solid var(--color-hairline)}html,body,#app{height:100%;margin:0;padding:0}:root{color-scheme:light;--color-bg-app: #ffffff;--color-bg-surface: #ffffff;--color-bg-elevated: #f7f9fc;--color-bg-hover: #f0f3f7;--color-bg-active: #eaf0fb;--color-text-primary: #293345;--color-text-secondary: #465164;--color-text-tertiary: #596579;--color-text-muted: #687589;--color-text-heading: #172235;--color-text-inverse: #ffffff;--color-text-on-accent: #ffffff;--color-border-default: #e3e8ef;--color-border-subtle: #edf0f4;--color-border-strong: #cbd4e1;--color-border-focus: #4774cf;--color-hairline: #e8edf3;--color-accent: #3767be;--color-accent-200: #dce8fc;--color-accent-fg: #ffffff;--color-accent-hover: #2958a8;--color-accent-pressed: #214a90;--color-accent-subtle: #edf3fd;--color-warning: #a76d15;--color-status-success-bg: #edf7f1;--color-status-success-fg: #27764c;--color-status-success-border: #c8e6d4;--color-status-warning-bg: #fff7e7;--color-status-warning-fg: #986314;--color-status-warning-border: #f1deb4;--color-status-error-bg: #fdf0f0;--color-status-error-fg: #b84b53;--color-status-error-border: #f0d1d4;--color-status-info-bg: #edf4fe;--color-status-info-fg: #3767be;--color-status-info-border: #d1e0f7;--color-overlay-scrim: rgba(24, 35, 53, .2);--ring-focus: 0 0 0 3px rgba(55, 103, 190, .14);--sage-code-bg: #f5f7fa;--sage-code-fg: #344359;--sage-user-msg-bg: #f0f4fa;--color-bg-sidebar: #f7f8fa;--color-accent-glow: transparent;--color-blue-glow: transparent;--color-grid: transparent;--font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif;--font-display: var(--font-body);--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--font-medium: 500;--font-semibold: 600;--text-2xs: 12px;--text-xs: 13px;--text-sm: 15px;--text-base: 16px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--lh-snug: 1.4;--lh-base: 1.6;--lh-loose: 1.75;--tracking-tight: -.02em;--tracking-heading: -.015em;--tracking-normal: 0;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 28px;--space-3xl: 40px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(24, 35, 53, .03);--shadow-input-focus: 0 0 0 3px rgba(55, 103, 190, .06);--shadow-md: 0 4px 20px rgba(24, 35, 53, .04);--shadow-lg: 0 12px 40px rgba(24, 35, 53, .06);--transition-fast: .12s ease;--transition-base: .18s ease;--opacity-disabled: .45;--sidebar-width: 260px;--input-max-width: 768px;--page-max-width: 1040px;--page-detail-width: 820px;--page-gutter: clamp(16px, 3vw, 40px);--page-inline-offset: 48px;--z-sidebar: 20;--z-popover: 15;--z-overlay: 40;--z-modal: 50;--z-toast: 60}*,*:before,*:after{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{color:var(--color-text-primary);background:var(--color-bg-app);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--ring-focus)}::selection{background:var(--color-accent-200)}input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:1}.page-eyebrow{margin:0 0 8px;color:var(--color-accent);font:10px/1.5 var(--font-mono);letter-spacing:.17em}.page-description{margin:8px 0 0;color:var(--color-text-tertiary);font-size:var(--text-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.disclosure summary{cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-sm)}.disclosure[open]>summary{margin-bottom:var(--space-lg)}
