.ff-root{--ff-bg: var(--color-kumo-recessed, #f6f5f2);--ff-surface: var(--color-kumo-base, #ffffff);--ff-elevated: var(--color-kumo-elevated, #ffffff);--ff-ink: var(--text-color-kumo-default, #1a1a1a);--ff-muted: var(--text-color-kumo-subtle, #6b6b6b);--ff-line: var(--color-kumo-line, #e4e1da);--ff-hairline: var(--color-kumo-hairline, #ebe7df);--ff-accent: #006ff7;--ff-accent-hover: #005ad4;--ff-accent-soft: color-mix(in oklab, #006ff7 16%, transparent);--ff-accent-ink: #006ff7;--ff-danger: var(--text-color-kumo-danger, #b42318);--ff-danger-line: var(--color-kumo-danger, #f0c4c0);--ff-danger-soft: var(--color-kumo-danger-tint, #fef3f2);--ff-control: var(--color-kumo-control, var(--ff-surface));--ff-fill: var(--color-kumo-fill, var(--ff-bg));--ff-on-accent: #fff;--ff-radius: 10px;--ff-shadow: 0 1px 2px var(--color-kumo-shadow-edge, rgb(0 0 0 / 4%)), 0 8px 24px var(--color-kumo-shadow-drop, rgb(0 0 0 / 6%));color:var(--ff-ink);color-scheme:inherit;font:inherit;min-height:100%}html[data-mode=dark] .ff-root{--ff-bg: var(--color-kumo-canvas, #141416);--ff-surface: var(--color-kumo-base, #1e1e21);--ff-elevated: var(--color-kumo-elevated, #27272a);--ff-ink: var(--text-color-kumo-default, #f4f4f5);--ff-muted: var(--text-color-kumo-subtle, #a1a1aa);--ff-line: var(--color-kumo-line, #2e2e32);--ff-hairline: var(--color-kumo-hairline, #27272a);--ff-fill: var(--color-kumo-fill, #27272a);--ff-control: var(--color-kumo-control, #1e1e21);--ff-shadow: 0 1px 2px rgb(0 0 0 / 25%), 0 8px 24px rgb(0 0 0 / 35%)}html[data-mode=dark] .ff-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E")}html[data-mode=dark] .ff-search{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.ff-shell{display:flex;flex-direction:column;gap:1rem}.ff-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.ff-search{flex:1 1 220px;max-width:360px;height:2.25rem;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:8px;padding:0 .75rem 0 2.25rem;font:inherit;font-size:.875rem;color:var(--ff-ink);background-color:var(--ff-control);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left .75rem center;background-size:.95rem .95rem;box-shadow:0 1px 2px #00000008;transition:border-color .15s ease,box-shadow .15s ease}.ff-search:focus{outline:none;border-color:var(--color-kumo-brand, #f6821f);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-kumo-brand, #f6821f) 18%,transparent)}.ff-view-toggle{display:inline-flex;border:1px solid var(--ff-line);border-radius:8px;padding:2px;background:var(--color-kumo-canvas, var(--ff-bg));gap:2px}.ff-view-btn{appearance:none;border:0;background:transparent;color:var(--ff-muted);font:inherit;font-size:.8125rem;font-weight:500;padding:.35rem .75rem;border-radius:6px;cursor:pointer;transition:all .15s ease}.ff-view-btn+.ff-view-btn{border-left:none}.ff-view-btn:hover:not(.is-active){color:var(--ff-ink)}.ff-view-btn.is-active{color:var(--text-color-kumo-strong, var(--ff-ink));background:var(--ff-surface);font-weight:600;box-shadow:0 1px 2px #0000000f}.ff-form-card{--ff-card-accent: var(--ff-accent);position:relative;background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:12px;box-shadow:var(--ff-shadow);overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.ff-form-card-clickable{cursor:pointer}.ff-form-card-clickable:hover,.ff-form-card-clickable:focus-visible{border-color:color-mix(in srgb,var(--ff-card-accent) 55%,var(--ff-line));box-shadow:0 8px 24px color-mix(in srgb,var(--ff-card-accent) 18%,transparent);outline:none}.ff-form-card-accent{height:4px;background:var(--ff-card-accent)}.ff-form-card-chrome{position:absolute;top:.55rem;right:.55rem;z-index:2;display:flex;gap:.25rem;opacity:0;pointer-events:none;transition:opacity .12s ease}.ff-form-card:hover .ff-form-card-chrome,.ff-form-card:focus-within .ff-form-card-chrome{opacity:1;pointer-events:auto}@media(hover:none){.ff-form-card-chrome{opacity:1;pointer-events:auto}}.ff-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:1px solid var(--ff-line);border-radius:6px;background:var(--ff-control);color:var(--ff-muted);cursor:pointer;box-shadow:0 1px 2px #00000008;transition:all .15s ease}.ff-icon-btn:hover,.ff-icon-btn:focus-visible{color:var(--ff-ink);border-color:color-mix(in srgb,var(--ff-ink) 25%,var(--ff-line));background:var(--ff-fill);outline:none}.ff-icon-btn-danger{color:var(--ff-muted)}.ff-icon-btn-danger:hover,.ff-icon-btn-danger:focus-visible{color:var(--ff-danger, #ef4444);border-color:color-mix(in srgb,var(--ff-danger, #ef4444) 30%,var(--ff-line));background:color-mix(in srgb,var(--ff-danger, #ef4444) 10%,var(--ff-surface))}.ff-form-card-body{padding:1rem 1rem .9rem;display:flex;flex-direction:column;gap:.85rem;flex:1}.ff-root .ff-form-card-top h3{margin:0 0 .2rem;font-size:1.05rem;color:var(--ff-ink);padding-right:3.5rem}.ff-form-stat-btn{display:block;width:100%;text-align:left;background:var(--ff-bg);border:1px solid var(--ff-hairline);border-radius:8px;padding:.55rem .65rem;cursor:pointer;font:inherit;color:inherit;transition:border-color .12s ease,background .12s ease}.ff-form-stat-btn:hover,.ff-form-stat-btn:focus-visible{border-color:color-mix(in srgb,var(--ff-card-accent) 45%,var(--ff-hairline));background:color-mix(in srgb,var(--ff-card-accent) 10%,var(--ff-bg));outline:none}.ff-form-stat-btn strong{display:block;font-size:1.15rem;letter-spacing:-.02em;color:var(--ff-ink)}.ff-form-stat-btn span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted)}.ff-color-picker{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.ff-color-swatch{width:1.15rem;height:1.15rem;border-radius:999px;border:2px solid transparent;padding:0;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,black 12%,transparent)}.ff-color-swatch.is-active,.ff-color-swatch:focus-visible{outline:none;border-color:var(--ff-ink);box-shadow:0 0 0 2px color-mix(in srgb,var(--ff-ink) 18%,transparent)}.ff-list-swatch{display:inline-block;width:.55rem;height:.55rem;border-radius:999px;margin-right:.45rem;vertical-align:middle}.ff-table-row-clickable{cursor:pointer}.ff-table-row-clickable:hover td{background:var(--color-kumo-tint, #f4f4f5)!important}.ff-modal-overlay{position:fixed;inset:0;z-index:1000;background:color-mix(in srgb,black 45%,transparent);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:ff-fade-in .15s ease-out}.ff-modal{width:100%;max-width:440px;background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:12px;padding:1.5rem;box-shadow:0 10px 28px #0000002e,0 2px 6px #00000014;animation:ff-scale-up .15s ease-out}.ff-modal h3{margin:0;font-size:1.15rem;font-weight:600;letter-spacing:-.015em;color:var(--ff-ink)}.ff-modal-desc{margin:.65rem 0 1.25rem;font-size:.875rem;line-height:1.45;color:var(--ff-muted)}.ff-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.ff-btn-danger-solid{background:var(--color-kumo-danger, #dc2626);border-color:var(--color-kumo-danger, #dc2626);color:#fff;font-weight:550}.ff-btn-danger-solid:hover:not(:disabled){background:color-mix(in srgb,var(--color-kumo-danger, #dc2626) 88%,black);border-color:color-mix(in srgb,var(--color-kumo-danger, #dc2626) 88%,black);color:#fff}@keyframes ff-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ff-scale-up{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ff-table-row-clickable .ff-table-actions .ff-icon-btn{opacity:0;pointer-events:none;transition:opacity .12s ease}.ff-table-row-clickable:hover .ff-table-actions .ff-icon-btn,.ff-table-row-clickable:focus-within .ff-table-actions .ff-icon-btn{opacity:1;pointer-events:auto}@media(hover:none){.ff-table-row-clickable .ff-table-actions .ff-icon-btn{opacity:1;pointer-events:auto}}.ff-handle{font-size:.75rem;color:var(--ff-muted);background:var(--ff-bg);border:1px solid var(--ff-hairline);border-radius:999px;padding:.1rem .45rem}.ff-form-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ff-form-stats div{background:var(--ff-bg);border:1px solid var(--ff-hairline);border-radius:8px;padding:.55rem .65rem}.ff-form-stats strong{display:block;font-size:1.15rem;letter-spacing:-.02em;color:var(--ff-ink)}.ff-form-stats span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted)}.ff-table-wrap{border:1px solid var(--ff-line);border-radius:10px;overflow:auto;background:var(--ff-surface);box-shadow:0 1px 3px #00000008}.ff-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.4;text-align:left}.ff-table th,.ff-table td{padding:.75rem 1rem;border-bottom:1px solid var(--ff-hairline);vertical-align:middle}.ff-table th{font-size:.875rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-color-kumo-subtle, var(--ff-muted));background:var(--color-kumo-tint, var(--ff-bg));border-bottom:1px solid var(--color-kumo-line, var(--ff-line));position:sticky;top:0;z-index:1}.ff-table td{color:var(--ff-ink)}.ff-table tbody tr{transition:background-color .12s ease}.ff-table tbody tr:hover td{background:var(--color-kumo-tint, color-mix(in srgb, var(--ff-line) 20%, var(--ff-surface)))}.ff-table tbody tr.is-selected td{background:color-mix(in srgb,var(--color-kumo-brand, #f6821f) 10%,var(--ff-surface));font-weight:500}.ff-table tbody tr:last-child td{border-bottom:0}.ff-table-actions{white-space:nowrap;text-align:right}.ff-table-actions .ff-btn+.ff-btn,.ff-table-actions .ff-icon-btn+.ff-icon-btn{margin-left:.35rem}.ff-linkish{appearance:none;border:0;background:none;color:var(--text-color-kumo-brand, var(--ff-accent-ink));font:inherit;font-weight:600;cursor:pointer;padding:0}.ff-linkish:hover{text-decoration:underline}.ff-preview{max-width:28rem;color:var(--ff-muted)}.ff-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:9999px;padding:.15rem .55rem;font-size:.75rem;font-weight:550;line-height:1;background:var(--color-kumo-badge-neutral-subtle, var(--ff-fill));border:1px solid var(--ff-line);color:var(--ff-ink)}.ff-badge.is-warn{background:var(--color-kumo-badge-orange, #fff7ed);border-color:#fed7aa;color:var(--text-color-kumo-warning, #c2410c)}.ff-badge.is-danger{background:var(--color-kumo-badge-red, #fef2f2);border-color:#fecaca;color:var(--text-color-kumo-danger, #dc2626)}.ff-badge.is-success{background:var(--color-kumo-badge-green, #f0fdf4);border-color:#bbf7d0;color:var(--text-color-kumo-success, #15803d)}.ff-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.85rem}.ff-check-row{display:flex!important;align-items:center;gap:.5rem;margin:.35rem 0 .75rem!important;color:var(--ff-ink)!important;font-size:.9rem!important}.ff-check-row input{width:auto!important}.ff-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.ff-header-builder{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem}.ff-header-builder .ff-header-title{min-width:0}.ff-header-builder .ff-builder-tabs{margin:0;justify-self:center}.ff-header-builder .ff-actions{justify-self:end}@media(max-width:900px){.ff-header-builder{grid-template-columns:1fr;align-items:stretch}.ff-header-builder .ff-builder-tabs,.ff-header-builder .ff-actions{justify-self:start}}.ff-root .ff-header h1{margin:0;font-size:1.5rem;letter-spacing:-.02em;color:var(--ff-ink)}.ff-header p{margin:.25rem 0 0;color:var(--ff-muted);font-size:.925rem}.ff-header code{font-size:.85em;color:var(--ff-muted)}.ff-title-input{font:inherit;font-size:1.5rem;letter-spacing:-.02em;color:var(--ff-ink);border:none;background:transparent;width:min(420px,100%);padding:0;outline:none}.ff-title-input:focus{box-shadow:0 1px 0 var(--ff-accent)}.ff-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ff-select{appearance:none;-webkit-appearance:none;border:1px solid var(--ff-line);border-radius:8px;height:2.25rem;padding:0 2.25rem 0 .85rem;font:inherit;font-size:.875rem;font-weight:450;color:var(--ff-ink);background-color:var(--ff-control);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:1rem 1rem;box-shadow:0 1px 2px #0000000a;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.ff-select:hover:not(:disabled){border-color:color-mix(in srgb,var(--ff-ink) 25%,var(--ff-line));background-color:var(--ff-surface)}.ff-select:focus-visible,.ff-select:focus{outline:none;border-color:var(--color-kumo-brand, #f6821f);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-kumo-brand, #f6821f) 18%,transparent)}.ff-select:disabled{opacity:.55;cursor:not-allowed;background-color:var(--ff-fill)}.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:2.25rem;padding:0 .875rem;appearance:none;border:1px solid var(--color-kumo-line, var(--ff-line));background:var(--color-kumo-control, var(--ff-surface));color:var(--text-color-kumo-default, var(--ff-ink));border-radius:6px;font:inherit;font-size:.875rem;font-weight:500;line-height:1;cursor:pointer;box-shadow:0 1px 2px #0000000a;white-space:nowrap;transition:all .15s ease;user-select:none}.ff-btn:hover:not(:disabled){border-color:var(--color-kumo-line, var(--ff-line));background:var(--color-kumo-tint, #f4f4f5);color:var(--text-color-kumo-strong, #09090b)}.ff-btn:active:not(:disabled){transform:translateY(1px);background:var(--color-kumo-tint, #f4f4f5)}.ff-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-kumo-base, #ffffff),0 0 0 4px var(--color-kumo-brand, #f6821f)}.ff-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ff-btn-secondary{border:1px solid var(--color-kumo-line, var(--ff-line));background:var(--color-kumo-control, var(--ff-surface));color:var(--text-color-kumo-default, var(--ff-ink))}.ff-btn-sm{height:1.875rem;padding:0 .65rem;font-size:.8125rem;border-radius:5px;gap:.35rem}.ff-btn-lg{height:2.5rem;padding:0 1.25rem;font-size:.9375rem;border-radius:7px}.ff-btn-primary{background:var(--color-kumo-contrast, #18181b)!important;border-color:var(--color-kumo-contrast, #18181b)!important;color:var(--color-kumo-base, #ffffff)!important;font-weight:550;box-shadow:0 1px 2px #00000014}.ff-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-kumo-contrast, #18181b) 88%,#ffffff)!important;border-color:color-mix(in srgb,var(--color-kumo-contrast, #18181b) 88%,#ffffff)!important;color:var(--color-kumo-base, #ffffff)!important}.ff-btn-primary:active:not(:disabled){transform:translateY(1px);background:var(--color-kumo-contrast, #18181b)!important}.ff-btn-danger{color:var(--text-color-kumo-danger, #dc2626)!important;border:1px solid rgba(220,38,38,.35)!important;background:var(--color-kumo-control, var(--ff-surface))!important;font-weight:500}.ff-btn-danger:hover:not(:disabled){background:var(--color-kumo-danger-tint, #fef2f2)!important;border-color:var(--color-kumo-danger, #dc2626)!important;color:#b91c1c!important}.ff-btn-danger:active:not(:disabled){background:color-mix(in srgb,var(--color-kumo-danger, #dc2626) 16%,var(--color-kumo-control, #ffffff))!important}.ff-btn-danger-solid{background:var(--color-kumo-danger, #dc2626)!important;border:1px solid var(--color-kumo-danger, #dc2626)!important;color:#fff!important;font-weight:600;box-shadow:0 1px 2px #dc262640}.ff-btn-danger-solid:hover:not(:disabled){background:#b91c1c!important;border-color:#b91c1c!important;color:#fff!important}.ff-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-color-kumo-subtle, #71717a);cursor:pointer;transition:all .15s ease}.ff-icon-btn:hover:not(:disabled){background:var(--color-kumo-tint, #f4f4f5);color:var(--text-color-kumo-strong, #18181b);border-color:var(--color-kumo-line, #e4e1da)}.ff-icon-btn-danger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-color-kumo-danger, #dc2626);cursor:pointer;transition:all .15s ease}.ff-icon-btn-danger:hover:not(:disabled){background:var(--color-kumo-danger-tint, #fef2f2);color:#b91c1c;border-color:#dc262640}.ff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.ff-card{background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:var(--ff-radius);box-shadow:var(--ff-shadow);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ff-root .ff-card h3{margin:0;font-size:1.05rem;color:var(--ff-ink)}.ff-meta{color:var(--ff-muted);font-size:.8rem;line-height:1.4}.ff-builder-tabs{display:inline-flex;gap:.2rem;padding:.2rem;border-radius:999px;background:var(--ff-bg);border:1px solid var(--ff-line);flex-wrap:wrap}.ff-builder-tab{appearance:none;border:0;background:transparent;color:var(--ff-muted);font:inherit;font-size:.875rem;font-weight:550;padding:.4rem .95rem;border-radius:999px;cursor:pointer}.ff-builder-tab:hover{color:var(--ff-ink);background:var(--ff-fill)}.ff-builder-tab.is-active{color:var(--ff-ink);background:var(--ff-surface);box-shadow:0 1px 2px var(--color-kumo-shadow-edge, rgb(0 0 0 / 8%))}.ff-builder{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:.85rem;align-items:start;min-height:70vh}.ff-template-editor textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}@media(max-width:1100px){.ff-builder{grid-template-columns:1fr}}.ff-panel{background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:var(--ff-radius);box-shadow:var(--ff-shadow);padding:.85rem}.ff-root .ff-panel h2{margin:0 0 .75rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ff-muted)}.ff-palette-panel{display:flex;flex-direction:column}.ff-palette-header{margin-bottom:.75rem}.ff-palette-header h2{margin-bottom:.45rem}.ff-palette-search{position:relative;display:flex;align-items:center}.ff-palette-search input{width:100%;box-sizing:border-box;padding:.35rem 1.6rem .35rem 1.7rem;font:inherit;font-size:.78rem;border:1px solid var(--ff-line);border-radius:6px;background:var(--ff-bg);color:var(--ff-ink);outline:none;transition:border-color .15s ease}.ff-palette-search input:focus{border-color:var(--ff-accent);background:var(--ff-surface)}.ff-search-icon{position:absolute;left:.5rem;color:var(--ff-muted);pointer-events:none}.ff-search-clear{position:absolute;right:.35rem;border:none;background:transparent;color:var(--ff-muted);cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.ff-search-clear:hover{color:var(--ff-ink);background:var(--ff-fill)}.ff-palette-empty{font-size:.8rem;color:var(--ff-muted);text-align:center;padding:1.5rem .5rem}.ff-palette-group{margin-bottom:.85rem}.ff-palette-group-title{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ff-muted);margin-bottom:.4rem}.ff-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.ff-palette-item{display:flex;align-items:center;gap:.45rem;width:100%;height:32px;box-sizing:border-box;text-align:left;border:1px solid var(--ff-line);background:var(--ff-bg);color:var(--ff-ink);border-radius:6px;padding:0 .55rem;cursor:grab;font:inherit;font-size:.78rem;font-weight:500;transition:all .15s ease;user-select:none}.ff-palette-item:hover{border-color:var(--ff-accent);background:var(--ff-surface);transform:scale(1.02);box-shadow:0 2px 4px #0000000a}.ff-palette-item:active{cursor:grabbing}.ff-palette-item.is-dragging{opacity:.45}.ff-palette-icon{display:flex;align-items:center;justify-content:center;color:var(--ff-muted);flex-shrink:0}.ff-palette-item:hover .ff-palette-icon{color:var(--ff-accent)}.ff-palette-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-size:.78rem;letter-spacing:-.01em}.ff-canvas{min-height:440px}.ff-canvas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ff-canvas-header h2{margin:0}.ff-row-separator{position:relative;height:6px;margin:-3px 0;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.2,0,0,1);z-index:10}.ff-row-separator.is-active{height:22px;margin:-11px 0;cursor:copy}.ff-row-separator-line{width:100%;height:2px;background:transparent;border-radius:9999px;position:relative;transition:all .15s ease}.ff-row-separator.is-active:hover .ff-row-separator-line,.ff-row-separator.is-over .ff-row-separator-line{background:var(--color-kumo-brand, var(--ff-accent, #f6821f));box-shadow:0 0 10px color-mix(in srgb,var(--color-kumo-brand, #f6821f) 40%,transparent)}.ff-row-separator.is-over{height:36px;margin:-6px 0}.ff-row-separator-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--color-kumo-brand, var(--ff-accent, #f6821f));color:#fff;font-size:.72rem;font-weight:600;padding:.2rem .75rem;border-radius:9999px;display:inline-flex;align-items:center;gap:.35rem;box-shadow:0 4px 12px #00000038;white-space:nowrap;pointer-events:none;animation:ff-badge-pop .16s cubic-bezier(.2,0,0,1) forwards;z-index:20}@keyframes ff-badge-pop{0%{transform:translate(-50%,-50%) scale(.85);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.ff-row{border:1px dashed transparent;border-radius:8px;padding:.15rem;margin-bottom:.75rem;transition:all .15s ease;position:relative}.ff-row[data-over]{border-color:var(--ff-accent);background:var(--ff-accent-soft);padding:.35rem}.ff-row-fields{display:flex;flex-direction:row;align-items:stretch;gap:.65rem;min-height:48px;position:relative}.ff-row-empty-hint{width:100%;border:1px dashed var(--ff-line);border-radius:6px;padding:.75rem;text-align:center;font-size:.75rem;color:var(--ff-muted)}.ff-field{flex:1 1 0px;min-width:160px;border:1px solid var(--ff-line);border-radius:8px;background:var(--ff-surface);color:var(--ff-ink);padding:.65rem .75rem;cursor:grab;position:relative;transition:flex .25s cubic-bezier(.2,0,0,1),transform .2s cubic-bezier(.2,0,0,1),border-color .15s ease,box-shadow .15s ease,background-color .15s ease;user-select:none}.ff-field-placeholder{flex:1 1 0px;min-width:160px;min-height:80px;box-sizing:border-box;border:2px dashed var(--ff-accent);background:var(--ff-accent-soft);border-radius:8px;display:flex;align-items:center;justify-content:center;animation:ff-grow-placeholder .22s cubic-bezier(.2,0,0,1) forwards;pointer-events:none;user-select:none}@keyframes ff-grow-placeholder{0%{opacity:0;transform:scale(.92);flex:0 0 0px;min-width:0px}to{opacity:1;transform:scale(1);flex:1 1 0px;min-width:160px}}.ff-placeholder-text{display:inline-flex;align-items:center;gap:.35rem;background:var(--ff-surface);padding:.3rem .65rem;border-radius:999px;border:1px solid var(--ff-line);box-shadow:0 2px 4px #0000000d;font-size:.74rem;font-weight:600;color:var(--ff-accent)}.ff-field:hover{border-color:var(--ff-line-strong, #cbd5e1);background:var(--ff-elevated)}.ff-field.is-selected{border:1px dashed var(--ff-accent);box-shadow:0 0 0 3px var(--ff-accent-soft);background:var(--ff-surface)}.ff-field.is-dragging{opacity:.35}.ff-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem}.ff-field-title{display:flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;color:var(--ff-ink)}.ff-field-type-icon{color:var(--ff-muted);flex-shrink:0}.ff-req{color:var(--ff-danger, #ef4444);font-weight:700;font-size:.85rem;margin-left:1px}.ff-field-tools{display:flex;align-items:center;gap:.25rem;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease}.ff-field:hover .ff-field-tools,.ff-field:focus-within .ff-field-tools,.ff-field.is-selected .ff-field-tools{opacity:1;visibility:visible}.ff-tool-btn{width:22px;height:22px;border-radius:4px;border:1px solid var(--ff-line);background:var(--ff-surface);display:inline-flex;align-items:center;justify-content:center;color:var(--ff-muted);cursor:pointer;transition:all .12s ease}.ff-tool-btn:hover{color:var(--ff-ink);border-color:var(--ff-ink);background:var(--ff-bg);transform:scale(1.08)}.ff-tool-btn.ff-tool-danger:hover{color:var(--ff-danger, #ef4444);border-color:var(--ff-danger, #ef4444);background:#fef2f2}.ff-field-body{pointer-events:none;user-select:none;margin:.35rem 0 .45rem}.ff-field-footer{display:flex;gap:.35rem;align-items:center}.ff-field-handle-pill{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.68rem;color:var(--ff-muted);background:var(--ff-bg);padding:.1rem .35rem;border-radius:4px;border:1px solid var(--ff-line)}.ff-field-type-pill{font-size:.65rem;color:var(--ff-muted);text-transform:uppercase;letter-spacing:.05em}.ff-preview-box{width:100%}.ff-preview-input{height:30px;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:5px;background:var(--ff-bg);padding:0 .55rem;display:flex;align-items:center;font-size:.78rem;color:var(--ff-muted)}.ff-preview-with-icon{gap:.4rem}.ff-preview-icon{color:var(--ff-muted);flex-shrink:0}.ff-preview-placeholder{color:var(--ff-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-preview-textarea{min-height:48px;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:5px;background:var(--ff-bg);padding:.35rem .55rem;font-size:.78rem;color:var(--ff-muted)}.ff-preview-number{justify-content:space-between}.ff-preview-steppers{display:flex;flex-direction:column;font-size:.6rem;line-height:.65;color:var(--ff-muted)}.ff-preview-select{height:30px;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:5px;background:var(--ff-bg);padding:0 .55rem;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--ff-muted)}.ff-preview-chevron{font-size:.7rem;color:var(--ff-muted)}.ff-preview-multiselect{height:30px;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:5px;background:var(--ff-bg);padding:0 .45rem;display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.ff-preview-tag{background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:4px;padding:.1rem .35rem;font-size:.7rem;color:var(--ff-ink);margin-right:.25rem}.ff-preview-choices{display:flex;flex-direction:column;gap:.25rem;padding:.15rem 0}.ff-preview-check-item,.ff-preview-radio-item{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--ff-ink)}.ff-preview-checkbox{width:14px;height:14px;border:1px solid var(--ff-line-strong, #94a3b8);border-radius:3px;background:var(--ff-bg);flex-shrink:0}.ff-preview-radio{width:14px;height:14px;border:1px solid var(--ff-line-strong, #94a3b8);border-radius:50%;background:var(--ff-bg);flex-shrink:0;position:relative}.ff-preview-radio.is-checked:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--ff-accent);position:absolute;top:3px;left:3px}.ff-preview-more{font-size:.7rem;color:var(--ff-muted);font-style:italic;padding-left:1.25rem}.ff-preview-consent{display:flex;align-items:flex-start;gap:.45rem;font-size:.75rem;color:var(--ff-muted);line-height:1.35}.ff-preview-link{color:var(--ff-accent);text-decoration:underline}.ff-preview-hidden{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:4px;background:var(--ff-bg);border:1px dashed var(--ff-line);font-size:.72rem;color:var(--ff-muted)}.ff-preview-hidden code{color:var(--ff-ink)}.ff-preview-html{padding:.4rem .5rem;border:1px dashed var(--ff-line);border-radius:4px;font-size:.75rem;color:var(--ff-muted);background:var(--ff-bg);max-height:60px;overflow:hidden}.ff-preview-html-empty code{color:var(--ff-accent)}.ff-preview-file{border:1px dashed var(--ff-line-strong, #94a3b8);border-radius:6px;background:var(--ff-bg);padding:.55rem .65rem;display:flex;align-items:center;gap:.6rem;box-sizing:border-box}.ff-preview-file-icon{color:var(--ff-accent);flex-shrink:0}.ff-preview-file-text{display:flex;flex-direction:column;gap:.15rem;overflow:hidden}.ff-preview-file-title{font-size:.76rem;font-weight:550;color:var(--ff-ink)}.ff-preview-file-hint{font-size:.68rem;color:var(--ff-muted)}.ff-preview-rating{display:flex;align-items:center;gap:.25rem;padding:.2rem 0}.ff-preview-star{font-size:1.25rem;line-height:1;color:#cbd5e1;user-select:none}.ff-preview-star.is-filled{color:#f59e0b}.ff-preview-rating-label{font-size:.72rem;color:var(--ff-muted);margin-left:.35rem}.ff-drop-hint{border:2px dashed var(--ff-accent);border-radius:10px;padding:1rem;text-align:center;color:var(--ff-accent-ink);background:var(--ff-accent-soft);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.4rem;font-weight:500;font-size:.85rem}.ff-empty-canvas{border:2px dashed var(--ff-line);border-radius:12px;padding:3rem 1.5rem;text-align:center;color:var(--ff-muted);background:var(--ff-bg)}.ff-empty-canvas-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--ff-surface);border:1px solid var(--ff-line);color:var(--ff-accent);margin-bottom:.75rem}.ff-empty-canvas h3{margin:0 0 .35rem;font-size:1rem;color:var(--ff-ink)}.ff-empty-canvas p{margin:0;font-size:.85rem}.ff-prop-empty{text-align:center;padding:2.5rem 1rem}.ff-prop-empty-icon{color:var(--ff-muted);margin-bottom:.65rem}.ff-prop-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.85rem;border-bottom:1px solid var(--ff-line);padding-bottom:.65rem}.ff-prop-header h2{margin:0 0 .25rem!important}.ff-prop-type-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--ff-muted);background:var(--ff-bg);padding:.15rem .45rem;border-radius:4px;border:1px solid var(--ff-line);font-weight:500}.ff-prop-close{border:1px solid var(--ff-line);background:var(--ff-surface);border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ff-muted);transition:all .12s ease}.ff-prop-close:hover{color:var(--ff-ink);background:var(--ff-bg)}.ff-prop-group{margin-bottom:.75rem}.ff-prop-group label{display:block;font-size:.75rem;color:var(--ff-muted);margin-bottom:.25rem}.ff-prop-checkbox-row label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--ff-ink);cursor:pointer}.ff-prop-checkbox-row input[type=checkbox]{width:auto;margin:0}.ff-prop-section{border-top:1px solid var(--ff-line);padding-top:.75rem;margin-top:.75rem}.ff-prop-section h3{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ff-muted)}.ff-prop-details{border:1px solid var(--ff-line);border-radius:6px;padding:.5rem .65rem;margin-top:.85rem;font-size:.8rem;background:var(--ff-bg)}.ff-prop-details summary{cursor:pointer;font-weight:600;color:var(--ff-ink);user-select:none}.ff-prop-details-body{margin-top:.65rem;display:flex;flex-direction:column;gap:.65rem}.ff-prop-row{display:flex;gap:.5rem}.ff-prop-col{flex:1}.ff-prop-actions{margin-top:1.25rem;border-top:1px solid var(--ff-line);padding-top:.85rem;display:flex;gap:.5rem}.ff-prop input,.ff-prop textarea,.ff-prop select{width:100%;box-sizing:border-box;border:1px solid var(--ff-line);border-radius:6px;padding:.45rem .65rem;font:inherit;font-size:.825rem;color:var(--ff-ink);background:var(--ff-control);transition:border-color .15s ease,box-shadow .15s ease}.ff-prop select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 15 5 5 5-5'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:.85rem .85rem;padding-right:1.75rem}.ff-prop input:focus,.ff-prop textarea:focus,.ff-prop select:focus{outline:none;border-color:var(--color-kumo-brand, #f6821f);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-kumo-brand, #f6821f) 18%,transparent)}.ff-prop textarea{min-height:68px;resize:vertical}.ff-drag-overlay-palette{box-shadow:0 10px 24px #00000029;transform:scale(1.05);background:var(--ff-surface);border-color:var(--ff-accent);pointer-events:none;cursor:grabbing}.ff-drag-overlay-field{box-shadow:0 14px 30px #0000002e;transform:rotate(1.5deg);opacity:.95;background:var(--ff-surface);border-color:var(--ff-accent);pointer-events:none;cursor:grabbing;max-width:380px}.ff-toast{position:fixed;right:1.25rem;bottom:1.25rem;background:var(--color-kumo-contrast, var(--ff-ink));color:var(--ff-on-accent);padding:.65rem .9rem;border-radius:8px;font-size:.875rem;z-index:50;box-shadow:var(--ff-shadow)}.ff-error{color:var(--ff-danger);font-size:.875rem}.ff-options-manager{display:flex;flex-direction:column;gap:.65rem;margin-top:.5rem}.ff-options-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.ff-options-toolbar-left{display:flex;align-items:center;gap:.5rem}.ff-options-toolbar-right{display:flex;align-items:center;gap:.35rem}.ff-options-switch{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:500;color:var(--ff-ink);cursor:pointer;user-select:none}.ff-options-switch input{position:absolute;opacity:0;width:0;height:0}.ff-options-switch-slider{position:relative;display:inline-block;width:28px;height:16px;background-color:var(--ff-line);border-radius:9999px;transition:all .15s ease}.ff-options-switch-slider:before{content:"";position:absolute;height:12px;width:12px;left:2px;bottom:2px;background-color:var(--ff-surface);border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 2px #00000026}.ff-options-switch input:checked+.ff-options-switch-slider{background-color:var(--color-kumo-brand, #f6821f)}.ff-options-switch input:checked+.ff-options-switch-slider:before{transform:translate(12px)}.ff-opt-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.72rem;font-weight:500;color:var(--ff-muted);background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:5px;cursor:pointer;transition:all .12s ease}.ff-opt-btn:hover{color:var(--ff-ink);background:var(--ff-bg);border-color:var(--color-kumo-line, #d4d4d8)}.ff-preset-popover{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:220px;background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:8px;box-shadow:0 10px 25px -5px #00000026;padding:.35rem 0}.ff-preset-header{padding:.35rem .65rem .25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ff-muted);border-bottom:1px solid var(--ff-line)}.ff-preset-list{max-height:240px;overflow-y:auto;padding:.25rem 0}.ff-preset-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.4rem .65rem;font-size:.78rem;color:var(--ff-ink);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s ease}.ff-preset-item:hover{background:var(--ff-bg)}.ff-preset-item-name{font-weight:500}.ff-preset-item-count{font-size:.7rem;font-weight:600;color:var(--ff-muted);background:var(--ff-line);padding:.1rem .35rem;border-radius:4px}.ff-options-table-wrap{border:1px solid var(--ff-line);border-radius:6px;overflow:hidden;background:var(--ff-surface)}.ff-options-table{width:100%;border-collapse:collapse;font-size:.78rem}.ff-options-table thead tr{background:var(--ff-bg);border-bottom:1px solid var(--ff-line)}.ff-options-table th{padding:.4rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ff-muted);text-align:left}.ff-options-table th.ff-col-default{text-align:center;width:48px}.ff-options-table th.ff-col-move{width:24px;padding-left:.4rem;padding-right:.2rem}.ff-options-table th.ff-col-action{width:28px;padding-right:.4rem}.ff-option-row{border-bottom:1px solid var(--ff-line);transition:background .1s ease}.ff-option-row:last-child{border-bottom:none}.ff-option-row:hover{background:color-mix(in srgb,var(--ff-bg) 60%,transparent)}.ff-options-table td{padding:.3rem .4rem;vertical-align:middle}.ff-move-buttons{display:flex;flex-direction:column;gap:1px;align-items:center}.ff-move-btn{background:transparent;border:none;font-size:8px;line-height:8px;color:var(--ff-muted);cursor:pointer;padding:1px;border-radius:2px;transition:color .1s ease}.ff-move-btn:hover:not(:disabled){color:var(--ff-ink);background:var(--ff-line)}.ff-move-btn:disabled{opacity:.25;cursor:default}.ff-opt-input{width:100%!important;margin:0!important;padding:.3rem .45rem!important;font-size:.78rem!important;border:1px solid var(--ff-line)!important;border-radius:4px!important;background:var(--ff-control)!important}.ff-opt-val-input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.72rem!important;color:var(--color-kumo-brand, var(--ff-accent))!important}.ff-cell-default{text-align:center}.ff-opt-check,.ff-opt-radio{cursor:pointer;width:14px!important;height:14px!important;margin:0!important;accent-color:var(--color-kumo-brand, #f6821f)}.ff-opt-delete-btn{background:transparent;border:none;color:var(--ff-muted);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.ff-opt-delete-btn:hover{color:var(--ff-danger, #ef4444);background:color-mix(in srgb,var(--ff-danger, #ef4444) 12%,transparent)}.ff-options-footer{margin-top:.25rem}.ff-add-option-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem;font-size:.75rem;font-weight:500;color:var(--ff-muted);background:transparent;border:1px dashed var(--ff-line);border-radius:6px;cursor:pointer;transition:all .12s ease}.ff-add-option-btn:hover{color:var(--ff-ink);background:var(--ff-bg);border-color:var(--color-kumo-brand, var(--ff-accent))}.ff-modal-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:999;padding:1rem}.ff-bulk-modal{background:var(--ff-surface);border:1px solid var(--ff-line);border-radius:8px;width:100%;max-width:480px;box-shadow:0 20px 35px -10px #00000040;overflow:hidden}.ff-bulk-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--ff-line)}.ff-bulk-modal-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--ff-ink)}.ff-bulk-close-btn{background:transparent;border:none;font-size:1rem;color:var(--ff-muted);cursor:pointer;padding:.2rem .4rem}.ff-bulk-modal-body{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ff-bulk-mode-group{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;background:var(--ff-bg);border-radius:6px;border:1px solid var(--ff-line)}.ff-bulk-mode-label{display:flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--ff-ink);cursor:pointer}.ff-bulk-mode-label input{width:auto!important;margin:0!important}.ff-bulk-textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:.78rem!important;padding:.5rem!important;border:1px solid var(--ff-line)!important;border-radius:6px!important;background:var(--ff-control)!important;color:var(--ff-ink)!important}.ff-bulk-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--ff-line);background:var(--ff-bg)}.ff-settings-card{background:var(--color-kumo-base, #ffffff);border:1px solid var(--color-kumo-line, #e4e1da);border-radius:10px;box-shadow:0 1px 3px #0000000a;padding:1.75rem!important;display:flex;flex-direction:column;gap:1.5rem}.ff-card-header{display:flex;flex-direction:column;gap:.35rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-kumo-line, #e4e1da)}@media(min-width:640px){.ff-card-header{flex-direction:row;align-items:center;justify-content:space-between}}.ff-card-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-color-kumo-strong, #18181b)}.ff-card-subtitle{margin:0;font-size:.8125rem;color:var(--text-color-kumo-subtle, #71717a);line-height:1.4}.ff-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--color-kumo-tint, #f4f4f5);color:var(--text-color-kumo-default, #27272a);border:1px solid var(--color-kumo-line, #e4e1da)}.ff-status-dot{width:7px;height:7px;border-radius:50%;background:#10b981}.ff-transport-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem}.ff-transport-option{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.15rem;border:1px solid var(--color-kumo-line, #e4e1da);border-radius:8px;background:var(--color-kumo-control, #ffffff);text-align:left;cursor:pointer;transition:all .15s ease;color:inherit;font:inherit;appearance:none}.ff-transport-option:hover{border-color:var(--color-kumo-brand, #f6821f);background:var(--color-kumo-tint, #f4f4f5)}.ff-transport-option.is-active{border-color:var(--color-kumo-brand, #f6821f);background:color-mix(in srgb,var(--color-kumo-brand, #f6821f) 7%,var(--color-kumo-base, #ffffff));box-shadow:0 0 0 1px var(--color-kumo-brand, #f6821f),0 2px 4px #0000000a}.ff-transport-top{display:flex;align-items:center;justify-content:space-between}.ff-transport-title{font-size:.9rem;font-weight:600;color:var(--text-color-kumo-strong, #18181b)}.ff-transport-option.is-active .ff-transport-title{color:var(--color-kumo-brand, #f6821f)}.ff-transport-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.15rem .45rem;border-radius:4px;background:var(--color-kumo-tint, #f4f4f5);color:var(--text-color-kumo-subtle, #71717a)}.ff-transport-desc{font-size:.75rem;color:var(--text-color-kumo-subtle, #71717a);line-height:1.4;margin:0}.ff-preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-kumo-tint, #f4f4f5);border:1px solid var(--color-kumo-line, #e4e1da);border-radius:6px}.ff-preset-chip{height:1.85rem;padding:0 .75rem;border:1px solid var(--color-kumo-line, #e4e1da);background:var(--color-kumo-base, #ffffff);color:var(--text-color-kumo-strong, #18181b);border-radius:6px;font-size:.75rem;font-weight:550;cursor:pointer;display:inline-flex;align-items:center;transition:all .15s ease}.ff-preset-chip:hover{border-color:var(--color-kumo-brand, #f6821f);color:var(--color-kumo-brand, #f6821f)}.ff-field-group{display:flex;flex-direction:column;gap:.4rem}.ff-field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-color-kumo-subtle, #71717a)}.ff-field-input{width:100%;height:2.35rem;padding:0 .85rem;border:1px solid var(--color-kumo-line, #e4e1da);background:var(--color-kumo-control, #ffffff);color:var(--text-color-kumo-default, #18181b);border-radius:6px;font-family:inherit;font-size:.875rem;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.ff-field-input:focus{border-color:var(--color-kumo-brand, #f6821f);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-kumo-brand, #f6821f) 16%,transparent)}.ff-field-input::placeholder{color:var(--text-color-kumo-placeholder, #a1a1aa)}.ff-field-input-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.ff-form-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.ff-form-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.ff-card-actions{display:flex;flex-direction:column;gap:.75rem;padding-top:1.25rem;border-top:1px solid var(--color-kumo-line, #e4e1da)}@media(min-width:640px){.ff-card-actions{flex-direction:row;align-items:center;justify-content:space-between}}.ff-btn-submit{height:2.35rem;padding:0 1.25rem;border:1px solid var(--color-kumo-contrast, #18181b);background:var(--color-kumo-contrast, #18181b);color:var(--color-kumo-base, #ffffff);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 1px 3px #0000001a;transition:all .15s ease}.ff-btn-submit:hover:not(:disabled){background:color-mix(in srgb,var(--color-kumo-contrast, #18181b) 88%,#ffffff)}.ff-btn-submit:disabled{opacity:.5;cursor:not-allowed}.ff-btn-outline{height:2.35rem;padding:0 1.15rem;border:1px solid var(--color-kumo-line, #e4e1da);background:var(--color-kumo-base, #ffffff);color:var(--text-color-kumo-default, #18181b);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:all .15s ease}.ff-btn-outline:hover:not(:disabled){background:var(--color-kumo-tint, #f4f4f5);border-color:var(--color-kumo-brand, #f6821f)}.ff-alert-box{padding:.85rem 1.15rem;border-radius:6px;font-size:.8125rem;display:flex;align-items:center;gap:.6rem;line-height:1.45}.ff-alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.ff-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}html[data-mode=dark] .ff-alert-success{background:#10b9811f;border-color:#10b98140;color:#34d399}html[data-mode=dark] .ff-alert-error{background:#ef44441f;border-color:#ef444440;color:#f87171}.ff-card,.ff-settings-card,.ff-panel-card{background:var(--color-kumo-base, #ffffff)!important;border:1px solid var(--color-kumo-line, #e4e1da)!important;border-radius:8px!important;padding:1.5rem!important;box-shadow:0 1px 3px #0000000a!important}.ff-modal-card{background:var(--color-kumo-base, #ffffff)!important;border:1px solid var(--color-kumo-line, #e4e1da)!important;border-radius:10px!important;padding:1.5rem!important;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}.ff-table-container{border:1px solid var(--color-kumo-line, #e4e1da);border-radius:8px;background:var(--color-kumo-base, #ffffff);overflow-x:auto;box-shadow:0 1px 2px #00000008}.bg-kumo-base{background-color:var(--color-kumo-base, #ffffff)!important}.bg-kumo-control{background-color:var(--color-kumo-control, #ffffff)!important}.bg-kumo-tint{background-color:var(--color-kumo-tint, #f4f4f5)!important}.bg-kumo-contrast{background-color:var(--color-kumo-contrast, #18181b)!important}.bg-kumo-canvas{background-color:var(--color-kumo-canvas, #f6f5f2)!important}.text-kumo-base{color:var(--color-kumo-base, #ffffff)!important}.text-kumo-default{color:var(--text-color-kumo-default, #18181b)!important}.text-kumo-strong{color:var(--text-color-kumo-strong, #09090b)!important}.text-kumo-subtle{color:var(--text-color-kumo-subtle, #71717a)!important}.text-kumo-brand{color:var(--color-kumo-brand, #f6821f)!important}.text-kumo-danger{color:var(--text-color-kumo-danger, #dc2626)!important}.border-kumo-line{border-color:var(--color-kumo-line, #e4e1da)!important}.p-4{padding:1rem!important}.p-5{padding:1.25rem!important}.p-6{padding:1.5rem!important}.p-12{padding:3rem!important}.px-2\.5{padding-left:.625rem!important;padding-right:.625rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-3\.5{padding-left:.875rem!important;padding-right:.875rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.h-8{height:2rem!important}.h-9{height:2.25rem!important}.rounded-md{border-radius:6px!important}.rounded-lg{border-radius:8px!important}.shadow-xs{box-shadow:0 1px 2px #0000000d!important}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a!important}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a!important}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}.bg-red-600{background-color:#dc2626!important;color:#fff!important}.hover\:bg-red-700:hover:not(:disabled){background-color:#b91c1c!important}.text-white{color:#fff!important}.text-red-600{color:#dc2626!important}.border-red-200{border-color:#dc26264d!important}.bg-red-50{background-color:var(--color-kumo-danger-tint, #fef2f2)!important}.hover\:bg-red-100:hover:not(:disabled){background-color:#ef444426!important}.border-red-500\/30{border-color:#dc26264d!important}.hover\:bg-red-500\/10:hover:not(:disabled){background-color:#ef44441a!important}html[data-mode=dark] .bg-red-50{background-color:#ef44441f!important}html[data-mode=dark] .border-red-200{border-color:#ef44444d!important}html[data-mode=dark] .text-red-600{color:#f87171!important}.border-kumo-brand{border-color:var(--color-kumo-brand, #f6821f)!important}.border-b{border-bottom-width:1px!important;border-bottom-style:solid!important}.border-t{border-top-width:1px!important;border-top-style:solid!important}.border-b-2{border-bottom-width:2px!important;border-bottom-style:solid!important}.border-transparent{border-color:transparent!important}.-mb-px{margin-bottom:-1px!important}.space-x-6>:not([hidden])~:not([hidden]){margin-left:1.5rem!important}.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem!important}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem!important}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem!important}.flex{display:flex!important}.inline-flex{display:inline-flex!important}.items-center{align-items:center!important}.justify-between{justify-content:space-between!important}.justify-end{justify-content:flex-end!important}.gap-1{gap:.25rem!important}.gap-1\.5{gap:.375rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:.75rem!important}.gap-4{gap:1rem!important}.gap-6{gap:1.5rem!important}
