/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
/*! TrafficSense DS v0.22.0 */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--color-orange-50:#fef0e6;--color-orange-100:#fccfb0;--color-orange-200:#f9a06a;--color-orange-300:#f6763a;--color-orange-400:#f35a16;--color-orange-500:#f14a02;--color-orange-600:#dd4402;--color-orange-700:#c93d02;--color-orange-800:#a13101;--color-orange-900:#792501;--color-teal-50:#e6f0f4;--color-teal-100:#b3d4e0;--color-teal-200:#80b8cc;--color-teal-300:#4d9cb8;--color-teal-400:#267fa0;--color-teal-500:#0a6688;--color-teal-600:#004056;--color-teal-700:#034;--color-teal-800:#002633;--color-teal-900:#001a22;--color-cyan-50:#ecfeff;--color-cyan-100:#cffafe;--color-cyan-200:#67e8f9;--color-cyan-300:#40c4d8;--color-cyan-400:#22a0b6;--color-cyan-500:#0e7c90;--color-cyan-600:#0c6a7c;--color-cyan-700:#0a5867;--color-cyan-800:#084451;--color-cyan-900:#06333d;--color-neutral-50:#f8f9fa;--color-neutral-100:#f1f3f5;--color-neutral-200:#e9ecef;--color-neutral-300:#dee2e6;--color-neutral-400:#ced4da;--color-neutral-500:#adb5bd;--color-neutral-600:#868e96;--color-neutral-700:#495057;--color-neutral-800:#343a40;--color-neutral-900:#212529;--text-xs:12px;--text-sm:13px;--text-sm--line-height:calc(1.25 / .875);--text-base:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:27px;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.01em;--tracking-normal:0;--tracking-wide:.06em;--leading-tight:1.1;--leading-snug:1.45;--leading-relaxed:1.55;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--shadow-sm:0 1px 2px #0a1e320d;--shadow-md:0 4px 12px #0a1e3214;--shadow-lg:0 14px 40px #0f172a29, 0 2px 6px #0f172a0f;--shadow-xl:0 30px 80px #0000004d;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-neutral-0:#fff;--color-danger-50:#fde2e2;--color-danger-200:#e8b5aa;--color-danger-500:#ef4444;--color-danger-700:#b91c1c;--color-warn-50:#fdefd2;--color-warn-200:#e8c97a;--color-warn-500:#f59e0b;--color-warn-700:#b45309;--color-success-50:#dcfce7;--color-success-200:#86efac;--color-success-500:#22c55e;--color-success-700:#15803d;--color-ai-50:#ecfeff;--color-ai-100:#cffafe;--color-ai-200:#67e8f9;--color-ai-500:#67e8f9;--color-ai-600:#22a0b6;--color-ai-700:#0e7490;--color-info-50:#e6f0f4;--color-info-200:#80b8cc;--color-info-700:#034;--text-2xs:11px;--text-md:14px;--text-display:3rem;--text-title-1:2.25rem;--text-title-2:1.75rem;--text-title-3:1.375rem;--text-large:1.125rem;--text-body:1rem;--text-small:.875rem;--text-caption:.6875rem;--font-weight-regular:400;--tracking-label:.04em;--radius-full:9999px;--ts-control-h:32px;--ease-emphasized:cubic-bezier(.32, .72, 0, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-spring:linear(0, .076, .254, .471, .682, .859, .99, 1.074, 1.116, 1.126, 1.115, 1.091, 1.064, 1.038, 1.016, 1, .99, .985, .984, .986, .989, .992, .996, .998, 1, 1.001, 1.002);--ease-spring-soft:linear(0, .05, .165, .307, .452, .585, .7, .793, .865, .919, .957, .983, 1, 1.009, 1.014, 1.015, 1.015, 1.013, 1.011, 1.009, 1.007, 1.005, 1.003, 1.002, 1.001, 1.001, 1);--animate-pulse-dot:ts-pulse 1.4s ease-in-out infinite;--animate-spin-slow:ts-spin 2s linear infinite;--animate-spin-fast:ts-spin .7s linear infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);color:var(--ts-text);background:var(--ts-bg);font-size:var(--text-base);line-height:var(--leading-snug);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--ts-link);text-decoration:none}a:hover{text-decoration:underline}.ts-mono{font-family:var(--font-mono);letter-spacing:var(--tracking-tighter);font-size:.85em}:where(button,a,input,textarea,select,[tabindex],[contenteditable=true]):focus-visible{box-shadow:var(--ts-focus-ring);border-radius:var(--radius-sm);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.ts-card,.ts-table-card,.ts-job-card,.ts-stat{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-sm)}.ts-card{padding:var(--ts-pad-card) var(--ts-space-8)}.ts-card--flush{padding:0;overflow:hidden}.ts-card--interactive{cursor:pointer;transition:border-color var(--ts-duration-fast) var(--ease-standard), box-shadow var(--ts-duration-fast) var(--ease-standard)}.ts-card--interactive:hover{border-color:var(--ts-border-strong);box-shadow:var(--shadow-sm)}.ts-card--interactive:focus-visible{box-shadow:var(--ts-focus-ring);border-color:var(--ts-border-strong);outline:none}.ts-card--empty{border-style:dashed;border-color:var(--ts-border-strong);color:var(--ts-text-muted);padding:var(--ts-space-16);justify-content:center;align-items:center;gap:var(--ts-gap-tight);text-align:center;flex-direction:column;display:flex}.ts-seg{grid-template-columns:repeat(var(--count,3), 1fr);background:var(--ts-seg-track);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;--active:0;padding:3px;display:inline-grid;position:relative}.ts-seg:before{content:"";height:calc(100% - 6px);width:calc((100% - 6px) / var(--count,3));background:var(--ts-seg-pill);border-radius:var(--radius-sm);transform:translateX(calc(var(--active) * 100%));transition:var(--ts-motion-pill);pointer-events:none;z-index:0;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f172a14,0 0 0 1px #0f172a0d}.ts-seg__btn{height:calc(var(--ts-control-h) - 6px);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);z-index:1;border-radius:var(--radius-sm);transition:color .15s var(--ease-standard);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 22px;line-height:1;display:inline-flex;position:relative}.ts-seg__btn:hover:not(.is-active),.ts-seg__btn.is-active{color:var(--ts-text)}.ts-seg__btn svg{width:13px;height:13px}.ts-seg__ico{display:inline-flex}.ts-seg__ico svg{stroke-width:1.5px;width:16px;height:16px}.ts-seg__btn:has(.ts-seg__ico){padding:0 12px}.ts-seg.is-full{width:100%;display:grid}.ts-dot{border-radius:var(--radius-full);background:var(--color-neutral-300);flex-shrink:0;width:8px;height:8px}.ts-dot--sm{width:7px;height:7px}.ts-dot--err{background:var(--color-danger-500);box-shadow:0 0 0 var(--ts-halo-width) var(--color-danger-50)}.ts-dot--warn{background:var(--color-warn-500);box-shadow:0 0 0 var(--ts-halo-width) var(--color-warn-50)}.ts-dot--ok{background:var(--color-success-500);box-shadow:0 0 0 var(--ts-halo-width) var(--color-success-50)}.ts-dot--ai{background:var(--color-ai-500);box-shadow:0 0 0 var(--ts-halo-width) var(--color-ai-100), inset 0 0 0 1px var(--color-ai-600)}.ts-flag{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;align-items:center;gap:4px;padding:3px 7px;line-height:1.4;display:inline-flex}@keyframes ts-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.ts-section__flags .ts-flag,.ts-ai-btn__ico{animation:ts-pop var(--ts-duration-spring) var(--ease-spring)}.ts-flag--ok,.ts-flag--approved{background:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-200)}.ts-flag--warn{background:var(--color-warn-50);color:var(--color-warn-700);border-color:var(--color-warn-200)}.ts-flag--err{background:var(--color-danger-50);color:var(--color-danger-700);border-color:var(--color-danger-200)}.ts-flag--needs-input{background:var(--color-warn-50);color:var(--color-warn-700);border-color:var(--color-warn-200)}.ts-flag--ai-generated{background:var(--color-ai-100);color:var(--color-ai-700);border-color:var(--color-ai-200)}.ts-flag--ai-edited{background:var(--color-ai-50);color:var(--color-ai-700);border-color:var(--color-ai-200)}.ts-flag--human-edited,.ts-flag--ai-suggested{background:var(--ts-surface-sunken);color:var(--ts-text-muted);border-color:var(--ts-border-strong)}.ts-flag--info{background:var(--color-info-50);color:var(--color-info-700);border-color:var(--color-info-200)}.ts-alert{border:1px solid var(--ts-border);border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ts-text);background:var(--ts-surface);align-items:flex-start;gap:10px;padding:8px 14px;display:flex}.ts-alert__icon{color:inherit;flex-shrink:0;margin-top:1px;display:inline-flex}.ts-alert__icon svg{width:16px;height:16px;display:block}.ts-alert__body{flex:1;min-width:0}.ts-alert__dismiss{cursor:pointer;color:inherit;opacity:.6;border-radius:var(--radius-xs);transition:opacity var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;flex-shrink:0;margin:-2px -4px -2px 0;padding:4px;display:inline-flex}.ts-alert__dismiss:hover{opacity:1}.ts-alert__dismiss:focus-visible{opacity:1;box-shadow:var(--ts-focus-ring);outline:none}.ts-alert__dismiss svg{width:14px;height:14px;display:block}.ts-alert--error{background:var(--color-danger-50);border-color:var(--color-danger-200);color:var(--color-danger-700)}.ts-alert--success{background:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-700)}.ts-alert--warn{background:var(--color-warn-50);border-color:var(--color-warn-200);color:var(--color-warn-700)}.ts-alert--info{background:var(--color-info-50);border-color:var(--color-info-200);color:var(--color-info-700)}.ts-alert--sm{font-size:var(--text-xs);gap:8px;padding:5px 10px}.ts-alert--sm .ts-alert__icon svg{width:14px;height:14px}.ts-ai-btn{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .12s var(--ease-standard), border-color .12s var(--ease-standard);border:1px solid;align-items:center;gap:5px;padding:5px 8px;line-height:1.4;display:inline-flex}.ts-ai-btn__ico{display:inline-flex}.ts-ai-btn__ico svg{width:12px;height:12px}.ts-ai-btn:disabled{cursor:default}.ts-ai-btn:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-ai-btn--idle,.ts-ai-btn--filling,.ts-ai-btn--filled{background:var(--color-ai-100);color:var(--color-ai-700);border-color:var(--color-ai-200)}.ts-ai-btn--idle:hover,.ts-ai-btn--filled:hover{background:var(--color-ai-200)}.ts-ai-btn--filling{cursor:default}.ts-ai-btn--filling .ts-ai-btn__ico svg{transform-origin:50%;animation:.9s linear infinite ts-spin}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-ai-btn--done{background:var(--ts-surface-sunken);color:var(--ts-text-muted);border-color:var(--ts-border-strong)}.ts-ai-btn--done:hover{color:var(--ts-text)}.ts-ai-btn--no-drawings{background:var(--ts-surface-sunken);color:var(--ts-text-subtle);border-color:var(--ts-border)}.ts-ai-btn--failed{background:var(--color-danger-50);color:var(--color-danger-700);border-color:var(--color-danger-200)}.ts-ai-btn--failed:hover{border-color:var(--color-danger-700)}.ts-section{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-sm);scroll-margin-top:20px;position:relative;overflow:hidden}.ts-section:before{content:"";border-radius:var(--radius-sm);opacity:0;width:3px;transition:background .2s var(--ease-standard), opacity .2s var(--ease-standard);pointer-events:none;z-index:1;background:0 0;position:absolute;top:5px;bottom:5px;left:5px}.ts-section.is-warn:before{background:var(--color-warn-500);opacity:1}.ts-section.is-error:before{background:var(--color-danger-500);opacity:1}.ts-section.is-approved:before{background:var(--color-success-500);opacity:1}.ts-section.is-flash{animation:1.6s ease-out forwards ts-flash-section}@keyframes ts-flash-section{0%,55%{box-shadow:0 0 0 3px var(--color-neutral-500)}to{box-shadow:0 0 #adb5bd00}}.ts-active-rail{position:relative}.ts-active-rail:before{content:"";background:var(--ts-accent);border-radius:var(--radius-full);width:3px;position:absolute;top:6px;bottom:6px;left:-8px}.ts-popover{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:ts-popover-in var(--ts-duration-spring) var(--ease-spring-soft);overflow:hidden}@keyframes ts-popover-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.ts-spinner{box-sizing:border-box;width:24px;height:24px;color:var(--ts-accent);border:3px solid;flex-shrink:0}@supports (color:color-mix(in lab, red, red)){.ts-spinner{border:3px solid color-mix(in srgb, currentColor 22%, transparent)}}.ts-spinner{border-radius:var(--radius-full);animation:var(--animate-spin-fast);border-top-color:currentColor}.ts-spinner--sm{border-width:2px;width:16px;height:16px}.ts-spinner--lg{border-width:3px;width:40px;height:40px}.ts-loading{place-items:center;gap:var(--ts-space-6);color:var(--ts-text-muted);display:grid}.ts-menu{flex-direction:column;min-width:168px;margin:0;padding:4px;list-style:none;display:flex}.ts-menu__item{text-align:left;width:100%;font-size:var(--text-sm);color:var(--ts-text);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;transition:background var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;line-height:1.4;display:flex}.ts-menu__item:hover{background:var(--ts-surface-sunken)}.ts-menu__item:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-menu__item:disabled,.ts-menu__item[aria-disabled=true]{color:var(--ts-text-subtle);cursor:default;pointer-events:none}.ts-menu__item--danger{color:var(--color-danger-700)}.ts-menu__item--danger:hover{background:var(--color-danger-50)}.ts-menu__separator{background:var(--ts-border);border:none;height:1px;margin:4px 0}.ts-menu__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ts-text-subtle);font-weight:var(--font-weight-semibold);padding:6px 10px 3px}.ts-toast{background:var(--ts-brand-strong);color:var(--ts-on-brand);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:var(--text-md);max-width:480px;animation:ts-toast-in var(--ts-duration-spring) var(--ease-spring);align-items:center;gap:14px;padding:10px 16px;display:flex}.ts-toast--warn{background:#991b1b}@keyframes ts-toast-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.ts-placeholder-empty{color:var(--ts-text-subtle);background:var(--ts-surface-sunken);border-radius:var(--radius-sm);cursor:text;padding:1px 5px;transition:background .12s,color .12s}.ts-placeholder-empty:hover{background:var(--color-warn-50);color:var(--color-warn-700)}.ts-placeholder-tag{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-danger-50);color:var(--color-danger-700);border-radius:var(--radius-sm);letter-spacing:var(--tracking-label);padding:1px 5px;display:inline-block}.ts-placeholder-flash{animation:1.4s ease-out ts-ph-flash}@keyframes ts-ph-flash{0%,60%{box-shadow:0 0 0 3px var(--color-danger-500)}to{box-shadow:0 0 #0000}}.ts-icon{vertical-align:-.125em;flex-shrink:0;display:inline-block}.ts-logo{line-height:0;display:inline-flex}.ts-logo svg{width:auto;height:100%;display:block}.ts-logo--adaptive .ts-logo__on-light,.ts-logo--adaptive .ts-logo__on-dark{height:100%;line-height:0}.ts-logo--adaptive .ts-logo__on-light{display:inline-flex}.ts-logo--adaptive .ts-logo__on-dark,[data-theme=dark] .ts-logo--adaptive .ts-logo__on-light{display:none}[data-theme=dark] .ts-logo--adaptive .ts-logo__on-dark{display:inline-flex}@media (prefers-color-scheme:dark){[data-theme=auto] .ts-logo--adaptive .ts-logo__on-light{display:none}[data-theme=auto] .ts-logo--adaptive .ts-logo__on-dark{display:inline-flex}}.ts-btn{font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--ts-text);background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-sm);transition:background var(--ts-duration-fast) var(--ease-standard), border-color var(--ts-duration-fast) var(--ease-standard), color var(--ts-duration-fast) var(--ease-standard), transform var(--ts-duration-fast) var(--ease-standard);justify-content:center;align-items:center;gap:6px;padding:7px 12px;text-decoration:none;display:inline-flex}.ts-btn:hover{background:var(--ts-bg);border-color:var(--color-neutral-400);text-decoration:none}.ts-btn:disabled{opacity:.55;cursor:not-allowed}.ts-btn svg{width:14px;height:14px}.ts-btn:not(:disabled):hover{transform:translateY(-2px)}.ts-btn:not(:disabled):active{transform:translateY(2px)}@media (prefers-reduced-motion:reduce){.ts-btn:not(:disabled):hover,.ts-btn:not(:disabled):active{transform:none}}.ts-btn--primary{background:var(--ts-brand);color:var(--ts-on-brand);border-color:var(--ts-brand)}.ts-btn--primary:hover{background:var(--ts-brand-hover);border-color:var(--ts-brand-hover)}.ts-btn--accent{background:var(--ts-accent);color:var(--ts-on-accent);border-color:var(--ts-accent)}.ts-btn--accent:hover{background:var(--ts-accent-hover);border-color:var(--ts-accent-hover)}.ts-btn--soft{background:var(--color-teal-100);color:var(--color-teal-700);border-color:#0000}.ts-btn--soft:hover{background:var(--color-teal-200);border-color:#0000}[data-theme=dark] .ts-btn--soft{background:var(--color-teal-700);color:var(--color-teal-100);border-color:#0000}[data-theme=dark] .ts-btn--soft:hover{background:var(--color-teal-600)}.ts-btn--sm{height:var(--ts-control-h);font-size:var(--text-sm);padding:0 14px}.ts-btn--xs{font-size:var(--text-2xs);gap:4px;padding:4px 8px}.ts-btn--xs svg{width:12px;height:12px}.ts-btn--2xs{font-size:var(--text-2xs);gap:3px;padding:2px 5px;line-height:1}.ts-btn--2xs svg{width:11px;height:11px}.ts-btn--loading{position:relative}.ts-btn--loading:disabled{opacity:1;cursor:wait}.ts-btn__label{align-items:center;gap:inherit;display:inline-flex}.ts-btn--loading .ts-btn__label{visibility:hidden}.ts-btn__spinner{box-sizing:border-box;border:2px solid;width:1em;height:1em;margin:-.5em 0 0 -.5em;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.ts-btn__spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent)}}.ts-btn__spinner{border-radius:var(--radius-full);animation:var(--animate-spin-fast);border-top-color:currentColor}@media (prefers-reduced-motion:reduce){.ts-btn__spinner{animation:var(--animate-spin-slow)}}.ts-icon-btn{width:32px;height:32px;color:var(--ts-text-muted);border-radius:var(--radius-sm);transition:background var(--ts-duration-fast), color var(--ts-duration-fast);border:1px solid #0000;place-items:center;display:grid}.ts-icon-btn:hover{background:var(--ts-surface-sunken);color:var(--ts-text)}.ts-icon-btn svg{width:16px;height:16px}.ts-input,.ts-select,.ts-filter,.ts-datepicker__field,.ts-timepicker__field{height:var(--ts-control-h);font-size:var(--text-md);color:var(--ts-text);background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-sm);padding:0 10px}.ts-input:focus,.ts-select:focus{border-color:var(--color-neutral-400);outline:none}[data-theme=dark] .ts-input:focus,[data-theme=dark] .ts-select:focus{border-color:var(--ts-brand-hover)}.ts-input::placeholder{color:var(--ts-text-subtle)}.ts-select-wrap{display:inline-flex;position:relative}.ts-select-wrap>.ts-select{appearance:none;cursor:pointer;width:100%;padding-right:30px}.ts-select-wrap:after{content:"";pointer-events:none;background-color:var(--ts-text-muted);width:14px;height:14px;transition:background-color .12s var(--ease-standard);position:absolute;top:50%;right:10px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.ts-select-wrap:hover:after{background-color:var(--ts-text)}.ts-select-wrap:focus-within:after{background-color:var(--ts-brand-hover)}.ts-select[role=combobox]{-webkit-user-select:none;user-select:none;align-items:center;line-height:1.4;display:flex}.ts-select[data-unset]{color:var(--ts-text-subtle)}.ts-select-wrap:has(.ts-select[aria-expanded=true]):after{transform:translateY(-50%)rotate(180deg)}.ts-filter{cursor:pointer;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:0 30px 0 12px;display:inline-flex;position:relative}.ts-filter:after{content:"";pointer-events:none;background-color:var(--ts-text-muted);width:14px;height:14px;transition:background-color .12s var(--ease-standard), transform .12s var(--ease-standard);position:absolute;top:50%;right:10px;transform:translateY(-50%);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/contain no-repeat}.ts-filter:hover:after{background-color:var(--ts-text)}.ts-filter[aria-expanded=true]:after{transform:translateY(-50%)rotate(180deg)}.ts-filter.has-selection{border-color:var(--ts-brand)}.ts-filter__count{min-width:18px;height:18px;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--ts-on-brand);background:var(--ts-brand);border-radius:var(--radius-full);place-items:center;padding:0 5px;display:inline-grid}.ts-label{font-size:var(--text-sm);font-weight:var(--font-weight-semibold);color:var(--ts-text)}.ts-caption{font-size:var(--text-xs);color:var(--ts-text-muted)}.ts-eyebrow{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-weight:var(--font-weight-semibold);color:var(--ts-text-muted)}.ts-link{color:var(--ts-link);cursor:pointer;border-radius:var(--radius-xs);text-decoration:none}.ts-link:hover{text-decoration:underline}.ts-link:focus-visible{box-shadow:var(--ts-focus-ring);outline:none;text-decoration:underline}.ts-link--quiet{color:inherit}.ts-link--quiet:hover{color:var(--ts-link);text-decoration:underline}.ts-select-backdrop{z-index:90;background:0 0;position:fixed;inset:0}.ts-listbox{z-index:91;background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-md);min-width:100%;box-shadow:var(--shadow-lg);max-height:264px;animation:ts-listbox-in .16s var(--ease-emphasized);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}@keyframes ts-listbox-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ts-listbox__opt{font-size:var(--text-md);color:var(--ts-text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;display:flex}.ts-listbox__opt:hover,.ts-listbox__opt.is-active{background:var(--ts-surface-sunken)}.ts-listbox__opt.is-selected{color:var(--ts-listbox-selected);font-weight:var(--font-weight-medium)}.ts-listbox__check{color:var(--ts-listbox-selected);flex-shrink:0;display:none}.ts-listbox__check svg{width:15px;height:15px}.ts-listbox__opt.is-selected .ts-listbox__check{display:inline-flex}.ts-datepicker{min-width:160px;display:inline-block;position:relative}.ts-datepicker__field{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;width:100%;padding-right:48px;display:flex;overflow:hidden}.ts-datepicker.is-disabled{opacity:.5}.ts-datepicker.is-disabled .ts-datepicker__field{cursor:not-allowed}.ts-datepicker__field.is-invalid{border-color:var(--color-danger-500)}.ts-datepicker__field.is-warn{border-color:var(--color-warn-500)}.ts-datepicker__value{color:var(--ts-text);text-overflow:ellipsis;overflow:hidden}.ts-datepicker__placeholder{color:var(--ts-text-subtle);text-overflow:ellipsis;overflow:hidden}.ts-datepicker__actions{pointer-events:none;align-items:center;gap:2px;height:100%;display:inline-flex;position:absolute;top:0;right:8px}.ts-datepicker__cal{color:var(--ts-text-muted);display:inline-flex}.ts-datepicker__cal svg{width:16px;height:16px}.ts-datepicker__clear{pointer-events:auto;cursor:pointer;color:var(--ts-text-subtle);border-radius:var(--radius-xs);transition:color var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;padding:3px;display:inline-flex}.ts-datepicker__clear:hover{color:var(--ts-text)}.ts-datepicker__clear:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-datepicker__clear svg{width:14px;height:14px}.ts-datepicker-backdrop{z-index:90;background:0 0;position:fixed;inset:0}.ts-calendar{z-index:91;visibility:hidden;background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-md);width:280px;box-shadow:var(--shadow-lg);animation:ts-popover-in var(--ts-duration-spring) var(--ease-spring-soft);padding:12px;position:fixed}.ts-calendar__head{align-items:center;gap:4px;margin-bottom:8px;display:flex}.ts-calendar__title{text-align:center;font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--ts-text);flex:1}.ts-calendar__nav{cursor:pointer;color:var(--ts-text-muted);border-radius:var(--radius-sm);transition:background var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;padding:5px;display:inline-flex}.ts-calendar__nav:hover{background:var(--ts-surface-sunken);color:var(--ts-text)}.ts-calendar__nav:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-calendar__nav:disabled{color:var(--ts-text-subtle);cursor:default;opacity:.5}.ts-calendar__nav:disabled:hover{background:0 0}.ts-calendar__nav svg{width:16px;height:16px}.ts-calendar__grid{outline:none}.ts-calendar__row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ts-calendar__weekdays{margin-bottom:4px}.ts-calendar__wd{height:28px;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);color:var(--ts-text-subtle);text-transform:uppercase;letter-spacing:var(--tracking-label);place-items:center;display:grid}.ts-calendar__day{height:34px;font-size:var(--text-sm);color:var(--ts-text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--ts-duration-fast) var(--ease-standard);place-items:center;display:grid}.ts-calendar__day:hover{background:var(--ts-surface-sunken)}.ts-calendar__day.is-pad{cursor:default}.ts-calendar__day.is-pad:hover{background:0 0}.ts-calendar__day.is-today{font-weight:var(--font-weight-semibold);box-shadow:inset 0 0 0 1px var(--ts-border-strong)}.ts-calendar__day.is-selected{background:var(--ts-brand);color:var(--ts-on-brand);font-weight:var(--font-weight-medium);box-shadow:none}.ts-calendar__day.is-selected:hover{background:var(--ts-brand-hover)}.ts-calendar__day.is-focused,.ts-calendar__day.is-selected.is-focused{box-shadow:var(--ts-focus-ring)}.ts-calendar__day.is-disabled{color:var(--ts-text-subtle);cursor:default;opacity:.45}.ts-calendar__day.is-disabled:hover{background:0 0}.ts-calendar__foot{border-top:1px solid var(--ts-border);justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;display:flex}.ts-calendar__action{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ts-brand);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;padding:5px 10px}.ts-calendar__action:hover{background:var(--ts-surface-sunken)}.ts-calendar__action:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-timepicker{min-width:128px;display:inline-block;position:relative}.ts-timepicker__field{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;width:100%;padding-right:48px;display:flex;overflow:hidden}.ts-timepicker.is-disabled{opacity:.5}.ts-timepicker.is-disabled .ts-timepicker__field{cursor:not-allowed}.ts-timepicker__field.is-invalid{border-color:var(--color-danger-500)}.ts-timepicker__field.is-warn{border-color:var(--color-warn-500)}.ts-timepicker__value{color:var(--ts-text);text-overflow:ellipsis;overflow:hidden}.ts-timepicker__placeholder{color:var(--ts-text-subtle);text-overflow:ellipsis;overflow:hidden}.ts-timepicker__actions{pointer-events:none;align-items:center;gap:2px;height:100%;display:inline-flex;position:absolute;top:0;right:8px}.ts-timepicker__clock{color:var(--ts-text-muted);display:inline-flex}.ts-timepicker__clock svg{width:16px;height:16px}.ts-timepicker__clear{pointer-events:auto;cursor:pointer;color:var(--ts-text-subtle);border-radius:var(--radius-xs);transition:color var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;padding:3px;display:inline-flex}.ts-timepicker__clear:hover{color:var(--ts-text)}.ts-timepicker__clear:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-timepicker__clear svg{width:14px;height:14px}.ts-timepicker-backdrop{z-index:90;background:0 0;position:fixed;inset:0}.ts-clock{z-index:91;visibility:hidden;background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-md);width:176px;box-shadow:var(--shadow-lg);animation:ts-popover-in var(--ts-duration-spring) var(--ease-spring-soft);outline:none;padding:10px;position:fixed}.ts-clock__cols{grid-template-columns:1fr 1fr;gap:6px;display:grid}.ts-clock__colhead{text-align:center;font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ts-text-subtle);padding-bottom:5px}.ts-clock__col{scroll-behavior:smooth;flex-direction:column;gap:1px;height:192px;display:flex;overflow-y:auto}.ts-clock__opt{height:32px;font-size:var(--text-md);font-family:var(--font-mono);color:var(--ts-text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--ts-duration-fast) var(--ease-standard);flex:none;place-items:center;display:grid}.ts-clock__opt:hover,.ts-clock__opt.is-focused{background:var(--ts-surface-sunken)}.ts-clock__opt.is-selected,.ts-clock__opt.is-selected.is-focused{background:var(--ts-brand);color:var(--ts-on-brand);font-weight:var(--font-weight-medium)}.ts-clock__opt.is-selected:hover{background:var(--ts-brand-hover)}.ts-clock__opt.is-disabled{color:var(--ts-text-subtle);cursor:default;opacity:.45}.ts-clock__opt.is-disabled:hover{background:0 0}.ts-clock__foot{border-top:1px solid var(--ts-border);justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ts-clock__action{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ts-brand);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--ts-duration-fast) var(--ease-standard);background:0 0;border:none;padding:5px 10px}.ts-clock__action:hover{background:var(--ts-surface-sunken)}.ts-clock__action:focus-visible{box-shadow:var(--ts-focus-ring);outline:none}.ts-resize-handle{background:var(--ts-border);width:1px;transition:background-color var(--ts-duration-fast) var(--ease-standard);flex-shrink:0;align-self:stretch;position:relative}.ts-resize-handle:hover,.ts-resize-handle.is-dragging{background:var(--ts-border-strong)}.ts-resize-handle__zone{z-index:10;cursor:col-resize;position:absolute;inset:0 -4px}.ts-resize-handle__thumb{border-radius:var(--radius-full);background:var(--ts-text-muted);opacity:0;pointer-events:none;width:6px;height:40px;transition:opacity var(--ts-duration-fast) var(--ease-standard);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ts-resize-handle:hover .ts-resize-handle__thumb,.ts-resize-handle.is-dragging .ts-resize-handle__thumb{opacity:1}.ts-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ts-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.ts-field__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ts-text)}.ts-field__req{color:var(--color-danger-700);margin-left:2px}.ts-field__help{font-size:var(--text-xs);color:var(--ts-text-muted);margin:0}.ts-field__error{font-size:var(--text-xs);color:var(--color-danger-700);margin:0}.ts-infield{position:relative}.ts-infield__label{z-index:1;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 22px);font-size:10.5px;font-weight:var(--font-weight-semibold,600);letter-spacing:.07em;text-transform:uppercase;color:var(--ts-text-muted);pointer-events:none;transition:top .13s var(--ease-standard), font-size .13s var(--ease-standard), transform .13s var(--ease-standard);line-height:1;position:absolute;top:9px;left:11px;overflow:hidden}.ts-infield :is(input,textarea).ts-input,.ts-infield .ts-select,.ts-infield .ts-datepicker__field,.ts-infield .ts-timepicker__field{min-height:48px;padding-top:21px;padding-bottom:4px}.ts-infield--empty>.ts-infield__label{letter-spacing:.04em;font-size:12.5px;top:24px;transform:translateY(-50%)}.ts-infield--group>.ts-infield__label,.ts-infield:has(.ts-check)>.ts-infield__label{max-width:none;margin-bottom:5px;display:block;position:static;transform:none}.ts-infield .ts-select[data-unset]{color:#0000}.ts-infield .ts-datepicker__placeholder,.ts-infield .ts-timepicker__placeholder{visibility:hidden}.ts-input.is-invalid,.ts-textarea.is-invalid{border-color:var(--color-danger-500)}.ts-textarea{resize:vertical;width:100%;height:auto;min-height:64px;padding:8px 10px;line-height:1.5;display:block}.ts-check,.ts-radio,.ts-switch{cursor:pointer;font-size:var(--text-md);color:var(--ts-text);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;display:inline-flex}.ts-check__input,.ts-radio__input,.ts-switch__input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.ts-check__box{background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-xs);color:#fff;width:16px;height:16px;transition:background .12s var(--ease-standard), border-color .12s var(--ease-standard);flex-shrink:0;place-items:center;display:grid}.ts-check__box svg{opacity:0;width:12px;height:12px;transition:opacity .12s var(--ease-standard)}.ts-check__input:checked+.ts-check__box{background:var(--ts-accent);border-color:var(--ts-accent)}.ts-check__input:checked+.ts-check__box svg{opacity:1}.ts-check__input:focus-visible+.ts-check__box{box-shadow:var(--ts-focus-ring)}.ts-radio__dot{background:var(--ts-surface);border:1px solid var(--ts-border-strong);border-radius:var(--radius-full);width:16px;height:16px;transition:border-color .12s var(--ease-standard);flex-shrink:0;place-items:center;display:grid}.ts-radio__dot:after{content:"";border-radius:var(--radius-full);background:var(--ts-accent);width:8px;height:8px;transition:transform .16s var(--ease-emphasized);transform:scale(0)}.ts-radio__input:checked+.ts-radio__dot{border-color:var(--ts-accent)}.ts-radio__input:checked+.ts-radio__dot:after{transform:scale(1)}.ts-radio__input:focus-visible+.ts-radio__dot{box-shadow:var(--ts-focus-ring)}.ts-switch__track{background:var(--ts-border-strong);border:1px solid var(--ts-border-strong);border-radius:var(--radius-full);width:36px;height:20px;transition:background .18s var(--ease-emphasized), border-color .18s var(--ease-standard);flex-shrink:0;position:relative}.ts-switch__thumb{background:var(--color-neutral-0);border-radius:var(--radius-full);width:16px;height:16px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-emphasized), background .2s var(--ease-standard);position:absolute;top:1px;left:1px}[data-theme=dark] .ts-switch__thumb{background:var(--color-teal-800)}.ts-switch__input:checked+.ts-switch__track{background:var(--ts-accent);border-color:var(--ts-accent)}.ts-switch__input:checked+.ts-switch__track .ts-switch__thumb{transform:translate(16px)}[data-theme=dark] .ts-switch__input:checked+.ts-switch__track .ts-switch__thumb{background:var(--color-neutral-0)}.ts-switch__input:focus-visible+.ts-switch__track{box-shadow:var(--ts-focus-ring)}.ts-check:has(:disabled),.ts-radio:has(:disabled),.ts-switch:has(:disabled){cursor:not-allowed}.ts-check__input:disabled~*,.ts-radio__input:disabled~*,.ts-switch__input:disabled~*{opacity:.5}.ts-avatar{border-radius:var(--radius-full);background:var(--ts-surface-sunken);border:1px solid var(--ts-border);width:32px;height:32px;color:var(--ts-text-muted);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:.3px;text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0;place-items:center;display:inline-grid;overflow:hidden}.ts-avatar--sm{width:24px;height:24px;font-size:var(--text-2xs)}.ts-avatar--lg{width:44px;height:44px;font-size:var(--text-base)}.ts-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.ts-avatar--square{border-radius:var(--radius-sm)}.ts-avatar--square .ts-avatar__img{object-fit:contain}.ts-tip-wrap{display:inline-flex;position:relative}.ts-tip{border-radius:var(--radius-sm);background:var(--color-neutral-900);color:var(--color-neutral-0);font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:60;opacity:0;transition:opacity .14s var(--ease-standard), transform .14s var(--ease-emphasized);padding:5px 9px;line-height:1.3;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.ts-tip:after{content:"";border:4px solid #0000;border-top-color:var(--color-neutral-900);position:absolute;top:100%;left:50%;transform:translate(-50%)}.ts-tip-wrap:hover .ts-tip,.ts-tip-wrap:focus-within .ts-tip{opacity:1;transform:translate(-50%)translateY(0)}.ts-richtext,.tiptap{width:100%;min-height:var(--ts-space-16);padding:var(--ts-space-4) var(--ts-space-5);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--ts-text);background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-sm);field-sizing:content;transition:border-color var(--ts-duration-fast) var(--ease-standard), box-shadow var(--ts-duration-fast) var(--ease-standard);display:block}.ts-richtext:focus,.ts-richtext:focus-within,.ts-richtext.is-focused,.tiptap:focus,.tiptap:focus-within,.tiptap.is-focused{border-color:var(--color-neutral-400);box-shadow:var(--ts-focus-ring);outline:none}[data-theme=dark] .ts-richtext:focus,[data-theme=dark] .ts-richtext:focus-within,[data-theme=dark] .ts-richtext.is-focused,[data-theme=dark] .tiptap:focus,[data-theme=dark] .tiptap:focus-within,[data-theme=dark] .tiptap.is-focused{border-color:var(--ts-brand-hover)}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--ts-text-subtle)}.ts-richtext__placeholder{color:var(--ts-text-subtle)}.ts-richtext>:first-child,.tiptap>:first-child{margin-top:0}.ts-richtext>:last-child,.tiptap>:last-child{margin-bottom:0}.ts-richtext :where(p),.tiptap :where(p){margin:0 0 var(--ts-space-4)}.ts-richtext :where(h1,h2,h3),.tiptap :where(h1,h2,h3){margin:var(--ts-space-6) 0 var(--ts-space-3);line-height:var(--leading-tight);font-weight:var(--font-weight-semibold);color:var(--ts-heading)}.ts-richtext :where(h1),.tiptap :where(h1){font-size:var(--text-xl)}.ts-richtext :where(h2),.tiptap :where(h2){font-size:var(--text-lg)}.ts-richtext :where(h3),.tiptap :where(h3){font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label)}.ts-richtext :where(ul,ol),.tiptap :where(ul,ol){margin:0 0 var(--ts-space-4);padding-left:var(--ts-space-10)}.ts-richtext :where(li),.tiptap :where(li){margin:var(--ts-space-1) 0}.ts-richtext :where(li)::marker{color:var(--ts-text-muted)}.tiptap :where(li)::marker{color:var(--ts-text-muted)}.ts-richtext :where(strong),.tiptap :where(strong){font-weight:var(--font-weight-semibold)}.ts-richtext :where(em),.tiptap :where(em){font-style:italic}.ts-richtext :where(u),.tiptap :where(u){text-underline-offset:2px;text-decoration:underline}.ts-richtext :where(a),.tiptap :where(a){color:var(--ts-link);text-underline-offset:2px;text-decoration:underline}.ts-richtext :where(code),.tiptap :where(code){font-family:var(--font-mono);border-radius:var(--radius-xs);background:var(--ts-surface-sunken);padding:1px 5px;font-size:.9em}.ts-richtext :where(blockquote),.tiptap :where(blockquote){margin:0 0 var(--ts-space-4);padding-left:var(--ts-space-6);border-left:2px solid var(--ts-border-strong);color:var(--ts-text-muted)}.ts-richtext :where(hr),.tiptap :where(hr){margin:var(--ts-space-6) 0;border:none;border-top:1px solid var(--ts-border)}.ts-rt-field{border:1px solid var(--ts-border-strong);border-radius:var(--radius-sm);background:var(--ts-surface);overflow:clip}.ts-rt-field--warn{border-color:var(--color-warn-500)}.ts-rt-field .tiptap:focus-visible,.ts-rt-field [contenteditable=true]:focus-visible{box-shadow:none}.ts-rt-field:focus-within{border-color:var(--color-neutral-400);box-shadow:var(--ts-focus-ring)}[data-theme=dark] .ts-rt-field:focus-within{border-color:var(--ts-brand-hover)}.ts-rt-overlay{z-index:40;--ts-rt-surface:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-md);background:var(--ts-rt-surface);color:var(--ts-text);box-shadow:var(--shadow-lg);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .11s,visibility .11s;position:fixed}[data-theme=dark] .ts-rt-overlay{--ts-rt-surface:var(--ts-surface-raised)}.ts-rt-overlay[data-open]{pointer-events:auto}.ts-rt-bubble{align-items:center;gap:1px;padding:3px;display:flex}.ts-rt-bubble button{border-radius:var(--radius-sm);min-width:26px;height:26px;color:inherit;transition:background var(--ts-duration-fast) var(--ease-standard);padding:0 6px;font-size:13px;font-weight:600;line-height:1}.ts-rt-bubble button[data-mark=italic]{font-style:italic}.ts-rt-bubble button[data-mark=underline]{text-decoration:underline}.ts-rt-bubble button:hover{background:var(--ts-surface-sunken)}.ts-rt-bubble button[aria-pressed=true],.ts-rt-bubble button[aria-pressed=true]:hover{background:var(--ts-border-strong)}@media (prefers-reduced-motion:reduce){.ts-rt-overlay{transition:none}}.ts-rt-slash{flex-direction:column;gap:2px;width:300px;display:flex}.ts-rt-slash .ts-menu{min-width:0;max-height:300px;overflow-y:auto}.ts-rt-slash__item{align-items:flex-start;gap:var(--ts-space-5);padding:var(--ts-space-4) var(--ts-space-5);white-space:normal}.ts-rt-slash__item:hover,.ts-rt-slash__item[data-active],.ts-rt-slash__item.is-active{background:var(--ts-surface-sunken)}.ts-rt-slash:hover .ts-rt-slash__item[data-active]:not(:hover),.ts-rt-slash:hover .ts-rt-slash__item.is-active:not(:hover){background:0 0}.ts-rt-slash__icon{border-radius:var(--radius-sm);background:var(--ts-surface-sunken);width:30px;height:30px;color:var(--ts-text-muted);flex:none;place-items:center;display:grid}.ts-rt-slash__icon svg{width:16px;height:16px}.ts-rt-slash__item[data-active] .ts-rt-slash__icon,.ts-rt-slash__item.is-active .ts-rt-slash__icon{background:var(--ts-accent)}@supports (color:color-mix(in lab, red, red)){.ts-rt-slash__item[data-active] .ts-rt-slash__icon,.ts-rt-slash__item.is-active .ts-rt-slash__icon{background:color-mix(in srgb, var(--ts-accent) 14%, var(--ts-surface))}}.ts-rt-slash__item[data-active] .ts-rt-slash__icon,.ts-rt-slash__item.is-active .ts-rt-slash__icon{color:var(--ts-accent)}.ts-rt-slash__text{flex-direction:column;gap:1px;min-width:0;display:flex}.ts-rt-slash__label{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--ts-text);line-height:1.3}.ts-rt-slash__desc{font-size:var(--text-2xs);color:var(--ts-text-subtle);line-height:1.35}.ts-rt-slash__hint{align-items:center;gap:var(--ts-space-4);padding:var(--ts-space-3) var(--ts-space-5);border-top:1px solid var(--ts-border);font-size:var(--text-2xs);color:var(--ts-text-subtle);flex-wrap:wrap;display:flex}.ts-rt-slash__hint span{align-items:center;gap:var(--ts-space-2);display:inline-flex}.ts-rt-slash__hint kbd{font-family:var(--font-mono);text-align:center;background:var(--ts-surface-sunken);min-width:16px;color:var(--ts-text-muted);border:1px solid var(--ts-border);border-radius:var(--radius-xs);padding:3px 5px;font-size:10px;line-height:1}.ts-section__head{cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--ts-surface);border-bottom:1px solid var(--ts-border);align-items:center;gap:10px;padding:10px 14px;display:flex}.ts-section__caret{width:12px;color:var(--ts-text-subtle);transition:transform .15s var(--ease-standard);align-self:center;align-items:center;display:inline-flex}.ts-section.is-collapsed .ts-section__caret{transform:rotate(-90deg)}.ts-section__label{flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.ts-section__collapse{transition:grid-template-rows var(--ts-duration-pill) var(--ease-emphasized);grid-template-rows:1fr;display:grid}.ts-section.is-collapsed .ts-section__collapse{grid-template-rows:0fr}.ts-section__collapse-inner{min-height:0;overflow:hidden}.ts-section.is-collapsed .ts-section__head{border-bottom:none}.ts-section__num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ts-text-subtle);font-weight:500}.ts-section__title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--ts-text);text-transform:uppercase;letter-spacing:var(--tracking-label);flex:1}.ts-section__flags{align-self:center;gap:4px;display:flex}.ts-section__body{font-size:var(--text-base);color:var(--ts-text);line-height:var(--leading-relaxed);outline:none;padding:14px 18px 14px 26px}.ts-section__body[contenteditable=true]{cursor:text;transition:background var(--ts-duration-fast)}.ts-section__body[contenteditable=true]:hover,.ts-section__body[contenteditable=true]:focus{background:var(--ts-surface-raised)}.ts-section__body p{margin-bottom:8px}.ts-section__body p:last-child{margin-bottom:0}.ts-section__body ul,.ts-section__body ol{margin:4px 0 4px 20px}.ts-section__body li{margin-bottom:3px}.ts-section__body .needs-input{color:var(--ts-text-subtle);background:var(--color-warn-50);border-left:2px solid var(--color-warn-500);border-radius:var(--radius-sm);padding:8px 10px}.ts-section__foot{background:var(--ts-surface);border-top:1px solid var(--ts-border);font-size:var(--text-xs);color:var(--ts-text-muted);align-items:center;gap:12px;padding:8px 18px 8px 26px;display:flex}.ts-section__chain{color:var(--ts-accent);align-items:center;gap:4px;display:inline-flex}.ts-section__actions{gap:4px;margin-left:auto;display:flex}.ts-section__actions button{font-size:var(--text-xs);color:var(--ts-text-muted);border:1px solid var(--ts-border-strong);background:var(--ts-surface);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);padding:4px 8px}.ts-section__actions button:hover{background:var(--ts-bg);border-color:var(--color-neutral-400)}.ts-section__actions button.is-approve{color:var(--color-success-700);border-color:var(--color-success-200)}.ts-section__actions button.is-approve:hover{background:var(--color-success-50)}.ts-section__actions button.is-ai{color:var(--color-ai-700);border-color:var(--color-ai-200);background:var(--color-ai-50)}.ts-section__actions button.is-ai:hover{background:var(--color-ai-100);border-color:var(--color-ai-500)}.ts-ai-inline{background:var(--color-info-50);border-top:1px solid var(--color-teal-200);padding:10px 14px}.ts-ai-inline__row{gap:6px;display:flex}.ts-ai-inline__row input{border:1px solid var(--color-teal-300);background:var(--ts-surface);font-size:var(--text-md);border-radius:var(--radius-sm);flex:1;padding:7px 10px}.ts-ai-inline__row input:focus{border-color:var(--ts-brand-hover);outline:none}.ts-ai-inline__row button{background:var(--ts-brand);color:var(--ts-on-brand);font-size:var(--text-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);padding:7px 12px}.ts-diff{background:var(--ts-surface);border:1px solid var(--ts-border);font-size:var(--text-md);border-radius:var(--radius-sm);margin-top:8px;padding:10px}.ts-diff__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-teal-700);font-weight:var(--font-weight-semibold);margin-bottom:6px}.ts-diff del,.ts-diff__del{background:var(--color-danger-50);color:var(--color-danger-700);text-decoration:line-through}.ts-diff ins,.ts-diff__ins{background:var(--color-success-50);color:var(--color-success-700);text-decoration:none}.ts-diff__acts{justify-content:flex-end;gap:4px;margin-top:10px;display:flex}.ts-diff__acts button{font-size:var(--text-xs);background:var(--ts-surface);border:1px solid var(--ts-border-strong);color:var(--ts-text-muted);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);padding:5px 10px}.ts-diff__acts button.is-accept{background:var(--ts-brand);color:var(--ts-on-brand);border-color:var(--ts-brand)}.ts-save-status{font-size:var(--text-2xs);color:var(--ts-text-subtle);font-weight:var(--font-weight-semibold);opacity:0;text-transform:uppercase;letter-spacing:var(--tracking-wide);align-items:center;gap:5px;transition:opacity .2s;display:inline-flex}.ts-save-status.is-show{opacity:1}.ts-save-status.is-saving{color:var(--ts-brand)}.ts-save-status.is-saving .ts-save-status__pulse{border-radius:var(--radius-full);background:var(--color-teal-500);width:6px;height:6px;animation:1s infinite ts-pulse}.ts-save-status.is-saved{color:var(--color-success-700)}.ts-save-status svg{width:11px;height:11px}.ts-modal-bg{-webkit-backdrop-filter:blur(5px);z-index:100;opacity:0;visibility:hidden;transition:opacity var(--ts-duration-base) var(--ease-standard), visibility 0s var(--ts-duration-base);background:#001e288c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ts-modal-bg.is-open{opacity:1;visibility:visible;transition:opacity var(--ts-duration-base) var(--ease-standard), visibility 0s 0s}.ts-modal{background:var(--ts-surface);border-radius:var(--radius-sm);width:90%;max-width:540px;box-shadow:var(--shadow-xl);opacity:0;transition:opacity var(--ts-duration-pill) var(--ease-emphasized), transform var(--ts-duration-pill) var(--ease-emphasized);overflow:hidden;transform:translateY(8px)scale(.98)}.ts-modal-bg.is-open .ts-modal{opacity:1;transform:none}.ts-modal__head{background:var(--ts-brand);color:var(--ts-on-brand);padding:14px 18px}.ts-modal__head h2{font-size:15px;font-weight:var(--font-weight-semibold);letter-spacing:.2px}.ts-modal__head p{font-size:var(--text-xs);color:var(--color-teal-100);text-transform:uppercase;letter-spacing:var(--tracking-label);margin-top:2px}.ts-modal__body{max-height:60vh;padding:18px;overflow-y:auto}.ts-modal__foot{border-top:1px solid var(--ts-border);background:var(--ts-bg);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}[data-theme=dark] .ts-modal__foot{background:var(--ts-surface)}@media (prefers-color-scheme:dark){[data-theme=auto] .ts-modal__foot{background:var(--ts-surface)}}.ts-sidenav{background:var(--color-teal-700);border-right:1px solid var(--color-teal-800);flex-direction:column;align-items:center;width:56px;padding:14px 0;display:flex}.ts-sidenav__brand{place-items:center;width:36px;height:36px;margin-bottom:14px;display:grid}.ts-sidenav__brand svg{width:25px;height:25px}.ts-sidenav__btn{width:40px;height:40px;color:var(--color-teal-100);border-radius:var(--radius-sm);transition:background var(--ts-duration-fast) var(--ease-standard), color var(--ts-duration-fast) var(--ease-standard);place-items:center;margin:2px 0;display:grid;position:relative}.ts-sidenav__btn svg{width:18px;height:18px}.ts-sidenav__btn:hover{background:var(--color-teal-600);color:#fff}.ts-sidenav__btn.is-active{color:#fff}.ts-sidenav__btn.is-active:before{content:"";background:var(--ts-accent);border-radius:var(--radius-full);width:3px;position:absolute;top:6px;bottom:6px;left:-4px}.ts-sidenav__btn .ts-badge{background:var(--ts-accent);color:#fff;font-size:9px;font-weight:var(--font-weight-semibold);text-align:center;border-radius:var(--radius-xs);min-width:14px;padding:1px 4px;line-height:1.3;position:absolute;top:2px;right:2px}.ts-sidenav__grow{flex:1}.ts-topbar{background:var(--ts-surface);border-bottom:1px solid var(--ts-border);flex-shrink:0;align-items:center;gap:14px;height:52px;padding:0 18px;display:flex}.ts-crumbs{font-size:var(--text-md);color:var(--ts-text-muted);align-items:center;gap:8px;display:flex}.ts-crumbs .sep{color:var(--color-neutral-400)}.ts-crumbs b{font-weight:var(--font-weight-semibold);color:var(--ts-text)}.ts-topbar__meta{font-size:var(--text-xs);color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.ts-topbar__spacer{flex:1}.ts-outline{background:var(--ts-surface);border-right:1px solid var(--ts-border);flex-direction:column;width:280px;display:flex;overflow-y:auto}.ts-outline__head{border-bottom:1px solid var(--ts-border);background:var(--ts-bg);flex-shrink:0;align-items:center;gap:8px;height:48px;padding:0 14px;display:flex}.ts-outline__head h3{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold);flex:1}.ts-outline__head .ic{color:var(--ts-text-subtle);align-items:center;display:inline-flex}.ts-doc-tabs{border-bottom:1px solid var(--ts-border);flex-direction:column;gap:1px;padding:6px 6px 6px 11px;display:flex}.ts-doc-tab{cursor:pointer;font-size:var(--text-md);color:var(--ts-text-muted);transition:background var(--ts-duration-fast) var(--ease-standard), color var(--ts-duration-fast) var(--ease-standard);border-radius:3px;align-items:center;gap:10px;padding:9px 10px;display:flex;position:relative}.ts-doc-tab:hover{background:var(--ts-bg)}.ts-doc-tab.is-active{background:var(--ts-surface-sunken);color:var(--ts-text)}.ts-doc-tab.is-active:before{content:"";border-radius:var(--radius-full);background:var(--ts-accent);width:3px;position:absolute;top:5px;bottom:5px;left:-7px}.ts-doc-tab__num{font-size:var(--text-sm);color:var(--ts-text-subtle);width:16px;font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;flex-shrink:0}.ts-doc-tab.is-active .ts-doc-tab__num{color:var(--ts-accent);font-weight:var(--font-weight-semibold)}.ts-doc-tab__nm{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ts-doc-tab__meta{flex-shrink:0;align-items:center;gap:5px;margin-left:auto;display:flex}.ts-doc-tab__tag{font-size:9px;font-weight:var(--font-weight-bold);color:var(--ts-text-muted);background:var(--ts-surface-sunken);border-radius:var(--radius-xs);letter-spacing:var(--tracking-wide);padding:2px 5px}.ts-doc-tab.is-active .ts-doc-tab__tag{background:var(--ts-border-strong);color:var(--ts-text)}.ts-file-details{font-size:var(--text-md);color:var(--ts-text-muted);padding:16px;line-height:1.5}.ts-file-details__h{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold);margin-bottom:12px}.ts-file-details__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ts-text-subtle);font-weight:var(--font-weight-semibold);margin-bottom:2px}.ts-file-details__field{margin-bottom:12px}.ts-file-details__name{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;color:var(--ts-text)}.ts-file-details__row{grid-template-columns:1fr 1fr;gap:4px 14px;margin-bottom:12px;display:grid}.ts-file-details__val{color:var(--ts-text)}.ts-file-details__note{background:var(--ts-bg);border-left:2px solid var(--ts-border-strong);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-xs);color:var(--ts-text-muted);margin-top:4px;padding:10px;line-height:1.5}.ts-outline__list{flex:1;padding:6px 6px 6px 11px;overflow-y:auto}.ts-ol-group{padding:0 0 6px}.ts-ol-section{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:6px;padding:6px 8px;display:flex}.ts-ol-section:hover{background:var(--ts-bg)}.ts-ol-section .caret{transition:transform .15s var(--ease-standard);color:var(--ts-text-subtle);align-items:center;display:inline-flex}.ts-ol-section.is-collapsed .caret{transform:rotate(-90deg)}.ts-ol-section.is-collapsed+.ts-ol-items{display:none}.ts-ol-items{flex-direction:column;gap:1px;display:flex}.ts-ol-item{font-size:var(--text-md);color:var(--ts-text-muted);cursor:pointer;transition:background var(--ts-duration-fast) var(--ease-standard), color var(--ts-duration-fast) var(--ease-standard);border-radius:3px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.ts-ol-item:hover{background:var(--ts-bg);color:var(--ts-text)}.ts-ol-item.is-active{background:var(--ts-surface-sunken);color:var(--ts-text);font-weight:var(--font-weight-medium)}.ts-ol-item.is-active:before{content:"";border-radius:var(--radius-full);background:var(--ts-accent);width:3px;position:absolute;top:5px;bottom:5px;left:-7px}.ts-ol-item__num{color:var(--ts-text-subtle);font-variant-numeric:tabular-nums;flex-shrink:0}.ts-ol-item.is-active .ts-ol-item__num{color:var(--ts-text)}.ts-ol-item .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ts-dropzone{border:2px dashed var(--ts-border-strong);background:var(--ts-surface-raised);text-align:center;border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--ts-duration-fast), background var(--ts-duration-fast);padding:32px}.ts-dropzone:hover{border-color:var(--ts-brand-hover);background:var(--color-info-50)}.ts-dropzone__ic{background:var(--color-info-50);width:42px;height:42px;color:var(--ts-brand);border-radius:var(--radius-full);place-items:center;margin:0 auto 10px;display:grid}.ts-dropzone__title{font-weight:var(--font-weight-semibold);color:var(--ts-text);margin-bottom:4px}.ts-dropzone__sub{font-size:var(--text-sm);color:var(--ts-text-muted)}.ts-dt{border-collapse:collapse;width:100%;font-size:var(--text-md)}.ts-dt th{background:var(--ts-surface-sunken);text-align:left;font-weight:var(--font-weight-semibold);font-size:var(--text-xs);color:var(--ts-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);border-bottom:1px solid var(--ts-border-strong);padding:7px 10px}.ts-dt td{border-bottom:1px solid var(--ts-border-subtle);vertical-align:top;padding:7px 10px}.ts-dt tr:last-child td{border-bottom:none}.ts-table-wrap{position:relative}.ts-dt--editable td[contenteditable=true]:hover,.ts-dt--editable th [contenteditable=true]:hover{background:var(--ts-bg)}.ts-dt--editable td[contenteditable=true]:focus{outline:2px solid var(--color-teal-400);outline-offset:-2px;background:var(--color-info-50)}.ts-dt--editable tr.is-dragging{opacity:.4}.ts-dt--editable tr.is-drop-target td{box-shadow:inset 0 2px 0 var(--ts-accent)}.ts-dt__gutter{background:var(--ts-surface-raised);border-bottom:1px solid var(--ts-border-subtle);vertical-align:middle;width:26px;padding:0!important}thead .ts-dt__gutter{background:var(--ts-surface-sunken);border-bottom:1px solid var(--ts-border-strong)}.ts-dt__rowbar{opacity:0;transition:opacity var(--ts-duration-fast);flex-direction:column;align-items:center;gap:1px;display:flex}.ts-dt--editable tbody tr:hover .ts-dt__rowbar{opacity:1}.ts-dt__colhead{align-items:center;gap:4px;display:flex}.ts-dt__colhead [contenteditable]{outline:none;flex:1}.ts-dt__colbar{opacity:0;transition:opacity var(--ts-duration-fast);gap:1px;display:flex}.ts-dt--editable th:hover .ts-dt__colbar{opacity:1}.ts-dt__ctl{cursor:pointer;width:16px;height:16px;color:var(--ts-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;padding:0;transition:background .1s,color .1s;display:grid}.ts-dt__ctl:hover{background:var(--ts-surface);color:var(--ts-text)}.ts-dt__ctl.is-del:hover{color:var(--color-danger-700);background:var(--color-danger-50)}.ts-dt__ctl.is-grip{cursor:grab}.ts-dt__ctl.is-grip:active{cursor:grabbing}.ts-dt__ctl svg{width:11px;height:11px}.ts-ai-anchor{display:inline-block;position:relative}.ts-ai-mark{background:var(--color-ai-500);width:16px;height:16px;color:var(--ts-on-ai);border-radius:var(--radius-full);cursor:pointer;vertical-align:1px;box-shadow:inset 0 0 0 1px var(--color-ai-600);transition:transform .1s, box-shadow .15s var(--ease-standard);border:none;justify-content:center;align-items:center;margin-left:5px;padding:0;display:inline-flex}.ts-ai-mark:hover{box-shadow:inset 0 0 0 1px var(--color-ai-600), var(--ts-focus-ring-ai);transform:scale(1.12)}.ts-ai-mark svg{width:10px;height:10px}.ts-field-popover-bg{z-index:199;background:0 0;position:fixed;inset:0}.ts-field-popover{z-index:200;visibility:hidden;background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-md);width:400px;max-width:92vw;max-height:80vh;box-shadow:var(--shadow-lg);font-size:var(--text-md);animation:ts-popover-in var(--ts-duration-spring) var(--ease-spring-soft);text-align:left;position:fixed;overflow-y:auto}.ts-field-popover .fp-h{background:var(--color-ai-500);color:var(--ts-on-ai);z-index:1;padding:12px 16px;position:sticky;top:0}.ts-field-popover .fp-h .nm{font-weight:var(--font-weight-semibold);font-size:var(--text-base);align-items:center;gap:6px;display:flex}.ts-field-popover .fp-h .nm .bot{background:#06333d24}@supports (color:color-mix(in lab, red, red)){.ts-field-popover .fp-h .nm .bot{background:color-mix(in srgb, var(--color-cyan-900) 14%, transparent)}}.ts-field-popover .fp-h .nm .bot{border-radius:var(--radius-full);place-items:center;width:18px;height:18px;display:grid}.ts-field-popover .fp-h .val{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-cyan-800);margin-top:4px;line-height:1.4}.ts-field-popover .fp-sect{border-top:1px solid var(--ts-border-subtle);padding:12px 16px}.ts-field-popover .fp-sect h4{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ts-field-popover .fp-sect h4 .cnt{font-family:var(--font-mono);color:var(--ts-text-subtle);letter-spacing:0;font-weight:500}.src-item{border-bottom:1px solid var(--ts-border-subtle);font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.src-item:last-child{border-bottom:none}.src-item .src-ico{background:var(--ts-surface-sunken);border-radius:var(--radius-xs);width:24px;height:24px;color:var(--ts-text-muted);flex-shrink:0;place-items:center;display:grid}.src-item .src-ico svg{width:13px;height:13px}.src-item .src-ico.api{background:var(--color-ai-100);color:var(--color-ai-700)}.src-item .src-ico.web{color:#1e40af;background:#dbeafe}.src-item .src-ico.tmp{color:#92400e;background:#fef3c7}.src-item .src-ico.tmd{color:#6b21a8;background:#e9d5ff}.src-item .src-ico.inf{color:#9d174d;background:#fce7f3}.src-item .src-ico.past{color:#065f46;background:#d1fae5}.src-item .src-body{flex:1;min-width:0}.src-item .src-body b{font-weight:var(--font-weight-semibold);color:var(--ts-text);font-size:var(--text-sm);margin-bottom:2px;display:block}.src-item .src-body .meta{color:var(--ts-text-muted);font-size:var(--text-xs);flex-wrap:wrap;gap:8px;line-height:1.45;display:flex}.src-item .src-body .excerpt{background:var(--ts-bg);border-left:2px solid var(--color-teal-300);color:var(--ts-text-muted);font-size:var(--text-xs);border-radius:0 2px 2px 0;margin-top:6px;padding:6px 9px;line-height:1.45}.src-item .src-body .conf{font-size:var(--text-2xs);color:var(--ts-text-muted);font-family:var(--font-mono);align-items:center;gap:3px;margin-top:4px;display:inline-flex}.src-item .src-body .conf .bar{background:var(--ts-border);border-radius:var(--radius-sm);width:30px;height:4px;overflow:hidden}.src-item .src-body .conf .bar i{background:var(--color-success-500);height:100%;display:block}.hist-item{font-size:var(--text-sm);border-bottom:1px solid var(--ts-border-subtle);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.hist-item:last-child{border-bottom:none}.hist-item .h-ico{border-radius:var(--radius-full);flex-shrink:0;place-items:center;width:20px;height:20px;margin-top:1px;display:grid}.hist-item .h-ico svg{width:10px;height:10px}.hist-item .h-ico.ai{background:var(--color-ai-100);color:var(--color-ai-700);border:1px solid var(--color-ai-200)}.hist-item .h-ico.h{background:var(--ts-surface-sunken);color:var(--ts-text-muted);border:1px solid var(--ts-border-strong)}.hist-item .h-body{flex:1;min-width:0;line-height:1.45}.hist-item .h-body .when{color:var(--ts-text-subtle);font-size:var(--text-xs);font-family:var(--font-mono);margin-top:2px}.hist-item .h-body .reason{font-size:var(--text-xs);color:var(--ts-text-muted);border-left:2px solid var(--ts-border);margin-top:4px;padding-left:8px}.hist-item del{background:var(--color-danger-50);color:var(--color-danger-700);font-family:var(--font-mono);font-size:var(--text-xs);padding:0 2px;text-decoration:line-through}.hist-item ins{background:var(--color-success-50);color:var(--color-success-700);font-family:var(--font-mono);font-size:var(--text-xs);padding:0 2px;text-decoration:none}.tool-item{font-size:var(--text-xs);font-family:var(--font-mono);gap:10px;padding:6px 0;display:flex}.tool-item .t-ico{background:var(--ts-surface-sunken);width:20px;height:20px;color:var(--ts-text-muted);border-radius:var(--radius-xs);flex-shrink:0;place-items:center;display:grid}.tool-item .t-ico svg{width:11px;height:11px}.tool-item .t-body{color:var(--ts-text-muted);word-break:break-word;flex:1;line-height:1.5}.tool-item .t-body b{color:var(--ts-text);font-weight:var(--font-weight-semibold)}.tool-item .t-body span.arrow{color:var(--ts-text-subtle);margin:0 4px}.ts-field-popover .fp-foot{background:var(--ts-bg);border-top:1px solid var(--ts-border);gap:6px;padding:10px 14px;display:flex;position:sticky;bottom:0}.ts-field-popover .fp-foot button{font-size:var(--text-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-radius:var(--radius-xs);background:var(--ts-surface);border:1px solid var(--ts-border-strong);color:var(--ts-text-muted);cursor:pointer;flex:1;padding:7px 12px}.ts-field-popover .fp-foot button.primary{background:var(--ts-brand);color:#fff;border-color:var(--ts-brand)}.ts-stage-pill{font-size:var(--text-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid;align-items:center;gap:6px;padding:3px 8px;line-height:1.4;display:inline-flex}.ts-stage-pill .dot{border-radius:var(--radius-full);flex-shrink:0;width:6px;height:6px}.ts-stage-pill--intake{background:var(--ts-surface-sunken);border-color:var(--ts-border-strong);color:var(--ts-text-muted)}.ts-stage-pill--intake .dot{background:var(--ts-text-subtle)}.ts-stage-pill--validate{background:var(--color-warn-50);border-color:var(--color-warn-200);color:var(--color-warn-700)}.ts-stage-pill--validate .dot{background:var(--color-warn-500)}.ts-stage-pill--generating{background:var(--color-ai-100);border-color:var(--color-ai-200);color:var(--color-ai-700)}.ts-stage-pill--generating .dot{background:var(--color-ai-700);animation:1.4s infinite ts-pulse}.ts-stage-pill--editing{background:var(--ts-accent)}@supports (color:color-mix(in lab, red, red)){.ts-stage-pill--editing{background:color-mix(in srgb, var(--ts-accent) 12%, var(--ts-surface))}}.ts-stage-pill--editing{border-color:var(--ts-accent)}@supports (color:color-mix(in lab, red, red)){.ts-stage-pill--editing{border-color:color-mix(in srgb, var(--ts-accent) 35%, var(--ts-surface))}}.ts-stage-pill--editing{color:var(--ts-accent)}.ts-stage-pill--editing .dot{background:var(--ts-accent)}.ts-stage-pill--ready{background:var(--color-success-50);border-color:var(--color-success-200);color:var(--color-success-700)}.ts-stage-pill--ready .dot{background:var(--color-success-500)}.ts-stage-pill--exported{background:var(--ts-surface-sunken);border-color:var(--ts-border-strong);color:var(--ts-text-muted)}.ts-stage-pill--exported .dot{background:var(--ts-text-muted)}.ts-progress{background:var(--ts-border);border-radius:1px;width:120px;height:4px;overflow:hidden}.ts-progress__bar{background:var(--color-teal-500);height:100%}.ts-progress__bar--ok{background:var(--color-success-500)}.ts-table-card{overflow:hidden}.ts-table{border-collapse:collapse;width:100%}.ts-table th{text-align:left;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold);background:var(--ts-surface);border-bottom:1px solid var(--ts-border);-webkit-user-select:none;user-select:none;white-space:nowrap;padding:10px 14px}.ts-table th.is-sortable{cursor:pointer}.ts-table th.is-sorted{color:var(--ts-text)}.ts-table th .sort-ico{vertical-align:-2px;color:var(--ts-text-subtle);opacity:0;margin-left:4px;transition:color .12s,transform .12s,opacity .12s;display:inline-flex}.ts-table th.is-sortable:not(.is-sorted):hover .sort-ico{opacity:.4}.ts-table th.is-sorted .sort-ico{opacity:1;color:var(--ts-accent)}.ts-table th.is-sorted.is-desc .sort-ico{transform:rotate(180deg)}.ts-table td{border-bottom:1px solid var(--ts-border-subtle);font-size:var(--text-md);vertical-align:middle;color:var(--ts-text);padding:12px 14px}.ts-table tbody tr:last-child td{border-bottom:none}.ts-table tbody tr.is-clickable{cursor:pointer}.ts-table tbody tr:hover td{background:var(--ts-surface-raised)}.ts-table .cell-ref{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ts-text-muted)}.ts-table .cell-title{font-weight:var(--font-weight-medium);color:var(--ts-text)}.ts-table .cell-sub{font-size:var(--text-xs);color:var(--ts-text-muted);margin-top:2px}.ts-table-empty{text-align:center;color:var(--ts-text-muted);font-size:var(--text-md);padding:32px 18px}.ts-job-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.ts-job-card{padding:var(--ts-pad-card) var(--ts-space-8);cursor:pointer;transition:border-color var(--ts-duration-fast) var(--ease-standard), box-shadow var(--ts-duration-fast) var(--ease-standard)}.ts-job-card:hover{border-color:var(--ts-border-strong);box-shadow:var(--shadow-sm)}.ts-job-card__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ts-job-card__ref{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ts-text-muted)}.ts-job-card__title{font-weight:var(--font-weight-semibold);color:var(--ts-text);font-size:var(--text-base);margin-bottom:2px}.ts-job-card__sub{font-size:var(--text-xs);color:var(--ts-text-muted)}.ts-job-card__foot{font-size:var(--text-xs);color:var(--ts-text-subtle);justify-content:space-between;align-items:center;margin-top:12px;display:flex}.ts-stat{padding:var(--ts-pad-card) var(--ts-space-8)}.ts-stat__label{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-text-muted);font-weight:var(--font-weight-semibold)}.ts-stat__val{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--ts-heading);margin-top:4px;line-height:1.1}.ts-stat__delta{font-size:var(--text-xs);color:var(--color-success-700);margin-top:2px}.ts-stat.is-warn .ts-stat__val{color:var(--ts-accent)}.ts-steps{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--radius-sm);align-items:center;padding:14px 18px;display:flex}.ts-step{flex:1;align-items:center;gap:10px;display:flex}.ts-step:last-child{flex:none}.ts-step__num{border:1px solid var(--ts-border-strong);width:24px;height:24px;color:var(--ts-text-muted);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);background:var(--ts-surface);border-radius:var(--radius-full);flex-shrink:0;place-items:center;display:grid}.ts-step.is-active .ts-step__num{background:var(--ts-brand);color:#fff;border-color:var(--ts-brand)}.ts-step.is-done .ts-step__num{background:var(--color-success-500);color:#fff;border-color:var(--color-success-500)}.ts-step__lbl{font-size:var(--text-sm);color:var(--ts-text-muted);font-weight:var(--font-weight-medium);white-space:nowrap}.ts-step.is-active .ts-step__lbl{color:var(--ts-text);font-weight:var(--font-weight-semibold)}.ts-step__line{background:var(--ts-border-strong);flex:auto;min-width:16px;height:1px;margin:0 8px}.ts-step__line.is-done{background:var(--color-success-500)}.ts-rmtx{background:var(--ts-border-strong);font-size:var(--text-xs);grid-template-columns:90px repeat(5,1fr);gap:1px;display:grid}.ts-rmtx>div{background:var(--ts-surface);text-align:center;padding:7px 6px}.ts-rmtx .h{background:var(--ts-brand);color:#fff;font-weight:var(--font-weight-semibold);letter-spacing:.3px;font-size:var(--text-2xs);text-transform:uppercase}.ts-rmtx .c{cursor:pointer;font-weight:var(--font-weight-semibold)}.ts-rmtx .c.l1{color:#fff;background:#198047}.ts-rmtx .c.l2{color:#1a2026;background:#a9bf34}.ts-rmtx .c.l3{color:#1a2026;background:#f4c20d}.ts-rmtx .c.l4{color:#1a2026;background:#ec7e25}.ts-rmtx .c.l5{color:#fff;background:#d6352a}.ts-rmtx .c.is-active{outline:2px solid var(--color-teal-700);outline-offset:-2px;font-weight:var(--font-weight-bold)}.ts-verif-row{border-bottom:1px solid var(--ts-border-subtle);font-size:var(--text-md);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.ts-verif-row:last-child{border-bottom:none}.ts-verif-row .ic{border-radius:var(--radius-full);width:22px;height:22px;font-size:var(--text-xs);color:#fff;flex-shrink:0;place-items:center;display:grid}.ts-verif-row .ic.ok{background:var(--color-success-500)}.ts-verif-row .ic.warn{background:var(--color-warn-500)}.ts-verif-row .ic.err{background:var(--color-danger-500)}.ts-verif-row .nm{font-weight:var(--font-weight-medium)}.ts-verif-row .src{font-size:var(--text-xs);color:var(--ts-text-muted);margin-top:1px}.ts-verif-row button{font-size:var(--text-xs);border:1px solid var(--ts-border-strong);background:var(--ts-surface);border-radius:var(--radius-sm);color:var(--ts-text-muted);font-weight:var(--font-weight-medium);padding:4px 10px}.ts-src-file{border-bottom:1px solid var(--ts-border-subtle);align-items:center;gap:14px;padding:14px 18px;display:flex}.ts-src-file:last-child{border-bottom:none}.ts-src-file__ico{background:var(--ts-bg);border:1px solid var(--ts-border);width:38px;height:46px;color:var(--color-danger-500);border-radius:var(--radius-sm);flex-shrink:0;place-items:center;display:grid;position:relative}.ts-src-file__ico:after{content:"PDF";font-size:7px;font-weight:var(--font-weight-bold);color:var(--color-danger-500);letter-spacing:.3px;position:absolute;bottom:3px}.ts-src-file__ico svg{width:18px;height:18px;margin-top:-4px}.ts-src-file__body{flex:1;min-width:0}.ts-src-file__kind{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-brand);font-weight:var(--font-weight-semibold);margin-bottom:2px}.ts-src-file__name{font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--ts-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ts-src-file__meta{font-size:var(--text-xs);color:var(--ts-text-muted);margin-top:2px}.ts-src-file__actions{flex-shrink:0;gap:6px;display:flex}.ts-gen{text-align:center;padding:32px 24px}.ts-gen__ic{border-radius:var(--radius-full);background:var(--color-info-50);width:64px;height:64px;color:var(--ts-brand);animation:var(--animate-spin-slow);place-items:center;margin:0 auto 16px;display:grid}.ts-gen__h{font-size:var(--text-xl);font-weight:var(--font-weight-semibold);color:var(--ts-text);margin-bottom:6px}.ts-gen__sub{font-size:var(--text-md);color:var(--ts-text-muted);margin-bottom:20px}.ts-gen__tasks{text-align:left;max-width:520px;margin:0 auto}.ts-gen__task{font-size:var(--text-md);color:var(--ts-text-muted);align-items:center;gap:10px;padding:8px 0;display:flex}.ts-gen__task .gi{border-radius:var(--radius-full);width:18px;height:18px;font-size:var(--text-2xs);flex-shrink:0;place-items:center;display:grid}.ts-gen__task.is-done .gi{background:var(--color-success-500);color:#fff}.ts-gen__task.is-doing .gi{background:var(--color-teal-500);color:#fff;animation:1.4s infinite ts-pulse}.ts-gen__task.is-todo .gi{background:var(--ts-border);color:var(--ts-text-muted)}.ts-multi-grid{background:var(--ts-border-strong);grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.ts-multi-card{background:var(--ts-surface);flex-direction:column;min-height:160px;display:flex;overflow:hidden}.ts-multi-card__head{background:var(--ts-brand);color:#fff;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-label);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.ts-multi-card__head .nm{flex:1}.ts-multi-card__head .ic{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-teal-100)}.ts-multi-card__body{font-size:var(--text-sm);flex:1;padding:12px;line-height:1.5;overflow-y:auto}.ts-preview-page{width:100%;max-width:640px;box-shadow:var(--shadow-md);background:#fff;min-height:720px;margin:0 auto;padding:48px 48px 80px;position:relative}.ts-preview-page .ph{border-bottom:2px solid var(--ts-brand);justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding-bottom:12px;display:flex}.ts-preview-page .ph .nm{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ts-text-muted);letter-spacing:.5px}.ts-preview-page .ph .lg{font-weight:var(--font-weight-bold);color:var(--ts-brand);letter-spacing:.5px;font-size:16px}.ts-preview-page .ph .lg span{color:var(--ts-accent)}.ts-preview-page h1{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);color:var(--ts-brand);margin-bottom:6px}.ts-preview-page .sub{font-size:var(--text-sm);color:var(--ts-text-muted);margin-bottom:24px}.ts-preview-page h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ts-brand);font-weight:var(--font-weight-semibold);border-top:1px solid var(--ts-accent);margin:22px 0 6px;padding-top:12px}.ts-preview-page p{font-size:var(--text-md);color:var(--color-neutral-800);margin-bottom:8px;line-height:1.55}.ts-preview-page .pdf-foot{color:var(--ts-text-muted);border-top:1px solid var(--ts-border-strong);font-size:9px;font-family:var(--font-mono);justify-content:space-between;padding-top:6px;display:flex;position:absolute;bottom:30px;left:48px;right:48px}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.object-contain{object-fit:contain}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-2xs{font-size:var(--text-2xs)}.text-body{font-size:var(--text-body)}.text-caption{font-size:var(--text-caption)}.text-display{font-size:var(--text-display)}.text-small{font-size:var(--text-small)}.text-title-1{font-size:var(--text-title-1)}.text-title-2{font-size:var(--text-title-2)}.text-title-3{font-size:var(--text-title-3)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ts-space-1:2px;--ts-space-2:4px;--ts-space-3:6px;--ts-space-4:8px;--ts-space-5:10px;--ts-space-6:12px;--ts-space-7:14px;--ts-space-8:16px;--ts-space-9:18px;--ts-space-10:20px;--ts-space-12:24px;--ts-space-16:32px;--ts-gap-tight:var(--ts-space-3);--ts-gap:var(--ts-space-5);--ts-pad-control:var(--ts-space-4);--ts-pad-card:var(--ts-space-7);--ts-pad-page:var(--ts-space-12);--ts-duration-fast:.12s;--ts-duration-base:.18s;--ts-duration-pill:.26s;--ts-duration-slow:.4s;--ts-duration-spring:.45s;--ts-motion-pill:transform var(--ts-duration-pill) var(--ease-emphasized);--ts-halo-width:2px;--ts-focus-ring:0 0 0 2px #267fa04d}@supports (color:color-mix(in lab, red, red)){:root{--ts-focus-ring:0 0 0 2px color-mix(in srgb, var(--color-teal-400) 30%, transparent)}}:root{--ts-focus-ring-ai:0 0 0 3px #67e8f940}@supports (color:color-mix(in lab, red, red)){:root{--ts-focus-ring-ai:0 0 0 3px color-mix(in srgb, var(--color-ai-500) 25%, transparent)}}@keyframes ts-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes ts-spin{to{transform:rotate(360deg)}}:root{--ts-bg:var(--color-neutral-50);--ts-surface:var(--color-neutral-0);--ts-surface-raised:var(--color-neutral-50);--ts-surface-sunken:var(--color-neutral-100);--ts-seg-track:var(--ts-surface-sunken);--ts-seg-pill:var(--color-neutral-0);--ts-listbox-selected:var(--ts-brand);--ts-border:var(--color-neutral-200);--ts-border-strong:var(--color-neutral-300);--ts-border-subtle:var(--color-neutral-100);--ts-text:var(--color-neutral-900);--ts-text-muted:var(--color-neutral-600);--ts-text-subtle:var(--color-neutral-500);--ts-text-on-dark:var(--color-neutral-0);--ts-heading:var(--color-teal-600);--ts-brand:var(--color-teal-600);--ts-brand-hover:var(--color-teal-500);--ts-brand-strong:var(--color-teal-700);--ts-on-brand:var(--color-neutral-0);--ts-accent:var(--color-orange-500);--ts-accent-hover:var(--color-orange-400);--ts-on-accent:var(--color-neutral-0);--ts-on-ai:var(--color-cyan-900);--ts-link:var(--color-teal-500);--ts-focus:var(--color-teal-400)}[data-theme=dark]{--ts-bg:var(--color-teal-900);--ts-surface:var(--color-teal-800);--ts-surface-raised:var(--color-teal-700);--ts-surface-sunken:var(--color-teal-600);--ts-seg-track:var(--color-teal-700);--ts-seg-pill:var(--color-teal-500);--ts-listbox-selected:var(--color-neutral-50);--ts-border:var(--color-teal-600);--ts-border-strong:var(--color-teal-500);--ts-border-subtle:var(--color-teal-700);--ts-text:var(--color-neutral-50);--ts-text-muted:var(--color-neutral-500);--ts-text-subtle:var(--color-neutral-600);--ts-heading:var(--color-neutral-50);--ts-brand:var(--color-teal-500);--ts-brand-hover:var(--color-teal-400);--ts-brand-strong:var(--color-teal-600);--ts-on-brand:var(--color-neutral-0);--ts-accent:var(--color-orange-500);--ts-accent-hover:var(--color-orange-400);--ts-on-accent:var(--color-neutral-0);--ts-link:var(--color-teal-300);--ts-focus:var(--color-teal-400);--ts-focus-ring:0 0 0 2px #267fa066}@supports (color:color-mix(in lab, red, red)){[data-theme=dark]{--ts-focus-ring:0 0 0 2px color-mix(in srgb, var(--color-teal-400) 40%, transparent)}}[data-theme=dark]{--color-danger-50:#361a1c;--color-danger-200:#6e2e30;--color-danger-700:#fca5a5;--color-warn-50:#33270e;--color-warn-200:#6b5320;--color-warn-700:#fbd27a;--color-success-50:#102a1c;--color-success-200:#1f4a30;--color-success-700:#86efac;--color-ai-50:#06222b;--color-ai-100:#0a2e3a;--color-ai-200:#155e6b;--color-ai-700:#67e8f9;--color-info-50:#06222b;--color-info-200:#155e6b;--color-info-700:#80b8cc}@media (prefers-color-scheme:dark){[data-theme=auto]{--ts-bg:var(--color-teal-900);--ts-surface:var(--color-teal-800);--ts-surface-raised:var(--color-teal-700);--ts-surface-sunken:var(--color-teal-600);--ts-seg-track:var(--color-teal-700);--ts-seg-pill:var(--color-teal-500);--ts-listbox-selected:var(--color-neutral-50);--ts-border:var(--color-teal-600);--ts-border-strong:var(--color-teal-500);--ts-border-subtle:var(--color-teal-700);--ts-text:var(--color-neutral-50);--ts-text-muted:var(--color-neutral-500);--ts-text-subtle:var(--color-neutral-600);--ts-heading:var(--color-neutral-50);--ts-brand:var(--color-teal-500);--ts-brand-hover:var(--color-teal-400);--ts-brand-strong:var(--color-teal-600);--ts-link:var(--color-teal-300);--ts-focus:var(--color-teal-400);--color-danger-50:#361a1c;--color-danger-200:#6e2e30;--color-danger-700:#fca5a5;--color-warn-50:#33270e;--color-warn-200:#6b5320;--color-warn-700:#fbd27a;--color-success-50:#102a1c;--color-success-200:#1f4a30;--color-success-700:#86efac;--color-ai-50:#06222b;--color-ai-100:#0a2e3a;--color-ai-200:#155e6b;--color-ai-700:#67e8f9;--color-info-50:#06222b;--color-info-200:#155e6b;--color-info-700:#80b8cc}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}