:root{--font:var(--font-aeonik), -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;--font-base:var(--font-aeonik), -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;--font-mono:var(--font-aeonik-mono), ui-monospace, "SF Mono", Menlo, monospace;--ls-mono:.06em;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius:8px;--radius-card:14px;--radius-pill:9999px;--fs-display:48px;--fs-h1:28px;--fs-h2:20px;--fs-lg:18px;--fs-md:16px;--fs-body:16px;--fs-ui-lg:14px;--fs-small:13px;--fs-ui:13px;--fs-xs:12px;--fs-tiny:11px;--fs-badge:10px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-xs:6px;--control-h:32px;--control-h-sm:24px;--ff-control-h:var(--control-h);--ff-control-h-sm:var(--control-h-sm);--ff-control-h-mobile:44px;--ff-focus-ring:var(--c-accent-2);--sidebar-w:272px;--drawer-w:min(86vw, 320px);--space-zone-pad:48px;--t-fast:60ms;--t-med:.18s;--t-medium:.15s;--t-slow:.28s;--ease-std:cubic-bezier(.2,0,0,1);--c-bg:#fafaf9;--c-bg-panel:#f3f1ec;--c-bg-sidebar:#f1efe9;--c-bg-card:#fff;--c-fg:#111;--c-fg-muted:#5e5d5a;--c-fg-subtle:#6e6d69;--c-border:#e9e8e3;--c-border-hover:#d6d5cf;--c-border-strong:#111;--c-surface:#fff;--c-surface-hover:#f3f2ee;--c-surface-elevated:#fff;--c-accent:#1f1f1f;--c-accent-bg:#ececec;--c-accent-2:#5f5f5f;--c-on-accent:var(--c-bg);--c-success:#1a8b3c;--c-success-bg:#ecf6ee;--c-warning:#a06b00;--c-warning-bg:#fbf2dc;--c-danger:#b22424;--c-danger-bg:#fbeaea;--c-progress:#6d28d9;--c-progress-bg:#ede9fe;--c-backdrop:#1116;--c-brand:#e8503a;--cat-1:#d64541;--cat-2:#2d5be3;--cat-3:#8b4fb8;--cat-4:#178a6e;--cat-5:#c77d0a;--shadow-xs:0 1px 2px #0000000f;--shadow-soft:0 1px 2px #0000000a, 0 4px 12px #0000000d;--shadow-strong:0 2px 4px #0000000d, 0 12px 32px #00000014;--shadow-lg:0 8px 20px #00000014, 0 24px 48px #0000001f}:root[data-theme=dark]{--c-bg:#1f1f1f;--c-bg-panel:#2b2b2b;--c-bg-sidebar:#262626;--c-bg-card:#2b2b2b;--c-fg:#ededed;--c-fg-muted:#9d9d9d;--c-fg-subtle:#8c8c8c;--c-border:#3d3d3d;--c-border-hover:#4a4a4a;--c-border-strong:#ededed;--c-surface:#2b2b2b;--c-surface-hover:#353535;--c-surface-elevated:#353535;--c-accent:#ededed;--c-accent-bg:#353535;--c-accent-2:#c4c4c4;--c-on-accent:var(--c-bg);--c-success:#4ade80;--c-success-bg:#14241b;--c-warning:#f5b347;--c-warning-bg:#2a1f0e;--c-danger:#f87171;--c-danger-bg:#2a1414;--c-progress:#c4b5fd;--c-progress-bg:#2e2547;--c-backdrop:#0009;--c-brand:#ff6a52;--cat-1:#f0857a;--cat-2:#7fa0f5;--cat-3:#c49ae6;--cat-4:#4fcba8;--cat-5:#e8b14e;--shadow-xs:0 1px 2px #00000080;--shadow-soft:0 1px 3px #00000080, 0 4px 12px #00000080;--shadow-strong:0 2px 6px #0003, 0 8px 24px #0000004d;--shadow-lg:0 10px 24px #0009, 0 28px 56px #000000a8}
.react-aria-Calendar,.react-aria-RangeCalendar{width:fit-content;color:var(--c-fg);font-family:var(--font-base)}.react-aria-Calendar header,.react-aria-RangeCalendar header{align-items:center;gap:8px;margin:0 4px 12px;display:flex}.react-aria-Calendar header h2,.react-aria-RangeCalendar header h2{text-align:center;font-size:var(--fs-body);text-transform:capitalize;flex:1;margin:0;font-weight:500}.react-aria-Calendar header .react-aria-Button,.react-aria-RangeCalendar header .react-aria-Button{border-radius:var(--radius);border:1px solid var(--c-border);background:var(--c-surface);width:32px;height:32px;color:var(--c-fg);cursor:pointer;flex:none;font-size:15px;line-height:1}.react-aria-Calendar header .react-aria-Button[data-hovered],.react-aria-RangeCalendar header .react-aria-Button[data-hovered]{background:var(--c-surface-hover);border-color:var(--c-border-hover)}.react-aria-CalendarGrid{border-collapse:collapse;border-spacing:0}.react-aria-CalendarHeaderCell{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-badge,10px);color:var(--c-fg-subtle);text-align:center;padding-bottom:6px;font-weight:400}.react-aria-CalendarCell{text-align:center;vertical-align:middle;width:38px;height:36px;font-size:var(--fs-small,13px);border-radius:var(--radius);cursor:default;color:var(--c-fg);outline:none}.react-aria-CalendarCell[data-outside-month]{display:none}.react-aria-CalendarCell[data-hovered]{background:var(--c-surface-hover)}.react-aria-CalendarCell[data-today]{box-shadow:inset 0 0 0 1px var(--c-border-hover);font-weight:500}.react-aria-CalendarCell[data-disabled]{color:var(--c-fg-subtle);opacity:.45}.react-aria-CalendarCell[data-unavailable]{color:var(--c-fg-subtle);text-decoration:line-through}.react-aria-CalendarCell[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:1px}.react-aria-CalendarCell[data-selected]{background:var(--c-accent-bg);color:var(--c-fg);border-radius:0}.react-aria-CalendarCell[data-selected][data-selection-start]{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.react-aria-CalendarCell[data-selected][data-selection-end]{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.react-aria-Calendar .react-aria-CalendarCell[data-selected]{background:var(--c-accent);color:var(--c-on-accent);border-radius:var(--radius)}.react-aria-CalendarCell[data-selection-start],.react-aria-CalendarCell[data-selection-end]{background:var(--c-accent);color:var(--c-on-accent)}.react-aria-DateField{color:var(--c-fg);flex-direction:column;gap:6px;display:flex}.react-aria-DateInput,.react-aria-DatePicker .react-aria-Group,.react-aria-DateRangePicker .react-aria-Group{height:var(--ff-control-h,36px);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);align-items:center;gap:1px;width:fit-content;padding:0 10px;display:inline-flex}.react-aria-DatePicker .react-aria-DateInput,.react-aria-DateRangePicker .react-aria-DateInput{background:0 0;border:none;border-radius:0;flex:1;min-width:0;height:auto;padding:0}.react-aria-Group[data-focus-within]{border-color:var(--c-fg);outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:-1px}.react-aria-DateSegment{border-radius:var(--radius-sm);color:var(--c-fg);font-variant-numeric:tabular-nums;outline:none;padding:1px 2px}.react-aria-DateSegment[data-type=literal]{color:var(--c-fg-subtle);padding:0}.react-aria-DateSegment[data-placeholder]{color:var(--c-fg-subtle)}.react-aria-DateSegment[data-focused]{background:var(--c-accent);color:var(--c-on-accent)}.react-aria-DateRangePicker .react-aria-Group [aria-hidden]{color:var(--c-fg-subtle);padding:0 4px}.react-aria-DatePicker>.react-aria-Group>.react-aria-Button,.react-aria-DateRangePicker>.react-aria-Group>.react-aria-Button{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--c-fg-subtle);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.react-aria-DatePicker .react-aria-Button[data-hovered],.react-aria-DateRangePicker .react-aria-Button[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg)}.react-aria-DatePicker>.react-aria-Group>.react-aria-Button[data-focus-visible],.react-aria-DateRangePicker>.react-aria-Group>.react-aria-Button[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:1px}.react-aria-Popover{background:var(--c-surface-elevated);border:1px solid var(--c-border);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);color:var(--c-fg);padding:14px}.react-aria-Popover .react-aria-Dialog{outline:none}.react-aria-Label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-badge,10px);color:var(--c-fg-subtle)}.ff-aria-select{display:inline-block}.ff-aria-select__trigger{height:var(--ff-control-h,36px);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);min-width:190px;color:var(--c-fg);font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.ff-aria-select__trigger[data-hovered]{border-color:var(--c-border-hover);background:var(--c-surface-hover)}.ff-aria-select__trigger[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:1px;border-color:var(--c-fg)}.ff-aria-select__trigger[data-open]{border-color:var(--c-fg)}.ff-aria-select__trigger[data-disabled]{opacity:.55;cursor:not-allowed}.ff-aria-select--block{width:100%;display:block}.ff-aria-select--block .ff-aria-select__trigger{width:100%;min-width:0}.ff-aria-select__caret{color:var(--c-fg-subtle);font-size:var(--fs-tiny,11px);line-height:1}.ff-aria-select__popover{background:var(--c-surface-elevated);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);min-width:var(--trigger-width);padding:4px}.ff-aria-select__listbox{outline:none;flex-direction:column;gap:1px;max-height:280px;display:flex;overflow:auto}.ff-aria-select__option[data-disabled]{opacity:.4;cursor:default;pointer-events:none}.ff-aria-select__option{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.ff-aria-select__option[data-hovered],.ff-aria-select__option[data-focused]{background:var(--c-surface-hover)}.ff-aria-select__option[data-selected]{background:var(--c-accent-bg);font-weight:500}.ff-aria-select__option[data-selected]:after{content:"✓";color:var(--c-fg);font-size:var(--fs-xs,12px)}@media (max-width:768px){.ff-aria-select__trigger,.react-aria-DateInput,.react-aria-DatePicker .react-aria-Group,.react-aria-DateRangePicker .react-aria-Group{height:var(--ff-control-h-mobile,44px)}}.react-aria-Slider{font-family:var(--font-base);color:var(--c-fg);grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.react-aria-Slider>.react-aria-Label{grid-column:1}.react-aria-Slider .react-aria-SliderOutput{text-align:right;font-family:var(--font-mono);font-size:var(--fs-badge,10px);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--c-fg-muted);grid-column:2;font-weight:500}.react-aria-Slider .react-aria-SliderTrack{grid-column:1/-1;align-items:center;width:100%;height:14px;display:flex;position:relative}.react-aria-Slider .react-aria-SliderTrack:before{content:"";background:var(--c-border-hover);border-radius:var(--radius-pill);width:100%;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.react-aria-Slider .slider-fill{background:var(--c-accent);border-radius:var(--radius-pill);pointer-events:none;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.react-aria-Slider .react-aria-SliderThumb{border-radius:var(--radius-pill);background:var(--c-accent);border:2px solid var(--c-bg-sidebar);width:14px;height:14px;top:50%;box-shadow:0 1px 2px #0003}.react-aria-Slider .react-aria-SliderThumb[data-dragging]{background:var(--c-fg)}.react-aria-Slider .react-aria-SliderThumb[data-focus-visible]{outline:2px solid var(--c-accent-2);outline-offset:2px}.react-aria-ModalOverlay{background:var(--c-backdrop);z-index:var(--z-modal,110);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.react-aria-Modal{background:var(--c-surface-elevated);border:1px solid var(--c-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);width:360px;max-width:calc(100% - 40px)}.react-aria-Modal .react-aria-Dialog{color:var(--c-fg);outline:none;flex-direction:column;gap:14px;padding:20px;display:flex}.react-aria-Modal .react-aria-Heading{color:var(--c-fg);font-size:15px;font-weight:500}.react-aria-TextField{flex-direction:column;gap:6px;display:flex}.react-aria-Input,.react-aria-TextArea{width:100%;min-height:var(--control-h);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-fg);font-family:var(--font-base);font-size:var(--fs-small,13px);outline:none;padding:0 11px}.react-aria-TextArea{resize:vertical;padding:8px 11px}.react-aria-Input[data-focused],.react-aria-TextArea[data-focused]{border-color:var(--c-fg);outline:2px solid var(--c-accent-2);outline-offset:-1px}.react-aria-FieldError{color:var(--c-danger);font-size:var(--fs-tiny,11px)}
.ff-btn{font-family:var(--font-base);font-weight:500;font-size:var(--fs-small,13px);height:var(--ff-control-h,32px);padding:0 var(--space-4,16px);border-radius:var(--radius);border:1px solid var(--c-border-strong,var(--c-fg));background:var(--c-surface);color:var(--c-fg);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2,8px);white-space:nowrap;transition:background var(--t-fast,60ms) var(--ease-std),color var(--t-fast,60ms) var(--ease-std),border-color var(--t-fast,60ms) var(--ease-std);text-decoration:none;display:inline-flex}.ff-btn[data-hovered]{background:var(--c-fg);color:var(--c-bg)}.ff-btn--primary{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}.ff-btn--primary[data-hovered]{background:var(--c-bg);color:var(--c-fg);border-color:var(--c-border-strong,var(--c-fg))}.ff-btn--sm{height:var(--ff-control-h-sm,24px);padding:0 var(--space-3,12px);font-size:var(--fs-tiny,11px)}.ff-btn[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-btn[data-disabled]{opacity:.5;cursor:not-allowed}.ff-badge{white-space:nowrap;font-family:var(--font-mono);font-size:var(--fs-badge,10px);text-transform:uppercase;letter-spacing:var(--ls-mono);border-radius:var(--radius-sm);border:1px solid var(--c-border);height:18px;color:var(--c-fg-muted);background:var(--c-bg);align-items:center;gap:4px;padding:2px 6px;line-height:1;display:inline-flex}.ff-badge--neutral{color:var(--c-fg-muted);background:var(--c-bg);border-color:var(--c-border)}.ff-badge svg{width:11px;height:11px}.ff-badge--success{color:var(--c-success);background:var(--c-success-bg);border-color:color-mix(in srgb,var(--c-success) 20%,transparent)}.ff-badge--warning{color:var(--c-warning);background:var(--c-warning-bg);border-color:color-mix(in srgb,var(--c-warning) 20%,transparent)}.ff-badge--danger{color:var(--c-danger);background:var(--c-danger-bg);border-color:color-mix(in srgb,var(--c-danger) 20%,transparent)}.ff-badge--strong{color:var(--c-fg);background:var(--c-surface-hover);border-color:var(--c-border)}.ff-statusdot{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-muted);align-items:center;gap:7px;display:inline-flex}.ff-statusdot:before{content:"";border-radius:var(--radius-pill);background:var(--dot,var(--c-fg-subtle));flex:none;width:9px;height:9px}.ff-statusdot[data-tone=success]{--dot:var(--c-success)}.ff-statusdot[data-tone=warning]{--dot:var(--c-warning)}.ff-statusdot[data-tone=danger]{--dot:var(--c-danger)}.ff-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-card);padding:var(--space-6,24px);transition:border-color var(--t-medium,.15s) var(--ease-std),box-shadow var(--t-medium,.15s) var(--ease-std)}.ff-card--panel{background:var(--c-bg-panel);border-radius:var(--radius);border:none}.ff-divider{background:var(--c-border-strong,var(--c-fg));height:1px;margin:var(--space-6,24px) 0;border:0}.ff-card--compact{padding:var(--space-4,16px)}.ff-card--strong{border-color:var(--c-border-strong,var(--c-fg))}.ff-card--clickable{cursor:pointer}.ff-card--clickable:hover,a.ff-card:hover{border-color:var(--c-fg-subtle)}.ff-card--clickable:focus-visible,a.ff-card:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ff-card__label{justify-content:space-between;align-items:center;gap:var(--space-3,12px);margin-bottom:var(--space-3,12px);font-family:var(--font-mono);font-size:var(--fs-tiny,11px);text-transform:uppercase;letter-spacing:var(--ls-mono);color:var(--c-fg-subtle);display:flex}.ff-card__title{font-size:var(--fs-lg,18px);letter-spacing:-.005em;color:var(--c-fg);font-weight:500;line-height:24px}.ff-card__meta{gap:var(--space-2,8px);font-size:var(--fs-small,13px);color:var(--c-fg-muted);flex-wrap:wrap;display:flex}.ff-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--c-surface-hover) 25%,var(--c-border) 37%,var(--c-surface-hover) 63%);background-size:400% 100%;animation:1.4s infinite ff-shimmer;display:block}@keyframes ff-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.ff-skeleton{animation:none}}.ff-spinner{border-radius:var(--radius-pill);border:2px solid var(--c-border);border-top-color:var(--c-accent);width:18px;height:18px;animation:.7s linear infinite ff-spin;display:inline-block}@keyframes ff-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ff-spinner{animation-duration:2s}}.ff-btn--danger{color:var(--c-danger);border-color:var(--c-danger);background:0 0}.ff-btn--danger[data-hovered]{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-bg)}.ff-btn--success{color:var(--c-success);border-color:var(--c-success);background:0 0}.ff-btn--success[data-hovered]{background:var(--c-success);border-color:var(--c-success);color:var(--c-bg)}.ff-btn--warning{color:var(--c-warning);border-color:var(--c-warning);background:0 0}.ff-btn--warning[data-hovered]{background:var(--c-warning);border-color:var(--c-warning);color:var(--c-bg)}.ff-btn--quiet{color:var(--c-fg-muted);background:0 0;border-color:#0000}.ff-btn--quiet[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg);border-color:#0000}.ff-badge--muted{color:var(--c-fg-subtle);background:var(--c-bg);border-color:var(--c-border)}.ff-badge--progress{color:var(--c-progress);background:var(--c-progress-bg);border-color:color-mix(in srgb,var(--c-progress) 20%,transparent)}.ff-icon-btn{width:var(--control-h-sm,30px);height:var(--control-h-sm,30px);border-radius:var(--radius);border:1px solid var(--c-border-strong,var(--c-fg));color:var(--c-fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.ff-icon-btn svg{width:17px;height:17px}.ff-icon-btn[data-hovered]{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}.ff-icon-btn[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-icon-btn[data-disabled]{opacity:.5;cursor:not-allowed}.ff-icon-btn--danger{color:var(--c-danger);border-color:var(--c-danger)}.ff-icon-btn--danger[data-hovered]{background:var(--c-danger-bg);color:var(--c-danger);border-color:var(--c-danger)}.ff-tag{border-radius:var(--radius-sm);height:18px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);white-space:nowrap;border:1px solid var(--c-border);background:var(--c-bg-panel);color:var(--c-fg-muted);align-items:center;gap:4px;padding:2px 6px;font-weight:500;line-height:1;display:inline-flex}.ff-tag--success{color:var(--c-success);background:var(--c-success-bg);border-color:color-mix(in srgb,var(--c-success) 20%,transparent)}.ff-tag--warning{color:var(--c-warning);background:var(--c-warning-bg);border-color:color-mix(in srgb,var(--c-warning) 20%,transparent)}.ff-tag--danger{color:var(--c-danger);background:var(--c-danger-bg);border-color:color-mix(in srgb,var(--c-danger) 20%,transparent)}.ff-tag--progress{color:var(--c-progress);background:var(--c-progress-bg);border-color:color-mix(in srgb,var(--c-progress) 20%,transparent)}.ff-tag--custom{--ff-tag-c:var(--c-fg-muted);color:var(--ff-tag-c);background:color-mix(in srgb,var(--ff-tag-c) 13%,var(--c-bg-panel));border-color:color-mix(in srgb,var(--ff-tag-c) 32%,transparent)}.ff-tag--flat{--ff-tag-c:var(--c-fg-muted);color:var(--ff-tag-c);background:color-mix(in srgb,var(--ff-tag-c) 12%,transparent);border-color:var(--c-border)}.ff-modal-overlay{z-index:var(--z-modal,110);background:var(--c-backdrop,#0000008c);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ff-modal-overlay[data-entering]{animation:.16s ff-fade}.ff-modal-overlay[data-exiting]{animation:.14s reverse ff-fade}@keyframes ff-fade{0%{opacity:0}to{opacity:1}}.ff-modal{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;width:100%;max-height:calc(100vh - 48px);display:flex;overflow:hidden}.ff-modal[data-entering]{animation:.18s cubic-bezier(.2,.9,.3,1) ff-modal-in}@keyframes ff-modal-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}.ff-modal--sm{max-width:400px}.ff-modal--md{max-width:560px}.ff-modal--lg{max-width:820px}.ff-modal--xl{max-width:1100px}.ff-modal__dialog{min-height:0;color:var(--c-fg);outline:none;flex-direction:column;display:flex;overflow:auto}.ff-modal__head{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.ff-modal__title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-subtle);margin:0;font-weight:500}.ff-modal__close{width:var(--control-h-sm,30px);height:var(--control-h-sm,30px);border-radius:var(--radius-sm);color:var(--c-fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.ff-modal__close:hover{background:var(--c-surface-hover);color:var(--c-fg)}.ff-slideover-overlay{height:100dvh;z-index:var(--z-modal,110);background:var(--c-backdrop,#0000008c);grid-template-rows:minmax(0,1fr);grid-template-columns:1fr min(560px,92vw);display:grid;position:fixed;inset:0}.ff-slideover-overlay--wide{grid-template-columns:1fr min(780px,94vw)}.ff-slideover-overlay[data-entering]{animation:.16s ff-fade}.ff-slideover-overlay[data-exiting]{animation:.14s reverse ff-fade}@media (max-width:640px){.ff-slideover-overlay,.ff-slideover-overlay--wide{grid-template-columns:0 1fr}}.ff-slideover{background:var(--c-surface);border-left:1px solid var(--c-border);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;grid-column:2;min-height:0;display:flex;overflow:hidden}.ff-slideover[data-entering]{animation:.18s cubic-bezier(.2,.9,.3,1) ff-slideover-in}@keyframes ff-slideover-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.ff-slideover__dialog{min-height:0;color:var(--c-fg);outline:none;flex-direction:column;height:100%;display:flex}.ff-slideover__head{border-bottom:1px solid var(--c-border);background:var(--c-surface);flex:none;align-items:center;gap:12px;padding:16px 24px;display:flex}.ff-slideover__head-title{font-family:var(--font-mono);font-size:var(--fs-small,13px);text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-muted);flex:auto;margin:0}.ff-slideover__close{border-radius:var(--radius,6px);width:28px;height:28px;color:var(--c-fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.ff-slideover__close:hover{background:var(--c-surface-hover);color:var(--c-fg)}.ff-slideover__body{flex-direction:column;flex:auto;gap:24px;padding:24px;display:flex;overflow-y:auto}.ff-slideover__foot{border-top:1px solid var(--c-border);background:var(--c-surface);font-size:var(--fs-tiny,11px);color:var(--c-fg-subtle);flex:none;align-items:center;gap:8px;padding:12px 24px;display:flex}.ff-checkbox{font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ff-checkbox__box{border:1px solid var(--c-border-strong,var(--c-border));border-radius:var(--radius-sm);background:var(--c-surface);color:#0000;flex:none;justify-content:center;align-items:center;width:18px;height:18px;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.ff-checkbox__check{width:14px;height:14px}.ff-checkbox[data-selected] .ff-checkbox__box,.ff-checkbox[data-indeterminate] .ff-checkbox__box{background:var(--c-fg);border-color:var(--c-fg);color:var(--c-bg)}.ff-checkbox[data-focus-visible] .ff-checkbox__box{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-checkbox[data-disabled]{opacity:.5;cursor:not-allowed}.ff-checkbox__label{line-height:1.2}.ff-switch{font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;align-items:center;gap:9px;display:inline-flex}.ff-switch__track{border-radius:var(--radius-pill);background:var(--c-border-hover,var(--c-border));flex:none;align-items:center;width:34px;height:20px;padding:2px;transition:background .15s;display:inline-flex}.ff-switch__thumb{background:var(--c-surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 1px 2px #0000004d}.ff-switch[data-selected] .ff-switch__track{background:var(--c-accent,var(--c-fg))}.ff-switch[data-selected] .ff-switch__thumb{transform:translate(14px)}.ff-switch[data-focus-visible] .ff-switch__track{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-switch[data-disabled]{opacity:.5;cursor:not-allowed}.ff-tabs{flex-direction:column;min-height:0;display:flex}.ff-tablist{border-bottom:1px solid var(--c-border);gap:22px;display:flex}.ff-tab{appearance:none;cursor:pointer;color:var(--c-fg-muted);font-family:inherit;font-size:var(--fs-ui-lg,14px);background:0 0;border:0;border-bottom:2px solid #0000;outline:none;margin-bottom:-1px;padding:9px 1px;font-weight:500;transition:color .12s,border-color .12s}.ff-tab[data-hovered]{color:var(--c-fg)}.ff-tab[data-selected]{color:var(--c-fg);border-bottom-color:var(--c-fg)}.ff-tab[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px;border-radius:3px}.ff-tab[data-disabled]{opacity:.45;cursor:not-allowed}.ff-tabpanel{outline:none;padding-top:16px}.ff-tooltip{background:var(--c-fg);color:var(--c-bg);font-family:var(--font-base);font-size:var(--fs-xs,12px);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);max-width:260px;padding:4px 8px}.ff-tooltip[data-entering]{animation:.12s ff-fade}.ff-menu-popover{outline:none}.ff-menu{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);outline:none;flex-direction:column;gap:1px;min-width:180px;padding:4px;display:flex}.ff-menu-item{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;align-items:center;gap:8px;padding:7px 10px;display:flex}.ff-menu-item[data-hovered],.ff-menu-item[data-focused]{background:var(--c-surface-hover)}.ff-menu-item[data-disabled]{opacity:.45;cursor:not-allowed}.ff-field{flex-direction:column;gap:6px;display:flex}.ff-field__label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-muted)}.ff-field__desc{font-size:var(--fs-xs,12px);color:var(--c-fg-muted)}.ff-field__error{font-size:var(--fs-tiny,11px);color:var(--c-danger)}.ff-input{width:100%;min-height:var(--control-h,36px);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-fg);font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);outline:none;padding:0 11px;transition:border-color .12s}.ff-input::placeholder{color:var(--c-fg-subtle)}.ff-input[data-focused],.ff-input[data-hovered]{border-color:var(--c-border-hover,var(--c-fg))}.ff-input[data-focused]{border-color:var(--c-fg);outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:-1px}.ff-input[data-invalid]{border-color:var(--c-danger)}.ff-textarea{resize:vertical;min-height:76px;padding:8px 11px;line-height:1.45}.ff-numfield{align-items:stretch;gap:0;display:flex}.ff-numfield__input{border-top-right-radius:0;border-bottom-right-radius:0}.ff-numfield__steps{border:1px solid var(--c-border);border-radius:0 var(--radius) var(--radius) 0;border-left:0;flex-direction:column;display:flex;overflow:hidden}.ff-numfield__step{background:var(--c-surface);width:26px;color:var(--c-fg-muted);cursor:pointer;font-size:var(--fs-small,13px);border:0;flex:1;place-items:center;line-height:1;display:grid}.ff-numfield__step:first-child{border-bottom:1px solid var(--c-border)}.ff-numfield__step[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg)}.ff-radiogroup{flex-direction:column;gap:8px;display:flex}.ff-radio{font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.ff-radio__dot{border:1px solid var(--c-border-strong,var(--c-border));background:var(--c-surface);border-radius:50%;flex:none;width:18px;height:18px;transition:border-color .12s;position:relative}.ff-radio[data-selected] .ff-radio__dot{border-color:var(--c-fg)}.ff-radio[data-selected] .ff-radio__dot:after{content:"";background:var(--c-fg);border-radius:50%;position:absolute;inset:4px}.ff-radio[data-focus-visible] .ff-radio__dot{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-radio[data-disabled]{opacity:.5;cursor:not-allowed}.ff-slider{font-family:var(--font-base);flex-direction:column;gap:6px;display:flex}.ff-slider__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-slider__out{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);letter-spacing:var(--ls-mono);color:var(--c-fg-muted)}.ff-slider__track{cursor:pointer;align-items:center;width:100%;height:16px;display:flex;position:relative}.ff-slider__track:before{content:"";background:var(--c-border-hover,var(--c-border));border-radius:var(--radius-pill);width:100%;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.ff-slider__fill{background:var(--c-accent,var(--c-fg));border-radius:var(--radius-pill);pointer-events:none;height:3px;position:absolute;top:50%;transform:translateY(-50%)}.ff-slider__thumb{background:var(--c-accent,var(--c-fg));border:2px solid var(--c-bg,var(--c-surface));border-radius:50%;width:15px;height:15px;top:50%;box-shadow:0 1px 3px #0000004d}.ff-slider__thumb[data-dragging]{background:var(--c-fg)}.ff-slider__thumb[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:2px}.ff-progress{font-family:var(--font-base);flex-direction:column;gap:6px;display:flex}.ff-progress__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-progress__val{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);letter-spacing:var(--ls-mono);color:var(--c-fg-muted)}.ff-progress__track{background:var(--c-border-hover,var(--c-border));border-radius:var(--radius-pill);width:100%;height:6px;overflow:hidden}.ff-progress__fill{background:var(--c-accent,var(--c-fg));border-radius:var(--radius-pill);height:100%;transition:width .2s}.ff-popover{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);color:var(--c-fg);outline:none;max-width:min(92vw,360px);padding:12px}.ff-popover[data-entering]{animation:.13s ff-pop-in}.ff-popover[data-exiting]{animation:.1s reverse ff-pop-in}@keyframes ff-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ff-popover__dialog{outline:none;flex-direction:column;gap:10px;display:flex}.ff-toast-region{z-index:var(--z-toast,200);pointer-events:none;flex-direction:column;gap:10px;max-width:380px;padding:16px;display:flex;position:fixed}.ff-toast-region--bottom-right{align-items:flex-end;bottom:0;right:0}.ff-toast-region--bottom-left{align-items:flex-start;bottom:0;left:0}.ff-toast-region--top-right{align-items:flex-end;top:0;right:0}.ff-toast-region--top-left{align-items:flex-start;top:0;left:0}.ff-toast{pointer-events:auto;background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius-card);min-width:260px;max-width:100%;box-shadow:var(--shadow-strong);color:var(--c-fg);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.ff-toast[data-entering]{animation:.18s cubic-bezier(.2,.9,.3,1) ff-toast-in}.ff-toast[data-exiting]{animation:.16s forwards ff-toast-out}@keyframes ff-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ff-toast-out{to{opacity:0;transform:translate(8px)}}.ff-toast__content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ff-toast__title{font-size:var(--fs-ui-lg,14px);color:var(--c-fg);font-weight:500;line-height:1.3}.ff-toast__desc{font-size:var(--fs-xs,12px);color:var(--c-fg-muted);line-height:1.35}.ff-toast--success .ff-toast__title{color:var(--c-success)}.ff-toast--warning .ff-toast__title{color:var(--c-warning)}.ff-toast--danger .ff-toast__title{color:var(--c-danger)}.ff-toast__close{width:22px;height:22px;color:var(--c-fg-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-2px -4px 0 0;display:inline-flex}.ff-toast__close[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg)}.ff-banner{align-items:flex-start;gap:var(--space-2,8px);padding:var(--space-3,12px) var(--space-4,16px);border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-bg-panel);color:var(--c-fg);font-family:var(--font-base);font-size:var(--fs-small,13px);display:flex}.ff-banner__icon{color:var(--c-fg-muted);flex:none;margin-top:1px;display:inline-flex}.ff-banner__icon svg{width:17px;height:17px}.ff-banner__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ff-banner__title{color:var(--c-fg);font-weight:500}.ff-banner__text{color:var(--c-fg-muted);line-height:1.4}.ff-banner__close{width:22px;height:22px;color:var(--c-fg-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-1px -3px 0 0;display:inline-flex}.ff-banner__close:hover{background:var(--c-surface-hover);color:var(--c-fg)}.ff-banner--info{background:var(--c-bg-panel);border-color:var(--c-border)}.ff-banner--info .ff-banner__icon{color:var(--c-fg)}.ff-banner--success{background:var(--c-success-bg);border-color:color-mix(in srgb,var(--c-success) 22%,transparent)}.ff-banner--success .ff-banner__icon,.ff-banner--success .ff-banner__title{color:var(--c-success)}.ff-banner--warning{background:var(--c-warning-bg);border-color:color-mix(in srgb,var(--c-warning) 22%,transparent)}.ff-banner--warning .ff-banner__icon,.ff-banner--warning .ff-banner__title{color:var(--c-warning)}.ff-banner--danger{background:var(--c-danger-bg);border-color:color-mix(in srgb,var(--c-danger) 22%,transparent)}.ff-banner--danger .ff-banner__icon,.ff-banner--danger .ff-banner__title{color:var(--c-danger)}.ff-empty{text-align:center;color:var(--c-fg-muted);flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.ff-empty__icon{border-radius:var(--radius-card);background:var(--c-surface-hover);width:44px;height:44px;color:var(--c-fg-subtle);justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.ff-empty__icon svg{width:22px;height:22px}.ff-empty__title{color:var(--c-fg);font-size:15px;font-weight:500}.ff-empty__desc{font-size:var(--fs-small,13px);color:var(--c-fg-muted);max-width:340px;line-height:1.45}.ff-empty__action{margin-top:8px}.ff-empty--accent .ff-empty__icon{color:var(--ff-empty-ac);background:color-mix(in srgb,var(--ff-empty-ac) 12%,var(--c-surface-hover))}.ff-search__box{align-items:center;display:flex;position:relative}.ff-search__icon{color:var(--c-fg-subtle);pointer-events:none;position:absolute;left:11px}.ff-search__input{padding-left:34px;padding-right:32px}.ff-search__clear{width:22px;height:22px;color:var(--c-fg-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:6px}.ff-search__clear[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg)}.ff-search[data-empty] .ff-search__clear{display:none}.ff-combo__box{align-items:center;display:flex;position:relative}.ff-combo__input{padding-right:34px}.ff-combo__btn{width:26px;height:26px;color:var(--c-fg-subtle);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-tiny,11px);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:4px}.ff-combo__btn[data-hovered]{background:var(--c-surface-hover);color:var(--c-fg)}.ff-combo__popover{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);min-width:var(--trigger-width);outline:none;padding:4px}.ff-combo__listbox{outline:none;flex-direction:column;gap:1px;max-height:280px;display:flex;overflow:auto}.ff-combo__option{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;padding:7px 10px}.ff-combo__option[data-hovered],.ff-combo__option[data-focused]{background:var(--c-surface-hover)}.ff-combo__option[data-selected]{background:var(--c-accent-bg);font-weight:500}.ff-combo__option[data-disabled]{opacity:.4;pointer-events:none}.ff-toggle-btn{height:var(--control-h-sm,30px);font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);border:1px solid var(--c-border-strong,var(--c-fg));border-radius:var(--radius);color:var(--c-fg);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:0 12px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.ff-toggle-btn[data-hovered]{background:var(--c-surface-hover)}.ff-toggle-btn[data-selected]{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}.ff-toggle-btn[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-toggle-btn[data-disabled]{opacity:.5;cursor:not-allowed}.ff-toggle-group{gap:6px;display:inline-flex}.ff-crumbs{font-family:var(--font-base);font-size:var(--fs-small,13px);flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.ff-crumb{color:var(--c-fg-subtle);align-items:center;display:inline-flex}.ff-crumb:not(:last-child):after{content:"/";color:var(--c-fg-subtle);opacity:.6;margin:0 8px}.ff-crumb__link{color:var(--c-fg-muted);cursor:pointer;border-radius:var(--radius-sm);text-decoration:none}.ff-crumb__link[data-hovered]{color:var(--c-fg);text-decoration:underline}.ff-crumb__link[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-crumb__cur{color:var(--c-fg);font-weight:500}.ff-toolbar{background:var(--c-bg-panel);border:1px solid var(--c-border);border-radius:var(--radius);align-items:center;gap:6px;padding:5px;display:inline-flex}.ff-toolbar[data-orientation=vertical]{flex-direction:column;align-items:stretch}.ff-link{color:var(--c-fg);text-underline-offset:2px;cursor:pointer;border-radius:2px;text-decoration:underline}.ff-link[data-hovered]{color:var(--c-fg-muted)}.ff-link[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px}.ff-link[data-disabled]{opacity:.5;cursor:default}.ff-disclosure{border-bottom:1px solid var(--c-border)}.ff-disclosure__heading{margin:0}.ff-disclosure__trigger{width:100%;font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;text-align:left;background:0 0;border:0;outline:none;align-items:center;gap:8px;padding:12px 2px;font-weight:500;display:flex}.ff-disclosure__trigger[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:2px;border-radius:var(--radius-sm)}.ff-disclosure__chevron{color:var(--c-fg-subtle);flex:none;transition:transform .15s}.ff-disclosure[data-expanded] .ff-disclosure__chevron{transform:rotate(90deg)}.ff-disclosure__title{flex:1}.ff-disclosure__panel{color:var(--c-fg-muted);font-size:var(--fs-ui-lg,14px);padding:2px 2px 14px 22px;line-height:1.5}.ff-disclosure-group{flex-direction:column;display:flex}.ff-pagination{font-family:var(--font-base);align-items:center;gap:3px;display:inline-flex}.ff-pagination__nav,.ff-pagination__page{border-radius:var(--radius);min-width:30px;height:30px;color:var(--c-fg-muted);font-size:var(--fs-small,13px);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 8px;transition:background .12s,color .12s;display:inline-flex}.ff-pagination__nav:hover:not(:disabled),.ff-pagination__page:hover{background:var(--c-surface-hover);color:var(--c-fg)}.ff-pagination__nav:disabled{opacity:.4;cursor:not-allowed}.ff-pagination__page.is-current{background:var(--c-fg);color:var(--c-bg);font-weight:500}.ff-pagination__gap{text-align:center;min-width:22px;color:var(--c-fg-subtle)}.ff-avatar{border-radius:var(--radius-pill);background:var(--c-surface-hover);color:var(--c-fg-muted);font-family:var(--font-base);border:1px solid var(--c-border);-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.ff-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.ff-avatar__txt{font-size:.42em}.ff-avatar--xs{width:22px;height:22px;font-size:22px}.ff-avatar--sm{width:28px;height:28px;font-size:28px}.ff-avatar--md{width:36px;height:36px;font-size:36px}.ff-avatar--lg{width:48px;height:48px;font-size:48px}.ff-avatar--more{background:var(--c-bg-panel);color:var(--c-fg-muted)}.ff-avatar-group{align-items:center;display:inline-flex}.ff-avatar-group .ff-avatar{border:2px solid var(--c-bg,var(--c-surface));margin-left:-8px}.ff-avatar-group .ff-avatar:first-child{margin-left:0}.ff-table{border-collapse:collapse;width:100%;font-family:var(--font-base);font-size:var(--fs-ui-lg,14px);color:var(--c-fg)}.ff-table__col{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-subtle);border-bottom:1px solid var(--c-border);white-space:nowrap;outline:none;padding:8px 12px;font-weight:400}.ff-table__col[data-sort-direction]{color:var(--c-fg);cursor:pointer}.ff-table__col[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:-2px}.ff-table__row{border-bottom:1px solid var(--c-border);outline:none}.ff-table__row[data-hovered]{background:var(--c-surface-hover)}.ff-table__row[data-selected]{background:var(--c-accent-bg)}.ff-table__row[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-fg));outline-offset:-2px}.ff-table__cell{vertical-align:middle;outline:none;padding:9px 12px}.ff-cmdk__backdrop{background:var(--c-backdrop);z-index:var(--z-modal,110);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.ff-cmdk__backdrop[data-entering]{animation:.12s ff-pop-in}.ff-cmdk__backdrop[data-exiting]{animation:.1s reverse ff-pop-in}.ff-cmdk{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius-card);width:560px;max-width:100%;box-shadow:var(--shadow-strong);overflow:hidden}.ff-cmdk__dialog{outline:none;flex-direction:column;max-height:60vh;display:flex}.ff-cmdk__search{border-bottom:1px solid var(--c-border);display:block}.ff-cmdk__input{width:100%;height:52px;color:var(--c-fg);font-family:var(--font-base);background:0 0;border:none;outline:none;padding:0 16px;font-size:15px}.ff-cmdk__input::placeholder{color:var(--c-fg-subtle)}.ff-cmdk__menu{outline:none;flex-direction:column;gap:2px;padding:6px;display:flex;overflow:auto}.ff-cmdk__section{flex-direction:column;gap:1px;display:flex}.ff-cmdk__section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--ls-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-subtle);padding:8px 10px 4px}.ff-cmdk__item{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.ff-cmdk__item[data-hovered],.ff-cmdk__item[data-focused]{background:var(--c-surface-hover)}.ff-cmdk__item[data-disabled]{opacity:.45;cursor:not-allowed}.ff-cmdk__item-hint{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-subtle);border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);padding:1px 6px}.ff-listbox{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);outline:none;flex-direction:column;gap:1px;max-height:320px;padding:4px;display:flex;overflow:auto}.ff-listbox__item{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.ff-listbox__item[data-hovered],.ff-listbox__item[data-focused]{background:var(--c-surface-hover)}.ff-listbox__item[data-selected]{background:var(--c-accent-bg);font-weight:500}.ff-listbox__item[data-selected]:after{content:"✓";color:var(--c-fg);font-size:var(--fs-xs,12px)}.ff-listbox__item[data-disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.ff-gridlist{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);outline:none;flex-direction:column;display:flex;overflow:hidden}.ff-gridlist__item{font-size:var(--fs-ui-lg,14px);color:var(--c-fg);border-bottom:1px solid var(--c-border);cursor:pointer;outline:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.ff-gridlist__item:last-child{border-bottom:none}.ff-gridlist__item[data-hovered],.ff-gridlist__item[data-focused]{background:var(--c-surface-hover)}.ff-gridlist__item[data-selected]{background:var(--c-accent-bg)}.ff-gridlist__item[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:-2px}.ff-tree{border:1px solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);outline:none;flex-direction:column;gap:1px;max-height:340px;padding:4px;display:flex;overflow:auto}.ff-tree__item{outline:none}.ff-tree__item [slot=chevron]{cursor:pointer;color:var(--c-fg-subtle);transition:transform .12s;display:inline-flex}.ff-tree__item[data-expanded]>* [slot=chevron]{transform:rotate(90deg)}.ff-tree__item [role=row],.ff-tree__item .react-aria-TreeItemContent{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;align-items:center;gap:6px;padding:6px 8px;display:flex}.ff-tree__item[data-hovered]>.react-aria-TreeItemContent,.ff-tree__item[data-focused]>.react-aria-TreeItemContent{background:var(--c-surface-hover)}.ff-tree__item[data-selected]>.react-aria-TreeItemContent{background:var(--c-accent-bg)}.ff-taggroup{flex-direction:column;gap:6px;display:flex}.ff-taggroup__list{outline:none;flex-wrap:wrap;gap:6px;display:flex}.ff-taggroup__tag{border-radius:var(--radius-pill);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--fs-small,13px);color:var(--c-fg);cursor:default;outline:none;align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.ff-taggroup__tag[data-hovered]{border-color:var(--c-border-hover)}.ff-taggroup__tag[data-selected]{background:var(--c-accent);color:var(--c-on-accent);border-color:var(--c-accent)}.ff-taggroup__tag[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:1px}.ff-taggroup__tag [slot=remove]{cursor:pointer;color:var(--c-fg-subtle);font-size:var(--fs-small,13px);background:0 0;border:none;padding:0;line-height:1}.ff-meter{font-family:var(--font-base);flex-direction:column;gap:5px;display:flex}.ff-meter__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-meter__value{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);letter-spacing:var(--ls-mono);color:var(--c-fg-muted)}.ff-meter__track{border-radius:var(--radius-pill);background:var(--c-border-hover);height:8px;overflow:hidden}.ff-meter__fill{border-radius:var(--radius-pill);background:var(--c-accent);height:100%;transition:width .2s}.ff-meter[data-tone=success] .ff-meter__fill{background:var(--c-success,#3aa66b)}.ff-meter[data-tone=warning] .ff-meter__fill{background:var(--c-warning,#d9a300)}.ff-meter[data-tone=danger] .ff-meter__fill{background:var(--c-danger)}.ff-dropzone{text-align:center;border:1.5px dashed var(--c-border-hover);border-radius:var(--radius-card);background:var(--c-surface);min-height:120px;color:var(--c-fg-muted);font-size:var(--fs-ui-lg,14px);outline:none;justify-content:center;align-items:center;gap:8px;padding:20px;transition:border-color .12s,background .12s;display:flex}.ff-dropzone[data-hovered]{border-color:var(--c-fg-subtle)}.ff-dropzone[data-drop-target]{border-color:var(--c-accent);background:var(--c-accent-bg);color:var(--c-fg)}.ff-dropzone[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:2px}.ff-checkbox-group{flex-direction:column;gap:8px;display:flex}.ff-color-area{border-radius:var(--radius);border:1px solid var(--c-border);forced-color-adjust:none;flex:none;width:192px;height:160px}.ff-color-thumb{box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #00000073,0 1px 2px #00000059}.ff-color-thumb[data-focus-visible]{width:20px;height:20px}.ff-color-slider{flex-direction:column;gap:5px;max-width:240px;display:flex}.ff-color-slider__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-color-slider__output{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);color:var(--c-fg-muted);letter-spacing:var(--ls-mono)}.ff-color-slider__track{border-radius:var(--radius);border:1px solid var(--c-border);forced-color-adjust:none;height:22px}.ff-color-wheel,.ff-color-wheel__track{forced-color-adjust:none}.ff-color-field{max-width:150px}.ff-color-swatch{border-radius:var(--radius-sm);border:1px solid var(--c-border);forced-color-adjust:none;width:26px;height:26px}.ff-color-swatches{outline:none;flex-wrap:wrap;gap:6px;display:flex}.ff-color-swatches [slot],.react-aria-ColorSwatchPickerItem{border-radius:var(--radius-sm);cursor:pointer;outline:none;position:relative}.react-aria-ColorSwatchPickerItem[data-selected]{outline:2px solid var(--c-fg);outline-offset:2px}.react-aria-ColorSwatchPickerItem[data-focus-visible]{outline:2px solid var(--ff-focus-ring,var(--c-accent-2));outline-offset:2px}.ff-mention__input{resize:vertical;min-height:76px;line-height:1.45}.ff-mention__popover{background:var(--c-surface-elevated,var(--c-surface));border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-strong);min-width:200px;max-width:280px;padding:4px}.ff-mention__popover[data-entering]{animation:.12s ff-pop-in}.ff-mention__menu{outline:none;flex-direction:column;gap:1px;max-height:240px;display:flex;overflow:auto}.ff-mention__item{border-radius:var(--radius-sm);font-size:var(--fs-ui-lg,14px);color:var(--c-fg);cursor:pointer;outline:none;padding:7px 10px}.ff-mention__item[data-hovered],.ff-mention__item[data-focused]{background:var(--c-surface-hover)}.ff-mention__item[data-disabled]{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.ff-modal[data-entering],.ff-modal-overlay[data-entering],.ff-modal-overlay[data-exiting],.ff-slideover[data-entering],.ff-slideover-overlay[data-entering],.ff-slideover-overlay[data-exiting],.ff-popover[data-entering],.ff-popover[data-exiting],.ff-toast[data-entering],.ff-toast[data-exiting],.ff-tooltip[data-entering]{animation:none!important}}.ff-card{box-shadow:var(--shadow-soft)}.ff-table__col{color:var(--c-fg-muted)}.ff-table .num,.ff-table__cell--num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right}.ff-table__col--num{text-align:right}html[data-density=compact] .ff-table__col{padding:6px 12px}html[data-density=compact] .ff-table__cell{padding:5px 12px}.ff-table--sticky .ff-table__col{background:var(--c-bg-panel);z-index:1;position:sticky;top:0}.ff-table--zebra .ff-table__row:nth-child(2n) .ff-table__cell{background:color-mix(in srgb,var(--c-surface-hover) 32%,var(--c-bg))}.sidebar,.app-sidebar{background:var(--c-bg-sidebar);height:100dvh;padding:var(--space-4);gap:var(--space-4);border-right:1px solid #0000;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:hidden}.sidebar__brand{align-items:center;gap:var(--space-2);padding:0;display:flex}.sidebar__brand .topbar__logo{height:22px}.sidebar__brand .topbar__title{font-family:var(--font-mono);text-transform:uppercase;color:var(--c-fg-muted);letter-spacing:.08em;font-size:11px}.sidebar__nav,.app-sidebar__nav{scrollbar-width:thin;scrollbar-color:var(--c-border-hover) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;display:flex;overflow-y:auto}.sidebar__group-label,.app-sidebar__section{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-fg-subtle);padding:var(--space-3) var(--space-2) var(--space-2);font-size:10px;font-weight:500}.sidebar__link,.app-sidebar__item{align-items:center;gap:var(--space-3);padding:4px var(--space-3) 4px var(--space-2);border-radius:var(--radius);color:var(--c-fg-muted);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);text-align:left;width:100%;min-width:0;font-size:14px;text-decoration:none;display:flex;position:relative}.sidebar__link:hover,.app-sidebar__item:hover{background:var(--c-surface-hover);color:var(--c-fg);--_sidebar-fade:var(--c-surface-hover);text-decoration:none}.sidebar__link--active,.app-sidebar__item.is-active{background:var(--c-accent-bg);color:var(--c-fg);--_sidebar-fade:var(--c-accent-bg);font-weight:500}.sidebar__link--active .sidebar__link-icon{color:var(--c-fg)}.sidebar__link-icon{width:16px;height:16px;color:var(--c-fg-subtle);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar__link-label{flex:auto;min-width:0}.sidebar--truncate .sidebar__link{padding-right:0;overflow:hidden}.sidebar--truncate .sidebar__link-label{white-space:nowrap;overflow:hidden}.sidebar--truncate .sidebar__link:after{content:"";background:linear-gradient(to right, transparent, var(--_sidebar-fade,var(--c-bg-sidebar)));pointer-events:none;z-index:1;width:24px;position:absolute;top:0;bottom:0;right:0}.sidebar--truncate .sidebar__link-actions{z-index:2;position:absolute;top:0;bottom:0;right:0}.sidebar__link-actions{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.sidebar__link-icon svg{width:16px;height:16px}.sidebar__link-badge{background:var(--c-fg);min-width:18px;height:18px;color:var(--c-bg);font-size:10px;font-weight:500;font-family:var(--font-base);letter-spacing:0;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.sidebar__logo,.app-sidebar__logo{color:var(--c-fg);flex-shrink:0;align-items:center;padding:0;display:flex;overflow:visible}.sidebar__account,.app-sidebar__account{position:relative}.sidebar__account-trigger,.app-sidebar__account-trigger{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);cursor:pointer;text-align:left;transition:background var(--t-fast) var(--ease-std);background:0 0;border:none;display:flex}.sidebar__account-trigger:hover{background:var(--c-surface-hover)}.sidebar__account-avatar,.app-sidebar__account-avatar{background:var(--c-accent);width:28px;height:28px;color:var(--c-on-accent);font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar__account-id{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.sidebar__account-name,.app-sidebar__account-name{font-size:var(--fs-small);color:var(--c-fg);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.sidebar__account-sub,.app-sidebar__account-sub{font-size:var(--fs-tiny);color:var(--c-fg-subtle)}.sidebar__account-chevron,.app-sidebar__account-chevron{color:var(--c-fg-subtle);transition:transform .16s var(--ease-std,ease);flex-shrink:0}.sidebar__account[data-open=true] .sidebar__account-chevron,.app-sidebar__account[data-open=true] .app-sidebar__account-chevron{transform:rotate(90deg)}.sidebar__account-menu,.app-sidebar__account-menu{bottom:calc(100% + var(--space-2));background:var(--c-surface-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);padding:var(--space-2);z-index:var(--z-dropdown);border:none;max-height:70vh;position:absolute;left:0;right:0;overflow-y:auto}.sidebar__account-email{font-size:var(--fs-tiny);color:var(--c-fg-subtle);padding:var(--space-1) var(--space-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:1024px){.sidebar,.app-sidebar{z-index:1;background:var(--c-bg-sidebar);opacity:.5;border:0;width:min(86vw,320px);height:100dvh;transition:transform .28s cubic-bezier(.32,.72,0,1),opacity .28s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-9%)}.sidebar.sidebar--open{opacity:1;transform:none}.sidebar-backdrop{z-index:calc(var(--z-sidebar,85) - 1);background:0 0;display:none;position:fixed;inset:0 0 0 min(86vw,320px)}.sidebar-backdrop.sidebar-backdrop--visible{display:block}}.sidebar__account-head{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--c-fg-subtle);padding:var(--space-1) var(--space-2)}.sidebar__account-sep{background:var(--c-border);height:1px;margin:var(--space-1) 0}.sidebar__account-item,.app-sidebar__account-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);cursor:pointer;text-align:left;font-size:var(--fs-small);color:var(--c-fg-muted);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);background:0 0;border:none;display:flex}.sidebar__account-item:hover{background:var(--c-surface-hover);color:var(--c-fg)}.sidebar__account-item[data-active=true]{color:var(--c-fg)}.sidebar__account-val{font-size:var(--fs-tiny);color:var(--c-fg-subtle);margin-left:auto}.sidebar__account-check{color:var(--c-fg);margin-left:auto}.sidebar__foot{gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--c-border);flex-direction:column;flex-shrink:0;display:flex}.sidebar__foot-btn{align-items:center;gap:var(--space-3);padding:var(--space-xs) var(--space-3);border-radius:var(--radius);color:var(--c-fg-muted);cursor:pointer;text-align:left;width:100%;transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);background:0 0;border:none;font-family:inherit;font-size:14px;display:flex}.sidebar__foot-btn:hover{background:var(--c-surface-hover);color:var(--c-fg)}.sidebar__foot-hint{padding:var(--space-2) var(--space-3) 0;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-subtle);font-size:10px}.space-sidebar{height:100vh;padding:var(--space-4);align-self:start;gap:var(--space-4);background:var(--c-bg-sidebar);border-right:1px solid #0000;flex-direction:column;display:flex;position:sticky;top:0}.space-sidebar__top{padding:0 var(--space-2);justify-content:space-between;align-items:center;display:flex}.space-sidebar__logo{color:var(--c-fg);align-items:center;text-decoration:none;display:flex}.space-sidebar__nav{flex-direction:column;flex:1;gap:1px;display:flex}.space-sidebar__item{align-items:center;gap:var(--space-3);padding:var(--space-xs) var(--space-3);border-radius:var(--radius);color:var(--c-fg-muted);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);font-size:14px;font-weight:400;text-decoration:none;display:flex}.space-sidebar__item:hover{background:var(--c-surface-hover);color:var(--c-fg)}.space-sidebar__item[data-active=true]{background:var(--c-accent-bg);color:var(--c-fg);font-weight:500}.space-sidebar__item svg{color:var(--c-fg-subtle);flex-shrink:0}.space-sidebar__item:hover svg,.space-sidebar__item[data-active=true] svg{color:var(--c-fg)}.space-sidebar__footer{padding-top:var(--space-3);border-top:1px solid var(--c-border)}.space-sidebar__user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);transition:background var(--t-fast) var(--ease-std);background:0 0;display:flex}.space-sidebar__user:hover{background:var(--c-surface-hover)}.space-sidebar__user-actions{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.space-sidebar__icon-btn{cursor:pointer;color:var(--c-fg-subtle);padding:var(--space-1);border-radius:var(--radius);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.space-sidebar__icon-btn:hover{background:var(--c-surface-hover);color:var(--c-fg)}.space-sidebar__avatar{background:var(--space-accent);width:32px;height:32px;color:var(--c-on-accent);font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.space-sidebar__user-info{flex-direction:column;flex:1;min-width:0;display:flex}.space-sidebar__user-name{font-size:var(--fs-small);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.space-sidebar__impersonation{font-size:var(--fs-tiny);color:var(--c-warning);text-transform:uppercase;letter-spacing:var(--ls-mono);font-family:var(--font-mono)}.space-sidebar__logout{cursor:pointer;color:var(--c-fg-subtle);padding:var(--space-1);border-radius:var(--radius);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.space-sidebar__logout:hover{background:var(--c-surface-hover);color:var(--c-danger)}.space-sidebar__login{padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--space-accent);color:var(--c-on-accent);font-weight:600;font-size:var(--fs-small);justify-content:center;align-items:center;text-decoration:none;display:flex}.ai-sidebar{width:var(--sidebar-w);background:var(--c-bg-sidebar);padding:var(--space-4)}.ai-sidebar__section{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--c-fg-subtle);padding:var(--space-3) var(--space-2) var(--space-2);font-size:10px;font-weight:500}.ai-sidebar__item{align-items:center;gap:var(--space-3);width:100%;padding:4px var(--space-3) 4px var(--space-2);border-radius:var(--radius);color:var(--c-fg-muted);cursor:pointer;text-align:left;background:0 0;border:none;font-family:inherit;font-size:14px;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.ai-sidebar__item:hover{background:var(--c-surface-hover);color:var(--c-fg);text-decoration:none}.ai-sidebar__item.is-active{background:var(--c-accent-bg);color:var(--c-fg);font-weight:500}.ai-sidebar__item-icon{width:16px;height:16px;color:var(--c-fg-subtle);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ai-sidebar__item.is-active .ai-sidebar__item-icon{color:var(--c-fg)}.ai-sidebar__item-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ai-sidebar__foot{gap:var(--space-1);padding-top:var(--space-3);margin-top:var(--space-2);border-top:1px solid var(--c-border);flex-direction:column;flex-shrink:0;display:flex}.ai-sidebar__account{position:relative}.ai-sidebar__account-trigger{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:none;transition:background .12s;display:flex}.ai-sidebar__account-trigger:hover{background:var(--c-surface-hover)}.ai-sidebar__account-avatar{background:var(--c-accent);width:28px;height:28px;color:var(--c-bg);font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-sidebar__account-id{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.ai-sidebar__account-name{font-size:var(--fs-small);color:var(--c-fg);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.ai-sidebar__account-sub{font-size:var(--fs-tiny);color:var(--c-fg-subtle)}.ai-sidebar__account-chevron{color:var(--c-fg-subtle);flex-shrink:0}.ai-sidebar__account-menu{bottom:calc(100% + var(--space-2));background:var(--c-surface-elevated);border-radius:var(--radius-card);box-shadow:var(--shadow-strong);padding:var(--space-2);z-index:var(--z-dropdown);border:none;position:absolute;left:0;right:0}.ai-sidebar__account-email{font-size:var(--fs-tiny);color:var(--c-fg-subtle);padding:var(--space-1) var(--space-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-sidebar__account-sep{background:var(--c-border);height:1px;margin:var(--space-1) 0}.ai-sidebar__account-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius);cursor:pointer;text-align:left;font-size:var(--fs-small);color:var(--c-fg-muted);background:0 0;border:none;transition:background .12s,color .12s;display:flex}.ai-sidebar__account-item:hover{background:var(--c-surface-hover);color:var(--c-fg)}h1.page-title{font-size:var(--fs-h1,2rem);letter-spacing:-.02em;color:var(--c-fg);font-weight:700;line-height:1.15}.page-back{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-subtle);margin-bottom:var(--space-2);font-size:11px;display:inline-block}.page-back:hover{color:var(--c-fg);text-decoration:none}.page-breadcrumb{font-family:var(--font-mono);letter-spacing:.06em;margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;font-size:11px;display:inline-flex}.page-breadcrumb a{color:var(--c-fg-subtle);text-transform:uppercase;text-decoration:none}.page-breadcrumb a:hover{color:var(--c-fg)}.page-breadcrumb__sep{color:var(--c-fg-subtle);margin:0 var(--space-2)}.page-breadcrumb__current{color:var(--c-fg);text-transform:uppercase}.page-breadcrumb__current--ref{text-transform:none;letter-spacing:.02em}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.page-header__main{flex-direction:column;min-width:0;display:flex}.page-header__meta{margin-top:var(--space-2);align-items:center;gap:var(--space-2);color:var(--c-fg-muted);flex-wrap:wrap;font-size:14px;display:flex}.page-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-header__actions .search-field .input{height:32px;padding-top:0;padding-bottom:0;font-size:13px}.page-subtitle{margin-top:var(--space-1);color:var(--c-fg-muted);font-size:14px}@media (max-width:768px){.page-header{align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column}}@media (max-width:480px){.page-breadcrumb{font-size:10px}h1.page-title{font-size:24px;line-height:28px}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell__body{min-height:calc(100vh - var(--chrome-h,0px));flex:1}.app-shell .sidebar{top:var(--chrome-h,0px);height:calc(100dvh - var(--chrome-h,0px))}.app-frame{grid-template-columns:var(--sidebar-w,272px) minmax(0, 1fr);min-height:calc(100vh - var(--chrome-h,0px));display:grid}.app-canvas{display:contents}.sidebar-toggle{cursor:pointer;color:var(--c-fg);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:none}.sidebar-toggle .burger{flex-shrink:0;width:18px;height:14px;position:relative}.sidebar-toggle .burger__line{height:2px;transition:transform var(--t-medium,.2s) cubic-bezier(.32, .72, 0, 1), opacity var(--t-fast,.12s) var(--ease-std,ease);background:currentColor;border-radius:2px;position:absolute;left:0;right:0}.sidebar-toggle .burger__line:first-child{top:0}.sidebar-toggle .burger__line:nth-child(2){top:6px}.sidebar-toggle .burger__line:nth-child(3){top:12px}.sidebar-toggle--open .burger__line:first-child{transform:translateY(6px)rotate(45deg)}.sidebar-toggle--open .burger__line:nth-child(2){opacity:0}.sidebar-toggle--open .burger__line:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.app-topbar{display:none}.sidebar-backdrop{background:var(--c-backdrop,#0006);z-index:var(--z-sidebar-backdrop,40);display:none;position:fixed;inset:0}@media (max-width:1024px){.app-frame{--drawer-w:min(86vw, 320px);grid-template-columns:minmax(0,1fr);position:relative;overflow-x:clip}html[data-drawer=open]{overflow:hidden}.app-frame .sidebar{width:var(--drawer-w,min(86vw, 320px));z-index:100;background:var(--c-bg-sidebar,var(--c-bg));opacity:1;border:0;height:100dvh;transition:transform .32s ease-in-out;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}html[data-drawer=open] .app-frame .sidebar{transform:translate(0)}.app-frame .app-canvas{min-height:calc(100vh - var(--chrome-h,0px));background:var(--c-bg);flex-direction:column;display:flex;will-change:auto!important;box-shadow:none!important;border-radius:0!important;transform:none!important}html[data-drawer=open] .app-frame .app-canvas{box-shadow:none!important;border-radius:0!important;overflow:visible!important;transform:none!important}.app-topbar{z-index:var(--z-sticky-actions,90);height:52px;padding:0 var(--space-3) 0 var(--space-4);background:var(--c-bg-sidebar,var(--c-bg));border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.app-topbar__lead{align-items:center;gap:var(--space-3);flex:auto;min-width:0;display:inline-flex}.app-topbar__brand{color:var(--c-fg);flex-shrink:0;align-items:center;display:inline-flex}.sidebar-toggle{display:inline-flex}.app-topbar__toggle.sidebar-toggle{border-radius:var(--radius,8px);background:var(--c-surface);width:40px;height:40px;box-shadow:none;position:static;transform:none}.app-frame .app-main{padding-top:calc(52px + var(--space-4))}.app-frame .sidebar .sidebar__logo,.app-frame .sidebar .app-sidebar__logo{display:none}.sidebar-backdrop{background:var(--c-backdrop,#00000080);z-index:95;opacity:0;pointer-events:none;transition:opacity .32s ease-in-out;display:block;position:fixed;inset:0}html[data-drawer=open] .sidebar-backdrop{opacity:1;pointer-events:auto}}@media (max-width:1024px) and (prefers-reduced-motion:reduce){.app-frame .sidebar,.sidebar-backdrop,.sidebar-toggle .burger__line{transition:none}}.ff-gauge{font-family:var(--font-base);flex-direction:column;gap:5px;display:flex}.ff-gauge__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ff-gauge__label{font-size:var(--fs-small,13px);color:var(--c-fg-muted);font-weight:500}.ff-gauge__value{font-family:var(--font-mono);font-size:var(--fs-tiny,11px);letter-spacing:var(--ls-mono);color:var(--c-fg-muted)}.ff-gauge__track{border-radius:var(--radius-pill);background:var(--c-border-hover);height:8px;overflow:hidden}.ff-gauge__fill{border-radius:var(--radius-pill);background:var(--c-accent);height:100%;transition:width .2s}.ff-gauge__fill[data-tone=success]{background:var(--c-success,#1a8b3c)}.ff-gauge__fill[data-tone=warning]{background:var(--c-warning,#a06b00)}.ff-gauge__fill[data-tone=danger]{background:var(--c-danger,#b22424)}.ff-gauge__fill[data-tone=neutral]{background:var(--c-fg-subtle)}.ff-uptime{font-family:var(--font-base);flex-direction:column;gap:6px;display:flex}.ff-uptime__bar{border-radius:var(--radius-sm,4px);gap:2px;display:flex;overflow:hidden}.ff-uptime__seg{background:var(--c-border-hover);border-radius:1px;flex:1;min-width:0;transition:opacity .15s}.ff-uptime__seg[data-tone=ok]{background:var(--c-success,#1a8b3c)}.ff-uptime__seg[data-tone=warn]{background:var(--c-warning,#a06b00)}.ff-uptime__seg[data-tone=danger]{background:var(--c-danger,#b22424)}.ff-uptime__seg[data-tone=neutral]{background:var(--c-border-hover)}.ff-uptime__seg:hover{opacity:.7}.ff-uptime__legend{font-size:var(--fs-tiny,11px);color:var(--c-fg-muted);font-family:var(--font-mono);letter-spacing:var(--ls-mono);justify-content:space-between;display:flex}.ff-status-banner{align-items:center;gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-5,20px);border-radius:var(--radius);background:var(--c-surface);border:1px solid var(--c-border);font-family:var(--font-base);display:flex}.ff-status-banner__dot{border-radius:var(--radius-pill);background:var(--c-success,#1a8b3c);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb,var(--c-success,#1a8b3c) 20%,transparent);flex:none}.ff-status-banner__label{font-size:var(--fs-body,16px);color:var(--c-fg);flex:1;font-weight:500}.ff-status-banner__meta{font-size:var(--fs-small,13px);color:var(--c-fg-muted);font-family:var(--font-mono);letter-spacing:var(--ls-mono);white-space:nowrap}.ff-status-banner[data-tone=ok] .ff-status-banner__dot{background:var(--c-success,#1a8b3c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-success,#1a8b3c) 20%,transparent)}.ff-status-banner[data-tone=warn] .ff-status-banner__dot{background:var(--c-warning,#a06b00);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-warning,#a06b00) 20%,transparent)}.ff-status-banner[data-tone=danger] .ff-status-banner__dot{background:var(--c-danger,#b22424);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-danger,#b22424) 20%,transparent)}
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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-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:var(--font-base);--font-mono:var(--font-mono);--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius-card:var(--radius-card)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.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}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.uppercase{text-transform:uppercase}.italic{font-style:italic}.\!underline{text-decoration-line:underline!important}.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)}.blur{--tw-blur:blur(8px);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,)}}:root{--toolbar-height:48px;--tab-width:56px;--editor-sidebar-width:300px;--bg-canvas:#222225}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-base);background:var(--c-bg);color:var(--c-fg);font-size:var(--fs-ui,13px);-webkit-font-smoothing:antialiased;line-height:1.4;overflow:hidden}.app-root{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.toolbar{height:var(--toolbar-height);padding:0 var(--space-4);background:var(--c-bg-panel);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:var(--space-3);min-width:0;display:flex}.toolbar-center{flex:1;justify-content:center;display:flex}.toolbar-brand{align-items:baseline;gap:var(--space-2);white-space:nowrap;display:flex}.brand-name{letter-spacing:.08em;text-transform:uppercase;font-size:15px;font-weight:800}.brand-sep{color:var(--c-fg-subtle);font-weight:300}.brand-sub{font-weight:400;font-size:var(--fs-xs);color:var(--c-fg-muted);letter-spacing:.02em}.doc-name-input{border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);color:var(--c-fg);font-size:var(--fs-ui);font-family:var(--font-base);text-align:center;min-width:160px;max-width:300px;transition:border-color var(--t-fast) var(--ease-std), background var(--t-fast) var(--ease-std);background:0 0;border:1px solid #0000}.doc-name-input:hover{border-color:var(--c-border)}.doc-name-input:focus{border-color:var(--c-accent);background:var(--c-surface);outline:none}.toolbar-actions{gap:2px;display:flex}.toolbar-zoom{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--c-surface);align-items:center;display:flex}.zoom-label{font-size:var(--fs-tiny);color:var(--c-fg-muted);font-variant-numeric:tabular-nums;text-align:center;min-width:40px}.toolbar-credit{align-items:center;gap:var(--space-1);white-space:nowrap;display:flex}.toolbar-credit-par{font-size:var(--fs-badge);color:var(--c-fg-subtle)}.toolbar-credit-logo{opacity:.7;width:auto;height:13.6px;transition:opacity var(--t-fast) var(--ease-std);display:block}.toolbar-credit:hover .toolbar-credit-logo{opacity:1}.sidebar{width:calc(var(--tab-width) + var(--editor-sidebar-width));background:var(--c-bg-panel);border-right:1px solid var(--c-border);flex-shrink:0;height:100%;display:flex}.sidebar-tabs{width:var(--tab-width);padding:var(--space-1) 0;border-right:1px solid var(--c-border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-tab{padding:10px var(--space-1);color:var(--c-fg-subtle);cursor:pointer;transition:color var(--t-fast) var(--ease-std), background var(--t-fast) var(--ease-std);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.sidebar-tab:hover{color:var(--c-fg-muted);background:var(--c-surface-hover)}.sidebar-tab.active{color:var(--c-fg)}.sidebar-tab.active:after{content:"";background:var(--c-accent);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;right:-1px}.tab-label{letter-spacing:.02em;font-size:9px;font-weight:500}.sidebar-content{padding:var(--space-4);flex:1;overflow:hidden auto}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:2px}.panel-section{margin-bottom:var(--space-6)}.panel-title{font-size:var(--fs-tiny);text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-muted);margin-bottom:var(--space-3);font-weight:600}.panel-subtitle{font-size:var(--fs-tiny);color:var(--c-fg-subtle);margin:14px 0 var(--space-2);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.panel-hint{font-size:var(--fs-tiny);color:var(--c-fg-subtle);margin-top:var(--space-2);text-align:center}.panel-empty{font-size:var(--fs-xs);color:var(--c-fg-subtle);text-align:center;padding:var(--space-6) 0}.current-format{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.format-badge{font-size:var(--fs-xs);color:var(--c-accent);background:var(--c-accent-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;font-weight:600}.btn-icon{background:var(--c-surface);width:28px;height:28px;color:var(--c-fg-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);border:none;justify-content:center;align-items:center;display:flex}.btn-icon:hover{background:var(--c-surface-hover);color:var(--c-fg)}.format-categories{flex-direction:column;gap:1px;display:flex}.category-header{width:100%;padding:var(--space-2) var(--space-3);background:var(--c-surface);color:var(--c-fg-muted);font-size:var(--fs-xs);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);border:none;justify-content:space-between;align-items:center;margin-bottom:1px;font-weight:500;display:flex}.category-header:hover{background:var(--c-surface-hover);color:var(--c-fg)}.category-header.active{color:var(--c-fg)}.chevron{transition:transform .2s}.chevron.open{transform:rotate(180deg)}.format-grid{gap:var(--space-xs);padding:var(--space-2) 0;grid-template-columns:1fr 1fr;display:grid}.format-card{align-items:center;gap:var(--space-xs);padding:var(--space-3) var(--space-xs);border:1px solid var(--c-border);background:var(--c-surface);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--t-fast) var(--ease-std), background var(--t-fast) var(--ease-std);flex-direction:column;display:flex}.format-card:hover{border-color:var(--c-border-hover);background:var(--c-surface-hover)}.format-card.active{border-color:var(--c-accent);background:var(--c-accent-bg)}.format-card-preview{background:var(--bg-canvas);border:1px solid var(--c-border);border-radius:2px;width:100%;max-height:50px}.format-card-info{flex-direction:column;align-items:center;gap:2px;display:flex}.format-card-label{font-size:var(--fs-tiny);color:var(--c-fg);font-weight:500}.format-card-size{color:var(--c-fg-subtle);font-variant-numeric:tabular-nums;font-size:9px}.format-custom{margin-top:var(--space-4)}.custom-inputs{align-items:center;gap:var(--space-2);display:flex}.input-group{align-items:center;gap:var(--space-xs);flex:1;display:flex}.input-group label{font-size:var(--fs-tiny);color:var(--c-fg-subtle);flex-shrink:0;font-weight:500}.input-group input[type=number]{width:100%;padding:5px var(--space-2);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-family:var(--font-base);font-variant-numeric:tabular-nums}.input-group input[type=number]:focus{border-color:var(--c-accent);outline:none}.input-separator{color:var(--c-fg-subtle);font-size:var(--fs-xs);flex-shrink:0}.input-unit{font-size:var(--fs-tiny);color:var(--c-fg-subtle);flex-shrink:0}.color-grid{gap:var(--space-1);flex-wrap:wrap;display:flex}.color-swatch{border-radius:var(--radius-sm);cursor:pointer;width:24px;height:24px;transition:border-color var(--t-fast), transform .1s;outline:1px solid var(--c-border);border:2px solid #0000}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--c-accent);outline-color:var(--c-accent)}.color-custom{align-items:center;display:flex}.color-input{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;width:24px;height:24px;padding:0}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:1px solid var(--c-border);border-radius:var(--radius-sm)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--c-border-strong);background:var(--c-accent);color:var(--c-on-accent);font-size:var(--fs-ui);font-weight:500;font-family:var(--font-base);border-radius:var(--radius);cursor:pointer;transition:background var(--t-fast) var(--ease-std);display:flex}.btn-primary:hover{background:var(--c-bg);color:var(--c-fg)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-3);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg-muted);font-size:var(--fs-xs);font-weight:500;font-family:var(--font-base);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std), border-color var(--t-fast) var(--ease-std);display:flex}.btn-secondary:hover{background:var(--c-surface-hover);color:var(--c-fg);border-color:var(--c-border-hover)}.btn-danger{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-3);border:1px solid var(--c-danger);display:flex}@supports (color:color-mix(in lab, red, red)){.btn-danger{border:1px solid color-mix(in srgb, var(--c-danger) 20%, transparent)}}.btn-danger{background:var(--c-danger-bg);color:var(--c-danger);font-size:var(--fs-xs);font-weight:500;font-family:var(--font-base);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std)}.btn-danger:hover{background:var(--c-danger)}@supports (color:color-mix(in lab, red, red)){.btn-danger:hover{background:color-mix(in srgb, var(--c-danger) 15%, transparent)}}.full-width{width:100%}.btn-row{gap:var(--space-xs);margin-top:var(--space-2);display:flex}.btn-row>*{flex:1}.text-presets{gap:var(--space-xs);flex-direction:column;display:flex}.text-preset-btn{width:100%;padding:var(--space-3) 14px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--t-fast) var(--ease-std), background var(--t-fast) var(--ease-std);justify-content:space-between;align-items:center;display:flex}.text-preset-btn:hover{border-color:var(--c-border-hover);background:var(--c-surface-hover)}.text-preset-btn.title .preset-label{text-transform:uppercase;font-family:Wallis Handcrafted,sans-serif;font-size:18px;font-weight:400}.text-preset-btn.subtitle .preset-label{font-family:Neutra Text,sans-serif;font-size:14px;font-weight:500}.text-preset-btn.body .preset-label{font-family:Neutra Text,sans-serif;font-size:12px;font-weight:400}.preset-sample{color:var(--c-fg-subtle);font-size:20px;font-weight:300}.text-properties{margin-top:var(--space-2)}.prop-group{margin-bottom:var(--space-3)}.prop-group>label{font-size:var(--fs-tiny);color:var(--c-fg-subtle);margin-bottom:var(--space-1);font-weight:500;display:block}.prop-row{gap:var(--space-2);display:flex}.prop-group.compact{flex:1}.font-select,.prop-group select,.prop-group input[type=number]{width:100%;padding:var(--space-xs) var(--space-2);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-family:var(--font-base)}.font-select:focus,.prop-group select:focus,.prop-group input:focus{border-color:var(--c-accent);outline:none}.font-select option{background:var(--c-bg-panel);color:var(--c-fg)}.style-buttons{gap:var(--space-1);margin:var(--space-2) 0;display:flex}.style-btn{border:1px solid var(--c-border);background:var(--c-surface);width:32px;height:32px;color:var(--c-fg-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-family:var(--font-base);transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std), border-color var(--t-fast) var(--ease-std);justify-content:center;align-items:center;display:flex}.style-btn:hover{background:var(--c-surface-hover);color:var(--c-fg)}.style-btn.active{background:var(--c-accent-bg);border-color:var(--c-accent);color:var(--c-accent)}.color-picker-row{align-items:center;gap:var(--space-2);display:flex}.color-text{padding:5px var(--space-2);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-family:var(--font-base);flex:1}.color-text:focus{border-color:var(--c-accent);outline:none}.align-buttons{gap:var(--space-1);display:flex}.align-btn{border:1px solid var(--c-border);background:var(--c-surface);width:32px;height:32px;color:var(--c-fg-muted);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std), border-color var(--t-fast) var(--ease-std);justify-content:center;align-items:center;display:flex}.align-btn:hover{background:var(--c-surface-hover);color:var(--c-fg)}.align-btn.active{background:var(--c-accent-bg);border-color:var(--c-accent);color:var(--c-accent)}.slider-group{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;display:flex}.slider-group label{font-size:var(--fs-tiny);color:var(--c-fg-subtle);flex-shrink:0;min-width:65px;font-weight:500}.slider-group input[type=range]{appearance:none;background:var(--c-surface-hover);border-radius:2px;outline:none;flex:1;height:4px}.slider-group input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--c-accent);cursor:pointer;border:2px solid var(--c-bg-panel);border-radius:50%;width:14px;height:14px}.slider-value{font-size:var(--fs-tiny);color:var(--c-fg-muted);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:36px}.toggle-row{background:var(--c-surface);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.toggle-btn{padding:var(--space-xs) var(--space-2);color:var(--c-fg-subtle);font-size:var(--fs-xs);font-weight:500;font-family:var(--font-base);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std), color var(--t-fast) var(--ease-std);background:0 0;border:none;flex:1}.toggle-btn:hover{color:var(--c-fg-muted)}.toggle-btn.active{background:var(--c-accent);color:var(--c-on-accent)}.layers-list{flex-direction:column;gap:2px;display:flex}.layer-item{align-items:center;gap:var(--space-2);padding:var(--space-xs) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-fast) var(--ease-std);display:flex}.layer-item:hover{background:var(--c-surface-hover)}.layer-item.selected{background:var(--c-accent-bg)}.layer-item.hidden-layer{opacity:.4}.layer-icon{color:var(--c-fg-subtle);flex-shrink:0;align-items:center;display:flex}.layer-name{font-size:var(--fs-xs);color:var(--c-fg);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.layer-actions{opacity:0;transition:opacity var(--t-fast) var(--ease-std);gap:2px;display:flex}.layer-item:hover .layer-actions,.layer-item.selected .layer-actions{opacity:1}.layer-action-btn{width:22px;height:22px;color:var(--c-fg-subtle);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--t-fast) var(--ease-std), background var(--t-fast) var(--ease-std);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.layer-action-btn:hover{color:var(--c-fg);background:var(--c-surface)}.layer-action-btn.active,.layer-action-btn.off{color:var(--c-accent)}.layer-action-btn.delete:hover{color:var(--c-danger)}.layer-action-btn:disabled{opacity:.3;cursor:default}.export-preview{padding:var(--space-3);background:var(--c-surface);border-radius:var(--radius-md);justify-content:center;align-items:center;margin-bottom:14px;display:flex}.export-size{font-size:var(--fs-ui-lg);color:var(--c-fg);font-variant-numeric:tabular-nums;font-weight:600}.export-btn{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--fs-ui-lg)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.editor-main{background:var(--bg-canvas);flex:1;position:relative;overflow:hidden}.editor-canvas-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.editor-canvas-container canvas{display:block}.canvas-drop-hint{padding:var(--space-xs) 14px;background:var(--c-backdrop);color:var(--c-fg-subtle);font-size:var(--fs-tiny);border-radius:var(--radius-pill);pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.editor-canvas-container:not(:has(canvas:hover)) .canvas-drop-hint{opacity:0}.editor-canvas-container.dragover .canvas-drop-hint{opacity:1}.image-adjustments{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--c-border)}.wave-section{margin-top:var(--space-3);padding:var(--space-3);background:var(--c-surface);border-radius:var(--radius-md);border:1px solid var(--c-border)}.wave-section-title{font-size:var(--fs-tiny);text-transform:uppercase;letter-spacing:.04em;color:var(--c-fg-muted);margin-bottom:var(--space-2);font-weight:600}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--c-border-hover)}::selection{background:var(--c-accent-bg);color:var(--c-fg)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238c8c8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{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-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}
