.toast-stack[data-v-41df89da]{position:fixed;z-index:var(--toast-z-index, var(--z-tooltip, 260));display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast-stack--top-right[data-v-41df89da]{top:var(--toast-top-offset, 16px);right:var(--toast-right-offset, 16px)}.toast-stack__item[data-v-41df89da]{display:flex;align-items:flex-start;gap:10px;min-width:300px;max-width:min(380px,calc(100vw - 32px));padding:12px 14px;border:1px solid var(--toast-border-color, var(--chalk-line, rgba(32, 33, 36, .1)));border-radius:var(--toast-radius, 14px);background:linear-gradient(180deg,#fffffff5,#ffffffeb),var(--toast-background, rgba(255, 255, 255, .92));box-shadow:var(--toast-shadow, var(--shadow-float, 0 10px 24px rgba(15, 23, 42, .08)));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);pointer-events:auto;font-weight:500}.toast-stack__icon[data-v-41df89da]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border-radius:999px;border:1px solid transparent}.toast-stack__icon svg[data-v-41df89da]{width:14px;height:14px}.toast-stack__message[data-v-41df89da]{flex:1;min-width:0;color:var(--toast-text-color, var(--ink, #2d2416));font-size:var(--toast-font-size, 14px);line-height:1.5}.toast-stack__close[data-v-41df89da]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--toast-close-color, var(--ink-muted, rgba(32, 33, 36, .52)));cursor:pointer;transition:color var(--toast-transition, var(--transition-base, .2s ease)),background var(--toast-transition, var(--transition-base, .2s ease))}.toast-stack__close[data-v-41df89da]:hover{color:var(--toast-close-hover-color, var(--ink, #202124));background:var(--paper-2, #f7f8fa)}.toast-stack__close svg[data-v-41df89da]{width:16px;height:16px}.toast-stack__item--success[data-v-41df89da]{border-color:rgba(var(--color-success-rgb, 52, 168, 83),.18);background:linear-gradient(180deg,#fffffff5,#ffffffeb),rgba(var(--color-success-rgb, 52, 168, 83),.06)}.toast-stack__item--success .toast-stack__icon[data-v-41df89da]{color:var(--toast-success-text, var(--color-success-dark, #267A3D));background:rgba(var(--color-success-rgb, 52, 168, 83),.1);border-color:rgba(var(--color-success-rgb, 52, 168, 83),.16)}.toast-stack__item--error[data-v-41df89da]{border-color:rgba(var(--color-danger-rgb, 234, 67, 53),.18);background:linear-gradient(180deg,#fffffff5,#ffffffeb),rgba(var(--color-danger-rgb, 234, 67, 53),.06)}.toast-stack__item--error .toast-stack__icon[data-v-41df89da]{color:var(--toast-error-text, var(--color-danger-dark, #C5221F));background:rgba(var(--color-danger-rgb, 234, 67, 53),.1);border-color:rgba(var(--color-danger-rgb, 234, 67, 53),.16)}.toast-stack__item--warning[data-v-41df89da]{border-color:rgba(var(--color-warning-rgb, 245, 158, 11),.2);background:linear-gradient(180deg,#fffffff5,#ffffffeb),rgba(var(--color-warning-rgb, 245, 158, 11),.07)}.toast-stack__item--warning .toast-stack__icon[data-v-41df89da]{color:var(--toast-warning-text, var(--color-warning-dark, #D97706));background:rgba(var(--color-warning-rgb, 245, 158, 11),.12);border-color:rgba(var(--color-warning-rgb, 245, 158, 11),.18)}.toast-stack__item--info[data-v-41df89da]{border-color:rgba(var(--color-info-rgb, 26, 115, 232),.18);background:linear-gradient(180deg,#fffffff5,#ffffffeb),rgba(var(--color-info-rgb, 26, 115, 232),.06)}.toast-stack__item--info .toast-stack__icon[data-v-41df89da]{color:var(--toast-info-text, var(--color-info-dark, #1558B0));background:rgba(var(--color-info-rgb, 26, 115, 232),.1);border-color:rgba(var(--color-info-rgb, 26, 115, 232),.16)}.toast-stack-enter-active[data-v-41df89da],.toast-stack-leave-active[data-v-41df89da]{transition:opacity var(--toast-transition, var(--transition-base, .2s ease)),transform var(--toast-transition, var(--transition-base, .2s ease))}.toast-stack-enter-from[data-v-41df89da],.toast-stack-leave-to[data-v-41df89da]{opacity:0;transform:translateY(-8px) scale(.98)}.toast-stack-move[data-v-41df89da]{transition:transform var(--toast-transition, var(--transition-base, .2s ease))}@media (max-width: 768px){.toast-stack--top-right[data-v-41df89da]{inset:12px 12px auto}.toast-stack__item[data-v-41df89da]{min-width:unset;max-width:100%}}.progress-bar[data-v-00ac52d2]{--progress-color: var(--color-primary);--progress-color-soft: var(--color-primary-lighter);width:100%;height:var(--loading-bar-height);border-radius:var(--radius-full);background:var(--color-bg-tertiary);overflow:hidden}.progress-bar--success[data-v-00ac52d2]{--progress-color: var(--color-success);--progress-color-soft: var(--color-success-lighter)}.progress-bar--warning[data-v-00ac52d2]{--progress-color: var(--color-warning);--progress-color-soft: var(--color-warning-lighter)}.progress-bar--error[data-v-00ac52d2]{--progress-color: var(--color-error);--progress-color-soft: var(--color-error-lighter)}.progress-bar__fill[data-v-00ac52d2]{height:100%;border-radius:inherit;background:var(--progress-color);transition:width var(--transition-fast)}.progress-bar.is-indeterminate .progress-bar__fill[data-v-00ac52d2]{width:100%;background-image:linear-gradient(90deg,var(--progress-color-soft) 0%,var(--progress-color) 48%,var(--progress-color-soft) 100%);background-size:200% 100%;animation:loading-slide var(--loading-slide-duration) linear infinite}.loading-overlay[data-v-7e1bb262]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:var(--overlay-bg-light);padding:var(--spacing-md)}.loading-card[data-v-7e1bb262]{background:var(--chalk-white);border:1px solid var(--chalk-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);width:100%;max-width:440px;display:flex;flex-direction:column;overflow:hidden}.loading-card__header[data-v-7e1bb262]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm)}.loading-card__icon-wrap[data-v-7e1bb262]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--chalk-blue-light);color:var(--chalk-blue);font-size:24px;flex-shrink:0}.loading-card__title[data-v-7e1bb262]{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--ink)}.loading-card__subtitle[data-v-7e1bb262]{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--ink-secondary)}.loading-card__body[data-v-7e1bb262]{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg)}.stats-card[data-v-7e1bb262]{padding:var(--spacing-sm) var(--spacing-md);border:1.5px solid var(--chalk-line);border-radius:var(--radius-md);background:var(--paper-2)}.stats-card__bar-wrap[data-v-7e1bb262]{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.stats-card__bar-label[data-v-7e1bb262]{font-size:var(--font-size-xs);color:var(--ink-muted);white-space:nowrap;font-weight:700;min-width:36px;text-align:right}.stats-card__stage[data-v-7e1bb262]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--ink-secondary);margin-bottom:var(--spacing-2xs)}.stats-card__counters[data-v-7e1bb262]{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-2xs)}.stats-card__counter[data-v-7e1bb262]{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--ink-secondary)}.stats-card__counter strong[data-v-7e1bb262]{font-weight:800}.stats-card__counter.is-success[data-v-7e1bb262]{color:var(--chalk-green-dark)}.stats-card__counter.is-error[data-v-7e1bb262]{color:var(--chalk-pink-dark)}.stats-card__hint[data-v-7e1bb262]{margin:var(--spacing-2xs) 0 0;font-size:var(--font-size-xs);color:var(--ink-muted)}.loading-dialog-enter-active[data-v-7e1bb262],.loading-dialog-leave-active[data-v-7e1bb262]{transition:opacity .18s ease}.loading-dialog-enter-active .loading-card[data-v-7e1bb262],.loading-dialog-leave-active .loading-card[data-v-7e1bb262]{transition:transform .22s var(--ease-out-soft),opacity .18s ease}.loading-dialog-enter-from[data-v-7e1bb262],.loading-dialog-leave-to[data-v-7e1bb262]{opacity:0}.loading-dialog-enter-from .loading-card[data-v-7e1bb262],.loading-dialog-leave-to .loading-card[data-v-7e1bb262]{transform:translateY(10px) scale(.98);opacity:0}.aih-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F1E1C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}html,body,#app{width:100%;height:100%;overflow:auto}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.markdown-body{color:var(--ink);font-family:var(--font-family-serif);font-size:16px;line-height:1.85;max-width:920px;margin:0 auto;word-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-family:var(--font-family-serif);font-weight:600;line-height:var(--leading-tight);color:var(--ink)}.markdown-body h1{font-size:var(--text-3xl);border-bottom:1px solid var(--chalk-line);padding-bottom:var(--spacing-sm)}.markdown-body h2{font-size:var(--text-2xl);border-bottom:1px solid var(--chalk-line);padding-bottom:var(--spacing-sm)}.markdown-body h3{font-size:var(--text-xl)}.markdown-body h4{font-size:var(--text-lg)}.markdown-body h5,.markdown-body h6{font-size:var(--text-base)}.markdown-body p{margin-top:0;margin-bottom:var(--spacing-md)}.markdown-body a{color:var(--chalk-blue-dark);text-decoration:none}.markdown-body a:hover{color:var(--chalk-blue);text-decoration:underline}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:var(--spacing-md);padding-left:var(--spacing-xl);list-style:initial}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin-bottom:var(--spacing-xs)}.markdown-body li>p{margin-bottom:var(--spacing-xs)}.markdown-body blockquote{margin:0 0 var(--spacing-md);padding:2px 0 2px var(--spacing-md);border-left:2px solid var(--color-primary);color:var(--ink-secondary)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body code{padding:1px 5px;background-color:var(--paper-3);border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono);color:var(--ink)}.markdown-body pre{margin-bottom:var(--spacing-md);padding:var(--spacing-md) 18px;overflow:auto;background-color:var(--ink);color:var(--paper-3);border:0;border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.7}.markdown-body pre code{padding:0;background-color:transparent;border-radius:0;font-size:inherit;color:inherit}.markdown-body pre .hljs-section{color:#e0a08f;font-weight:var(--font-weight-semibold)}.markdown-body .md-table-scroll{max-width:100%;margin-bottom:var(--spacing-md);overflow-x:auto}.markdown-body table{width:100%;margin-bottom:var(--spacing-md);border-collapse:collapse;border-spacing:0}.markdown-body .md-table-scroll>table{margin-bottom:0}.markdown-body table th,.markdown-body table td{padding:9px 12px;border:0;border-bottom:1px solid var(--chalk-line);text-align:left}.markdown-body table th{font-family:var(--font-family-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-tertiary);background-color:transparent}.markdown-body table tr:nth-child(2n){background-color:transparent}.markdown-body hr{height:1px;margin:var(--spacing-xl) 0;background-color:var(--chalk-line);border:0}.markdown-body img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--spacing-md) 0}.markdown-body .task-list-item{list-style:none}.markdown-body .task-list-item input[type=checkbox]{margin-right:var(--spacing-sm)}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--breakpoint-mobile: 768px;--container-mobile: 100%;--container-desktop: 1280px}:root{--chalk-yellow: #A8432F;--chalk-yellow-rgb: 168, 67, 47;--chalk-yellow-light: #F6E7E2;--chalk-yellow-dark: #7A2F20;--chalk-yellow-shadow: 0 2px 8px rgba(31, 30, 28, .06);--chalk-blue: #3B6B8F;--chalk-blue-rgb: 59, 107, 143;--chalk-blue-light: rgba(59, 107, 143, .1);--chalk-blue-dark: #305875;--chalk-blue-shadow: 0 2px 8px rgba(31, 30, 28, .06);--chalk-green: #3F7D58;--chalk-green-rgb: 63, 125, 88;--chalk-green-light: rgba(63, 125, 88, .1);--chalk-green-dark: #346748;--chalk-green-shadow: 0 2px 8px rgba(31, 30, 28, .06);--chalk-pink: #B42318;--chalk-pink-rgb: 180, 35, 24;--chalk-pink-light: rgba(180, 35, 24, .1);--chalk-pink-dark: #941D14;--chalk-pink-shadow: 0 2px 8px rgba(31, 30, 28, .06);--chalk-purple: #9B5B4B;--chalk-purple-rgb: 155, 91, 75;--chalk-purple-light: rgba(155, 91, 75, .1);--chalk-purple-dark: #7F4B3E;--chalk-purple-shadow: 0 2px 8px rgba(31, 30, 28, .06);--chalk-orange: #B7791F;--chalk-orange-rgb: 183, 121, 31;--chalk-orange-light: rgba(183, 121, 31, .1);--chalk-orange-dark: #966319;--chalk-orange-shadow: 0 2px 8px rgba(31, 30, 28, .06);--paper: #FFFFFF;--paper-2: #F7F6F3;--paper-3: #EFEDE8;--chalk-white: #FFFFFF;--ink: #1F1E1C;--ink-secondary: #5C5953;--ink-muted: #8F8B83;--ink-faint: rgba(31, 30, 28, .32);--chalk-line: #E3E0D9;--chalk-line-strong: #D3CFC6;--color-primary: var(--chalk-yellow);--color-primary-rgb: var(--chalk-yellow-rgb);--color-primary-hover: #8F3826;--color-primary-active: #7A2F20;--color-primary-light: var(--chalk-yellow-light);--color-primary-lighter: #FBF3F0;--color-primary-dark: #7A2F20;--color-primary-darker: #6B2A1C;--color-secondary: var(--chalk-orange);--color-secondary-light: var(--chalk-orange-light);--color-success: var(--chalk-green);--color-success-rgb: var(--chalk-green-rgb);--color-success-light: var(--chalk-green-light);--color-success-dark: var(--chalk-green-dark);--color-success-lighter: rgba(63, 125, 88, .05);--color-warning: var(--chalk-orange);--color-warning-rgb: var(--chalk-orange-rgb);--color-warning-light: var(--chalk-orange-light);--color-warning-dark: var(--chalk-orange-dark);--color-warning-lighter: rgba(183, 121, 31, .05);--color-error: #B42318;--color-danger: #B42318;--color-error-rgb: 180, 35, 24;--color-danger-rgb: 180, 35, 24;--color-error-dark: #941D14;--color-danger-dark: #941D14;--color-error-light: rgba(180, 35, 24, .1);--color-danger-light: rgba(180, 35, 24, .1);--color-error-lighter: rgba(180, 35, 24, .05);--color-danger-lighter: rgba(180, 35, 24, .05);--color-error-shadow: 0 2px 8px rgba(31, 30, 28, .06);--color-danger-shadow: 0 2px 8px rgba(31, 30, 28, .06);--color-info: var(--chalk-blue);--color-info-rgb: var(--chalk-blue-rgb);--color-info-light: var(--chalk-blue-light);--color-info-dark: var(--chalk-blue-dark);--color-info-lighter: rgba(59, 107, 143, .05);--module-accent: var(--color-primary);--module-accent-rgb: var(--color-primary-rgb);--module-accent-light: var(--color-primary-light);--module-accent-dark: var(--color-primary-dark);--module-accent-shadow: var(--chalk-yellow-shadow);--color-bg-primary: var(--paper);--color-bg-secondary: var(--paper-2);--color-bg-tertiary: var(--paper-3);--color-bg-elevated: var(--chalk-white);--color-bg-overlay: rgba(31, 30, 28, .32);--color-bg-hover: rgba(31, 30, 28, .04);--color-bg-active: rgba(31, 30, 28, .08);--color-overlay: rgba(31, 30, 28, .44);--color-border: var(--chalk-line);--color-border-light: #EDEBE6;--color-border-hover: rgba(168, 67, 47, .24);--color-border-active: rgba(168, 67, 47, .38);--color-border-focus: rgba(168, 67, 47, .32);--color-text-primary: var(--ink);--color-text-secondary: var(--ink-secondary);--color-text-tertiary: var(--ink-muted);--color-text-quaternary: var(--ink-faint);--color-text-inverse: var(--chalk-white);--color-text-placeholder: rgba(31, 30, 28, .3);--gradient-primary: linear-gradient(135deg, rgba(168, 67, 47, .06), rgba(168, 67, 47, .02));--gradient-accent: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary) 100%);--gradient-rainbow: linear-gradient(90deg, var(--color-primary-light), var(--color-primary-lighter));--gradient-header: linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);--gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, var(--color-danger-dark) 100%);--gradient-paper: linear-gradient(135deg, var(--paper) 0%, var(--paper-2) 100%);--app-header-height: 58px;--page-topbar-height: 48px;--shadow-xs: 0 1px 1px rgba(31, 30, 28, .03);--shadow-sm: 0 1px 2px rgba(31, 30, 28, .04);--shadow-md: 0 2px 6px rgba(31, 30, 28, .05);--shadow-lg: 0 4px 12px rgba(31, 30, 28, .06);--shadow-xl: 0 8px 20px rgba(31, 30, 28, .07);--shadow-2xl: 0 12px 28px rgba(31, 30, 28, .08);--shadow-primary: none;--shadow-primary-hover: none;--shadow-focus: 0 0 0 3px rgba(168, 67, 47, .14);--shadow-card: 0 1px 1px rgba(31, 30, 28, .03), 0 4px 12px rgba(31, 30, 28, .04);--shadow-elevated: 0 6px 18px rgba(31, 30, 28, .06);--shadow-float: 0 10px 24px rgba(31, 30, 28, .06);--color-selected-border: var(--chalk-line);--color-selected-bg: var(--paper);--shadow-selected: inset 0 0 0 1px var(--chalk-line);--overlay-bg: rgba(31, 30, 28, .4);--overlay-bg-light: rgba(31, 30, 28, .24);--glass-overlay-bg: var(--color-bg-primary);--glass-overlay-bg-strong: var(--color-bg-primary);--glass-overlay-border: var(--color-border);--glass-overlay-blur: none;--glass-overlay-blur-light: none;--chalk-shadow: rgba(31, 30, 28, .08);--color-scrollbar-thumb: rgba(31, 30, 28, .18);--color-scrollbar-thumb-hover: rgba(31, 30, 28, .28);--color-scrollbar-track: transparent;--z-base: 1;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}:root{--spacing-3xs: 2px;--spacing-2xs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 80px;--spacing-mobile-2xs: 4px;--spacing-mobile-xs: 6px;--spacing-mobile-sm: 10px;--spacing-mobile-md: 12px;--spacing-mobile-lg: 16px;--spacing-mobile-xl: 24px;--spacing-mobile-2xl: 32px;--padding-component-xs: 4px 8px;--padding-component-sm: 8px 12px;--padding-component-md: 12px 16px;--padding-component-lg: 16px 24px;--padding-mobile-component-xs: 4px 6px;--padding-mobile-component-sm: 6px 10px;--padding-mobile-component-md: 10px 14px;--padding-mobile-component-lg: 12px 16px}:root{--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-family-serif: "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif;--font-family-mono: "JetBrains Mono", "SF Mono", Monaco, Consolas, monospace;--font-sans: var(--font-family-sans);--font-serif: var(--font-family-serif);--font-mono: var(--font-family-mono);--font-size-2xs: 10px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-size-5xl: 36px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--font-size-mobile-2xs: 10px;--font-size-mobile-xs: 12px;--font-size-mobile-sm: 13px;--font-size-mobile-base: 14px;--font-size-mobile-md: 15px;--font-size-mobile-lg: 16px;--font-size-mobile-xl: 18px;--font-size-mobile-2xl: 20px;--line-height-tight: 1.25;--line-height-normal: 1.55;--line-height-relaxed: 1.75;--line-height-loose: 2;--leading-tight: 1.25;--leading-normal: 1.55;--leading-loose: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800}:root{--btn-height-xs: 28px;--btn-height-sm: 32px;--btn-height-md: 38px;--btn-height-lg: 44px;--btn-height-xl: 52px;--btn-height-mobile-xs: 34px;--btn-height-mobile-sm: 38px;--btn-height-mobile-md: 44px;--btn-height-mobile-lg: 48px;--btn-height-mobile-xl: 52px;--btn-padding-sm: 6px 14px;--btn-padding-md: 9px 20px;--btn-padding-lg: 12px 28px;--btn-padding-mobile-sm: 8px 16px;--btn-padding-mobile-md: 11px 20px;--btn-padding-mobile-lg: 13px 24px;--icon-size-xs: 14px;--icon-size-sm: 16px;--icon-size-md: 18px;--icon-size-lg: 20px;--icon-size-xl: 24px;--icon-size-2xl: 32px;--icon-size-3xl: 40px;--icon-size-4xl: 48px;--icon-size-mobile-xs: 16px;--icon-size-mobile-sm: 18px;--icon-size-mobile-md: 20px;--icon-size-mobile-lg: 24px;--icon-size-mobile-xl: 28px;--icon-size-mobile-2xl: 32px;--touch-target-min: 44px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-3xl: 12px;--radius-full: 9999px;--input-height-sm: 34px;--input-height-md: 40px;--input-height-lg: 46px;--input-height-mobile-sm: 38px;--input-height-mobile-md: 44px;--input-height-mobile-lg: 48px;--ease-spring: cubic-bezier(.2, 0, 0, 1);--ease-out-soft: cubic-bezier(.4, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--transition-fast: .15s var(--ease-out-soft);--transition-base: .2s var(--ease-out-soft);--transition-slow: .3s var(--ease-out-soft);--transition-slower: .4s var(--ease-out-soft);--transition-spring: .18s var(--ease-spring)}:root{--loading-spin-duration: 1s;--loading-pulse-duration: 1.8s;--loading-sync-duration: 1.5s;--loading-shimmer-duration: 1.5s;--loading-slide-duration: 1.2s;--loading-cascade-step: 35ms;--loading-show-delay: .18s;--loading-icon-sm: 16px;--loading-icon-md: 24px;--loading-icon-lg: 32px;--loading-ring-sm: 32px;--loading-ring-md: 40px;--loading-ring-lg: 56px;--loading-bar-height: 8px}.desktop-only{display:initial}.mobile-only{display:none}@media (max-width: 768px){.desktop-only{display:none!important}.mobile-only{display:initial}}.tablet-up{display:none}@media (min-width: 769px){.tablet-up{display:initial}}.spacing-responsive-xs{padding:var(--spacing-xs)}.spacing-responsive-sm{padding:var(--spacing-sm)}.spacing-responsive-md{padding:var(--spacing-md)}.spacing-responsive-lg{padding:var(--spacing-lg)}@media (max-width: 768px){.spacing-responsive-xs{padding:var(--spacing-mobile-xs)}.spacing-responsive-sm{padding:var(--spacing-mobile-sm)}.spacing-responsive-md{padding:var(--spacing-mobile-md)}.spacing-responsive-lg{padding:var(--spacing-mobile-lg)}}.text-responsive-sm{font-size:var(--font-size-sm)}.text-responsive-base{font-size:var(--font-size-base)}.text-responsive-md{font-size:var(--font-size-md)}.text-responsive-lg{font-size:var(--font-size-lg)}@media (max-width: 768px){.text-responsive-sm{font-size:var(--font-size-mobile-sm)}.text-responsive-base{font-size:var(--font-size-mobile-base)}.text-responsive-md{font-size:var(--font-size-mobile-md)}.text-responsive-lg{font-size:var(--font-size-mobile-lg)}}.icon-responsive-sm{font-size:var(--icon-size-sm)}.icon-responsive-md{font-size:var(--icon-size-md)}.icon-responsive-lg{font-size:var(--icon-size-lg)}@media (max-width: 768px){.icon-responsive-sm{font-size:var(--icon-size-mobile-sm)}.icon-responsive-md{font-size:var(--icon-size-mobile-md)}.icon-responsive-lg{font-size:var(--icon-size-mobile-lg)}}.btn-responsive{padding:var(--btn-padding-md);font-size:var(--font-size-sm);height:var(--btn-height-md)}@media (max-width: 768px){.btn-responsive{padding:var(--btn-padding-mobile-md);font-size:var(--font-size-mobile-base);height:var(--btn-height-mobile-md);min-width:var(--touch-target-min)}}.flex-responsive{display:flex;gap:var(--spacing-md)}@media (max-width: 768px){.flex-responsive{gap:var(--spacing-mobile-md)}}.grid-responsive{display:grid;gap:var(--spacing-md)}@media (max-width: 768px){.grid-responsive{gap:var(--spacing-mobile-md)}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-full{width:100%}.h-full{height:100%}.hidden{display:none}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.aih-field{display:flex;flex-direction:column;gap:6px}.aih-field__label,.aih-field>span:first-child{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.01em}.aih-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aih-field--full{grid-column:1 / -1}.aih-input,.aih-select,.aih-field input,.aih-field select{width:100%;padding:9px 12px;border:1px solid var(--chalk-line);border-radius:var(--radius-md);font-size:13px;color:var(--ink);background:var(--chalk-white);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}.aih-input::placeholder,.aih-field input::placeholder{color:var(--color-text-placeholder)}.aih-input:hover,.aih-select:hover,.aih-field input:hover,.aih-field select:hover{border-color:var(--chalk-line-strong)}.aih-input:focus,.aih-select:focus,.aih-field input:focus,.aih-field select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.aih-input:disabled,.aih-field input:disabled,.aih-field select:disabled{background:var(--paper-2);opacity:.6;cursor:not-allowed}.aih-input--mono{font-family:var(--font-family-mono)}.aih-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231F1E1C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.aih-input-group{display:flex;gap:6px}.aih-input-group .aih-input{flex:1}.aih-input-group__btn{flex-shrink:0;padding:0 12px;border:1px solid var(--chalk-line);border-radius:var(--radius-md);background:var(--paper-2);font-size:12px;font-weight:700;color:var(--ink-secondary);cursor:pointer;transition:border-color var(--transition-base),color var(--transition-base)}.aih-input-group__btn:hover{border-color:var(--color-border-hover);color:var(--ink)}.aih-message{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;padding:9px 12px;border-radius:var(--radius-md);border:1.5px solid transparent}.aih-message--info{background:var(--chalk-blue-light);color:var(--chalk-blue-dark);border-color:rgba(var(--chalk-blue-rgb),.18)}.aih-message--warn{background:var(--chalk-orange-light);color:var(--chalk-orange-dark);border-color:rgba(var(--chalk-orange-rgb),.18)}.aih-message--error{background:var(--color-danger-light);color:var(--color-danger-dark);border-color:rgba(var(--color-danger-rgb),.18)}.aih-message--success{background:var(--chalk-green-light);color:var(--chalk-green-dark);border-color:rgba(var(--chalk-green-rgb),.18)}.aih-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-secondary);cursor:pointer}.aih-toggle input{width:16px;height:16px;accent-color:var(--chalk-blue);cursor:pointer}@media (max-width: 520px){.aih-field-grid{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--ink);background-color:var(--paper);min-height:100vh}button{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:var(--font-weight-semibold);color:inherit;cursor:pointer;border:none;background:none;padding:0}button:disabled{cursor:not-allowed;opacity:.45}input,textarea,select{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}a{color:var(--chalk-blue-dark);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--chalk-blue)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}code,pre{font-family:var(--font-family-mono);font-size:.875em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}::selection{background:var(--chalk-blue-light);color:var(--ink)}:focus-visible{outline:none;box-shadow:var(--shadow-focus)}@media (max-width: 768px){html{font-size:15px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@keyframes pulse-sync{0%,to{opacity:1}50%{opacity:.45}}@keyframes breathing-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-fade-in{0%{opacity:0}to{opacity:1}}@keyframes loading-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{animation:spin var(--loading-spin-duration) linear infinite}.pulse{animation:pulse var(--loading-pulse-duration) ease-in-out infinite}.pulse-sync{animation:pulse-sync var(--loading-sync-duration) ease-in-out infinite}.skeleton-shimmer{background-color:var(--color-bg-tertiary);background-image:linear-gradient(100deg,var(--color-bg-tertiary) 30%,var(--color-bg-primary) 50%,var(--color-bg-tertiary) 70%);background-size:200% 100%;background-repeat:no-repeat;animation:skeleton-shimmer var(--loading-shimmer-duration) ease-in-out infinite;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
