weifuwu 0.93.2 → 0.93.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/components/AppShell/AppShell.d.ts +18 -1
- package/dist/client/components/CronPicker/CronPicker.d.ts +31 -0
- package/dist/client/components/ListScaffold/ListScaffold.d.ts +40 -0
- package/dist/client/components/Menu/Menu.d.ts +2 -0
- package/dist/client/components/StatusDot/StatusDot.d.ts +25 -0
- package/dist/client/components/index.d.ts +6 -0
- package/dist/client/components/index.js +36 -36
- package/dist/client/components/style.css +1 -1
- package/docs/client.md +20 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer tokens,base,layout,components,utilities;:root{--wf-brand-seed: #4f6ef7;--wf-brand-500: var(--wf-brand-seed);--wf-brand-600: color-mix(in srgb, var(--wf-brand-seed) 85%, #000);--wf-brand-700: color-mix(in srgb, var(--wf-brand-seed) 70%, #000);--wf-brand-50: color-mix(in srgb, var(--wf-brand-seed) 12%, #fff);--wf-green-500: #22c55e;--wf-green-50: #f0fdf4;--wf-green-700: #15803d;--wf-amber-500: #f59e0b;--wf-amber-50: #fffbeb;--wf-amber-700: #b45309;--wf-red-500: #ef4444;--wf-red-50: #fef2f2;--wf-red-700: #b91c1c;--wf-sky-500: #1677ff;--wf-sky-50: #e6f4ff;--wf-sky-700: #0369a1;--wf-slate-900: #0f172a;--wf-slate-500: #64748b;--wf-slate-400: #94a3b8;--wf-slate-300: #cbd5e1;--wf-slate-200: #e2e8f0;--wf-slate-100: #f1f5f9;--wf-slate-50: #f8fafc;--wf-white: #ffffff;--wf-dark-brand-seed: #6b8aff;--wf-dark-brand-500: var(--wf-dark-brand-seed);--wf-dark-brand-600: color-mix(in srgb, var(--wf-dark-brand-seed) 78%, #fff);--wf-dark-brand-50: color-mix(in srgb, var(--wf-dark-brand-seed) 12%, #0f172a);--wf-dark-green-500: #4ade80;--wf-dark-green-50: #14532d;--wf-dark-amber-500: #fbbf24;--wf-dark-amber-50: #451a03;--wf-dark-red-500: #f87171;--wf-dark-red-50: #451a1a;--wf-dark-sky-500: #60a5fa;--wf-dark-sky-50: #172554;--wf-dark-slate-900: #f1f5f9;--wf-dark-slate-500: #94a3b8;--wf-dark-slate-400: #64748b;--wf-dark-slate-300: #475569;--wf-dark-slate-200: #334155;--wf-dark-slate-100: #1e293b;--wf-dark-bg: #0f172a;--wf-dark-overlay: rgba(0, 0, 0, .6);--wf-dark-fill: var(--wf-dark-slate-200);--wf-dark-bg-hover: var(--wf-dark-state-hover);--wf-dark-state-hover: rgba(255, 255, 255, .06);--wf-dark-state-pressed: rgba(255, 255, 255, .1);--wf-dark-surface-shadow: var(--wf-dark-shadow);--wf-dark-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--wf-dark-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .3);--wf-dark-shadow: 0 1px 3px rgba(0, 0, 0, .3);--wf-dark-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--wf-dark-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4)}:root{--wf-space-xs: 4px;--wf-space-sm: 8px;--wf-space: 12px;--wf-space-md: 16px;--wf-space-lg: 24px;--wf-space-xl: 32px;--wf-space-2xl: 40px;--wf-gap-xs: var(--wf-space-xs);--wf-gap-sm: var(--wf-space-sm);--wf-gap-md: var(--wf-space);--wf-gap-lg: var(--wf-space-md);--wf-gap-xl: var(--wf-space-lg);--wf-gap-2xl: var(--wf-space-xl);--wf-radius-xs: 2px;--wf-radius-sm: 4px;--wf-radius: 6px;--wf-radius-md: 8px;--wf-radius-lg: 12px;--wf-radius-xl: 20px;--wf-surface-radius: var(--wf-radius-md);--wf-surface-shadow: var(--wf-shadow);--wf-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--wf-shadow-inset: inset 0 1px 2px rgba(0,0,0,.04);--wf-shadow: 0 1px 3px rgba(0,0,0,.08);--wf-shadow-md: 0 4px 12px rgba(0,0,0,.1);--wf-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1);--wf-z-sticky: 40;--wf-z-overlay: 80;--wf-z-modal: 100;--wf-tour-min-width: 240px;--wf-kanban-col-min-width: 200px;--wf-layout-sider-width: 240px;--wf-layout-sider-collapsed-width: 64px;--wf-layout-header-height: 56px;--wf-kanban-col-max-width: 300px;--wf-treeselect-min-width: 200px;--wf-navmenu-min-width: 160px;--wf-select-menu-min-width: 200px;--wf-treeselect-max-width: 320px;--wf-treeselect-dropdown-max-height: 260px;--wf-z-popover: 120;--wf-z-toast: 140;--wf-z-tooltip: 160;--wf-z-dropdown: var(--wf-z-popover);--wf-pop-z: var(--wf-z-popover);--wf-cover-z: var(--wf-z-modal);--wf-color-primary: var(--wf-brand-500);--wf-color-primary-hover: var(--wf-brand-600);--wf-color-primary-bg: var(--wf-brand-50);--wf-color-success: var(--wf-green-500);--wf-color-success-bg: var(--wf-green-50);--wf-color-warning: var(--wf-amber-500);--wf-color-warning-bg: var(--wf-amber-50);--wf-color-error: var(--wf-red-500);--wf-color-error-bg: var(--wf-red-50);--wf-color-text: var(--wf-slate-900);--wf-color-text-secondary: var(--wf-slate-500);--wf-color-text-tertiary: var(--wf-slate-400);--wf-color-text-disabled: var(--wf-slate-300);--wf-color-bg: var(--wf-white);--wf-color-bg-secondary: var(--wf-slate-50);--wf-color-bg-tertiary: var(--wf-slate-100);--wf-color-border: var(--wf-slate-200);--wf-color-border-light: var(--wf-slate-100);--wf-color-border-dark: var(--wf-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-color-bg-elevated: var(--wf-color-bg);--wf-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--wf-font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "PingFang SC", "Microsoft YaHei", monospace;--wf-font-size-xs: 12px;--wf-font-size-sm: 13px;--wf-font-size-base: 14px;--wf-font-size-lg: 15px;--wf-font-size-xl: 16px;--wf-font-size-2xl: 21px;--wf-font-size-3xl: 24px;--wf-font-size-4xl: 30px;--wf-font-size-5xl: 36px;--wf-font-size-display: 30px;--wf-heading-case: none;--wf-heading-tracking: 0;--wf-font-weight-normal: 400;--wf-font-weight-medium: 500;--wf-font-weight-semibold: 600;--wf-font-weight-bold: 700;--wf-line-height-tight: 1.25;--wf-line-height: 1.5;--wf-line-height-relaxed: 1.75;--wf-border-width: 1px;--wf-focus-ring: 0 0 0 2px var(--wf-color-primary-bg), 0 0 0 1px var(--wf-color-primary);--wf-transition-duration: var(--wf-dur-fast);--wf-transition-timing: var(--wf-ease-out);--wf-transition: var(--wf-transition-duration) var(--wf-transition-timing);--wf-dur-fast: .12s;--wf-dur-base: .2s;--wf-dur-slow: .3s;--wf-ease-out: cubic-bezier(.16, 1, .3, 1);--wf-ease-in: cubic-bezier(.4, 0, 1, 1);--wf-ease-in-out: cubic-bezier(.4, 0, .2, 1);--wf-ease-snap: cubic-bezier(.34, 1.56, .64, 1);--wf-ease-standard: ease;--wf-dur-md: var(--wf-dur-base);--wf-motion-sm: 4px;--wf-dur-spin: .6s;--wf-dur-pulse: 1.2s;--wf-dur-blink: 1.1s;--wf-dur-progress: 1.4s;--wf-color-info: var(--wf-sky-500);--wf-color-info-bg: var(--wf-sky-50);--wf-color-primary-text: var(--wf-brand-700);--wf-color-success-text: var(--wf-green-700);--wf-color-warning-text: var(--wf-amber-700);--wf-color-error-text: var(--wf-red-700);--wf-color-info-text: var(--wf-sky-700);--wf-color-fill: var(--wf-slate-100);--wf-color-bg-subtle: var(--wf-color-fill);--wf-state-hover: rgba(0, 0, 0, .04);--wf-state-pressed: rgba(0, 0, 0, .08);--wf-color-bg-hover: var(--wf-state-hover);--wf-color-on-brand: #fff;--wf-color-on-warning: #451a03;--wf-overlay: rgba(0, 0, 0, .4);--wf-overlay-blur: 4px;--wf-accent-color: var(--wf-color-primary);--wf-caret-color: var(--wf-color-primary);--wf-control-pad-y: 10px;--wf-control-height: 36px;--wf-field-height: var(--wf-control-height);--wf-field-radius: var(--wf-radius);--wf-bp-sm: 640px;--wf-bp-md: 768px;--wf-bp-lg: 1024px;--wf-bp-xl: 1280px;--wf-sidebar-width: 240px;--wf-opacity-disabled: .5;--wf-letter-spacing-wide: .5px;--wf-heading-display-tracking: -.5px;--wf-nums: "tabular-nums"}@supports not (color: color-mix(in srgb,red 50%,blue)){:root{--wf-brand-600: #3b5ae0;--wf-brand-700: #4338ca;--wf-brand-50: #eef1ff;--wf-dark-brand-600: #8ba3ff;--wf-dark-brand-50: #1e293b}}:root[data-theme=dark]{color-scheme:dark;--wf-color-primary: var(--wf-dark-brand-500);--wf-color-primary-hover: var(--wf-dark-brand-600);--wf-color-primary-bg: var(--wf-dark-brand-50);--wf-color-success: var(--wf-dark-green-500);--wf-color-success-bg: var(--wf-dark-green-50);--wf-color-warning: var(--wf-dark-amber-500);--wf-color-warning-bg: var(--wf-dark-amber-50);--wf-color-error: var(--wf-dark-red-500);--wf-color-error-bg: var(--wf-dark-red-50);--wf-color-info: var(--wf-dark-sky-500);--wf-color-info-bg: var(--wf-dark-sky-50);--wf-color-text: var(--wf-dark-slate-900);--wf-color-text-secondary: var(--wf-dark-slate-500);--wf-color-text-tertiary: var(--wf-dark-slate-400);--wf-color-text-disabled: var(--wf-dark-slate-300);--wf-color-bg: var(--wf-dark-bg);--wf-color-bg-secondary: var(--wf-dark-slate-100);--wf-color-bg-tertiary: var(--wf-dark-slate-200);--wf-color-fill: var(--wf-dark-fill);--wf-color-bg-subtle: var(--wf-dark-fill);--wf-color-bg-hover: var(--wf-dark-bg-hover);--wf-state-hover: var(--wf-dark-state-hover);--wf-state-pressed: var(--wf-dark-state-pressed);--wf-color-bg-elevated: var(--wf-dark-slate-100);--wf-color-border: var(--wf-dark-slate-200);--wf-color-border-light: var(--wf-dark-slate-100);--wf-color-border-dark: var(--wf-dark-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-surface-shadow: var(--wf-dark-surface-shadow);--wf-shadow-sm: var(--wf-dark-shadow-sm);--wf-shadow: var(--wf-dark-shadow);--wf-shadow-md: var(--wf-dark-shadow-md);--wf-shadow-lg: var(--wf-dark-shadow-lg);--wf-shadow-inset: var(--wf-dark-shadow-inset);--wf-color-primary-text: var(--wf-dark-brand-500);--wf-color-success-text: var(--wf-dark-green-500);--wf-color-warning-text: var(--wf-dark-amber-500);--wf-color-error-text: var(--wf-dark-red-500);--wf-color-info-text: var(--wf-dark-sky-500);--wf-overlay: var(--wf-dark-overlay)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--wf-color-primary: var(--wf-dark-brand-500);--wf-color-primary-hover: var(--wf-dark-brand-600);--wf-color-primary-bg: var(--wf-dark-brand-50);--wf-color-success: var(--wf-dark-green-500);--wf-color-success-bg: var(--wf-dark-green-50);--wf-color-warning: var(--wf-dark-amber-500);--wf-color-warning-bg: var(--wf-dark-amber-50);--wf-color-error: var(--wf-dark-red-500);--wf-color-error-bg: var(--wf-dark-red-50);--wf-color-info: var(--wf-dark-sky-500);--wf-color-info-bg: var(--wf-dark-sky-50);--wf-color-text: var(--wf-dark-slate-900);--wf-color-text-secondary: var(--wf-dark-slate-500);--wf-color-text-tertiary: var(--wf-dark-slate-400);--wf-color-text-disabled: var(--wf-dark-slate-300);--wf-color-bg: var(--wf-dark-bg);--wf-color-bg-secondary: var(--wf-dark-slate-100);--wf-color-bg-tertiary: var(--wf-dark-slate-200);--wf-color-fill: var(--wf-dark-fill);--wf-color-bg-subtle: var(--wf-dark-fill);--wf-color-bg-hover: var(--wf-dark-bg-hover);--wf-state-hover: var(--wf-dark-state-hover);--wf-state-pressed: var(--wf-dark-state-pressed);--wf-color-bg-elevated: var(--wf-dark-slate-100);--wf-color-border: var(--wf-dark-slate-200);--wf-color-border-light: var(--wf-dark-slate-100);--wf-color-border-dark: var(--wf-dark-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-surface-shadow: var(--wf-dark-surface-shadow);--wf-shadow-sm: var(--wf-dark-shadow-sm);--wf-shadow: var(--wf-dark-shadow);--wf-shadow-md: var(--wf-dark-shadow-md);--wf-shadow-lg: var(--wf-dark-shadow-lg);--wf-shadow-inset: var(--wf-dark-shadow-inset);--wf-color-primary-text: var(--wf-dark-brand-500);--wf-color-success-text: var(--wf-dark-green-500);--wf-color-warning-text: var(--wf-dark-amber-500);--wf-color-error-text: var(--wf-dark-red-500);--wf-color-info-text: var(--wf-dark-sky-500);--wf-overlay: var(--wf-dark-overlay)}}:root[data-preset=minimal]{--wf-brand-seed: #64748b;--wf-dark-brand-seed: #94a3b8}:root[data-preset=compact]{--wf-control-height: 32px;--wf-control-pad-y: 6px;--wf-space-xs: 3px;--wf-space-sm: 6px;--wf-space: 9px;--wf-space-md: 12px;--wf-space-lg: 18px;--wf-space-xl: 24px;--wf-space-2xl: 30px;--wf-font-size-sm: 12px;--wf-font-size-base: 13px}:root[data-preset=rounded]{--wf-radius-sm: 8px;--wf-radius: 12px;--wf-radius-md: 16px;--wf-radius-lg: 20px;--wf-radius-xl: 28px;--wf-surface-radius: var(--wf-radius-md);--wf-btn-radius: 999px;--wf-field-radius: var(--wf-radius-md)}@property --wf-gap{syntax: "*"; inherits: false;}@property --wf-align{syntax: "*"; inherits: false;}@property --wf-justify{syntax: "*"; inherits: false;}@property --wf-cols{syntax: "*"; inherits: false;}@property --wf-max{syntax: "*"; inherits: false;}@property --wf-w-sm{syntax: "*"; inherits: false;}@property --wf-z{syntax: "*"; inherits: false;}@property --wf-offset{syntax: "*"; inherits: false;}@property --wf-popup-max{syntax: "*"; inherits: false;}@layer base{*,*:before,*:after{box-sizing:border-box}::selection{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}*{scrollbar-width:thin;scrollbar-color:var(--wf-color-border-dark) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--wf-color-border-dark);border-radius:var(--wf-radius-sm);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--wf-color-text-secondary);background-clip:padding-box;border:2px solid transparent}:root{color-scheme:light}body{margin:0;background:var(--wf-color-bg);color:var(--wf-color-text);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);-webkit-font-smoothing:antialiased}a{color:var(--wf-color-primary-text);text-decoration:none}a:hover{color:var(--wf-color-primary-hover);text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input,textarea,select{accent-color:var(--wf-accent-color);caret-color:var(--wf-caret-color);background:var(--wf-color-bg);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-control-pad-y) var(--wf-space)}input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--wf-focus-ring);border-color:var(--wf-color-primary)}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}button{accent-color:var(--wf-accent-color);background:var(--wf-color-bg);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-control-pad-y) var(--wf-space-md);min-height:var(--wf-control-height);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),filter var(--wf-dur-fast) var(--wf-ease-out)}button:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}button:active:not(:disabled),[role=button]:active{filter:brightness(.95)}button:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}[role=button]{cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),filter var(--wf-dur-fast) var(--wf-ease-out)}@media(pointer:coarse){button,[role=button],input,textarea,select,.wf-card--clickable,.wf-table-th--sortable,.wf-accordion-summary,.wf-tag-close,.wf-checkbox,.wf-switch,.wf-radio,.wf-datepicker-cell{min-height:44px;min-width:44px}}h1,h2,h3,h4,h5,h6{font-weight:var(--wf-font-weight-semibold);line-height:var(--wf-line-height-tight);color:var(--wf-color-text)}p{line-height:var(--wf-line-height-relaxed)}small{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}label{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}td{padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text);font-size:var(--wf-font-size-base)}hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0}pre,code{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm)}pre{background:var(--wf-color-bg-secondary);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);overflow-x:auto;white-space:pre}code{background:var(--wf-color-bg-secondary);padding:2px 6px;border-radius:var(--wf-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}}body.wf-dragging{user-select:none;-webkit-user-select:none}@keyframes wf-stream-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.wf-stream-in{animation:wf-stream-in var(--wf-dur-base) var(--wf-ease-out) both}@media(prefers-reduced-motion:reduce){.wf-stream-in{animation-duration:.01ms}}.wf-hero-cursor{animation:wf-hero-blink 1s step-end infinite;color:var(--wf-color-primary)}@keyframes wf-hero-blink{0%,to{opacity:1}50%{opacity:0}}}@layer layout{.wf-stack{display:flex;flex-direction:column}:where(.wf-stack){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, stretch)}}@layer layout{.wf-row{display:flex;flex-wrap:wrap}:where(.wf-row){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, center)}.wf-row-reverse{display:flex;flex-direction:row-reverse;flex-wrap:wrap}:where(.wf-row-reverse){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, center)}.wf-items-start{--wf-align: flex-start}.wf-items-center{--wf-align: center}.wf-items-end{--wf-align: flex-end}.wf-items-stretch{--wf-align: stretch}}@layer layout{.wf-split{display:flex;justify-content:space-between}:where(.wf-split){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-split>:last-child{flex-shrink:0}}@layer layout{.wf-center{display:flex;flex-direction:column;align-items:center;justify-content:center}}@layer layout{.wf-justify-between{display:flex;justify-content:space-between}:where(.wf-justify-between){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-justify-end{display:flex;justify-content:flex-end}:where(.wf-justify-end){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-justify-center{display:flex;justify-content:center}:where(.wf-justify-center){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}}@layer layout{.wf-fill{flex:1;min-width:0;min-height:0}.wf-fill-hover{border-radius:var(--wf-radius-sm);padding:2px 4px;margin:-2px -4px;transition:background .15s ease}.wf-fill-hover:hover{background:var(--wf-color-bg-secondary)}}@layer layout{.wf-grid{display:grid;grid-template-columns:var(--wf-cols, repeat(auto-fill, minmax(280px, 1fr)))}:where(.wf-grid){gap:var(--wf-gap, var(--wf-gap-lg))}}@layer layout{.wf-cluster{display:flex;flex-wrap:wrap}:where(.wf-cluster){gap:var(--wf-gap, var(--wf-gap-sm));justify-content:var(--wf-justify, center);align-items:var(--wf-align, center)}}@layer layout{.wf-cover{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--wf-z, var(--wf-cover-z))}}@layer layout{.wf-relative{position:relative}.wf-absolute{position:absolute}}@layer layout{.wf-sticky{position:sticky;top:var(--wf-offset, 0)}}@layer layout{.wf-overflow-auto{overflow:auto}.wf-overflow-hidden{overflow:hidden}.wf-overflow-x{overflow-x:auto}}@layer layout{.wf-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.wf-safe-top{padding-top:env(safe-area-inset-top)}}@layer layout{.wf-layer{position:relative;z-index:var(--wf-z, 1)}}@layer layout{.wf-self-start{align-self:flex-start}.wf-self-center{align-self:center}.wf-self-end{align-self:flex-end}.wf-self-stretch{align-self:stretch}}@layer layout{.wf-nowrap{display:flex;flex-wrap:nowrap}:where(.wf-nowrap){gap:var(--wf-gap, var(--wf-gap-md))}}@layer layout{.wf-shrink{min-width:0;min-height:0}.wf-min-width-0{min-width:0}}@layer layout{.wf-container{width:100%;max-width:var(--wf-max, 1200px);margin:0 auto;padding:0 var(--wf-gap, var(--wf-gap-lg))}}@layer layout{.wf-app-shell{display:grid;grid-template-columns:var(--wf-sidebar-width, 240px) minmax(0,1fr);height:100vh;overflow:hidden}.wf-sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--wf-color-bg-secondary);border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-sidebar-header{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);flex-shrink:0}.wf-sidebar-body{flex:1;padding:var(--wf-space-sm);overflow-y:auto}.wf-sidebar-footer{padding:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light);flex-shrink:0}.wf-nav{display:flex;flex-direction:column;gap:2px}.wf-nav-group{font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space-md) var(--wf-space-sm) var(--wf-space-xs)}.wf-nav-item{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-base);text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit;transition:background var(--wf-transition),color var(--wf-transition)}.wf-nav-item:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text);text-decoration:none}.wf-nav-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-nav-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-nav-item--active:hover{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-nav--collapsed .wf-nav-item{justify-content:center;gap:0;padding:var(--wf-space-sm)}.wf-nav--collapsed .wf-nav-label{display:none}.wf-nav--collapsed .wf-nav-group{text-align:center;padding-left:0;padding-right:0;overflow:hidden;white-space:nowrap}.wf-main{padding:var(--wf-space-lg);min-width:0;min-height:0;overflow-y:auto;background:var(--wf-color-bg);--wf-main-max: none}.wf-main>*{max-width:var(--wf-main-max);margin-inline:auto}@media(pointer:coarse){.wf-nav-item{min-height:44px}}@media(max-width:767.98px){.wf-app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.wf-sidebar{position:static;height:auto;border-right:none;border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-main{padding:var(--wf-space-md);overflow:visible}}}@layer utilities{.wf-surface{border-radius:var(--wf-surface-radius);box-shadow:var(--wf-surface-shadow);background:var(--wf-surface-bg)}.wf-surface--flat{box-shadow:none}.wf-bg-secondary{background:var(--wf-color-bg-secondary)}.wf-bg-tertiary{background:var(--wf-color-bg-tertiary)}.wf-bg-primary{background:var(--wf-color-primary-bg)}.wf-bg-warning{background:var(--wf-color-warning-bg)}.wf-bg-error{background:var(--wf-color-error-bg)}.wf-bg-none{background:transparent}.wf-pill{border-radius:999px}.wf-radius-sm{border-radius:var(--wf-radius-sm)}.wf-radius{border-radius:var(--wf-radius)}.wf-radius-md{border-radius:var(--wf-radius-md)}.wf-radius-lg{border-radius:var(--wf-radius-lg)}.wf-shadow{box-shadow:var(--wf-shadow)}.wf-elevate{transition:box-shadow var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-elevate:hover{box-shadow:var(--wf-shadow-md);transform:translateY(-2px)}.wf-elevate:focus-visible{outline:none;box-shadow:var(--wf-shadow-md),var(--wf-focus-ring)}.wf-panel-in{animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}@keyframes wf-panel-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1)) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.wf-bubble{display:inline-block;max-width:70%;padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-secondary);color:var(--wf-color-text);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);white-space:pre-wrap;word-break:break-word}.wf-bubble--own{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-bottom-right-radius:var(--wf-radius-sm)}.wf-bubble--ai{background:var(--wf-color-primary-bg);border:var(--wf-border-width) solid var(--wf-color-border-light);border-bottom-left-radius:var(--wf-radius-sm)}.wf-rounded-sm{border-radius:var(--wf-radius-sm)}.wf-rounded-md{border-radius:var(--wf-radius-md)}.wf-card-outline{border:var(--wf-border-width) solid var(--wf-color-border)}}@layer utilities{.wf-border{border:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-top{border-top:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-bottom{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-left{border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-right{border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-none{border:none}}@layer utilities{.wf-text-left{text-align:left}.wf-text-center{text-align:center}.wf-text-right{text-align:right}.wf-font-xs{font-size:var(--wf-font-size-xs)}.wf-font-sm{font-size:var(--wf-font-size-sm)}.wf-font-base{font-size:var(--wf-font-size-base)}.wf-font-lg{font-size:var(--wf-font-size-lg)}.wf-font-2xl{font-size:var(--wf-font-size-2xl)}.wf-font-3xl{font-size:var(--wf-font-size-3xl)}.wf-font-4xl{font-size:var(--wf-font-size-4xl)}.wf-nums{font-variant-numeric:var(--wf-nums)}.wf-text-secondary{color:var(--wf-color-text-secondary)}.wf-text-tertiary{color:var(--wf-color-text-tertiary)}.wf-text-danger{color:var(--wf-color-error-text)}.wf-text-primary{color:var(--wf-color-primary-text)}.wf-text-success{color:var(--wf-color-success-text)}.wf-text-warning{color:var(--wf-color-warning-text)}.wf-font-mono{font-family:var(--wf-font-mono)}.wf-text-error{color:var(--wf-color-error-text)}.wf-text-on-brand{color:var(--wf-color-on-brand)}.wf-text-on-warning{color:var(--wf-color-on-warning)}.wf-medium{font-weight:var(--wf-font-weight-medium)}.wf-semibold{font-weight:var(--wf-font-weight-semibold)}.wf-bold{font-weight:var(--wf-font-weight-bold)}.wf-tracking-wide{letter-spacing:var(--wf-letter-spacing-wide)}.wf-uppercase{text-transform:uppercase}.wf-pre-wrap{white-space:pre-wrap;word-break:break-word}.wf-break-word{overflow-wrap:break-word;word-break:break-word}.wf-text-nowrap{white-space:nowrap}.wf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer utilities{.wf-padding-none{padding:0}.wf-padding-xs{padding:var(--wf-space-xs)}.wf-padding-sm{padding:var(--wf-space-sm)}.wf-padding-md{padding:var(--wf-space-md)}.wf-padding-lg{padding:var(--wf-space-lg)}.wf-padding-xl{padding:var(--wf-space-xl)}.wf-padding-x-xs{padding-left:var(--wf-space-xs);padding-right:var(--wf-space-xs)}.wf-padding-x-sm{padding-left:var(--wf-space-sm);padding-right:var(--wf-space-sm)}.wf-padding-x-md{padding-left:var(--wf-space-md);padding-right:var(--wf-space-md)}.wf-padding-y-xs{padding-top:var(--wf-space-xs);padding-bottom:var(--wf-space-xs)}.wf-padding-y-sm{padding-top:var(--wf-space-sm);padding-bottom:var(--wf-space-sm)}.wf-padding-y-md{padding-top:var(--wf-space-md);padding-bottom:var(--wf-space-md)}.wf-padding-y-lg{padding-top:var(--wf-space-lg);padding-bottom:var(--wf-space-lg)}.wf-padding-top-sm{padding-top:var(--wf-space-sm)}.wf-padding-left-sm{padding-left:var(--wf-space-sm)}.wf-padding-bottom-xs{padding-bottom:var(--wf-space-xs)}.wf-padding-bottom-sm{padding-bottom:var(--wf-space-sm)}.wf-padding-bottom-md{padding-bottom:var(--wf-space-md)}.wf-margin-none{margin:0}.wf-margin-top-none{margin-top:0}.wf-margin-top-xs{margin-top:var(--wf-space-xs)}.wf-margin-top-sm{margin-top:var(--wf-space-sm)}.wf-margin-top-md{margin-top:var(--wf-space-md)}.wf-margin-bottom-xs{margin-bottom:var(--wf-space-xs)}.wf-margin-bottom-sm{margin-bottom:var(--wf-space-sm)}.wf-margin-bottom-md{margin-bottom:var(--wf-space-md)}.wf-margin-bottom-lg{margin-bottom:var(--wf-space-lg)}.wf-margin-left-xs{margin-left:var(--wf-space-xs)}.wf-margin-left-sm{margin-left:var(--wf-space-sm)}.wf-margin-x-auto{margin-left:auto;margin-right:auto}.wf-margin-y-xs{margin-top:var(--wf-space-xs);margin-bottom:var(--wf-space-xs)}.wf-gap-none{gap:0}.wf-gap-xs{gap:var(--wf-gap-xs)}.wf-gap-sm{gap:var(--wf-gap-sm)}.wf-gap-md{gap:var(--wf-gap-md)}.wf-gap-lg{gap:var(--wf-gap-lg)}.wf-gap-xl{gap:var(--wf-gap-xl)}.wf-width-full{width:100%}.wf-width-sm{width:var(--wf-w-sm, 480px)}.wf-height-full{height:100%}}@layer utilities{:where(.wf-block){display:block}}@layer utilities{:where(.wf-flex){display:flex}@media(min-width:640px){.wf-flex\@sm{display:flex}}@media(min-width:1024px){.wf-flex\@lg{display:flex}}}@layer utilities{:where(.wf-hidden){display:none}@media(min-width:1024px){.wf-hidden\@lg{display:none}}.wf-dim{opacity:.7}.wf-pointer{cursor:pointer}}@layer layout{.wf-popup{max-width:min(var(--wf-popup-max, 480px),calc(100vw - 32px));box-sizing:border-box}.wf-popup-mask{position:fixed;inset:0;z-index:var(--wf-z-overlay);background:var(--wf-overlay)}}@layer components{.wf-accordion{display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden;font-family:var(--wf-font-sans)}.wf-accordion-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-accordion-item:last-child{border-bottom:none}.wf-accordion-summary{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space) var(--wf-space-md);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);cursor:pointer;user-select:none;font-family:var(--wf-font-sans)}.wf-accordion-summary:hover{background:var(--wf-color-bg-tertiary)}.wf-accordion-summary:active{background:var(--wf-state-pressed)}.wf-accordion-arrow{transition:transform var(--wf-dur-base) var(--wf-ease-out);color:var(--wf-color-text-secondary);flex-shrink:0}.wf-accordion-item--open .wf-accordion-arrow{transform:rotate(180deg)}.wf-accordion-summary:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-accordion-content{padding:var(--wf-space) var(--wf-space-md) var(--wf-space-md);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-accordion-summary[disabled]{opacity:.5;cursor:not-allowed}.wf-actionsheet{position:fixed;inset:0;z-index:var(--wf-z-popover);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--wf-space-md)}.wf-actionsheet-overlay{position:absolute;inset:0;background:var(--wf-overlay);border:none;cursor:pointer}.wf-actionsheet-panel{position:relative;background:var(--wf-color-bg-elevated);border-radius:var(--wf-radius-lg);overflow:hidden;box-shadow:var(--wf-shadow-lg)}.wf-actionsheet--enter .wf-actionsheet-panel{animation:wf-actionsheet-slidein var(--wf-dur-base) var(--wf-ease-out)}.wf-actionsheet--exit .wf-actionsheet-panel{animation:wf-actionsheet-slideout var(--wf-dur-base) var(--wf-ease-in)}.wf-actionsheet--enter .wf-actionsheet-overlay{animation:wf-actionsheet-overlay-fadein var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet--exit .wf-actionsheet-overlay{animation:wf-actionsheet-overlay-fadeout var(--wf-dur-fast) var(--wf-ease-in)}@keyframes wf-actionsheet-slidein{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes wf-actionsheet-slideout{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes wf-actionsheet-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-actionsheet-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-actionsheet-title{padding:var(--wf-space-md);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-actionsheet-item{display:flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);width:100%;min-height:48px;max-height:48px;padding:0 var(--wf-space-md);background:transparent;border:none;border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);font-size:var(--wf-font-size-base);color:var(--wf-color-text);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet-item:hover:not(:disabled){background:var(--wf-state-hover)}.wf-actionsheet-item:active:not(:disabled){background:var(--wf-state-pressed)}.wf-actionsheet-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-actionsheet-item--danger{color:var(--wf-color-error-text)}.wf-actionsheet-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-actionsheet-divider{height:8px;background:var(--wf-color-bg-secondary)}.wf-actionsheet-cancel{width:100%;min-height:48px;max-height:48px;background:transparent;border:none;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet-cancel:hover{background:var(--wf-state-hover)}.wf-actionsheet-cancel:active{background:var(--wf-state-pressed)}.wf-actionsheet-cancel:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-actionsheet-icon{color:inherit}.wf-affix{font-family:var(--wf-font-sans)}.wf-affix-content{transition:none}.wf-aichat{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text)}.wf-aichat-list{overflow-y:auto;display:flex;flex-direction:column;gap:var(--wf-gap-sm);padding:var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg)}.wf-aichat-empty{margin:var(--wf-space-lg) 0;text-align:center;color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm)}.wf-aichat-msg{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-aichat-tools,.wf-aichat-approval{max-width:100%}.wf-aichat-bubble{display:inline-block;max-width:85%;padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius);font-size:var(--wf-font-size-sm);white-space:pre-wrap;word-break:break-word}.wf-aichat-msg--user{align-items:flex-end}.wf-aichat-msg--assistant{align-items:flex-start}.wf-aichat-bubble--user{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-aichat-bubble--assistant{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-aichat-status{font-size:var(--wf-font-size-xs);color:var(--wf-color-info-text)}.wf-aichat-usage{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-aichat-error{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text);background:var(--wf-color-error-bg);border-radius:var(--wf-radius);padding:var(--wf-space-sm)}.wf-alert{display:flex;align-items:flex-start;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-radius:var(--wf-alert-radius, var(--wf-radius));font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-alert--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-alert--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-alert--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-alert--error{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-alert-icon{font-weight:var(--wf-font-weight-bold);flex-shrink:0}.wf-alert-msg{flex:1;color:var(--wf-color-text)}.wf-alert-close{background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-sm);opacity:.6;color:inherit;padding:2px;line-height:1;flex-shrink:0}.wf-alert-close:hover{opacity:1}.wf-alertgroup{display:flex;flex-direction:column;gap:var(--wf-space-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-alertgroup-summary{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-sm) var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-secondary);color:var(--wf-color-primary-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-alertgroup-summary:hover{background:var(--wf-color-bg-hover)}.wf-alertgroup-item{display:flex;align-items:center;gap:var(--wf-space-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-secondary);border-left:3px solid var(--wf-color-info)}.wf-alertgroup-item--success{border-left-color:var(--wf-color-success)}.wf-alertgroup-item--warning{border-left-color:var(--wf-color-warning)}.wf-alertgroup-item--error{border-left-color:var(--wf-color-error)}.wf-alertgroup-message{flex:1;color:var(--wf-color-text)}.wf-alertgroup-time{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}.wf-alertgroup-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:none;background:transparent;color:var(--wf-color-text-tertiary);cursor:pointer;border-radius:var(--wf-radius-sm)}.wf-alertgroup-close:hover{background:var(--wf-color-bg-hover);color:var(--wf-color-text)}.wf-anchor-nav{display:flex;flex-direction:column;gap:2px;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-anchor-link{display:block;padding:var(--wf-space-xs) var(--wf-space-sm);border-left:2px solid transparent;border-radius:0 var(--wf-radius-sm) var(--wf-radius-sm) 0;color:var(--wf-color-text-secondary);text-decoration:none;cursor:pointer;transition:color var(--wf-dur-fast) var(--wf-ease-out),background var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-anchor-link:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-anchor-link--active{color:var(--wf-color-primary-text);border-left-color:var(--wf-color-primary);font-weight:var(--wf-font-weight-semibold);background:var(--wf-color-primary-bg)}.wf-anchor-link:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-app-shell-brand-text{display:flex;flex-direction:column;min-width:0}.wf-app-shell-brand-name{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);line-height:var(--wf-line-height-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-brand-sub{font-size:var(--wf-font-size-xs);letter-spacing:var(--wf-heading-tracking);text-transform:var(--wf-heading-case);color:var(--wf-color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm)}.wf-app-shell-user-info{display:flex;align-items:center;gap:var(--wf-gap-sm);min-width:0;flex:1}.wf-app-shell-user-meta{display:flex;flex-direction:column;min-width:0}.wf-app-shell-user-name{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user-mail{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user-actions{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-shrink:0}.wf-app-shell-skel{height:var(--wf-space-md);border-radius:var(--wf-radius-sm);background:var(--wf-color-fill);animation:wf-app-shell-pulse var(--wf-dur-pulse) var(--wf-ease-in-out) infinite}.wf-app-shell-skel--sm{width:60%;height:var(--wf-space-sm);margin-top:var(--wf-gap-xs)}@keyframes wf-app-shell-pulse{0%,to{opacity:.5}50%{opacity:1}}.wf-approval{border:var(--wf-border-width) solid var(--wf-color-warning);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);background:var(--wf-color-warning-bg)}.wf-approval--approved{border-color:var(--wf-color-success-text);background:var(--wf-color-success-bg)}.wf-approval--rejected{border-color:var(--wf-color-error-text);background:var(--wf-color-error-bg)}.wf-approval--timeout{border-color:var(--wf-color-border);background:var(--wf-color-bg-tertiary)}.wf-approval-header{display:flex;align-items:center;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-warning-text)}.wf-approval--approved .wf-approval-header{color:var(--wf-color-success-text)}.wf-approval--rejected .wf-approval-header{color:var(--wf-color-error-text)}.wf-approval--timeout .wf-approval-header{color:var(--wf-color-text-secondary)}.wf-approval-detail{margin-top:var(--wf-gap-xs);color:var(--wf-color-text)}.wf-approval-name{font-weight:var(--wf-font-weight-medium)}.wf-approval-args{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);word-break:break-all}.wf-approval-reason{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-approval-actions{margin-top:var(--wf-gap-sm);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-approval-btns{display:flex;gap:var(--wf-gap-xs)}.wf-approval-note-input{width:100%;box-sizing:border-box;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);color:var(--wf-color-text);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-approval-note-input:hover{border-color:var(--wf-color-primary)}.wf-approval-note-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-approval-note-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-approval-status{margin-top:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary)}.wf-approval-status--approved{color:var(--wf-color-success-text)}.wf-approval-status--rejected{color:var(--wf-color-error-text)}.wf-approval-status--timeout{color:var(--wf-color-text-tertiary)}.wf-approval-modify{margin-top:var(--wf-gap-md);padding:var(--wf-gap-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);display:flex;flex-direction:column;gap:var(--wf-gap-sm);align-items:flex-start}.wf-aspect-ratio{position:relative;width:100%;aspect-ratio:var(--wf-aspect-ratio, 16 / 9);overflow:hidden}.wf-aspect-ratio>*{position:absolute;inset:0;width:100%;height:100%}.wf-autocomplete-wrap{position:relative;display:inline-block;width:100%}.wf-autocomplete-input{width:100%}.wf-autocomplete-dropdown{position:fixed;z-index:var(--wf-z-popover);max-height:280px;overflow-y:auto;border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-elevated);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-autocomplete-option{padding:var(--wf-space-sm) var(--wf-space);cursor:pointer;color:var(--wf-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-autocomplete-option:hover,.wf-autocomplete-option--active{background:var(--wf-color-bg-hover);color:var(--wf-color-primary-text)}.wf-autocomplete-input--err{border-color:var(--wf-color-error)}.wf-autocomplete-input--err:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-autocomplete--disabled{opacity:.6;cursor:not-allowed}.wf-autocomplete--disabled input{cursor:not-allowed}.wf-autocomplete .wf-input-err{color:var(--wf-color-error-text);font-size:var(--wf-font-size-xs);margin-top:var(--wf-space-xs)}.wf-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--wf-font-sans);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-on-brand);flex-shrink:0;overflow:hidden;object-fit:cover}.wf-avatar--sm{width:24px;height:24px;font-size:11px}.wf-avatar--md{width:32px;height:32px;font-size:13px}.wf-avatar--lg{width:40px;height:40px;font-size:16px}.wf-avatar-group{display:inline-flex;align-items:center}.wf-avatar-group-item{margin-left:-6px}.wf-avatar-group-item:first-child{margin-left:0}.wf-avatar-group-more{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;margin-left:-6px;background:var(--wf-color-bg-tertiary);border:2px solid var(--wf-color-bg);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);font-family:var(--wf-font-sans)}.wf-backtop{position:fixed;right:var(--wf-space-lg);bottom:var(--wf-space-lg);z-index:var(--wf-z-popover);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--wf-radius);border:none;background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);cursor:pointer;box-shadow:var(--wf-shadow-sm);transition:opacity var(--wf-dur-base) var(--wf-ease-out),transform var(--wf-dur-base) var(--wf-ease-out),background var(--wf-dur-fast) var(--wf-ease-out),visibility var(--wf-dur-base) var(--wf-ease-out)}.wf-backtop:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-backtop:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-backtop--hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}.wf-backtop--inline{position:absolute}.wf-badge{display:inline-flex;align-items:center;padding:2px var(--wf-space-sm);border-radius:var(--wf-badge-radius, 10px);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);line-height:1.4;white-space:nowrap}.wf-badge--default{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary)}.wf-badge--primary{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-badge--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-badge--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-badge--danger{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-badge--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.wf-badge-dot--default{background:var(--wf-color-text-tertiary)}.wf-badge-dot--primary{background:var(--wf-color-primary)}.wf-badge-dot--success{background:var(--wf-color-success)}.wf-badge-dot--warning{background:var(--wf-color-warning)}.wf-badge-dot--danger{background:var(--wf-color-error)}.wf-badge-dot--info{background:var(--wf-color-info)}.wf-badge--count{min-width:18px;height:18px;padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-xl);display:inline-flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);line-height:1}.wf-breadcrumb{display:flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);line-height:var(--wf-line-height)}.wf-breadcrumb-link{color:var(--wf-color-primary-text);text-decoration:none}.wf-breadcrumb-link:hover{text-decoration:underline}.wf-breadcrumb-link:focus-visible{outline:none;border-radius:var(--wf-radius-xs);box-shadow:var(--wf-focus-ring)}.wf-breadcrumb-current{color:var(--wf-color-text);font-weight:var(--wf-font-weight-medium)}.wf-breadcrumb-sep{color:var(--wf-color-text-tertiary);user-select:none}.wf-breadcrumb-text{color:var(--wf-color-text-secondary)}.wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);padding:var(--wf-btn-pad-y, var(--wf-control-pad-y)) var(--wf-btn-pad-x, var(--wf-space-md));min-height:var(--wf-control-height);max-height:var(--wf-control-height);border-radius:var(--wf-btn-radius, var(--wf-radius));border:var(--wf-border-width) solid transparent;cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);line-height:1;white-space:nowrap;user-select:none;text-decoration:none}.wf-btn--primary{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-btn--primary:hover{background:var(--wf-color-primary-hover)}.wf-btn--secondary{background:var(--wf-color-bg);color:var(--wf-color-text);border-color:var(--wf-color-border)}.wf-btn--secondary:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-btn--ghost{background:transparent;color:var(--wf-color-primary-text);border-color:transparent}.wf-btn--ghost:hover{background:var(--wf-color-primary-bg)}.wf-btn--danger{background:var(--wf-color-error);color:var(--wf-color-on-brand);border-color:var(--wf-color-error)}.wf-btn--danger:hover{opacity:.9}.wf-btn--danger-ghost{background:transparent;color:var(--wf-color-error-text);border-color:transparent}.wf-btn--danger-ghost:hover{background:var(--wf-color-error);color:var(--wf-color-on-brand);border-color:var(--wf-color-error)}.wf-btn--sm{padding:var(--wf-space-xs) var(--wf-space-sm);font-size:var(--wf-font-size-xs);min-height:28px;max-height:28px;line-height:1}.wf-btn--lg{padding:var(--wf-space) var(--wf-space-lg);font-size:var(--wf-font-size-base);min-height:40px;max-height:40px;line-height:1}.wf-btn--block{display:flex;width:100%}.wf-btn--loading{opacity:.7;pointer-events:none}.wf-btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:wf-btn-spin var(--wf-dur-spin) linear infinite;flex-shrink:0}@keyframes wf-btn-spin{to{transform:rotate(360deg)}}.wf-btn:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-btn:active:not(:disabled){transform:scale(.98)}.wf-calendar{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden;width:100%;min-width:var(--wf-calendar-min-width, 280px)}.wf-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space) var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-calendar-title{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold)}.wf-calendar-nav{display:flex;gap:var(--wf-gap-xs)}.wf-calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);cursor:pointer;font-family:var(--wf-font-sans)}.wf-calendar-nav-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-calendar-nav-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-calendar-weekday{padding:var(--wf-space-xs);text-align:center;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.wf-calendar-cell{min-height:76px;padding:var(--wf-space-xs);border-right:var(--wf-border-width) solid var(--wf-color-border);border-bottom:var(--wf-border-width) solid var(--wf-color-border);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-calendar-cell:nth-child(7n){border-right:none}.wf-calendar-cell:hover{background:var(--wf-color-bg-tertiary)}.wf-calendar-cell--other .wf-calendar-day-num{color:var(--wf-color-text-tertiary)}.wf-calendar-cell--today .wf-calendar-day-num{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-bold)}.wf-calendar-cell--selected{background:var(--wf-color-primary-bg)}.wf-calendar-cell:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-calendar-day-num{display:inline-block;font-size:var(--wf-font-size-sm)}.wf-calendar-event{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);border-radius:var(--wf-radius-sm);padding:1px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-calendar-more{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}@media(pointer:coarse){.wf-calendar-nav-btn{min-height:44px;min-width:44px}}.wf-card{border-radius:var(--wf-card-radius, var(--wf-surface-radius));background:var(--wf-surface-bg);font-family:var(--wf-font-sans)}.wf-card--default,.wf-card--outlined{border:var(--wf-border-width) solid var(--wf-color-border)}.wf-card--pad-sm{padding:var(--wf-space-sm)}.wf-card--pad-md{padding:var(--wf-space-md)}.wf-card--pad-lg{padding:var(--wf-space-lg)}.wf-card--clickable{cursor:pointer}.wf-card--clickable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-card--active{border:var(--wf-border-width) solid var(--wf-color-primary);background:var(--wf-color-primary-bg)}.wf-carousel{position:relative;overflow:hidden;border-radius:var(--wf-radius);font-family:var(--wf-font-sans)}.wf-carousel-viewport{overflow:hidden}.wf-carousel-track{display:flex;transition:transform var(--wf-dur-slow) var(--wf-ease-out)}.wf-carousel-track>*{flex:0 0 100%}.wf-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:var(--wf-z-sticky);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;max-height:32px;padding:0;line-height:0;border:none;border-radius:50%;background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);cursor:pointer;box-shadow:var(--wf-shadow-sm);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-carousel-arrow:hover{background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-carousel-arrow:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-carousel-arrow--prev{left:var(--wf-space)}.wf-carousel-arrow--next{right:var(--wf-space)}.wf-carousel-dots{position:absolute;bottom:var(--wf-space);left:0;right:0;display:flex;align-items:center;justify-content:center;width:fit-content;margin:0 auto;gap:var(--wf-gap-xs);z-index:1}.wf-carousel-dot{flex:0 0 8px;width:8px;height:8px;min-height:8px;max-height:8px;padding:0;line-height:8px;border:none;border-radius:50%;box-sizing:border-box;background:var(--wf-color-bg-secondary);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-snap)}.wf-carousel-dot:hover{background:var(--wf-color-text-tertiary)}.wf-carousel-dot:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-carousel-dot--active{background:var(--wf-color-primary);transform:scale(1.25)}@media(pointer:coarse){.wf-carousel-arrow{width:44px;height:44px;min-width:44px;min-height:44px}.wf-carousel-dot{position:relative}.wf-carousel-dot:after{content:"";position:absolute;inset:-14px;border-radius:50%}}.wf-cascader-wrap{font-family:var(--wf-font-sans)}.wf-cascader-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);padding:var(--wf-space-sm) var(--wf-space);font-size:var(--wf-font-size-base);font-family:var(--wf-font-sans);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-cascader-trigger:hover{border-color:var(--wf-color-primary)}.wf-cascader-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-cascader-trigger--err{border-color:var(--wf-color-error)}.wf-cascader-trigger--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-cascader-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--wf-font-size-sm)}.wf-cascader-value--placeholder{color:var(--wf-color-text-tertiary)}.wf-cascader-arrow{display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-cascader-arrow--open{transform:rotate(180deg)}.wf-cascader-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);margin-bottom:var(--wf-space-xs)}.wf-cascader-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text);margin-top:var(--wf-space-xs)}.wf-cascader-panel{position:fixed;z-index:var(--wf-z-popover);display:flex;background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs)}.wf-cascader-col{display:flex;flex-direction:column;gap:1px;min-width:var(--wf-cascader-col-width, 120px);max-height:240px;overflow-y:auto}.wf-cascader-col+.wf-cascader-col{border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-cascader-opt{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-cascader-opt:hover,.wf-cascader-opt--active{background:var(--wf-state-hover)}.wf-cascader-opt:active{background:var(--wf-state-pressed)}.wf-cascader-opt:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-cascader-opt--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-cascader-opt-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-cascader-opt-arrow{display:inline-flex;color:var(--wf-color-text-tertiary)}.wf-cascader-search{width:100%;box-sizing:border-box;margin-bottom:var(--wf-gap-xs);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space-sm);font-size:var(--wf-font-size-sm)}.wf-cascader-search-results{max-height:240px;overflow-y:auto;min-width:var(--wf-cascader-search-min-width, 180px)}.wf-cascader-search-item{display:block;width:100%;padding:var(--wf-control-pad-y) var(--wf-space-sm);border:none;background:none;font-family:inherit;font-size:var(--wf-font-size-sm);color:var(--wf-color-text);text-align:left;cursor:pointer;border-radius:var(--wf-radius-sm)}.wf-cascader-search-item:hover{background:var(--wf-color-bg-hover)}.wf-cascader-empty{padding:var(--wf-space-md);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);text-align:center}.wf-cascader-opt--hl{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-chart{position:relative;display:inline-block;font-family:var(--wf-font-sans)}.wf-chart-title{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);margin-bottom:var(--wf-space-sm);text-align:center}.wf-chart svg{display:block}.wf-chart-legend{display:flex;flex-wrap:wrap;gap:var(--wf-gap-sm);justify-content:center;margin-top:var(--wf-space-sm)}.wf-chart-legend-item{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-chart-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.wf-chart-tooltip{position:fixed;z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);pointer-events:none;white-space:nowrap}.wf-chart-tooltip-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-semibold)}.wf-chart-tooltip-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.wf-chart-tooltip-value{opacity:.8}.wf-chat-inputbar{display:flex;gap:var(--wf-gap-sm);align-items:center}.wf-chat-input{flex:1;min-width:0;height:var(--wf-control-height);padding:var(--wf-control-pad-y) var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);background:var(--wf-color-bg)}.wf-chat-input:focus{outline:none;border-color:var(--wf-color-primary)}.wf-chat-input:hover:not(:disabled){border-color:var(--wf-color-primary)}.wf-chat-inputbar textarea.wf-chat-input{height:auto;min-height:var(--wf-control-height);line-height:var(--wf-line-height)}.wf-checkbox{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-checkbox:hover .wf-checkbox-visual,.wf-checkbox:active .wf-checkbox-visual{border-color:var(--wf-color-primary)}.wf-checkbox-input{position:absolute;opacity:0;width:0;height:0}.wf-checkbox-visual{width:16px;height:16px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);background:var(--wf-color-bg)}.wf-checkbox-input:checked+.wf-checkbox-visual{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-checkbox-input:checked+.wf-checkbox-visual:after{content:"\2713";color:var(--wf-color-on-brand);font-size:11px;font-weight:700}.wf-checkbox-input:focus-visible+.wf-checkbox-visual{box-shadow:var(--wf-focus-ring)}.wf-checkbox-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-checkbox-label{color:var(--wf-color-text)}.wf-checkbox-group{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-checkbox-group--cols-2,.wf-checkbox-group--cols-3,.wf-checkbox-group--cols-4{flex-direction:row;flex-wrap:wrap}.wf-checkbox-group--cols-2>*{flex:0 0 calc(50% - var(--wf-gap-sm))}.wf-checkbox-group--cols-3>*{flex:0 0 calc(33.333% - var(--wf-gap-sm))}.wf-checkbox-group--cols-4>*{flex:0 0 calc(25% - var(--wf-gap-sm))}.wf-checkbox-group-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-checkbox-group--sm{font-size:var(--wf-font-size-sm)}.wf-checkbox-group--md{font-size:var(--wf-font-size-base)}.wf-checkbox-group--lg{font-size:var(--wf-font-size-lg)}.wf-citation{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary)}.wf-citation-toggle{display:flex;align-items:center;gap:var(--wf-gap-xs);width:100%;padding:var(--wf-gap-xs) var(--wf-gap-sm);background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);font:inherit;text-align:left}.wf-citation-toggle:hover{color:var(--wf-color-text)}.wf-citation-toggle:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-1px;border-radius:var(--wf-radius)}.wf-citation-chevron{display:inline-flex;color:var(--wf-color-text-secondary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-citation-chevron--open{transform:rotate(180deg)}.wf-citation-count{font-weight:var(--wf-font-weight-medium)}.wf-citation-body{display:flex;flex-direction:column;padding:0 var(--wf-gap-sm) var(--wf-gap-sm);gap:var(--wf-gap-xs)}.wf-citation-item{display:flex;align-items:flex-start;gap:var(--wf-gap-sm);padding:var(--wf-gap-xs);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg)}.wf-citation-idx{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg);border-radius:var(--wf-radius-sm)}.wf-citation-content{flex:1;min-width:0}.wf-citation-title{display:flex;align-items:baseline;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);word-break:break-word}.wf-citation-source{font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-normal);color:var(--wf-color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-citation-snippet{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wf-citation-link{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;color:var(--wf-color-text-tertiary);cursor:pointer;text-decoration:none;border-radius:var(--wf-radius-sm)}.wf-citation-link:hover{color:var(--wf-color-primary-text)}.wf-citation-link:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-citation-more{justify-content:center;cursor:pointer;color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium);border-style:dashed}.wf-citation-more:hover{background:var(--wf-color-primary-bg)}@media(pointer:coarse){.wf-citation-item{min-height:44px;align-items:center}.wf-citation-toggle{min-height:44px}}.wf-codeblock{margin:0 0 var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg-secondary);font-family:var(--wf-font-mono)}.wf-codeblock-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-xs) var(--wf-space-sm);background:var(--wf-color-bg-tertiary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-codeblock-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);display:flex;align-items:center;gap:var(--wf-gap-xs)}.wf-codeblock-lang{display:inline-flex;align-items:center;gap:var(--wf-space-sm)}.wf-codeblock-dot{width:8px;height:8px;border-radius:50%;background:var(--wf-color-primary)}.wf-codeblock-copy{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);padding:var(--wf-space-xs);border-radius:var(--wf-radius-xs)}.wf-codeblock-copy:hover{color:var(--wf-color-text);background:var(--wf-color-bg)}.wf-codeblock-copy:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-codeblock-pre{margin:0;padding:var(--wf-space-sm) var(--wf-space-md);overflow-x:auto;font-size:var(--wf-font-size-xs);line-height:1.6}.wf-codeblock-code{font-family:inherit;white-space:pre}.wf-hl-comment{color:var(--wf-color-success-text);font-style:italic}.wf-hl-string{color:var(--wf-color-warning-text)}.wf-hl-keyword{color:var(--wf-color-primary-text);font-weight:500}.wf-hl-number{color:var(--wf-color-info-text)}.wf-hl-function{color:var(--wf-color-primary-text)}.wf-hl-jsx-tag{color:var(--wf-color-error-text)}.wf-hl-operator{color:var(--wf-color-text-tertiary)}.wf-codeeditor{width:100%}.wf-codeeditor-area{width:100%;color:transparent;caret-color:var(--wf-color-text)}.wf-codeeditor-area::placeholder{color:var(--wf-color-text-tertiary)}.wf-codeeditor-gutter{border-right:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-codeeditor-body{position:relative;min-width:0}.wf-collapse{display:flex;flex-direction:column;font-family:var(--wf-font-sans)}.wf-collapse-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-collapse-item:last-child{border-bottom:none}.wf-collapse-header{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space) var(--wf-space-sm);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);cursor:pointer;border-radius:var(--wf-radius-sm);font-family:var(--wf-font-sans)}.wf-collapse-header:hover{background:var(--wf-color-bg-tertiary)}.wf-collapse-header:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-collapse-chevron{display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-collapse-chevron--open{transform:rotate(180deg)}.wf-collapse-title{flex:1;min-width:0}.wf-collapse-extra{color:var(--wf-color-text-secondary);font-weight:var(--wf-font-weight-normal)}.wf-collapse-content{padding:0 var(--wf-space-sm) var(--wf-space) var(--wf-space-lg);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-collapse-loading{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);color:var(--wf-color-text-tertiary);animation:wf-collapse-spin var(--wf-dur-spin) linear infinite}@keyframes wf-collapse-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wf-color-picker-trigger{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-xs) var(--wf-space-sm);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-trigger:hover{border-color:var(--wf-color-primary)}.wf-color-picker-trigger:active{transform:scale(.98)}.wf-color-picker-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-color-picker-trigger--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed;pointer-events:none}.wf-color-picker-swatch{display:inline-block;width:16px;height:16px;border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);flex-shrink:0}.wf-color-picker-value{font-variant-numeric:tabular-nums;font-size:var(--wf-font-size-xs)}.wf-color-picker-trigger--sm{padding:2px var(--wf-space-sm);font-size:var(--wf-font-size-xs);min-height:28px}.wf-color-picker-trigger--lg{padding:var(--wf-space-sm) var(--wf-space-md);font-size:var(--wf-font-size-base);min-height:40px}.wf-color-picker-panel{padding:var(--wf-space);font-family:var(--wf-font-sans)}.wf-color-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--wf-gap-xs)}.wf-color-picker-grid .wf-color-picker-swatch{position:relative;width:22px;height:22px;min-width:22px;max-width:22px;min-height:22px;max-height:22px;padding:0;border:none;border-radius:var(--wf-radius-sm);cursor:pointer;box-shadow:0 0 0 1px var(--wf-color-border);transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-grid .wf-color-picker-swatch:hover{transform:scale(1.15)}.wf-color-picker-grid .wf-color-picker-swatch:active{transform:scale(.92)}.wf-color-picker-grid .wf-color-picker-swatch:focus-visible{outline:none;box-shadow:0 0 0 2px var(--wf-color-primary)}.wf-color-picker-check{position:absolute;inset:0;margin:auto;color:var(--wf-color-on-brand);mix-blend-mode:difference;pointer-events:none}.wf-color-picker-grid .wf-color-picker-swatch--sel{box-shadow:0 0 0 2px var(--wf-color-primary)}.wf-color-picker-input{width:100%;margin-top:var(--wf-space);box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);padding:var(--wf-space-xs) var(--wf-space-sm);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-bg);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-command-panel{width:min(520px,90vw);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);overflow:hidden;font-family:var(--wf-font-sans);animation:wf-command-in var(--wf-dur-base) var(--wf-ease-out);margin-top:-12vh}@keyframes wf-command-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.wf-command-input-wrap{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text-tertiary)}.wf-command-input{flex:1;border:none;outline:none;background:none;font-size:var(--wf-font-size-base);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-command-list{max-height:320px;overflow-y:auto;padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-command-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-command-item:hover,.wf-command-item--hl{background:var(--wf-color-bg-tertiary)}.wf-command-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-command-item-label{flex:1}.wf-command-shortcut{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);padding:1px var(--wf-space-sm);font-family:var(--wf-font-sans)}.wf-command-empty{padding:var(--wf-space-xl);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-context-menu-trigger{display:inline-block;width:fit-content}.wf-context-menu{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-context-menu-min-width, 160px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);font-family:var(--wf-font-sans);display:flex;flex-direction:column;gap:1px}.wf-context-menu-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-context-menu-item:hover,.wf-context-menu-item--hl{background:var(--wf-state-hover)}.wf-context-menu-item:active{background:var(--wf-state-pressed)}.wf-context-menu-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-context-menu-item--danger{color:var(--wf-color-error-text)}.wf-context-menu-item--danger:hover,.wf-context-menu-item--danger.wf-context-menu-item--hl{background:var(--wf-color-error-bg)}.wf-context-menu-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-context-menu-item--dis:hover{background:none}.wf-copy-btn{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);border:none;border-radius:var(--wf-radius-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-copy-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-copy-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-copy-btn--copied{color:var(--wf-color-success-text)}.wf-copy-btn--ghost,.wf-copy-btn--secondary{padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-copy-btn--default{background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-copy-btn--sm{padding:2px var(--wf-space-xs)}.wf-copy-btn--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-datepicker{position:relative;display:inline-block;width:100%}.wf-datepicker-input{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;width:100%;cursor:pointer;box-sizing:border-box}.wf-datepicker-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-datepicker--disabled .wf-datepicker-input{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-datepicker-dropdown{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-datepicker-width, 260px);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;max-width:calc(100vw - 32px)}.wf-datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--wf-space)}.wf-datepicker-header-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-datepicker-header-btn{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-space-xs) var(--wf-space-sm);border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text-secondary);cursor:pointer}.wf-datepicker-header-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--wf-space-xs)}.wf-datepicker-weekday{text-align:center;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);padding:var(--wf-space-xs) 0}.wf-datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.wf-datepicker-cell{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border-radius:var(--wf-radius-sm);cursor:pointer;border:none;background:transparent}.wf-datepicker-cell:hover{background:var(--wf-color-bg-tertiary)}.wf-datepicker-cell--other-month{color:var(--wf-color-text-disabled)}.wf-datepicker-cell--today{font-weight:var(--wf-font-weight-bold);box-shadow:inset 0 0 0 1px var(--wf-color-border-dark)}.wf-datepicker-cell--selected{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-datepicker-cell--in-range{background:var(--wf-color-primary-bg);border-radius:0}.wf-datepicker-cell--range-edge{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-datepicker-range-wrap{position:fixed;z-index:var(--wf-z-popover);display:flex;gap:var(--wf-space);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;width:max-content;max-width:calc(100vw - 32px)}.wf-datepicker-range-panel{min-width:var(--wf-datepicker-time-width, 240px);flex-shrink:0}.wf-time-picker{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-datepicker-range-width, 200px);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;max-width:calc(100vw - 32px)}.wf-time-body{display:flex;gap:var(--wf-space-lg);justify-content:center;padding:var(--wf-space) 0;overflow-x:auto}.wf-time-col{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-xs)}.wf-time-col-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-time-opt-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.wf-time-opt{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);padding:2px 12px;border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text);cursor:pointer;text-align:center}.wf-time-opt:hover{background:var(--wf-color-bg-tertiary)}.wf-time-opt--selected{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-time-footer{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);padding-top:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-datetime-time{display:flex;align-items:center;gap:var(--wf-gap-sm);margin-top:var(--wf-space);padding-top:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-datetime-time-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-datetime-time-select{display:flex;align-items:center;gap:2px}.wf-datetime-select{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:2px 4px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-elevated);color:var(--wf-color-text);outline:none;cursor:pointer}.wf-datetime-sep{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);padding:0 2px}@media(max-width:639.98px){.wf-datepicker-range-wrap{flex-direction:column;max-height:80vh;overflow-y:auto}}.wf-datepicker-input--err{border-color:var(--wf-color-error)}.wf-datepicker-input--err:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-descriptions{display:grid;gap:var(--wf-space-sm) var(--wf-space-md);margin:0;font-family:var(--wf-font-sans)}.wf-descriptions--1{grid-template-columns:repeat(1,1fr)}.wf-descriptions--2{grid-template-columns:repeat(2,1fr)}.wf-descriptions--3{grid-template-columns:repeat(3,1fr)}.wf-descriptions--4{grid-template-columns:repeat(4,1fr)}.wf-descriptions-item{display:flex;flex-direction:column;gap:2px;min-width:0}.wf-descriptions-label{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);font-weight:var(--wf-font-weight-medium)}.wf-descriptions-value{margin:0;font-size:var(--wf-font-size-sm);color:var(--wf-color-text);word-break:break-word}.wf-descriptions--bordered{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);gap:0;overflow:hidden}.wf-descriptions--bordered .wf-descriptions-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-sm) var(--wf-space-md);border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-descriptions--bordered .wf-descriptions-item:nth-child(n):last-child{border-bottom:none}.wf-descriptions--sm .wf-descriptions-value{font-size:var(--wf-font-size-xs)}.wf-descriptions--lg .wf-descriptions-value{font-size:var(--wf-font-size-base)}.wf-diffview{display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;min-width:0}.wf-diffview-header{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);background:var(--wf-color-fill);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-xs);flex-shrink:0}.wf-diffview-title--old{color:var(--wf-color-error-text)}.wf-diffview-title--new{color:var(--wf-color-success-text)}.wf-diffview-arrow{color:var(--wf-color-text-tertiary)}.wf-diffview-body{overflow:auto;max-height:480px;padding:var(--wf-space-sm) 0}.wf-diffview-row{display:flex;gap:var(--wf-gap-sm);padding:0 var(--wf-space);white-space:pre}.wf-diffview-sign{width:14px;flex-shrink:0;user-select:none;color:var(--wf-color-text-tertiary)}.wf-diffview-line{min-width:0;overflow:visible}.wf-diffview-row--add{background:var(--wf-color-success-bg)}.wf-diffview-row--add .wf-diffview-sign{color:var(--wf-color-success-text)}.wf-diffview-row--remove{background:var(--wf-color-error-bg)}.wf-diffview-row--remove .wf-diffview-sign{color:var(--wf-color-error-text)}.wf-diffview-fold{display:flex;align-items:center;justify-content:center;margin:2px 12px;padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);cursor:pointer;background:var(--wf-color-bg-subtle);user-select:none;min-height:28px}.wf-diffview-fold:hover{background:var(--wf-color-fill)}.wf-diffview-overflow{padding:var(--wf-space-sm) var(--wf-space);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);text-align:center}.wf-divider{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0;height:0}.wf-divider--vertical{display:inline-block;width:0;height:1em;margin:0 var(--wf-space-sm);border-top:none;border-left:var(--wf-border-width) solid var(--wf-color-border);vertical-align:middle}.wf-divider--with-text{display:flex;align-items:center;border:none;height:auto;gap:var(--wf-gap-md)}.wf-divider--with-text:before,.wf-divider--with-text:after{content:"";flex:1;border-top:var(--wf-border-width) solid var(--wf-color-border)}.wf-divider-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);white-space:nowrap;flex-shrink:0}.wf-drawer{position:fixed;inset:0;z-index:var(--wf-z-modal);display:flex}.wf-drawer--left{justify-content:flex-start}.wf-drawer--right{justify-content:flex-end}.wf-drawer-overlay{position:absolute;inset:0;background:var(--wf-overlay);backdrop-filter:blur(var(--wf-overlay-blur));-webkit-backdrop-filter:blur(var(--wf-overlay-blur))}.wf-drawer--enter .wf-drawer-overlay{animation:wf-drawer-overlay-fadein var(--wf-dur-fast) var(--wf-ease-out)}.wf-drawer--exit .wf-drawer-overlay{animation:wf-drawer-overlay-fadeout var(--wf-dur-fast) var(--wf-ease-in) forwards}@keyframes wf-drawer-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-drawer-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-drawer-panel{position:relative;display:flex;flex-direction:column;width:var(--wf-drawer-width, 360px);max-width:100vw;height:100%;background:var(--wf-color-bg-elevated);box-shadow:var(--wf-shadow-lg)}.wf-drawer--enter .wf-drawer-panel{animation:wf-drawer-slidein var(--wf-dur-base) var(--wf-ease-out)}.wf-drawer--enter .wf-drawer-panel--right{animation-name:wf-drawer-slidein-right}.wf-drawer--enter .wf-drawer-panel--left{animation-name:wf-drawer-slidein-left}.wf-drawer--exit .wf-drawer-panel{animation:wf-drawer-slideout var(--wf-dur-base) var(--wf-ease-in) forwards}.wf-drawer--exit .wf-drawer-panel--right{animation-name:wf-drawer-slideout-right}.wf-drawer--exit .wf-drawer-panel--left{animation-name:wf-drawer-slideout-left}@keyframes wf-drawer-slidein-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes wf-drawer-slidein-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes wf-drawer-slideout-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes wf-drawer-slideout-left{0%{transform:translate(0)}to{transform:translate(-100%)}}.wf-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);flex-shrink:0}.wf-drawer-close{border:none;background:transparent;color:var(--wf-color-text-tertiary);cursor:pointer;padding:var(--wf-space-xs);font-size:16px;line-height:1;border-radius:var(--wf-radius-sm)}.wf-drawer-close:hover{color:var(--wf-color-text);background:var(--wf-color-bg-secondary)}.wf-drawer-body{flex:1;overflow-y:auto;padding:var(--wf-space-md)}.wf-drawer-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--wf-gap-sm);padding:var(--wf-space-md);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(max-width:639.98px){.wf-drawer-panel{width:100vw;max-width:100vw}}.wf-drop-zone--disabled{cursor:not-allowed}.wf-dropdown{display:inline-block;width:fit-content}.wf-dropdown-menu{position:fixed;min-width:var(--wf-dropdown-min-width, 140px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-md);z-index:var(--wf-z-dropdown);padding:var(--wf-space-xs) 0;animation:wf-dropdown-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}.wf-dropdown--open{z-index:var(--wf-z-dropdown)}.wf-dropdown-item{display:block;width:100%;text-align:left;padding:var(--wf-space-sm) var(--wf-space-md);border:none;background:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;white-space:nowrap;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-dropdown-item:hover{background:var(--wf-state-hover)}.wf-dropdown-item:active{background:var(--wf-state-pressed)}.wf-dropdown-item:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-dropdown-item--danger{color:var(--wf-color-error-text)}@keyframes wf-dropdown-in{0%{opacity:0}to{opacity:1}}.wf-dropdown-item--hl{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-editor{position:relative;display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);overflow:hidden;transition:border-color var(--wf-transition),box-shadow var(--wf-transition)}.wf-editor:focus-within{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-editor--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed;background:var(--wf-color-bg-secondary)}.wf-editor-toolbar{display:flex;align-items:center;gap:2px;padding:var(--wf-space-xs) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary);flex-wrap:wrap;user-select:none}.wf-editor-tb-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--wf-space-xs);border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-editor-tb-btn:hover{background:var(--wf-color-bg-tertiary)}.wf-editor-tb-btn--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-editor-tb-btn--active:hover{background:var(--wf-color-primary-bg)}.wf-editor-tb-btn--link{font-size:var(--wf-font-size-base)}.wf-editor-tb-sep{display:inline-block;width:1px;height:20px;margin:0 var(--wf-space-xs);background:var(--wf-color-border)}.wf-editor-content{padding:var(--wf-control-pad-y) var(--wf-space);min-height:200px;outline:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text);overflow-y:auto}.wf-editor-content--disabled{pointer-events:none}.wf-editor-content--has-placeholder:empty:before{content:attr(data-placeholder);color:var(--wf-color-text-tertiary);pointer-events:none}.wf-editor-content h1{font-size:var(--wf-font-size-2xl);font-weight:var(--wf-font-weight-bold);margin:.5em 0 .25em;line-height:1.3}.wf-editor-content h2{font-size:var(--wf-font-size-xl);font-weight:var(--wf-font-weight-bold);margin:.5em 0 .25em;line-height:1.3}.wf-editor-content h3{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold);margin:.4em 0 .2em;line-height:1.3}.wf-editor-content ul,.wf-editor-content ol{padding-left:1.5em;margin:.25em 0}.wf-editor-content li{margin:.15em 0}.wf-editor-content a{color:var(--wf-color-primary-text);text-decoration:underline}.wf-editor-content blockquote{margin:.5em 0;padding:var(--wf-space-xs) var(--wf-space);border-left:3px solid var(--wf-color-primary);background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);font-style:italic}.wf-editor-content hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:.75em 0}.wf-editor-content[style*="text-align: center"]{text-align:center}.wf-editor-content[style*="text-align: right"]{text-align:right}.wf-editor-source{display:block;width:100%;min-height:200px;padding:var(--wf-control-pad-y) var(--wf-space);border:none;outline:none;font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;color:var(--wf-color-text);background:var(--wf-color-bg-secondary);resize:vertical;tab-size:2}.wf-editor-source:focus{background:var(--wf-color-bg)}.wf-editor-link-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-sm) var(--wf-space-md);min-width:var(--wf-editor-popup-min, 260px);max-width:var(--wf-editor-popup-max, 340px);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-editor-link-panel-title{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-editor-link-panel-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs)}.wf-editor-link-input{display:block;width:100%;box-sizing:border-box;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);outline:none;background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-editor-link-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-editor-img-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-space-xs);padding:var(--wf-space-lg) var(--wf-space);cursor:pointer;text-align:center}.wf-editor-img-zone-icon{font-size:28px;line-height:1}.wf-editor-img-zone-text{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-editor-img-or{display:block;text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-editor-content img{max-width:100%;height:auto;border-radius:var(--wf-radius-sm);margin:.5em 0}.wf-editor-table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:var(--wf-font-size-sm)}.wf-editor-table th,.wf-editor-table td{border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm);vertical-align:top;min-width:40px}.wf-editor-table tbody tr:nth-child(2n){background:var(--wf-color-bg-secondary)}.wf-editor-table-picker{z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space-sm);box-shadow:var(--wf-shadow-lg)}.wf-editor-table-grid{display:flex;flex-direction:column;gap:2px}.wf-editor-table-grid-row{display:flex;gap:2px}.wf-editor-table-grid-cell{width:18px;height:18px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-xs);cursor:pointer;background:var(--wf-color-bg);transition:background var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-editor-table-grid-cell:hover,.wf-editor-table-grid-cell--active{background:var(--wf-color-primary-bg);border-color:var(--wf-color-primary)}.wf-editor-table-picker-label{text-align:center;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);margin-top:var(--wf-space-xs);padding-top:var(--wf-space-xs);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(pointer:coarse){.wf-editor-toolbar button{min-height:44px;min-width:44px}}.wf-editor-ai-bar{display:inline-flex;align-items:center}.wf-editor-tb-btn--ai{color:var(--wf-color-primary-text)}.wf-editor-tb-btn--ai:hover{background:var(--wf-color-primary-bg)}.wf-editor-ai-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-sm) var(--wf-space-md);min-width:var(--wf-editor-popup-min, 260px);max-width:var(--wf-editor-popup-max, 420px);max-height:300px;display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-editor-ai-panel-head{display:flex;justify-content:space-between;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-editor-ai-panel-status{font-weight:400;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}.wf-editor-ai-panel-body{font-size:var(--wf-font-size-sm);color:var(--wf-color-text);white-space:pre-wrap;overflow-y:auto;max-height:200px;line-height:1.6}.wf-editor-ai-panel-error{font-size:var(--wf-font-size-sm);color:var(--wf-color-error-text)}.wf-editor-ai-panel-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs)}.wf-editor-hist-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-xs);min-width:var(--wf-editor-popup-min, 220px);max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.wf-editor-hist-empty{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-editor-hist-item{display:flex;justify-content:space-between;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-xs) var(--wf-space-sm);border:none;background:transparent;border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;text-align:left;width:100%}.wf-editor-hist-item:hover{background:var(--wf-color-bg-hover)}.wf-editor-hist-item--current{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-editor-hist-item--redo .wf-editor-hist-label{color:var(--wf-color-text-tertiary)}.wf-editor-hist-time{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-editor-ai-diff{white-space:pre-wrap}.wf-editor-ai-diff-del{color:var(--wf-color-error-text);text-decoration:line-through;opacity:.7}.wf-editor-ai-diff-ins{color:var(--wf-color-success-text);background:var(--wf-color-success-bg);border-radius:2px}.wf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-sm);padding:var(--wf-space-2xl) var(--wf-space-lg);text-align:center}.wf-empty-icon{font-size:48px;line-height:1;margin-bottom:var(--wf-gap-xs)}.wf-empty-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary)}.wf-empty-hint{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);max-width:320px;line-height:var(--wf-line-height)}.wf-empty-action{margin-top:var(--wf-gap-sm)}.wf-field{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-field-label,.wf-input-label,.wf-select-label,.wf-textarea-label,.wf-slider-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-field-req,.wf-input-req,.wf-select-req,.wf-textarea-req{color:var(--wf-color-error-text);margin-left:2px}.wf-field-err,.wf-input-err,.wf-select-err,.wf-textarea-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-field-hint,.wf-input-hint,.wf-textarea-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-field--err .wf-field-label{color:var(--wf-color-error-text)}.wf-filepreview{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-filepreview-name{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);padding-bottom:var(--wf-space-xs);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-filepreview-doc{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg);padding:var(--wf-space-md);overflow:auto}.wf-filepreview-frame{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg)}.wf-filepreview-iframe{display:block}.wf-filepreview-empty{border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-md);padding:var(--wf-space-lg);text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-filepreview-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--wf-gap-sm)}.wf-filepreview-actions-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-filepreview-error{color:var(--wf-color-error-text);border-color:var(--wf-color-error-text)}.wf-filepreview-dirty{font-size:var(--wf-font-size-xs);color:var(--wf-color-warning-text)}.wf-filepreview-name:hover{color:var(--wf-color-text-secondary)}.wf-filetree{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;font-size:var(--wf-font-size-base);background:var(--wf-color-bg)}.wf-filetree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-filetree-path{display:flex;align-items:center;gap:var(--wf-gap-xs);min-width:0;overflow:hidden;white-space:nowrap}.wf-filetree-crumb-wrap{display:inline-flex;align-items:center;gap:var(--wf-gap-xs)}.wf-filetree-crumb{border:none;background:none;padding:var(--wf-space-xs) var(--wf-gap-xs);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;border-radius:var(--wf-radius-sm);transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-filetree-crumb:hover{background:var(--wf-state-hover);color:var(--wf-color-text)}.wf-filetree-crumb:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-filetree-sep{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-filetree-actions{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-shrink:0}.wf-filetree-list{max-height:320px;overflow:auto;padding:var(--wf-space-xs)}.wf-filetree-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;border:none;background:none;padding:var(--wf-space-sm);border-radius:var(--wf-radius);cursor:pointer;text-align:left;font-size:var(--wf-font-size-base);color:var(--wf-color-text);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-filetree-item:hover{background:var(--wf-state-hover)}.wf-filetree-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-filetree-dir{color:var(--wf-color-primary-text)}.wf-filetree-file{color:var(--wf-color-text-tertiary)}.wf-filetree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-filetree-meta{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-filetree-empty{padding:var(--wf-space-xl) var(--wf-space);text-align:center;font-size:var(--wf-font-size-base)}.wf-filetree-editor{padding:var(--wf-space)}.wf-filetree-editor-head{display:flex;align-items:center;gap:var(--wf-gap-sm);margin-bottom:var(--wf-gap-sm)}.wf-filetree-filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium)}.wf-filetree-editor-area{width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space-sm);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;resize:vertical;background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-filetree-preview{margin:0;padding:var(--wf-space-sm);max-height:280px;overflow:auto;font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius);white-space:pre-wrap;word-break:break-all}.wf-upload{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-xs);padding:var(--wf-space-lg);border:2px dashed var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-secondary);cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);min-height:120px}.wf-upload-zone:hover{border-color:var(--wf-color-primary);background:var(--wf-color-bg)}.wf-upload-zone--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-upload-zone--err{border-color:var(--wf-color-error)}.wf-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-xs)}.wf-upload-icon{font-size:24px;line-height:1}.wf-upload-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-upload-hint{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-upload-item{justify-content:space-between;padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary)}.wf-upload-item-info{display:flex;align-items:center;gap:var(--wf-gap-md);min-width:0}.wf-upload-item-name{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-upload-item-size{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-upload-err{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-upload-thumb{width:36px;height:36px;object-fit:cover;border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);flex-shrink:0;background:var(--wf-color-bg)}.wf-upload-item-remove{margin-left:auto;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0}.wf-upload-item-remove:hover{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-upload-progress{height:4px;border-radius:var(--wf-radius-xs);background:var(--wf-color-bg-tertiary);overflow:hidden;margin-top:var(--wf-space-sm)}.wf-upload-progress-fill{height:100%;background:var(--wf-color-primary);border-radius:var(--wf-radius-xs);transition:width var(--wf-dur-fast) var(--wf-ease-out)}.wf-upload-zone--drag{border-color:var(--wf-color-primary);background:var(--wf-color-bg);box-shadow:var(--wf-focus-ring)}.wf-float-btn{display:flex;align-items:center;justify-content:center;gap:var(--wf-space-xs);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:var(--wf-shadow-lg);cursor:pointer;z-index:var(--wf-z-sticky);font-family:var(--wf-font-sans);font-size:16px;transition:transform var(--wf-dur-fast) var(--wf-ease-standard),background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-float-btn:hover{transform:scale(1.05);background:var(--wf-color-primary)}.wf-float-btn--disabled{background:var(--wf-color-text-disabled);cursor:not-allowed;opacity:.7}.wf-float-btn--top-left{top:24px;left:24px}.wf-float-btn--top-right{top:24px;right:24px}.wf-float-btn--bottom-left{bottom:24px;left:24px}.wf-float-btn--bottom-right{bottom:24px;right:24px}.wf-float-btn-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 var(--wf-space-xs);border-radius:50%;background:var(--wf-color-error);color:var(--wf-color-on-brand);font-size:11px;line-height:18px;text-align:center}.wf-float-group{position:fixed;z-index:var(--wf-z-sticky);display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-md)}.wf-float-group--bottom-right{bottom:24px;right:24px}.wf-float-group--bottom-left{bottom:24px;left:24px}.wf-float-group--top-right{top:24px;right:24px}.wf-float-group--top-left{top:24px;left:24px}.wf-float-group-items{display:flex;flex-direction:column;gap:var(--wf-space-sm)}.wf-float-group-item{animation:wf-float-item-in var(--wf-dur-md) var(--wf-ease-standard)}@keyframes wf-float-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wf-float-group-main{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:var(--wf-shadow-lg);cursor:pointer;font-size:var(--wf-font-size-xl);font-family:var(--wf-font-sans)}.wf-float-group-icon{display:inline-block;transition:transform var(--wf-dur-md) var(--wf-ease-standard)}.wf-float-group-icon.is-open{transform:rotate(45deg)}.wf-float-btn--static{position:static;box-shadow:var(--wf-shadow-md)}.wf-form{display:flex;flex-direction:column;gap:var(--wf-gap-md)}.wf-grid-comp{display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box}.wf-grid-comp--column{flex-direction:column}.wf-grid-comp--flex{display:flex;flex-wrap:wrap}.wf-col{box-sizing:border-box;min-width:0}.wf-highlight-mark{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text);border-radius:var(--wf-radius-xs);padding:0 1px;font-weight:var(--wf-font-weight-semibold)}.wf-hover-card-wrap{display:inline-block;width:fit-content}.wf-hover-card{position:fixed;z-index:var(--wf-z-tooltip);max-width:320px;background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);opacity:1;transition:opacity var(--wf-dur-base) var(--wf-ease-out)}.wf-hover-card--hidden{opacity:0;pointer-events:none}.wf-icon{display:inline-block;flex-shrink:0;vertical-align:-.125em}.wf-imagecropper{display:inline-block}.wf-image{display:inline-block;max-width:100%}.wf-img-preview-wrap{display:inline-block}.wf-img-preview-trigger{display:inline-block;padding:0;border:none;background:none;cursor:zoom-in;line-height:0}.wf-img-preview-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-img-preview-image{transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);border-radius:var(--wf-radius-md)}.wf-inview{width:100%}.wf-inview-placeholder{display:flex;align-items:center;justify-content:center;min-height:100px;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-md);border:var(--wf-border-width) dashed var(--wf-color-border);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-inview-placeholder:after{content:"\6eda\52a8\5230\6b64\5904\52a0\8f7d\5185\5bb9"}.wf-infinite-scroll{font-family:var(--wf-font-sans)}.wf-infinite-scroll-sentinel{height:1px}.wf-infinite-scroll-loading,.wf-infinite-scroll-end{padding:var(--wf-space-md);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-input-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-input{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out);width:100%}.wf-input:hover:not(:disabled){border-color:var(--wf-color-border-dark)}.wf-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-input:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-input--borderless{border-color:transparent;background:transparent;box-shadow:none;padding-left:var(--wf-space-xs);padding-right:var(--wf-space-xs)}.wf-input--borderless:hover{border-color:var(--wf-color-border);background:var(--wf-color-bg)}.wf-input--borderless:focus{border-color:var(--wf-color-primary);background:var(--wf-color-bg)}.wf-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-input--err .wf-input{border-color:var(--wf-color-error)}.wf-input--err .wf-input:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-input[type=number]{-moz-appearance:textfield}.wf-input[type=number]::-webkit-inner-spin-button,.wf-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wf-inputnumber-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs);width:100%}.wf-inputnumber{display:flex;align-items:stretch;width:100%;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);min-height:36px;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-inputnumber:focus-within{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-inputnumber--err{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-inputnumber--disabled{opacity:.6}.wf-inputnumber-input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:0 var(--wf-space-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);width:100%}.wf-inputnumber-btns{display:flex;flex-direction:column;border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-inputnumber-btn{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);padding:2px var(--wf-space-sm);min-height:18px}.wf-inputnumber-btn:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-inputnumber-btn:first-child{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-inputnumber-btn:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-inputnumber-btn:disabled{cursor:not-allowed}.wf-inputnumber-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-inputnumber-req{color:var(--wf-color-error-text);margin-left:2px}.wf-inputnumber-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-inputnumber-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-json-viewer{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-sm);padding:var(--wf-space-sm);overflow-x:auto;line-height:1.6}.wf-json-node{padding-left:0}.wf-json-row{display:flex;align-items:center;gap:var(--wf-gap-xs);white-space:nowrap;border-radius:var(--wf-radius-sm)}.wf-json-row:hover{background:var(--wf-color-bg-tertiary)}.wf-json-children{padding-left:var(--wf-space-sm);border-left:var(--wf-border-width) solid var(--wf-color-border);margin-left:var(--wf-space-xs)}.wf-json-key{color:var(--wf-color-text-secondary)}.wf-json-toggle-placeholder{width:16px;flex-shrink:0;display:inline-flex}.wf-json-toggle{width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0}.wf-json-toggle:hover{color:var(--wf-color-text)}.wf-json-toggle:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-json-summary,.wf-json-node-summary{color:var(--wf-color-text-tertiary)}.wf-json-more{padding-left:var(--wf-space-lg);color:var(--wf-color-warning-text);font-size:var(--wf-font-size-xs)}.wf-json-copy{width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0;opacity:0}.wf-json-row:hover .wf-json-copy{opacity:1}.wf-json-copy:hover{color:var(--wf-color-primary-text)}.wf-json-copy:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);opacity:1}.wf-json-string{color:var(--wf-color-success-text)}.wf-json-number{color:var(--wf-color-primary-text)}.wf-json-boolean{color:var(--wf-color-warning-text)}.wf-json-null{color:var(--wf-color-text-tertiary);font-style:italic}.wf-json-collapse,.wf-json-row--header{cursor:pointer}.wf-json-collapse:hover,.wf-json-row--header:hover{background:var(--wf-color-bg-tertiary)}.wf-json-collapse:focus-visible,.wf-json-row--header:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}@media(pointer:coarse){.wf-json-toggle,.wf-json-copy{width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;padding:var(--wf-space-xs)}}.wf-jsf{display:flex;flex-direction:column;gap:var(--wf-gap-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-jsf-title{font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-jsf-obj{display:flex;flex-direction:column;gap:var(--wf-gap-md);padding-left:var(--wf-gap-md);border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-jsf-obj-title{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-jsf-arr{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-jsf-arr-item{display:flex;align-items:center;gap:var(--wf-gap-sm)}.wf-jsf-arr-item>:first-child{flex:1}.wf-jsf-arr-add,.wf-jsf-arr-del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;max-width:28px;min-height:28px;max-height:28px;padding:0;line-height:0;flex-shrink:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary);cursor:pointer;transition:var(--wf-transition)}.wf-jsf-arr-add:hover,.wf-jsf-arr-del:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-jsf-arr-add:focus-visible,.wf-jsf-arr-del:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-jsf-submit{align-self:flex-start;margin-top:var(--wf-gap-xs)}.wf-kanban{display:flex;gap:var(--wf-gap-md);align-items:flex-start;overflow-x:auto;padding:var(--wf-space-xs)}.wf-kanban-col{flex:1 1 220px;min-width:var(--wf-kanban-col-min-width);max-width:var(--wf-kanban-col-max-width);background:var(--wf-color-bg-subtle);border-radius:var(--wf-radius-md);border:var(--wf-border-width) solid var(--wf-color-border);display:flex;flex-direction:column;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-kanban-col:hover{border-color:var(--wf-color-primary);border-style:dashed}.wf-kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-sm) var(--wf-space);font-weight:600;font-size:var(--wf-font-size-sm)}.wf-kanban-col-count{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-fill);border-radius:50%;padding:1px 8px}.wf-kanban-col-body{padding:0 var(--wf-space-sm) var(--wf-space-sm);display:flex;flex-direction:column;gap:var(--wf-gap-sm);min-height:40px}.wf-kanban-card{background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);padding:var(--wf-space-sm) var(--wf-space);cursor:grab;display:flex;align-items:center;gap:var(--wf-gap-sm);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-kanban-card:hover{border-color:var(--wf-color-primary)}.wf-kanban-card:active{cursor:grabbing}.wf-kanban-card[aria-grabbed=true]{opacity:.4}.wf-kanban-card-title{font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);min-width:0}.wf-kanban-tag{font-size:var(--wf-font-size-xs);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg);border-radius:var(--wf-radius-xs);padding:1px var(--wf-space-sm);flex-shrink:0}.wf-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);margin-bottom:var(--wf-space-xs)}.wf-label-req{color:var(--wf-color-error-text)}.wf-layout{display:flex;width:100%;min-height:100%;background:var(--wf-color-bg);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-layout--column{flex-direction:column}.wf-layout--row{flex-direction:row}.wf-layout-sider{display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow:hidden;background:var(--wf-color-bg-secondary);border-right:var(--wf-border-width) solid var(--wf-color-border);transition:width var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider--collapsed{border-right:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-layout-sider-body{flex:1;overflow-y:auto;min-height:0}.wf-layout-sider-trigger{display:flex;align-items:center;justify-content:center;width:100%;height:40px;flex-shrink:0;border:none;border-top:var(--wf-border-width) solid var(--wf-color-border-light);background:transparent;color:var(--wf-color-text-secondary);cursor:pointer;font-size:var(--wf-font-size-xs);transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider-trigger:hover{background:var(--wf-color-bg-hover)}.wf-layout-sider-trigger-icon{display:inline-block;transition:transform var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider-trigger-icon.is-collapsed{transform:rotate(180deg)}.wf-layout-header{display:flex;align-items:center;gap:var(--wf-gap-md);height:var(--wf-layout-header-height);padding:0 var(--wf-space-md);flex-shrink:0;background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-layout-content{flex:1;min-height:0;overflow:auto;padding:var(--wf-space-md)}.wf-layout-footer{padding:var(--wf-space-md);flex-shrink:0;text-align:center;color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);background:var(--wf-color-bg-secondary);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-link{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);text-decoration:underline;text-underline-offset:3px;color:var(--wf-color-primary-text);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);transition:color var(--wf-dur-fast) var(--wf-ease-standard)}.wf-link:hover{color:var(--wf-color-primary-text)}.wf-link--default{color:var(--wf-color-text-secondary)}.wf-link--default:hover{color:var(--wf-color-text)}.wf-link--danger,.wf-link--danger:hover{color:var(--wf-color-error-text)}.wf-link--muted{color:var(--wf-color-text-tertiary);text-decoration:none}.wf-link--muted:hover{color:var(--wf-color-text-secondary)}.wf-link--no-underline{text-decoration:none}.wf-link--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed;text-decoration:none;pointer-events:none}.wf-list{font-family:var(--wf-font-sans)}.wf-list-header{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-sm) 0}.wf-list-body{margin:0;padding:0;list-style:none}.wf-list-item{padding:var(--wf-space-sm) 0}.wf-list--divided .wf-list-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-list--divided .wf-list-item:last-child{border-bottom:none}.wf-list-footer{padding:var(--wf-space-sm) 0;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-list-empty{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-lg) 0;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-sm);padding:var(--wf-space-2xl);color:var(--wf-color-text-secondary)}.wf-loading-spinner{width:24px;height:24px;border:3px solid var(--wf-color-border);border-top-color:var(--wf-color-primary);border-radius:50%;animation:wf-spin var(--wf-dur-spin) linear infinite}@keyframes wf-spin{to{transform:rotate(360deg)}}.wf-loading-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-log-viewer{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);position:relative;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-secondary);overflow:hidden}.wf-log-copy{position:absolute;top:var(--wf-space-sm);right:var(--wf-space-sm);z-index:1;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-secondary);cursor:pointer;padding:0;flex-shrink:0}.wf-log-copy:hover{background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-log-body{position:relative;overflow-y:auto}.wf-log-spacer{pointer-events:none}.wf-log-row{display:flex;align-items:center;box-sizing:border-box;padding-right:var(--wf-space-md);white-space:pre}.wf-log-row:hover{background:var(--wf-color-bg-tertiary)}.wf-log-line-no{display:inline-flex;align-items:center;justify-content:flex-end;min-width:48px;padding:0 var(--wf-space-sm);margin-right:var(--wf-space-sm);color:var(--wf-color-text-tertiary);user-select:none;flex-shrink:0}.wf-log-line-content{overflow:hidden}.wf-log-ansi--bold{font-weight:var(--wf-font-weight-bold)}.wf-log-ansi--30{color:var(--wf-color-text-secondary)}.wf-log-ansi--31{color:var(--wf-color-error-text)}.wf-log-ansi--32{color:var(--wf-color-success-text)}.wf-log-ansi--33{color:var(--wf-color-warning-text)}.wf-log-ansi--34,.wf-log-ansi--35{color:var(--wf-color-primary-text)}.wf-log-ansi--36{color:var(--wf-color-info-text)}.wf-log-ansi--37{color:var(--wf-color-text)}.wf-log-ansi--bg41{background:var(--wf-color-error-bg)}.wf-log-ansi--bg42{background:var(--wf-color-success-bg)}.wf-log-ansi--bg43{background:var(--wf-color-warning-bg)}.wf-log-ansi--bg44{background:var(--wf-color-primary-bg)}.wf-log-ansi--bg47{background:var(--wf-color-bg-tertiary)}.wf-log-empty{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-lg);color:var(--wf-color-text-tertiary)}.wf-md{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text);word-break:break-word}.wf-md>:first-child{margin-top:0}.wf-md>:last-child{margin-bottom:0}.wf-md-h{margin:var(--wf-space-md) 0 var(--wf-space-sm);font-weight:var(--wf-font-weight-bold);line-height:var(--wf-line-height-tight)}.wf-md-h1{font-size:var(--wf-font-size-xl)}.wf-md-h2{font-size:var(--wf-font-size-lg)}.wf-md-h3{font-size:var(--wf-font-size-base)}.wf-md-h4{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-md-p{margin:0 0 var(--wf-space-sm)}.wf-md-ul,.wf-md-ol{margin:0 0 var(--wf-space-sm);padding-left:var(--wf-space-lg)}.wf-md-li{margin:2px 0}.wf-md-code{font-family:var(--wf-font-mono);font-size:.875em;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-xs);padding:1px var(--wf-space-xs)}.wf-md-strong{font-weight:var(--wf-font-weight-bold)}.wf-md-em{font-style:italic}.wf-md-link{color:var(--wf-color-primary-text);text-decoration:underline;text-underline-offset:2px}.wf-md-link:hover{opacity:.85}.wf-md-quote{margin:0 0 var(--wf-space-sm);padding:var(--wf-space-xs) var(--wf-space-md);border-left:3px solid var(--wf-color-border);color:var(--wf-color-text-secondary)}.wf-md-hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0}.wf-md-del{text-decoration:line-through;color:var(--wf-color-text-secondary)}.wf-md-task-list{list-style:none;padding-left:var(--wf-space-xs)}.wf-md-task{display:flex;align-items:flex-start;gap:var(--wf-gap-xs)}.wf-md-task-check{margin-top:var(--wf-space-xs);width:14px;height:14px;flex-shrink:0;accent-color:var(--wf-color-primary);cursor:default;padding:0;box-sizing:border-box}.wf-md-table-wrap{overflow-x:auto;margin:var(--wf-space-sm) 0}.wf-md-table{border-collapse:collapse;width:100%;font-size:var(--wf-font-size-sm)}.wf-md-th,.wf-md-td{border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-md-th{background:var(--wf-color-bg-secondary);font-weight:var(--wf-font-weight-semibold)}.wf-md-tr:nth-child(2n) .wf-md-td{background:var(--wf-color-bg-secondary)}.wf-md-editor,.wf-md-editor-textarea{width:100%}.wf-math-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 2px}.wf-math-num{border-bottom:var(--wf-border-width) solid currentColor;padding:0 var(--wf-space-xs)}.wf-math-den{padding:0 var(--wf-space-xs)}.wf-math-sqrt-radical{margin-right:1px}.wf-math-sup{font-size:.75em;vertical-align:super}.wf-math-sub{font-size:.75em;vertical-align:sub}.wf-mentions{position:relative;font-family:var(--wf-font-sans)}.wf-mentions-input{width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);padding:var(--wf-space-sm) var(--wf-space);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);resize:vertical;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-mentions-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-mentions-input:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-mentions-input--sm{padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-mentions-input--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-mentions-panel{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-mentions-min-width, 160px);max-height:220px;overflow-y:auto;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-mentions-option{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-mentions-option:hover,.wf-mentions-option--hl{background:var(--wf-color-bg-tertiary)}.wf-mentions-option:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menu{display:flex;flex-direction:column;gap:2px;font-family:var(--wf-font-sans)}.wf-menu-group{padding:var(--wf-space-sm) var(--wf-space-sm) 2px;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-tertiary);letter-spacing:var(--wf-heading-tracking)}.wf-menu-item{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;user-select:none;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-item:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-item:active{background:var(--wf-state-pressed)}.wf-menu-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-menu-item--danger{color:var(--wf-color-error-text)}.wf-menu-item--danger:hover{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-menu-item:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-icon{display:inline-flex;font-size:var(--wf-font-size-base);width:18px;justify-content:center;flex-shrink:0}.wf-menu-submenu{display:flex;flex-direction:column;gap:2px}.wf-menu-submenu-title{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;user-select:none;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-submenu-title:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-submenu-title:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-arrow{margin-left:auto;display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-submenu--open .wf-menu-arrow{transform:rotate(90deg)}.wf-menu-submenu-content{display:none;flex-direction:column;gap:2px}.wf-menu-submenu--open .wf-menu-submenu-content{display:flex}.wf-menu-item--child{padding-left:var(--wf-space-xl);font-size:var(--wf-font-size-sm)}.wf-menu--collapsed{width:56px}.wf-menu--collapsed .wf-menu-group{display:none}.wf-menu--collapsed .wf-menu-item,.wf-menu--collapsed .wf-menu-submenu-title{justify-content:center;padding:var(--wf-space-sm);gap:0}.wf-menu-collapse-btn{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:var(--wf-space-sm);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;min-height:36px}.wf-menu-collapse-btn:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-collapse-btn:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-submenu--collapsed{position:relative}.wf-menu-submenu-title--collapsed{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--wf-space) 0}.wf-menu-popup{min-width:var(--wf-menu-popup-min-width, 160px);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);z-index:var(--wf-z-popover);animation:wf-menu-popup-in var(--wf-dur-fast) var(--wf-ease-out)}@keyframes wf-menu-popup-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1))}to{opacity:1;transform:translateY(0)}}.wf-menubar{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);font-family:var(--wf-font-sans)}.wf-menubar-trigger{border:none;background:none;padding:var(--wf-space-xs) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-menubar-trigger:hover,.wf-menubar-trigger--open{background:var(--wf-color-bg-tertiary)}.wf-menubar-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menubar-trigger--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-menubar-panel{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-menubar-min-width, 160px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-menubar-item{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menubar-item:hover,.wf-menubar-item--hl{background:var(--wf-state-hover)}.wf-menubar-item:active{background:var(--wf-state-pressed)}.wf-menubar-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menubar-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-menubar-item-label{flex:1}.wf-menubar-shortcut{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);padding:1px var(--wf-space-sm);font-family:var(--wf-font-sans)}.wf-bubble--error{border:var(--wf-border-width) solid var(--wf-color-error-text);background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-bubble--streaming{border-right:3px solid var(--wf-color-primary);border-right-color:var(--wf-color-primary);animation:wf-bubble-blink var(--wf-dur-blink) var(--wf-ease-in-out) infinite}@keyframes wf-bubble-blink{0%,to{border-right-color:var(--wf-color-primary)}50%{border-right-color:var(--wf-color-primary-bg)}}.wf-bubble-body{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-bubble-actions{display:flex;gap:var(--wf-gap-xs);align-items:center}.wf-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--wf-z-modal)}.wf-modal--enter .wf-modal-overlay{animation:wf-modal-overlay-fadein var(--wf-dur-base) var(--wf-ease-out)}.wf-modal--exit .wf-modal-overlay{animation:wf-modal-overlay-fadeout var(--wf-dur-base) var(--wf-ease-in) forwards}@keyframes wf-modal-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-modal-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-modal--enter .wf-modal-content{animation:wf-modal-pop var(--wf-dur-base) var(--wf-ease-out)}.wf-modal--exit .wf-modal-content{animation:wf-modal-unpop var(--wf-dur-base) var(--wf-ease-in) forwards}@keyframes wf-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes wf-modal-unpop{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.wf-modal-overlay{position:fixed;inset:0;background:var(--wf-overlay);backdrop-filter:blur(var(--wf-overlay-blur));-webkit-backdrop-filter:blur(var(--wf-overlay-blur));z-index:-1}.wf-modal-content{background:var(--wf-color-bg-elevated);border-radius:var(--wf-modal-radius, var(--wf-radius-lg));box-shadow:var(--wf-modal-shadow, var(--wf-shadow-lg));min-width:var(--wf-modal-width, 400px);max-width:90vw;max-height:80vh;display:flex;flex-direction:column;z-index:1;transform-origin:center;width:100%;max-width:100vw;max-height:85vh;border-radius:var(--wf-radius-lg) var(--wf-radius-lg) 0 0;min-width:min(var(--wf-modal-width, 400px),calc(100vw - 32px));padding-bottom:env(safe-area-inset-bottom)}.wf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-md) var(--wf-space-lg);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold)}.wf-modal-close{background:none;border:none;font-size:var(--wf-font-size-lg);cursor:pointer;color:var(--wf-color-text-secondary);padding:var(--wf-space-xs);line-height:1}.wf-modal-close:hover{color:var(--wf-color-text)}.wf-modal-body{padding:var(--wf-space-lg);overflow-y:auto;flex:1}.wf-modal-footer{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);padding:var(--wf-space-md) var(--wf-space-lg);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(max-width:639.98px){.wf-modal{align-items:flex-end}}.wf-nav-bar{display:flex;align-items:center;gap:var(--wf-gap-xs);min-height:48px;padding:var(--wf-space-xs) var(--wf-space-sm);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-nav-bar--fixed{position:sticky;top:0;z-index:var(--wf-z-sticky);padding-top:calc(4px + env(safe-area-inset-top,0px))}.wf-nav-bar-side{display:flex;align-items:center;gap:var(--wf-gap-xs);min-width:0;flex-shrink:0;white-space:nowrap}.wf-nav-bar-title{flex:1;min-width:0;text-align:center;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-nav-bar-title--left{text-align:left}.wf-navmenu{display:flex;align-items:center;gap:2px;padding:0 var(--wf-space-md);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:48px}.wf-navmenu-item{position:relative;display:inline-flex;align-items:center;gap:var(--wf-space-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-surface-radius);color:var(--wf-color-text-secondary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-navmenu-item:hover{background:var(--wf-state-hover);color:var(--wf-color-text)}.wf-navmenu-item:active{background:var(--wf-state-pressed)}.wf-navmenu-item--active{color:var(--wf-color-primary-text);font-weight:600}.wf-navmenu-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-navmenu-arrow{font-size:var(--wf-font-size-xs);opacity:.6}.wf-navmenu-sub{position:absolute;top:calc(100% + 6px);left:0;min-width:var(--wf-navmenu-min-width);padding:var(--wf-space-sm);border-radius:var(--wf-surface-radius);background:var(--wf-surface-bg);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);z-index:var(--wf-z-dropdown);animation:wf-navmenu-in var(--wf-dur-fast) var(--wf-ease-standard)}@keyframes wf-navmenu-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1))}to{opacity:1;transform:translateY(0)}}.wf-navmenu-sub-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-md);padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius);color:var(--wf-color-text);cursor:pointer;white-space:nowrap;transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-navmenu-sub-item:hover{background:var(--wf-state-hover)}.wf-navmenu-sub-item:active{background:var(--wf-state-pressed)}.wf-navmenu-sub-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-navmenu-sub-arrow{color:var(--wf-color-text-tertiary)}.wf-notification-container{position:fixed;z-index:var(--wf-z-toast);display:flex;flex-direction:column;gap:var(--wf-gap-sm);pointer-events:none;max-width:360px}.wf-notification--tr{top:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-notification--tl{top:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-notification--br{bottom:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-notification--bl{bottom:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-notification{display:flex;gap:var(--wf-gap-sm);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-left-width:3px;border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space) var(--wf-space-md);pointer-events:auto;font-family:var(--wf-font-sans);width:100%}.wf-notification--success{border-left-color:var(--wf-color-success)}.wf-notification--error{border-left-color:var(--wf-color-error)}.wf-notification--warning{border-left-color:var(--wf-color-warning)}.wf-notification--info{border-left-color:var(--wf-color-info)}.wf-notification-icon{display:inline-flex;align-items:flex-start;color:var(--wf-color-text-secondary);padding-top:2px}.wf-notification--success .wf-notification-icon{color:var(--wf-color-success-text)}.wf-notification--error .wf-notification-icon{color:var(--wf-color-error-text)}.wf-notification--warning .wf-notification-icon{color:var(--wf-color-warning-text)}.wf-notification--info .wf-notification-icon{color:var(--wf-color-info-text)}.wf-notification-body{flex:1;min-width:0}.wf-notification-title{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-notification-desc{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);margin-top:2px;word-break:break-word}.wf-notification-action{margin-top:var(--wf-gap-sm);border:none;background:none;padding:0;font-size:var(--wf-font-size-sm);color:var(--wf-color-primary-text);cursor:pointer}.wf-notification-action:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-notification-close{border:none;background:none;padding:2px;cursor:pointer;color:var(--wf-color-text-tertiary);align-self:flex-start}.wf-notification-close:hover{color:var(--wf-color-text)}.wf-notification-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--wf-gap-md);margin-bottom:var(--wf-space-md)}.wf-page-head-left{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-page-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-2xl);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);margin:0;line-height:var(--wf-line-height-tight)}.wf-page-title--display{font-size:var(--wf-font-size-display);letter-spacing:var(--wf-heading-display-tracking)}.wf-page-sub{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);margin:0}.wf-page-head-actions{display:flex;align-items:center;gap:var(--wf-gap-sm);flex-shrink:0}.wf-pagination{display:flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);overflow-x:auto;scrollbar-width:none;font-size:var(--wf-font-size-sm)}.wf-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;min-height:32px;max-height:32px;padding:0 var(--wf-space-xs);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);cursor:pointer;font-family:inherit;font-size:inherit;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-page-btn:hover:not(:disabled):not(.wf-page-btn--active){border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-page-btn:active:not(:disabled):not(.wf-page-btn--active){background:var(--wf-state-pressed)}.wf-page-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-page-btn--active{background:var(--wf-color-primary);border-color:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-page-btn--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-page-ellipsis{padding:0 var(--wf-space-xs);color:var(--wf-color-text-tertiary)}.wf-pagination::-webkit-scrollbar{display:none}.wf-password{position:relative}.wf-password .wf-input{padding-right:38px}.wf-password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);padding:var(--wf-space-sm);border-radius:var(--wf-radius-xs)}.wf-password-eye:hover{color:var(--wf-color-text-secondary)}.wf-pin-input{display:inline-flex;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-pin-input-cell{width:2.6em;height:2.6em;text-align:center;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);font-size:var(--wf-font-size-xl);font-weight:var(--wf-font-weight-semibold);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-pin-input-cell:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-pin-input-cell:disabled{opacity:.5;cursor:not-allowed}.wf-pin-input--sm .wf-pin-input-cell{font-size:var(--wf-font-size-base);width:2.4em;height:2.4em}.wf-pin-input--lg .wf-pin-input-cell{font-size:var(--wf-font-size-2xl);width:2.8em;height:2.8em}.wf-pipeline{position:relative;display:inline-block;max-width:100%}.wf-pipeline-svg{display:block;overflow:visible}.wf-pipeline-edge{fill:none;stroke:var(--wf-color-border);stroke-width:1.5}.wf-pipeline-nodes{position:absolute;inset:0;pointer-events:none}.wf-pipeline-node{position:absolute;transform:translate(-50%,-50%);padding:var(--wf-space-sm) var(--wf-space-md);min-width:72px;max-width:120px;text-align:center;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);font-size:var(--wf-font-size-sm);font-weight:500;pointer-events:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--wf-shadow-sm)}.wf-pipeline-node--success{border-color:var(--wf-color-success-text);color:var(--wf-color-success-text);background:var(--wf-color-success-bg)}.wf-pipeline-node--running{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg)}.wf-pipeline-node--error{border-color:var(--wf-color-error-text);color:var(--wf-color-error-text);background:var(--wf-color-error-bg)}.wf-pipeline-node--pending{border-color:var(--wf-color-border);color:var(--wf-color-text-tertiary);background:var(--wf-color-fill)}.wf-pipeline-warn{position:absolute;bottom:-24px;left:0;font-size:var(--wf-font-size-xs);color:var(--wf-color-warning-text)}.wf-popconfirm-wrap{display:inline-block}.wf-popconfirm{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-popconfirm-min-width, 180px);padding:var(--wf-space-sm);border-radius:var(--wf-surface-radius);background:var(--wf-surface-bg);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-popconfirm--enter{animation:wf-popconfirm-in var(--wf-dur-md) var(--wf-ease-standard)}.wf-popconfirm--exit{animation:wf-popconfirm-out var(--wf-dur-md) var(--wf-ease-standard) forwards}@keyframes wf-popconfirm-in{0%{opacity:0}to{opacity:1}}@keyframes wf-popconfirm-out{0%{opacity:1}to{opacity:0}}.wf-popconfirm-title{display:flex;align-items:flex-start;gap:var(--wf-gap-xs);margin-bottom:var(--wf-space-xs);color:var(--wf-color-text);line-height:var(--wf-line-height)}.wf-popconfirm-icon{display:inline-flex;flex-shrink:0;margin-top:2px;color:var(--wf-color-warning-text)}.wf-popconfirm-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs);margin-top:var(--wf-space-xs)}.wf-popover-wrap{display:inline-block}.wf-popover{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-popover-radius, var(--wf-radius-md));box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-popover-width, 160px);max-width:min(var(--wf-popup-max, 320px),calc(100vw - 32px));animation:wf-popover-in var(--wf-dur-fast) var(--wf-ease-out)}.wf-popover-arrow{display:none}.wf-popover-content{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);line-height:var(--wf-line-height)}@keyframes wf-popover-in{0%{opacity:0}to{opacity:1}}@keyframes wf-popover-overlay-in{0%{opacity:0}to{opacity:1}}.wf-progress-wrap{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;min-width:0}.wf-progress-label{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);white-space:nowrap;min-width:60px}.wf-progress{flex:1;height:8px;background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);overflow:hidden}.wf-progress-fill{height:100%;background:var(--wf-color-primary);border-radius:var(--wf-radius-sm);transition:width var(--wf-transition)}.wf-progress-value{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary);min-width:40px;text-align:right}.wf-progress--sm{height:4px}.wf-progress--md{height:8px}.wf-progress--lg{height:12px}.wf-progress-fill--success{background:var(--wf-color-success-text)}.wf-progress-fill--error{background:var(--wf-color-error-text)}.wf-progress-fill--warning{background:var(--wf-color-warning-text)}.wf-progress--indeterminate .wf-progress-fill{width:40%;animation:wf-progress-indeterminate var(--wf-dur-progress) var(--wf-ease-in-out) infinite}@keyframes wf-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.wf-prompt-template{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-prompt-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-prompt-chips{display:flex;align-items:center;flex-wrap:wrap;gap:var(--wf-gap-xs)}.wf-prompt-chips-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-prompt-chip{padding:2px var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-primary-text);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-prompt-chip:hover:not(:disabled){border-color:var(--wf-color-primary);background:var(--wf-color-primary-bg)}.wf-prompt-chip:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-prompt-chip:disabled{cursor:not-allowed;opacity:.6}.wf-prompt-editor{width:100%;min-height:120px;padding:var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-elevated);color:var(--wf-color-text);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;resize:vertical}.wf-prompt-editor:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-prompt-preview{border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-md);padding:var(--wf-space-md);background:var(--wf-color-bg-secondary)}.wf-prompt-preview-title{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);margin-bottom:var(--wf-space-xs)}.wf-prompt-preview-body{font-size:var(--wf-font-size-sm);color:var(--wf-color-text);white-space:pre-wrap;word-break:break-word}.wf-radio-group{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-radio-group--inline{flex-direction:row;flex-wrap:wrap}.wf-radio:hover .wf-radio-visual{border-color:var(--wf-color-primary)}.wf-radio{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-radio-input{position:absolute;opacity:0;width:0;height:0}.wf-radio-visual{width:16px;height:16px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);background:var(--wf-color-bg)}.wf-radio-input:checked+.wf-radio-visual{border-color:var(--wf-color-primary);border-width:5px}.wf-radio-input:focus-visible+.wf-radio-visual{box-shadow:var(--wf-focus-ring)}.wf-radio-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-radio-label-text{color:var(--wf-color-text)}.wf-rate{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans)}.wf-rate-star{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;min-width:1.5em;max-width:1.5em;min-height:1.5em;max-height:1.5em;padding:0;line-height:1;border:none;background:none;cursor:pointer;color:var(--wf-color-text-tertiary);transition:color var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-rate-star--on{color:var(--wf-color-warning-text)}.wf-rate-star--on .wf-rate-star-icon{fill:currentColor}.wf-rate-star:hover{transform:scale(1.15)}.wf-rate-star:active{transform:scale(.95)}.wf-rate-star:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-rate--disabled .wf-rate-star{cursor:not-allowed;opacity:.6}.wf-rate--sm{font-size:var(--wf-font-size-sm)}.wf-rate--md{font-size:var(--wf-font-size-xl)}.wf-rate--lg{font-size:var(--wf-font-size-2xl)}.wf-rate-star-half{position:relative;display:inline-block;width:1em;height:1em}.wf-rate-star-half-bg,.wf-rate-star-half-fg{position:absolute;top:0;left:0;height:100%;display:inline-flex;align-items:center}.wf-rate-star-half-bg{width:100%;color:var(--wf-color-text-tertiary)}.wf-rate-star-half-fg{width:50%;overflow:hidden;color:var(--wf-color-warning-text)}.wf-rate-star-half-fg .wf-rate-star-icon{width:1em;height:1em;flex-shrink:0;fill:currentColor}.wf-rate-star-half-bg .wf-rate-star-icon{width:1em;height:1em;flex-shrink:0}.wf-reasoning{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-reasoning-toggle{display:flex;align-items:center;gap:var(--wf-gap-xs);width:100%;padding:var(--wf-gap-xs) var(--wf-gap-sm);background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);font:inherit;text-align:left}.wf-reasoning-toggle:hover{color:var(--wf-color-text)}.wf-reasoning-toggle:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-1px;border-radius:var(--wf-radius)}.wf-reasoning-chevron{display:inline-flex;color:var(--wf-color-text-secondary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-reasoning-chevron--open{transform:rotate(180deg)}.wf-reasoning-label{font-weight:var(--wf-font-weight-medium)}.wf-reasoning-dot{width:6px;height:6px;min-width:6px;min-height:6px;border-radius:50%;background:var(--wf-color-info-text);animation:wf-reasoning-pulse var(--wf-dur-slow) ease-in-out infinite}@keyframes wf-reasoning-pulse{0%,to{opacity:.35}50%{opacity:1}}.wf-reasoning-body{padding:var(--wf-gap-xs) var(--wf-gap-sm) var(--wf-gap-sm);color:var(--wf-color-text-secondary);white-space:pre-wrap;word-break:break-word}.wf-rg{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-rg-canvas{display:block;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:radial-gradient(circle at 1px 1px,var(--wf-color-border) 1px,transparent 0) 0 0 / 24px 24px;overflow:hidden}.wf-rg-edge{transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-rg-node{cursor:pointer}.wf-rg-node circle{transition:stroke-width var(--wf-dur-fast) var(--wf-ease-out)}.wf-rg-node:hover circle{stroke-width:3}.wf-rg-node--selected circle{stroke-width:3.5;stroke-dasharray:4 3}.wf-rg-label{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);fill:var(--wf-color-text);pointer-events:none}.wf-rg-sublabel{font-size:var(--wf-font-size-xs);fill:var(--wf-color-text-tertiary);pointer-events:none}.wf-rg-legend{display:flex;flex-wrap:wrap;gap:var(--wf-gap-xs) var(--wf-gap-md);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-rg-legend-item{display:inline-flex;align-items:center;gap:var(--wf-gap-xs)}.wf-rg-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.wf-rg-line{display:inline-block;width:16px;height:3px;border-radius:var(--wf-radius-xs)}.wf-resizable{display:flex;font-family:var(--wf-font-sans)}.wf-resizable--horizontal{flex-direction:row}.wf-resizable--vertical{flex-direction:column}.wf-resizable-panel{flex:0 0 auto;min-width:0;min-height:0;overflow:auto}.wf-resizable-panel--fill{flex:1 1 0%}.wf-resizable-handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:col-resize;background:var(--wf-color-bg-secondary);transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-resizable--horizontal .wf-resizable-handle{width:6px;cursor:col-resize}.wf-resizable--vertical .wf-resizable-handle{height:6px;cursor:row-resize}.wf-resizable-handle:hover,.wf-resizable-handle:focus-visible{background:var(--wf-color-primary);outline:none}.wf-result{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-xl) var(--wf-space-md);text-align:center;font-family:var(--wf-font-sans)}.wf-result-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%}.wf-result--success .wf-result-icon{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-result--error .wf-result-icon{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-result--warning .wf-result-icon{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-result--info .wf-result-icon{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-result-title{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-bold);color:var(--wf-color-text)}.wf-result-desc{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);max-width:420px}.wf-result-extra{margin-top:var(--wf-space-md);display:flex;gap:var(--wf-gap-sm);justify-content:center}.wf-scrollbar{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--wf-color-border) transparent}.wf-scrollbar::-webkit-scrollbar{width:8px;height:8px}.wf-scrollbar::-webkit-scrollbar-track{background:transparent}.wf-scrollbar::-webkit-scrollbar-thumb{background:var(--wf-color-border);border-radius:var(--wf-radius-sm)}.wf-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--wf-color-text-tertiary)}.wf-search{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-search:focus-within{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-search-icon{font-size:var(--wf-font-size-sm);flex-shrink:0;line-height:1}.wf-search-input{flex:1;border:none;outline:none;background:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:0}.wf-search-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-search-clear{background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);padding:2px;line-height:1;flex-shrink:0}.wf-search-clear:hover{color:var(--wf-color-text)}.wf-search-clear:active{opacity:.6}.wf-search-clear:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-search--has-clear .wf-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.wf-search-input--dis{opacity:.5;cursor:not-allowed}.wf-search-input:disabled{cursor:not-allowed}.wf-segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);font-family:var(--wf-font-sans)}.wf-segmented--block{display:flex;width:100%}.wf-segmented--block .wf-segmented-option{flex:1;justify-content:center}.wf-segmented-option{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);border:none;background:none;cursor:pointer;padding:var(--wf-space-xs) var(--wf-space-md);border-radius:calc(var(--wf-radius) - 1px);font-family:inherit;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);line-height:var(--wf-line-height);color:var(--wf-color-text-secondary);white-space:nowrap;transition:background var(--wf-transition),color var(--wf-transition),box-shadow var(--wf-transition)}.wf-segmented-option:hover{color:var(--wf-color-text)}.wf-segmented-option--active{background:var(--wf-surface-bg);color:var(--wf-color-primary-text);box-shadow:var(--wf-shadow-sm);transition:box-shadow var(--wf-dur-fast) var(--wf-ease-snap),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-segmented-option--active:hover{color:var(--wf-color-primary-text)}.wf-segmented-option:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-segmented-option:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-segmented--sm .wf-segmented-option{padding:2px var(--wf-space-sm);font-size:var(--wf-font-size-xs)}@media(pointer:coarse){.wf-segmented-option{min-height:44px}}.wf-select-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs);position:relative}.wf-select{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);width:100%;cursor:pointer;appearance:auto}.wf-select:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-select:hover:not(:disabled){border-color:var(--wf-color-border-dark)}.wf-select:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select--err .wf-select{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-select-search{position:relative}.wf-select-search-trigger{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-select-search-trigger:hover{border-color:var(--wf-color-border-dark)}.wf-select-search-trigger:focus-within{border-color:var(--wf-color-primary)}.wf-select-search-input:focus{box-shadow:0 0 0 1px var(--wf-color-primary)}.wf-select-search--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select--err .wf-select-search-trigger{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-select-search-input{width:100%;border:none;outline:none;background:transparent;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);cursor:pointer;box-sizing:border-box}.wf-select-search-input:read-only{cursor:pointer}.wf-select-search-menu{min-width:var(--wf-select-menu-min-width);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);box-shadow:var(--wf-shadow-md);max-height:240px;overflow-y:auto;z-index:var(--wf-z-dropdown);animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}.wf-select-search-opt{padding:var(--wf-control-pad-y) var(--wf-space);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-select-search-group{padding:var(--wf-gap-xs) var(--wf-space) 2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);font-weight:var(--wf-font-weight-medium);text-transform:var(--wf-heading-case);user-select:none}.wf-select-search-opt:hover{background:var(--wf-state-hover)}.wf-select-search-opt:active{background:var(--wf-state-pressed)}.wf-select-search-opt--sel{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-select-search-opt--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select-search-empty{padding:var(--wf-space) var(--wf-space);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);text-align:center}.wf-select-search-opt--hl{background:var(--wf-color-bg-tertiary)}.wf-select-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-size:var(--wf-font-size-xs);padding:1px var(--wf-space-xs);border-radius:var(--wf-radius-sm);white-space:nowrap}.wf-select-tag-close{display:inline-flex;align-items:center;border:none;background:none;padding:0;cursor:pointer;color:inherit;opacity:.6}.wf-select-tag-close:hover{opacity:1}.wf-select-tag-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}@media(pointer:coarse){.wf-select-search-opt{min-height:44px;display:flex;align-items:center}}.wf-session{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-session-head{display:flex;align-items:center;gap:var(--wf-gap-xs)}.wf-session-search{flex:1;min-width:0;padding:var(--wf-control-pad-y) var(--wf-gap-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);font:inherit;font-size:var(--wf-font-size-sm)}.wf-session-search:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-session-new{flex-shrink:0}.wf-session-list{display:flex;flex-direction:column;outline:none}.wf-session-group-title{padding:var(--wf-gap-xs) var(--wf-gap-xs) 2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);font-weight:var(--wf-font-weight-medium);text-transform:var(--wf-heading-case);user-select:none}.wf-session-item{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-gap-xs) var(--wf-gap-sm);border-radius:var(--wf-radius-sm);cursor:pointer;color:var(--wf-color-text);min-height:32px}.wf-session-item:hover{background:var(--wf-color-bg-tertiary)}.wf-session-item:active{background:var(--wf-state-pressed)}.wf-session-item--focus{background:var(--wf-color-bg-tertiary)}.wf-session-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-session-item--active:hover{background:var(--wf-color-primary-bg)}.wf-session-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-session-rename,.wf-session-del{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;min-height:22px;padding:0;line-height:0;border:none;border-radius:var(--wf-radius-sm);background:none;color:var(--wf-color-text-tertiary);cursor:pointer;opacity:0;flex-shrink:0;transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-session-item:hover .wf-session-rename,.wf-session-item:hover .wf-session-del,.wf-session-rename:focus-visible,.wf-session-del:focus-visible{opacity:1;outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-session-rename:hover{color:var(--wf-color-info-text)}.wf-session-del:hover{color:var(--wf-color-error-text)}.wf-session-item--rename{cursor:default}.wf-session-rename-input{flex:1;min-width:0;padding:2px var(--wf-gap-xs);border:var(--wf-border-width) solid var(--wf-color-primary);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);color:var(--wf-color-text);font:inherit;font-size:var(--wf-font-size-sm)}.wf-session-rename-input:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-session-empty{padding:var(--wf-gap-md) var(--wf-gap-sm);text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}@media(pointer:coarse){.wf-session-item{min-height:44px}.wf-session-rename,.wf-session-del{opacity:1;width:28px;height:28px}}.wf-sheet{display:flex;flex-direction:column;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-sm);min-height:0}.wf-sheet-toolbar{display:flex;align-items:center;gap:var(--wf-gap-sm);flex-wrap:wrap}.wf-sheet-tabs{display:flex;gap:2px;align-items:flex-end}.wf-sheet-tab{font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-bottom:none;border-radius:var(--wf-radius-sm) var(--wf-radius-sm) 0 0;background:var(--wf-color-bg);cursor:pointer;min-height:0;min-width:0}.wf-sheet-tab:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-sheet-tab--active:hover{color:var(--wf-color-on-brand)}.wf-sheet-tab--active{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-sheet-tools{display:flex;gap:var(--wf-gap-xs);align-items:center}.wf-sheet-status{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);margin-left:auto}.wf-sheet-scroll{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);max-height:100%;background:var(--wf-color-bg)}.wf-sheet-table{border-collapse:collapse;width:max-content;font-size:var(--wf-font-size-sm)}.wf-sheet-table th,.wf-sheet-table td{border:var(--wf-border-width) solid var(--wf-color-border);padding:2px 8px;min-width:60px;height:24px;white-space:nowrap}.wf-sheet-colhead{background:var(--wf-color-bg-subtle);font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);text-align:center;position:sticky;top:0;z-index:1}.wf-sheet-rowhead{background:var(--wf-color-bg-subtle);font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);text-align:center;position:sticky;left:0;z-index:1;min-width:36px}.wf-sheet-corner{position:sticky;top:0;left:0;z-index:1;background:var(--wf-color-bg-subtle)}.wf-sheet-cell{cursor:cell}.wf-sheet-cell--active{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-sheet-input{width:100%;border:none;outline:none;background:transparent;font:inherit;padding:0;min-height:0;height:100%}.wf-sheet-ai-panel{width:320px;max-height:260px;overflow:auto;padding:var(--wf-gap-sm);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);z-index:var(--wf-z-popover);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-sheet-ai-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm)}.wf-sheet-ai-body{white-space:pre-wrap;word-break:break-all;font-size:var(--wf-font-size-sm);margin:0;max-height:140px;overflow:auto}.wf-sheet-ai-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-sm)}.wf-sheet-ai-actions{display:flex;gap:var(--wf-gap-xs);justify-content:flex-end}.wf-skeleton{display:inline-block;height:1em;border-radius:var(--wf-radius-sm);background:linear-gradient(90deg,var(--wf-color-border) 25%,var(--wf-state-hover) 50%,var(--wf-color-border) 75%);background-size:200% 100%;animation:wf-skeleton-shimmer calc(var(--wf-dur-slow) * 5) var(--wf-ease-in-out) infinite;vertical-align:middle}@keyframes wf-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wf-skeleton--text{width:100%;min-width:60px}.wf-skeleton--circle{border-radius:50%;width:40px;height:40px;min-width:unset}.wf-skeleton--rect{border-radius:var(--wf-radius);width:100%;height:120px}.wf-skeleton--image{border-radius:var(--wf-radius);width:100%;aspect-ratio:16 / 9;height:auto}.wf-skeleton--avatar{border-radius:50%;width:48px;height:48px;min-width:unset}.wf-skeleton--short{width:60%}.wf-skeleton-table{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-skeleton-row{display:flex;gap:var(--wf-gap-md);align-items:center}.wf-skeleton-row .wf-skeleton{flex:1}.wf-slide{display:flex;flex-direction:column;gap:var(--wf-gap-xs);min-height:0}.wf-slide-toolbar{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-wrap:wrap}.wf-slide-tab{font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;min-height:0}.wf-slide-tab--active{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-slide-canvas-scroll{overflow:auto;background:var(--wf-color-bg-subtle);border-radius:var(--wf-radius-md);padding:var(--wf-space)}.wf-slide-canvas{position:relative;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);box-shadow:var(--wf-shadow-md)}.wf-slide-shape-scaler{top:0;left:0;pointer-events:none}.wf-slide-shape{position:absolute;border:var(--wf-border-width) solid transparent;cursor:move;pointer-events:auto;box-sizing:border-box}.wf-slide-shape--text{display:flex;align-items:center;overflow:hidden}.wf-slide-shape--rect{border-radius:var(--wf-radius-sm)}.wf-slide-shape--selected{border-color:var(--wf-color-primary);outline:1px solid var(--wf-color-primary);outline-offset:1px}.wf-slide-shape-label{padding:var(--wf-space-xs) var(--wf-space-sm);font-size:var(--wf-font-size-sm);line-height:1.4;width:100%;white-space:pre-wrap;word-break:break-word}.wf-slide-shape-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-3xl);background:var(--wf-color-bg-subtle);border:var(--wf-border-width) dashed var(--wf-color-border)}.wf-slide-shape-line{width:100%;height:2px;background:var(--wf-color-text-secondary);margin-top:50%}.wf-slide-shape-edit{width:100%;height:100%;border:none;outline:none;resize:none;font:inherit;padding:var(--wf-space-xs) var(--wf-space-sm);background:transparent;min-height:0}.wf-slide-shape-resize{position:absolute;right:-5px;bottom:-5px;width:10px;height:10px;background:var(--wf-color-primary);border:var(--wf-border-width) solid var(--wf-color-bg);cursor:nwse-resize;pointer-events:auto;z-index:1}.wf-slide-ai-panel{width:320px;max-height:260px;overflow:auto;padding:var(--wf-gap-sm);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);z-index:var(--wf-z-popover);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-slide-ai-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm)}.wf-slide-ai-body{white-space:pre-wrap;word-break:break-all;font-size:var(--wf-font-size-sm);margin:0;max-height:140px;overflow:auto}.wf-slide-ai-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-sm)}.wf-slide-ai-actions{display:flex;gap:var(--wf-gap-xs);justify-content:flex-end}.wf-slide-shape:hover{border-color:var(--wf-color-border)}.wf-slider-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-slider{display:flex;align-items:center;gap:var(--wf-gap-md);--wf-slider-thumb-size: 18px}.wf-slider-track{flex:1;min-width:0;--wf-slider-track-margin: 8px;--wf-slider-track-h: 6px;position:relative}.wf-slider-input{width:100%;height:6px;vertical-align:top;appearance:none;padding:0;border:none;background:var(--wf-color-border);border-radius:var(--wf-radius-xs);outline:none;cursor:pointer;margin:var(--wf-slider-track-margin) 0}.wf-slider-input:hover::-webkit-slider-thumb,.wf-slider-input:active::-webkit-slider-thumb{transform:scale(1.15);background:var(--wf-color-primary-hover)}.wf-slider-input:hover::-moz-range-thumb,.wf-slider-input:active::-moz-range-thumb{transform:scale(1.15);background:var(--wf-color-primary-hover)}.wf-slider-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-slider-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-slider-input::-webkit-slider-thumb{appearance:none;width:var(--wf-slider-thumb-size);height:var(--wf-slider-thumb-size);border-radius:50%;background:var(--wf-color-primary);cursor:pointer;border:2px solid var(--wf-color-on-brand);box-shadow:var(--wf-slider-thumb-shadow, var(--wf-shadow-sm));transition:transform var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-slider-input::-moz-range-thumb{width:calc(var(--wf-slider-thumb-size) - 4px);height:calc(var(--wf-slider-thumb-size) - 4px);border-radius:50%;background:var(--wf-color-primary);cursor:pointer;border:2px solid var(--wf-color-on-brand);box-shadow:var(--wf-slider-thumb-shadow, var(--wf-shadow-sm));transition:transform var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-slider-input::-moz-range-track{height:6px;padding:0;border:none;border-radius:var(--wf-radius-xs);background:transparent}.wf-slider-input:focus-visible{box-shadow:var(--wf-focus-ring)}.wf-slider-value{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);min-width:30px;text-align:center}.wf-slider-tip{z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);padding:2px var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap}.wf-slider-marks{position:absolute;left:0;right:0;top:var(--wf-slider-track-margin);bottom:auto;height:var(--wf-slider-track-h);pointer-events:none}.wf-slider-range .wf-slider-marks{top:0;bottom:0;height:auto}.wf-slider-mark{position:absolute;top:calc(50% - 4px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.wf-slider-mark-dot{width:8px;height:8px;border-radius:50%;background:var(--wf-color-border-dark);border:2px solid var(--wf-color-bg);box-sizing:border-box}.wf-slider-mark-label{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);white-space:nowrap}.wf-slider-input--dis{opacity:.5;cursor:not-allowed}.wf-slider-input:disabled{cursor:not-allowed}.wf-slider-input:disabled::-webkit-slider-thumb,.wf-slider-input:disabled::-moz-range-thumb{cursor:not-allowed}.wf-slider-range{position:relative;min-height:36px;display:flex;align-items:center}.wf-slider-range .wf-slider-input{position:absolute;inset:0;margin:0;background:transparent;height:auto;pointer-events:none}.wf-slider-range .wf-slider-input::-webkit-slider-thumb{pointer-events:auto}.wf-slider-range .wf-slider-input::-moz-range-thumb{pointer-events:auto}.wf-slider-range-fill{position:absolute;top:0;bottom:0;margin:auto;height:var(--wf-slider-track-h);background:var(--wf-color-primary);border-radius:var(--wf-radius-xs);pointer-events:none}.wf-sortable{list-style:none}.wf-sortable-item{cursor:grab;user-select:none;transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out);border-radius:var(--wf-radius-sm)}.wf-sortable-item:active{cursor:grabbing}.wf-sortable-item.wf-sortable-dragging{opacity:.6}.wf-sortable-item.wf-sortable-over{transform:translateY(2px);box-shadow:0 0 0 2px var(--wf-color-primary-bg),0 0 0 1px var(--wf-color-primary)}.wf-sortable-item:hover{background:var(--wf-color-bg-hover)}.wf-space{display:flex;align-items:center}.wf-space--vertical{flex-direction:column;align-items:stretch}.wf-space-split{color:var(--wf-color-text-tertiary)}.wf-sparkline{display:inline-block;vertical-align:middle;flex-shrink:0}.wf-stat{display:flex;flex-direction:column;gap:var(--wf-gap-xs);padding:var(--wf-space-md);border-radius:var(--wf-radius-md);background:var(--wf-surface-bg);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans)}.wf-stat-icon{font-size:24px;line-height:1;margin-bottom:var(--wf-gap-xs)}.wf-stat-value{font-size:var(--wf-font-size-3xl);font-weight:var(--wf-font-weight-bold);color:var(--wf-color-text);line-height:1;font-variant-numeric:var(--wf-nums)}.wf-stat-label{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-stat-trend{display:flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-stat-trend--up{color:var(--wf-color-success-text)}.wf-stat-trend--down{color:var(--wf-color-error-text)}.wf-stat-trend-arrow{font-weight:var(--wf-font-weight-bold)}.wf-stat--clickable{cursor:pointer;transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-stat--clickable:hover{transform:translateY(-2px);box-shadow:var(--wf-shadow-md)}.wf-stat--clickable:focus-visible{outline:none;box-shadow:var(--wf-shadow-md),var(--wf-focus-ring)}.wf-steps{display:flex;align-items:flex-start;font-family:var(--wf-font-sans)}.wf-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;gap:var(--wf-gap-xs)}.wf-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary);flex-shrink:0}.wf-step--done .wf-step-num{background:var(--wf-color-primary);color:var(--wf-color-on-brand);font-size:var(--wf-font-size-base)}.wf-step--current .wf-step-num{background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-step-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);text-align:center}.wf-step--current .wf-step-label{color:var(--wf-color-primary-text)}.wf-step-desc{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-align:center}.wf-step-connector{position:absolute;top:14px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--wf-color-border)}.wf-step-connector--done{background:var(--wf-color-primary)}.wf-switch{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-switch:hover .wf-switch-track{border-color:var(--wf-color-primary)}.wf-switch-input{position:absolute;opacity:0;width:0;height:0}.wf-switch-track{position:relative;width:36px;height:20px;background:var(--wf-color-border-dark);border-radius:var(--wf-switch-radius, 10px);transition:background var(--wf-transition);flex-shrink:0}.wf-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--wf-color-on-brand);border-radius:50%;transition:transform var(--wf-transition);box-shadow:var(--wf-switch-knob-shadow, var(--wf-shadow-sm))}.wf-switch-input:checked+.wf-switch-track{background:var(--wf-color-primary)}.wf-switch-input:checked+.wf-switch-track:after{transform:translate(16px)}.wf-switch-input:focus-visible+.wf-switch-track{box-shadow:var(--wf-focus-ring)}.wf-switch-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-switch-label{color:var(--wf-color-text)}.wf-tab-bar{display:flex;align-items:stretch;background:var(--wf-color-bg-elevated);border-top:var(--wf-border-width) solid var(--wf-color-border);min-height:56px}.wf-tab-bar--fixed{position:fixed;left:0;right:0;bottom:0;z-index:var(--wf-z-popover);padding-bottom:env(safe-area-inset-bottom,0px)}.wf-tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-xs);padding:var(--wf-space-sm) var(--wf-space-xs);background:transparent;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);transition:color var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out);position:relative}.wf-tab-bar-item:hover:not(:disabled){color:var(--wf-color-text-secondary);background:var(--wf-state-hover)}.wf-tab-bar-item:active:not(:disabled){background:var(--wf-state-pressed)}.wf-tab-bar-item--active{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-tab-bar-item--active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;border-radius:0 0 2px 2px;background:var(--wf-color-primary)}.wf-tab-bar-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tab-bar-icon-wrap{position:relative;display:inline-flex;line-height:1}.wf-tab-bar-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-xl);background:var(--wf-color-error);color:var(--wf-color-on-brand);font-size:10px;line-height:16px;text-align:center;font-weight:var(--wf-font-weight-semibold);pointer-events:none}.wf-tab-bar-label{font-size:var(--wf-font-size-xs);line-height:1.2;white-space:nowrap}.wf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.wf-table{width:100%;border-collapse:collapse;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-table-thead{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-table-th{text-align:left;font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space) var(--wf-space-sm);background:var(--wf-color-bg-secondary);white-space:nowrap}.wf-table-td{padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text);font-size:var(--wf-font-size-base);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-table-th--sortable{cursor:pointer;user-select:none}.wf-table-th--sortable:hover{color:var(--wf-color-primary-text)}.wf-table-th--sortable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);color:var(--wf-color-primary-text)}.wf-table-th--sorted{color:var(--wf-color-primary-text)}.wf-table-sort-icon{margin-left:var(--wf-gap-xs);opacity:.6}.wf-table-sort-icon--active,.wf-table-th:hover .wf-table-sort-icon{opacity:1}.wf-table-tr:last-child .wf-table-td{border-bottom:none}.wf-table-tr:hover .wf-table-td{background:var(--wf-color-bg-tertiary)}.wf-table-empty{padding:var(--wf-space-xl) var(--wf-space-sm);color:var(--wf-color-text-tertiary)}.wf-table-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--wf-color-primary);appearance:none;-webkit-appearance:none;margin:0;padding:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);position:relative;box-sizing:border-box;flex-shrink:0}.wf-table-checkbox:checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-table-checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:translate(-50%,-60%) rotate(-45deg)}.wf-table-checkbox:indeterminate{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-table-checkbox:indeterminate:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:2px;background:var(--wf-color-on-brand);transform:translate(-50%,-50%)}.wf-table-checkbox:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tabs{font-family:var(--wf-font-sans)}.wf-tab-list{display:flex;gap:0;border-bottom:var(--wf-border-width) solid var(--wf-color-border);overflow-x:auto;scrollbar-width:none;position:relative}.wf-tab-ink{position:absolute;bottom:-1px;left:0;height:2px;background:var(--wf-color-primary);transition:transform var(--wf-dur-base) var(--wf-ease-out),width var(--wf-dur-base) var(--wf-ease-out);pointer-events:none;z-index:1}.wf-tab{display:inline-flex;align-items:center;padding:var(--wf-space) var(--wf-space-md);border:none;background:none;font-family:inherit;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);transition:color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out);white-space:nowrap}.wf-tab:hover{color:var(--wf-color-text)}.wf-tab:active{background:var(--wf-state-pressed)}.wf-tab:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-xs)}.wf-tab--active{color:var(--wf-color-primary-text)}.wf-tab-content{padding-top:var(--wf-space-md)}.wf-tab-list::-webkit-scrollbar{display:none}.wf-tab-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tab-close:hover{background:var(--wf-state-hover);color:var(--wf-color-error-text)}.wf-tab-add{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:auto var(--wf-space-xs);padding:0;border:none;background:transparent;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;flex-shrink:0;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tab-add:hover{background:var(--wf-state-hover);color:var(--wf-color-primary-text)}.wf-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);padding:2px var(--wf-space-sm);border-radius:var(--wf-tag-radius, var(--wf-radius-sm));font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);line-height:var(--wf-line-height)}.wf-tag--default{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary)}.wf-tag--primary{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-tag--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-tag--danger{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-tag-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-xs);padding:0;line-height:0;opacity:.6;color:inherit}.wf-tag-close:hover{opacity:1}.wf-tag-close:active{opacity:.5}.wf-tag-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);min-height:36px;cursor:text;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tags:focus-within{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-tags--err{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-tags--disabled{opacity:.6;cursor:not-allowed}.wf-tags-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);padding:2px var(--wf-space-xs);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary);border:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-tags-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;background:none;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);padding:0;line-height:0;border-radius:var(--wf-radius-xs)}.wf-tags-remove:hover{color:var(--wf-color-error-text)}.wf-tags-remove:focus-visible{outline:2px solid var(--wf-color-primary)}.wf-tags-input{flex:1;min-width:60px;border:none;outline:none;background:transparent;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-xs) 0}.wf-tags-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-textarea-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-textarea{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);width:100%;resize:vertical;line-height:var(--wf-line-height)}.wf-textarea:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-textarea:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-textarea::placeholder{color:var(--wf-color-text-tertiary)}.wf-textarea-count{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-align:right;line-height:1;margin-top:-2px}.wf-textarea-count--over{color:var(--wf-color-error-text)}.wf-textarea--err .wf-textarea{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-theme-switch{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;padding:2px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-secondary);font-family:var(--wf-font-sans);box-shadow:var(--wf-theme-switch-inset, var(--wf-shadow-inset))}.wf-theme-seg{display:inline-flex;align-items:center;justify-content:center;padding:var(--wf-space-xs) var(--wf-space-sm);min-height:26px;border:none;background:none;border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);line-height:1;color:var(--wf-color-text-secondary);cursor:pointer;white-space:nowrap;user-select:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-theme-seg:hover{color:var(--wf-color-text);background:var(--wf-color-bg-tertiary)}.wf-theme-seg--active{background:var(--wf-color-bg);color:var(--wf-color-text);font-weight:var(--wf-font-weight-medium);box-shadow:var(--wf-shadow-sm)}.wf-theme-seg:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-theme-seg:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-theme-preset-row{display:inline-flex;flex-basis:100%;align-items:center;justify-content:center;gap:2px;padding:2px 2px 0;border-top:var(--wf-border-width) solid var(--wf-color-border-light);margin-top:2px}.wf-theme-seg--preset{min-height:22px;padding:2px var(--wf-space-xs);font-size:var(--wf-font-size-xs)}.wf-timeline{margin:0;padding:0;list-style:none}.wf-timeline-item{position:relative;display:flex;gap:var(--wf-gap-md);padding-bottom:var(--wf-space-md)}.wf-timeline-item:not(:last-child):before{content:"";position:absolute;top:20px;bottom:0;left:8px;width:2px;background:var(--wf-color-border)}.wf-timeline-node{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-xs);margin-top:2px}.wf-timeline-node--default{background:var(--wf-color-border);color:var(--wf-color-text-secondary)}.wf-timeline-node--info{background:var(--wf-color-info-text);color:var(--wf-color-on-brand)}.wf-timeline-node--success{background:var(--wf-color-success-text);color:var(--wf-color-on-brand)}.wf-timeline-node--warning{background:var(--wf-color-warning-text);color:var(--wf-color-on-brand)}.wf-timeline-node--error{background:var(--wf-color-error-text);color:var(--wf-color-on-brand)}.wf-timeline-col{flex:1;min-width:0}.wf-timeline-head{display:flex;align-items:baseline;gap:var(--wf-gap-sm);flex-wrap:wrap}.wf-timeline-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-timeline-time{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-timeline-content{margin-top:2px;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-timeline-item--clickable{cursor:pointer;border-radius:var(--wf-radius-sm);padding:2px 4px;margin:-2px -4px}.wf-timeline-item--clickable:hover{background:var(--wf-color-bg-secondary)}.wf-timeline-item--clickable:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-timeline-item--alt-left,.wf-timeline-item--alt-right{width:50%}.wf-timeline-item--alt-left{align-self:flex-start;text-align:right}.wf-timeline-item--alt-right{align-self:flex-end;margin-left:50%}.wf-timeline--h{display:flex;gap:0;overflow-x:auto}.wf-timeline-item--h{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;min-width:var(--wf-timeline-h-min-width, 120px);padding:0 var(--wf-space-xs);padding-bottom:0;text-align:center}.wf-timeline-item--h:not(:last-child):before{content:"";position:absolute;top:10px;left:calc(50% + 11px);right:calc(-50% + 11px);height:2px;width:auto;background:var(--wf-color-border)}.wf-timeline-item--h .wf-timeline-node{margin-top:0}.wf-timeline-item--h .wf-timeline-head{flex-direction:column;align-items:center;gap:2px;margin-top:var(--wf-space-xs)}.wf-toast-container{position:fixed;display:flex;flex-direction:column;gap:var(--wf-gap-sm);z-index:var(--wf-z-toast);pointer-events:none}.wf-toast--tr{top:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-toast--tl{top:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-toast--br{bottom:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end;flex-direction:column-reverse}.wf-toast--bl{bottom:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start;flex-direction:column-reverse}.wf-toast--tc{top:var(--wf-space-lg);left:50%;transform:translate(-50%);align-items:center}.wf-toast{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-radius:var(--wf-toast-radius, var(--wf-radius));box-shadow:var(--wf-shadow-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-width:var(--wf-toast-width, 260px);max-width:400px;cursor:pointer;pointer-events:auto;animation:wf-toast-in var(--wf-dur-base) var(--wf-ease-out)}@keyframes wf-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wf-toast--tl .wf-toast,.wf-toast--bl .wf-toast{animation-name:wf-toast-in-left}@keyframes wf-toast-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.wf-toast--tc .wf-toast{animation-name:wf-toast-in-top}@keyframes wf-toast-in-top{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.wf-toast--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-toast--error{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-toast--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-toast--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-toast-icon{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-bold)}.wf-toast-msg{flex:1;color:var(--wf-color-text)}.wf-toast-action{border:none;background:none;padding:0;cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-primary-text)}.wf-toast-action:hover{text-decoration:underline}.wf-toast-action:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-toast-action--success{color:var(--wf-color-success-text)}.wf-toast-action--error{color:var(--wf-color-error-text)}.wf-toast-action--warning{color:var(--wf-color-warning-text)}.wf-toast-action--info{color:var(--wf-color-primary-text)}.wf-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);border:var(--wf-border-width) solid transparent;background:none;cursor:pointer;font-family:var(--wf-font-sans);color:var(--wf-color-text-secondary);border-radius:var(--wf-radius-sm);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-toggle:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-toggle:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-toggle--pressed{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-toggle--outline{border-color:var(--wf-color-border)}.wf-toggle--outline.wf-toggle--pressed{border-color:var(--wf-color-primary)}.wf-toggle:disabled{cursor:not-allowed;opacity:.5}.wf-toggle--sm{padding:2px var(--wf-space-sm)}.wf-toggle--md{padding:var(--wf-space-xs) var(--wf-space)}.wf-toggle--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-toggle-group{display:inline-flex;align-items:center;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:2px;gap:2px;font-family:var(--wf-font-sans)}.wf-toggle-group .wf-toggle{border:none;border-radius:var(--wf-radius-sm)}.wf-toggle-group--sm{font-size:var(--wf-font-size-sm)}.wf-toggle-group--md{font-size:var(--wf-font-size-base)}.wf-toggle-group--lg{font-size:var(--wf-font-size-lg)}.wf-toolcall{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);background:var(--wf-color-bg-tertiary)}.wf-toolcall-header{display:flex;align-items:center;gap:var(--wf-gap-xs);margin-bottom:var(--wf-gap-xs)}.wf-toolcall-icon{font-size:var(--wf-font-size-sm)}.wf-toolcall-icon--running{color:var(--wf-color-info-text)}.wf-toolcall-icon--ok{color:var(--wf-color-success-text)}.wf-toolcall-icon--error{color:var(--wf-color-error-text)}.wf-toolcall-name{font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-toolcall-msg{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-toolcall-bar{height:4px;border-radius:var(--wf-radius-xs);background:var(--wf-color-bg-tertiary);overflow:hidden;margin-top:var(--wf-gap-xs)}.wf-toolcall-bar-fill{height:100%;background:var(--wf-color-info);transition:width var(--wf-transition)}.wf-toolcall-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-tooltip-wrap{display:inline-flex;width:fit-content}.wf-tooltip{position:fixed;z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-tooltip-radius, var(--wf-radius-sm));box-shadow:var(--wf-shadow-md);white-space:nowrap;pointer-events:none;max-width:min(var(--wf-popup-max, 240px),calc(100vw - 32px));animation:wf-tooltip-in var(--wf-dur-fast) var(--wf-ease-out)}.wf-tooltip--hidden{visibility:hidden}.wf-tooltip-arrow{position:absolute;width:0;height:0;border:5px solid transparent}.wf-tooltip--bottom .wf-tooltip-arrow{top:-5px;left:50%;transform:translate(-50%);border-bottom-color:var(--wf-color-text);border-top:none}.wf-tooltip--top .wf-tooltip-arrow{top:100%;left:50%;transform:translate(-50%);border-top-color:var(--wf-color-text);border-bottom:none}.wf-tooltip--left .wf-tooltip-arrow{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--wf-color-text);border-right:none}.wf-tooltip--right .wf-tooltip-arrow{left:-5px;top:50%;transform:translateY(-50%);border-right-color:var(--wf-color-text);border-left:none}.wf-tooltip-content{line-height:1.4}@keyframes wf-tooltip-in{0%{opacity:0}to{opacity:1}}.wf-tour-highlight{position:fixed;border-radius:var(--wf-radius-sm);box-shadow:0 0 0 9999px var(--wf-overlay),0 0 0 2px var(--wf-color-primary);z-index:1;pointer-events:none;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tour-bubble{position:fixed;z-index:1;min-width:var(--wf-tour-min-width);max-width:360px;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-md);display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-tour-bubble--top{transform:translateY(-100%)}.wf-tour-bubble--bottom{transform:translateY(0)}.wf-tour-bubble--left{transform:translate(-100%)}.wf-tour-bubble--right{transform:translate(0)}.wf-tour-bubble-header{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm)}.wf-tour-title{font-weight:600;font-size:var(--wf-font-size-base)}.wf-tour-step{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-tour-content{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);line-height:1.6}.wf-tour-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);margin-top:var(--wf-space-xs)}.wf-tour-btn{min-height:32px;padding:0 var(--wf-space-md);border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg);color:var(--wf-color-text);font-size:var(--wf-font-size-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.wf-tour-btn--primary{background:var(--wf-color-primary);border-color:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-tour-btn--ghost{background:transparent;border-color:transparent;color:var(--wf-color-text-secondary)}.wf-tour-btn:hover{filter:brightness(.95)}.wf-transfer{display:flex;align-items:stretch;gap:var(--wf-gap, var(--wf-gap-md));font-family:var(--wf-font-sans)}.wf-transfer-list{flex:1;min-width:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden}.wf-transfer-title{padding:var(--wf-space) var(--wf-space-md);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-transfer-body{max-height:240px;overflow-y:auto;padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-transfer-item{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-transfer-item:hover{background:var(--wf-color-bg-tertiary)}.wf-transfer-item--sel{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-transfer-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-transfer-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-transfer-item--dis:hover{background:none}.wf-transfer-empty{padding:var(--wf-space-lg);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-transfer-actions{display:flex;flex-direction:column;justify-content:center;gap:var(--wf-gap-sm)}.wf-transfer-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text-secondary);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-transfer-btn:hover:not(:disabled){background:var(--wf-color-bg-tertiary);color:var(--wf-color-text);border-color:var(--wf-color-primary)}.wf-transfer-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-transfer-btn:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}@media(pointer:coarse){.wf-transfer-btn{width:44px;height:44px;min-width:44px;min-height:44px}}@media(max-width:767.98px){.wf-transfer{flex-direction:column}}.wf-transfer-search{width:100%;box-sizing:border-box;margin-bottom:var(--wf-gap-xs);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space-sm);font-size:var(--wf-font-size-sm)}.wf-tree{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-tree-row{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tree-row:hover{background:var(--wf-state-hover)}.wf-tree-row:active{background:var(--wf-state-pressed)}.wf-tree-row--selected{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-tree-row:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-row--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-tree-switcher{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;max-width:18px;min-height:18px;max-height:18px;padding:0;line-height:0;border:none;background:none;cursor:pointer;color:var(--wf-color-text-tertiary);border-radius:var(--wf-radius-sm);flex-shrink:0;box-sizing:border-box}.wf-tree-switcher:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-tree-switcher:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-switcher svg{transform:rotate(-90deg);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-tree-switcher--open svg{transform:rotate(0)}.wf-tree-switcher-placeholder{width:18px;height:18px;flex-shrink:0}.wf-tree-checkbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;max-width:14px;min-height:14px;max-height:14px;padding:0;line-height:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;position:relative;flex-shrink:0;box-sizing:border-box}.wf-tree-checkbox:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-checkbox--checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-tree-checkbox--checked:after{content:"";width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:rotate(-45deg) translateY(-1px)}.wf-tree-checkbox--half{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-tree-checkbox--half:after{content:"";width:6px;height:2px;background:var(--wf-color-on-brand)}.wf-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-tree-match{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text);border-radius:var(--wf-radius-xs);padding:0 1px}.wf-tree-empty{padding:var(--wf-space-md);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);text-align:center}.wf-treeselect{position:relative;display:inline-block;min-width:var(--wf-treeselect-min-width);max-width:var(--wf-treeselect-max-width)}.wf-treeselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;min-height:36px;user-select:none}.wf-treeselect-trigger:hover{border-color:var(--wf-color-primary)}.wf-treeselect-trigger--open{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-treeselect-placeholder{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-treeselect-label{font-size:var(--wf-font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-treeselect-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--wf-color-text-tertiary);transition:transform var(--wf-dur-fast) var(--wf-ease-out);flex-shrink:0}.wf-treeselect-arrow--open{transform:rotate(180deg)}.wf-treeselect-dropdown{z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-xs);max-height:var(--wf-treeselect-dropdown-max-height);overflow:auto}.wf-treeselect-trigger--dis{opacity:.5;cursor:not-allowed;background:var(--wf-color-fill)}.wf-treeselect-trigger--err{border-color:var(--wf-color-error)}.wf-treeselect-trigger--err:focus-visible{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-title{margin:0;font-family:var(--wf-font-sans);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking)}.wf-title--1{font-size:var(--wf-font-size-5xl);line-height:1.2}.wf-title--2{font-size:var(--wf-font-size-4xl);line-height:var(--wf-line-height-tight)}.wf-title--3{font-size:var(--wf-font-size-3xl);line-height:1.3}.wf-title--4{font-size:var(--wf-font-size-2xl);line-height:1.35}.wf-title--5{font-size:var(--wf-font-size-xl);line-height:1.4}.wf-text{display:inline;align-self:flex-start;font-family:var(--wf-font-sans);color:var(--wf-color-text)}.wf-text--secondary{color:var(--wf-color-text-secondary)}.wf-text--success{color:var(--wf-color-success-text)}.wf-text--warning{color:var(--wf-color-warning-text)}.wf-text--danger{color:var(--wf-color-error-text)}.wf-text--strong{font-weight:var(--wf-font-weight-semibold)}.wf-text--underline{text-decoration:underline}.wf-text--strike{text-decoration:line-through}.wf-text--mark{background:var(--wf-color-warning-bg);padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-sm)}.wf-text--code{font-family:var(--wf-font-mono);font-size:.875em;background:var(--wf-color-bg-tertiary);padding:1px var(--wf-space-xs);border-radius:var(--wf-radius-sm)}.wf-text--xs{font-size:var(--wf-font-size-xs)}.wf-text--sm{font-size:var(--wf-font-size-sm)}.wf-text--lg{font-size:var(--wf-font-size-lg)}.wf-paragraph{margin:0 0 var(--wf-space-md);font-family:var(--wf-font-sans);color:var(--wf-color-text);line-height:1.6}.wf-paragraph:last-child{margin-bottom:0}.wf-paragraph--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wf-videoplayer{width:100%}.wf-virtual-list{position:relative;font-family:var(--wf-font-sans);overflow-y:auto}.wf-virtual-list-spacer{width:100%}.wf-virtual-list-window{position:absolute;top:0;left:0;right:0}.wf-virtual-list-item{box-sizing:border-box}.wf-virtual-list--empty{display:flex;align-items:center;justify-content:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-virtual-table{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden}.wf-virtual-table-thead{display:flex;border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-virtual-table-th{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-sm) var(--wf-space-md);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);flex-shrink:0;box-sizing:border-box}.wf-virtual-table-th--sortable{cursor:pointer;user-select:none}.wf-virtual-table-th--sortable:hover{color:var(--wf-color-text)}.wf-virtual-table-th--sortable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-virtual-table-th--sorted{color:var(--wf-color-primary-text)}.wf-virtual-table-sort-icon{display:inline-flex;color:var(--wf-color-text-tertiary)}.wf-virtual-table-sort-icon--active{color:var(--wf-color-primary-text)}.wf-virtual-table-body{position:relative;overflow-y:auto}.wf-virtual-table-spacer{pointer-events:none}.wf-virtual-table-row{display:flex;align-items:center;box-sizing:border-box;border-bottom:var(--wf-border-width) solid var(--wf-color-border);cursor:default}.wf-virtual-table-row:hover{background:var(--wf-color-bg-tertiary)}.wf-virtual-table-td{display:flex;align-items:center;padding:0 var(--wf-space-md);flex-shrink:0;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--wf-color-text)}.wf-virtual-table-empty{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-lg);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-virtual-table-th--select,.wf-virtual-table-td--select{display:flex;align-items:center;justify-content:center;flex-shrink:0}.wf-virtual-table-check{width:14px;height:14px;cursor:pointer;accent-color:var(--wf-color-primary);appearance:none;-webkit-appearance:none;margin:0;padding:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);position:relative;box-sizing:border-box;flex-shrink:0}.wf-virtual-table-check:checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-virtual-table-check:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:translate(-50%,-60%) rotate(-45deg)}.wf-virtual-table-check:indeterminate{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-virtual-table-check:indeterminate:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:2px;background:var(--wf-color-on-brand);transform:translate(-50%,-50%)}.wf-virtual-table-check:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-watermark{position:relative;font-family:var(--wf-font-sans)}.wf-watermark-overlay{position:absolute;inset:0;background-repeat:repeat;background-size:auto}.wf-wave{position:relative;display:inline-block;overflow:hidden;border-radius:inherit;-webkit-tap-highlight-color:transparent}.wf-wave-ripple{position:absolute;border-radius:50%;pointer-events:none;background:color-mix(in srgb,currentColor 12%,transparent);transform:scale(0);animation:wf-wave-pop var(--wf-dur-base) var(--wf-ease-out) forwards}@keyframes wf-wave-pop{to{transform:scale(1);opacity:0}}.wf-wordcloud{position:relative;max-width:100%}.wf-wordcloud svg{display:block}.wf-wordcloud text{cursor:default;transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-wordcloud--clickable text{cursor:pointer;pointer-events:bounding-box}.wf-wordcloud--clickable text:hover,.wf-wordcloud--clickable text:focus-visible{opacity:.7}.wf-wordcloud-tooltip{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);background:var(--wf-color-text);color:var(--wf-color-bg);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);white-space:nowrap;pointer-events:none}.wf-wordcloud-tooltip-word{font-weight:var(--wf-font-weight-semibold)}.wf-wordcloud-tooltip-weight{color:var(--wf-color-bg-secondary);font-size:var(--wf-font-size-xs)}.wf-wordcloud-empty{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--wf-space-md);border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius);color:var(--wf-color-text-tertiary);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}}
|
|
1
|
+
@layer tokens,base,layout,components,utilities;:root{--wf-brand-seed: #4f6ef7;--wf-brand-500: var(--wf-brand-seed);--wf-brand-600: color-mix(in srgb, var(--wf-brand-seed) 85%, #000);--wf-brand-700: color-mix(in srgb, var(--wf-brand-seed) 70%, #000);--wf-brand-50: color-mix(in srgb, var(--wf-brand-seed) 12%, #fff);--wf-green-500: #22c55e;--wf-green-50: #f0fdf4;--wf-green-700: #15803d;--wf-amber-500: #f59e0b;--wf-amber-50: #fffbeb;--wf-amber-700: #b45309;--wf-red-500: #ef4444;--wf-red-50: #fef2f2;--wf-red-700: #b91c1c;--wf-sky-500: #1677ff;--wf-sky-50: #e6f4ff;--wf-sky-700: #0369a1;--wf-slate-900: #0f172a;--wf-slate-500: #64748b;--wf-slate-400: #94a3b8;--wf-slate-300: #cbd5e1;--wf-slate-200: #e2e8f0;--wf-slate-100: #f1f5f9;--wf-slate-50: #f8fafc;--wf-white: #ffffff;--wf-dark-brand-seed: #6b8aff;--wf-dark-brand-500: var(--wf-dark-brand-seed);--wf-dark-brand-600: color-mix(in srgb, var(--wf-dark-brand-seed) 78%, #fff);--wf-dark-brand-50: color-mix(in srgb, var(--wf-dark-brand-seed) 12%, #0f172a);--wf-dark-green-500: #4ade80;--wf-dark-green-50: #14532d;--wf-dark-amber-500: #fbbf24;--wf-dark-amber-50: #451a03;--wf-dark-red-500: #f87171;--wf-dark-red-50: #451a1a;--wf-dark-sky-500: #60a5fa;--wf-dark-sky-50: #172554;--wf-dark-slate-900: #f1f5f9;--wf-dark-slate-500: #94a3b8;--wf-dark-slate-400: #64748b;--wf-dark-slate-300: #475569;--wf-dark-slate-200: #334155;--wf-dark-slate-100: #1e293b;--wf-dark-bg: #0f172a;--wf-dark-overlay: rgba(0, 0, 0, .6);--wf-dark-fill: var(--wf-dark-slate-200);--wf-dark-bg-hover: var(--wf-dark-state-hover);--wf-dark-state-hover: rgba(255, 255, 255, .06);--wf-dark-state-pressed: rgba(255, 255, 255, .1);--wf-dark-surface-shadow: var(--wf-dark-shadow);--wf-dark-shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--wf-dark-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .3);--wf-dark-shadow: 0 1px 3px rgba(0, 0, 0, .3);--wf-dark-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--wf-dark-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4)}:root{--wf-space-xs: 4px;--wf-space-sm: 8px;--wf-space: 12px;--wf-space-md: 16px;--wf-space-lg: 24px;--wf-space-xl: 32px;--wf-space-2xl: 40px;--wf-gap-xs: var(--wf-space-xs);--wf-gap-sm: var(--wf-space-sm);--wf-gap-md: var(--wf-space);--wf-gap-lg: var(--wf-space-md);--wf-gap-xl: var(--wf-space-lg);--wf-gap-2xl: var(--wf-space-xl);--wf-radius-xs: 2px;--wf-radius-sm: 4px;--wf-radius: 6px;--wf-radius-md: 8px;--wf-radius-lg: 12px;--wf-radius-xl: 20px;--wf-surface-radius: var(--wf-radius-md);--wf-surface-shadow: var(--wf-shadow);--wf-shadow-sm: 0 1px 2px rgba(0,0,0,.05);--wf-shadow-inset: inset 0 1px 2px rgba(0,0,0,.04);--wf-shadow: 0 1px 3px rgba(0,0,0,.08);--wf-shadow-md: 0 4px 12px rgba(0,0,0,.1);--wf-shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1);--wf-z-sticky: 40;--wf-z-overlay: 80;--wf-z-modal: 100;--wf-tour-min-width: 240px;--wf-kanban-col-min-width: 200px;--wf-layout-sider-width: 240px;--wf-layout-sider-collapsed-width: 64px;--wf-layout-header-height: 56px;--wf-kanban-col-max-width: 300px;--wf-treeselect-min-width: 200px;--wf-navmenu-min-width: 160px;--wf-select-menu-min-width: 200px;--wf-treeselect-max-width: 320px;--wf-treeselect-dropdown-max-height: 260px;--wf-z-popover: 120;--wf-z-toast: 140;--wf-z-tooltip: 160;--wf-z-dropdown: var(--wf-z-popover);--wf-pop-z: var(--wf-z-popover);--wf-cover-z: var(--wf-z-modal);--wf-color-primary: var(--wf-brand-500);--wf-color-primary-hover: var(--wf-brand-600);--wf-color-primary-bg: var(--wf-brand-50);--wf-color-success: var(--wf-green-500);--wf-color-success-bg: var(--wf-green-50);--wf-color-warning: var(--wf-amber-500);--wf-color-warning-bg: var(--wf-amber-50);--wf-color-error: var(--wf-red-500);--wf-color-error-bg: var(--wf-red-50);--wf-color-text: var(--wf-slate-900);--wf-color-text-secondary: var(--wf-slate-500);--wf-color-text-tertiary: var(--wf-slate-400);--wf-color-text-disabled: var(--wf-slate-300);--wf-color-bg: var(--wf-white);--wf-color-bg-secondary: var(--wf-slate-50);--wf-color-bg-tertiary: var(--wf-slate-100);--wf-color-border: var(--wf-slate-200);--wf-color-border-light: var(--wf-slate-100);--wf-color-border-dark: var(--wf-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-color-bg-elevated: var(--wf-color-bg);--wf-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--wf-font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "PingFang SC", "Microsoft YaHei", monospace;--wf-font-size-xs: 12px;--wf-font-size-sm: 13px;--wf-font-size-base: 14px;--wf-font-size-lg: 15px;--wf-font-size-xl: 16px;--wf-font-size-2xl: 21px;--wf-font-size-3xl: 24px;--wf-font-size-4xl: 30px;--wf-font-size-5xl: 36px;--wf-font-size-display: 30px;--wf-heading-case: none;--wf-heading-tracking: 0;--wf-font-weight-normal: 400;--wf-font-weight-medium: 500;--wf-font-weight-semibold: 600;--wf-font-weight-bold: 700;--wf-line-height-tight: 1.25;--wf-line-height: 1.5;--wf-line-height-relaxed: 1.75;--wf-border-width: 1px;--wf-focus-ring: 0 0 0 2px var(--wf-color-primary-bg), 0 0 0 1px var(--wf-color-primary);--wf-transition-duration: var(--wf-dur-fast);--wf-transition-timing: var(--wf-ease-out);--wf-transition: var(--wf-transition-duration) var(--wf-transition-timing);--wf-dur-fast: .12s;--wf-dur-base: .2s;--wf-dur-slow: .3s;--wf-ease-out: cubic-bezier(.16, 1, .3, 1);--wf-ease-in: cubic-bezier(.4, 0, 1, 1);--wf-ease-in-out: cubic-bezier(.4, 0, .2, 1);--wf-ease-snap: cubic-bezier(.34, 1.56, .64, 1);--wf-ease-standard: ease;--wf-dur-md: var(--wf-dur-base);--wf-motion-sm: 4px;--wf-dur-spin: .6s;--wf-dur-pulse: 1.2s;--wf-dur-blink: 1.1s;--wf-dur-progress: 1.4s;--wf-color-info: var(--wf-sky-500);--wf-color-info-bg: var(--wf-sky-50);--wf-color-primary-text: var(--wf-brand-700);--wf-color-success-text: var(--wf-green-700);--wf-color-warning-text: var(--wf-amber-700);--wf-color-error-text: var(--wf-red-700);--wf-color-info-text: var(--wf-sky-700);--wf-color-fill: var(--wf-slate-100);--wf-color-bg-subtle: var(--wf-color-fill);--wf-state-hover: rgba(0, 0, 0, .04);--wf-state-pressed: rgba(0, 0, 0, .08);--wf-color-bg-hover: var(--wf-state-hover);--wf-color-on-brand: #fff;--wf-color-on-warning: #451a03;--wf-overlay: rgba(0, 0, 0, .4);--wf-overlay-blur: 4px;--wf-accent-color: var(--wf-color-primary);--wf-caret-color: var(--wf-color-primary);--wf-control-pad-y: 10px;--wf-control-height: 36px;--wf-field-height: var(--wf-control-height);--wf-field-radius: var(--wf-radius);--wf-bp-sm: 640px;--wf-bp-md: 768px;--wf-bp-lg: 1024px;--wf-bp-xl: 1280px;--wf-sidebar-width: 240px;--wf-opacity-disabled: .5;--wf-letter-spacing-wide: .5px;--wf-heading-display-tracking: -.5px;--wf-nums: "tabular-nums"}@supports not (color: color-mix(in srgb,red 50%,blue)){:root{--wf-brand-600: #3b5ae0;--wf-brand-700: #4338ca;--wf-brand-50: #eef1ff;--wf-dark-brand-600: #8ba3ff;--wf-dark-brand-50: #1e293b}}:root[data-theme=dark]{color-scheme:dark;--wf-color-primary: var(--wf-dark-brand-500);--wf-color-primary-hover: var(--wf-dark-brand-600);--wf-color-primary-bg: var(--wf-dark-brand-50);--wf-color-success: var(--wf-dark-green-500);--wf-color-success-bg: var(--wf-dark-green-50);--wf-color-warning: var(--wf-dark-amber-500);--wf-color-warning-bg: var(--wf-dark-amber-50);--wf-color-error: var(--wf-dark-red-500);--wf-color-error-bg: var(--wf-dark-red-50);--wf-color-info: var(--wf-dark-sky-500);--wf-color-info-bg: var(--wf-dark-sky-50);--wf-color-text: var(--wf-dark-slate-900);--wf-color-text-secondary: var(--wf-dark-slate-500);--wf-color-text-tertiary: var(--wf-dark-slate-400);--wf-color-text-disabled: var(--wf-dark-slate-300);--wf-color-bg: var(--wf-dark-bg);--wf-color-bg-secondary: var(--wf-dark-slate-100);--wf-color-bg-tertiary: var(--wf-dark-slate-200);--wf-color-fill: var(--wf-dark-fill);--wf-color-bg-subtle: var(--wf-dark-fill);--wf-color-bg-hover: var(--wf-dark-bg-hover);--wf-state-hover: var(--wf-dark-state-hover);--wf-state-pressed: var(--wf-dark-state-pressed);--wf-color-bg-elevated: var(--wf-dark-slate-100);--wf-color-border: var(--wf-dark-slate-200);--wf-color-border-light: var(--wf-dark-slate-100);--wf-color-border-dark: var(--wf-dark-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-surface-shadow: var(--wf-dark-surface-shadow);--wf-shadow-sm: var(--wf-dark-shadow-sm);--wf-shadow: var(--wf-dark-shadow);--wf-shadow-md: var(--wf-dark-shadow-md);--wf-shadow-lg: var(--wf-dark-shadow-lg);--wf-shadow-inset: var(--wf-dark-shadow-inset);--wf-color-primary-text: var(--wf-dark-brand-500);--wf-color-success-text: var(--wf-dark-green-500);--wf-color-warning-text: var(--wf-dark-amber-500);--wf-color-error-text: var(--wf-dark-red-500);--wf-color-info-text: var(--wf-dark-sky-500);--wf-overlay: var(--wf-dark-overlay)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--wf-color-primary: var(--wf-dark-brand-500);--wf-color-primary-hover: var(--wf-dark-brand-600);--wf-color-primary-bg: var(--wf-dark-brand-50);--wf-color-success: var(--wf-dark-green-500);--wf-color-success-bg: var(--wf-dark-green-50);--wf-color-warning: var(--wf-dark-amber-500);--wf-color-warning-bg: var(--wf-dark-amber-50);--wf-color-error: var(--wf-dark-red-500);--wf-color-error-bg: var(--wf-dark-red-50);--wf-color-info: var(--wf-dark-sky-500);--wf-color-info-bg: var(--wf-dark-sky-50);--wf-color-text: var(--wf-dark-slate-900);--wf-color-text-secondary: var(--wf-dark-slate-500);--wf-color-text-tertiary: var(--wf-dark-slate-400);--wf-color-text-disabled: var(--wf-dark-slate-300);--wf-color-bg: var(--wf-dark-bg);--wf-color-bg-secondary: var(--wf-dark-slate-100);--wf-color-bg-tertiary: var(--wf-dark-slate-200);--wf-color-fill: var(--wf-dark-fill);--wf-color-bg-subtle: var(--wf-dark-fill);--wf-color-bg-hover: var(--wf-dark-bg-hover);--wf-state-hover: var(--wf-dark-state-hover);--wf-state-pressed: var(--wf-dark-state-pressed);--wf-color-bg-elevated: var(--wf-dark-slate-100);--wf-color-border: var(--wf-dark-slate-200);--wf-color-border-light: var(--wf-dark-slate-100);--wf-color-border-dark: var(--wf-dark-slate-300);--wf-surface-bg: var(--wf-color-bg);--wf-surface-shadow: var(--wf-dark-surface-shadow);--wf-shadow-sm: var(--wf-dark-shadow-sm);--wf-shadow: var(--wf-dark-shadow);--wf-shadow-md: var(--wf-dark-shadow-md);--wf-shadow-lg: var(--wf-dark-shadow-lg);--wf-shadow-inset: var(--wf-dark-shadow-inset);--wf-color-primary-text: var(--wf-dark-brand-500);--wf-color-success-text: var(--wf-dark-green-500);--wf-color-warning-text: var(--wf-dark-amber-500);--wf-color-error-text: var(--wf-dark-red-500);--wf-color-info-text: var(--wf-dark-sky-500);--wf-overlay: var(--wf-dark-overlay)}}:root[data-preset=minimal]{--wf-brand-seed: #64748b;--wf-dark-brand-seed: #94a3b8}:root[data-preset=compact]{--wf-control-height: 32px;--wf-control-pad-y: 6px;--wf-space-xs: 3px;--wf-space-sm: 6px;--wf-space: 9px;--wf-space-md: 12px;--wf-space-lg: 18px;--wf-space-xl: 24px;--wf-space-2xl: 30px;--wf-font-size-sm: 12px;--wf-font-size-base: 13px}:root[data-preset=rounded]{--wf-radius-sm: 8px;--wf-radius: 12px;--wf-radius-md: 16px;--wf-radius-lg: 20px;--wf-radius-xl: 28px;--wf-surface-radius: var(--wf-radius-md);--wf-btn-radius: 999px;--wf-field-radius: var(--wf-radius-md)}@property --wf-gap{syntax: "*"; inherits: false;}@property --wf-align{syntax: "*"; inherits: false;}@property --wf-justify{syntax: "*"; inherits: false;}@property --wf-cols{syntax: "*"; inherits: false;}@property --wf-max{syntax: "*"; inherits: false;}@property --wf-w-sm{syntax: "*"; inherits: false;}@property --wf-z{syntax: "*"; inherits: false;}@property --wf-offset{syntax: "*"; inherits: false;}@property --wf-popup-max{syntax: "*"; inherits: false;}@layer base{*,*:before,*:after{box-sizing:border-box}::selection{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}*{scrollbar-width:thin;scrollbar-color:var(--wf-color-border-dark) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--wf-color-border-dark);border-radius:var(--wf-radius-sm);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--wf-color-text-secondary);background-clip:padding-box;border:2px solid transparent}:root{color-scheme:light}body{margin:0;background:var(--wf-color-bg);color:var(--wf-color-text);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);-webkit-font-smoothing:antialiased}a{color:var(--wf-color-primary-text);text-decoration:none}a:hover{color:var(--wf-color-primary-hover);text-decoration:underline}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input,textarea,select{accent-color:var(--wf-accent-color);caret-color:var(--wf-caret-color);background:var(--wf-color-bg);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-control-pad-y) var(--wf-space)}input:focus,textarea:focus,select:focus{outline:none;box-shadow:var(--wf-focus-ring);border-color:var(--wf-color-primary)}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}button{accent-color:var(--wf-accent-color);background:var(--wf-color-bg);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-control-pad-y) var(--wf-space-md);min-height:var(--wf-control-height);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),filter var(--wf-dur-fast) var(--wf-ease-out)}button:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}button:active:not(:disabled),[role=button]:active{filter:brightness(.95)}button:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}[role=button]{cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),filter var(--wf-dur-fast) var(--wf-ease-out)}@media(pointer:coarse){button,[role=button],input,textarea,select,.wf-card--clickable,.wf-table-th--sortable,.wf-accordion-summary,.wf-tag-close,.wf-checkbox,.wf-switch,.wf-radio,.wf-datepicker-cell{min-height:44px;min-width:44px}}h1,h2,h3,h4,h5,h6{font-weight:var(--wf-font-weight-semibold);line-height:var(--wf-line-height-tight);color:var(--wf-color-text)}p{line-height:var(--wf-line-height-relaxed)}small{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}label{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}td{padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text);font-size:var(--wf-font-size-base)}hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0}pre,code{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm)}pre{background:var(--wf-color-bg-secondary);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);overflow-x:auto;white-space:pre}code{background:var(--wf-color-bg-secondary);padding:2px 6px;border-radius:var(--wf-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}}body.wf-dragging{user-select:none;-webkit-user-select:none}@keyframes wf-stream-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.wf-stream-in{animation:wf-stream-in var(--wf-dur-base) var(--wf-ease-out) both}@media(prefers-reduced-motion:reduce){.wf-stream-in{animation-duration:.01ms}}.wf-hero-cursor{animation:wf-hero-blink 1s step-end infinite;color:var(--wf-color-primary)}@keyframes wf-hero-blink{0%,to{opacity:1}50%{opacity:0}}}@layer layout{.wf-stack{display:flex;flex-direction:column}:where(.wf-stack){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, stretch)}}@layer layout{.wf-row{display:flex;flex-wrap:wrap}:where(.wf-row){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, center)}.wf-row-reverse{display:flex;flex-direction:row-reverse;flex-wrap:wrap}:where(.wf-row-reverse){gap:var(--wf-gap, var(--wf-gap-md));align-items:var(--wf-align, center)}.wf-items-start{--wf-align: flex-start}.wf-items-center{--wf-align: center}.wf-items-end{--wf-align: flex-end}.wf-items-stretch{--wf-align: stretch}}@layer layout{.wf-split{display:flex;justify-content:space-between}:where(.wf-split){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-split>:last-child{flex-shrink:0}}@layer layout{.wf-center{display:flex;flex-direction:column;align-items:center;justify-content:center}}@layer layout{.wf-justify-between{display:flex;justify-content:space-between}:where(.wf-justify-between){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-justify-end{display:flex;justify-content:flex-end}:where(.wf-justify-end){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}.wf-justify-center{display:flex;justify-content:center}:where(.wf-justify-center){align-items:var(--wf-align, center);gap:var(--wf-gap, var(--wf-gap-md))}}@layer layout{.wf-fill{flex:1;min-width:0;min-height:0}.wf-fill-hover{border-radius:var(--wf-radius-sm);padding:2px 4px;margin:-2px -4px;transition:background .15s ease}.wf-fill-hover:hover{background:var(--wf-color-bg-secondary)}}@layer layout{.wf-grid{display:grid;grid-template-columns:var(--wf-cols, repeat(auto-fill, minmax(280px, 1fr)))}:where(.wf-grid){gap:var(--wf-gap, var(--wf-gap-lg))}}@layer layout{.wf-cluster{display:flex;flex-wrap:wrap}:where(.wf-cluster){gap:var(--wf-gap, var(--wf-gap-sm));justify-content:var(--wf-justify, center);align-items:var(--wf-align, center)}}@layer layout{.wf-cover{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--wf-z, var(--wf-cover-z))}}@layer layout{.wf-relative{position:relative}.wf-absolute{position:absolute}}@layer layout{.wf-sticky{position:sticky;top:var(--wf-offset, 0)}}@layer layout{.wf-overflow-auto{overflow:auto}.wf-overflow-hidden{overflow:hidden}.wf-overflow-x{overflow-x:auto}}@layer layout{.wf-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.wf-safe-top{padding-top:env(safe-area-inset-top)}}@layer layout{.wf-layer{position:relative;z-index:var(--wf-z, 1)}}@layer layout{.wf-self-start{align-self:flex-start}.wf-self-center{align-self:center}.wf-self-end{align-self:flex-end}.wf-self-stretch{align-self:stretch}}@layer layout{.wf-nowrap{display:flex;flex-wrap:nowrap}:where(.wf-nowrap){gap:var(--wf-gap, var(--wf-gap-md))}}@layer layout{.wf-shrink{min-width:0;min-height:0}.wf-min-width-0{min-width:0}}@layer layout{.wf-container{width:100%;max-width:var(--wf-max, 1200px);margin:0 auto;padding:0 var(--wf-gap, var(--wf-gap-lg))}}@layer layout{.wf-app-shell{display:grid;grid-template-columns:var(--wf-sidebar-width, 240px) minmax(0,1fr);height:100vh;overflow:hidden}.wf-sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--wf-color-bg-secondary);border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-sidebar-header{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);flex-shrink:0}.wf-sidebar-body{flex:1;padding:var(--wf-space-sm);overflow-y:auto}.wf-sidebar-footer{padding:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light);flex-shrink:0}.wf-nav{display:flex;flex-direction:column;gap:2px}.wf-nav-group{font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space-md) var(--wf-space-sm) var(--wf-space-xs)}.wf-nav-item{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-base);text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit;transition:background var(--wf-transition),color var(--wf-transition)}.wf-nav-item:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text);text-decoration:none}.wf-nav-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-nav-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-nav-item--active:hover{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-nav--collapsed .wf-nav-item{justify-content:center;gap:0;padding:var(--wf-space-sm)}.wf-nav--collapsed .wf-nav-label{display:none}.wf-nav--collapsed .wf-nav-group{text-align:center;padding-left:0;padding-right:0;overflow:hidden;white-space:nowrap}.wf-main{padding:var(--wf-space-lg);min-width:0;min-height:0;overflow-y:auto;background:var(--wf-color-bg);--wf-main-max: none}.wf-main>*{max-width:var(--wf-main-max);margin-inline:auto}@media(pointer:coarse){.wf-nav-item{min-height:44px}}@media(max-width:767.98px){.wf-app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.wf-sidebar{position:static;height:auto;border-right:none;border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-main{padding:var(--wf-space-md);overflow:visible}}}@layer utilities{.wf-surface{border-radius:var(--wf-surface-radius);box-shadow:var(--wf-surface-shadow);background:var(--wf-surface-bg)}.wf-surface--flat{box-shadow:none}.wf-bg-secondary{background:var(--wf-color-bg-secondary)}.wf-bg-tertiary{background:var(--wf-color-bg-tertiary)}.wf-bg-primary{background:var(--wf-color-primary-bg)}.wf-bg-warning{background:var(--wf-color-warning-bg)}.wf-bg-error{background:var(--wf-color-error-bg)}.wf-bg-none{background:transparent}.wf-pill{border-radius:999px}.wf-radius-sm{border-radius:var(--wf-radius-sm)}.wf-radius{border-radius:var(--wf-radius)}.wf-radius-md{border-radius:var(--wf-radius-md)}.wf-radius-lg{border-radius:var(--wf-radius-lg)}.wf-shadow{box-shadow:var(--wf-shadow)}.wf-elevate{transition:box-shadow var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-elevate:hover{box-shadow:var(--wf-shadow-md);transform:translateY(-2px)}.wf-elevate:focus-visible{outline:none;box-shadow:var(--wf-shadow-md),var(--wf-focus-ring)}.wf-panel-in{animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}@keyframes wf-panel-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1)) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.wf-bubble{display:inline-block;max-width:70%;padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-secondary);color:var(--wf-color-text);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);white-space:pre-wrap;word-break:break-word}.wf-bubble--own{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-bottom-right-radius:var(--wf-radius-sm)}.wf-bubble--ai{background:var(--wf-color-primary-bg);border:var(--wf-border-width) solid var(--wf-color-border-light);border-bottom-left-radius:var(--wf-radius-sm)}.wf-rounded-sm{border-radius:var(--wf-radius-sm)}.wf-rounded-md{border-radius:var(--wf-radius-md)}.wf-card-outline{border:var(--wf-border-width) solid var(--wf-color-border)}}@layer utilities{.wf-border{border:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-top{border-top:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-bottom{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-left{border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-right{border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-border-none{border:none}}@layer utilities{.wf-text-left{text-align:left}.wf-text-center{text-align:center}.wf-text-right{text-align:right}.wf-font-xs{font-size:var(--wf-font-size-xs)}.wf-font-sm{font-size:var(--wf-font-size-sm)}.wf-font-base{font-size:var(--wf-font-size-base)}.wf-font-lg{font-size:var(--wf-font-size-lg)}.wf-font-2xl{font-size:var(--wf-font-size-2xl)}.wf-font-3xl{font-size:var(--wf-font-size-3xl)}.wf-font-4xl{font-size:var(--wf-font-size-4xl)}.wf-nums{font-variant-numeric:var(--wf-nums)}.wf-text-secondary{color:var(--wf-color-text-secondary)}.wf-text-tertiary{color:var(--wf-color-text-tertiary)}.wf-text-danger{color:var(--wf-color-error-text)}.wf-text-primary{color:var(--wf-color-primary-text)}.wf-text-success{color:var(--wf-color-success-text)}.wf-text-warning{color:var(--wf-color-warning-text)}.wf-font-mono{font-family:var(--wf-font-mono)}.wf-text-error{color:var(--wf-color-error-text)}.wf-text-on-brand{color:var(--wf-color-on-brand)}.wf-text-on-warning{color:var(--wf-color-on-warning)}.wf-medium{font-weight:var(--wf-font-weight-medium)}.wf-semibold{font-weight:var(--wf-font-weight-semibold)}.wf-bold{font-weight:var(--wf-font-weight-bold)}.wf-tracking-wide{letter-spacing:var(--wf-letter-spacing-wide)}.wf-uppercase{text-transform:uppercase}.wf-pre-wrap{white-space:pre-wrap;word-break:break-word}.wf-break-word{overflow-wrap:break-word;word-break:break-word}.wf-text-nowrap{white-space:nowrap}.wf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer utilities{.wf-padding-none{padding:0}.wf-padding-xs{padding:var(--wf-space-xs)}.wf-padding-sm{padding:var(--wf-space-sm)}.wf-padding-md{padding:var(--wf-space-md)}.wf-padding-lg{padding:var(--wf-space-lg)}.wf-padding-xl{padding:var(--wf-space-xl)}.wf-padding-x-xs{padding-left:var(--wf-space-xs);padding-right:var(--wf-space-xs)}.wf-padding-x-sm{padding-left:var(--wf-space-sm);padding-right:var(--wf-space-sm)}.wf-padding-x-md{padding-left:var(--wf-space-md);padding-right:var(--wf-space-md)}.wf-padding-y-xs{padding-top:var(--wf-space-xs);padding-bottom:var(--wf-space-xs)}.wf-padding-y-sm{padding-top:var(--wf-space-sm);padding-bottom:var(--wf-space-sm)}.wf-padding-y-md{padding-top:var(--wf-space-md);padding-bottom:var(--wf-space-md)}.wf-padding-y-lg{padding-top:var(--wf-space-lg);padding-bottom:var(--wf-space-lg)}.wf-padding-top-sm{padding-top:var(--wf-space-sm)}.wf-padding-left-sm{padding-left:var(--wf-space-sm)}.wf-padding-bottom-xs{padding-bottom:var(--wf-space-xs)}.wf-padding-bottom-sm{padding-bottom:var(--wf-space-sm)}.wf-padding-bottom-md{padding-bottom:var(--wf-space-md)}.wf-margin-none{margin:0}.wf-margin-top-none{margin-top:0}.wf-margin-top-xs{margin-top:var(--wf-space-xs)}.wf-margin-top-sm{margin-top:var(--wf-space-sm)}.wf-margin-top-md{margin-top:var(--wf-space-md)}.wf-margin-bottom-xs{margin-bottom:var(--wf-space-xs)}.wf-margin-bottom-sm{margin-bottom:var(--wf-space-sm)}.wf-margin-bottom-md{margin-bottom:var(--wf-space-md)}.wf-margin-bottom-lg{margin-bottom:var(--wf-space-lg)}.wf-margin-left-xs{margin-left:var(--wf-space-xs)}.wf-margin-left-sm{margin-left:var(--wf-space-sm)}.wf-margin-x-auto{margin-left:auto;margin-right:auto}.wf-margin-y-xs{margin-top:var(--wf-space-xs);margin-bottom:var(--wf-space-xs)}.wf-gap-none{gap:0}.wf-gap-xs{gap:var(--wf-gap-xs)}.wf-gap-sm{gap:var(--wf-gap-sm)}.wf-gap-md{gap:var(--wf-gap-md)}.wf-gap-lg{gap:var(--wf-gap-lg)}.wf-gap-xl{gap:var(--wf-gap-xl)}.wf-width-full{width:100%}.wf-width-sm{width:var(--wf-w-sm, 480px)}.wf-height-full{height:100%}}@layer utilities{:where(.wf-block){display:block}}@layer utilities{:where(.wf-flex){display:flex}@media(min-width:640px){.wf-flex\@sm{display:flex}}@media(min-width:1024px){.wf-flex\@lg{display:flex}}}@layer utilities{:where(.wf-hidden){display:none}@media(min-width:1024px){.wf-hidden\@lg{display:none}}.wf-dim{opacity:.7}.wf-pointer{cursor:pointer}}@layer layout{.wf-popup{max-width:min(var(--wf-popup-max, 480px),calc(100vw - 32px));box-sizing:border-box}.wf-popup-mask{position:fixed;inset:0;z-index:var(--wf-z-overlay);background:var(--wf-overlay)}}@layer components{.wf-accordion{display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden;font-family:var(--wf-font-sans)}.wf-accordion-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-accordion-item:last-child{border-bottom:none}.wf-accordion-summary{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space) var(--wf-space-md);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);cursor:pointer;user-select:none;font-family:var(--wf-font-sans)}.wf-accordion-summary:hover{background:var(--wf-color-bg-tertiary)}.wf-accordion-summary:active{background:var(--wf-state-pressed)}.wf-accordion-arrow{transition:transform var(--wf-dur-base) var(--wf-ease-out);color:var(--wf-color-text-secondary);flex-shrink:0}.wf-accordion-item--open .wf-accordion-arrow{transform:rotate(180deg)}.wf-accordion-summary:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-accordion-content{padding:var(--wf-space) var(--wf-space-md) var(--wf-space-md);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-accordion-summary[disabled]{opacity:.5;cursor:not-allowed}.wf-actionsheet{position:fixed;inset:0;z-index:var(--wf-z-popover);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--wf-space-md)}.wf-actionsheet-overlay{position:absolute;inset:0;background:var(--wf-overlay);border:none;cursor:pointer}.wf-actionsheet-panel{position:relative;background:var(--wf-color-bg-elevated);border-radius:var(--wf-radius-lg);overflow:hidden;box-shadow:var(--wf-shadow-lg)}.wf-actionsheet--enter .wf-actionsheet-panel{animation:wf-actionsheet-slidein var(--wf-dur-base) var(--wf-ease-out)}.wf-actionsheet--exit .wf-actionsheet-panel{animation:wf-actionsheet-slideout var(--wf-dur-base) var(--wf-ease-in)}.wf-actionsheet--enter .wf-actionsheet-overlay{animation:wf-actionsheet-overlay-fadein var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet--exit .wf-actionsheet-overlay{animation:wf-actionsheet-overlay-fadeout var(--wf-dur-fast) var(--wf-ease-in)}@keyframes wf-actionsheet-slidein{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes wf-actionsheet-slideout{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes wf-actionsheet-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-actionsheet-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-actionsheet-title{padding:var(--wf-space-md);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-actionsheet-item{display:flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);width:100%;min-height:48px;max-height:48px;padding:0 var(--wf-space-md);background:transparent;border:none;border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);font-size:var(--wf-font-size-base);color:var(--wf-color-text);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet-item:hover:not(:disabled){background:var(--wf-state-hover)}.wf-actionsheet-item:active:not(:disabled){background:var(--wf-state-pressed)}.wf-actionsheet-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-actionsheet-item--danger{color:var(--wf-color-error-text)}.wf-actionsheet-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-actionsheet-divider{height:8px;background:var(--wf-color-bg-secondary)}.wf-actionsheet-cancel{width:100%;min-height:48px;max-height:48px;background:transparent;border:none;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-actionsheet-cancel:hover{background:var(--wf-state-hover)}.wf-actionsheet-cancel:active{background:var(--wf-state-pressed)}.wf-actionsheet-cancel:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-actionsheet-icon{color:inherit}.wf-affix{font-family:var(--wf-font-sans)}.wf-affix-content{transition:none}.wf-aichat{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text)}.wf-aichat-list{overflow-y:auto;display:flex;flex-direction:column;gap:var(--wf-gap-sm);padding:var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg)}.wf-aichat-empty{margin:var(--wf-space-lg) 0;text-align:center;color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm)}.wf-aichat-msg{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-aichat-tools,.wf-aichat-approval{max-width:100%}.wf-aichat-bubble{display:inline-block;max-width:85%;padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius);font-size:var(--wf-font-size-sm);white-space:pre-wrap;word-break:break-word}.wf-aichat-msg--user{align-items:flex-end}.wf-aichat-msg--assistant{align-items:flex-start}.wf-aichat-bubble--user{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-aichat-bubble--assistant{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-aichat-status{font-size:var(--wf-font-size-xs);color:var(--wf-color-info-text)}.wf-aichat-usage{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-aichat-error{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text);background:var(--wf-color-error-bg);border-radius:var(--wf-radius);padding:var(--wf-space-sm)}.wf-alert{display:flex;align-items:flex-start;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-radius:var(--wf-alert-radius, var(--wf-radius));font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-alert--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-alert--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-alert--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-alert--error{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-alert-icon{font-weight:var(--wf-font-weight-bold);flex-shrink:0}.wf-alert-msg{flex:1;color:var(--wf-color-text)}.wf-alert-close{background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-sm);opacity:.6;color:inherit;padding:2px;line-height:1;flex-shrink:0}.wf-alert-close:hover{opacity:1}.wf-alertgroup{display:flex;flex-direction:column;gap:var(--wf-space-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-alertgroup-summary{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-sm) var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-secondary);color:var(--wf-color-primary-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-alertgroup-summary:hover{background:var(--wf-color-bg-hover)}.wf-alertgroup-item{display:flex;align-items:center;gap:var(--wf-space-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-secondary);border-left:3px solid var(--wf-color-info)}.wf-alertgroup-item--success{border-left-color:var(--wf-color-success)}.wf-alertgroup-item--warning{border-left-color:var(--wf-color-warning)}.wf-alertgroup-item--error{border-left-color:var(--wf-color-error)}.wf-alertgroup-message{flex:1;color:var(--wf-color-text)}.wf-alertgroup-time{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}.wf-alertgroup-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border:none;background:transparent;color:var(--wf-color-text-tertiary);cursor:pointer;border-radius:var(--wf-radius-sm)}.wf-alertgroup-close:hover{background:var(--wf-color-bg-hover);color:var(--wf-color-text)}.wf-anchor-nav{display:flex;flex-direction:column;gap:2px;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-anchor-link{display:block;padding:var(--wf-space-xs) var(--wf-space-sm);border-left:2px solid transparent;border-radius:0 var(--wf-radius-sm) var(--wf-radius-sm) 0;color:var(--wf-color-text-secondary);text-decoration:none;cursor:pointer;transition:color var(--wf-dur-fast) var(--wf-ease-out),background var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-anchor-link:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-anchor-link--active{color:var(--wf-color-primary-text);border-left-color:var(--wf-color-primary);font-weight:var(--wf-font-weight-semibold);background:var(--wf-color-primary-bg)}.wf-anchor-link:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-app-shell-brand-text{display:flex;flex-direction:column;min-width:0}.wf-app-shell-brand-name{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);line-height:var(--wf-line-height-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-brand-sub{font-size:var(--wf-font-size-xs);letter-spacing:var(--wf-heading-tracking);text-transform:var(--wf-heading-case);color:var(--wf-color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm)}.wf-app-shell-user-info{display:flex;align-items:center;gap:var(--wf-gap-sm);min-width:0;flex:1}.wf-app-shell-user-meta{display:flex;flex-direction:column;min-width:0}.wf-app-shell-user-name{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user-mail{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-app-shell-user-actions{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-shrink:0}.wf-app-shell-skel{height:var(--wf-space-md);border-radius:var(--wf-radius-sm);background:var(--wf-color-fill);animation:wf-app-shell-pulse var(--wf-dur-pulse) var(--wf-ease-in-out) infinite}.wf-app-shell-skel--sm{width:60%;height:var(--wf-space-sm);margin-top:var(--wf-gap-xs)}@keyframes wf-app-shell-pulse{0%,to{opacity:.5}50%{opacity:1}}.wf-app-shell-body{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.wf-app-shell-body .wf-main{flex:1;min-height:0}@media(max-width:767.98px){.wf-app-shell .wf-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(80vw,300px);z-index:var(--wf-z-modal);transform:translate(-105%);transition:transform var(--wf-transition);box-shadow:none;visibility:hidden}.wf-app-shell .wf-sidebar.wf-app-shell-drawer--open{transform:translate(0);visibility:visible;box-shadow:var(--wf-shadow-lg)}.wf-app-shell-overlay{position:fixed;inset:0;background:var(--wf-overlay);z-index:var(--wf-z-overlay)}.wf-app-shell .wf-sidebar-header{justify-content:flex-end}.wf-app-shell .wf-sidebar-header>:nth-child(2){margin-right:auto}}.wf-approval{border:var(--wf-border-width) solid var(--wf-color-warning);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);background:var(--wf-color-warning-bg)}.wf-approval--approved{border-color:var(--wf-color-success-text);background:var(--wf-color-success-bg)}.wf-approval--rejected{border-color:var(--wf-color-error-text);background:var(--wf-color-error-bg)}.wf-approval--timeout{border-color:var(--wf-color-border);background:var(--wf-color-bg-tertiary)}.wf-approval-header{display:flex;align-items:center;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-warning-text)}.wf-approval--approved .wf-approval-header{color:var(--wf-color-success-text)}.wf-approval--rejected .wf-approval-header{color:var(--wf-color-error-text)}.wf-approval--timeout .wf-approval-header{color:var(--wf-color-text-secondary)}.wf-approval-detail{margin-top:var(--wf-gap-xs);color:var(--wf-color-text)}.wf-approval-name{font-weight:var(--wf-font-weight-medium)}.wf-approval-args{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);word-break:break-all}.wf-approval-reason{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-approval-actions{margin-top:var(--wf-gap-sm);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-approval-btns{display:flex;gap:var(--wf-gap-xs)}.wf-approval-note-input{width:100%;box-sizing:border-box;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);color:var(--wf-color-text);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-approval-note-input:hover{border-color:var(--wf-color-primary)}.wf-approval-note-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-approval-note-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-approval-status{margin-top:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary)}.wf-approval-status--approved{color:var(--wf-color-success-text)}.wf-approval-status--rejected{color:var(--wf-color-error-text)}.wf-approval-status--timeout{color:var(--wf-color-text-tertiary)}.wf-approval-modify{margin-top:var(--wf-gap-md);padding:var(--wf-gap-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);display:flex;flex-direction:column;gap:var(--wf-gap-sm);align-items:flex-start}.wf-aspect-ratio{position:relative;width:100%;aspect-ratio:var(--wf-aspect-ratio, 16 / 9);overflow:hidden}.wf-aspect-ratio>*{position:absolute;inset:0;width:100%;height:100%}.wf-autocomplete-wrap{position:relative;display:inline-block;width:100%}.wf-autocomplete-input{width:100%}.wf-autocomplete-dropdown{position:fixed;z-index:var(--wf-z-popover);max-height:280px;overflow-y:auto;border-radius:var(--wf-surface-radius);background:var(--wf-color-bg-elevated);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-autocomplete-option{padding:var(--wf-space-sm) var(--wf-space);cursor:pointer;color:var(--wf-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-autocomplete-option:hover,.wf-autocomplete-option--active{background:var(--wf-color-bg-hover);color:var(--wf-color-primary-text)}.wf-autocomplete-input--err{border-color:var(--wf-color-error)}.wf-autocomplete-input--err:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-autocomplete--disabled{opacity:.6;cursor:not-allowed}.wf-autocomplete--disabled input{cursor:not-allowed}.wf-autocomplete .wf-input-err{color:var(--wf-color-error-text);font-size:var(--wf-font-size-xs);margin-top:var(--wf-space-xs)}.wf-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--wf-font-sans);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-on-brand);flex-shrink:0;overflow:hidden;object-fit:cover}.wf-avatar--sm{width:24px;height:24px;font-size:11px}.wf-avatar--md{width:32px;height:32px;font-size:13px}.wf-avatar--lg{width:40px;height:40px;font-size:16px}.wf-avatar-group{display:inline-flex;align-items:center}.wf-avatar-group-item{margin-left:-6px}.wf-avatar-group-item:first-child{margin-left:0}.wf-avatar-group-more{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;margin-left:-6px;background:var(--wf-color-bg-tertiary);border:2px solid var(--wf-color-bg);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);font-family:var(--wf-font-sans)}.wf-backtop{position:fixed;right:var(--wf-space-lg);bottom:var(--wf-space-lg);z-index:var(--wf-z-popover);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--wf-radius);border:none;background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);cursor:pointer;box-shadow:var(--wf-shadow-sm);transition:opacity var(--wf-dur-base) var(--wf-ease-out),transform var(--wf-dur-base) var(--wf-ease-out),background var(--wf-dur-fast) var(--wf-ease-out),visibility var(--wf-dur-base) var(--wf-ease-out)}.wf-backtop:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-backtop:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-backtop--hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px)}.wf-backtop--inline{position:absolute}.wf-badge{display:inline-flex;align-items:center;padding:2px var(--wf-space-sm);border-radius:var(--wf-badge-radius, 10px);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-medium);line-height:1.4;white-space:nowrap}.wf-badge--default{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary)}.wf-badge--primary{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-badge--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-badge--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-badge--danger{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-badge--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.wf-badge-dot--default{background:var(--wf-color-text-tertiary)}.wf-badge-dot--primary{background:var(--wf-color-primary)}.wf-badge-dot--success{background:var(--wf-color-success)}.wf-badge-dot--warning{background:var(--wf-color-warning)}.wf-badge-dot--danger{background:var(--wf-color-error)}.wf-badge-dot--info{background:var(--wf-color-info)}.wf-badge--count{min-width:18px;height:18px;padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-xl);display:inline-flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);line-height:1}.wf-breadcrumb{display:flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);line-height:var(--wf-line-height)}.wf-breadcrumb-link{color:var(--wf-color-primary-text);text-decoration:none}.wf-breadcrumb-link:hover{text-decoration:underline}.wf-breadcrumb-link:focus-visible{outline:none;border-radius:var(--wf-radius-xs);box-shadow:var(--wf-focus-ring)}.wf-breadcrumb-current{color:var(--wf-color-text);font-weight:var(--wf-font-weight-medium)}.wf-breadcrumb-sep{color:var(--wf-color-text-tertiary);user-select:none}.wf-breadcrumb-text{color:var(--wf-color-text-secondary)}.wf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);padding:var(--wf-btn-pad-y, var(--wf-control-pad-y)) var(--wf-btn-pad-x, var(--wf-space-md));min-height:var(--wf-control-height);max-height:var(--wf-control-height);border-radius:var(--wf-btn-radius, var(--wf-radius));border:var(--wf-border-width) solid transparent;cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);line-height:1;white-space:nowrap;user-select:none;text-decoration:none}.wf-btn--primary{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-btn--primary:hover{background:var(--wf-color-primary-hover)}.wf-btn--secondary{background:var(--wf-color-bg);color:var(--wf-color-text);border-color:var(--wf-color-border)}.wf-btn--secondary:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-btn--ghost{background:transparent;color:var(--wf-color-primary-text);border-color:transparent}.wf-btn--ghost:hover{background:var(--wf-color-primary-bg)}.wf-btn--danger{background:var(--wf-color-error);color:var(--wf-color-on-brand);border-color:var(--wf-color-error)}.wf-btn--danger:hover{opacity:.9}.wf-btn--danger-ghost{background:transparent;color:var(--wf-color-error-text);border-color:transparent}.wf-btn--danger-ghost:hover{background:var(--wf-color-error);color:var(--wf-color-on-brand);border-color:var(--wf-color-error)}.wf-btn--sm{padding:var(--wf-space-xs) var(--wf-space-sm);font-size:var(--wf-font-size-xs);min-height:28px;max-height:28px;line-height:1}.wf-btn--lg{padding:var(--wf-space) var(--wf-space-lg);font-size:var(--wf-font-size-base);min-height:40px;max-height:40px;line-height:1}.wf-btn--block{display:flex;width:100%}.wf-btn--loading{opacity:.7;pointer-events:none}.wf-btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:wf-btn-spin var(--wf-dur-spin) linear infinite;flex-shrink:0}@keyframes wf-btn-spin{to{transform:rotate(360deg)}}.wf-btn:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-btn:active:not(:disabled){transform:scale(.98)}.wf-calendar{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden;width:100%;min-width:var(--wf-calendar-min-width, 280px)}.wf-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space) var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-calendar-title{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold)}.wf-calendar-nav{display:flex;gap:var(--wf-gap-xs)}.wf-calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);cursor:pointer;font-family:var(--wf-font-sans)}.wf-calendar-nav-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-calendar-nav-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-calendar-weekday{padding:var(--wf-space-xs);text-align:center;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.wf-calendar-cell{min-height:76px;padding:var(--wf-space-xs);border-right:var(--wf-border-width) solid var(--wf-color-border);border-bottom:var(--wf-border-width) solid var(--wf-color-border);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-calendar-cell:nth-child(7n){border-right:none}.wf-calendar-cell:hover{background:var(--wf-color-bg-tertiary)}.wf-calendar-cell--other .wf-calendar-day-num{color:var(--wf-color-text-tertiary)}.wf-calendar-cell--today .wf-calendar-day-num{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-bold)}.wf-calendar-cell--selected{background:var(--wf-color-primary-bg)}.wf-calendar-cell:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-calendar-day-num{display:inline-block;font-size:var(--wf-font-size-sm)}.wf-calendar-event{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);border-radius:var(--wf-radius-sm);padding:1px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-calendar-more{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}@media(pointer:coarse){.wf-calendar-nav-btn{min-height:44px;min-width:44px}}.wf-card{border-radius:var(--wf-card-radius, var(--wf-surface-radius));background:var(--wf-surface-bg);font-family:var(--wf-font-sans)}.wf-card--default,.wf-card--outlined{border:var(--wf-border-width) solid var(--wf-color-border)}.wf-card--pad-sm{padding:var(--wf-space-sm)}.wf-card--pad-md{padding:var(--wf-space-md)}.wf-card--pad-lg{padding:var(--wf-space-lg)}.wf-card--clickable{cursor:pointer}.wf-card--clickable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-card--active{border:var(--wf-border-width) solid var(--wf-color-primary);background:var(--wf-color-primary-bg)}.wf-carousel{position:relative;overflow:hidden;border-radius:var(--wf-radius);font-family:var(--wf-font-sans)}.wf-carousel-viewport{overflow:hidden}.wf-carousel-track{display:flex;transition:transform var(--wf-dur-slow) var(--wf-ease-out)}.wf-carousel-track>*{flex:0 0 100%}.wf-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:var(--wf-z-sticky);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;max-height:32px;padding:0;line-height:0;border:none;border-radius:50%;background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);cursor:pointer;box-shadow:var(--wf-shadow-sm);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-carousel-arrow:hover{background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-carousel-arrow:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-carousel-arrow--prev{left:var(--wf-space)}.wf-carousel-arrow--next{right:var(--wf-space)}.wf-carousel-dots{position:absolute;bottom:var(--wf-space);left:0;right:0;display:flex;align-items:center;justify-content:center;width:fit-content;margin:0 auto;gap:var(--wf-gap-xs);z-index:1}.wf-carousel-dot{flex:0 0 8px;width:8px;height:8px;min-height:8px;max-height:8px;padding:0;line-height:8px;border:none;border-radius:50%;box-sizing:border-box;background:var(--wf-color-bg-secondary);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-snap)}.wf-carousel-dot:hover{background:var(--wf-color-text-tertiary)}.wf-carousel-dot:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-carousel-dot--active{background:var(--wf-color-primary);transform:scale(1.25)}@media(pointer:coarse){.wf-carousel-arrow{width:44px;height:44px;min-width:44px;min-height:44px}.wf-carousel-dot{position:relative}.wf-carousel-dot:after{content:"";position:absolute;inset:-14px;border-radius:50%}}.wf-cascader-wrap{font-family:var(--wf-font-sans)}.wf-cascader-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);padding:var(--wf-space-sm) var(--wf-space);font-size:var(--wf-font-size-base);font-family:var(--wf-font-sans);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-cascader-trigger:hover{border-color:var(--wf-color-primary)}.wf-cascader-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-cascader-trigger--err{border-color:var(--wf-color-error)}.wf-cascader-trigger--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-cascader-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--wf-font-size-sm)}.wf-cascader-value--placeholder{color:var(--wf-color-text-tertiary)}.wf-cascader-arrow{display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-cascader-arrow--open{transform:rotate(180deg)}.wf-cascader-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);margin-bottom:var(--wf-space-xs)}.wf-cascader-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text);margin-top:var(--wf-space-xs)}.wf-cascader-panel{position:fixed;z-index:var(--wf-z-popover);display:flex;background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs)}.wf-cascader-col{display:flex;flex-direction:column;gap:1px;min-width:var(--wf-cascader-col-width, 120px);max-height:240px;overflow-y:auto}.wf-cascader-col+.wf-cascader-col{border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-cascader-opt{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-cascader-opt:hover,.wf-cascader-opt--active{background:var(--wf-state-hover)}.wf-cascader-opt:active{background:var(--wf-state-pressed)}.wf-cascader-opt:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-cascader-opt--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-cascader-opt-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-cascader-opt-arrow{display:inline-flex;color:var(--wf-color-text-tertiary)}.wf-cascader-search{width:100%;box-sizing:border-box;margin-bottom:var(--wf-gap-xs);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space-sm);font-size:var(--wf-font-size-sm)}.wf-cascader-search-results{max-height:240px;overflow-y:auto;min-width:var(--wf-cascader-search-min-width, 180px)}.wf-cascader-search-item{display:block;width:100%;padding:var(--wf-control-pad-y) var(--wf-space-sm);border:none;background:none;font-family:inherit;font-size:var(--wf-font-size-sm);color:var(--wf-color-text);text-align:left;cursor:pointer;border-radius:var(--wf-radius-sm)}.wf-cascader-search-item:hover{background:var(--wf-color-bg-hover)}.wf-cascader-empty{padding:var(--wf-space-md);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);text-align:center}.wf-cascader-opt--hl{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-chart{position:relative;display:inline-block;font-family:var(--wf-font-sans)}.wf-chart-title{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);margin-bottom:var(--wf-space-sm);text-align:center}.wf-chart svg{display:block}.wf-chart-legend{display:flex;flex-wrap:wrap;gap:var(--wf-gap-sm);justify-content:center;margin-top:var(--wf-space-sm)}.wf-chart-legend-item{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-chart-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.wf-chart-tooltip{position:fixed;z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);pointer-events:none;white-space:nowrap}.wf-chart-tooltip-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-semibold)}.wf-chart-tooltip-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.wf-chart-tooltip-value{opacity:.8}.wf-chat-inputbar{display:flex;gap:var(--wf-gap-sm);align-items:center}.wf-chat-input{flex:1;min-width:0;height:var(--wf-control-height);padding:var(--wf-control-pad-y) var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);background:var(--wf-color-bg)}.wf-chat-input:focus{outline:none;border-color:var(--wf-color-primary)}.wf-chat-input:hover:not(:disabled){border-color:var(--wf-color-primary)}.wf-chat-inputbar textarea.wf-chat-input{height:auto;min-height:var(--wf-control-height);line-height:var(--wf-line-height)}.wf-checkbox{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-checkbox:hover .wf-checkbox-visual,.wf-checkbox:active .wf-checkbox-visual{border-color:var(--wf-color-primary)}.wf-checkbox-input{position:absolute;opacity:0;width:0;height:0}.wf-checkbox-visual{width:16px;height:16px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);background:var(--wf-color-bg)}.wf-checkbox-input:checked+.wf-checkbox-visual{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-checkbox-input:checked+.wf-checkbox-visual:after{content:"\2713";color:var(--wf-color-on-brand);font-size:11px;font-weight:700}.wf-checkbox-input:focus-visible+.wf-checkbox-visual{box-shadow:var(--wf-focus-ring)}.wf-checkbox-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-checkbox-label{color:var(--wf-color-text)}.wf-checkbox-group{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-checkbox-group--cols-2,.wf-checkbox-group--cols-3,.wf-checkbox-group--cols-4{flex-direction:row;flex-wrap:wrap}.wf-checkbox-group--cols-2>*{flex:0 0 calc(50% - var(--wf-gap-sm))}.wf-checkbox-group--cols-3>*{flex:0 0 calc(33.333% - var(--wf-gap-sm))}.wf-checkbox-group--cols-4>*{flex:0 0 calc(25% - var(--wf-gap-sm))}.wf-checkbox-group-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-checkbox-group--sm{font-size:var(--wf-font-size-sm)}.wf-checkbox-group--md{font-size:var(--wf-font-size-base)}.wf-checkbox-group--lg{font-size:var(--wf-font-size-lg)}.wf-citation{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary)}.wf-citation-toggle{display:flex;align-items:center;gap:var(--wf-gap-xs);width:100%;padding:var(--wf-gap-xs) var(--wf-gap-sm);background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);font:inherit;text-align:left}.wf-citation-toggle:hover{color:var(--wf-color-text)}.wf-citation-toggle:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-1px;border-radius:var(--wf-radius)}.wf-citation-chevron{display:inline-flex;color:var(--wf-color-text-secondary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-citation-chevron--open{transform:rotate(180deg)}.wf-citation-count{font-weight:var(--wf-font-weight-medium)}.wf-citation-body{display:flex;flex-direction:column;padding:0 var(--wf-gap-sm) var(--wf-gap-sm);gap:var(--wf-gap-xs)}.wf-citation-item{display:flex;align-items:flex-start;gap:var(--wf-gap-sm);padding:var(--wf-gap-xs);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg)}.wf-citation-idx{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg);border-radius:var(--wf-radius-sm)}.wf-citation-content{flex:1;min-width:0}.wf-citation-title{display:flex;align-items:baseline;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);word-break:break-word}.wf-citation-source{font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-normal);color:var(--wf-color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-citation-snippet{margin-top:2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wf-citation-link{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;color:var(--wf-color-text-tertiary);cursor:pointer;text-decoration:none;border-radius:var(--wf-radius-sm)}.wf-citation-link:hover{color:var(--wf-color-primary-text)}.wf-citation-link:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-citation-more{justify-content:center;cursor:pointer;color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium);border-style:dashed}.wf-citation-more:hover{background:var(--wf-color-primary-bg)}@media(pointer:coarse){.wf-citation-item{min-height:44px;align-items:center}.wf-citation-toggle{min-height:44px}}.wf-codeblock{margin:0 0 var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg-secondary);font-family:var(--wf-font-mono)}.wf-codeblock-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-xs) var(--wf-space-sm);background:var(--wf-color-bg-tertiary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-codeblock-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);display:flex;align-items:center;gap:var(--wf-gap-xs)}.wf-codeblock-lang{display:inline-flex;align-items:center;gap:var(--wf-space-sm)}.wf-codeblock-dot{width:8px;height:8px;border-radius:50%;background:var(--wf-color-primary)}.wf-codeblock-copy{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);padding:var(--wf-space-xs);border-radius:var(--wf-radius-xs)}.wf-codeblock-copy:hover{color:var(--wf-color-text);background:var(--wf-color-bg)}.wf-codeblock-copy:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-codeblock-pre{margin:0;padding:var(--wf-space-sm) var(--wf-space-md);overflow-x:auto;font-size:var(--wf-font-size-xs);line-height:1.6}.wf-codeblock-code{font-family:inherit;white-space:pre}.wf-hl-comment{color:var(--wf-color-success-text);font-style:italic}.wf-hl-string{color:var(--wf-color-warning-text)}.wf-hl-keyword{color:var(--wf-color-primary-text);font-weight:500}.wf-hl-number{color:var(--wf-color-info-text)}.wf-hl-function{color:var(--wf-color-primary-text)}.wf-hl-jsx-tag{color:var(--wf-color-error-text)}.wf-hl-operator{color:var(--wf-color-text-tertiary)}.wf-codeeditor{width:100%}.wf-codeeditor-area{width:100%;color:transparent;caret-color:var(--wf-color-text)}.wf-codeeditor-area::placeholder{color:var(--wf-color-text-tertiary)}.wf-codeeditor-gutter{border-right:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-codeeditor-body{position:relative;min-width:0}.wf-collapse{display:flex;flex-direction:column;font-family:var(--wf-font-sans)}.wf-collapse-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-collapse-item:last-child{border-bottom:none}.wf-collapse-header{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space) var(--wf-space-sm);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);cursor:pointer;border-radius:var(--wf-radius-sm);font-family:var(--wf-font-sans)}.wf-collapse-header:hover{background:var(--wf-color-bg-tertiary)}.wf-collapse-header:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-collapse-chevron{display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-collapse-chevron--open{transform:rotate(180deg)}.wf-collapse-title{flex:1;min-width:0}.wf-collapse-extra{color:var(--wf-color-text-secondary);font-weight:var(--wf-font-weight-normal)}.wf-collapse-content{padding:0 var(--wf-space-sm) var(--wf-space) var(--wf-space-lg);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-collapse-loading{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);color:var(--wf-color-text-tertiary);animation:wf-collapse-spin var(--wf-dur-spin) linear infinite}@keyframes wf-collapse-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wf-color-picker-trigger{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-xs) var(--wf-space-sm);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-trigger:hover{border-color:var(--wf-color-primary)}.wf-color-picker-trigger:active{transform:scale(.98)}.wf-color-picker-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-color-picker-trigger--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed;pointer-events:none}.wf-color-picker-swatch{display:inline-block;width:16px;height:16px;border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);flex-shrink:0}.wf-color-picker-value{font-variant-numeric:tabular-nums;font-size:var(--wf-font-size-xs)}.wf-color-picker-trigger--sm{padding:2px var(--wf-space-sm);font-size:var(--wf-font-size-xs);min-height:28px}.wf-color-picker-trigger--lg{padding:var(--wf-space-sm) var(--wf-space-md);font-size:var(--wf-font-size-base);min-height:40px}.wf-color-picker-panel{padding:var(--wf-space);font-family:var(--wf-font-sans)}.wf-color-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--wf-gap-xs)}.wf-color-picker-grid .wf-color-picker-swatch{position:relative;width:22px;height:22px;min-width:22px;max-width:22px;min-height:22px;max-height:22px;padding:0;border:none;border-radius:var(--wf-radius-sm);cursor:pointer;box-shadow:0 0 0 1px var(--wf-color-border);transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-grid .wf-color-picker-swatch:hover{transform:scale(1.15)}.wf-color-picker-grid .wf-color-picker-swatch:active{transform:scale(.92)}.wf-color-picker-grid .wf-color-picker-swatch:focus-visible{outline:none;box-shadow:0 0 0 2px var(--wf-color-primary)}.wf-color-picker-check{position:absolute;inset:0;margin:auto;color:var(--wf-color-on-brand);mix-blend-mode:difference;pointer-events:none}.wf-color-picker-grid .wf-color-picker-swatch--sel{box-shadow:0 0 0 2px var(--wf-color-primary)}.wf-color-picker-input{width:100%;margin-top:var(--wf-space);box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);padding:var(--wf-space-xs) var(--wf-space-sm);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-bg);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-color-picker-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-command-panel{width:min(520px,90vw);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);overflow:hidden;font-family:var(--wf-font-sans);animation:wf-command-in var(--wf-dur-base) var(--wf-ease-out);margin-top:-12vh}@keyframes wf-command-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1)) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.wf-command-input-wrap{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text-tertiary)}.wf-command-input{flex:1;border:none;outline:none;background:none;font-size:var(--wf-font-size-base);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-command-list{max-height:320px;overflow-y:auto;padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-command-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-command-item:hover,.wf-command-item--hl{background:var(--wf-color-bg-tertiary)}.wf-command-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-command-item-label{flex:1}.wf-command-shortcut{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);padding:1px var(--wf-space-sm);font-family:var(--wf-font-sans)}.wf-command-empty{padding:var(--wf-space-xl);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-context-menu-trigger{display:inline-block;width:fit-content}.wf-context-menu{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-context-menu-min-width, 160px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);font-family:var(--wf-font-sans);display:flex;flex-direction:column;gap:1px}.wf-context-menu-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-context-menu-item:hover,.wf-context-menu-item--hl{background:var(--wf-state-hover)}.wf-context-menu-item:active{background:var(--wf-state-pressed)}.wf-context-menu-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-context-menu-item--danger{color:var(--wf-color-error-text)}.wf-context-menu-item--danger:hover,.wf-context-menu-item--danger.wf-context-menu-item--hl{background:var(--wf-color-error-bg)}.wf-context-menu-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-context-menu-item--dis:hover{background:none}.wf-copy-btn{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);border:none;border-radius:var(--wf-radius-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-copy-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-copy-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-copy-btn--copied{color:var(--wf-color-success-text)}.wf-copy-btn--ghost,.wf-copy-btn--secondary{padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-copy-btn--default{background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-copy-btn--sm{padding:2px var(--wf-space-xs)}.wf-copy-btn--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-datepicker{position:relative;display:inline-block;width:100%}.wf-datepicker-input{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;width:100%;cursor:pointer;box-sizing:border-box}.wf-datepicker-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-datepicker--disabled .wf-datepicker-input{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-datepicker-dropdown{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-datepicker-width, 260px);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;max-width:calc(100vw - 32px)}.wf-datepicker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--wf-space)}.wf-datepicker-header-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-datepicker-header-btn{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-space-xs) var(--wf-space-sm);border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text-secondary);cursor:pointer}.wf-datepicker-header-btn:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-datepicker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:var(--wf-space-xs)}.wf-datepicker-weekday{text-align:center;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);padding:var(--wf-space-xs) 0}.wf-datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.wf-datepicker-cell{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border-radius:var(--wf-radius-sm);cursor:pointer;border:none;background:transparent}.wf-datepicker-cell:hover{background:var(--wf-color-bg-tertiary)}.wf-datepicker-cell--other-month{color:var(--wf-color-text-disabled)}.wf-datepicker-cell--today{font-weight:var(--wf-font-weight-bold);box-shadow:inset 0 0 0 1px var(--wf-color-border-dark)}.wf-datepicker-cell--selected{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-datepicker-cell--in-range{background:var(--wf-color-primary-bg);border-radius:0}.wf-datepicker-cell--range-edge{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-datepicker-range-wrap{position:fixed;z-index:var(--wf-z-popover);display:flex;gap:var(--wf-space);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;width:max-content;max-width:calc(100vw - 32px)}.wf-datepicker-range-panel{min-width:var(--wf-datepicker-time-width, 240px);flex-shrink:0}.wf-time-picker{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-datepicker-range-width, 200px);user-select:none;animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center;max-width:calc(100vw - 32px)}.wf-time-body{display:flex;gap:var(--wf-space-lg);justify-content:center;padding:var(--wf-space) 0;overflow-x:auto}.wf-time-col{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-xs)}.wf-time-col-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-time-opt-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.wf-time-opt{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);padding:2px 12px;border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text);cursor:pointer;text-align:center}.wf-time-opt:hover{background:var(--wf-color-bg-tertiary)}.wf-time-opt--selected{background:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-time-footer{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);padding-top:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-datetime-time{display:flex;align-items:center;gap:var(--wf-gap-sm);margin-top:var(--wf-space);padding-top:var(--wf-space-sm);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-datetime-time-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary)}.wf-datetime-time-select{display:flex;align-items:center;gap:2px}.wf-datetime-select{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:2px 4px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-elevated);color:var(--wf-color-text);outline:none;cursor:pointer}.wf-datetime-sep{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);padding:0 2px}@media(max-width:639.98px){.wf-datepicker-range-wrap{flex-direction:column;max-height:80vh;overflow-y:auto}}.wf-datepicker-input--err{border-color:var(--wf-color-error)}.wf-datepicker-input--err:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-descriptions{display:grid;gap:var(--wf-space-sm) var(--wf-space-md);margin:0;font-family:var(--wf-font-sans)}.wf-descriptions--1{grid-template-columns:repeat(1,1fr)}.wf-descriptions--2{grid-template-columns:repeat(2,1fr)}.wf-descriptions--3{grid-template-columns:repeat(3,1fr)}.wf-descriptions--4{grid-template-columns:repeat(4,1fr)}.wf-descriptions-item{display:flex;flex-direction:column;gap:2px;min-width:0}.wf-descriptions-label{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);font-weight:var(--wf-font-weight-medium)}.wf-descriptions-value{margin:0;font-size:var(--wf-font-size-sm);color:var(--wf-color-text);word-break:break-word}.wf-descriptions--bordered{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);gap:0;overflow:hidden}.wf-descriptions--bordered .wf-descriptions-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-sm) var(--wf-space-md);border-right:var(--wf-border-width) solid var(--wf-color-border)}.wf-descriptions--bordered .wf-descriptions-item:nth-child(n):last-child{border-bottom:none}.wf-descriptions--sm .wf-descriptions-value{font-size:var(--wf-font-size-xs)}.wf-descriptions--lg .wf-descriptions-value{font-size:var(--wf-font-size-base)}.wf-diffview{display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;min-width:0}.wf-diffview-header{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);background:var(--wf-color-fill);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-xs);flex-shrink:0}.wf-diffview-title--old{color:var(--wf-color-error-text)}.wf-diffview-title--new{color:var(--wf-color-success-text)}.wf-diffview-arrow{color:var(--wf-color-text-tertiary)}.wf-diffview-body{overflow:auto;max-height:480px;padding:var(--wf-space-sm) 0}.wf-diffview-row{display:flex;gap:var(--wf-gap-sm);padding:0 var(--wf-space);white-space:pre}.wf-diffview-sign{width:14px;flex-shrink:0;user-select:none;color:var(--wf-color-text-tertiary)}.wf-diffview-line{min-width:0;overflow:visible}.wf-diffview-row--add{background:var(--wf-color-success-bg)}.wf-diffview-row--add .wf-diffview-sign{color:var(--wf-color-success-text)}.wf-diffview-row--remove{background:var(--wf-color-error-bg)}.wf-diffview-row--remove .wf-diffview-sign{color:var(--wf-color-error-text)}.wf-diffview-fold{display:flex;align-items:center;justify-content:center;margin:2px 12px;padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);cursor:pointer;background:var(--wf-color-bg-subtle);user-select:none;min-height:28px}.wf-diffview-fold:hover{background:var(--wf-color-fill)}.wf-diffview-overflow{padding:var(--wf-space-sm) var(--wf-space);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);text-align:center}.wf-divider{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0;height:0}.wf-divider--vertical{display:inline-block;width:0;height:1em;margin:0 var(--wf-space-sm);border-top:none;border-left:var(--wf-border-width) solid var(--wf-color-border);vertical-align:middle}.wf-divider--with-text{display:flex;align-items:center;border:none;height:auto;gap:var(--wf-gap-md)}.wf-divider--with-text:before,.wf-divider--with-text:after{content:"";flex:1;border-top:var(--wf-border-width) solid var(--wf-color-border)}.wf-divider-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);white-space:nowrap;flex-shrink:0}.wf-drawer{position:fixed;inset:0;z-index:var(--wf-z-modal);display:flex}.wf-drawer--left{justify-content:flex-start}.wf-drawer--right{justify-content:flex-end}.wf-drawer-overlay{position:absolute;inset:0;background:var(--wf-overlay);backdrop-filter:blur(var(--wf-overlay-blur));-webkit-backdrop-filter:blur(var(--wf-overlay-blur))}.wf-drawer--enter .wf-drawer-overlay{animation:wf-drawer-overlay-fadein var(--wf-dur-fast) var(--wf-ease-out)}.wf-drawer--exit .wf-drawer-overlay{animation:wf-drawer-overlay-fadeout var(--wf-dur-fast) var(--wf-ease-in) forwards}@keyframes wf-drawer-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-drawer-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-drawer-panel{position:relative;display:flex;flex-direction:column;width:var(--wf-drawer-width, 360px);max-width:100vw;height:100%;background:var(--wf-color-bg-elevated);box-shadow:var(--wf-shadow-lg)}.wf-drawer--enter .wf-drawer-panel{animation:wf-drawer-slidein var(--wf-dur-base) var(--wf-ease-out)}.wf-drawer--enter .wf-drawer-panel--right{animation-name:wf-drawer-slidein-right}.wf-drawer--enter .wf-drawer-panel--left{animation-name:wf-drawer-slidein-left}.wf-drawer--exit .wf-drawer-panel{animation:wf-drawer-slideout var(--wf-dur-base) var(--wf-ease-in) forwards}.wf-drawer--exit .wf-drawer-panel--right{animation-name:wf-drawer-slideout-right}.wf-drawer--exit .wf-drawer-panel--left{animation-name:wf-drawer-slideout-left}@keyframes wf-drawer-slidein-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes wf-drawer-slidein-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes wf-drawer-slideout-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes wf-drawer-slideout-left{0%{transform:translate(0)}to{transform:translate(-100%)}}.wf-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-md);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);flex-shrink:0}.wf-drawer-close{border:none;background:transparent;color:var(--wf-color-text-tertiary);cursor:pointer;padding:var(--wf-space-xs);font-size:16px;line-height:1;border-radius:var(--wf-radius-sm)}.wf-drawer-close:hover{color:var(--wf-color-text);background:var(--wf-color-bg-secondary)}.wf-drawer-body{flex:1;overflow-y:auto;padding:var(--wf-space-md)}.wf-drawer-footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--wf-gap-sm);padding:var(--wf-space-md);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(max-width:639.98px){.wf-drawer-panel{width:100vw;max-width:100vw}}.wf-drop-zone--disabled{cursor:not-allowed}.wf-dropdown{display:inline-block;width:fit-content}.wf-dropdown-menu{position:fixed;min-width:var(--wf-dropdown-min-width, 140px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-md);z-index:var(--wf-z-dropdown);padding:var(--wf-space-xs) 0;animation:wf-dropdown-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}.wf-dropdown--open{z-index:var(--wf-z-dropdown)}.wf-dropdown-item{display:block;width:100%;text-align:left;padding:var(--wf-space-sm) var(--wf-space-md);border:none;background:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;white-space:nowrap;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-dropdown-item:hover{background:var(--wf-state-hover)}.wf-dropdown-item:active{background:var(--wf-state-pressed)}.wf-dropdown-item:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-dropdown-item--danger{color:var(--wf-color-error-text)}@keyframes wf-dropdown-in{0%{opacity:0}to{opacity:1}}.wf-dropdown-item--hl{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-editor{position:relative;display:flex;flex-direction:column;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);overflow:hidden;transition:border-color var(--wf-transition),box-shadow var(--wf-transition)}.wf-editor:focus-within{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-editor--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed;background:var(--wf-color-bg-secondary)}.wf-editor-toolbar{display:flex;align-items:center;gap:2px;padding:var(--wf-space-xs) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary);flex-wrap:wrap;user-select:none}.wf-editor-tb-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--wf-space-xs);border:none;border-radius:var(--wf-radius-sm);background:transparent;color:var(--wf-color-text);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-editor-tb-btn:hover{background:var(--wf-color-bg-tertiary)}.wf-editor-tb-btn--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-editor-tb-btn--active:hover{background:var(--wf-color-primary-bg)}.wf-editor-tb-btn--link{font-size:var(--wf-font-size-base)}.wf-editor-tb-sep{display:inline-block;width:1px;height:20px;margin:0 var(--wf-space-xs);background:var(--wf-color-border)}.wf-editor-content{padding:var(--wf-control-pad-y) var(--wf-space);min-height:200px;outline:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text);overflow-y:auto}.wf-editor-content--disabled{pointer-events:none}.wf-editor-content--has-placeholder:empty:before{content:attr(data-placeholder);color:var(--wf-color-text-tertiary);pointer-events:none}.wf-editor-content h1{font-size:var(--wf-font-size-2xl);font-weight:var(--wf-font-weight-bold);margin:.5em 0 .25em;line-height:1.3}.wf-editor-content h2{font-size:var(--wf-font-size-xl);font-weight:var(--wf-font-weight-bold);margin:.5em 0 .25em;line-height:1.3}.wf-editor-content h3{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold);margin:.4em 0 .2em;line-height:1.3}.wf-editor-content ul,.wf-editor-content ol{padding-left:1.5em;margin:.25em 0}.wf-editor-content li{margin:.15em 0}.wf-editor-content a{color:var(--wf-color-primary-text);text-decoration:underline}.wf-editor-content blockquote{margin:.5em 0;padding:var(--wf-space-xs) var(--wf-space);border-left:3px solid var(--wf-color-primary);background:var(--wf-color-bg-secondary);color:var(--wf-color-text-secondary);font-style:italic}.wf-editor-content hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:.75em 0}.wf-editor-content[style*="text-align: center"]{text-align:center}.wf-editor-content[style*="text-align: right"]{text-align:right}.wf-editor-source{display:block;width:100%;min-height:200px;padding:var(--wf-control-pad-y) var(--wf-space);border:none;outline:none;font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;color:var(--wf-color-text);background:var(--wf-color-bg-secondary);resize:vertical;tab-size:2}.wf-editor-source:focus{background:var(--wf-color-bg)}.wf-editor-link-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-sm) var(--wf-space-md);min-width:var(--wf-editor-popup-min, 260px);max-width:var(--wf-editor-popup-max, 340px);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-editor-link-panel-title{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-editor-link-panel-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs)}.wf-editor-link-input{display:block;width:100%;box-sizing:border-box;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);outline:none;background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-editor-link-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-editor-img-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-space-xs);padding:var(--wf-space-lg) var(--wf-space);cursor:pointer;text-align:center}.wf-editor-img-zone-icon{font-size:28px;line-height:1}.wf-editor-img-zone-text{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-editor-img-or{display:block;text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-editor-content img{max-width:100%;height:auto;border-radius:var(--wf-radius-sm);margin:.5em 0}.wf-editor-table{border-collapse:collapse;width:100%;margin:.5em 0;font-size:var(--wf-font-size-sm)}.wf-editor-table th,.wf-editor-table td{border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm);vertical-align:top;min-width:40px}.wf-editor-table tbody tr:nth-child(2n){background:var(--wf-color-bg-secondary)}.wf-editor-table-picker{z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space-sm);box-shadow:var(--wf-shadow-lg)}.wf-editor-table-grid{display:flex;flex-direction:column;gap:2px}.wf-editor-table-grid-row{display:flex;gap:2px}.wf-editor-table-grid-cell{width:18px;height:18px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-xs);cursor:pointer;background:var(--wf-color-bg);transition:background var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-editor-table-grid-cell:hover,.wf-editor-table-grid-cell--active{background:var(--wf-color-primary-bg);border-color:var(--wf-color-primary)}.wf-editor-table-picker-label{text-align:center;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);margin-top:var(--wf-space-xs);padding-top:var(--wf-space-xs);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(pointer:coarse){.wf-editor-toolbar button{min-height:44px;min-width:44px}}.wf-editor-ai-bar{display:inline-flex;align-items:center}.wf-editor-tb-btn--ai{color:var(--wf-color-primary-text)}.wf-editor-tb-btn--ai:hover{background:var(--wf-color-primary-bg)}.wf-editor-ai-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-sm) var(--wf-space-md);min-width:var(--wf-editor-popup-min, 260px);max-width:var(--wf-editor-popup-max, 420px);max-height:300px;display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-editor-ai-panel-head{display:flex;justify-content:space-between;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-editor-ai-panel-status{font-weight:400;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}.wf-editor-ai-panel-body{font-size:var(--wf-font-size-sm);color:var(--wf-color-text);white-space:pre-wrap;overflow-y:auto;max-height:200px;line-height:1.6}.wf-editor-ai-panel-error{font-size:var(--wf-font-size-sm);color:var(--wf-color-error-text)}.wf-editor-ai-panel-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs)}.wf-editor-hist-panel{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-xs);min-width:var(--wf-editor-popup-min, 220px);max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.wf-editor-hist-empty{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-editor-hist-item{display:flex;justify-content:space-between;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-xs) var(--wf-space-sm);border:none;background:transparent;border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;text-align:left;width:100%}.wf-editor-hist-item:hover{background:var(--wf-color-bg-hover)}.wf-editor-hist-item--current{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-editor-hist-item--redo .wf-editor-hist-label{color:var(--wf-color-text-tertiary)}.wf-editor-hist-time{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-editor-ai-diff{white-space:pre-wrap}.wf-editor-ai-diff-del{color:var(--wf-color-error-text);text-decoration:line-through;opacity:.7}.wf-editor-ai-diff-ins{color:var(--wf-color-success-text);background:var(--wf-color-success-bg);border-radius:2px}.wf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-sm);padding:var(--wf-space-2xl) var(--wf-space-lg);text-align:center}.wf-empty-icon{font-size:48px;line-height:1;margin-bottom:var(--wf-gap-xs)}.wf-empty-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary)}.wf-empty-hint{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);max-width:320px;line-height:var(--wf-line-height)}.wf-empty-action{margin-top:var(--wf-gap-sm)}.wf-field{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-field-label,.wf-input-label,.wf-select-label,.wf-textarea-label,.wf-slider-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-field-req,.wf-input-req,.wf-select-req,.wf-textarea-req{color:var(--wf-color-error-text);margin-left:2px}.wf-field-err,.wf-input-err,.wf-select-err,.wf-textarea-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-field-hint,.wf-input-hint,.wf-textarea-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-field--err .wf-field-label{color:var(--wf-color-error-text)}.wf-filepreview{display:flex;flex-direction:column;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-filepreview-name{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);padding-bottom:var(--wf-space-xs);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-filepreview-doc{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg);padding:var(--wf-space-md);overflow:auto}.wf-filepreview-frame{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;background:var(--wf-color-bg)}.wf-filepreview-iframe{display:block}.wf-filepreview-empty{border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-md);padding:var(--wf-space-lg);text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-filepreview-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--wf-gap-sm)}.wf-filepreview-actions-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-filepreview-error{color:var(--wf-color-error-text);border-color:var(--wf-color-error-text)}.wf-filepreview-dirty{font-size:var(--wf-font-size-xs);color:var(--wf-color-warning-text)}.wf-filepreview-name:hover{color:var(--wf-color-text-secondary)}.wf-filetree{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);overflow:hidden;font-size:var(--wf-font-size-base);background:var(--wf-color-bg)}.wf-filetree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-filetree-path{display:flex;align-items:center;gap:var(--wf-gap-xs);min-width:0;overflow:hidden;white-space:nowrap}.wf-filetree-crumb-wrap{display:inline-flex;align-items:center;gap:var(--wf-gap-xs)}.wf-filetree-crumb{border:none;background:none;padding:var(--wf-space-xs) var(--wf-gap-xs);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;border-radius:var(--wf-radius-sm);transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-filetree-crumb:hover{background:var(--wf-state-hover);color:var(--wf-color-text)}.wf-filetree-crumb:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-filetree-sep{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-filetree-actions{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-shrink:0}.wf-filetree-list{max-height:320px;overflow:auto;padding:var(--wf-space-xs)}.wf-filetree-item{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;border:none;background:none;padding:var(--wf-space-sm);border-radius:var(--wf-radius);cursor:pointer;text-align:left;font-size:var(--wf-font-size-base);color:var(--wf-color-text);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-filetree-item:hover{background:var(--wf-state-hover)}.wf-filetree-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-filetree-dir{color:var(--wf-color-primary-text)}.wf-filetree-file{color:var(--wf-color-text-tertiary)}.wf-filetree-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-filetree-meta{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-filetree-empty{padding:var(--wf-space-xl) var(--wf-space);text-align:center;font-size:var(--wf-font-size-base)}.wf-filetree-editor{padding:var(--wf-space)}.wf-filetree-editor-head{display:flex;align-items:center;gap:var(--wf-gap-sm);margin-bottom:var(--wf-gap-sm)}.wf-filetree-filename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-medium)}.wf-filetree-editor-area{width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space-sm);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;resize:vertical;background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-filetree-preview{margin:0;padding:var(--wf-space-sm);max-height:280px;overflow:auto;font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius);white-space:pre-wrap;word-break:break-all}.wf-upload{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-xs);padding:var(--wf-space-lg);border:2px dashed var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-secondary);cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);min-height:120px}.wf-upload-zone:hover{border-color:var(--wf-color-primary);background:var(--wf-color-bg)}.wf-upload-zone--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-upload-zone--err{border-color:var(--wf-color-error)}.wf-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-xs)}.wf-upload-icon{font-size:24px;line-height:1}.wf-upload-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-upload-hint{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-upload-item{justify-content:space-between;padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary)}.wf-upload-item-info{display:flex;align-items:center;gap:var(--wf-gap-md);min-width:0}.wf-upload-item-name{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-upload-item-size{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-upload-err{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-upload-thumb{width:36px;height:36px;object-fit:cover;border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);flex-shrink:0;background:var(--wf-color-bg)}.wf-upload-item-remove{margin-left:auto;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0}.wf-upload-item-remove:hover{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-upload-progress{height:4px;border-radius:var(--wf-radius-xs);background:var(--wf-color-bg-tertiary);overflow:hidden;margin-top:var(--wf-space-sm)}.wf-upload-progress-fill{height:100%;background:var(--wf-color-primary);border-radius:var(--wf-radius-xs);transition:width var(--wf-dur-fast) var(--wf-ease-out)}.wf-upload-zone--drag{border-color:var(--wf-color-primary);background:var(--wf-color-bg);box-shadow:var(--wf-focus-ring)}.wf-float-btn{display:flex;align-items:center;justify-content:center;gap:var(--wf-space-xs);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:var(--wf-shadow-lg);cursor:pointer;z-index:var(--wf-z-sticky);font-family:var(--wf-font-sans);font-size:16px;transition:transform var(--wf-dur-fast) var(--wf-ease-standard),background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-float-btn:hover{transform:scale(1.05);background:var(--wf-color-primary)}.wf-float-btn--disabled{background:var(--wf-color-text-disabled);cursor:not-allowed;opacity:.7}.wf-float-btn--top-left{top:24px;left:24px}.wf-float-btn--top-right{top:24px;right:24px}.wf-float-btn--bottom-left{bottom:24px;left:24px}.wf-float-btn--bottom-right{bottom:24px;right:24px}.wf-float-btn-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 var(--wf-space-xs);border-radius:50%;background:var(--wf-color-error);color:var(--wf-color-on-brand);font-size:11px;line-height:18px;text-align:center}.wf-float-group{position:fixed;z-index:var(--wf-z-sticky);display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-md)}.wf-float-group--bottom-right{bottom:24px;right:24px}.wf-float-group--bottom-left{bottom:24px;left:24px}.wf-float-group--top-right{top:24px;right:24px}.wf-float-group--top-left{top:24px;left:24px}.wf-float-group-items{display:flex;flex-direction:column;gap:var(--wf-space-sm)}.wf-float-group-item{animation:wf-float-item-in var(--wf-dur-md) var(--wf-ease-standard)}@keyframes wf-float-item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.wf-float-group-main{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:none;border-radius:50%;background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:var(--wf-shadow-lg);cursor:pointer;font-size:var(--wf-font-size-xl);font-family:var(--wf-font-sans)}.wf-float-group-icon{display:inline-block;transition:transform var(--wf-dur-md) var(--wf-ease-standard)}.wf-float-group-icon.is-open{transform:rotate(45deg)}.wf-float-btn--static{position:static;box-shadow:var(--wf-shadow-md)}.wf-form{display:flex;flex-direction:column;gap:var(--wf-gap-md)}.wf-grid-comp{display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box}.wf-grid-comp--column{flex-direction:column}.wf-grid-comp--flex{display:flex;flex-wrap:wrap}.wf-col{box-sizing:border-box;min-width:0}.wf-highlight-mark{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text);border-radius:var(--wf-radius-xs);padding:0 1px;font-weight:var(--wf-font-weight-semibold)}.wf-hover-card-wrap{display:inline-block;width:fit-content}.wf-hover-card{position:fixed;z-index:var(--wf-z-tooltip);max-width:320px;background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);opacity:1;transition:opacity var(--wf-dur-base) var(--wf-ease-out)}.wf-hover-card--hidden{opacity:0;pointer-events:none}.wf-icon{display:inline-block;flex-shrink:0;vertical-align:-.125em}.wf-imagecropper{display:inline-block}.wf-image{display:inline-block;max-width:100%}.wf-img-preview-wrap{display:inline-block}.wf-img-preview-trigger{display:inline-block;padding:0;border:none;background:none;cursor:zoom-in;line-height:0}.wf-img-preview-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-img-preview-image{transition:transform var(--wf-dur-base) var(--wf-ease-out)}.wf-image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs);border-radius:var(--wf-radius-md)}.wf-inview{width:100%}.wf-inview-placeholder{display:flex;align-items:center;justify-content:center;min-height:100px;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-md);border:var(--wf-border-width) dashed var(--wf-color-border);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-inview-placeholder:after{content:"\6eda\52a8\5230\6b64\5904\52a0\8f7d\5185\5bb9"}.wf-infinite-scroll{font-family:var(--wf-font-sans)}.wf-infinite-scroll-sentinel{height:1px}.wf-infinite-scroll-loading,.wf-infinite-scroll-end{padding:var(--wf-space-md);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-input-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-input{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out);width:100%}.wf-input:hover:not(:disabled){border-color:var(--wf-color-border-dark)}.wf-input:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-input:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-input--borderless{border-color:transparent;background:transparent;box-shadow:none;padding-left:var(--wf-space-xs);padding-right:var(--wf-space-xs)}.wf-input--borderless:hover{border-color:var(--wf-color-border);background:var(--wf-color-bg)}.wf-input--borderless:focus{border-color:var(--wf-color-primary);background:var(--wf-color-bg)}.wf-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-input--err .wf-input{border-color:var(--wf-color-error)}.wf-input--err .wf-input:focus{box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-input[type=number]{-moz-appearance:textfield}.wf-input[type=number]::-webkit-inner-spin-button,.wf-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wf-inputnumber-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs);width:100%}.wf-inputnumber{display:flex;align-items:stretch;width:100%;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);min-height:36px;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-inputnumber:focus-within{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-inputnumber--err{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-inputnumber--disabled{opacity:.6}.wf-inputnumber-input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:0 var(--wf-space-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);width:100%}.wf-inputnumber-btns{display:flex;flex-direction:column;border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-inputnumber-btn{flex:1;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);padding:2px var(--wf-space-sm);min-height:18px}.wf-inputnumber-btn:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-inputnumber-btn:first-child{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-inputnumber-btn:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-inputnumber-btn:disabled{cursor:not-allowed}.wf-inputnumber-label{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-inputnumber-req{color:var(--wf-color-error-text);margin-left:2px}.wf-inputnumber-err{font-size:var(--wf-font-size-xs);color:var(--wf-color-error-text)}.wf-inputnumber-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-json-viewer{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-sm);padding:var(--wf-space-sm);overflow-x:auto;line-height:1.6}.wf-json-node{padding-left:0}.wf-json-row{display:flex;align-items:center;gap:var(--wf-gap-xs);white-space:nowrap;border-radius:var(--wf-radius-sm)}.wf-json-row:hover{background:var(--wf-color-bg-tertiary)}.wf-json-children{padding-left:var(--wf-space-sm);border-left:var(--wf-border-width) solid var(--wf-color-border);margin-left:var(--wf-space-xs)}.wf-json-key{color:var(--wf-color-text-secondary)}.wf-json-toggle-placeholder{width:16px;flex-shrink:0;display:inline-flex}.wf-json-toggle{width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0}.wf-json-toggle:hover{color:var(--wf-color-text)}.wf-json-toggle:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-json-summary,.wf-json-node-summary{color:var(--wf-color-text-tertiary)}.wf-json-more{padding-left:var(--wf-space-lg);color:var(--wf-color-warning-text);font-size:var(--wf-font-size-xs)}.wf-json-copy{width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--wf-color-text-tertiary);cursor:pointer;padding:0;flex-shrink:0;opacity:0}.wf-json-row:hover .wf-json-copy{opacity:1}.wf-json-copy:hover{color:var(--wf-color-primary-text)}.wf-json-copy:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);opacity:1}.wf-json-string{color:var(--wf-color-success-text)}.wf-json-number{color:var(--wf-color-primary-text)}.wf-json-boolean{color:var(--wf-color-warning-text)}.wf-json-null{color:var(--wf-color-text-tertiary);font-style:italic}.wf-json-collapse,.wf-json-row--header{cursor:pointer}.wf-json-collapse:hover,.wf-json-row--header:hover{background:var(--wf-color-bg-tertiary)}.wf-json-collapse:focus-visible,.wf-json-row--header:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}@media(pointer:coarse){.wf-json-toggle,.wf-json-copy{width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;padding:var(--wf-space-xs)}}.wf-jsf{display:flex;flex-direction:column;gap:var(--wf-gap-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-jsf-title{font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-jsf-obj{display:flex;flex-direction:column;gap:var(--wf-gap-md);padding-left:var(--wf-gap-md);border-left:var(--wf-border-width) solid var(--wf-color-border)}.wf-jsf-obj-title{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-xs);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-jsf-arr{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-jsf-arr-item{display:flex;align-items:center;gap:var(--wf-gap-sm)}.wf-jsf-arr-item>:first-child{flex:1}.wf-jsf-arr-add,.wf-jsf-arr-del{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;max-width:28px;min-height:28px;max-height:28px;padding:0;line-height:0;flex-shrink:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary);cursor:pointer;transition:var(--wf-transition)}.wf-jsf-arr-add:hover,.wf-jsf-arr-del:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-jsf-arr-add:focus-visible,.wf-jsf-arr-del:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-jsf-submit{align-self:flex-start;margin-top:var(--wf-gap-xs)}.wf-kanban{display:flex;gap:var(--wf-gap-md);align-items:flex-start;overflow-x:auto;padding:var(--wf-space-xs)}.wf-kanban-col{flex:1 1 220px;min-width:var(--wf-kanban-col-min-width);max-width:var(--wf-kanban-col-max-width);background:var(--wf-color-bg-subtle);border-radius:var(--wf-radius-md);border:var(--wf-border-width) solid var(--wf-color-border);display:flex;flex-direction:column;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-kanban-col:hover{border-color:var(--wf-color-primary);border-style:dashed}.wf-kanban-col-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-sm) var(--wf-space);font-weight:600;font-size:var(--wf-font-size-sm)}.wf-kanban-col-count{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-fill);border-radius:50%;padding:1px 8px}.wf-kanban-col-body{padding:0 var(--wf-space-sm) var(--wf-space-sm);display:flex;flex-direction:column;gap:var(--wf-gap-sm);min-height:40px}.wf-kanban-card{background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);padding:var(--wf-space-sm) var(--wf-space);cursor:grab;display:flex;align-items:center;gap:var(--wf-gap-sm);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-kanban-card:hover{border-color:var(--wf-color-primary)}.wf-kanban-card:active{cursor:grabbing}.wf-kanban-card[aria-grabbed=true]{opacity:.4}.wf-kanban-card-title{font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);min-width:0}.wf-kanban-tag{font-size:var(--wf-font-size-xs);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg);border-radius:var(--wf-radius-xs);padding:1px var(--wf-space-sm);flex-shrink:0}.wf-label{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);margin-bottom:var(--wf-space-xs)}.wf-label-req{color:var(--wf-color-error-text)}.wf-layout{display:flex;width:100%;min-height:100%;background:var(--wf-color-bg);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-layout--column{flex-direction:column}.wf-layout--row{flex-direction:row}.wf-layout-sider{display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow:hidden;background:var(--wf-color-bg-secondary);border-right:var(--wf-border-width) solid var(--wf-color-border);transition:width var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider--collapsed{border-right:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-layout-sider-body{flex:1;overflow-y:auto;min-height:0}.wf-layout-sider-trigger{display:flex;align-items:center;justify-content:center;width:100%;height:40px;flex-shrink:0;border:none;border-top:var(--wf-border-width) solid var(--wf-color-border-light);background:transparent;color:var(--wf-color-text-secondary);cursor:pointer;font-size:var(--wf-font-size-xs);transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider-trigger:hover{background:var(--wf-color-bg-hover)}.wf-layout-sider-trigger-icon{display:inline-block;transition:transform var(--wf-dur-fast) var(--wf-ease-standard)}.wf-layout-sider-trigger-icon.is-collapsed{transform:rotate(180deg)}.wf-layout-header{display:flex;align-items:center;gap:var(--wf-gap-md);height:var(--wf-layout-header-height);padding:0 var(--wf-space-md);flex-shrink:0;background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-layout-content{flex:1;min-height:0;overflow:auto;padding:var(--wf-space-md)}.wf-layout-footer{padding:var(--wf-space-md);flex-shrink:0;text-align:center;color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);background:var(--wf-color-bg-secondary);border-top:var(--wf-border-width) solid var(--wf-color-border-light)}.wf-link{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);text-decoration:underline;text-underline-offset:3px;color:var(--wf-color-primary-text);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);transition:color var(--wf-dur-fast) var(--wf-ease-standard)}.wf-link:hover{color:var(--wf-color-primary-text)}.wf-link--default{color:var(--wf-color-text-secondary)}.wf-link--default:hover{color:var(--wf-color-text)}.wf-link--danger,.wf-link--danger:hover{color:var(--wf-color-error-text)}.wf-link--muted{color:var(--wf-color-text-tertiary);text-decoration:none}.wf-link--muted:hover{color:var(--wf-color-text-secondary)}.wf-link--no-underline{text-decoration:none}.wf-link--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed;text-decoration:none;pointer-events:none}.wf-list{font-family:var(--wf-font-sans)}.wf-list-header{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-sm) 0}.wf-list-body{margin:0;padding:0;list-style:none}.wf-list-item{padding:var(--wf-space-sm) 0}.wf-list--divided .wf-list-item{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-list--divided .wf-list-item:last-child{border-bottom:none}.wf-list-footer{padding:var(--wf-space-sm) 0;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-list-empty{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-lg) 0;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-sm);padding:var(--wf-space-2xl);color:var(--wf-color-text-secondary)}.wf-loading-spinner{width:24px;height:24px;border:3px solid var(--wf-color-border);border-top-color:var(--wf-color-primary);border-radius:50%;animation:wf-spin var(--wf-dur-spin) linear infinite}@keyframes wf-spin{to{transform:rotate(360deg)}}.wf-loading-text{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-log-viewer{font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);position:relative;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-secondary);overflow:hidden}.wf-log-copy{position:absolute;top:var(--wf-space-sm);right:var(--wf-space-sm);z-index:1;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;max-height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-secondary);cursor:pointer;padding:0;flex-shrink:0}.wf-log-copy:hover{background:var(--wf-color-bg);color:var(--wf-color-text)}.wf-log-body{position:relative;overflow-y:auto}.wf-log-spacer{pointer-events:none}.wf-log-row{display:flex;align-items:center;box-sizing:border-box;padding-right:var(--wf-space-md);white-space:pre}.wf-log-row:hover{background:var(--wf-color-bg-tertiary)}.wf-log-line-no{display:inline-flex;align-items:center;justify-content:flex-end;min-width:48px;padding:0 var(--wf-space-sm);margin-right:var(--wf-space-sm);color:var(--wf-color-text-tertiary);user-select:none;flex-shrink:0}.wf-log-line-content{overflow:hidden}.wf-log-ansi--bold{font-weight:var(--wf-font-weight-bold)}.wf-log-ansi--30{color:var(--wf-color-text-secondary)}.wf-log-ansi--31{color:var(--wf-color-error-text)}.wf-log-ansi--32{color:var(--wf-color-success-text)}.wf-log-ansi--33{color:var(--wf-color-warning-text)}.wf-log-ansi--34,.wf-log-ansi--35{color:var(--wf-color-primary-text)}.wf-log-ansi--36{color:var(--wf-color-info-text)}.wf-log-ansi--37{color:var(--wf-color-text)}.wf-log-ansi--bg41{background:var(--wf-color-error-bg)}.wf-log-ansi--bg42{background:var(--wf-color-success-bg)}.wf-log-ansi--bg43{background:var(--wf-color-warning-bg)}.wf-log-ansi--bg44{background:var(--wf-color-primary-bg)}.wf-log-ansi--bg47{background:var(--wf-color-bg-tertiary)}.wf-log-empty{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-lg);color:var(--wf-color-text-tertiary)}.wf-md{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);color:var(--wf-color-text);word-break:break-word}.wf-md>:first-child{margin-top:0}.wf-md>:last-child{margin-bottom:0}.wf-md-h{margin:var(--wf-space-md) 0 var(--wf-space-sm);font-weight:var(--wf-font-weight-bold);line-height:var(--wf-line-height-tight)}.wf-md-h1{font-size:var(--wf-font-size-xl)}.wf-md-h2{font-size:var(--wf-font-size-lg)}.wf-md-h3{font-size:var(--wf-font-size-base)}.wf-md-h4{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-md-p{margin:0 0 var(--wf-space-sm)}.wf-md-ul,.wf-md-ol{margin:0 0 var(--wf-space-sm);padding-left:var(--wf-space-lg)}.wf-md-li{margin:2px 0}.wf-md-code{font-family:var(--wf-font-mono);font-size:.875em;background:var(--wf-color-bg-secondary);border-radius:var(--wf-radius-xs);padding:1px var(--wf-space-xs)}.wf-md-strong{font-weight:var(--wf-font-weight-bold)}.wf-md-em{font-style:italic}.wf-md-link{color:var(--wf-color-primary-text);text-decoration:underline;text-underline-offset:2px}.wf-md-link:hover{opacity:.85}.wf-md-quote{margin:0 0 var(--wf-space-sm);padding:var(--wf-space-xs) var(--wf-space-md);border-left:3px solid var(--wf-color-border);color:var(--wf-color-text-secondary)}.wf-md-hr{border:none;border-top:var(--wf-border-width) solid var(--wf-color-border);margin:var(--wf-space-md) 0}.wf-md-del{text-decoration:line-through;color:var(--wf-color-text-secondary)}.wf-md-task-list{list-style:none;padding-left:var(--wf-space-xs)}.wf-md-task{display:flex;align-items:flex-start;gap:var(--wf-gap-xs)}.wf-md-task-check{margin-top:var(--wf-space-xs);width:14px;height:14px;flex-shrink:0;accent-color:var(--wf-color-primary);cursor:default;padding:0;box-sizing:border-box}.wf-md-table-wrap{overflow-x:auto;margin:var(--wf-space-sm) 0}.wf-md-table{border-collapse:collapse;width:100%;font-size:var(--wf-font-size-sm)}.wf-md-th,.wf-md-td{border:var(--wf-border-width) solid var(--wf-color-border);padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-md-th{background:var(--wf-color-bg-secondary);font-weight:var(--wf-font-weight-semibold)}.wf-md-tr:nth-child(2n) .wf-md-td{background:var(--wf-color-bg-secondary)}.wf-md-editor,.wf-md-editor-textarea{width:100%}.wf-math-frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 2px}.wf-math-num{border-bottom:var(--wf-border-width) solid currentColor;padding:0 var(--wf-space-xs)}.wf-math-den{padding:0 var(--wf-space-xs)}.wf-math-sqrt-radical{margin-right:1px}.wf-math-sup{font-size:.75em;vertical-align:super}.wf-math-sub{font-size:.75em;vertical-align:sub}.wf-mentions{position:relative;font-family:var(--wf-font-sans)}.wf-mentions-input{width:100%;box-sizing:border-box;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);padding:var(--wf-space-sm) var(--wf-space);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-base);line-height:var(--wf-line-height);resize:vertical;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-mentions-input:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-mentions-input:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-mentions-input--sm{padding:var(--wf-space-xs) var(--wf-space-sm)}.wf-mentions-input--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-mentions-panel{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-mentions-min-width, 160px);max-height:220px;overflow-y:auto;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-mentions-option{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-mentions-option:hover,.wf-mentions-option--hl{background:var(--wf-color-bg-tertiary)}.wf-mentions-option:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menu{display:flex;flex-direction:column;gap:2px;font-family:var(--wf-font-sans)}.wf-menu-group{padding:var(--wf-space-sm) var(--wf-space-sm) 2px;font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-tertiary);letter-spacing:var(--wf-heading-tracking)}.wf-menu-item{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;user-select:none;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-item:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-item:active{background:var(--wf-state-pressed)}.wf-menu-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-menu-item--danger{color:var(--wf-color-error-text)}.wf-menu-item--danger:hover{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-menu-item:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-icon{display:inline-flex;font-size:var(--wf-font-size-base);width:18px;justify-content:center;flex-shrink:0}.wf-menu-submenu{display:flex;flex-direction:column;gap:2px}.wf-menu-submenu-title{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);cursor:pointer;user-select:none;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-submenu-title:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-submenu-title:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-arrow{margin-left:auto;display:inline-flex;color:var(--wf-color-text-tertiary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-menu-submenu--open .wf-menu-arrow{transform:rotate(90deg)}.wf-menu-submenu-content{display:none;flex-direction:column;gap:2px}.wf-menu-submenu--open .wf-menu-submenu-content{display:flex}.wf-menu-item--child{padding-left:var(--wf-space-xl);font-size:var(--wf-font-size-sm)}.wf-menu--collapsed{width:56px}.wf-menu--collapsed .wf-menu-group{display:none}.wf-menu--collapsed .wf-menu-item,.wf-menu--collapsed .wf-menu-submenu-title{justify-content:center;padding:var(--wf-space-sm);gap:0}.wf-menu-collapse-btn{display:flex;align-items:center;justify-content:center;margin-top:auto;padding:var(--wf-space-sm);border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;min-height:36px}.wf-menu-collapse-btn:hover{background:var(--wf-color-bg-secondary);color:var(--wf-color-text)}.wf-menu-collapse-btn:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-menu-submenu--collapsed{position:relative}.wf-menu-submenu-title--collapsed{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--wf-space) 0}.wf-menu-popup{min-width:var(--wf-menu-popup-min-width, 160px);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);z-index:var(--wf-z-popover);animation:wf-menu-popup-in var(--wf-dur-fast) var(--wf-ease-out)}@keyframes wf-menu-popup-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1))}to{opacity:1;transform:translateY(0)}}.wf-menu-badge{margin-left:auto}.wf-menubar{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);font-family:var(--wf-font-sans)}.wf-menubar-trigger{border:none;background:none;padding:var(--wf-space-xs) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-menubar-trigger:hover,.wf-menubar-trigger--open{background:var(--wf-color-bg-tertiary)}.wf-menubar-trigger:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menubar-trigger--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-menubar-panel{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-menubar-min-width, 160px);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-menubar-item{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-menubar-item:hover,.wf-menubar-item--hl{background:var(--wf-state-hover)}.wf-menubar-item:active{background:var(--wf-state-pressed)}.wf-menubar-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-menubar-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-menubar-item-label{flex:1}.wf-menubar-shortcut{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);padding:1px var(--wf-space-sm);font-family:var(--wf-font-sans)}.wf-bubble--error{border:var(--wf-border-width) solid var(--wf-color-error-text);background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-bubble--streaming{border-right:3px solid var(--wf-color-primary);border-right-color:var(--wf-color-primary);animation:wf-bubble-blink var(--wf-dur-blink) var(--wf-ease-in-out) infinite}@keyframes wf-bubble-blink{0%,to{border-right-color:var(--wf-color-primary)}50%{border-right-color:var(--wf-color-primary-bg)}}.wf-bubble-body{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-bubble-actions{display:flex;gap:var(--wf-gap-xs);align-items:center}.wf-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--wf-z-modal)}.wf-modal--enter .wf-modal-overlay{animation:wf-modal-overlay-fadein var(--wf-dur-base) var(--wf-ease-out)}.wf-modal--exit .wf-modal-overlay{animation:wf-modal-overlay-fadeout var(--wf-dur-base) var(--wf-ease-in) forwards}@keyframes wf-modal-overlay-fadein{0%{opacity:0}to{opacity:1}}@keyframes wf-modal-overlay-fadeout{0%{opacity:1}to{opacity:0}}.wf-modal--enter .wf-modal-content{animation:wf-modal-pop var(--wf-dur-base) var(--wf-ease-out)}.wf-modal--exit .wf-modal-content{animation:wf-modal-unpop var(--wf-dur-base) var(--wf-ease-in) forwards}@keyframes wf-modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes wf-modal-unpop{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}.wf-modal-overlay{position:fixed;inset:0;background:var(--wf-overlay);backdrop-filter:blur(var(--wf-overlay-blur));-webkit-backdrop-filter:blur(var(--wf-overlay-blur));z-index:-1}.wf-modal-content{background:var(--wf-color-bg-elevated);border-radius:var(--wf-modal-radius, var(--wf-radius-lg));box-shadow:var(--wf-modal-shadow, var(--wf-shadow-lg));min-width:var(--wf-modal-width, 400px);max-width:90vw;max-height:80vh;display:flex;flex-direction:column;z-index:1;transform-origin:center;width:100%;max-width:100vw;max-height:85vh;border-radius:var(--wf-radius-lg) var(--wf-radius-lg) 0 0;min-width:min(var(--wf-modal-width, 400px),calc(100vw - 32px));padding-bottom:env(safe-area-inset-bottom)}.wf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--wf-space-md) var(--wf-space-lg);border-bottom:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-semibold)}.wf-modal-close{background:none;border:none;font-size:var(--wf-font-size-lg);cursor:pointer;color:var(--wf-color-text-secondary);padding:var(--wf-space-xs);line-height:1}.wf-modal-close:hover{color:var(--wf-color-text)}.wf-modal-body{padding:var(--wf-space-lg);overflow-y:auto;flex:1}.wf-modal-footer{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);padding:var(--wf-space-md) var(--wf-space-lg);border-top:var(--wf-border-width) solid var(--wf-color-border)}@media(max-width:639.98px){.wf-modal{align-items:flex-end}}.wf-nav-bar{display:flex;align-items:center;gap:var(--wf-gap-xs);min-height:48px;padding:var(--wf-space-xs) var(--wf-space-sm);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-nav-bar--fixed{position:sticky;top:0;z-index:var(--wf-z-sticky);padding-top:calc(4px + env(safe-area-inset-top,0px))}.wf-nav-bar-side{display:flex;align-items:center;gap:var(--wf-gap-xs);min-width:0;flex-shrink:0;white-space:nowrap}.wf-nav-bar-title{flex:1;min-width:0;text-align:center;font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-nav-bar-title--left{text-align:left}.wf-navmenu{display:flex;align-items:center;gap:2px;padding:0 var(--wf-space-md);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:48px}.wf-navmenu-item{position:relative;display:inline-flex;align-items:center;gap:var(--wf-space-sm);padding:var(--wf-space-sm) var(--wf-space-md);border-radius:var(--wf-surface-radius);color:var(--wf-color-text-secondary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-navmenu-item:hover{background:var(--wf-state-hover);color:var(--wf-color-text)}.wf-navmenu-item:active{background:var(--wf-state-pressed)}.wf-navmenu-item--active{color:var(--wf-color-primary-text);font-weight:600}.wf-navmenu-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-navmenu-arrow{font-size:var(--wf-font-size-xs);opacity:.6}.wf-navmenu-sub{position:absolute;top:calc(100% + 6px);left:0;min-width:var(--wf-navmenu-min-width);padding:var(--wf-space-sm);border-radius:var(--wf-surface-radius);background:var(--wf-surface-bg);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);z-index:var(--wf-z-dropdown);animation:wf-navmenu-in var(--wf-dur-fast) var(--wf-ease-standard)}@keyframes wf-navmenu-in{0%{opacity:0;transform:translateY(calc(var(--wf-motion-sm) * -1))}to{opacity:1;transform:translateY(0)}}.wf-navmenu-sub-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-md);padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius);color:var(--wf-color-text);cursor:pointer;white-space:nowrap;transition:background var(--wf-dur-fast) var(--wf-ease-standard)}.wf-navmenu-sub-item:hover{background:var(--wf-state-hover)}.wf-navmenu-sub-item:active{background:var(--wf-state-pressed)}.wf-navmenu-sub-item--disabled{color:var(--wf-color-text-disabled);cursor:not-allowed}.wf-navmenu-sub-arrow{color:var(--wf-color-text-tertiary)}.wf-notification-container{position:fixed;z-index:var(--wf-z-toast);display:flex;flex-direction:column;gap:var(--wf-gap-sm);pointer-events:none;max-width:360px}.wf-notification--tr{top:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-notification--tl{top:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-notification--br{bottom:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-notification--bl{bottom:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-notification{display:flex;gap:var(--wf-gap-sm);background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-left-width:3px;border-radius:var(--wf-radius);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space) var(--wf-space-md);pointer-events:auto;font-family:var(--wf-font-sans);width:100%}.wf-notification--success{border-left-color:var(--wf-color-success)}.wf-notification--error{border-left-color:var(--wf-color-error)}.wf-notification--warning{border-left-color:var(--wf-color-warning)}.wf-notification--info{border-left-color:var(--wf-color-info)}.wf-notification-icon{display:inline-flex;align-items:flex-start;color:var(--wf-color-text-secondary);padding-top:2px}.wf-notification--success .wf-notification-icon{color:var(--wf-color-success-text)}.wf-notification--error .wf-notification-icon{color:var(--wf-color-error-text)}.wf-notification--warning .wf-notification-icon{color:var(--wf-color-warning-text)}.wf-notification--info .wf-notification-icon{color:var(--wf-color-info-text)}.wf-notification-body{flex:1;min-width:0}.wf-notification-title{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-notification-desc{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);margin-top:2px;word-break:break-word}.wf-notification-action{margin-top:var(--wf-gap-sm);border:none;background:none;padding:0;font-size:var(--wf-font-size-sm);color:var(--wf-color-primary-text);cursor:pointer}.wf-notification-action:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-notification-close{border:none;background:none;padding:2px;cursor:pointer;color:var(--wf-color-text-tertiary);align-self:flex-start}.wf-notification-close:hover{color:var(--wf-color-text)}.wf-notification-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--wf-gap-md);margin-bottom:var(--wf-space-md)}.wf-page-head-left{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-page-title{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-2xl);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);margin:0;line-height:var(--wf-line-height-tight)}.wf-page-title--display{font-size:var(--wf-font-size-display);letter-spacing:var(--wf-heading-display-tracking)}.wf-page-sub{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);margin:0}.wf-page-head-actions{display:flex;align-items:center;gap:var(--wf-gap-sm);flex-shrink:0}.wf-pagination{display:flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans);overflow-x:auto;scrollbar-width:none;font-size:var(--wf-font-size-sm)}.wf-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;min-height:32px;max-height:32px;padding:0 var(--wf-space-xs);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);cursor:pointer;font-family:inherit;font-size:inherit;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-page-btn:hover:not(:disabled):not(.wf-page-btn--active){border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-page-btn:active:not(:disabled):not(.wf-page-btn--active){background:var(--wf-state-pressed)}.wf-page-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-page-btn--active{background:var(--wf-color-primary);border-color:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-page-btn--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-page-ellipsis{padding:0 var(--wf-space-xs);color:var(--wf-color-text-tertiary)}.wf-pagination::-webkit-scrollbar{display:none}.wf-password{position:relative}.wf-password .wf-input{padding-right:38px}.wf-password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);padding:var(--wf-space-sm);border-radius:var(--wf-radius-xs)}.wf-password-eye:hover{color:var(--wf-color-text-secondary)}.wf-pin-input{display:inline-flex;gap:var(--wf-gap-sm);font-family:var(--wf-font-sans)}.wf-pin-input-cell{width:2.6em;height:2.6em;text-align:center;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text);font-size:var(--wf-font-size-xl);font-weight:var(--wf-font-weight-semibold);transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-pin-input-cell:focus{outline:none;border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-pin-input-cell:disabled{opacity:.5;cursor:not-allowed}.wf-pin-input--sm .wf-pin-input-cell{font-size:var(--wf-font-size-base);width:2.4em;height:2.4em}.wf-pin-input--lg .wf-pin-input-cell{font-size:var(--wf-font-size-2xl);width:2.8em;height:2.8em}.wf-pipeline{position:relative;display:inline-block;max-width:100%}.wf-pipeline-svg{display:block;overflow:visible}.wf-pipeline-edge{fill:none;stroke:var(--wf-color-border);stroke-width:1.5}.wf-pipeline-nodes{position:absolute;inset:0;pointer-events:none}.wf-pipeline-node{position:absolute;transform:translate(-50%,-50%);padding:var(--wf-space-sm) var(--wf-space-md);min-width:72px;max-width:120px;text-align:center;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);font-size:var(--wf-font-size-sm);font-weight:500;pointer-events:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--wf-shadow-sm)}.wf-pipeline-node--success{border-color:var(--wf-color-success-text);color:var(--wf-color-success-text);background:var(--wf-color-success-bg)}.wf-pipeline-node--running{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text);background:var(--wf-color-primary-bg)}.wf-pipeline-node--error{border-color:var(--wf-color-error-text);color:var(--wf-color-error-text);background:var(--wf-color-error-bg)}.wf-pipeline-node--pending{border-color:var(--wf-color-border);color:var(--wf-color-text-tertiary);background:var(--wf-color-fill)}.wf-pipeline-warn{position:absolute;bottom:-24px;left:0;font-size:var(--wf-font-size-xs);color:var(--wf-color-warning-text)}.wf-popconfirm-wrap{display:inline-block}.wf-popconfirm{position:fixed;z-index:var(--wf-z-popover);min-width:var(--wf-popconfirm-min-width, 180px);padding:var(--wf-space-sm);border-radius:var(--wf-surface-radius);background:var(--wf-surface-bg);box-shadow:var(--wf-surface-shadow);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-popconfirm--enter{animation:wf-popconfirm-in var(--wf-dur-md) var(--wf-ease-standard)}.wf-popconfirm--exit{animation:wf-popconfirm-out var(--wf-dur-md) var(--wf-ease-standard) forwards}@keyframes wf-popconfirm-in{0%{opacity:0}to{opacity:1}}@keyframes wf-popconfirm-out{0%{opacity:1}to{opacity:0}}.wf-popconfirm-title{display:flex;align-items:flex-start;gap:var(--wf-gap-xs);margin-bottom:var(--wf-space-xs);color:var(--wf-color-text);line-height:var(--wf-line-height)}.wf-popconfirm-icon{display:inline-flex;flex-shrink:0;margin-top:2px;color:var(--wf-color-warning-text)}.wf-popconfirm-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-xs);margin-top:var(--wf-space-xs)}.wf-popover-wrap{display:inline-block}.wf-popover{position:fixed;z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-popover-radius, var(--wf-radius-md));box-shadow:var(--wf-shadow-md);padding:var(--wf-space);min-width:var(--wf-popover-width, 160px);max-width:min(var(--wf-popup-max, 320px),calc(100vw - 32px));animation:wf-popover-in var(--wf-dur-fast) var(--wf-ease-out)}.wf-popover-arrow{display:none}.wf-popover-content{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);line-height:var(--wf-line-height)}@keyframes wf-popover-in{0%{opacity:0}to{opacity:1}}@keyframes wf-popover-overlay-in{0%{opacity:0}to{opacity:1}}.wf-progress-wrap{display:flex;align-items:center;gap:var(--wf-gap-sm);width:100%;min-width:0}.wf-progress-label{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);white-space:nowrap;min-width:60px}.wf-progress{flex:1;height:8px;background:var(--wf-color-bg-tertiary);border-radius:var(--wf-radius-sm);overflow:hidden}.wf-progress-fill{height:100%;background:var(--wf-color-primary);border-radius:var(--wf-radius-sm);transition:width var(--wf-transition)}.wf-progress-value{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary);min-width:40px;text-align:right}.wf-progress--sm{height:4px}.wf-progress--md{height:8px}.wf-progress--lg{height:12px}.wf-progress-fill--success{background:var(--wf-color-success-text)}.wf-progress-fill--error{background:var(--wf-color-error-text)}.wf-progress-fill--warning{background:var(--wf-color-warning-text)}.wf-progress--indeterminate .wf-progress-fill{width:40%;animation:wf-progress-indeterminate var(--wf-dur-progress) var(--wf-ease-in-out) infinite}@keyframes wf-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.wf-prompt-template{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-prompt-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text)}.wf-prompt-chips{display:flex;align-items:center;flex-wrap:wrap;gap:var(--wf-gap-xs)}.wf-prompt-chips-hint{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-prompt-chip{padding:2px var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-xs);color:var(--wf-color-primary-text);cursor:pointer;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-prompt-chip:hover:not(:disabled){border-color:var(--wf-color-primary);background:var(--wf-color-primary-bg)}.wf-prompt-chip:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-prompt-chip:disabled{cursor:not-allowed;opacity:.6}.wf-prompt-editor{width:100%;min-height:120px;padding:var(--wf-space-md);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-elevated);color:var(--wf-color-text);font-family:var(--wf-font-mono);font-size:var(--wf-font-size-sm);line-height:1.6;resize:vertical}.wf-prompt-editor:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-prompt-preview{border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius-md);padding:var(--wf-space-md);background:var(--wf-color-bg-secondary)}.wf-prompt-preview-title{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);margin-bottom:var(--wf-space-xs)}.wf-prompt-preview-body{font-size:var(--wf-font-size-sm);color:var(--wf-color-text);white-space:pre-wrap;word-break:break-word}.wf-radio-group{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-radio-group--inline{flex-direction:row;flex-wrap:wrap}.wf-radio:hover .wf-radio-visual{border-color:var(--wf-color-primary)}.wf-radio{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-radio-input{position:absolute;opacity:0;width:0;height:0}.wf-radio-visual{width:16px;height:16px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);background:var(--wf-color-bg)}.wf-radio-input:checked+.wf-radio-visual{border-color:var(--wf-color-primary);border-width:5px}.wf-radio-input:focus-visible+.wf-radio-visual{box-shadow:var(--wf-focus-ring)}.wf-radio-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-radio-label-text{color:var(--wf-color-text)}.wf-rate{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);font-family:var(--wf-font-sans)}.wf-rate-star{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;min-width:1.5em;max-width:1.5em;min-height:1.5em;max-height:1.5em;padding:0;line-height:1;border:none;background:none;cursor:pointer;color:var(--wf-color-text-tertiary);transition:color var(--wf-dur-fast) var(--wf-ease-out),transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-rate-star--on{color:var(--wf-color-warning-text)}.wf-rate-star--on .wf-rate-star-icon{fill:currentColor}.wf-rate-star:hover{transform:scale(1.15)}.wf-rate-star:active{transform:scale(.95)}.wf-rate-star:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-rate--disabled .wf-rate-star{cursor:not-allowed;opacity:.6}.wf-rate--sm{font-size:var(--wf-font-size-sm)}.wf-rate--md{font-size:var(--wf-font-size-xl)}.wf-rate--lg{font-size:var(--wf-font-size-2xl)}.wf-rate-star-half{position:relative;display:inline-block;width:1em;height:1em}.wf-rate-star-half-bg,.wf-rate-star-half-fg{position:absolute;top:0;left:0;height:100%;display:inline-flex;align-items:center}.wf-rate-star-half-bg{width:100%;color:var(--wf-color-text-tertiary)}.wf-rate-star-half-fg{width:50%;overflow:hidden;color:var(--wf-color-warning-text)}.wf-rate-star-half-fg .wf-rate-star-icon{width:1em;height:1em;flex-shrink:0;fill:currentColor}.wf-rate-star-half-bg .wf-rate-star-icon{width:1em;height:1em;flex-shrink:0}.wf-reasoning{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height)}.wf-reasoning-toggle{display:flex;align-items:center;gap:var(--wf-gap-xs);width:100%;padding:var(--wf-gap-xs) var(--wf-gap-sm);background:none;border:none;cursor:pointer;color:var(--wf-color-text-secondary);font:inherit;text-align:left}.wf-reasoning-toggle:hover{color:var(--wf-color-text)}.wf-reasoning-toggle:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:-1px;border-radius:var(--wf-radius)}.wf-reasoning-chevron{display:inline-flex;color:var(--wf-color-text-secondary);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-reasoning-chevron--open{transform:rotate(180deg)}.wf-reasoning-label{font-weight:var(--wf-font-weight-medium)}.wf-reasoning-dot{width:6px;height:6px;min-width:6px;min-height:6px;border-radius:50%;background:var(--wf-color-info-text);animation:wf-reasoning-pulse var(--wf-dur-slow) ease-in-out infinite}@keyframes wf-reasoning-pulse{0%,to{opacity:.35}50%{opacity:1}}.wf-reasoning-body{padding:var(--wf-gap-xs) var(--wf-gap-sm) var(--wf-gap-sm);color:var(--wf-color-text-secondary);white-space:pre-wrap;word-break:break-word}.wf-rg{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-rg-canvas{display:block;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:radial-gradient(circle at 1px 1px,var(--wf-color-border) 1px,transparent 0) 0 0 / 24px 24px;overflow:hidden}.wf-rg-edge{transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-rg-node{cursor:pointer}.wf-rg-node circle{transition:stroke-width var(--wf-dur-fast) var(--wf-ease-out)}.wf-rg-node:hover circle{stroke-width:3}.wf-rg-node--selected circle{stroke-width:3.5;stroke-dasharray:4 3}.wf-rg-label{font-size:var(--wf-font-size-base);font-weight:var(--wf-font-weight-semibold);fill:var(--wf-color-text);pointer-events:none}.wf-rg-sublabel{font-size:var(--wf-font-size-xs);fill:var(--wf-color-text-tertiary);pointer-events:none}.wf-rg-legend{display:flex;flex-wrap:wrap;gap:var(--wf-gap-xs) var(--wf-gap-md);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-rg-legend-item{display:inline-flex;align-items:center;gap:var(--wf-gap-xs)}.wf-rg-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.wf-rg-line{display:inline-block;width:16px;height:3px;border-radius:var(--wf-radius-xs)}.wf-resizable{display:flex;font-family:var(--wf-font-sans)}.wf-resizable--horizontal{flex-direction:row}.wf-resizable--vertical{flex-direction:column}.wf-resizable-panel{flex:0 0 auto;min-width:0;min-height:0;overflow:auto}.wf-resizable-panel--fill{flex:1 1 0%}.wf-resizable-handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:col-resize;background:var(--wf-color-bg-secondary);transition:background var(--wf-dur-fast) var(--wf-ease-out)}.wf-resizable--horizontal .wf-resizable-handle{width:6px;cursor:col-resize}.wf-resizable--vertical .wf-resizable-handle{height:6px;cursor:row-resize}.wf-resizable-handle:hover,.wf-resizable-handle:focus-visible{background:var(--wf-color-primary);outline:none}.wf-result{display:flex;flex-direction:column;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space-xl) var(--wf-space-md);text-align:center;font-family:var(--wf-font-sans)}.wf-result-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%}.wf-result--success .wf-result-icon{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-result--error .wf-result-icon{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-result--warning .wf-result-icon{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-result--info .wf-result-icon{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-result-title{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-bold);color:var(--wf-color-text)}.wf-result-desc{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);max-width:420px}.wf-result-extra{margin-top:var(--wf-space-md);display:flex;gap:var(--wf-gap-sm);justify-content:center}.wf-scrollbar{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--wf-color-border) transparent}.wf-scrollbar::-webkit-scrollbar{width:8px;height:8px}.wf-scrollbar::-webkit-scrollbar-track{background:transparent}.wf-scrollbar::-webkit-scrollbar-thumb{background:var(--wf-color-border);border-radius:var(--wf-radius-sm)}.wf-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--wf-color-text-tertiary)}.wf-search{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-search:focus-within{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-search-icon{font-size:var(--wf-font-size-sm);flex-shrink:0;line-height:1}.wf-search-input{flex:1;border:none;outline:none;background:none;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:0}.wf-search-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-search-clear{background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);padding:2px;line-height:1;flex-shrink:0}.wf-search-clear:hover{color:var(--wf-color-text)}.wf-search-clear:active{opacity:.6}.wf-search-clear:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-search--has-clear .wf-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.wf-search-input--dis{opacity:.5;cursor:not-allowed}.wf-search-input:disabled{cursor:not-allowed}.wf-segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--wf-radius);background:var(--wf-color-bg-tertiary);font-family:var(--wf-font-sans)}.wf-segmented--block{display:flex;width:100%}.wf-segmented--block .wf-segmented-option{flex:1;justify-content:center}.wf-segmented-option{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);border:none;background:none;cursor:pointer;padding:var(--wf-space-xs) var(--wf-space-md);border-radius:calc(var(--wf-radius) - 1px);font-family:inherit;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);line-height:var(--wf-line-height);color:var(--wf-color-text-secondary);white-space:nowrap;transition:background var(--wf-transition),color var(--wf-transition),box-shadow var(--wf-transition)}.wf-segmented-option:hover{color:var(--wf-color-text)}.wf-segmented-option--active{background:var(--wf-surface-bg);color:var(--wf-color-primary-text);box-shadow:var(--wf-shadow-sm);transition:box-shadow var(--wf-dur-fast) var(--wf-ease-snap),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-segmented-option--active:hover{color:var(--wf-color-primary-text)}.wf-segmented-option:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-segmented-option:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-segmented--sm .wf-segmented-option{padding:2px var(--wf-space-sm);font-size:var(--wf-font-size-xs)}@media(pointer:coarse){.wf-segmented-option{min-height:44px}}.wf-select-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs);position:relative}.wf-select{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);width:100%;cursor:pointer;appearance:auto}.wf-select:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-select:hover:not(:disabled){border-color:var(--wf-color-border-dark)}.wf-select:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select--err .wf-select{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-select-search{position:relative}.wf-select-search-trigger{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);cursor:pointer;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-select-search-trigger:hover{border-color:var(--wf-color-border-dark)}.wf-select-search-trigger:focus-within{border-color:var(--wf-color-primary)}.wf-select-search-input:focus{box-shadow:0 0 0 1px var(--wf-color-primary)}.wf-select-search--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select--err .wf-select-search-trigger{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-select-search-input{width:100%;border:none;outline:none;background:transparent;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);cursor:pointer;box-sizing:border-box}.wf-select-search-input:read-only{cursor:pointer}.wf-select-search-menu{min-width:var(--wf-select-menu-min-width);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);box-shadow:var(--wf-shadow-md);max-height:240px;overflow-y:auto;z-index:var(--wf-z-dropdown);animation:wf-panel-in var(--wf-dur-fast) var(--wf-ease-out);transform-origin:top center}.wf-select-search-opt{padding:var(--wf-control-pad-y) var(--wf-space);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-select-search-group{padding:var(--wf-gap-xs) var(--wf-space) 2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);font-weight:var(--wf-font-weight-medium);text-transform:var(--wf-heading-case);user-select:none}.wf-select-search-opt:hover{background:var(--wf-state-hover)}.wf-select-search-opt:active{background:var(--wf-state-pressed)}.wf-select-search-opt--sel{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-select-search-opt--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-select-search-empty{padding:var(--wf-space) var(--wf-space);font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary);text-align:center}.wf-select-search-opt--hl{background:var(--wf-color-bg-tertiary)}.wf-select-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-size:var(--wf-font-size-xs);padding:1px var(--wf-space-xs);border-radius:var(--wf-radius-sm);white-space:nowrap}.wf-select-tag-close{display:inline-flex;align-items:center;border:none;background:none;padding:0;cursor:pointer;color:inherit;opacity:.6}.wf-select-tag-close:hover{opacity:1}.wf-select-tag-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}@media(pointer:coarse){.wf-select-search-opt{min-height:44px;display:flex;align-items:center}}.wf-session{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-session-head{display:flex;align-items:center;gap:var(--wf-gap-xs)}.wf-session-search{flex:1;min-width:0;padding:var(--wf-control-pad-y) var(--wf-gap-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);font:inherit;font-size:var(--wf-font-size-sm)}.wf-session-search:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-session-new{flex-shrink:0}.wf-session-list{display:flex;flex-direction:column;outline:none}.wf-session-group-title{padding:var(--wf-gap-xs) var(--wf-gap-xs) 2px;font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);font-weight:var(--wf-font-weight-medium);text-transform:var(--wf-heading-case);user-select:none}.wf-session-item{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-gap-xs) var(--wf-gap-sm);border-radius:var(--wf-radius-sm);cursor:pointer;color:var(--wf-color-text);min-height:32px}.wf-session-item:hover{background:var(--wf-color-bg-tertiary)}.wf-session-item:active{background:var(--wf-state-pressed)}.wf-session-item--focus{background:var(--wf-color-bg-tertiary)}.wf-session-item--active{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-medium)}.wf-session-item--active:hover{background:var(--wf-color-primary-bg)}.wf-session-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-session-rename,.wf-session-del{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;min-height:22px;padding:0;line-height:0;border:none;border-radius:var(--wf-radius-sm);background:none;color:var(--wf-color-text-tertiary);cursor:pointer;opacity:0;flex-shrink:0;transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-session-item:hover .wf-session-rename,.wf-session-item:hover .wf-session-del,.wf-session-rename:focus-visible,.wf-session-del:focus-visible{opacity:1;outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-session-rename:hover{color:var(--wf-color-info-text)}.wf-session-del:hover{color:var(--wf-color-error-text)}.wf-session-item--rename{cursor:default}.wf-session-rename-input{flex:1;min-width:0;padding:2px var(--wf-gap-xs);border:var(--wf-border-width) solid var(--wf-color-primary);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);color:var(--wf-color-text);font:inherit;font-size:var(--wf-font-size-sm)}.wf-session-rename-input:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-session-empty{padding:var(--wf-gap-md) var(--wf-gap-sm);text-align:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-xs)}@media(pointer:coarse){.wf-session-item{min-height:44px}.wf-session-rename,.wf-session-del{opacity:1;width:28px;height:28px}}.wf-sheet{display:flex;flex-direction:column;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-sm);min-height:0}.wf-sheet-toolbar{display:flex;align-items:center;gap:var(--wf-gap-sm);flex-wrap:wrap}.wf-sheet-tabs{display:flex;gap:2px;align-items:flex-end}.wf-sheet-tab{font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-bottom:none;border-radius:var(--wf-radius-sm) var(--wf-radius-sm) 0 0;background:var(--wf-color-bg);cursor:pointer;min-height:0;min-width:0}.wf-sheet-tab:hover{border-color:var(--wf-color-primary);color:var(--wf-color-primary-text)}.wf-sheet-tab--active:hover{color:var(--wf-color-on-brand)}.wf-sheet-tab--active{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-sheet-tools{display:flex;gap:var(--wf-gap-xs);align-items:center}.wf-sheet-status{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);margin-left:auto}.wf-sheet-scroll{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);max-height:100%;background:var(--wf-color-bg)}.wf-sheet-table{border-collapse:collapse;width:max-content;font-size:var(--wf-font-size-sm)}.wf-sheet-table th,.wf-sheet-table td{border:var(--wf-border-width) solid var(--wf-color-border);padding:2px 8px;min-width:60px;height:24px;white-space:nowrap}.wf-sheet-colhead{background:var(--wf-color-bg-subtle);font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);text-align:center;position:sticky;top:0;z-index:1}.wf-sheet-rowhead{background:var(--wf-color-bg-subtle);font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-secondary);text-align:center;position:sticky;left:0;z-index:1;min-width:36px}.wf-sheet-corner{position:sticky;top:0;left:0;z-index:1;background:var(--wf-color-bg-subtle)}.wf-sheet-cell{cursor:cell}.wf-sheet-cell--active{outline:2px solid var(--wf-color-primary);outline-offset:-2px}.wf-sheet-input{width:100%;border:none;outline:none;background:transparent;font:inherit;padding:0;min-height:0;height:100%}.wf-sheet-ai-panel{width:320px;max-height:260px;overflow:auto;padding:var(--wf-gap-sm);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);z-index:var(--wf-z-popover);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-sheet-ai-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm)}.wf-sheet-ai-body{white-space:pre-wrap;word-break:break-all;font-size:var(--wf-font-size-sm);margin:0;max-height:140px;overflow:auto}.wf-sheet-ai-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-sm)}.wf-sheet-ai-actions{display:flex;gap:var(--wf-gap-xs);justify-content:flex-end}.wf-skeleton{display:inline-block;height:1em;border-radius:var(--wf-radius-sm);background:linear-gradient(90deg,var(--wf-color-border) 25%,var(--wf-state-hover) 50%,var(--wf-color-border) 75%);background-size:200% 100%;animation:wf-skeleton-shimmer calc(var(--wf-dur-slow) * 5) var(--wf-ease-in-out) infinite;vertical-align:middle}@keyframes wf-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wf-skeleton--text{width:100%;min-width:60px}.wf-skeleton--circle{border-radius:50%;width:40px;height:40px;min-width:unset}.wf-skeleton--rect{border-radius:var(--wf-radius);width:100%;height:120px}.wf-skeleton--image{border-radius:var(--wf-radius);width:100%;aspect-ratio:16 / 9;height:auto}.wf-skeleton--avatar{border-radius:50%;width:48px;height:48px;min-width:unset}.wf-skeleton--short{width:60%}.wf-skeleton-table{display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-skeleton-row{display:flex;gap:var(--wf-gap-md);align-items:center}.wf-skeleton-row .wf-skeleton{flex:1}.wf-slide{display:flex;flex-direction:column;gap:var(--wf-gap-xs);min-height:0}.wf-slide-toolbar{display:flex;align-items:center;gap:var(--wf-gap-xs);flex-wrap:wrap}.wf-slide-tab{font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;min-height:0}.wf-slide-tab--active{background:var(--wf-color-primary);color:var(--wf-color-on-brand);border-color:var(--wf-color-primary)}.wf-slide-canvas-scroll{overflow:auto;background:var(--wf-color-bg-subtle);border-radius:var(--wf-radius-md);padding:var(--wf-space)}.wf-slide-canvas{position:relative;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);box-shadow:var(--wf-shadow-md)}.wf-slide-shape-scaler{top:0;left:0;pointer-events:none}.wf-slide-shape{position:absolute;border:var(--wf-border-width) solid transparent;cursor:move;pointer-events:auto;box-sizing:border-box}.wf-slide-shape--text{display:flex;align-items:center;overflow:hidden}.wf-slide-shape--rect{border-radius:var(--wf-radius-sm)}.wf-slide-shape--selected{border-color:var(--wf-color-primary);outline:1px solid var(--wf-color-primary);outline-offset:1px}.wf-slide-shape-label{padding:var(--wf-space-xs) var(--wf-space-sm);font-size:var(--wf-font-size-sm);line-height:1.4;width:100%;white-space:pre-wrap;word-break:break-word}.wf-slide-shape-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-3xl);background:var(--wf-color-bg-subtle);border:var(--wf-border-width) dashed var(--wf-color-border)}.wf-slide-shape-line{width:100%;height:2px;background:var(--wf-color-text-secondary);margin-top:50%}.wf-slide-shape-edit{width:100%;height:100%;border:none;outline:none;resize:none;font:inherit;padding:var(--wf-space-xs) var(--wf-space-sm);background:transparent;min-height:0}.wf-slide-shape-resize{position:absolute;right:-5px;bottom:-5px;width:10px;height:10px;background:var(--wf-color-primary);border:var(--wf-border-width) solid var(--wf-color-bg);cursor:nwse-resize;pointer-events:auto;z-index:1}.wf-slide-ai-panel{width:320px;max-height:260px;overflow:auto;padding:var(--wf-gap-sm);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);z-index:var(--wf-z-popover);display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-slide-ai-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm)}.wf-slide-ai-body{white-space:pre-wrap;word-break:break-all;font-size:var(--wf-font-size-sm);margin:0;max-height:140px;overflow:auto}.wf-slide-ai-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-sm)}.wf-slide-ai-actions{display:flex;gap:var(--wf-gap-xs);justify-content:flex-end}.wf-slide-shape:hover{border-color:var(--wf-color-border)}.wf-slider-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-slider{display:flex;align-items:center;gap:var(--wf-gap-md);--wf-slider-thumb-size: 18px}.wf-slider-track{flex:1;min-width:0;--wf-slider-track-margin: 8px;--wf-slider-track-h: 6px;position:relative}.wf-slider-input{width:100%;height:6px;vertical-align:top;appearance:none;padding:0;border:none;background:var(--wf-color-border);border-radius:var(--wf-radius-xs);outline:none;cursor:pointer;margin:var(--wf-slider-track-margin) 0}.wf-slider-input:hover::-webkit-slider-thumb,.wf-slider-input:active::-webkit-slider-thumb{transform:scale(1.15);background:var(--wf-color-primary-hover)}.wf-slider-input:hover::-moz-range-thumb,.wf-slider-input:active::-moz-range-thumb{transform:scale(1.15);background:var(--wf-color-primary-hover)}.wf-slider-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-slider-input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-slider-input::-webkit-slider-thumb{appearance:none;width:var(--wf-slider-thumb-size);height:var(--wf-slider-thumb-size);border-radius:50%;background:var(--wf-color-primary);cursor:pointer;border:2px solid var(--wf-color-on-brand);box-shadow:var(--wf-slider-thumb-shadow, var(--wf-shadow-sm));transition:transform var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-slider-input::-moz-range-thumb{width:calc(var(--wf-slider-thumb-size) - 4px);height:calc(var(--wf-slider-thumb-size) - 4px);border-radius:50%;background:var(--wf-color-primary);cursor:pointer;border:2px solid var(--wf-color-on-brand);box-shadow:var(--wf-slider-thumb-shadow, var(--wf-shadow-sm));transition:transform var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-slider-input::-moz-range-track{height:6px;padding:0;border:none;border-radius:var(--wf-radius-xs);background:transparent}.wf-slider-input:focus-visible{box-shadow:var(--wf-focus-ring)}.wf-slider-value{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);min-width:30px;text-align:center}.wf-slider-tip{z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);padding:2px var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap}.wf-slider-marks{position:absolute;left:0;right:0;top:var(--wf-slider-track-margin);bottom:auto;height:var(--wf-slider-track-h);pointer-events:none}.wf-slider-range .wf-slider-marks{top:0;bottom:0;height:auto}.wf-slider-mark{position:absolute;top:calc(50% - 4px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}.wf-slider-mark-dot{width:8px;height:8px;border-radius:50%;background:var(--wf-color-border-dark);border:2px solid var(--wf-color-bg);box-sizing:border-box}.wf-slider-mark-label{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);white-space:nowrap}.wf-slider-input--dis{opacity:.5;cursor:not-allowed}.wf-slider-input:disabled{cursor:not-allowed}.wf-slider-input:disabled::-webkit-slider-thumb,.wf-slider-input:disabled::-moz-range-thumb{cursor:not-allowed}.wf-slider-range{position:relative;min-height:36px;display:flex;align-items:center}.wf-slider-range .wf-slider-input{position:absolute;inset:0;margin:0;background:transparent;height:auto;pointer-events:none}.wf-slider-range .wf-slider-input::-webkit-slider-thumb{pointer-events:auto}.wf-slider-range .wf-slider-input::-moz-range-thumb{pointer-events:auto}.wf-slider-range-fill{position:absolute;top:0;bottom:0;margin:auto;height:var(--wf-slider-track-h);background:var(--wf-color-primary);border-radius:var(--wf-radius-xs);pointer-events:none}.wf-sortable{list-style:none}.wf-sortable-item{cursor:grab;user-select:none;transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out);border-radius:var(--wf-radius-sm)}.wf-sortable-item:active{cursor:grabbing}.wf-sortable-item.wf-sortable-dragging{opacity:.6}.wf-sortable-item.wf-sortable-over{transform:translateY(2px);box-shadow:0 0 0 2px var(--wf-color-primary-bg),0 0 0 1px var(--wf-color-primary)}.wf-sortable-item:hover{background:var(--wf-color-bg-hover)}.wf-space{display:flex;align-items:center}.wf-space--vertical{flex-direction:column;align-items:stretch}.wf-space-split{color:var(--wf-color-text-tertiary)}.wf-sparkline{display:inline-block;vertical-align:middle;flex-shrink:0}.wf-stat{display:flex;flex-direction:column;gap:var(--wf-gap-xs);padding:var(--wf-space-md);border-radius:var(--wf-radius-md);background:var(--wf-surface-bg);border:var(--wf-border-width) solid var(--wf-color-border-light);font-family:var(--wf-font-sans)}.wf-stat-icon{font-size:24px;line-height:1;margin-bottom:var(--wf-gap-xs)}.wf-stat-value{font-size:var(--wf-font-size-3xl);font-weight:var(--wf-font-weight-bold);color:var(--wf-color-text);line-height:1;font-variant-numeric:var(--wf-nums)}.wf-stat-label{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-stat-trend{display:flex;align-items:center;gap:var(--wf-gap-xs);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-stat-trend--up{color:var(--wf-color-success-text)}.wf-stat-trend--down{color:var(--wf-color-error-text)}.wf-stat-trend-arrow{font-weight:var(--wf-font-weight-bold)}.wf-stat--clickable{cursor:pointer;transition:transform var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out)}.wf-stat--clickable:hover{transform:translateY(-2px);box-shadow:var(--wf-shadow-md)}.wf-stat--clickable:focus-visible{outline:none;box-shadow:var(--wf-shadow-md),var(--wf-focus-ring)}.wf-steps{display:flex;align-items:flex-start;font-family:var(--wf-font-sans)}.wf-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;gap:var(--wf-gap-xs)}.wf-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary);flex-shrink:0}.wf-step--done .wf-step-num{background:var(--wf-color-primary);color:var(--wf-color-on-brand);font-size:var(--wf-font-size-base)}.wf-step--current .wf-step-num{background:var(--wf-color-primary);color:var(--wf-color-on-brand);box-shadow:0 0 0 3px var(--wf-color-primary-bg)}.wf-step-label{font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text);text-align:center}.wf-step--current .wf-step-label{color:var(--wf-color-primary-text)}.wf-step-desc{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-align:center}.wf-step-connector{position:absolute;top:14px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--wf-color-border)}.wf-step-connector--done{background:var(--wf-color-primary)}.wf-switch{display:inline-flex;align-items:center;gap:var(--wf-gap-sm);cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);user-select:none}.wf-switch:hover .wf-switch-track{border-color:var(--wf-color-primary)}.wf-switch-input{position:absolute;opacity:0;width:0;height:0}.wf-switch-track{position:relative;width:36px;height:20px;background:var(--wf-color-border-dark);border-radius:var(--wf-switch-radius, 10px);transition:background var(--wf-transition);flex-shrink:0}.wf-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--wf-color-on-brand);border-radius:50%;transition:transform var(--wf-transition);box-shadow:var(--wf-switch-knob-shadow, var(--wf-shadow-sm))}.wf-switch-input:checked+.wf-switch-track{background:var(--wf-color-primary)}.wf-switch-input:checked+.wf-switch-track:after{transform:translate(16px)}.wf-switch-input:focus-visible+.wf-switch-track{box-shadow:var(--wf-focus-ring)}.wf-switch-input:disabled~*{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-switch-label{color:var(--wf-color-text)}.wf-tab-bar{display:flex;align-items:stretch;background:var(--wf-color-bg-elevated);border-top:var(--wf-border-width) solid var(--wf-color-border);min-height:56px}.wf-tab-bar--fixed{position:fixed;left:0;right:0;bottom:0;z-index:var(--wf-z-popover);padding-bottom:env(safe-area-inset-bottom,0px)}.wf-tab-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--wf-gap-xs);padding:var(--wf-space-sm) var(--wf-space-xs);background:transparent;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);transition:color var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out);position:relative}.wf-tab-bar-item:hover:not(:disabled){color:var(--wf-color-text-secondary);background:var(--wf-state-hover)}.wf-tab-bar-item:active:not(:disabled){background:var(--wf-state-pressed)}.wf-tab-bar-item--active{color:var(--wf-color-primary-text);font-weight:var(--wf-font-weight-semibold)}.wf-tab-bar-item--active:before{content:"";position:absolute;top:0;left:25%;right:25%;height:2px;border-radius:0 0 2px 2px;background:var(--wf-color-primary)}.wf-tab-bar-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tab-bar-icon-wrap{position:relative;display:inline-flex;line-height:1}.wf-tab-bar-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-xl);background:var(--wf-color-error);color:var(--wf-color-on-brand);font-size:10px;line-height:16px;text-align:center;font-weight:var(--wf-font-weight-semibold);pointer-events:none}.wf-tab-bar-label{font-size:var(--wf-font-size-xs);line-height:1.2;white-space:nowrap}.wf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.wf-table{width:100%;border-collapse:collapse;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}.wf-table-thead{border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-table-th{text-align:left;font-weight:var(--wf-font-weight-medium);font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking);padding:var(--wf-space) var(--wf-space-sm);background:var(--wf-color-bg-secondary);white-space:nowrap}.wf-table-td{padding:var(--wf-space) var(--wf-space-sm);border-bottom:var(--wf-border-width) solid var(--wf-color-border);color:var(--wf-color-text);font-size:var(--wf-font-size-base);transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-table-th--sortable{cursor:pointer;user-select:none}.wf-table-th--sortable:hover{color:var(--wf-color-primary-text)}.wf-table-th--sortable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);color:var(--wf-color-primary-text)}.wf-table-th--sorted{color:var(--wf-color-primary-text)}.wf-table-sort-icon{margin-left:var(--wf-gap-xs);opacity:.6}.wf-table-sort-icon--active,.wf-table-th:hover .wf-table-sort-icon{opacity:1}.wf-table-tr:last-child .wf-table-td{border-bottom:none}.wf-table-tr:hover .wf-table-td{background:var(--wf-color-bg-tertiary)}.wf-table-empty{padding:var(--wf-space-xl) var(--wf-space-sm);color:var(--wf-color-text-tertiary)}.wf-table-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--wf-color-primary);appearance:none;-webkit-appearance:none;margin:0;padding:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);position:relative;box-sizing:border-box;flex-shrink:0}.wf-table-checkbox:checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-table-checkbox:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:translate(-50%,-60%) rotate(-45deg)}.wf-table-checkbox:indeterminate{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-table-checkbox:indeterminate:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:2px;background:var(--wf-color-on-brand);transform:translate(-50%,-50%)}.wf-table-checkbox:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tabs{font-family:var(--wf-font-sans)}.wf-tab-list{display:flex;gap:0;border-bottom:var(--wf-border-width) solid var(--wf-color-border);overflow-x:auto;scrollbar-width:none;position:relative}.wf-tab-ink{position:absolute;bottom:-1px;left:0;height:2px;background:var(--wf-color-primary);transition:transform var(--wf-dur-base) var(--wf-ease-out),width var(--wf-dur-base) var(--wf-ease-out);pointer-events:none;z-index:1}.wf-tab{display:inline-flex;align-items:center;padding:var(--wf-space) var(--wf-space-md);border:none;background:none;font-family:inherit;font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);transition:color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out);white-space:nowrap}.wf-tab:hover{color:var(--wf-color-text)}.wf-tab:active{background:var(--wf-state-pressed)}.wf-tab:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-xs)}.wf-tab--active{color:var(--wf-color-primary-text)}.wf-tab-content{padding-top:var(--wf-space-md)}.wf-tab-list::-webkit-scrollbar{display:none}.wf-tab-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tab-close:hover{background:var(--wf-state-hover);color:var(--wf-color-error-text)}.wf-tab-add{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:auto var(--wf-space-xs);padding:0;border:none;background:transparent;border-radius:var(--wf-radius-sm);color:var(--wf-color-text-tertiary);cursor:pointer;flex-shrink:0;transition:background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tab-add:hover{background:var(--wf-state-hover);color:var(--wf-color-primary-text)}.wf-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);padding:2px var(--wf-space-sm);border-radius:var(--wf-tag-radius, var(--wf-radius-sm));font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);line-height:var(--wf-line-height)}.wf-tag--default{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text-secondary)}.wf-tag--primary{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-tag--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-tag--danger{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-tag-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;background:none;border:none;cursor:pointer;font-size:var(--wf-font-size-xs);padding:0;line-height:0;opacity:.6;color:inherit}.wf-tag-close:hover{opacity:1}.wf-tag-close:active{opacity:.5}.wf-tag-close:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);min-height:36px;cursor:text;transition:border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tags:focus-within{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-tags--err{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-tags--disabled{opacity:.6;cursor:not-allowed}.wf-tags-tag{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);padding:2px var(--wf-space-xs);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg-secondary);border:var(--wf-border-width) solid var(--wf-color-border);font-size:var(--wf-font-size-xs);color:var(--wf-color-text);font-family:var(--wf-font-sans)}.wf-tags-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;max-width:16px;min-height:16px;max-height:16px;background:none;border:none;cursor:pointer;color:var(--wf-color-text-tertiary);padding:0;line-height:0;border-radius:var(--wf-radius-xs)}.wf-tags-remove:hover{color:var(--wf-color-error-text)}.wf-tags-remove:focus-visible{outline:2px solid var(--wf-color-primary)}.wf-tags-input{flex:1;min-width:60px;border:none;outline:none;background:transparent;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);padding:var(--wf-space-xs) 0}.wf-tags-input::placeholder{color:var(--wf-color-text-tertiary)}.wf-textarea-wrap{display:flex;flex-direction:column;gap:var(--wf-gap-xs)}.wf-textarea{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-field-radius);background:var(--wf-color-bg);color:var(--wf-color-text);outline:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition);width:100%;resize:vertical;line-height:var(--wf-line-height)}.wf-textarea:focus{border-color:var(--wf-color-primary);box-shadow:var(--wf-focus-ring)}.wf-textarea:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-textarea::placeholder{color:var(--wf-color-text-tertiary)}.wf-textarea-count{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);text-align:right;line-height:1;margin-top:-2px}.wf-textarea-count--over{color:var(--wf-color-error-text)}.wf-textarea--err .wf-textarea{border-color:var(--wf-color-error);box-shadow:0 0 0 2px var(--wf-color-error-bg)}.wf-theme-switch{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;padding:2px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);background:var(--wf-color-bg-secondary);font-family:var(--wf-font-sans);box-shadow:var(--wf-theme-switch-inset, var(--wf-shadow-inset))}.wf-theme-seg{display:inline-flex;align-items:center;justify-content:center;padding:var(--wf-space-xs) var(--wf-space-sm);min-height:26px;border:none;background:none;border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);line-height:1;color:var(--wf-color-text-secondary);cursor:pointer;white-space:nowrap;user-select:none;transition:border-color var(--wf-transition),box-shadow var(--wf-transition),background-color var(--wf-transition),color var(--wf-transition)}.wf-theme-seg:hover{color:var(--wf-color-text);background:var(--wf-color-bg-tertiary)}.wf-theme-seg--active{background:var(--wf-color-bg);color:var(--wf-color-text);font-weight:var(--wf-font-weight-medium);box-shadow:var(--wf-shadow-sm)}.wf-theme-seg:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-theme-seg:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-theme-preset-row{display:inline-flex;flex-basis:100%;align-items:center;justify-content:center;gap:2px;padding:2px 2px 0;border-top:var(--wf-border-width) solid var(--wf-color-border-light);margin-top:2px}.wf-theme-seg--preset{min-height:22px;padding:2px var(--wf-space-xs);font-size:var(--wf-font-size-xs)}.wf-timeline{margin:0;padding:0;list-style:none}.wf-timeline-item{position:relative;display:flex;gap:var(--wf-gap-md);padding-bottom:var(--wf-space-md)}.wf-timeline-item:not(:last-child):before{content:"";position:absolute;top:20px;bottom:0;left:8px;width:2px;background:var(--wf-color-border)}.wf-timeline-node{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--wf-font-size-xs);margin-top:2px}.wf-timeline-node--default{background:var(--wf-color-border);color:var(--wf-color-text-secondary)}.wf-timeline-node--info{background:var(--wf-color-info-text);color:var(--wf-color-on-brand)}.wf-timeline-node--success{background:var(--wf-color-success-text);color:var(--wf-color-on-brand)}.wf-timeline-node--warning{background:var(--wf-color-warning-text);color:var(--wf-color-on-brand)}.wf-timeline-node--error{background:var(--wf-color-error-text);color:var(--wf-color-on-brand)}.wf-timeline-col{flex:1;min-width:0}.wf-timeline-head{display:flex;align-items:baseline;gap:var(--wf-gap-sm);flex-wrap:wrap}.wf-timeline-title{font-weight:var(--wf-font-weight-semibold);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-timeline-time{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary)}.wf-timeline-content{margin-top:2px;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary)}.wf-timeline-item--clickable{cursor:pointer;border-radius:var(--wf-radius-sm);padding:2px 4px;margin:-2px -4px}.wf-timeline-item--clickable:hover{background:var(--wf-color-bg-secondary)}.wf-timeline-item--clickable:focus-visible{outline:2px solid var(--wf-color-primary);outline-offset:1px}.wf-timeline-item--alt-left,.wf-timeline-item--alt-right{width:50%}.wf-timeline-item--alt-left{align-self:flex-start;text-align:right}.wf-timeline-item--alt-right{align-self:flex-end;margin-left:50%}.wf-timeline--h{display:flex;gap:0;overflow-x:auto}.wf-timeline-item--h{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;min-width:var(--wf-timeline-h-min-width, 120px);padding:0 var(--wf-space-xs);padding-bottom:0;text-align:center}.wf-timeline-item--h:not(:last-child):before{content:"";position:absolute;top:10px;left:calc(50% + 11px);right:calc(-50% + 11px);height:2px;width:auto;background:var(--wf-color-border)}.wf-timeline-item--h .wf-timeline-node{margin-top:0}.wf-timeline-item--h .wf-timeline-head{flex-direction:column;align-items:center;gap:2px;margin-top:var(--wf-space-xs)}.wf-toast-container{position:fixed;display:flex;flex-direction:column;gap:var(--wf-gap-sm);z-index:var(--wf-z-toast);pointer-events:none}.wf-toast--tr{top:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end}.wf-toast--tl{top:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start}.wf-toast--br{bottom:var(--wf-space-lg);right:var(--wf-space-lg);align-items:flex-end;flex-direction:column-reverse}.wf-toast--bl{bottom:var(--wf-space-lg);left:var(--wf-space-lg);align-items:flex-start;flex-direction:column-reverse}.wf-toast--tc{top:var(--wf-space-lg);left:50%;transform:translate(-50%);align-items:center}.wf-toast{display:flex;align-items:center;gap:var(--wf-gap-sm);padding:var(--wf-space) var(--wf-space-md);border-radius:var(--wf-toast-radius, var(--wf-radius));box-shadow:var(--wf-shadow-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);min-width:var(--wf-toast-width, 260px);max-width:400px;cursor:pointer;pointer-events:auto;animation:wf-toast-in var(--wf-dur-base) var(--wf-ease-out)}@keyframes wf-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wf-toast--tl .wf-toast,.wf-toast--bl .wf-toast{animation-name:wf-toast-in-left}@keyframes wf-toast-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.wf-toast--tc .wf-toast{animation-name:wf-toast-in-top}@keyframes wf-toast-in-top{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.wf-toast--success{background:var(--wf-color-success-bg);color:var(--wf-color-success-text)}.wf-toast--error{background:var(--wf-color-error-bg);color:var(--wf-color-error-text)}.wf-toast--warning{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text)}.wf-toast--info{background:var(--wf-color-info-bg);color:var(--wf-color-info-text)}.wf-toast-icon{font-size:var(--wf-font-size-lg);font-weight:var(--wf-font-weight-bold)}.wf-toast-msg{flex:1;color:var(--wf-color-text)}.wf-toast-action{border:none;background:none;padding:0;cursor:pointer;font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-medium);color:var(--wf-color-primary-text)}.wf-toast-action:hover{text-decoration:underline}.wf-toast-action:focus-visible{outline:none;box-shadow:var(--wf-focus-ring);border-radius:var(--wf-radius-sm)}.wf-toast-action--success{color:var(--wf-color-success-text)}.wf-toast-action--error{color:var(--wf-color-error-text)}.wf-toast-action--warning{color:var(--wf-color-warning-text)}.wf-toast-action--info{color:var(--wf-color-primary-text)}.wf-toggle{display:inline-flex;align-items:center;justify-content:center;gap:var(--wf-gap-xs);border:var(--wf-border-width) solid transparent;background:none;cursor:pointer;font-family:var(--wf-font-sans);color:var(--wf-color-text-secondary);border-radius:var(--wf-radius-sm);transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-toggle:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-toggle:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-toggle--pressed{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-toggle--outline{border-color:var(--wf-color-border)}.wf-toggle--outline.wf-toggle--pressed{border-color:var(--wf-color-primary)}.wf-toggle:disabled{cursor:not-allowed;opacity:.5}.wf-toggle--sm{padding:2px var(--wf-space-sm)}.wf-toggle--md{padding:var(--wf-space-xs) var(--wf-space)}.wf-toggle--lg{padding:var(--wf-space-sm) var(--wf-space-md)}.wf-toggle-group{display:inline-flex;align-items:center;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:2px;gap:2px;font-family:var(--wf-font-sans)}.wf-toggle-group .wf-toggle{border:none;border-radius:var(--wf-radius-sm)}.wf-toggle-group--sm{font-size:var(--wf-font-size-sm)}.wf-toggle-group--md{font-size:var(--wf-font-size-base)}.wf-toggle-group--lg{font-size:var(--wf-font-size-lg)}.wf-toolcall{border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);padding:var(--wf-space) var(--wf-space-md);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);background:var(--wf-color-bg-tertiary)}.wf-toolcall-header{display:flex;align-items:center;gap:var(--wf-gap-xs);margin-bottom:var(--wf-gap-xs)}.wf-toolcall-icon{font-size:var(--wf-font-size-sm)}.wf-toolcall-icon--running{color:var(--wf-color-info-text)}.wf-toolcall-icon--ok{color:var(--wf-color-success-text)}.wf-toolcall-icon--error{color:var(--wf-color-error-text)}.wf-toolcall-name{font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text)}.wf-toolcall-msg{color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-toolcall-bar{height:4px;border-radius:var(--wf-radius-xs);background:var(--wf-color-bg-tertiary);overflow:hidden;margin-top:var(--wf-gap-xs)}.wf-toolcall-bar-fill{height:100%;background:var(--wf-color-info);transition:width var(--wf-transition)}.wf-toolcall-error{color:var(--wf-color-error-text);font-size:var(--wf-font-size-xs);margin-top:var(--wf-gap-xs)}.wf-tooltip-wrap{display:inline-flex;width:fit-content}.wf-tooltip{position:fixed;z-index:var(--wf-z-tooltip);background:var(--wf-color-text);color:var(--wf-color-bg);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-tooltip-radius, var(--wf-radius-sm));box-shadow:var(--wf-shadow-md);white-space:nowrap;pointer-events:none;max-width:min(var(--wf-popup-max, 240px),calc(100vw - 32px));animation:wf-tooltip-in var(--wf-dur-fast) var(--wf-ease-out)}.wf-tooltip--hidden{visibility:hidden}.wf-tooltip-arrow{position:absolute;width:0;height:0;border:5px solid transparent}.wf-tooltip--bottom .wf-tooltip-arrow{top:-5px;left:50%;transform:translate(-50%);border-bottom-color:var(--wf-color-text);border-top:none}.wf-tooltip--top .wf-tooltip-arrow{top:100%;left:50%;transform:translate(-50%);border-top-color:var(--wf-color-text);border-bottom:none}.wf-tooltip--left .wf-tooltip-arrow{left:100%;top:50%;transform:translateY(-50%);border-left-color:var(--wf-color-text);border-right:none}.wf-tooltip--right .wf-tooltip-arrow{left:-5px;top:50%;transform:translateY(-50%);border-right-color:var(--wf-color-text);border-left:none}.wf-tooltip-content{line-height:1.4}@keyframes wf-tooltip-in{0%{opacity:0}to{opacity:1}}.wf-tour-highlight{position:fixed;border-radius:var(--wf-radius-sm);box-shadow:0 0 0 9999px var(--wf-overlay),0 0 0 2px var(--wf-color-primary);z-index:1;pointer-events:none;transition:border-color var(--wf-dur-fast) var(--wf-ease-out),box-shadow var(--wf-dur-fast) var(--wf-ease-out),background-color var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tour-bubble{position:fixed;z-index:1;min-width:var(--wf-tour-min-width);max-width:360px;background:var(--wf-color-bg);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-lg);padding:var(--wf-space-md);display:flex;flex-direction:column;gap:var(--wf-gap-sm)}.wf-tour-bubble--top{transform:translateY(-100%)}.wf-tour-bubble--bottom{transform:translateY(0)}.wf-tour-bubble--left{transform:translate(-100%)}.wf-tour-bubble--right{transform:translate(0)}.wf-tour-bubble-header{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm)}.wf-tour-title{font-weight:600;font-size:var(--wf-font-size-base)}.wf-tour-step{font-size:var(--wf-font-size-xs);color:var(--wf-color-text-tertiary);flex-shrink:0}.wf-tour-content{font-size:var(--wf-font-size-sm);color:var(--wf-color-text-secondary);line-height:1.6}.wf-tour-actions{display:flex;justify-content:flex-end;gap:var(--wf-gap-sm);margin-top:var(--wf-space-xs)}.wf-tour-btn{min-height:32px;padding:0 var(--wf-space-md);border-radius:var(--wf-radius-sm);border:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg);color:var(--wf-color-text);font-size:var(--wf-font-size-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.wf-tour-btn--primary{background:var(--wf-color-primary);border-color:var(--wf-color-primary);color:var(--wf-color-on-brand)}.wf-tour-btn--ghost{background:transparent;border-color:transparent;color:var(--wf-color-text-secondary)}.wf-tour-btn:hover{filter:brightness(.95)}.wf-transfer{display:flex;align-items:stretch;gap:var(--wf-gap, var(--wf-gap-md));font-family:var(--wf-font-sans)}.wf-transfer-list{flex:1;min-width:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden}.wf-transfer-title{padding:var(--wf-space) var(--wf-space-md);font-size:var(--wf-font-size-sm);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);background:var(--wf-color-bg-secondary);border-bottom:var(--wf-border-width) solid var(--wf-color-border)}.wf-transfer-body{max-height:240px;overflow-y:auto;padding:var(--wf-space-xs);display:flex;flex-direction:column;gap:1px}.wf-transfer-item{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--wf-space-sm) var(--wf-space);border-radius:var(--wf-radius-sm);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);cursor:pointer;font-family:var(--wf-font-sans)}.wf-transfer-item:hover{background:var(--wf-color-bg-tertiary)}.wf-transfer-item--sel{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-transfer-item:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-transfer-item--dis{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-transfer-item--dis:hover{background:none}.wf-transfer-empty{padding:var(--wf-space-lg);text-align:center;font-size:var(--wf-font-size-sm);color:var(--wf-color-text-tertiary)}.wf-transfer-actions{display:flex;flex-direction:column;justify-content:center;gap:var(--wf-gap-sm)}.wf-transfer-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);background:var(--wf-color-bg);color:var(--wf-color-text-secondary);cursor:pointer;transition:background var(--wf-dur-fast) var(--wf-ease-out),color var(--wf-dur-fast) var(--wf-ease-out),border-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-transfer-btn:hover:not(:disabled){background:var(--wf-color-bg-tertiary);color:var(--wf-color-text);border-color:var(--wf-color-primary)}.wf-transfer-btn:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-transfer-btn:disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}@media(pointer:coarse){.wf-transfer-btn{width:44px;height:44px;min-width:44px;min-height:44px}}@media(max-width:767.98px){.wf-transfer{flex-direction:column}}.wf-transfer-search{width:100%;box-sizing:border-box;margin-bottom:var(--wf-gap-xs);min-height:var(--wf-field-height);padding:var(--wf-control-pad-y) var(--wf-space-sm);font-size:var(--wf-font-size-sm)}.wf-tree{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text)}.wf-tree-row{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);cursor:pointer;transition:background-color var(--wf-dur-fast) var(--wf-ease-out)}.wf-tree-row:hover{background:var(--wf-state-hover)}.wf-tree-row:active{background:var(--wf-state-pressed)}.wf-tree-row--selected{background:var(--wf-color-primary-bg);color:var(--wf-color-primary-text)}.wf-tree-row:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-row--disabled{opacity:var(--wf-opacity-disabled);cursor:not-allowed}.wf-tree-switcher{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;max-width:18px;min-height:18px;max-height:18px;padding:0;line-height:0;border:none;background:none;cursor:pointer;color:var(--wf-color-text-tertiary);border-radius:var(--wf-radius-sm);flex-shrink:0;box-sizing:border-box}.wf-tree-switcher:hover{background:var(--wf-color-bg-tertiary);color:var(--wf-color-text)}.wf-tree-switcher:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-switcher svg{transform:rotate(-90deg);transition:transform var(--wf-dur-fast) var(--wf-ease-out)}.wf-tree-switcher--open svg{transform:rotate(0)}.wf-tree-switcher-placeholder{width:18px;height:18px;flex-shrink:0}.wf-tree-checkbox{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-width:14px;max-width:14px;min-height:14px;max-height:14px;padding:0;line-height:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;position:relative;flex-shrink:0;box-sizing:border-box}.wf-tree-checkbox:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-tree-checkbox--checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-tree-checkbox--checked:after{content:"";width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:rotate(-45deg) translateY(-1px)}.wf-tree-checkbox--half{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-tree-checkbox--half:after{content:"";width:6px;height:2px;background:var(--wf-color-on-brand)}.wf-tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-tree-match{background:var(--wf-color-warning-bg);color:var(--wf-color-warning-text);border-radius:var(--wf-radius-xs);padding:0 1px}.wf-tree-empty{padding:var(--wf-space-md);color:var(--wf-color-text-secondary);font-size:var(--wf-font-size-sm);text-align:center}.wf-treeselect{position:relative;display:inline-block;min-width:var(--wf-treeselect-min-width);max-width:var(--wf-treeselect-max-width)}.wf-treeselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--wf-gap-sm);padding:var(--wf-space-sm) var(--wf-space);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);cursor:pointer;min-height:36px;user-select:none}.wf-treeselect-trigger:hover{border-color:var(--wf-color-primary)}.wf-treeselect-trigger--open{border-color:var(--wf-color-primary);box-shadow:0 0 0 2px var(--wf-color-primary-bg)}.wf-treeselect-placeholder{color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-treeselect-label{font-size:var(--wf-font-size-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-treeselect-arrow{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--wf-color-text-tertiary);transition:transform var(--wf-dur-fast) var(--wf-ease-out);flex-shrink:0}.wf-treeselect-arrow--open{transform:rotate(180deg)}.wf-treeselect-dropdown{z-index:var(--wf-z-popover);background:var(--wf-color-bg-elevated);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-md);box-shadow:var(--wf-shadow-md);padding:var(--wf-space-xs);max-height:var(--wf-treeselect-dropdown-max-height);overflow:auto}.wf-treeselect-trigger--dis{opacity:.5;cursor:not-allowed;background:var(--wf-color-fill)}.wf-treeselect-trigger--err{border-color:var(--wf-color-error)}.wf-treeselect-trigger--err:focus-visible{box-shadow:0 0 0 2px var(--wf-color-error-bg),0 0 0 1px var(--wf-color-error)}.wf-title{margin:0;font-family:var(--wf-font-sans);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text);text-transform:var(--wf-heading-case);letter-spacing:var(--wf-heading-tracking)}.wf-title--1{font-size:var(--wf-font-size-5xl);line-height:1.2}.wf-title--2{font-size:var(--wf-font-size-4xl);line-height:var(--wf-line-height-tight)}.wf-title--3{font-size:var(--wf-font-size-3xl);line-height:1.3}.wf-title--4{font-size:var(--wf-font-size-2xl);line-height:1.35}.wf-title--5{font-size:var(--wf-font-size-xl);line-height:1.4}.wf-text{display:inline;align-self:flex-start;font-family:var(--wf-font-sans);color:var(--wf-color-text)}.wf-text--secondary{color:var(--wf-color-text-secondary)}.wf-text--success{color:var(--wf-color-success-text)}.wf-text--warning{color:var(--wf-color-warning-text)}.wf-text--danger{color:var(--wf-color-error-text)}.wf-text--strong{font-weight:var(--wf-font-weight-semibold)}.wf-text--underline{text-decoration:underline}.wf-text--strike{text-decoration:line-through}.wf-text--mark{background:var(--wf-color-warning-bg);padding:0 var(--wf-space-xs);border-radius:var(--wf-radius-sm)}.wf-text--code{font-family:var(--wf-font-mono);font-size:.875em;background:var(--wf-color-bg-tertiary);padding:1px var(--wf-space-xs);border-radius:var(--wf-radius-sm)}.wf-text--xs{font-size:var(--wf-font-size-xs)}.wf-text--sm{font-size:var(--wf-font-size-sm)}.wf-text--lg{font-size:var(--wf-font-size-lg)}.wf-paragraph{margin:0 0 var(--wf-space-md);font-family:var(--wf-font-sans);color:var(--wf-color-text);line-height:1.6}.wf-paragraph:last-child{margin-bottom:0}.wf-paragraph--ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.wf-videoplayer{width:100%}.wf-virtual-list{position:relative;font-family:var(--wf-font-sans);overflow-y:auto}.wf-virtual-list-spacer{width:100%}.wf-virtual-list-window{position:absolute;top:0;left:0;right:0}.wf-virtual-list-item{box-sizing:border-box}.wf-virtual-list--empty{display:flex;align-items:center;justify-content:center;color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-virtual-table{font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);color:var(--wf-color-text);border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius);overflow:hidden}.wf-virtual-table-thead{display:flex;border-bottom:var(--wf-border-width) solid var(--wf-color-border);background:var(--wf-color-bg-secondary)}.wf-virtual-table-th{display:flex;align-items:center;gap:var(--wf-gap-xs);padding:var(--wf-space-sm) var(--wf-space-md);font-size:var(--wf-font-size-xs);font-weight:var(--wf-font-weight-semibold);color:var(--wf-color-text-secondary);flex-shrink:0;box-sizing:border-box}.wf-virtual-table-th--sortable{cursor:pointer;user-select:none}.wf-virtual-table-th--sortable:hover{color:var(--wf-color-text)}.wf-virtual-table-th--sortable:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-virtual-table-th--sorted{color:var(--wf-color-primary-text)}.wf-virtual-table-sort-icon{display:inline-flex;color:var(--wf-color-text-tertiary)}.wf-virtual-table-sort-icon--active{color:var(--wf-color-primary-text)}.wf-virtual-table-body{position:relative;overflow-y:auto}.wf-virtual-table-spacer{pointer-events:none}.wf-virtual-table-row{display:flex;align-items:center;box-sizing:border-box;border-bottom:var(--wf-border-width) solid var(--wf-color-border);cursor:default}.wf-virtual-table-row:hover{background:var(--wf-color-bg-tertiary)}.wf-virtual-table-td{display:flex;align-items:center;padding:0 var(--wf-space-md);flex-shrink:0;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--wf-color-text)}.wf-virtual-table-empty{display:flex;align-items:center;justify-content:center;padding:var(--wf-space-lg);color:var(--wf-color-text-tertiary);font-size:var(--wf-font-size-sm)}.wf-virtual-table-th--select,.wf-virtual-table-td--select{display:flex;align-items:center;justify-content:center;flex-shrink:0}.wf-virtual-table-check{width:14px;height:14px;cursor:pointer;accent-color:var(--wf-color-primary);appearance:none;-webkit-appearance:none;margin:0;padding:0;border:var(--wf-border-width) solid var(--wf-color-border);border-radius:var(--wf-radius-sm);background:var(--wf-color-bg);position:relative;box-sizing:border-box;flex-shrink:0}.wf-virtual-table-check:checked{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-virtual-table-check:checked:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:4px;border-left:2px solid var(--wf-color-on-brand);border-bottom:2px solid var(--wf-color-on-brand);transform:translate(-50%,-60%) rotate(-45deg)}.wf-virtual-table-check:indeterminate{background:var(--wf-color-primary);border-color:var(--wf-color-primary)}.wf-virtual-table-check:indeterminate:after{content:"";position:absolute;top:50%;left:50%;width:6px;height:2px;background:var(--wf-color-on-brand);transform:translate(-50%,-50%)}.wf-virtual-table-check:focus-visible{outline:none;box-shadow:var(--wf-focus-ring)}.wf-watermark{position:relative;font-family:var(--wf-font-sans)}.wf-watermark-overlay{position:absolute;inset:0;background-repeat:repeat;background-size:auto}.wf-wave{position:relative;display:inline-block;overflow:hidden;border-radius:inherit;-webkit-tap-highlight-color:transparent}.wf-wave-ripple{position:absolute;border-radius:50%;pointer-events:none;background:color-mix(in srgb,currentColor 12%,transparent);transform:scale(0);animation:wf-wave-pop var(--wf-dur-base) var(--wf-ease-out) forwards}@keyframes wf-wave-pop{to{transform:scale(1);opacity:0}}.wf-wordcloud{position:relative;max-width:100%}.wf-wordcloud svg{display:block}.wf-wordcloud text{cursor:default;transition:opacity var(--wf-dur-fast) var(--wf-ease-out)}.wf-wordcloud--clickable text{cursor:pointer;pointer-events:bounding-box}.wf-wordcloud--clickable text:hover,.wf-wordcloud--clickable text:focus-visible{opacity:.7}.wf-wordcloud-tooltip{display:inline-flex;align-items:center;gap:var(--wf-gap-xs);background:var(--wf-color-text);color:var(--wf-color-bg);padding:var(--wf-space-xs) var(--wf-space-sm);border-radius:var(--wf-radius-sm);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm);line-height:var(--wf-line-height);white-space:nowrap;pointer-events:none}.wf-wordcloud-tooltip-word{font-weight:var(--wf-font-weight-semibold)}.wf-wordcloud-tooltip-weight{color:var(--wf-color-bg-secondary);font-size:var(--wf-font-size-xs)}.wf-wordcloud-empty{display:flex;align-items:center;justify-content:center;min-height:80px;padding:var(--wf-space-md);border:var(--wf-border-width) dashed var(--wf-color-border);border-radius:var(--wf-radius);color:var(--wf-color-text-tertiary);font-family:var(--wf-font-sans);font-size:var(--wf-font-size-sm)}}
|