@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ff-bg:#0c0a14;--ff-surface:#161221;--ff-surface-2:#1f1930;--ff-text:#f4f1fb;--ff-text-muted:#a69fc4;--ff-primary:#a78bfa;--ff-primary-contrast:#fff;--ff-accent:#f472b6;--ff-border:#2b2542;--ff-radius:10px;--ff-radius-lg:14px;--ff-shadow:0 1px 3px #00000080, 0 4px 14px #00000059;--ff-gradient:linear-gradient(135deg, #f0278b 0%, #8b2ff7 100%);--ff-font-display:"Fraunces Variable", "Fraunces", "Times New Roman", Georgia, serif;--ff-font-body:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ff-surface-hover:#262040;--ff-text-subtle:#6f6890;--ff-primary-hover:#c4b5fd;--ff-accent-soft:#331832;--ff-border-subtle:#221c35;--ff-highlight:#451a35;--ff-success:#34d399;--ff-success-soft:#12291f;--ff-warning:#f2a33c;--ff-warning-soft:#2b2110;--ff-danger:#f2617a;--ff-danger-soft:#2e1520;--ff-radius-sm:8px;--ff-radius-xl:18px;--ff-sidebar-width:264px;--ff-sidebar-collapsed-width:76px;--ff-sidebar-mobile-width:320px;--ff-shadow-lg:0 2px 6px #00000080, 0 12px 36px #00000073;--ff-glow-primary:0 0 20px #f0278b47, 0 0 44px #8b2ff738;--ff-glow-soft:0 0 14px #f0278b2e;--ff-font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ff-ease-out:cubic-bezier(.2, 0, 0, 1);--ff-ease-spring:cubic-bezier(.32, .72, 0, 1);--ff-duration-fast:.16s;--ff-duration-spin:.7s;--ff-duration-draw:1.6s;--ff-duration-shimmer:1.8s;--ff-focus-ring:0 0 0 3px var(--ff-accent-soft), 0 0 0 1.5px var(--ff-accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ff-bg);color:var(--ff-text);font-family:var(--ff-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--ff-font-display);letter-spacing:-.015em;color:var(--ff-text);text-wrap:balance;margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{letter-spacing:.02em;font-size:.875rem}p{margin:0 0 1em}a{color:var(--ff-accent);text-underline-offset:3px;text-decoration:none}a:hover{text-decoration:underline}code,pre,kbd,samp{font-family:var(--ff-font-mono);font-size:.9em}::selection{background:var(--ff-highlight);color:var(--ff-text)}:focus{outline:none}:focus-visible{box-shadow:var(--ff-focus-ring);border-radius:var(--ff-radius-sm);outline:none}@keyframes ff-gradient-pan{0%{background-position:0%}to{background-position:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ff-btn{border-radius:var(--ff-radius);font-family:var(--ff-font-body);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s var(--ff-ease-out), border-color .16s var(--ff-ease-out), color .16s var(--ff-ease-out), box-shadow .16s var(--ff-ease-out), transform .16s var(--ff-ease-spring);border:1px solid #0000;justify-content:center;align-items:center;gap:.5em;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.ff-btn:focus-visible{box-shadow:var(--ff-focus-ring);border-radius:var(--ff-radius)}.ff-btn:active:not(:disabled){transform:translateY(1px)}.ff-btn:disabled{opacity:.55;cursor:not-allowed}.ff-btn--sm{border-radius:var(--ff-radius-sm);height:2rem;padding:0 .75rem;font-size:.8125rem}.ff-btn--md{height:2.5rem;padding:0 1.125rem;font-size:.875rem}.ff-btn--lg{border-radius:var(--ff-radius-lg);height:3rem;padding:0 1.5rem;font-size:1rem}.ff-btn--primary{background:var(--ff-gradient);color:var(--ff-primary-contrast);box-shadow:var(--ff-shadow), var(--ff-glow-primary)}.ff-btn--primary:hover:not(:disabled){background:var(--ff-gradient);filter:brightness(1.12);box-shadow:var(--ff-shadow), 0 0 26px #f0278b66, 0 0 60px #8b2ff74d}.ff-btn--secondary{background:var(--ff-surface);color:var(--ff-text);border-color:var(--ff-border)}.ff-btn--secondary:hover:not(:disabled){background:var(--ff-surface-hover);border-color:var(--ff-text-subtle)}.ff-btn--danger{background:var(--ff-danger);color:#1a0810;box-shadow:var(--ff-shadow)}.ff-btn--danger:hover:not(:disabled){background:color-mix(in srgb, var(--ff-danger) 88%, black)}.ff-btn--ai{background:var(--ff-gradient);color:var(--ff-primary-contrast);box-shadow:var(--ff-shadow), var(--ff-glow-primary);border-radius:999px}.ff-btn--ai:hover:not(:disabled){background:var(--ff-gradient);filter:brightness(1.12);box-shadow:var(--ff-shadow), 0 0 26px #f0278b66, 0 0 60px #8b2ff74d;border-radius:999px}.ff-btn--ghost{color:var(--ff-primary);background:0 0}.ff-btn--ghost:hover:not(:disabled){background:var(--ff-accent-soft)}.ff-btn__spinner{flex:none}.ff-card{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow);overflow:hidden}.ff-card__header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem 0;display:flex}.ff-card__title{font-family:var(--ff-font-display);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:600}.ff-card__subtitle{color:var(--ff-text-muted);margin:.25rem 0 0;font-size:.875rem}.ff-card__body{padding:1.25rem 1.5rem}.ff-card__footer{background:var(--ff-surface-2);border-top:1px solid var(--ff-border-subtle);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.ff-field{flex-direction:column;gap:.375rem;display:flex}.ff-field__label{color:var(--ff-text);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.ff-field__required{color:var(--ff-danger);margin-left:.125rem}.ff-input{box-sizing:border-box;background:var(--ff-surface);width:100%;height:2.5rem;color:var(--ff-text);border:1px solid var(--ff-border);border-radius:var(--ff-radius);font-family:var(--ff-font-body);transition:border-color .16s var(--ff-ease-out), box-shadow .16s var(--ff-ease-out);padding:0 .875rem;font-size:.9375rem}.ff-input::placeholder{color:var(--ff-text-subtle)}.ff-input:hover:not(:disabled):not(:focus){border-color:var(--ff-text-subtle)}.ff-input:focus,.ff-input:focus-visible{border-color:var(--ff-accent);box-shadow:var(--ff-focus-ring);outline:none}.ff-input:disabled{background:var(--ff-surface-2);color:var(--ff-text-subtle);cursor:not-allowed}.ff-input--invalid{border-color:var(--ff-danger)}.ff-input--invalid:focus,.ff-input--invalid:focus-visible{border-color:var(--ff-danger);box-shadow:0 0 0 3px var(--ff-danger-soft), 0 0 0 1.5px var(--ff-danger)}.ff-field__hint{color:var(--ff-text-muted);font-size:.8125rem}.ff-field__error{color:var(--ff-danger);font-size:.8125rem;font-weight:500}.ff-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.375em;height:1.5rem;padding:0 .625rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.ff-badge--neutral{background:var(--ff-surface-2);color:var(--ff-text-muted);border-color:var(--ff-border)}.ff-badge--primary{background:var(--ff-accent-soft);color:var(--ff-primary);border-color:var(--ff-accent-soft)}.ff-badge--success{background:var(--ff-success-soft);color:var(--ff-success);border-color:var(--ff-success-soft)}.ff-badge--warning{background:var(--ff-warning-soft);color:var(--ff-warning);border-color:var(--ff-warning-soft)}.ff-badge--danger{background:var(--ff-danger-soft);color:var(--ff-danger);border-color:var(--ff-danger-soft)}.ff-spinner{border-style:solid;border-color:var(--ff-border);border-top-color:var(--ff-accent);border-radius:50%;flex:none;animation:.7s linear infinite ff-spin;display:inline-block}.ff-spinner--sm{border-width:2px;width:1rem;height:1rem}.ff-spinner--md{border-width:2.5px;width:1.5rem;height:1.5rem}.ff-spinner--lg{border-width:3px;width:2.25rem;height:2.25rem}.ff-spinner--on-primary{border-color:color-mix(in srgb, var(--ff-primary-contrast) 35%, transparent);border-top-color:var(--ff-primary-contrast)}@keyframes ff-spin{to{transform:rotate(360deg)}}.ff-table-wrap{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow);overflow-x:auto}.ff-table{border-collapse:collapse;width:100%;font-size:.875rem}.ff-visually-hidden,.ff-table caption{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ff-table th{background:var(--ff-surface-2);color:var(--ff-text-muted);letter-spacing:.04em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--ff-border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.ff-table td{border-bottom:1px solid var(--ff-border-subtle);color:var(--ff-text);vertical-align:middle;padding:.75rem 1rem}.ff-table tbody tr:last-child td{border-bottom:none}.ff-table th.ff-table--right,.ff-table td.ff-table--right{text-align:right}.ff-table th.ff-table--center,.ff-table td.ff-table--center{text-align:center}.ff-table__row--clickable{cursor:pointer;transition:background-color .12s var(--ff-ease-out)}.ff-table__row--clickable:hover{background:var(--ff-surface-hover)}.ff-table__row--clickable:focus-visible{box-shadow:inset var(--ff-focus-ring);outline:none}.ff-table__empty{text-align:center;color:var(--ff-text-muted);padding:2.5rem 1rem;font-size:.875rem}.ff-toggle__input{opacity:0;pointer-events:none;position:absolute}.ff-toggle__label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.ff-toggle__track{background:var(--ff-surface-2);border:1px solid var(--ff-border);width:2.25rem;height:1.25rem;transition:background .16s var(--ff-ease-out), border-color .16s var(--ff-ease-out);border-radius:999px;flex:none;position:relative}.ff-toggle__track:after{content:"";background:var(--ff-text-muted);width:1rem;height:1rem;transition:transform .16s var(--ff-ease-out), background .16s var(--ff-ease-out);border-radius:50%;position:absolute;top:1px;left:1px}.ff-toggle__input:checked+.ff-toggle__label .ff-toggle__track{background:var(--ff-primary);border-color:var(--ff-primary)}.ff-toggle__input:checked+.ff-toggle__label .ff-toggle__track:after{background:var(--ff-primary-contrast);transform:translate(1rem)}.ff-toggle__input:focus-visible+.ff-toggle__label .ff-toggle__track{box-shadow:var(--ff-focus-ring)}.ff-toggle__input:disabled+.ff-toggle__label{cursor:not-allowed;opacity:.6}.ff-toggle__text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.ff-toggle__name{color:var(--ff-text);font-size:.875rem;font-weight:600}.ff-toggle__hint{color:var(--ff-text-muted);font-size:.8125rem}.ff-tooltip{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.ff-tooltip__trigger{width:1.25rem;height:1.25rem;color:var(--ff-text-subtle);cursor:help;transition:color .16s var(--ff-ease-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.ff-tooltip__trigger:hover,.ff-tooltip__trigger:focus-visible{color:var(--ff-text)}.ff-tooltip__trigger:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ff-tooltip__bubble{background:var(--ff-surface-2);width:max-content;max-width:16rem;color:var(--ff-text);border:1px solid var(--ff-border);border-radius:var(--ff-radius);box-shadow:var(--ff-shadow);white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:30;transition:opacity .16s var(--ff-ease-out), visibility .16s var(--ff-ease-out);padding:.5rem .75rem;font-size:.8125rem;font-weight:400;line-height:1.45;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.ff-tooltip__bubble:before{content:"";height:.6rem;position:absolute;top:100%;left:0;right:0}.ff-tooltip:not(.is-dismissed):hover .ff-tooltip__bubble,.ff-tooltip:not(.is-dismissed):focus-within .ff-tooltip__bubble{opacity:1;visibility:visible;pointer-events:auto}@media (prefers-reduced-motion:reduce){.ff-tooltip__bubble{transition:none}}.ff-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.ff-pagination__status{color:var(--ff-text-muted);margin:0;font-size:.8rem}.ff-pagination__tools{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ff-pagination__controls{align-items:center;gap:.5rem;display:flex}.ff-pagination__page{color:var(--ff-text-muted);white-space:nowrap;font-size:.8rem}.ff-pagination__size{color:var(--ff-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.ff-pagination__size .ff-select{height:2rem;padding-top:0;padding-bottom:0;font-size:.8125rem}.ff-select{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);color:var(--ff-text);font:inherit;padding:.5rem .7rem;font-size:.85rem}.ff-loader{justify-items:center;gap:.9rem;display:grid}.ff-loader--page{align-content:center;min-height:40vh}.ff-loader--inline{vertical-align:middle;display:inline-grid}.ff-loader--page .ff-loader-mark{width:3.25rem;height:3.25rem}.ff-loader--inline .ff-loader-mark{width:1.375rem;height:1.375rem}.ff-loader-stop-a{stop-color:var(--ff-accent)}.ff-loader-stop-b{stop-color:var(--ff-primary)}.ff-loader-ring{stroke-width:1.5px;opacity:.22;stroke-dasharray:24 108;stroke-linecap:round;transform-origin:50%;animation:ff-loader-turn calc(var(--ff-duration-draw) * 2) linear infinite}.ff-loader--inline .ff-loader-ring{display:none}.ff-loader-tri{stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.ff-loader-tri-track{stroke:var(--ff-border)}.ff-loader-tri-draw{stroke-dasharray:62 38;animation:ff-loader-draw var(--ff-duration-draw) var(--ff-ease-out) infinite;filter:drop-shadow(0 0 6px var(--ff-accent-soft))}.ff-loader-msg{color:var(--ff-text-muted);text-align:center;margin:0;font-size:.875rem}@keyframes ff-loader-draw{to{stroke-dashoffset:-100px}}@keyframes ff-loader-turn{to{transform:rotate(360deg)}}.ff-skeleton{gap:.75rem;display:grid}.ff-skeleton-row{border-radius:var(--ff-radius);border:1px solid var(--ff-border-subtle);background:linear-gradient(100deg, var(--ff-surface) 40%, var(--ff-surface-hover) 50%, var(--ff-surface) 60%) var(--ff-surface);height:3.25rem;animation:ff-skeleton-sweep var(--ff-duration-shimmer) linear infinite;background-size:200% 100%}.ff-skeleton-row:nth-child(2n){animation-delay:calc(var(--ff-duration-shimmer) / -8)}.ff-skeleton-row:nth-child(3n){animation-delay:calc(var(--ff-duration-shimmer) / -4)}@keyframes ff-skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.ff-alert{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface);animation:ff-feedback-enter var(--ff-duration-fast) var(--ff-ease-out);align-items:baseline;gap:.625rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.ff-alert-dot{border-radius:50%;flex:none;width:.5rem;height:.5rem;transform:translateY(-.05em)}.ff-alert-body{min-width:0}.ff-alert--info{border-color:var(--ff-border)}.ff-alert--info .ff-alert-dot{background:var(--ff-primary)}.ff-alert--success{border-color:var(--ff-success-soft);background:var(--ff-success-soft)}.ff-alert--success .ff-alert-dot{background:var(--ff-success)}.ff-alert--warning{border-color:var(--ff-warning-soft);background:var(--ff-warning-soft)}.ff-alert--warning .ff-alert-dot{background:var(--ff-warning)}.ff-alert--danger{border-color:var(--ff-danger-soft);background:var(--ff-danger-soft)}.ff-alert--danger .ff-alert-dot{background:var(--ff-danger)}.ff-errorstate{text-align:center;align-content:center;justify-items:center;gap:.375rem;min-height:40vh;padding:2rem;display:grid}.ff-errorstate-mark{width:3.25rem;height:3.25rem;margin-bottom:.5rem}.ff-errorstate-tri{stroke:var(--ff-text-subtle);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.ff-errorstate-slash{stroke:var(--ff-danger);stroke-width:3px;stroke-linecap:round}.ff-errorstate-title{margin:0;font-size:1.125rem}.ff-errorstate-body{max-width:34rem;color:var(--ff-text-muted);margin:0 0 1rem;font-size:.9rem}.ff-empty{text-align:center;border:1.5px dashed var(--ff-border);border-radius:var(--ff-radius-lg);color:var(--ff-text-muted);place-items:center;gap:.35rem;padding:3rem 1.5rem;display:grid}.ff-empty-icon{color:var(--ff-primary);opacity:.8}.ff-empty h3{margin:0;font-size:1.125rem}.ff-empty p{max-width:30rem;color:var(--ff-text-muted);margin:0;font-size:.9rem}.ff-empty-action{margin-top:1rem}.ff-toasts{z-index:60;pointer-events:none;justify-items:end;gap:.5rem;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.ff-toast{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);max-width:26rem;box-shadow:var(--ff-shadow-lg);pointer-events:auto;animation:ff-feedback-enter var(--ff-duration-fast) var(--ff-ease-spring);align-items:center;gap:.625rem;padding:.7rem .875rem;font-size:.875rem;display:flex}.ff-toast--info .ff-alert-dot{background:var(--ff-primary)}.ff-toast--success .ff-alert-dot{background:var(--ff-success)}.ff-toast--warning .ff-alert-dot{background:var(--ff-warning)}.ff-toast--danger .ff-alert-dot{background:var(--ff-danger)}.ff-toast-msg{min-width:0}.ff-toast-close{color:var(--ff-text-subtle);cursor:pointer;background:0 0;border:0;flex:none;margin-left:.25rem;padding:0 .25rem;font-size:1rem;line-height:1}.ff-toast-close:hover{color:var(--ff-text)}.ff-toast-close:focus-visible{box-shadow:var(--ff-focus-ring);border-radius:var(--ff-radius-sm);outline:none}@keyframes ff-feedback-enter{0%{opacity:0;transform:translateY(.375rem)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ff-loader-ring,.ff-loader-tri-draw,.ff-skeleton-row,.ff-alert,.ff-toast{animation:none}.ff-loader-tri-draw{stroke-dasharray:none}}.pf-root,.pf-root *,.pf-root :before,.pf-root :after{box-sizing:border-box}.pf-root{background:var(--ff-bg);min-height:100dvh;color:var(--ff-text);font-family:var(--ff-font-body);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}.pf-root--signin{height:100dvh;min-height:0;overflow:hidden}.pf-root--signin .pf-main{overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow:hidden}.pf-main{flex:1 0 auto}.pf-container{width:min(100% - 3rem,72rem);margin-inline:auto}.pf-skip{z-index:100;background:var(--ff-primary);color:var(--ff-primary-contrast);border-radius:var(--ff-radius);padding:.6rem 1rem;position:absolute;top:0;left:-999px}.pf-skip:focus-visible{top:1rem;left:1rem}.pf-nav{z-index:50;-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb, var(--ff-bg) 78%, transparent);border-bottom:1px solid var(--ff-border);position:sticky;top:0}.pf-nav-inner{align-items:center;gap:1.5rem;min-height:4.25rem;display:flex}.pf-logo{font-family:var(--ff-font-display);letter-spacing:-.02em;color:var(--ff-text);align-items:baseline;gap:.1rem;font-size:1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.pf-logo-mark{background:var(--ff-gradient);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;animation:7s ease-in-out infinite alternate ff-gradient-pan}.pf-nav-links{align-items:center;gap:.25rem;margin-inline:auto;display:flex}.pf-nav-link{border-radius:var(--ff-radius);color:var(--ff-text-muted);text-decoration:none;-webkit-text-decoration-color:var(--ff-accent);text-decoration-color:var(--ff-accent);padding:.5rem .85rem;font-size:.95rem;transition:color .16s,background-color .16s;position:relative}.pf-nav-link:hover{color:var(--ff-text);background:color-mix(in srgb, var(--ff-text) 6%, transparent)}.pf-nav-link.is-active{color:var(--ff-text);background:color-mix(in srgb, var(--ff-primary) 12%, transparent)}.pf-nav-cta{align-items:center;gap:.75rem;margin-left:auto;display:flex}.pf-nav-links+.pf-nav-cta{margin-left:0}.pf-signin-link{color:var(--ff-text-muted);text-decoration:none;-webkit-text-decoration-color:var(--ff-accent);text-decoration-color:var(--ff-accent);border-radius:var(--ff-radius);padding:.5rem .6rem;font-size:.95rem;transition:color .16s}.pf-signin-link:hover{color:var(--ff-text)}.pf-burger{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface);width:2.6rem;height:2.6rem;color:var(--ff-text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin-left:auto;display:none}.pf-burger-bar{background:currentColor;border-radius:2px;width:1.1rem;height:2px;transition:transform .2s,opacity .2s;display:block}.pf-burger[aria-expanded=true] .pf-burger-bar:first-child{transform:translateY(7px)rotate(45deg)}.pf-burger[aria-expanded=true] .pf-burger-bar:nth-child(2){opacity:0}.pf-burger[aria-expanded=true] .pf-burger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.pf-mobile-menu{border-bottom:1px solid var(--ff-border);background:var(--ff-bg);padding:.75rem 0 1.25rem;display:none}.pf-mobile-menu .pf-nav-link{padding:.75rem .85rem;font-size:1.05rem;display:block}.pf-mobile-cta{gap:.75rem;padding:.75rem .85rem 0;display:flex}.pf-btn-block{justify-content:center;width:100%}.pf-section{padding-block:clamp(3.5rem,8vw,6.5rem)}.pf-section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.pf-section--alt{background:var(--ff-surface);border-block:1px solid var(--ff-border)}.pf-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--ff-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8rem;font-weight:600;display:inline-flex}.pf-eyebrow:before{content:"";background:var(--ff-gradient);border-radius:2px;width:1.5rem;height:2px}.pf-h1{font-family:var(--ff-font-display);letter-spacing:-.03em;text-wrap:balance;margin:0 0 1.25rem;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;line-height:1.06}.pf-h2{font-family:var(--ff-font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 1rem;font-size:clamp(1.75rem,3.5vw,2.6rem);font-weight:700;line-height:1.12}.pf-h3{font-family:var(--ff-font-display);letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.15rem;font-weight:650}.pf-lead{color:var(--ff-text-muted);max-width:42rem;margin:0;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6}.pf-lead--center{margin-inline:auto}.pf-center{text-align:center}.pf-center .pf-eyebrow{justify-content:center}.pf-gradient-text{background:var(--ff-gradient);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;animation:7s ease-in-out infinite alternate ff-gradient-pan}.pf-hero{padding-block:clamp(4rem,9vw,7.5rem) clamp(3.5rem,7vw,6rem);position:relative;overflow:hidden}.pf-hero:before,.pf-hero:after{content:"";filter:blur(80px);pointer-events:none;border-radius:50%;position:absolute}.pf-hero:before{background:color-mix(in srgb, var(--ff-primary) 26%, transparent);width:42rem;height:42rem;animation:16s ease-in-out infinite alternate pf-aurora-a;top:-20rem;right:-12rem}.pf-hero:after{background:color-mix(in srgb, var(--ff-accent) 20%, transparent);width:30rem;height:30rem;animation:20s ease-in-out infinite alternate pf-aurora-b;bottom:-18rem;left:-10rem}@keyframes pf-aurora-a{0%{transform:translate(0)scale(1)}to{transform:translate(-4rem,3rem)scale(1.12)}}@keyframes pf-aurora-b{0%{transform:translate(0)scale(1.05)}to{transform:translate(3.5rem,-2.5rem)scale(.95)}}.pf-hero-grid{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,4.5rem);display:grid;position:relative}.pf-hero-ctas{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.pf-hero-note{color:var(--ff-text-muted);margin-top:1.1rem;font-size:.88rem}.pf-steps{counter-reset:pf-step;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.pf-step{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);height:100%;padding:1.5rem 1.4rem;position:relative}.pf-step-num{background:color-mix(in srgb, var(--ff-primary) 12%, transparent);width:2.1rem;height:2.1rem;color:var(--ff-primary);font-family:var(--ff-font-display);border-radius:50%;place-items:center;margin-bottom:.9rem;font-size:.95rem;font-weight:700;display:inline-grid}.pf-step p{color:var(--ff-text-muted);margin:0;font-size:.93rem;line-height:1.55}.pf-grid{gap:1.25rem;margin-top:2.5rem;display:grid}.pf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-feature{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);height:100%;padding:1.6rem 1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s}.pf-feature:hover{border-color:color-mix(in srgb, var(--ff-primary) 55%, var(--ff-border));box-shadow:var(--ff-shadow), var(--ff-glow-soft);transform:translateY(-3px)}.pf-feature-icon{border-radius:var(--ff-radius);background:color-mix(in srgb, var(--ff-primary) 12%, transparent);width:2.5rem;height:2.5rem;color:var(--ff-primary);place-items:center;margin-bottom:1rem;font-size:1.1rem;display:inline-grid}.pf-feature-icon svg{display:block}.pf-sample{max-width:46rem;margin:2.5rem auto 0}.pf-sample-video{aspect-ratio:16/9;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-bg);width:100%;box-shadow:var(--ff-shadow), var(--ff-glow-soft);display:block}.pf-sample-note{max-width:40rem;color:var(--ff-text-muted);text-align:center;margin:.9rem auto 0;font-size:.88rem;line-height:1.55}.pf-feature p{color:var(--ff-text-muted);margin:0;font-size:.93rem;line-height:1.55}.pf-feature-badge{float:right}.pf-formats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.pf-format{border-radius:var(--ff-radius-lg);border:1px solid var(--ff-border);background:linear-gradient(160deg, color-mix(in srgb, var(--ff-primary) 7%, transparent), transparent 60%), var(--ff-surface);padding:1.4rem 1.3rem}.pf-format p{color:var(--ff-text-muted);margin:0;font-size:.9rem;line-height:1.5}.pf-cta-band{border-radius:var(--ff-radius-lg);border:1px solid var(--ff-border);background:radial-gradient(90% 140% at 85% 0%, color-mix(in srgb, var(--ff-primary) 20%, transparent), transparent 60%), radial-gradient(70% 120% at 10% 100%, color-mix(in srgb, var(--ff-accent) 16%, transparent), transparent 60%), var(--ff-surface);text-align:center;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,4rem);position:relative;overflow:hidden}.pf-cta-band .pf-hero-ctas{justify-content:center}.pf-pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:1.25rem;margin-top:2.75rem;display:grid}.pf-pricing-grid>.pf-reveal{flex-direction:column;display:flex}.pf-pricing-grid>.pf-reveal>.pf-plan{flex:1}.pf-plan{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);flex-direction:column;gap:1.1rem;padding:1.8rem 1.6rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;position:relative}.pf-plan:hover{border-color:color-mix(in srgb, var(--ff-accent) 45%, var(--ff-border));box-shadow:var(--ff-shadow), var(--ff-glow-soft);transform:translateY(-3px)}.pf-plan--featured{border-color:color-mix(in srgb, var(--ff-primary) 55%, var(--ff-border));box-shadow:var(--ff-shadow), var(--ff-glow-soft);background:linear-gradient(170deg, color-mix(in srgb, var(--ff-primary) 8%, transparent), transparent 45%), var(--ff-surface)}.pf-plan-flag{position:absolute;top:-.8rem;left:50%;transform:translate(-50%)}.pf-plan-name{font-family:var(--ff-font-display);margin:0;font-size:1.2rem;font-weight:700}.pf-plan-tagline{color:var(--ff-text-muted);margin:.25rem 0 0;font-size:.9rem}.pf-price{align-items:baseline;gap:.4rem;display:flex}.pf-price-amount{font-family:var(--ff-font-display);letter-spacing:-.03em;font-size:2.6rem;font-weight:700}.pf-price-period{color:var(--ff-text-muted);font-size:.9rem}.pf-price-note{color:var(--ff-text-muted);margin:.2rem 0 0;font-size:.78rem}.pf-plan-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.pf-plan>.ff-btn{margin-top:auto}.pf-plan-list li{color:var(--ff-text-muted);align-items:flex-start;gap:.6rem;font-size:.92rem;line-height:1.45;display:flex}.pf-plan-planned{border-top:1px dashed var(--ff-border);margin-top:.2rem;padding-top:.9rem}.pf-plan-planned-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-text-muted);margin:0 0 .55rem;font-size:.72rem;font-weight:700}.pf-plan-list--planned{flex:none;gap:.45rem}.pf-plan-list--planned li{opacity:.75;font-size:.86rem}.pf-plan-planned-mark{border:1px dashed var(--ff-border);width:1rem;height:1rem;color:var(--ff-text-muted);border-radius:50%;flex:none;place-items:center;margin-top:.15rem;font-size:.6rem;font-weight:700;display:grid}.pf-check{background:color-mix(in srgb, var(--ff-accent) 18%, transparent);width:1rem;height:1rem;color:var(--ff-accent);border-radius:50%;flex:none;place-items:center;margin-top:.15rem;font-size:.6rem;font-weight:700;display:grid}.pf-enterprise-band{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:linear-gradient(120deg, color-mix(in srgb, var(--ff-accent) 9%, transparent), transparent 55%), var(--ff-surface);grid-template-columns:minmax(0,1.5fr) auto;align-items:center;gap:1.5rem;margin-top:1.5rem;padding:1.8rem;display:grid}.pf-disclaimer{color:var(--ff-text-muted);text-align:center;margin-top:2rem;font-size:.8rem}.pf-faq{margin-top:2.5rem;flex-direction:column;gap:.75rem;max-width:46rem;margin-inline:auto;display:flex}.pf-faq-item{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);overflow:hidden}.pf-faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;font-size:.98rem;font-weight:600;list-style:none;display:flex}.pf-faq-item summary::-webkit-details-marker{display:none}.pf-faq-item summary:after{content:"+";font-family:var(--ff-font-display);color:var(--ff-primary);flex:none;font-size:1.2rem;transition:transform .2s}.pf-faq-item[open] summary:after{transform:rotate(45deg)}.pf-faq-item p{color:var(--ff-text-muted);margin:0;padding:0 1.3rem 1.2rem;font-size:.93rem;line-height:1.6}.pf-form{flex-direction:column;gap:1.1rem;margin-top:2rem;display:flex}.pf-field{flex-direction:column;gap:.4rem;display:flex}.pf-field label,.pf-field-label{font-size:.85rem;font-weight:600}.pf-field-hint{color:var(--ff-text-muted);overflow-wrap:anywhere;font-size:.78rem}.pf-textarea{font-family:var(--ff-font-body);border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface);color:var(--ff-text);resize:vertical;min-height:8rem;padding:.7rem .9rem;font-size:.95rem}.pf-textarea:focus-visible{outline:2px solid color-mix(in srgb, var(--ff-primary) 55%, transparent);outline-offset:1px}.pf-form-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.pf-form-error{border-radius:var(--ff-radius);border:1px solid color-mix(in srgb, var(--ff-primary) 40%, var(--ff-border));background:color-mix(in srgb, var(--ff-primary) 8%, transparent);padding:.7rem 1rem;font-size:.88rem}.pf-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,5vw,4rem);margin-top:2.5rem;display:grid}.pf-contact-aside{flex-direction:column;gap:1.25rem;display:flex}.pf-contact-fact{align-items:flex-start;gap:.9rem;display:flex}.pf-contact-fact p{color:var(--ff-text-muted);margin:.15rem 0 0;font-size:.9rem;line-height:1.5}.pf-auth{isolation:isolate;place-items:center;min-height:calc(100dvh - 4.25rem);padding-block:clamp(2rem,5vw,4.5rem);display:grid;position:relative;overflow:hidden}.pf-root--signin .pf-auth{scrollbar-width:none;height:100%;min-height:100%;padding-block:clamp(1rem,3.5vh,2.5rem);overflow-y:auto}.pf-root--signin .pf-auth::-webkit-scrollbar{display:none}.pf-auth:before{content:"";background:color-mix(in srgb, var(--ff-primary) 12%, transparent);filter:blur(90px);pointer-events:none;border-radius:50%;width:38rem;height:38rem;position:absolute;top:-18rem;left:50%;transform:translate(-50%)}.pf-auth:after{content:"";z-index:-1;background-image:linear-gradient(color-mix(in srgb, var(--ff-border) 24%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--ff-border) 24%, transparent) 1px, transparent 1px);-webkit-mask-image:radial-gradient(circle at center, var(--ff-text), transparent 72%);-webkit-mask-image:radial-gradient(circle at center, var(--ff-text), transparent 72%);mask-image:radial-gradient(circle at center, var(--ff-text), transparent 72%);opacity:.42;pointer-events:none;background-size:3.5rem 3.5rem;position:absolute;inset:0}.pf-auth-stage{z-index:1;width:min(100% - 3rem,27rem);position:relative}.pf-auth--studio .pf-auth-stage{--pf-auth-card:30rem;--pf-auth-gap:clamp(2.5rem, 5vw, 5.5rem);grid-template-columns:minmax(0, 1fr) minmax(28rem, var(--pf-auth-card));align-items:center;gap:var(--pf-auth-gap);grid-template-areas:"visual card";width:min(100% - 3rem,72rem);display:grid}.pf-auth--studio .pf-auth-stage:before{content:"";top:0;bottom:0;right:calc(var(--pf-auth-card) + var(--pf-auth-gap) / 2);background:linear-gradient(180deg, color-mix(in srgb, var(--ff-primary) 34%, var(--ff-border)), var(--ff-border) 50%, color-mix(in srgb, var(--ff-accent) 30%, var(--ff-border)));pointer-events:none;width:1px;position:absolute}.pf-auth-visual{grid-area:visual;min-width:0}.pf-auth-story{min-width:0;position:relative}.pf-auth-eyebrow{color:var(--ff-primary);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:.55rem;margin:0 0 .9rem;font-size:.75rem;font-weight:700;display:flex}.pf-auth-story h2{letter-spacing:-.025em;max-width:22ch;margin:0;font-size:clamp(1.75rem,2.6vw,2.6rem);line-height:1.12}.pf-process{--pf-reel-duration:calc(var(--ff-duration-spin) * 10);--pf-reel-beat:calc(var(--pf-reel-duration) / 5);--pf-reel-stagger:calc(var(--pf-reel-beat) / 8);min-width:0;position:relative}.pf-process-scene{border:1px solid var(--ff-border);border-radius:var(--ff-radius-xl);background:radial-gradient(120% 100% at 10% 0%, color-mix(in srgb, var(--ff-primary) 7%, transparent), transparent 58%), linear-gradient(160deg, color-mix(in srgb, var(--ff-surface-2) 92%, transparent), color-mix(in srgb, var(--ff-bg) 94%, transparent));height:clamp(15rem,34vh,19rem);box-shadow:var(--ff-shadow), inset 0 1px 0 color-mix(in srgb, var(--ff-text) 7%, transparent);contain:layout paint;margin-block-start:clamp(1.75rem,4vh,2.75rem);position:relative;overflow:hidden}.pf-reel-glow{background:var(--ff-gradient);filter:blur(2.6rem);opacity:.24;pointer-events:none;border-radius:50%;position:absolute;inset:14% 16%}.pf-reel-frame{border:1px solid color-mix(in srgb, var(--ff-primary) 22%, var(--ff-border));border-radius:var(--ff-radius);background:var(--ff-surface);box-shadow:var(--ff-shadow-lg);flex-direction:column;display:flex;position:absolute;inset:clamp(.7rem,4%,1.05rem);overflow:hidden}.pf-reel-canvas{background:linear-gradient(165deg, var(--ff-surface-2), var(--ff-bg));--pf-reel-click-x:30%;--pf-reel-click-y:62%;flex:auto;min-height:0;position:relative;overflow:hidden}.pf-reel-app{z-index:1;transform-origin:var(--pf-reel-click-x) var(--pf-reel-click-y);position:absolute;inset:0}.pf-reel-app-bar{border-bottom:1px solid var(--ff-border-subtle);background:color-mix(in srgb, var(--ff-surface) 72%, transparent);align-items:center;gap:.4rem;height:1.35rem;padding-inline:.5rem;display:flex;position:absolute;inset:0 0 auto}.pf-reel-app-mark{background:var(--ff-gradient);border-radius:2px;width:.5rem;height:.5rem}.pf-reel-app-title{background:color-mix(in srgb, var(--ff-text) 26%, transparent);border-radius:99px;width:3.2rem;height:.28rem}.pf-reel-app-user{background:color-mix(in srgb, var(--ff-text) 18%, transparent);border-radius:50%;width:.48rem;height:.48rem;margin-left:auto}.pf-reel-app-rail{border-right:1px solid var(--ff-border-subtle);background:color-mix(in srgb, var(--ff-bg) 42%, transparent);flex-direction:column;gap:.42rem;width:4rem;padding:.6rem .5rem;display:flex;position:absolute;top:1.35rem;bottom:0;left:0}.pf-reel-app-rail i{background:color-mix(in srgb, var(--ff-text) 15%, transparent);border-radius:99px;height:.28rem}.pf-reel-app-rail i:first-child{background:color-mix(in srgb, var(--ff-primary) 62%, transparent);width:80%}.pf-reel-app-rail i:nth-child(2){width:62%}.pf-reel-app-rail i:last-child{width:72%}.pf-reel-app-body{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(0,.66fr);gap:.36rem .7rem;padding:.62rem .8rem .7rem;display:grid;position:absolute;inset:1.35rem 0 0 4rem}.pf-reel-app-head{background:color-mix(in srgb, var(--ff-text) 55%, transparent);border-radius:99px;grid-area:1/1/2/2;width:62%;height:.4rem}.pf-reel-app-line{background:color-mix(in srgb, var(--ff-text) 18%, transparent);border-radius:99px;height:.22rem}.pf-reel-app-line:nth-child(2){grid-area:2/1/3/2}.pf-reel-app-line:nth-child(3){grid-area:3/1/4/2;align-self:start;width:72%}.pf-reel-app-tile{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-surface-2) 70%, transparent)}.pf-reel-app-tile:nth-child(4){grid-area:1/2/4/3}.pf-reel-app-tile:nth-child(5){grid-area:4/1/5/3;min-height:1.4rem}.pf-reel-app-cta{left:var(--pf-reel-click-x);top:var(--pf-reel-click-y);background:var(--ff-gradient);width:3.1rem;height:.95rem;box-shadow:var(--ff-glow-soft);border-radius:99px;margin:-.48rem 0 0 -1.55rem;position:absolute}.pf-reel-cursor{left:var(--pf-reel-click-x);top:var(--pf-reel-click-y);z-index:5;opacity:0;width:.62rem;height:.82rem;margin:-.1rem 0 0 -.12rem;position:absolute}.pf-reel-cursor:before{content:"";background:var(--ff-text);clip-path:polygon(0 0,0 82%,24% 63%,40% 100%,58% 91%,42% 56%,72% 52%);filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--ff-bg) 85%, transparent));position:absolute;inset:0}.pf-reel-click{left:var(--pf-reel-click-x);top:var(--pf-reel-click-y);z-index:5;border:1.5px solid var(--ff-accent);opacity:0;border-radius:50%;width:1.7rem;height:1.7rem;margin:-.85rem 0 0 -.85rem;position:absolute}.pf-reel-rec{z-index:8;border:1px solid color-mix(in srgb, var(--ff-danger) 48%, transparent);background:color-mix(in srgb, var(--ff-bg) 74%, transparent);color:var(--ff-text-muted);font-family:var(--ff-font-mono);letter-spacing:.1em;opacity:0;border-radius:99px;align-items:center;gap:.3rem;padding:.14rem .4rem;font-size:.58rem;line-height:1;display:inline-flex;position:absolute;top:.45rem;right:.5rem}.pf-reel-rec-dot,.pf-reel-rec-ring{border-radius:50%;width:.3rem;height:.3rem}.pf-reel-rec-dot{background:var(--ff-danger)}.pf-reel-rec-ring{border:1px solid var(--ff-danger);opacity:0;margin-top:-.15rem;position:absolute;top:50%;left:.4rem}.pf-reel-scrim{z-index:2;background:color-mix(in srgb, var(--ff-bg) 62%, transparent);opacity:0;position:absolute;inset:0}.pf-reel-cards{z-index:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid;position:absolute;inset:1.85rem .65rem auto}.pf-reel-card{border:1px solid color-mix(in srgb, var(--ff-primary) 42%, var(--ff-border));border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-surface-2) 94%, transparent);height:3rem;box-shadow:var(--ff-shadow);opacity:0;padding:.34rem .4rem}.pf-reel-card-no{color:var(--ff-primary);font-family:var(--ff-font-mono);letter-spacing:.08em;font-size:.62rem;font-style:normal;line-height:1;display:block}.pf-reel-card-line{background:color-mix(in srgb, var(--ff-text) 24%, transparent);border-radius:99px;width:74%;height:.2rem;margin-top:.36rem;display:block}.pf-reel-reticle{left:var(--pf-reel-click-x);top:var(--pf-reel-click-y);z-index:4;opacity:0;width:5.6rem;height:2.7rem;margin:-1.35rem 0 0 -2.8rem;position:absolute}.pf-reel-reticle i{border:0 solid var(--ff-accent);width:.6rem;height:.6rem;position:absolute}.pf-reel-reticle i:first-child{border-width:1.5px 0 0 1.5px;top:0;left:0}.pf-reel-reticle i:nth-child(2){border-width:1.5px 1.5px 0 0;top:0;right:0}.pf-reel-reticle i:nth-child(3){border-width:0 0 1.5px 1.5px;bottom:0;left:0}.pf-reel-reticle i:nth-child(4){border-width:0 1.5px 1.5px 0;bottom:0;right:0}.pf-reel-caption{z-index:6;border:1px solid color-mix(in srgb, var(--ff-primary) 22%, var(--ff-border));border-radius:var(--ff-radius-sm);background:var(--pf-reel-caption-bg);--pf-reel-caption-bg:color-mix(in srgb, var(--ff-bg) 76%, var(--ff-surface-2));width:max-content;max-width:62%;margin:0 auto;padding:.22rem .55rem;position:absolute;bottom:.5rem;left:0;right:0;overflow:hidden}.pf-reel-caption-text{color:var(--ff-text);white-space:nowrap;font-size:.68rem;line-height:1.2;display:block}.pf-reel-caption-wipe{background:var(--pf-reel-caption-bg);position:absolute;inset:0;transform:translate(100%)}.pf-reel-caption-wipe:before{content:"";background:var(--ff-accent);width:1.5px;position:absolute;top:.2rem;bottom:.2rem;left:0}.pf-reel-stack{z-index:3;width:6.4rem;height:3rem;margin:-2rem auto 0;position:absolute;top:50%;left:0;right:0}.pf-reel-stack i{border:1px solid color-mix(in srgb, var(--ff-primary) 48%, transparent);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-surface-2) 42%, transparent);opacity:0;position:absolute;inset:0}.pf-reel-stack i:first-child{--pf-reel-lift:-.8rem;border-color:color-mix(in srgb, var(--ff-text) 34%, transparent)}.pf-reel-stack i:nth-child(2){--pf-reel-lift:0rem;border-color:color-mix(in srgb, var(--ff-primary) 55%, transparent)}.pf-reel-stack i:nth-child(3){--pf-reel-lift:.8rem;border-color:color-mix(in srgb, var(--ff-accent) 55%, transparent)}.pf-reel-logo{z-index:6;background:var(--ff-gradient);width:1.3rem;height:1.3rem;box-shadow:var(--ff-glow-soft);border-radius:5px;place-items:center;display:grid;position:absolute;top:.45rem;right:.5rem}.pf-reel-logo:after{content:"";border-top:.26rem solid #0000;border-bottom:.26rem solid #0000;border-left:.4rem solid var(--ff-primary-contrast);width:0;height:0;margin-left:.08rem}.pf-reel-seal{z-index:7;background:var(--ff-gradient);width:2.3rem;height:2.3rem;box-shadow:var(--ff-glow-primary);border-radius:50%;place-items:center;margin:-1.35rem auto 0;display:grid;position:absolute;top:50%;left:0;right:0}.pf-reel-seal:after{content:"";border-top:.38rem solid #0000;border-bottom:.38rem solid #0000;border-left:.58rem solid var(--ff-primary-contrast);width:0;height:0;margin-left:.12rem}.pf-reel-slate{z-index:8;display:grid;position:absolute;bottom:.5rem;left:.5rem}.pf-reel-slate b{border:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-bg) 78%, transparent);color:var(--ff-text-muted);font-family:var(--ff-font-mono);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;opacity:0;border-radius:99px;grid-area:1/1;padding:.14rem .42rem;font-size:.58rem;font-weight:600;line-height:1}.pf-reel-tracks{border-top:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-bg) 52%, var(--ff-surface));--pf-reel-track-head:2.6rem;--pf-reel-lane-bg:color-mix(in srgb, var(--ff-bg) 58%, var(--ff-surface-2));flex:none;gap:.26rem;padding:.4rem .5rem;display:grid;position:relative}.pf-reel-track{grid-template-columns:var(--pf-reel-track-head) minmax(0, 1fr);align-items:center;gap:.4rem;display:grid}.pf-reel-track-name{color:var(--ff-text-subtle);font-family:var(--ff-font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;line-height:1}.pf-reel-lane{border:1px solid color-mix(in srgb, var(--ff-border) 65%, transparent);background:var(--pf-reel-lane-bg);border-radius:3px;align-items:center;gap:.14rem;height:.92rem;padding-inline:.2rem;display:flex;position:relative;overflow:hidden}.pf-reel-lane-wipe{background:var(--pf-reel-lane-bg);position:absolute;inset:0;transform:translate(100%)}.pf-reel-clip{background:color-mix(in srgb, var(--ff-primary) 32%, var(--ff-surface-2));height:.7rem;color:var(--ff-text);font-family:var(--ff-font-mono);border-radius:2px;flex:1 1 0;place-items:center;font-size:.52rem;font-style:normal;line-height:1;display:grid}.pf-reel-bar{min-width:0;height:calc(var(--pf-reel-amp,.5) * 100%);background:color-mix(in srgb, var(--ff-accent) 42%, var(--ff-primary));border-radius:1px;flex:1 1 0}.pf-reel-brand-caption{background:color-mix(in srgb, var(--ff-text) 26%, var(--ff-surface-2));border-radius:2px;flex:auto;height:.5rem}.pf-reel-brand-mark{background:var(--ff-gradient);border-radius:2px;flex:none;width:1rem;height:.7rem}.pf-reel-playhead{left:calc(.5rem + var(--pf-reel-track-head) + .4rem);border-right:1.5px solid var(--ff-accent);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--ff-accent) 14%, transparent));opacity:0;pointer-events:none;position:absolute;top:.24rem;bottom:.24rem;right:.5rem;transform:translate(-100%)}.pf-reel-cut{z-index:9;background:var(--ff-bg);opacity:0;pointer-events:none;position:absolute;inset:0}.pf-process-steps{color:var(--ff-text-muted);letter-spacing:.09em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin:clamp(1rem,2.4vh,1.5rem) 0 0;padding:0;font-size:.72rem;font-weight:600;list-style:none;display:flex}.pf-process-stage{align-items:center;gap:.35rem .6rem;display:flex}.pf-process-stage i{color:var(--ff-text-subtle);font-style:normal}@keyframes pf-reel-footage{0%,24%{transform:scale(1)}36%,58%{transform:scale(1.13)}70%,90%{transform:scale(1.05)}95%,to{transform:scale(1)}}@keyframes pf-reel-press{0%,11%{transform:scale(1)}13%{transform:scale(.93)}16%,to{transform:scale(1)}}@keyframes pf-reel-cursor{0%{opacity:0;transform:translate(-3.6rem,-2.4rem)}3%{opacity:1;transform:translate(-3rem,-2rem)}11%,17%{opacity:1;transform:translate(0,0)}22%{opacity:0;transform:translate(.5rem,.7rem)}to{opacity:0;transform:translate(-3.6rem,-2.4rem)}}@keyframes pf-reel-click{0%,11%{opacity:0;transform:scale(.25)}13%{opacity:.85;transform:scale(.5)}22%,to{opacity:0;transform:scale(1.7)}}@keyframes pf-reel-rec{0%{opacity:0;transform:translateY(-.3rem)}4%,26%{opacity:1;transform:translateY(0)}31%,to{opacity:0;transform:translateY(-.3rem)}}@keyframes pf-reel-breathe{0%{opacity:.9;transform:scale(.7)}70%,to{opacity:0;transform:scale(2.6)}}@keyframes pf-reel-scrim{0%,18%{opacity:0}23%,30%{opacity:1}36%,to{opacity:0}}@keyframes pf-reel-card{0%,19%{opacity:0;transform:translateY(.7rem)scale(.96)}25%,30%{opacity:1;transform:translateY(0)scale(1)}35%,to{opacity:0;transform:translateY(.7rem)scale(.96)}}@keyframes pf-reel-reticle{0%,27%{opacity:0;transform:scale(1.7)}33%,43%{opacity:1;transform:scale(1)}49%,to{opacity:0;transform:scale(1.7)}}@keyframes pf-reel-caption{0%,40%{opacity:0;transform:translateY(.5rem)}45%,90%{opacity:1;transform:translateY(0)}95%,to{opacity:0;transform:translateY(.5rem)}}@keyframes pf-reel-type{0%,44%{transform:translate(0)}59%,90%{transform:translate(100%)}95%,to{transform:translate(0)}}@keyframes pf-reel-stack{0%,59%{opacity:0;transform:translateY(var(--pf-reel-lift,0rem)) scale(1.06)}66%{opacity:.95;transform:translateY(var(--pf-reel-lift,0rem)) scale(1.02)}73%{opacity:.8;transform:translateY(0)scale(1)}78%,to{opacity:0;transform:translateY(0)scale(1)}}@keyframes pf-reel-logo{0%,62%{opacity:0;transform:scale(1.35)translateY(-.3rem)}69%,90%{opacity:1;transform:scale(1)translateY(0)}95%,to{opacity:0;transform:scale(1.35)translateY(-.3rem)}}@keyframes pf-reel-seal{0%,77%{opacity:0;transform:scale(.72)}84%,90%{opacity:1;transform:scale(1)}95%,to{opacity:0;transform:scale(.72)}}@keyframes pf-reel-glow{0%,20%{opacity:.13;transform:scale(.94)}60%{opacity:.2;transform:scale(1)}82%,90%{opacity:.46;transform:scale(1.06)}to{opacity:.13;transform:scale(.94)}}@keyframes pf-reel-slate{0%{opacity:0;transform:translateY(.3rem)}3%,16%{opacity:1;transform:translateY(0)}19%,to{opacity:0;transform:translateY(-.3rem)}}@keyframes pf-reel-track-scenes{0%,19%{opacity:.36;transform:translateY(.2rem)}25%,90%{opacity:1;transform:translateY(0)}95%,to{opacity:.36;transform:translateY(.2rem)}}@keyframes pf-reel-track-voice{0%,39%{opacity:.36;transform:translateY(.2rem)}45%,90%{opacity:1;transform:translateY(0)}95%,to{opacity:.36;transform:translateY(.2rem)}}@keyframes pf-reel-track-brand{0%,59%{opacity:.36;transform:translateY(.2rem)}66%,90%{opacity:1;transform:translateY(0)}95%,to{opacity:.36;transform:translateY(.2rem)}}@keyframes pf-reel-write-scenes{0%,21%{transform:translate(0)}31%,90%{transform:translate(100%)}95%,to{transform:translate(0)}}@keyframes pf-reel-write-voice{0%,44%{transform:translate(0)}59%,90%{transform:translate(100%)}95%,to{transform:translate(0)}}@keyframes pf-reel-write-brand{0%,65%{transform:translate(0)}72%,90%{transform:translate(100%)}95%,to{transform:translate(0)}}@keyframes pf-reel-playhead{0%,61%{opacity:0;transform:translate(-100%)}64%{opacity:1}79%{opacity:1;transform:translate(0)}83%,to{opacity:0;transform:translate(0)}}@keyframes pf-reel-cut{0%,88%{opacity:0}94%,97%{opacity:.62}to{opacity:0}}@media (prefers-reduced-motion:no-preference){.pf-reel-app{animation:pf-reel-footage var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-app-cta{animation:pf-reel-press var(--pf-reel-duration) var(--ff-ease-spring) infinite both}.pf-reel-cursor{animation:pf-reel-cursor var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-click{animation:pf-reel-click var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-rec{animation:pf-reel-rec var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-rec-ring{animation:pf-reel-breathe calc(var(--ff-duration-spin) * 2) var(--ff-ease-out) infinite both}.pf-reel-scrim{animation:pf-reel-scrim var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-card{animation:pf-reel-card var(--pf-reel-duration) var(--ff-ease-spring) infinite both;animation-delay:calc(var(--pf-reel-stagger) * var(--pf-reel-order,0))}.pf-reel-reticle{animation:pf-reel-reticle var(--pf-reel-duration) var(--ff-ease-spring) infinite both}.pf-reel-caption{animation:pf-reel-caption var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-caption-wipe{animation:pf-reel-type var(--pf-reel-duration) infinite both;animation-timing-function:steps(var(--pf-reel-type,24), jump-start)}.pf-reel-stack i{animation:pf-reel-stack var(--pf-reel-duration) var(--ff-ease-spring) infinite both}.pf-reel-logo{animation:pf-reel-logo var(--pf-reel-duration) var(--ff-ease-spring) infinite both}.pf-reel-seal{animation:pf-reel-seal var(--pf-reel-duration) var(--ff-ease-spring) infinite both}.pf-reel-glow{animation:pf-reel-glow var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-slate b{animation-name:pf-reel-slate;animation-duration:var(--pf-reel-duration);animation-timing-function:var(--ff-ease-out);animation-iteration-count:infinite;animation-fill-mode:both}.pf-reel-slate b:first-child{animation-delay:calc(var(--pf-reel-beat) * -5)}.pf-reel-slate b:nth-child(2){animation-delay:calc(var(--pf-reel-beat) * -4)}.pf-reel-slate b:nth-child(3){animation-delay:calc(var(--pf-reel-beat) * -3)}.pf-reel-slate b:nth-child(4){animation-delay:calc(var(--pf-reel-beat) * -2)}.pf-reel-slate b:nth-child(5){animation-delay:calc(var(--pf-reel-beat) * -1)}.pf-reel-track[data-track=scenes]{animation:pf-reel-track-scenes var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-track[data-track=voice]{animation:pf-reel-track-voice var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-track[data-track=brand]{animation:pf-reel-track-brand var(--pf-reel-duration) var(--ff-ease-out) infinite both}.pf-reel-track[data-track=scenes] .pf-reel-lane-wipe{animation:pf-reel-write-scenes var(--pf-reel-duration) infinite both;animation-timing-function:steps(3,start)}.pf-reel-track[data-track=voice] .pf-reel-lane-wipe{animation:pf-reel-write-voice var(--pf-reel-duration) infinite both;animation-timing-function:steps(20,start)}.pf-reel-track[data-track=brand] .pf-reel-lane-wipe{animation:pf-reel-write-brand var(--pf-reel-duration) infinite both;animation-timing-function:steps(2,start)}.pf-reel-playhead{animation:pf-reel-playhead var(--pf-reel-duration) linear infinite both}.pf-reel-cut{animation:pf-reel-cut var(--pf-reel-duration) var(--ff-ease-out) infinite both}}@media (prefers-reduced-motion:reduce){.pf-reel *,.pf-reel{animation:none!important}.pf-reel-caption,.pf-reel-logo,.pf-reel-seal,.pf-reel-track{opacity:1;transform:none}.pf-reel-glow{opacity:.2}.pf-reel-slate b:last-child{opacity:1}.pf-reel-cursor,.pf-reel-click,.pf-reel-rec,.pf-reel-scrim,.pf-reel-cards,.pf-reel-reticle,.pf-reel-stack,.pf-reel-playhead,.pf-reel-cut{display:none}}.pf-auth-card{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);width:100%;box-shadow:var(--ff-shadow);grid-area:card;padding:clamp(1.75rem,4vw,2.5rem);position:relative}.pf-auth--studio .pf-auth-card{border-radius:var(--ff-radius-xl);background:radial-gradient(90% 50% at 100% 0%, color-mix(in srgb, var(--ff-primary) 9%, transparent), transparent 72%), var(--ff-surface);box-shadow:var(--ff-shadow-lg);padding-block:clamp(2rem,4.5vw,3rem);overflow:hidden}.pf-auth--studio .pf-auth-card:before{content:"";background:var(--ff-gradient);opacity:.88;height:2px;position:absolute;inset:0 0 auto}.pf-auth-card .pf-logo{margin-bottom:1.5rem}.pf-auth-eyebrow{margin-bottom:.55rem}.pf-auth-title{font-family:var(--ff-font-display);letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.5rem;font-weight:700}.pf-auth--studio .pf-auth-title{letter-spacing:-.035em;margin-bottom:.55rem;font-size:clamp(1.8rem,3vw,2.15rem);line-height:1.08}.pf-auth-title[tabindex="-1"]:focus,.pf-auth-title[tabindex="-1"]:focus-visible{box-shadow:none;outline:none}.pf-auth-title--marked{align-items:center;gap:.7rem;display:flex}.pf-auth-mark{--pf-auth-mark-size:2.5rem;width:var(--pf-auth-mark-size);height:var(--pf-auth-mark-size);color:var(--ff-success);background:var(--ff-success-soft);box-shadow:0 0 0 1px color-mix(in srgb, var(--ff-success) 26%, transparent);border-radius:50%;flex:none;place-items:center;display:grid}.pf-auth-mark svg{width:calc(var(--pf-auth-mark-size) * .56);height:calc(var(--pf-auth-mark-size) * .56)}.pf-auth-sub{color:var(--ff-text-muted);margin:0 0 1.65rem;font-size:.95rem;line-height:1.65}.pf-auth-footer{border-top:1px solid var(--ff-border);color:var(--ff-text-muted);text-align:center;margin-top:1.5rem;padding-top:1.25rem;font-size:.88rem}.pf-auth-footer a{color:var(--ff-primary);font-weight:600;text-decoration:none}.pf-auth-footer a:hover{color:var(--ff-primary-hover)}.pf-consent{color:var(--ff-text-muted);cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.85rem;line-height:1.5;display:flex}.pf-consent input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--ff-primary);cursor:pointer;flex:none;margin-top:.15rem}.pf-consent a{color:var(--ff-primary);font-weight:600}.pf-auth-trust{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:color-mix(in srgb, var(--ff-surface-2) 76%, transparent);align-items:flex-start;gap:.7rem;margin-top:1.25rem;padding:.8rem .9rem;display:flex}.pf-auth-trust-dot{background:var(--ff-success);width:.55rem;height:.55rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-success) 12%, transparent);border-radius:50%;flex:none;margin-top:.28rem}.pf-auth-trust p{color:var(--ff-text-muted);gap:.15rem;margin:0;font-size:.74rem;line-height:1.45;display:grid}.pf-auth-trust strong{color:var(--ff-text);font-size:.78rem}.pf-auth-card .ff-input,.pf-auth-card .pf-otp-box{background:var(--ff-surface-2);color:var(--ff-text)}.pf-auth-card .ff-input:not(.ff-input--invalid),.pf-auth-card .pf-otp-box{border-color:var(--ff-text-subtle)}.pf-auth-card .ff-input{height:3rem;font-size:1rem}.pf-auth-card .ff-input:disabled{color:var(--ff-text-subtle);cursor:not-allowed}.pf-auth-card .ff-input::placeholder{color:var(--ff-text-muted);opacity:1}.pf-auth-card .ff-input:hover:not(.ff-input--invalid):not(:disabled):not(:focus),.pf-auth-card .pf-otp-box:hover:not(:disabled):not(:focus){border-color:var(--ff-text-muted)}.pf-auth-card .ff-btn--primary,.pf-auth-card .ff-btn--primary:hover:not(:disabled){background:linear-gradient(color-mix(in srgb, var(--ff-bg) 24%, transparent), color-mix(in srgb, var(--ff-bg) 24%, transparent)), var(--ff-gradient);color:var(--ff-primary-contrast)}.pf-auth-card .ff-btn--primary:hover:not(:disabled){filter:none;box-shadow:var(--ff-shadow-lg), var(--ff-glow-primary)}.pf-auth-card .ff-btn--primary:focus-visible,.pf-auth-card .ff-btn--primary:hover:not(:disabled):focus-visible{box-shadow:var(--ff-focus-ring)}.pf-otp{justify-content:space-between;gap:.45rem;display:flex}.pf-otp-box{aspect-ratio:4/5;text-align:center;width:100%;min-width:0;font-family:var(--ff-font-display);border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);color:var(--ff-text);caret-color:var(--ff-primary);font-size:1.25rem;font-weight:700}.pf-otp-box:focus-visible{border-color:var(--ff-accent);box-shadow:var(--ff-focus-ring);outline:none}.pf-otp-actions{color:var(--ff-text-muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.pf-link-btn{color:var(--ff-primary);min-height:2.75rem;padding-inline:.25rem}.pf-link-btn:disabled{color:var(--ff-text-muted)}@keyframes pf-auth-arrive{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}@keyframes pf-auth-mark-arrive{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.pf-auth--studio .pf-auth-visual,.pf-auth--studio .pf-auth-card{animation:pf-auth-arrive calc(var(--ff-duration-fast) + var(--ff-duration-fast) + var(--ff-duration-fast)) var(--ff-ease-out) both}.pf-auth--studio .pf-auth-card{animation-delay:var(--ff-duration-fast)}.pf-auth-mark{animation:pf-auth-mark-arrive var(--ff-duration-fast) var(--ff-ease-spring) both;animation-delay:calc(var(--ff-duration-fast) * 3)}}.pf-legal{max-width:44rem;margin-inline:auto}.pf-legal-updated{color:var(--ff-text-muted);margin:0 0 2.5rem;font-size:.85rem}.pf-legal section{margin-bottom:2.25rem}.pf-legal h2{font-family:var(--ff-font-display);letter-spacing:-.01em;margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.pf-legal p{color:var(--ff-text-muted);margin:0 0 .9rem;font-size:.95rem;line-height:1.7}.pf-legal ul{color:var(--ff-text-muted);margin:0 0 .9rem;padding-left:1.25rem;font-size:.95rem;line-height:1.7}.pf-footer{border-top:1px solid var(--ff-border);background:var(--ff-surface);margin-top:auto;padding-block:3rem 2rem}.pf-footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;display:grid}.pf-footer-tag{color:var(--ff-text-muted);max-width:18rem;margin:.9rem 0 0;font-size:.88rem;line-height:1.6}.pf-footer-col h3{letter-spacing:.1em;text-transform:uppercase;color:var(--ff-text-muted);margin:0 0 1rem;font-size:.8rem;font-weight:700}.pf-footer-col ul{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.pf-footer-col a{color:var(--ff-text);opacity:.85;font-size:.92rem;text-decoration:none;transition:opacity .16s}.pf-footer-col a:hover{opacity:1}.pf-footer-bottom{border-top:1px solid var(--ff-border);color:var(--ff-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.82rem;display:flex}@media (prefers-reduced-motion:no-preference){.pf-reveal{opacity:0;filter:blur(4px);transition:opacity .6s,transform .6s,filter .6s;transition-delay:var(--pf-reveal-delay,0s);transform:translateY(18px)}.pf-reveal.is-visible{opacity:1;filter:none;transform:none}}@media (width<=75rem){.pf-pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=60rem){.pf-nav-links,.pf-nav-cta{display:none}.pf-burger{display:inline-flex}.pf-mobile-menu.is-open{display:block}.pf-hero-grid{grid-template-columns:1fr}.pf-steps,.pf-formats,.pf-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-pricing-grid{grid-template-columns:1fr;max-width:26rem;margin-inline:auto}.pf-enterprise-band,.pf-contact-grid{grid-template-columns:1fr}.pf-auth--studio .pf-auth-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"card""visual";gap:1.5rem;width:min(100% - 3rem,30rem)}.pf-auth--studio .pf-auth-stage:before{display:none}.pf-auth-visual{align-self:center}.pf-auth-story>h2,.pf-process-scene{display:none}.pf-process-steps{justify-content:center}.pf-footer-grid{grid-template-columns:1fr 1fr}}@media (width<=40rem){.pf-container{width:min(100% - 2rem,72rem)}.pf-steps,.pf-formats,.pf-grid--3,.pf-grid--2,.pf-form-row{grid-template-columns:1fr}.pf-hero-ctas{flex-direction:column;align-items:stretch}.pf-auth{place-items:start center;padding-block:1.25rem 2.5rem}.pf-auth-stage,.pf-auth--studio .pf-auth-stage{width:min(100% - 2rem,30rem)}.pf-auth-card{padding:1.5rem 1.25rem}.pf-auth-card .pf-logo{margin-bottom:1.5rem}.pf-auth-card .pf-otp{justify-content:center;gap:.625rem;display:grid}.pf-auth-card .pf-otp[data-length="8"]{grid-template-columns:repeat(4,minmax(2.75rem,3.25rem))}.pf-auth-card .pf-otp[data-length="6"]{grid-template-columns:repeat(3,minmax(2.75rem,3.25rem))}.pf-auth-card .pf-otp-box{aspect-ratio:auto;width:100%;min-width:2.75rem;height:3rem}.pf-otp-actions{flex-wrap:wrap;justify-content:center;gap:.25rem .75rem}.pf-footer-grid{grid-template-columns:1fr}}@media (height<=42rem){.pf-auth{place-items:start center}.pf-root--signin .pf-auth-visual{display:block}.pf-root--signin .pf-auth--studio .pf-auth-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"card""visual";gap:.75rem;width:min(100% - 3rem,30rem)}.pf-root--signin .pf-auth--studio .pf-auth-stage:before{display:none}}@media (width<=22rem){.pf-root--signin .pf-auth{padding-block:.65rem}.pf-root--signin .pf-auth-card{padding-block:1rem}.pf-root--signin .pf-auth-eyebrow{display:none}.pf-root--signin .pf-auth-sub{margin-bottom:1.15rem}}@media (width<=17.5rem){.pf-auth-stage,.pf-auth--studio .pf-auth-stage{width:calc(100% - 1rem)}.pf-auth-card{padding-inline:1rem}.pf-auth-card .pf-logo{font-size:clamp(.75rem,7vw,1rem)}.pf-auth-card .pf-otp[data-length="8"],.pf-auth-card .pf-otp[data-length="6"]{grid-template-columns:repeat(2,minmax(2.75rem,3.25rem))}.pf-auth-card .ff-btn{white-space:normal;height:auto;min-height:3rem;padding-block:.75rem}}.pf-logo-img{align-self:center;width:auto;height:1.45em;margin-right:.4rem}.ffp-shell,.ffp-shell *,.ffp-shell :before,.ffp-shell :after{box-sizing:border-box}:root{--ffp-field-measure:28rem;--ffp-reading-column:1120px;--ffp-page-gutter:2rem;--ffp-field-rhythm:.6rem;--ffp-card-stack-gap:1.25rem;--ffp-control-height:2.5rem;--ffp-control-font-size:.9375rem;--ffp-control-pad-x:.875rem}.ffp-shell{grid-template-columns:var(--ff-sidebar-width) minmax(0, 1fr);background:var(--ff-bg);min-height:100vh;color:var(--ff-text);font-family:var(--ff-font-body);transition:grid-template-columns var(--ff-duration-fast) var(--ff-ease-out);display:grid}.ffp-shell.is-sidebar-collapsed{grid-template-columns:var(--ff-sidebar-collapsed-width) minmax(0, 1fr)}.ffp-sidebar{border-right:1px solid var(--ff-border);background:radial-gradient(circle at 38% 0%, color-mix(in srgb, var(--ff-primary) 12%, transparent), transparent 30%), color-mix(in srgb, var(--ff-surface) 72%, var(--ff-bg));scrollbar-width:thin;scrollbar-color:var(--ff-border) transparent;z-index:25;flex-direction:column;gap:.85rem;height:100dvh;padding:1rem .8rem .85rem;display:flex;position:sticky;top:0;overflow:hidden auto}.ffp-sidebar--mobile{display:none}.ffp-sidebar-head{align-items:center;gap:.5rem;display:flex}.ffp-sidebar-toggle{border:1px solid var(--ff-border-subtle);background:color-mix(in srgb, var(--ff-surface) 70%, transparent);width:44px;height:44px;color:var(--ff-text-muted);flex:none;padding:0}.ffp-sidebar-toggle:hover:not(:disabled){border-color:var(--ff-border);color:var(--ff-text)}.ffp-sidebar a:focus-visible,.ffp-sidebar button:focus-visible{outline:2px solid var(--ff-accent);outline-offset:2px}.ffp-brand{min-width:0;min-height:44px;color:var(--ff-text);flex:1;align-items:center;gap:.6rem;padding:.25rem .45rem;text-decoration:none;display:flex}.ffp-brand:hover{text-decoration:none}.ffp-brand-mark{border-radius:var(--ff-radius);background:var(--ff-gradient);width:38px;height:38px;color:var(--ff-primary-contrast);flex:none;place-items:center;display:grid}.ffp-brand-lockup{flex-direction:column;min-width:0;display:flex}.ffp-brand-name{font-family:var(--ff-font-display);letter-spacing:-.015em;white-space:nowrap;font-size:1.02rem;font-weight:700;line-height:1.1}.ffp-brand-name em{background:var(--ff-gradient);color:#0000;background-size:220%;-webkit-background-clip:text;background-clip:text;font-style:normal;animation:7s ease-in-out infinite alternate ff-gradient-pan}.ffp-brand-tagline,.ffp-saved-group-title{color:var(--ff-text-muted);letter-spacing:.045em;text-transform:uppercase;font-size:.64rem;font-weight:600}.ffp-brand-tagline{white-space:nowrap;margin-top:.18rem;line-height:1}.ffp-create-video-menu{display:contents}.ffp-create-video{border:1px solid color-mix(in srgb, var(--ff-primary-contrast) 14%, transparent);border-radius:var(--ff-radius-lg);background:linear-gradient(color-mix(in srgb, var(--ff-bg) 24%, transparent), color-mix(in srgb, var(--ff-bg) 24%, transparent)), var(--ff-gradient);min-height:56px;box-shadow:var(--ff-shadow), var(--ff-glow-soft);color:var(--ff-primary-contrast);transition:transform var(--ff-duration-fast) var(--ff-ease-spring), box-shadow var(--ff-duration-fast) var(--ff-ease-out);align-items:center;gap:.7rem;padding:.62rem .7rem;text-decoration:none;display:flex}.ffp-create-video:hover:not(:disabled){color:var(--ff-primary-contrast);box-shadow:var(--ff-shadow-lg), var(--ff-glow-primary);text-decoration:none;transform:translateY(-1px)}.ffp-create-video:active:not(:disabled){transform:translateY(0)}.ffp-create-video:disabled{opacity:.55;cursor:not-allowed}.ffp-create-video-icon{border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-primary-contrast) 14%, transparent);flex:none;place-items:center;width:30px;height:30px;display:grid}.ffp-create-video>span:last-child{flex-direction:column;min-width:0;display:flex}.ffp-create-video strong{font-size:.83rem;line-height:1.2}.ffp-create-video small{color:color-mix(in srgb, var(--ff-primary-contrast) 90%, transparent);text-overflow:ellipsis;white-space:nowrap;margin-top:.16rem;font-size:.65rem;line-height:1.2;overflow:hidden}.ffp-nav{flex-direction:column;gap:.7rem;display:flex}.ffp-nav-group ul{flex-direction:column;gap:.12rem;margin:0;padding:0;list-style:none;display:flex}.ffp-nav-section{font-family:var(--ff-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ff-text-muted);margin:0 .55rem .3rem;font-size:.62rem;font-weight:700;line-height:1.2}.ffp-nav a{border-radius:var(--ff-radius);min-height:44px;color:var(--ff-text-muted);transition:background var(--ff-duration-fast) var(--ff-ease-out), color var(--ff-duration-fast) var(--ff-ease-out), transform var(--ff-duration-fast) var(--ff-ease-spring), box-shadow var(--ff-duration-fast) var(--ff-ease-out);align-items:center;gap:.62rem;padding:.34rem .5rem;text-decoration:none;display:flex;position:relative}.ffp-nav a:hover{color:var(--ff-text);background:color-mix(in srgb, var(--ff-surface-2) 72%, transparent);text-decoration:none;transform:translate(2px)}.ffp-nav a.active{color:var(--ff-text);background:var(--ff-surface-2);box-shadow:var(--ff-shadow)}.ffp-nav a.active:before{background:var(--ff-gradient);width:3px;box-shadow:var(--ff-glow-soft);content:"";border-radius:999px;position:absolute;inset:7px auto 7px -.5rem}.ffp-nav-icon{border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-surface-hover) 52%, transparent);width:34px;height:34px;color:var(--ff-text-muted);transition:color var(--ff-duration-fast) var(--ff-ease-out), background var(--ff-duration-fast) var(--ff-ease-out), border-color var(--ff-duration-fast) var(--ff-ease-out);border:1px solid #0000;flex:none;place-items:center;display:grid}.ffp-nav-icon svg{width:22px;height:22px}.ffp-nav a:hover .ffp-nav-icon{color:var(--ff-text)}.ffp-nav a.active .ffp-nav-icon{border-color:var(--ff-border);background:linear-gradient(160deg, color-mix(in srgb, var(--ff-accent) 16%, transparent), color-mix(in srgb, var(--ff-primary) 22%, transparent))}.ffp-nav-copy{flex-direction:column;min-width:0;display:flex}.ffp-nav-copy strong{font-size:.8rem;font-weight:600;line-height:1.15}.ffp-nav-copy small{color:var(--ff-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.14rem;font-size:.62rem;font-weight:500;line-height:1.15;overflow:hidden}.ffp-sidebar-foot{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-lg);background:color-mix(in srgb, var(--ff-surface) 78%, transparent);color:var(--ff-text-muted);transition:border-color var(--ff-duration-fast) var(--ff-ease-out), background var(--ff-duration-fast) var(--ff-ease-out);align-items:center;gap:.58rem;margin-top:auto;padding:.62rem;text-decoration:none;display:flex}.ffp-sidebar-foot:hover{border-color:var(--ff-border);background:var(--ff-surface);color:var(--ff-text);text-decoration:none}.ffp-sidebar-foot-icon{background:var(--ff-accent-soft);width:29px;height:29px;color:var(--ff-accent);border-radius:50%;flex:none;place-items:center;display:grid}.ffp-sidebar-foot>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.ffp-sidebar-foot strong{color:var(--ff-text);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:.78rem;font-weight:600;line-height:1.2;overflow:hidden}.ffp-sidebar-live{background:var(--ff-success);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--ff-success) 12%, transparent);border-radius:50%;flex:none}.ffp-sidebar-close,.ffp-mobile-nav-trigger,.ffp-sidebar-backdrop{display:none}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed{align-items:center;gap:.72rem;padding-inline:.65rem}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-head{flex-direction:column;width:100%}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-brand{flex:none;justify-content:center;width:44px;padding-inline:0}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-brand-lockup,.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-create-video>span:last-child,.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav-copy,.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-foot>span:nth-child(2),.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-create-video,.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav a,.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-foot{justify-content:center;gap:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-create-video{border-radius:var(--ff-radius)}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-create-video-icon{width:30px;height:30px}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-hold-action{flex:none;justify-content:center;gap:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-hold-action-icon{justify-content:center;align-items:center;display:inline-flex}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav{gap:.52rem;width:44px}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav-group{flex-direction:column;align-items:center;display:flex}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav-group+.ffp-nav-group:before{background:var(--ff-border-subtle);content:"";width:30px;height:1px;margin-bottom:.52rem}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav-section{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav-group ul{gap:.18rem}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav a:hover{transform:none}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-nav a.active:before{inset:7px auto 7px -.65rem}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-foot{border-radius:var(--ff-radius);flex:none;margin-top:auto}.ffp-sidebar:not(.ffp-sidebar--mobile).is-collapsed .ffp-sidebar-foot-icon{width:29px;height:29px}.ffp-sidebar-tooltip{z-index:100;pointer-events:auto;animation:ffp-fade var(--ff-duration-fast) var(--ff-ease-out);padding-left:.6rem;position:fixed;transform:translateY(-50%)}.ffp-sidebar-tooltip-content{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-surface-2);max-width:15rem;box-shadow:var(--ff-shadow-lg);color:var(--ff-text);font-family:var(--ff-font-body);-webkit-user-select:text;user-select:text;padding:.48rem .62rem;font-size:.72rem;font-weight:600;line-height:1.25;display:block}.ffp-main{flex-direction:column;min-width:0;display:flex}.ffp-topbar{border-bottom:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-surface) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;justify-content:flex-end;align-items:center;gap:.75rem;padding:.8rem 2rem;display:flex;position:sticky;top:0}.ffp-appupdate{width:calc(100% - 2 * var(--ffp-page-gutter));max-width:calc(var(--ffp-reading-column) - 2 * var(--ffp-page-gutter));margin:1.5rem auto -.5rem}.ffp-appupdate .ff-alert-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;width:100%;display:flex}.ffp-appupdate-copy{gap:.15rem;min-width:0;display:grid}.ffp-appupdate-copy strong{font-weight:600}.ffp-appupdate-copy p{max-width:68ch;color:var(--ff-text-muted);margin:0;font-size:.85rem;line-height:1.5}.ffp-appupdate-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.ffp-chip{border:1px solid var(--ff-border);background:var(--ff-surface);color:var(--ff-text);white-space:nowrap;border-radius:999px;align-items:center;gap:.45rem;padding:.32rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.ffp-chip .ff-loader-mark{width:.85rem;height:.85rem}.ffp-chip.is-unavailable{color:var(--ff-text-muted);text-decoration:none}.ffp-chip.is-unavailable .ffp-chip-dot{background:var(--ff-text-subtle)}.ffp-chip .ffp-chip-dot{background:var(--ff-accent);border-radius:50%;flex:none;width:8px;height:8px}.ffp-chip>svg{flex:none;width:14px;height:14px}.ffp-chip.is-low>svg{opacity:.85}.ffp-chip.is-low{border-color:color-mix(in srgb, var(--ff-warning) 45%, transparent);background:var(--ff-warning-soft);color:var(--ff-warning);text-decoration:none}.ffp-chip.is-low:hover{border-color:var(--ff-warning)}.ffp-chip.is-low .ffp-chip-dot{background:var(--ff-warning)}.ffp-chip.is-low small{color:var(--ff-warning)}.ffp-credit-notice{border:1px solid color-mix(in srgb, var(--ff-warning) 45%, transparent);border-radius:var(--ff-radius-lg);background:var(--ff-warning-soft);color:var(--ff-warning);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1.1rem;font-size:.88rem;display:flex}.ffp-credit-notice svg{flex:none}.ffp-credit-notice a{color:inherit;font-weight:600}.ffp-chip small{color:var(--ff-text-muted);font-weight:500}.ffp-usermenu{position:relative}.ffp-usermenu-btn{border:1px solid var(--ff-border);background:var(--ff-surface);color:var(--ff-text);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:.55rem;padding:.28rem .6rem .28rem .32rem;font-size:.85rem;transition:border-color .14s;display:flex}.ffp-usermenu-btn:hover{border-color:var(--ff-primary)}.ffp-usermenu-name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}.ffp-avatar{background:var(--ff-gradient);width:28px;height:28px;color:var(--ff-primary-contrast);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.ffp-avatar-img{object-fit:cover;display:block}.ffp-usermenu-pop{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);min-width:230px;box-shadow:var(--ff-shadow);z-index:30;padding:.5rem;animation:.14s ffp-pop;position:absolute;top:calc(100% + 8px);right:0}.ffp-usermenu-id{border-bottom:1px solid var(--ff-border);margin-bottom:.4rem;padding:.5rem .6rem .6rem}.ffp-usermenu-id strong{font-size:.88rem;display:block}.ffp-usermenu-email{color:var(--ff-text-muted);overflow-wrap:anywhere;margin-top:.15rem;font-size:.75rem;display:block}.ffp-usermenu-role{margin-top:.4rem}.ffp-usermenu-pop a,.ffp-usermenu-pop button{text-align:left;border-radius:var(--ff-radius);width:100%;color:var(--ff-text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.55rem;padding:.45rem .6rem;font-size:.85rem;text-decoration:none;display:flex}.ffp-usermenu-pop a:hover,.ffp-usermenu-pop button:hover{background:var(--ff-surface-2)}.ffp-usermenu-pop a svg,.ffp-usermenu-pop button svg{color:var(--ff-text-muted);flex:none}.ffp-usermenu-item-label{flex:1}.ffp-usermenu-group>button>svg:last-child{margin-left:auto;transition:transform .14s}.ffp-usermenu-group.is-open>button>svg:last-child{transform:rotate(180deg)}.ffp-usermenu-sub a,.ffp-usermenu-sub button{padding-left:calc(1.15rem + 15px)}.ffp-usermenu-divider{background:var(--ff-border);height:1px;margin:.4rem 0}.ffp-usermenu-danger,.ffp-usermenu-danger svg{color:var(--ff-danger)}.ffp-search{width:min(400px,40vw);margin-right:auto;position:relative}.ffp-search input{border:1px solid var(--ff-border);background:var(--ff-surface);width:100%;color:var(--ff-text);font:inherit;border-radius:999px;padding:.42rem 3.4rem .42rem .9rem;font-size:.85rem}.ffp-search input:focus{border-color:var(--ff-primary);outline:none}.ffp-search-kbd{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-surface-2);color:var(--ff-text-muted);pointer-events:none;padding:.1rem .4rem;font-size:.68rem;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.ffp-search input:not(:placeholder-shown)+.ffp-search-kbd{display:none}.ffp-search-pop{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);box-shadow:var(--ff-shadow);z-index:30;max-height:min(420px,100vh - 90px);padding:.5rem;animation:.14s ffp-pop;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.ffp-search-group+.ffp-search-group{border-top:1px solid var(--ff-border);margin-top:.4rem;padding-top:.4rem}.ffp-search-group .ffp-help-label{margin:.15rem .6rem .3rem}.ffp-search-pop button{text-align:left;border-radius:var(--ff-radius);width:100%;color:var(--ff-text);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.ffp-search-pop button.is-active{background:var(--ff-surface-2)}.ffp-search-result-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ffp-search-result-hint{color:var(--ff-text-muted);flex:none;font-size:.72rem}.ffp-search-wait{justify-items:center;padding:1rem .9rem;display:grid}.ffp-search-empty{color:var(--ff-text-muted);text-align:center;margin:0;padding:1rem .9rem;font-size:.83rem}.ffp-notif,.ffp-notif>.ffp-icon-btn{position:relative}.ffp-notif-badge{background:var(--ff-danger);min-width:16px;height:16px;color:var(--ff-primary-contrast);border:2px solid var(--ff-surface);border-radius:999px;place-items:center;padding:0 4px;font-size:.62rem;font-weight:700;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.ffp-notif-pop{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);width:360px;max-width:calc(100vw - 2rem);box-shadow:var(--ff-shadow);z-index:30;flex-direction:column;max-height:min(480px,100vh - 90px);animation:.14s ffp-pop;display:flex;position:absolute;top:calc(100% + 8px);right:0}.ffp-notif-head{border-bottom:1px solid var(--ff-border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.ffp-notif-head h2{font-family:var(--ff-font-display);margin:0;font-size:.95rem;font-weight:700}.ffp-notif-head button{color:var(--ff-primary);font:inherit;cursor:pointer;border-radius:var(--ff-radius-sm);background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem .3rem;font-size:.76rem;font-weight:500;display:inline-flex}.ffp-notif-head button:disabled{color:var(--ff-text-muted);cursor:default}.ffp-notif-list{margin:0;padding:0;list-style:none;overflow-y:auto}.ffp-notif-item{border-bottom:1px solid var(--ff-border);gap:.7rem;padding:.85rem 1rem;display:flex}.ffp-notif-item:last-child{border-bottom:none}.ffp-notif-item.is-unread{background:var(--ff-surface-2)}.ffp-notif-item-icon{background:color-mix(in srgb, var(--ff-primary) 12%, transparent);width:30px;height:30px;color:var(--ff-primary);border-radius:50%;flex:none;place-items:center;display:grid}.ffp-notif-item.is-failed .ffp-notif-item-icon{background:var(--ff-danger-soft);color:var(--ff-danger)}.ffp-notif-item-body{min-width:0}.ffp-notif-item-body strong{font-size:.85rem;display:block}.ffp-notif-item-body p{color:var(--ff-text-muted);margin:.2rem 0 0;font-size:.8rem;line-height:1.5}.ffp-notif-item-meta{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.45rem;display:flex}.ffp-notif-item-meta time{color:var(--ff-text-muted);font-size:.72rem}.ffp-notif-item-meta a{color:var(--ff-primary);align-items:center;gap:.25rem;font-size:.76rem;font-weight:500;text-decoration:none;display:inline-flex}.ffp-notif-item-meta a:hover{text-decoration:underline}.ffp-notif-wait{justify-items:center;padding:1.5rem 1.25rem;display:grid}.ffp-notif-empty{color:var(--ff-text-muted);text-align:center;margin:0;padding:1.75rem 1.25rem;font-size:.83rem;line-height:1.55}.ffp-srcmenu{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex;position:relative}.ffp-srcmenu>.ffp-srcmenu-note{max-width:42ch}.ffp-record-hold{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex;position:relative}.ffp-record-hold .ffp-srcmenu-note{max-width:42ch}.ffp-srcmenu-trigger svg{opacity:.85;margin-left:.1rem}.ffp-srcmenu-pop{z-index:30;width:320px;max-width:calc(100vw - 2rem);max-height:var(--ffp-srcmenu-max-block,none);overscroll-behavior:contain;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);box-shadow:var(--ff-shadow);translate:var(--ffp-srcmenu-shift,0) var(--ffp-srcmenu-shift-y,0);margin:0;padding:.4rem;list-style:none;animation:.14s ffp-pop;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.ffp-srcmenu-pop--fixed{z-index:70;position:fixed;top:auto;right:auto}.ffp-srcmenu-item{text-align:left;border-radius:var(--ff-radius);width:100%;color:var(--ff-text);font:inherit;cursor:pointer;background:0 0;border:none;gap:.15rem;padding:.5rem .6rem;display:grid}.ffp-srcmenu-item:hover,.ffp-srcmenu-item:focus{background:var(--ff-surface-2)}.ffp-srcmenu-item:focus-visible{outline:2px solid var(--ff-accent);outline-offset:-2px}.ffp-srcmenu-item-icon{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-sm);background:color-mix(in srgb, var(--ff-surface-hover) 52%, transparent);flex:none;place-items:center;width:30px;height:30px;display:grid}.ffp-srcmenu-item.is-unavailable .ffp-srcmenu-item-icon{opacity:.55}.ffp-srcmenu-item-head{align-items:center;gap:.5rem;display:flex}.ffp-srcmenu-item-label{flex:1;font-size:.88rem;font-weight:500}.ffp-srcmenu-note{color:var(--ff-text-muted);font-size:.76rem;line-height:1.5}.ffp-srcmenu-item.is-unavailable{cursor:not-allowed}.ffp-srcmenu-item.is-unavailable .ffp-srcmenu-item-label{color:var(--ff-text-muted)}.ffp-srcmenu-item.is-unavailable:hover:not(:focus){background:0 0}.ffp-content{width:100%;max-width:var(--ffp-reading-column);padding:2rem var(--ffp-page-gutter) 4rem;flex:1;margin:0 auto;animation:.26s both ffp-rise}.ffp-content:focus{box-shadow:none}.ffp-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.6rem;display:flex}.ffp-page-title{font-family:var(--ff-font-display);letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:700}.ffp-page-subtitle{color:var(--ff-text-muted);max-width:60ch;margin:.35rem 0 0;font-size:.92rem}.ffp-page-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ffp-grid{gap:1rem;display:grid}.ffp-grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ffp-grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.ffp-grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.ffp-stat{flex-direction:column;gap:.3rem;display:flex}.ffp-stat-label{letter-spacing:.07em;text-transform:uppercase;color:var(--ff-text-muted);font-size:.74rem;font-weight:600}.ffp-stat-value{font-family:var(--ff-font-display);letter-spacing:-.02em;font-size:1.9rem;font-weight:700;line-height:1.1}.ffp-stat-value small{color:var(--ff-text-muted);font-size:1rem;font-weight:500}.ffp-stat-hint{color:var(--ff-text-muted);font-size:.78rem}.ffp-dash-layout{grid-template-columns:1fr;column-gap:20px;display:grid}.ffp-dash-layout>.ffp-section{min-width:0}@media (width>=901px){.ffp-dash-layout{grid-template-rows:auto auto auto minmax(0,1fr) auto auto;grid-template-columns:320px minmax(0,1fr)}.ffp-dash-layout>.ffp-section{grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;margin:0;display:grid}.ffp-dash-account{grid-area:1/1/span 4}.ffp-dash-account>.ff-card{grid-row:2/span 3}.ffp-dash-needs{grid-area:1/2/span 2}.ffp-dash-made{grid-area:3/2/span 2}.ffp-dash-recent{grid-area:5/1/span 2/-1}.ffp-dash-made>.ffp-dash-head,.ffp-dash-recent>.ffp-dash-head{margin-top:1.5rem}.ffp-dash-account>.ff-card{flex-direction:column;display:flex}.ffp-dash-account>.ff-card>.ff-card__body,.ffp-dash-account .ffp-dash-account-body{flex:1}.ffp-dash-account>.ff-card>.ff-card__body{flex-direction:column;display:flex}.ffp-dash-account .ffp-dash-account-actions{margin-top:auto}}.ffp-dash-account-body{flex-direction:column;gap:.75rem;display:flex}.ffp-dash-plan-name{font-family:var(--ff-font-display);color:var(--ff-text);margin:0;font-size:1.45rem;line-height:1.15}.ffp-dash-account-renews{color:var(--ff-text-muted);margin:0;font-size:.82rem}.ffp-dash-account-rule{background:var(--ff-border);border:0;height:1px;margin:.15rem 0}.ffp-dash-meter{flex-direction:column;gap:.4rem;display:flex}.ffp-dash-meter-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.ffp-dash-meter-head .ffp-stat-label{align-items:center;gap:.35rem;display:inline-flex}.ffp-dash-meter-figure{white-space:nowrap;font-size:.86rem;font-weight:600}.ffp-dash-meter-figure[data-scarce]{color:var(--ff-warning)}.ffp-dash-runway{color:var(--ff-warning);margin:0;font-size:.8rem}.ffp-dash-account-actions{flex-wrap:wrap;gap:.5rem;margin-top:.15rem;display:flex}.ffp-dash-account-actions>*{flex:8rem}@media (width>=901px){.ffp-dash-made .ffp-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.ffp-dash-stopped{border:1px dashed var(--ff-border);border-radius:var(--ff-radius);color:var(--ff-text-muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding:.7rem 1.1rem;font-size:.86rem;display:flex}.ffp-dash-stopped:hover{border-color:var(--ff-border-subtle);background:var(--ff-surface-2)}.ffp-dash-lede{color:var(--ff-text-muted);margin:-.35rem 0 .75rem;font-size:.82rem}.ffp-dash-clear{flex-direction:column;gap:.25rem;display:flex}.ffp-dash-todo{border-left:3px solid var(--ff-primary)}.ffp-dash-todo[data-urgent]{border-left-color:var(--ff-warning)}.ffp-dash-due{color:var(--ff-text-muted)}.ffp-dash-due[data-urgent]{color:var(--ff-warning);font-weight:600}.ffp-dash-verb{color:var(--ff-primary);white-space:nowrap;flex-shrink:0;font-size:.8rem;font-weight:600}.ffp-dash-todo:hover .ffp-dash-verb{color:var(--ff-primary-hover)}.ffp-dash-more{color:var(--ff-primary);text-underline-offset:.2em;margin-top:.6rem;font-size:.82rem;text-decoration:underline;display:inline-block}.ffp-dash-more:hover{color:var(--ff-primary-hover)}.ffp-project-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);color:var(--ff-text);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.1rem;text-decoration:none;transition:border-color .14s,transform .14s,box-shadow .14s;display:flex;position:relative}.ffp-row-title-link{color:inherit;text-decoration:none}.ffp-row-title-link:after{content:"";position:absolute;inset:0}.ffp-row-aux{z-index:1;position:relative}.ffp-meta-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.ffp-meta-link:hover{color:var(--ff-primary)}.ffp-recording-row.is-highlighted{border-color:var(--ff-primary);box-shadow:var(--ff-shadow)}.ffp-project-row:hover{border-color:var(--ff-primary);box-shadow:var(--ff-shadow);transform:translateY(-1px)}.ffp-project-row h3{margin:0 0 .2rem;font-size:.98rem;font-weight:600}.ffp-project-row .ffp-row-meta{color:var(--ff-text-muted);font-size:.78rem}.ffp-row-list{flex-direction:column;gap:.65rem;display:flex}.ffp-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.ffp-toolbar--end{justify-content:flex-end}.ffp-toolbar-search{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);min-width:180px;color:var(--ff-text);font:inherit;flex:1;padding:.5rem .7rem;font-size:.88rem}.ffp-toolbar-count{color:var(--ff-text-muted);white-space:nowrap;font-size:.78rem}.ffp-toolbar-note{margin:-.4rem 0 1rem}.ffp-row-main{align-items:center;gap:.85rem;min-width:0;display:flex}.ffp-row-thumb{width:84px;aspect-ratio:var(--ffp-frame-ratio,16 / 9);object-fit:cover;border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border);flex:none}.ffp-row-thumb--placeholder{background:var(--ff-gradient);color:var(--ff-primary-contrast);place-items:center;display:grid}.ffp-action-cue{color:var(--ff-accent);border:1px solid color-mix(in srgb, var(--ff-accent) 45%, transparent);white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .14s}.ffp-action-cue:hover{background:color-mix(in srgb, var(--ff-accent) 12%, transparent)}.ffp-tip-below .ff-tooltip__bubble{top:calc(100% + .5rem);bottom:auto}.ffp-tip-below .ff-tooltip__bubble:before{top:auto;bottom:100%}.ffp-duration-presets{flex-wrap:wrap;gap:.45rem;margin:-.4rem 0 1rem;display:flex}.ffp-chip-btn{border:1px solid var(--ff-border);background:var(--ff-surface-2);color:var(--ff-text-muted);font:inherit;cursor:pointer;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;transition:border-color .14s,color .14s}.ffp-chip-btn:hover{border-color:var(--ff-primary);color:var(--ff-text)}.ffp-chip-btn.is-selected{border-color:var(--ff-primary);color:var(--ff-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}.ffp-timeline-wrap{padding-bottom:.25rem;overflow-x:auto}.ffp-timeline{min-width:640px;margin:0;padding:.4rem 0;list-style:none;display:flex}.ffp-timeline-step{flex-direction:column;flex:1;align-items:center;gap:.5rem;min-width:78px;display:flex;position:relative}.ffp-timeline-dot{border:2px solid var(--ff-border);background:var(--ff-surface);width:22px;height:22px;color:var(--ff-primary-contrast);z-index:1;border-radius:50%;place-items:center;transition:all .2s;display:grid}.ffp-timeline-bar{background:var(--ff-border);height:2px;position:absolute;top:11px;left:calc(50% + 13px);right:calc(13px - 50%)}.ffp-timeline-label{color:var(--ff-text-muted);text-align:center;font-size:.72rem;font-weight:600}.ffp-timeline-step.is-done .ffp-timeline-dot{background:var(--ff-primary);border-color:var(--ff-primary)}.ffp-timeline-step.is-done .ffp-timeline-bar{background:var(--ff-primary)}.ffp-timeline-step.is-active .ffp-timeline-dot{border-color:var(--ff-primary);box-shadow:0 0 0 5px color-mix(in srgb, var(--ff-primary) 18%, transparent);animation:1.8s infinite ffp-pulse}.ffp-timeline-step.is-active .ffp-timeline-label{color:var(--ff-primary)}.ffp-timeline-terminal{color:var(--ff-text-muted);margin:.6rem 0 0;font-size:.85rem}.ffp-activity{animation:ffp-rise .3s var(--ff-ease-out);margin-bottom:1.5rem}.ffp-activity-head{align-items:flex-start;gap:.9rem;display:flex}.ffp-activity-copy{flex:1;min-width:0}.ffp-activity-headline{font-size:1rem;display:block}.ffp-activity-desc{color:var(--ff-text-muted);text-wrap:pretty;margin:.25rem 0 0;font-size:.88rem}.ffp-activity-elapsed{font-family:var(--ff-font-mono);font-variant-numeric:tabular-nums;color:var(--ff-primary);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.1rem;font-size:1rem;display:flex}.ffp-activity-elapsed-label{font-family:var(--ff-font-body);color:var(--ff-text-subtle);font-size:.7rem}.ffp-activity-hint{border-radius:var(--ff-radius-sm);background:var(--ff-warning-soft);color:var(--ff-warning);animation:ffp-fade .4s var(--ff-ease-out);margin:.8rem 0 0;padding:.55rem .8rem;font-size:.82rem}.ffp-failure{border-color:color-mix(in srgb, var(--ff-danger) 30%, var(--ff-border));margin-bottom:1.5rem}.ffp-failure-head{align-items:flex-start;gap:.75rem;display:flex}.ffp-failure-icon{background:var(--ff-danger-soft);width:34px;height:34px;color:var(--ff-danger);border-radius:50%;flex:none;place-items:center;display:grid}.ffp-failure-headline{font-size:1rem}.ffp-failure-intro{color:var(--ff-text-muted);max-width:62ch;margin:.25rem 0 0;font-size:.85rem}.ffp-failure-retry-note{border-left:3px solid var(--ff-border);border-radius:0 var(--ff-radius-sm) var(--ff-radius-sm) 0;background:var(--ff-surface-2);color:var(--ff-text-muted);box-sizing:border-box;width:100%;margin:.85rem 0 0;padding:.65rem .85rem;font-size:.85rem}.ffp-failure-reason{border-left:3px solid var(--ff-danger);border-radius:0 var(--ff-radius-sm) var(--ff-radius-sm) 0;background:var(--ff-danger-soft);color:var(--ff-danger);overflow-wrap:anywhere;margin:.85rem 0 .5rem;padding:.65rem .85rem;font-size:.88rem}.ffp-failure-money{color:var(--ff-text-muted);box-sizing:border-box;width:100%;margin:0 0 1rem;font-size:.85rem}.ffp-narration{resize:vertical;border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);width:100%;min-height:180px;color:var(--ff-text);font-family:var(--ff-font-body);padding:.85rem 1rem;font-size:.92rem;line-height:1.55}.ffp-narration:focus-visible{outline:2px solid var(--ff-primary);outline-offset:1px}.ffp-charcount{color:var(--ff-text-muted);text-align:right;margin-top:.5rem;font-size:.75rem}.ffp-field-block{margin-top:.75rem}.ffp-field-block .ff-input{max-width:var(--ffp-field-measure)}.ffp-hintcount{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.ffp-hintcount>:first-child{flex:auto;min-width:0}.ffp-hintcount .ffp-charcount{flex-shrink:0;margin-top:0;margin-left:auto}.ffp-narration-card .ff-alert{margin-top:.75rem}.ffp-charcount.is-over{color:var(--ff-primary);font-weight:700}.ffp-narration-notes{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);margin-top:.75rem;padding:.55rem .75rem}.ffp-narration-notes>summary{cursor:pointer}.ffp-narration-notes[open]>summary{margin-bottom:.15rem}.ffp-askai{margin-top:.75rem}.ffp-askai-control{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ffp-askai-outcome{color:var(--ff-text-muted);margin:.4rem 0 0;font-size:.85rem}.ffp-quiet-ack{align-items:center;gap:.45rem;margin-top:.45rem;display:flex}.ffp-pacing-details{margin-top:.4rem}.ffp-pacing-details>summary{cursor:pointer}.ffp-pacing-list{flex-direction:column;gap:.3rem;margin:.4rem 0 0 1rem;padding-left:.1rem;font-size:.8125rem;display:flex}.ffp-pacing-total{margin:.4rem 0 0}.ffp-scene-caveat{color:var(--ff-text-subtle);margin:0 0 .9rem;font-size:.76rem}.ffp-scene-list{flex-direction:column;gap:.9rem;display:flex}.ffp-trim-row{align-items:flex-start;gap:.75rem;display:flex}.ffp-trim-row-body{flex:auto;min-width:0}.ffp-trim-still-btn{border-radius:var(--ff-radius-sm);cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:block}.ffp-trim-still-btn:focus-visible{outline:2px solid var(--ff-accent);outline-offset:2px}.ffp-trim-still{border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border);object-fit:cover;background:var(--ff-surface);width:128px;height:80px;display:block}.ffp-scene-line{color:var(--ff-text-muted);margin:0 0 .9rem;font-size:.85rem;font-style:italic}.ffp-scene-body{grid-template-columns:minmax(260px,1.1fr) minmax(240px,1fr);align-items:start;gap:1rem;display:grid}@media (width<=900px){.ffp-scene-body{grid-template-columns:1fr}}.ffp-scene-frame{flex-direction:column;gap:.45rem;display:flex}.ffp-scene-add,.ffp-scene-adjust{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ffp-scene-note{color:var(--ff-text-subtle);text-transform:none;letter-spacing:0;font-size:.74rem;font-weight:400}.ffp-scene-row.ffp-scene-selected{grid-template-columns:1fr auto auto;place-items:center end}.ffp-scene-row.ffp-scene-selected>:first-child{justify-self:start}.ffp-scene-finetune>summary{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;color:var(--ff-text-muted);padding:.3rem 0;font-size:.74rem;font-weight:700}.ffp-scene-finetune[open]>summary{margin-bottom:.5rem}.ffp-scene-finetune{border-top:1px solid var(--ff-border);flex-direction:column;gap:.6rem;padding-top:.4rem;display:flex}.ffp-lane{flex-direction:column;gap:.3rem;display:flex}.ffp-lane-track{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-surface-2);height:2.1rem;position:relative;overflow:hidden}.ffp-lane-track.is-overlays{--ffp-lane-row-h:1.4rem;height:calc(var(--ffp-lane-rows,1) * var(--ffp-lane-row-h))}.ffp-lane-track.is-overlays .ffp-lane-block{top:calc(var(--ffp-lane-row,0) * var(--ffp-lane-row-h) + .15rem);height:calc(var(--ffp-lane-row-h) - .3rem);bottom:auto}.ffp-lane-track:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-lane-block{border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border-strong,var(--ff-border));background:var(--ff-surface);position:absolute;top:.2rem;bottom:.2rem;overflow:hidden}.ffp-lane-block.is-selected{border-color:var(--ff-primary);box-shadow:var(--ff-focus-ring)}.ffp-lane-block.is-adrift{border-style:dashed}.ffp-lane-block.is-dropped{border-style:dashed;border-color:var(--ff-warning);background:var(--ff-warning-soft)}.ffp-lane-block.is-dropped .ffp-lane-name{text-decoration:line-through;text-decoration-thickness:1px}.ffp-lane-block.has-swatch{border-left:3px solid var(--ffp-swatch)}.ffp-swatch-row{align-items:center;gap:.4rem;min-height:2rem;display:flex}.ffp-swatch-btn{border:2px solid var(--ff-border);background:var(--ffp-swatch);cursor:pointer;border-radius:50%;width:1.4rem;height:1.4rem;padding:0}.ffp-swatch-btn:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-swatch-btn.is-selected{border-color:var(--ff-primary);box-shadow:var(--ff-focus-ring)}.ffp-swatch-btn:disabled{opacity:.5;cursor:default}.ffp-lane-hit{z-index:1;color:var(--ff-text);font:inherit;cursor:grab;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.3rem;padding:0 .4rem;font-size:.7rem;display:flex;position:absolute;inset:0;overflow:hidden}.ffp-lane-hit:disabled{cursor:not-allowed}.ffp-lane-number{font-variant-numeric:tabular-nums;font-weight:700}.ffp-lane-name{text-overflow:ellipsis;color:var(--ff-text-muted);overflow:hidden}.ffp-lane-ramp{z-index:0;pointer-events:none;background:repeating-linear-gradient(135deg, var(--ff-border) 0 2px, transparent 2px 5px);position:absolute;top:0;bottom:0}.ffp-lane-ramp.is-in{left:0}.ffp-lane-ramp.is-out{right:0}.ffp-lane-pulse{z-index:0;background:var(--ff-primary);opacity:.6;pointer-events:none;width:2px;position:absolute;top:.25rem;bottom:.25rem}.ffp-lane-join{color:var(--ff-primary);pointer-events:none;position:absolute;top:50%;left:-.55rem;transform:translateY(-50%)}.ffp-lane-grip{z-index:2;cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.ffp-lane-grip.is-start{left:0}.ffp-lane-grip.is-end{right:0}.ffp-lane-overrun{pointer-events:none;background:repeating-linear-gradient(45deg, var(--ff-primary) 0 2px, transparent 2px 6px);width:10px;position:absolute;top:0;bottom:0;right:0}.ffp-lane-splitpoint{background:var(--ff-primary);pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.ffp-lane-cut{background:var(--ff-text-subtle);opacity:.55;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.ffp-lane-hint{color:var(--ff-text-subtle);margin:0;font-size:.72rem}.ffp-stepper{width:100%;font:inherit;color:var(--ff-text);background:var(--ff-surface-2);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);padding:.35rem .5rem}.ffp-stepper:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-framepicker-ghost{border:1px dashed var(--ff-primary);min-width:1.05rem;height:1.05rem;color:var(--ff-primary);background:color-mix(in srgb, var(--ff-bg) 65%, transparent);pointer-events:none;border-radius:999px;place-items:center;font-size:.62rem;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.ffp-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.ffp-scene-controls{flex-direction:column;gap:.7rem;display:flex}.ffp-scene-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.ffp-scene-field{flex-direction:column;gap:.3rem;display:flex}.ffp-scene-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ff-text-muted);font-size:.72rem;font-weight:700}.ffp-scene-value{font-variant-numeric:tabular-nums;color:var(--ff-text);text-transform:none;letter-spacing:0}.ffp-scene-travel{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.ffp-select{box-sizing:border-box;width:100%;color:var(--ff-text);background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius);font-family:var(--ff-font-body);font-size:var(--ffp-control-font-size);padding:.5rem var(--ffp-control-pad-x)}input.ffp-select,select.ffp-select{height:var(--ffp-control-height);padding:0 var(--ffp-control-pad-x)}.ffp-range{box-sizing:border-box;width:100%;color:var(--ff-text);accent-color:var(--ff-primary);background:0 0;border:0;padding:.35rem 0}.ffp-select:focus-visible,.ffp-range:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-select:disabled,.ffp-range:disabled{opacity:.55;cursor:not-allowed}.ffp-framepicker-surface{aspect-ratio:var(--ffp-frame-ratio,16 / 9);border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-bg);cursor:crosshair;touch-action:none;position:relative;overflow:hidden}.ffp-framepicker-surface.is-disabled{cursor:not-allowed;opacity:.6}.ffp-framepicker-video,.ffp-framepicker-placeholder{object-fit:cover;width:100%;height:100%;transition:transform var(--ff-duration-fast) var(--ff-ease-out);display:block}.ffp-framepicker-placeholder{background:repeating-linear-gradient(45deg, var(--ff-surface) 0 10px, var(--ff-surface-2) 10px 20px)}.ffp-framepicker-wait{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.ffp-framepicker-band{border-top:1px dashed var(--ff-border);pointer-events:none;background:linear-gradient(#0000,#0c0a148c);position:absolute;bottom:0;left:0;right:0}.ffp-framepicker-focus{border:2px solid var(--ff-accent);width:22px;height:22px;box-shadow:var(--ff-glow-soft);pointer-events:none;border-radius:50%;margin:-11px 0 0 -11px;position:absolute}.ffp-framepicker-travel{background:var(--ff-primary);opacity:.5;pointer-events:none;position:absolute}.ffp-framepicker-travel.is-target{background:var(--ff-accent);opacity:1;box-shadow:var(--ff-glow-soft)}.ffp-framepicker-region{border:2px solid var(--ff-accent);border-radius:var(--ff-radius-sm);box-shadow:var(--ff-glow-soft);pointer-events:none;position:absolute}.ffp-framepicker-callout{--ffp-callout-shift-x:-50%;--ffp-callout-shift-y:-50%;transform:translate(var(--ffp-callout-shift-x), var(--ffp-callout-shift-y));max-width:var(--ffp-callout-max-w,34%);max-height:var(--ffp-callout-max-h,22%);background:var(--ffp-callout-ground);color:var(--ffp-callout-ink);border:1px solid color-mix(in srgb, var(--ff-text) 22%, transparent);text-align:center;box-shadow:var(--ff-glow-soft);pointer-events:none;border-radius:999px;padding:.28rem .6rem;font-size:.72rem;font-weight:600;line-height:1.25;position:absolute;overflow:hidden}.ffp-framepicker-callout[data-col=start]{--ffp-callout-shift-x:0%}.ffp-framepicker-callout[data-col=end]{--ffp-callout-shift-x:-100%}.ffp-framepicker-callout[data-row=start]{--ffp-callout-shift-y:0%}.ffp-framepicker-callout[data-style=speech]{border-radius:var(--ff-radius)}.ffp-framepicker-callout[data-style=burst]{border-radius:var(--ff-radius-sm);border-style:dashed}.ffp-framepicker-callout[data-empty=true]{opacity:.75;border-style:dashed;font-style:italic;font-weight:500}.ffp-framepicker-hint{color:var(--ff-text-subtle);margin:0;font-size:.74rem}.ffp-annotations-strip{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;display:grid}.ffp-annotation-thumb{min-width:0;margin:0;position:relative}.ffp-annotation-edit{z-index:1;position:absolute;top:.4rem;right:.4rem}.ffp-annotation-thumb .ffp-framepicker-surface{cursor:default}.ffp-annotation-thumb .ffp-framepicker-hint{margin-top:.35rem}@media (prefers-reduced-motion:reduce){.ffp-framepicker-video,.ffp-framepicker-placeholder{transition:none}}.ffp-provenance{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ff-border);white-space:nowrap;border-radius:999px;align-items:center;padding:.14rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.ffp-provenance.is-telemetry{color:var(--ff-accent);border-color:color-mix(in srgb, var(--ff-accent) 45%, transparent);background:color-mix(in srgb, var(--ff-accent) 12%, transparent)}.ffp-provenance.is-inference{color:var(--ff-primary);border-color:color-mix(in srgb, var(--ff-primary) 45%, transparent);background:color-mix(in srgb, var(--ff-primary) 10%, transparent)}.ffp-provenance.is-user{color:var(--ff-text);background:var(--ff-surface)}.ffp-video-card{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);flex-direction:column;gap:0;transition:transform .14s,box-shadow .14s,border-color .14s;display:flex;overflow:hidden}.ffp-video-card:hover{border-color:var(--ff-primary);box-shadow:var(--ff-shadow);transform:translateY(-2px)}.ffp-thumb{cursor:pointer;background:0 0;border:none;width:100%;margin:0;padding:0;display:block}.ffp-thumb-frame{aspect-ratio:var(--ffp-frame-ratio,16 / 9);background:var(--ff-surface-2);color:var(--ff-primary-contrast);display:block;position:relative;overflow:hidden}.ffp-thumb-frame--tile{width:100%}.ffp-thumb-frame--row{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);flex:none;width:96px}.ffp-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.ffp-thumb-placeholder{background:var(--ff-gradient);width:100%;height:100%;color:var(--ff-primary-contrast);place-items:center;display:grid}.ffp-thumb-play{background:color-mix(in srgb, var(--ff-bg) 55%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;place-items:center;width:52px;height:52px;transition:transform .14s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ffp-thumb:hover .ffp-thumb-play{transform:translate(-50%,-50%)scale(1.1)}.ffp-thumb-duration{border-radius:var(--ff-radius);background:color-mix(in srgb, var(--ff-bg) 72%, transparent);color:var(--ff-text);font-variant-numeric:tabular-nums;padding:.12rem .45rem;font-size:.72rem;font-weight:700;position:absolute;bottom:8px;right:8px}.ffp-view-toggle{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);gap:2px;padding:2px;display:inline-flex}.ffp-view-toggle-btn{border-radius:calc(var(--ff-radius) - 3px);color:var(--ff-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.34rem .62rem;font-size:.82rem;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.ffp-view-toggle-btn:hover{color:var(--ff-text)}.ffp-view-toggle-btn[aria-pressed=true]{background:var(--ff-surface);color:var(--ff-text);box-shadow:var(--ff-shadow)}.ffp-video-list{flex-direction:column;gap:.5rem;display:flex}.ffp-video-list-head,.ffp-video-row{grid-template-columns:minmax(0,1fr) 5.5rem 8.5rem auto;align-items:center;gap:1rem;display:grid}.ffp-video-list-head{letter-spacing:.04em;text-transform:uppercase;color:var(--ff-text-subtle);padding:0 1.1rem .15rem;font-size:.72rem;font-weight:700}.ffp-video-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);padding:.6rem 1.1rem;transition:border-color .14s,transform .14s,box-shadow .14s}.ffp-video-row:hover{border-color:var(--ff-primary);box-shadow:var(--ff-shadow);transform:translateY(-1px)}.ffp-video-row-main{align-items:center;gap:.85rem;min-width:0;display:flex}.ffp-video-row-text{min-width:0}.ffp-video-row h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 .15rem;font-size:.95rem;font-weight:600;overflow:hidden}.ffp-video-row .ffp-row-meta{color:var(--ff-text-muted);font-size:.78rem}.ffp-video-row-duration,.ffp-video-row-date{color:var(--ff-text-muted);font-variant-numeric:tabular-nums;font-size:.82rem}@media (width<=760px){.ffp-video-list-head,.ffp-video-row-duration,.ffp-video-row-date{display:none}.ffp-video-row{grid-template-columns:minmax(0,1fr) auto}}.ffp-video-card-body{justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .9rem;display:flex}.ffp-video-card-body>div:first-child{min-width:0}.ffp-video-card-body .ffp-inline-actions{flex-wrap:nowrap;flex:none}.ffp-video-card-body h3{margin:0 0 .15rem;font-size:.9rem;font-weight:600}.ffp-video-card-body p{color:var(--ff-text-muted);margin:0;font-size:.75rem}.ffp-video-player{width:100%;aspect-ratio:var(--ffp-frame-ratio,16 / 9);border-radius:var(--ff-radius);background:var(--ff-surface-2);color:var(--ff-text-muted);text-align:center;place-items:center;padding:1rem;font-size:.85rem;display:grid}:root{--ffp-player-max-height:min(40rem, 72dvh)}.ffp-player{--ffp-player-frame:var(--ffp-player-ratio,var(--ffp-frame-ratio,16 / 9));width:min(100%, calc(var(--ffp-player-max-height) * (var(--ffp-player-frame))));max-width:100%;height:auto;max-height:var(--ffp-player-max-height);aspect-ratio:var(--ffp-player-frame);object-fit:contain;border-radius:var(--ff-radius);background:var(--ff-bg);margin-inline:auto;display:block}.ffp-saved-list{gap:var(--ffp-field-rhythm);margin:0 0 var(--ffp-card-stack-gap);flex-direction:column;padding:0;list-style:none;display:flex}.ffp-saved-item{align-items:center;gap:var(--ffp-card-stack-gap);flex-wrap:wrap;min-width:0;display:flex}.ffp-saved-group-title{margin:var(--ffp-card-stack-gap) 0 var(--ffp-field-rhythm)}.ffp-saved-group-title:first-of-type{margin-top:0}.ffp-saved-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:var(--ff-radius);background:var(--ff-surface-2);flex:none;width:4rem}.ffp-saved-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ffp-saved-add{align-items:center;gap:var(--ffp-card-stack-gap);margin-top:var(--ffp-card-stack-gap);flex-wrap:wrap;display:flex}.ffp-saved-picker{gap:var(--ffp-field-rhythm);margin-bottom:var(--ffp-card-stack-gap);flex-direction:column;display:flex}.ffp-saved-picker-list{gap:var(--ffp-field-rhythm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ffp-folder-panel{gap:var(--ffp-field-rhythm);flex-direction:column;min-width:0;display:flex}.ffp-folder-title{color:var(--ff-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.78rem;font-weight:600}.ffp-folder-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.ffp-folder-item{align-items:center;gap:var(--ffp-field-rhythm);display:flex}.ffp-folder-row{justify-content:space-between;align-items:baseline;gap:var(--ffp-field-rhythm);min-width:0;padding:var(--ffp-field-rhythm);border-radius:var(--ff-radius);color:var(--ff-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:auto;display:flex}.ffp-folder-row:hover{background:var(--ff-surface-2)}.ffp-folder-row[aria-current=true]{background:var(--ff-surface-2);font-weight:600}.ffp-folder-row:focus-visible{outline:2px solid var(--ff-focus);outline-offset:2px}.ffp-folder-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ffp-folder-count{color:var(--ff-text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem}.ffp-folder-actions{opacity:0;gap:2px;display:flex}.ffp-folder-item:hover .ffp-folder-actions,.ffp-folder-item:focus-within .ffp-folder-actions{opacity:1}@media (hover:none){.ffp-folder-actions{opacity:1}}.ffp-folder-edit{align-items:flex-end;gap:var(--ffp-field-rhythm);flex-wrap:wrap;display:flex}.ffp-library-layout{gap:var(--ffp-card-stack-gap);align-items:start;display:grid}@media (width>=60rem){.ffp-library-layout{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr)}}.ffp-thumb-shell{position:relative}.ffp-select-box{border:1.5px solid color-mix(in srgb, var(--ff-text) 75%, transparent);background:color-mix(in srgb, var(--ff-bg) 72%, transparent);width:24px;height:24px;color:var(--ff-primary-contrast);cursor:pointer;opacity:0;border-radius:6px;place-items:center;padding:0;transition:opacity .14s;display:grid;position:absolute;top:8px;left:8px}.ffp-video-card:hover .ffp-select-box,.ffp-video-card:focus-within .ffp-select-box,.ffp-select-box:focus-visible{opacity:1}.ffp-select-box.is-visible{opacity:.75}.ffp-video-card:hover .ffp-select-box.is-visible,.ffp-video-card:focus-within .ffp-select-box.is-visible{opacity:1}.ffp-select-box.is-checked{opacity:1;background:var(--ff-gradient);box-shadow:var(--ff-glow-soft);border-color:#0000}.ffp-select-box:focus-visible{outline:2px solid var(--ff-accent);outline-offset:2px}@media (hover:none){.ffp-select-box{opacity:1}}.ffp-row-select .ffp-select-box{opacity:1;border-color:var(--ff-text-subtle);background:var(--ff-surface-2);position:static}.ffp-row-select .ffp-select-box.is-checked{background:var(--ff-gradient);border-color:#0000}.ffp-video-card.is-selected,.ffp-video-row.is-selected{border-color:var(--ff-primary);box-shadow:0 0 0 1px var(--ff-primary), var(--ff-shadow)}.ffp-video-card.is-dragging,.ffp-video-row.is-dragging{opacity:.45}.ffp-video-card[draggable=true],.ffp-video-row[draggable=true]{cursor:grab}.ffp-video-folders{flex-wrap:wrap;align-items:center;gap:.35rem;min-height:1.5rem;padding:0 .9rem .7rem;display:flex}.ffp-video-row .ffp-video-folders{min-height:0;padding:.3rem 0 0}.ffp-video-card:has(.ffp-video-folders) .ffp-video-card-body{padding-bottom:.45rem}.ffp-folder-chip{cursor:pointer;gap:.3em;height:1.35rem;padding:0 .5rem;font-family:inherit;font-size:.7rem}.ffp-folder-chip:hover{color:var(--ff-text);border-color:var(--ff-primary)}.ffp-folder-chip:focus-visible{outline:2px solid var(--ff-accent);outline-offset:2px}.ffp-video-folders-none{color:var(--ff-text-subtle);font-size:.72rem}.ffp-icon-btn.is-filed{color:var(--ff-primary)}.ffp-video-file{padding:0 .9rem .8rem}.ffp-folder-menu-anchor--labelled{width:100%;display:flex}.ffp-folder-trigger{justify-content:space-between;width:100%}.ffp-folder-trigger-words{text-align:start;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ffp-folder-trigger.is-filed{color:var(--ff-primary);border-color:color-mix(in srgb, var(--ff-primary) 45%, var(--ff-border))}.ffp-folder-menu-anchor--labelled .ffp-folder-menu{width:auto;left:0;right:0}.ffp-folder-menu.is-up{top:auto;bottom:calc(100% + 6px)}.ffp-folder-panel.is-drag-live .ffp-folder-row[data-folder]:not([data-drop]){outline:1px dashed var(--ff-border);outline-offset:-1px}.ffp-folder-row[data-drop=ready]{background:var(--ff-surface-2);outline:1px dashed var(--ff-primary);outline-offset:-1px;color:var(--ff-primary);box-shadow:var(--ff-glow-soft)}.ffp-folder-row[data-drop=ready] .ffp-folder-count{color:var(--ff-primary);font-weight:600}.ffp-folder-row[data-drop=refused]{background:var(--ff-surface-2);outline:1px dashed var(--ff-border);outline-offset:-1px;color:var(--ff-text-muted)}.ffp-folder-menu-anchor{display:inline-flex;position:relative}.ffp-video-card:has(.ffp-folder-menu){z-index:31;position:relative;overflow:visible}.ffp-video-card .ffp-thumb-frame--tile{border-top-left-radius:calc(var(--ff-radius-lg) - 1px);border-top-right-radius:calc(var(--ff-radius-lg) - 1px)}.ffp-folder-menu{z-index:30;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);width:264px;max-width:calc(100vw - 2rem);box-shadow:var(--ff-shadow-lg);text-align:start;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0}.ffp-folder-menu-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ff-text-subtle);padding:.5rem .6rem .35rem;font-size:.68rem;font-weight:700}.ffp-folder-menu-item{border-radius:var(--ff-radius-sm);width:100%;min-height:36px;color:var(--ff-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.88rem;display:flex}.ffp-folder-menu-item:hover,.ffp-folder-menu-item:focus-visible{background:var(--ff-surface-2);outline:none}.ffp-folder-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--ff-accent)}.ffp-folder-menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ffp-folder-menu-item.is-primary{color:var(--ff-primary);font-weight:600}.ffp-folder-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ffp-folder-menu-chevron{color:var(--ff-text-muted);transform:rotate(-90deg)}.ffp-folder-menu-check{border:1.5px solid var(--ff-text-subtle);background:var(--ff-surface-2);width:18px;height:18px;color:var(--ff-primary-contrast);border-radius:5px;flex:none;place-items:center;display:grid}.ffp-folder-menu-check.is-checked{background:var(--ff-gradient);border-color:#0000}.ffp-folder-menu-sep{background:var(--ff-border);height:1px;margin:.3rem .4rem}.ffp-folder-menu-note{color:var(--ff-text-muted);margin:.2rem .6rem .4rem;font-size:.75rem}.ffp-folder-menu-item .ffp-folder-menu-note{margin:0}.ffp-folder-menu-note.is-refusal{color:var(--ff-danger)}.ffp-folder-menu-new{gap:var(--ffp-field-rhythm);flex-direction:column;padding:.35rem;display:flex}.ffp-folder-menu-new-actions{gap:var(--ffp-field-rhythm);display:flex}.ffp-bulk{border:1px solid color-mix(in srgb, var(--ff-primary) 55%, var(--ff-border));border-radius:var(--ff-radius);background:var(--ff-surface);box-shadow:var(--ff-shadow);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.45rem .6rem .45rem .8rem;display:flex}.ffp-bulk-count{align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;display:flex}.ffp-bulk-count b{background:var(--ff-gradient);min-width:22px;height:22px;color:var(--ff-primary-contrast);border-radius:6px;place-items:center;padding:0 5px;font-size:.72rem;display:grid}.ffp-bulk-spacer{flex:1}@media (width<=59.99rem){.ffp-folder-list{flex-direction:row;gap:.35rem;padding-bottom:.2rem;overflow-x:auto}.ffp-folder-item{flex:none}.ffp-folder-row{border:1px solid var(--ff-border);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem}}.ffp-player-shell{justify-content:center;display:flex;position:relative}.ffp-player-replay{align-items:center;gap:var(--ffp-field-rhythm);padding:var(--ffp-field-rhythm) var(--ffp-card-stack-gap);border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface);color:var(--ff-text);font:inherit;cursor:pointer;font-weight:600;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ffp-player-replay:hover{background:var(--ff-surface-2)}.ffp-player-replay:focus-visible{outline:2px solid var(--ff-focus);outline-offset:2px}.ffp-video-player:has(.ffp-player){aspect-ratio:auto;background:0 0;padding:0}.ffp-dropzone{border:1.5px dashed var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2);color:var(--ff-text-muted);text-align:center;cursor:pointer;place-items:center;gap:.4rem;width:100%;padding:2rem 1rem;font-size:.85rem;transition:border-color .14s,background .14s;display:grid}.ffp-dropzone:hover{border-color:var(--ff-primary);background:color-mix(in srgb, var(--ff-primary) 6%, var(--ff-surface-2))}.ffp-dropzone:disabled{cursor:progress;opacity:.75}.ffp-logo-loading{border:1.5px dashed var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2);place-items:center;width:100%;padding:2rem 1rem;display:grid}.ffp-logo-preview{align-items:flex-start;gap:1rem;display:flex}.ffp-logo-preview img{object-fit:contain;border:1px solid var(--ff-border);border-radius:var(--ff-radius);background-color:var(--ff-surface-2);background-image:linear-gradient(45deg, var(--ff-border) 25%, transparent 25%), linear-gradient(-45deg, var(--ff-border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--ff-border) 75%), linear-gradient(-45deg, transparent 75%, var(--ff-border) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;flex:none;width:96px;height:96px;padding:.5rem}.ffp-logo-actions{gap:.5rem;display:flex}.ffp-color-row{align-items:center;gap:.75rem;display:flex}.ffp-brand-card{justify-items:start;gap:.9rem;display:grid}.ffp-brand-card .ff-empty{width:100%}.ffp-brand-swatches{flex-wrap:wrap;gap:.35rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.ffp-brand-swatches li{align-items:center;gap:.45rem;display:flex}.ffp-brand-swatch{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);width:18px;height:18px;display:inline-block}.ffp-brand-manage{color:var(--ff-accent);font-weight:600;text-decoration:none}.ffp-brand-manage:hover,.ffp-brand-manage:focus-visible{text-decoration:underline}.ffp-brand-templates{flex-direction:column;gap:.45rem;width:100%;display:flex}.ffp-brand-template-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.55rem;display:grid}.ffp-brand-template-tile{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);cursor:pointer;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.6rem .7rem;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.ffp-brand-template-tile:hover{border-color:var(--ff-primary)}.ffp-brand-template-tile.is-selected{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}.ffp-brand-template-input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ffp-brand-template-tile:has(.ffp-brand-template-input:focus-visible){border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 35%, transparent)}.ffp-brand-template-name{font-size:.85rem;font-weight:600}.ffp-brand-template-dots{gap:.3rem;display:flex}.ffp-plan-logo{border-top:1px dashed var(--ff-border);gap:.6rem;width:100%;padding-top:.9rem;display:grid}.ffp-dropzone.is-compact{gap:.25rem;padding:1.1rem 1rem}.ffp-plan-logo .ffp-logo-preview img{width:64px;height:64px}.ffp-plan-logo .ffp-logo-loading{padding:1.1rem 1rem}.ffp-logo-placement{gap:.45rem;width:100%;display:grid}.ffp-caption-sample{gap:.35rem;margin:0;display:grid}.ffp-caption-sample__frame{border:1px solid var(--ff-border);border-radius:var(--ff-radius);text-align:center;justify-content:center;align-items:flex-end;max-width:36rem;min-height:5.5rem;padding:1rem 1rem .9rem;display:flex}.ffp-caption-sample__pill{overflow-wrap:anywhere;max-width:100%;font-size:1.1rem;line-height:1.2;display:inline-block}.ffp-caption-sample figcaption{margin:0}.ffp-site-row{grid-template-columns:1fr auto;align-items:end;gap:.5rem;width:100%;max-width:34rem;display:grid}@media (width<=30rem){.ffp-site-row{grid-template-columns:1fr}}.ffp-say-list{gap:.6rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.ffp-say-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:.5rem;display:grid}@media (width<=34rem){.ffp-say-row{grid-template-columns:1fr auto}.ffp-say-row>:first-child{grid-column:1/-1}}.ffp-color-row input[type=color]{border:1px solid var(--ff-border);border-radius:var(--ff-radius);cursor:pointer;background:0 0;width:42px;height:42px;padding:0}.ffp-voice-grid,.ffp-music-grid,.ffp-cast-grid{--ffp-option-gap:.6rem;--ffp-option-min:11.25rem;--ffp-option-columns:4;grid-template-columns:repeat(auto-fit, minmax(max(var(--ffp-option-min), calc((100% - (var(--ffp-option-columns) - 1) * var(--ffp-option-gap)) / var(--ffp-option-columns))), 1fr));gap:var(--ffp-option-gap);display:grid}.ffp-voice-card,.ffp-music-card,.ffp-cast-card{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);align-items:stretch;gap:.5rem;padding:.55rem .6rem;transition:border-color .14s,box-shadow .14s;display:flex}.ffp-voice-card:hover,.ffp-music-card:hover,.ffp-cast-card:hover{border-color:var(--ff-primary)}.ffp-voice-card.is-selected,.ffp-music-card.is-selected,.ffp-cast-card.is-selected{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}.ffp-voice-card-select,.ffp-music-card-select,.ffp-cast-card-select{color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:calc(var(--ff-radius) - 4px);background:0 0;border:0;flex-direction:column;flex:1;gap:.15rem;padding:.25rem .3rem;display:flex}.ffp-voice-card-select:disabled,.ffp-music-card-select:disabled,.ffp-cast-card-select:disabled,.ffp-cast-card-select[aria-disabled=true]{cursor:not-allowed;opacity:.6}.ffp-voice-card-select strong,.ffp-music-card-select strong,.ffp-cast-card-select strong{font-size:.9rem}.ffp-voice-card-select span,.ffp-music-card-select span,.ffp-cast-card-select span{color:var(--ff-text-muted);font-size:.74rem}.ffp-voice-card-select>.ff-badge{align-self:flex-start}.ffp-cast-card.is-unavailable{flex-direction:column;align-items:stretch;gap:.35rem}.ffp-cast-card-footer{align-items:center;gap:.35rem;padding:0 .3rem;display:flex}.ffp-cast-card .ff-tooltip__bubble{background:var(--ff-surface-hover)}.ffp-cast-card-footer{position:relative}.ffp-cast-card-footer .ff-tooltip{position:static}.ffp-cast-card-footer .ff-tooltip__bubble{width:auto;max-width:none;bottom:calc(100% + .3rem);left:0;right:0;transform:none}.ff-card.ffp-tips-overflow{overflow:visible}.ffp-cast-card:focus-within .ff-tooltip:not(.is-dismissed) .ff-tooltip__bubble{opacity:1;visibility:visible;pointer-events:auto}.ffp-voice-card-select .ffp-voice-traits,.ffp-music-card-select .ffp-music-traits,.ffp-cast-card-select .ffp-cast-traits{text-transform:capitalize;color:var(--ff-text);opacity:.75;font-weight:600}.ffp-voice-play,.ffp-music-play{border:1px solid var(--ff-border);background:var(--ff-surface);width:2rem;height:2rem;color:var(--ff-text);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;transition:border-color .14s,color .14s;display:inline-flex}.ffp-voice-play:hover:not(:disabled),.ffp-voice-play[aria-pressed=true],.ffp-music-play:hover:not(:disabled),.ffp-music-play[aria-pressed=true]{border-color:var(--ff-primary);color:var(--ff-primary)}.ffp-voice-play:disabled,.ffp-music-play:disabled{cursor:not-allowed;opacity:.45}.ffp-music-card.is-silent .ffp-music-card-select strong,.ffp-voice-card.is-silent .ffp-voice-card-select strong{color:var(--ff-text-muted)}.ffp-music-card.is-silent.is-selected .ffp-music-card-select strong,.ffp-voice-card.is-silent.is-selected .ffp-voice-card-select strong{color:var(--ff-text)}.ffp-voice-silent-side{flex:none;align-self:center;align-items:center;gap:.15rem;display:inline-flex}.ffp-music-silent-glyph,.ffp-voice-silent-glyph{width:2rem;height:2rem;color:var(--ff-text-muted);opacity:.6;flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.ffp-cast-card-select{align-items:flex-start}:root{--ffp-cast-portrait-size:5.5rem;--ffp-cast-portrait-gap:.65rem}:is(.ffp-cast-card-select:has(>.ffp-cast-portrait),.ffp-cast-card:has(>.ffp-cast-portrait)){display:flow-root}:is(.ffp-cast-card-select:has(>.ffp-cast-portrait)>:not(.ffp-cast-portrait),.ffp-cast-card:has(>.ffp-cast-portrait)>:not(.ffp-cast-portrait)){margin-inline-start:calc(var(--ffp-cast-portrait-size) + var(--ffp-cast-portrait-gap));display:block}:is(.ffp-cast-card-select:has(>.ffp-cast-portrait)>:not(.ffp-cast-portrait)+*,.ffp-cast-card:has(>.ffp-cast-portrait)>:not(.ffp-cast-portrait)+*){margin-block-start:.15rem}.ffp-cast-portrait{float:inline-start;width:var(--ffp-cast-portrait-size);aspect-ratio:1;object-fit:cover;border-radius:calc(var(--ff-radius) - 4px);background:var(--ff-surface);margin:0}:is(.ffp-cast-card-select:has(>.ffp-cast-portrait) strong,.ffp-cast-card:has(>.ffp-cast-portrait) strong){font-size:.95rem}:is(.ffp-cast-card-select:has(>.ffp-cast-portrait) span,.ffp-cast-card:has(>.ffp-cast-portrait) span){font-size:.8rem}.ffp-cast-card.is-selected .ffp-cast-delivery,.ffp-cast-card:focus-within .ffp-cast-delivery{clip:auto;white-space:normal;clear:inline-start;overflow-wrap:break-word;width:auto;height:auto;margin-block:.35rem 0;margin-inline:0;position:static;overflow:visible}.ffp-cast-card.is-unavailable .ffp-cast-card-footer>.ff-badge,.ffp-cast-card.is-unavailable .ff-tooltip__trigger{opacity:.6}.ffp-cast-card.is-unavailable:hover{border-color:var(--ff-border)}.ffp-cast-card-select[aria-disabled=true]{cursor:not-allowed}.ffp-subtitle-reason{color:var(--ff-text-muted);margin:.55rem 0 0;font-size:.78rem}.ffp-shape-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}@media (width<=480px){.ffp-shape-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ffp-shape-tile{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .45rem .55rem;transition:border-color .14s,box-shadow .14s;display:flex;position:relative}.ffp-shape-tile:hover{border-color:var(--ff-primary)}.ffp-shape-tile.is-selected{border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 18%, transparent)}.ffp-shape-input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ffp-shape-tile:has(.ffp-shape-input:focus-visible){border-color:var(--ff-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-primary) 35%, transparent)}.ffp-shape-stage{justify-content:center;align-items:center;width:100%;height:4.25rem;display:flex}.ffp-shape-frame{border:1.5px solid color-mix(in srgb, var(--ff-primary) 55%, var(--ff-border));background:var(--ff-surface);border-radius:3px;width:auto;height:100%;display:block;position:relative;overflow:hidden}.ffp-shape-frame--wide{width:100%;height:auto}.ffp-shape-source{background:color-mix(in srgb, var(--ff-primary) 34%, transparent);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ffp-shape-source--cover{border-left:1px dashed color-mix(in srgb, var(--ff-primary) 45%, transparent);border-right:1px dashed color-mix(in srgb, var(--ff-primary) 45%, transparent)}.ffp-shape-source--composed{border:1px solid color-mix(in srgb, var(--ff-primary) 45%, transparent);top:38%}.ffp-shape-caption-band{background:color-mix(in srgb, var(--ff-text-muted) 45%, transparent);border-radius:999px;height:7%;position:absolute;bottom:12%;left:18%;right:18%}.ffp-shape-name{color:var(--ff-text);font-size:.78rem;font-weight:600}.ffp-shape-meta{color:var(--ff-text-muted);font-size:.68rem}.ffp-shape-meta--use{font-size:.66rem}.ffp-field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.ffp-field>span{font-size:.8rem;font-weight:600}.ffp-field select{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);color:var(--ff-text);font:inherit;padding:.55rem .7rem;font-size:.9rem}.ffp-modal-overlay{z-index:100;background:color-mix(in srgb, var(--ff-bg) 55%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);place-items:center;padding:1.25rem;animation:.16s ffp-fade;display:grid;position:fixed;inset:0}.ffp-modal{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);width:100%;box-shadow:var(--ff-shadow);flex-direction:column;max-height:90vh;animation:.18s ffp-pop;display:flex}.ffp-modal-head{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem .75rem;display:flex}.ffp-modal-head h2{font-family:var(--ff-font-display);margin:0;font-size:1.1rem;font-weight:700}.ffp-modal-body{padding:.25rem 1.25rem 1rem;overflow-y:auto}.ffp-modal-foot{border-top:1px solid var(--ff-border);flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;display:flex}@media (width<=520px){.ffp-modal-foot>*{flex:100%}.ffp-modal-foot .ff-btn{white-space:normal}}.ffp-icon-btn{border:1px solid var(--ff-border);border-radius:var(--ff-radius);width:30px;height:30px;color:var(--ff-text-muted);cursor:pointer;background:0 0;place-items:center;text-decoration:none;transition:color .14s,border-color .14s;display:grid}.ffp-icon-btn:hover:not(:disabled){color:var(--ff-text);border-color:var(--ff-primary)}.ffp-icon-btn:disabled{cursor:not-allowed;opacity:.45}.ffp-icon-btn--inline{vertical-align:middle;margin-left:.6rem;display:inline-grid}.ffp-modal-sub{color:var(--ff-text-muted);margin:0 0 1rem;font-size:.85rem}.ffp-bugreport-grid{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.ffp-bugreport-field{flex-direction:column;min-width:0;display:flex}.ffp-bugreport-field textarea{resize:vertical;border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-bg);min-height:220px;color:var(--ff-text);font:inherit;flex:1;padding:.7rem .85rem;font-size:.88rem;line-height:1.55}.ffp-bugreport-field textarea:focus{border-color:var(--ff-primary);outline:none}.ffp-bugreport-field textarea[aria-invalid=true]{border-color:var(--ff-danger)}.ffp-publish-artefact{border-top:1px solid var(--ff-border);margin-top:1rem;padding-top:1rem}.ffp-publish-artefact-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.ffp-publish-artefact-head h3{margin:0 0 .15rem;font-size:.98rem;font-weight:700}.ffp-publish-artefact-head p{max-width:42ch;margin:0}.ffp-publish-artefact textarea{resize:vertical;border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-bg);width:100%;color:var(--ff-text);font:inherit;white-space:pre-wrap;margin-top:.7rem;padding:.7rem .85rem;font-size:.85rem;line-height:1.55;display:block}.ffp-publish-artefact textarea:focus{border-color:var(--ff-primary);outline:none}.ffp-publish-artefact>p.ffp-muted{margin:.35rem 0 0}.ffp-bugreport-shot{border:1px dashed var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:1.1rem;display:flex}.ffp-bugreport-empty{color:var(--ff-text-muted);margin:0;font-size:.85rem}.ffp-bugreport-actions{flex-direction:column;align-items:center;gap:.55rem;display:flex}.ffp-bugreport-actions-row{align-items:center;gap:.6rem;display:flex}.ffp-bugreport-paste-hint{color:var(--ff-text-muted);font-size:.78rem}.ffp-bugreport-paste-hint kbd{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-surface);font:inherit;padding:.1rem .4rem;font-size:.72rem}.ffp-bugreport-preview{flex-direction:column;gap:.55rem;width:100%;display:flex}.ffp-bugreport-preview img{object-fit:contain;border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-bg);width:100%;max-height:200px}.ffp-bugreport-preview-bar{color:var(--ff-text-muted);justify-content:space-between;align-items:center;gap:.6rem;font-size:.78rem;display:flex}.ffp-bugreport-preview-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ffp-bugreport-preview-bar button{color:var(--ff-danger);font:inherit;cursor:pointer;background:0 0;border:none;flex:none;font-size:.78rem}.ffp-bugreport-error{color:var(--ff-danger);margin:.5rem 0 0;font-size:.78rem}.ffp-bugreport-status{color:var(--ff-text-muted);align-self:center;margin-right:auto;font-size:.78rem}.ffp-meter{background:var(--ff-surface-2);border:1px solid var(--ff-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.ffp-meter-fill{border-radius:inherit;background:var(--ff-gradient);height:100%;transition:width .4s;display:block}.ffp-meter-fill[data-hot=true]{background:var(--ff-primary)}.ffp-table-scroll{min-width:0;max-width:100%;overflow-x:auto}.ffp-ledger-filters{flex-wrap:wrap;gap:.75rem;min-width:0;max-width:100%;display:flex}.ffp-ledger-filters .ffp-field{flex:10rem;min-width:0;margin:0}.ffp-ledger-filters .ffp-field:last-child{flex-basis:14rem}.ffp-ledger-filters select{width:100%;max-width:100%}.ffp-ledger-summary{color:var(--ff-text-muted);font-variant-numeric:tabular-nums;margin:0 0 .85rem;font-size:.85rem}.ffp-ledger-outcome{flex-direction:column;gap:.15rem;min-width:13rem;display:flex}.ffp-ledger-outcome-line{color:var(--ff-text)}.ffp-ledger-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.78rem}.ffp-ledger-details>summary:hover{color:var(--ff-text)}.ffp-ledger-details>summary>.ffp-ledger-details-hide,.ffp-ledger-details[open]>summary>.ffp-ledger-details-show{display:none}.ffp-ledger-details[open]>summary>.ffp-ledger-details-hide{display:inline}.ffp-ledger-lines{border:1px solid var(--ff-border-subtle);border-radius:var(--ff-radius-sm);background:var(--ff-surface-2);margin:.35rem 0 .2rem;padding:.4rem .6rem;list-style:none}.ffp-ledger-lines>li{flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.3rem 0;font-size:.82rem;display:flex}.ffp-ledger-lines>li+li{border-top:1px solid var(--ff-border-subtle)}.ffp-ledger-line-label{min-width:0;color:var(--ff-text);flex:auto}.ffp-ledger-lines>li>.ff-badge{font-variant-numeric:tabular-nums;margin-left:auto}.ffp-ledger-lines>li>.ffp-ledger-each{flex-basis:100%}.ffp-ledger-each>.ffp-ledger-lines{background:0 0;border:0;margin-top:.2rem;padding:.2rem 0 0}.ffp-ledger-credits{font-variant-numeric:tabular-nums;white-space:nowrap}.ffp-plan-banner{border:1px solid color-mix(in srgb, var(--ff-accent) 45%, transparent);border-radius:var(--ff-radius-lg);background:color-mix(in srgb, var(--ff-accent) 10%, transparent);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1.1rem;font-size:.88rem;display:flex}.ffp-plan-banner svg{color:var(--ff-accent);flex:none}.ffp-plan-features{gap:.4rem;margin:.75rem 0 0;padding:0;font-size:.86rem;list-style:none;display:grid}.ffp-plan-features li{color:var(--ff-text-muted);align-items:center;gap:.5rem;display:flex}.ffp-plan-features svg{color:var(--ff-primary);flex:none}.ffp-plan-meta{flex-wrap:wrap;gap:1rem 2.75rem;display:flex}.ffp-plan-meta-item{flex-direction:column;gap:.25rem;min-width:0;display:flex}.ffp-plan-meta-value{overflow-wrap:anywhere;align-items:center;gap:.45rem;margin:0;font-size:.92rem;font-weight:600;display:flex}.ffp-billing-details{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem 1.5rem;margin:0;display:grid}.ffp-card-stack .ff-card__body{gap:var(--ffp-card-stack-gap);flex-direction:column;display:flex}.ffp-card-stack .ff-card__body>*{margin:0}.ffp-billing-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.ffp-billing-row>svg{color:var(--ff-text-muted);flex:none}.ffp-billing-row-text strong{font-size:.9rem;font-weight:600;display:block}.ffp-billing-row-text span{color:var(--ff-text-muted);font-size:.78rem}.ffp-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:stretch;gap:1rem;margin-bottom:1.25rem;padding-top:.8rem;display:grid}.ffp-plan-card{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);flex-direction:column;gap:1rem;padding:1.6rem 1.4rem;display:flex;position:relative}.ffp-plan-card--featured{border-color:color-mix(in srgb, var(--ff-primary) 55%, var(--ff-border));box-shadow:var(--ff-shadow), var(--ff-glow-soft);background:linear-gradient(170deg, color-mix(in srgb, var(--ff-primary) 8%, transparent), transparent 45%), var(--ff-surface)}.ffp-plan-card--current{border-color:color-mix(in srgb, var(--ff-accent) 55%, var(--ff-border))}.ffp-plan-card--scheduled{border-color:color-mix(in srgb, var(--ff-warning) 60%, var(--ff-border))}.ffp-plan-card-flag{white-space:nowrap;position:absolute;top:-.8rem;left:50%;transform:translate(-50%)}.ffp-plan-card-name{font-family:var(--ff-font-display);margin:0;font-size:1.15rem;font-weight:700}.ffp-plan-card-tagline{color:var(--ff-text-muted);margin:.25rem 0 0;font-size:.88rem}.ffp-plan-card-price{align-items:baseline;gap:.4rem;display:flex}.ffp-plan-card-price-amount{font-family:var(--ff-font-display);letter-spacing:-.03em;font-size:2.2rem;font-weight:700}.ffp-plan-card-price-period{color:var(--ff-text-muted);font-size:.88rem}.ffp-plan-card-price-note{color:var(--ff-text-muted);margin:.2rem 0 0;font-size:.78rem}.ffp-plan-card>.ff-btn{width:100%;margin-top:auto}.ffp-plan-card-note{border-top:1px dashed var(--ff-border);color:var(--ff-text-muted);margin:auto 0 0;padding-top:.9rem;font-size:.8rem;line-height:1.5}.ffp-plan-card-note--reason{border-top:none;margin:.55rem 0 0;padding-top:0}.ffp-plan-card-planned{border-top:1px dashed var(--ff-border);margin-top:.2rem;padding-top:.9rem}.ffp-plan-card-planned-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-text-muted);margin:0 0 .55rem;font-size:.72rem;font-weight:700}.ffp-plan-card-planned-list{gap:.45rem}.ffp-plan-card .ffp-plan-features{margin:0}.ffp-plan-card-planned-list li{opacity:.75;align-items:flex-start;font-size:.82rem}.ffp-plan-card-planned-mark{border:1px dashed var(--ff-border);width:1rem;height:1rem;color:var(--ff-text-muted);border-radius:50%;flex:none;place-items:center;margin-top:.1rem;font-size:.6rem;font-weight:700;display:grid}.ffp-pack-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.ffp-pack-card{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2,var(--ff-surface));flex-direction:column;justify-content:space-between;gap:.9rem;padding:1.1rem;display:flex}.ffp-pack-name{margin:0;font-size:.95rem;font-weight:600}.ffp-pack-credits{margin:.15rem 0 0;font-size:1.35rem;font-weight:700;line-height:1.1}.ffp-pack-credits span{color:var(--ff-text-muted);margin-left:.3rem;font-size:.8rem;font-weight:500}.ffp-pack-price{margin:0;font-size:1.05rem;font-weight:600}.ffp-pack-unit{color:var(--ff-text-muted);margin:.1rem 0 0;font-size:.78rem}.ffp-pack-note{margin-top:.9rem;font-size:.8rem}.ffp-purchased-note{color:var(--ff-accent);margin-top:.35rem}.ffp-purchase-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.ffp-purchase-list li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;font-size:.85rem;display:flex}.ffp-kv{grid-template-columns:160px 1fr;align-items:center;gap:.5rem 1rem;font-size:.88rem;display:grid}.ffp-kv dt{color:var(--ff-text-muted);font-weight:500}.ffp-kv dd{overflow-wrap:anywhere;margin:0;font-weight:600}.ffp-record-value{align-items:center;gap:var(--ffp-field-rhythm);display:flex}.ffp-record-value .ffp-icon-btn{flex:none}.ffp-record-value code{overflow-wrap:anywhere;min-width:0}.ffp-kv dd .ff-badge{justify-content:center;min-width:5rem}.ffp-section{margin-bottom:1.5rem}.ffp-plan-deadline{margin-bottom:1rem}.ffp-section-title{font-family:var(--ff-font-display);margin:0 0 .75rem;font-size:1.05rem;font-weight:700}.ffp-section-lede{margin:0 0 .75rem}.ffp-inline-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.ffp-domain-list{gap:var(--ffp-card-stack-gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ffp-domain-row{align-items:center;gap:var(--ffp-field-rhythm) 1rem;flex-wrap:wrap;display:flex}.ffp-domain-row>div:first-child{flex:14rem;min-width:0}.ffp-domain-name{overflow-wrap:anywhere;font-weight:600}.ffp-state-badge{justify-content:center;min-width:6.5rem;height:2.5rem}.ffp-inline-actions .ff-btn+.ffp-icon-btn,.ffp-inline-actions .ff-badge+.ffp-icon-btn{margin-left:.5rem}.ffp-muted{color:var(--ff-text-muted);font-size:.85rem}.ffp-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.ffp-settings-wide{grid-column:1/-1}.ffp-notification-list{flex-direction:column;gap:1rem;display:flex}.ffp-notification-list .ff-toggle__label{flex-direction:row-reverse;justify-content:space-between}.ffp-profile-hero{border-bottom:1px solid var(--ff-border);align-items:center;gap:.9rem;margin-bottom:1.1rem;padding-bottom:1.1rem;display:flex}.ffp-profile-avatar{background:var(--ff-gradient);width:56px;height:56px;color:var(--ff-primary-contrast);border-radius:50%;flex:none;place-items:center;font-size:1.15rem;font-weight:700;display:grid}.ffp-profile-name{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.ffp-profile-email{color:var(--ff-text-muted);overflow-wrap:anywhere;font-size:.85rem}.ffp-security-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.ffp-security-row p{flex:1;margin:0}.ffp-help-search input{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface);width:100%;color:var(--ff-text);font:inherit;padding:.7rem 1rem;font-size:.9rem}.ffp-help-search input:focus{border-color:var(--ff-primary);outline:none}.ffp-help-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ff-text-muted);margin-bottom:.5rem;font-size:.68rem;font-weight:600}.ffp-help-quick{margin-top:1.25rem}.ffp-help-chips{flex-wrap:wrap;gap:.5rem;display:flex}.ffp-help-chip{border:1px solid var(--ff-border);background:var(--ff-surface);color:var(--ff-text);border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:border-color .14s;display:inline-flex}.ffp-help-chip svg{color:var(--ff-text-muted)}.ffp-help-chip:hover{border-color:var(--ff-primary)}.ffp-help-layout{grid-template-columns:210px 1fr;align-items:start;gap:1.5rem;margin-top:1.75rem;display:grid}.ffp-help-nav{flex-direction:column;gap:.1rem;display:flex;position:sticky;top:1.5rem}.ffp-help-nav a{border-radius:var(--ff-radius);color:var(--ff-text-muted);align-items:center;gap:.55rem;padding:.45rem .6rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .14s,color .14s;display:flex}.ffp-help-nav a:hover{color:var(--ff-text);background:var(--ff-surface-2)}.ffp-help-sections{flex-direction:column;gap:1.25rem;display:flex}.ffp-help-section{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);scroll-margin-top:1.5rem;overflow:hidden}.ffp-help-section-head{border-bottom:1px solid var(--ff-border);align-items:flex-start;gap:.7rem;padding:1rem 1.1rem .9rem;display:flex}.ffp-help-section-icon{border-radius:var(--ff-radius);background:color-mix(in srgb, var(--ff-primary) 12%, transparent);width:30px;height:30px;color:var(--ff-primary);flex:none;place-items:center;display:grid}.ffp-help-section-head h2{font-family:var(--ff-font-display);margin:0;font-size:1rem;font-weight:700}.ffp-help-section-head p{color:var(--ff-text-muted);margin:.2rem 0 0;font-size:.8rem}.ffp-help-accordion details{border-bottom:1px solid var(--ff-border)}.ffp-help-accordion details:last-child{border-bottom:none}.ffp-help-accordion summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.1rem;font-size:.88rem;font-weight:500;list-style:none;display:flex}.ffp-help-accordion summary::-webkit-details-marker{display:none}.ffp-help-accordion summary:hover{background:var(--ff-surface-2)}.ffp-help-chevron{border-right:1.7px solid var(--ff-text-muted);border-bottom:1.7px solid var(--ff-text-muted);flex:none;width:8px;height:8px;transition:transform .14s;transform:rotate(45deg)}.ffp-help-accordion details[open] .ffp-help-chevron{transform:rotate(225deg)}.ffp-help-accordion details p{color:var(--ff-text-muted);margin:0;padding:0 1.1rem .95rem;font-size:.85rem;line-height:1.6}.ffp-help-empty{border:1px dashed var(--ff-border);border-radius:var(--ff-radius-lg);text-align:center;padding:2.5rem 1.5rem}.ffp-help-empty p{color:var(--ff-text-muted);margin:.4rem 0 0;font-size:.85rem}.ffp-releases{flex-direction:column;gap:1.25rem;display:flex}.ffp-release{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);padding:1.2rem 1.4rem}.ffp-release time{letter-spacing:.08em;text-transform:uppercase;color:var(--ff-text-muted);font-size:.72rem;font-weight:600}.ffp-release h2{font-family:var(--ff-font-display);margin:.35rem 0 .6rem;font-size:1.05rem;font-weight:700}.ffp-release ul{color:var(--ff-text-muted);flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-size:.87rem;display:flex}.ffp-release-entry+.ffp-release-entry{border-top:1px solid var(--ff-border);margin-top:1rem;padding-top:1rem}@keyframes ffp-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ffp-fade{0%{opacity:0}to{opacity:1}}@keyframes ffp-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes ffp-pulse{0%,to{box-shadow:0 0 0 5px color-mix(in srgb, var(--ff-primary) 18%, transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb, var(--ff-primary) 8%, transparent)}}@media (width>=901px) and (width<=1180px){.ffp-topbar>.ffp-chip{display:none}.ffp-search{flex:1;width:auto;min-width:0;margin-right:0}}@media (width<=900px){.ffp-shell{grid-template-columns:1fr}.ffp-sidebar:not(.ffp-sidebar--mobile){display:none}.ffp-sidebar--mobile{z-index:60;width:min(88vw, var(--ff-sidebar-mobile-width));visibility:hidden;pointer-events:none;height:100dvh;box-shadow:var(--ff-shadow-lg);transition:transform var(--ff-duration-fast) var(--ff-ease-out), visibility var(--ff-duration-fast) var(--ff-ease-out);display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.ffp-sidebar--mobile.is-open{visibility:visible;pointer-events:auto;transform:translate(0)}.ffp-sidebar-close{border:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-surface) 72%, transparent);width:44px;height:44px;color:var(--ff-text-muted);flex:none;padding:0;display:inline-flex}.ffp-sidebar-backdrop{z-index:55;background:color-mix(in srgb, var(--ff-bg) 72%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ffp-fade var(--ff-duration-fast) var(--ff-ease-out);display:block;position:fixed;inset:0}.ffp-topbar{gap:.5rem;padding:.65rem .75rem}.ffp-mobile-nav-trigger{border:1px solid var(--ff-border);background:color-mix(in srgb, var(--ff-surface) 72%, transparent);min-width:44px;height:44px;color:var(--ff-text);flex:none;display:inline-flex}.ffp-topbar>.ffp-chip{display:none}.ffp-search{flex:1;width:auto;min-width:0;margin-right:0}:root{--ffp-page-gutter:1rem}.ffp-content{padding:1.25rem var(--ffp-page-gutter) 3rem}.ffp-appupdate{max-width:none;margin:1rem auto -.25rem}.ffp-appupdate-actions{width:100%}.ffp-kv,.ffp-settings-grid,.ffp-bugreport-grid,.ffp-help-layout{grid-template-columns:1fr}.ffp-help-nav{display:none}}@media (width<=620px){.ffp-mobile-nav-trigger{width:44px;padding:0}.ffp-mobile-nav-trigger span,.ffp-usermenu-name,.ffp-search-kbd,.ffp-topbar>.ffp-icon-btn{display:none}.ffp-search input{padding-right:.9rem}.ffp-usermenu-btn{padding-right:.32rem}}@media (prefers-reduced-motion:reduce){.ffp-content,.ffp-modal,.ffp-modal-overlay,.ffp-usermenu-pop,.ffp-notif-pop,.ffp-srcmenu-pop,.ffp-search-pop,.ffp-sidebar-backdrop,.ffp-timeline-step.is-active .ffp-timeline-dot{animation:none}}.ffp-brand-mark:has(.ffp-brand-logo){box-shadow:none;background:0 0}.ffp-brand-logo{width:30px;height:auto}.ffp-danger-zone{border-color:color-mix(in srgb, var(--ff-danger) 35%, var(--ff-border));margin-top:2rem}.ffp-danger-zone-title{color:var(--ff-danger);margin:0 0 .2rem;font-size:.95rem}.ffp-danger-zone-copy{color:var(--ff-text-muted);max-width:62ch;margin:0;font-size:.85rem}.ffp-danger-zone-note{margin-top:.9rem}.ffp-danger-note{border-left:3px solid var(--ff-danger);border-radius:0 var(--ff-radius-sm) var(--ff-radius-sm) 0;background:var(--ff-danger-soft);color:var(--ff-danger);margin:.85rem 0 0;padding:.65rem .85rem .65rem 2.2rem;font-size:.88rem;position:relative}.ffp-danger-note svg{position:absolute;top:.78rem;left:.85rem}.ffp-icon-btn--danger:hover:not(:disabled){color:var(--ff-danger);border-color:color-mix(in srgb, var(--ff-danger) 45%, var(--ff-border));background:var(--ff-danger-soft)}.ffp-page-note{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2);color:var(--ff-text-muted);align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.75rem 1rem;font-size:.86rem;line-height:1.45;display:flex}.ffp-page-note svg{flex:none;margin-top:.1rem}.ffp-refresh{align-items:center;gap:.5rem;display:inline-flex}.ffp-refresh-status{text-align:right;min-width:8.5ch;color:var(--ff-text-muted);white-space:nowrap;font-size:.78rem}.ffp-refresh-status.is-error{color:var(--ff-danger)}.ffp-refresh-btn:disabled{cursor:progress;opacity:.7}.ffp-refresh-spin{transform-origin:50%;animation:.9s linear infinite ffp-refresh-rotate}@keyframes ffp-refresh-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ffp-refresh-spin{animation:none}}.ffp-studio-mode{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}.ffp-studio-mode__button{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius);cursor:pointer;transition:border-color var(--ff-duration-fast) var(--ff-ease-out);align-self:flex-start;align-items:center;gap:.75rem;padding:.4rem .65rem;display:inline-flex}.ffp-studio-mode__button:hover:not(:disabled){border-color:var(--ff-primary)}.ffp-studio-mode__button:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-studio-mode__button:disabled{cursor:not-allowed;opacity:.6}.ffp-studio-mode__track{background:var(--ff-surface-2);border:1px solid var(--ff-border);width:2.25rem;height:1.25rem;transition:background var(--ff-duration-fast) var(--ff-ease-out), border-color var(--ff-duration-fast) var(--ff-ease-out);border-radius:999px;flex:none;position:relative}.ffp-studio-mode__track:after{content:"";background:var(--ff-text-muted);width:1rem;height:1rem;transition:transform var(--ff-duration-fast) var(--ff-ease-out), background var(--ff-duration-fast) var(--ff-ease-out);border-radius:50%;position:absolute;top:1px;left:1px}.ffp-studio-mode__button[aria-pressed=true] .ffp-studio-mode__track{background:var(--ff-primary);border-color:var(--ff-primary)}.ffp-studio-mode__button[aria-pressed=true] .ffp-studio-mode__track:after{background:var(--ff-primary-contrast);transform:translate(1rem)}.ffp-studio-mode__name{color:var(--ff-text);font-size:.875rem;font-weight:600}.ffp-studio-mode__hint{color:var(--ff-text-muted);margin:0;font-size:.8125rem}@media (prefers-reduced-motion:reduce){.ffp-studio-mode__button,.ffp-studio-mode__track,.ffp-studio-mode__track:after{transition:none}}.ffp-render-drops,.ffp-render-qa{margin-top:.75rem}.ffp-render-qa-passed{color:var(--ff-text-muted);margin-bottom:0;font-size:.85rem}.ffp-render-qa-check{color:var(--ff-success);flex:none}.ffp-plan-drops-intro.ffp-render-qa-next{margin:.5rem 0 0}.ffp-render-rating{border-top:1px solid var(--ff-border-subtle);margin-top:1.25rem;padding-top:1rem}.ffp-render-rating .ffp-section-title{margin-bottom:.25rem}.ffp-render-rating-lede{margin:0 0 .75rem}.ffp-render-rating-thumbs{flex-wrap:wrap;gap:.5rem;display:flex}.ffp-rating-thumb{align-items:center;gap:.45rem;padding:.45rem 1rem;font-size:.875rem;display:inline-flex}.ffp-rating-thumb.is-up.is-selected{border-color:var(--ff-success);background:var(--ff-success-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-success) 18%, transparent)}.ffp-rating-thumb.is-down.is-selected{border-color:var(--ff-warning);background:var(--ff-warning-soft);box-shadow:0 0 0 3px color-mix(in srgb, var(--ff-warning) 18%, transparent)}.ffp-rating-thumb.is-up.is-selected svg{color:var(--ff-success)}.ffp-rating-thumb.is-down.is-selected svg{color:var(--ff-warning)}.ffp-render-rating .ffp-chip-btn:focus-visible{box-shadow:var(--ff-focus-ring);outline:none}.ffp-render-rating-prompt{color:var(--ff-text-muted);margin:.9rem 0 .45rem;font-size:.85rem}.ffp-duration-presets.ffp-render-rating-aspects{margin:0 0 .9rem}.ffp-render-rating-note{resize:vertical;display:block}.ffp-render-rating-counter{margin:.3rem 0 .75rem}.ffp-render-rating .ff-alert{margin-bottom:.75rem}.ffp-render-rating .ff-btn[aria-disabled=true]{opacity:.55;cursor:progress}.ffp-render-rating-saved{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.ffp-render-rating-saved p{margin:0}.ffp-rating-verdict-icon{display:inline-flex}.ffp-rating-verdict-icon.is-up{color:var(--ff-success)}.ffp-rating-verdict-icon.is-down{color:var(--ff-warning)}.ffp-render-rating-quote{border-left:2px solid var(--ff-border);color:var(--ff-text-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding-left:.75rem;font-size:.85rem;font-style:italic}.ffp-plan-drops-intro{color:inherit;opacity:.85;margin:.25rem 0 .5rem;font-size:.8125rem}.ffp-plan-drops-list{flex-direction:column;gap:.35rem;margin:0;padding-left:1.1rem;font-size:.8125rem;display:flex}.ffp-drops-details{margin-top:.5rem}.ffp-cost{border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2);padding:.95rem 1.1rem}.ffp-cost-title{letter-spacing:.07em;text-transform:uppercase;color:var(--ff-text-muted);margin:0 0 .55rem;font-size:.74rem;font-weight:600}.ffp-cost-figures{flex-wrap:wrap;gap:.4rem 2.2rem;display:flex}.ffp-cost-figure{flex-direction:column;gap:.15rem;display:flex}.ffp-cost-label{color:var(--ff-text-subtle);font-size:.74rem}.ffp-cost-value{font-family:var(--ff-font-display);letter-spacing:-.02em;font-size:1.45rem;font-weight:700;line-height:1.15}.ffp-cost-value--balance{color:var(--ff-text-muted)}.ffp-cost-outcome{color:var(--ff-text-muted);margin:.6rem 0 0;font-size:.82rem}.ffp-cost-note{color:var(--ff-text-subtle);margin:.25rem 0 0;font-size:.78rem}.ffp-cost .ff-alert{margin-top:.7rem}:root{--ffp-decision-bar-max:min(16rem, 45dvh)}.ffp-decision-bar{z-index:15;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface);box-shadow:var(--ff-shadow);max-height:var(--ffp-decision-bar-max);flex-direction:column;gap:.55rem;margin-top:1.5rem;padding:.85rem 1.1rem;display:flex;position:sticky;bottom:0}.ffp-decision-bar-read{flex-direction:column;flex:0 auto;gap:.55rem;min-height:0;display:flex;overflow-y:auto}.ffp-decision-bar-actions{flex:none}.ffp-decision-bar-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;display:flex}.ffp-decision-bar-flags{flex-wrap:wrap;align-items:baseline;gap:.35rem;display:flex}.ffp-decision-bar-cost{color:var(--ff-text);margin:0;font-size:.85rem;font-weight:600}.ffp-decision-bar[data-cost=estimating] .ffp-decision-bar-cost,.ffp-decision-bar[data-cost=unavailable] .ffp-decision-bar-cost{color:var(--ff-text-muted);font-weight:500}.ffp-decision-bar-notices,.ffp-decision-bar-blockers{border:1px solid var(--ff-warning);background:var(--ff-warning-soft);color:var(--ff-warning);border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.18rem .6rem;font-size:.76rem;font-weight:600;text-decoration:none;display:inline-flex}.ffp-decision-bar-blockers{border-color:var(--ff-danger);background:var(--ff-danger-soft);color:var(--ff-danger)}.ffp-decision-bar-notices:hover,.ffp-decision-bar-blockers:hover{text-decoration:underline}#plan-review-notices,#plan-review-cost,#plan-review-narration,#plan-review-voice,#plan-review-title,#plan-review-outro,#plan-review-quiet-gate,.ffp-anchor-target{scroll-margin-top:5.5rem}:root{--ffp-anchor-flash-duration:1.6s}.ffp-anchor-flash{animation:ffp-anchor-flash var(--ffp-anchor-flash-duration) ease-out 1;outline:none}@keyframes ffp-anchor-flash{0%{box-shadow:0 0 0 3px var(--ff-accent), 0 0 0 7px var(--ff-accent-soft);background-color:var(--ff-accent-soft)}60%{box-shadow:0 0 0 3px var(--ff-accent), 0 0 0 7px var(--ff-accent-soft)}to{background-color:#0000;box-shadow:0 0 0 3px #0000,0 0 0 7px #0000}}@media (prefers-reduced-motion:reduce){.ffp-anchor-flash{outline:3px solid var(--ff-accent);outline-offset:2px;animation:none}}.ffp-approve-blocks{gap:.2rem;margin:.3rem 0 0;padding-left:1.1rem;display:grid}.ffp-approve-blocks a{color:inherit;text-underline-offset:2px;text-decoration:underline}:root:has(.ffp-decision-bar){scroll-padding-top:5.5rem;scroll-padding-bottom:calc(var(--ffp-decision-bar-max) + 1rem)}@media (width<=620px){:root{--ffp-decision-bar-max:33dvh}.ffp-decision-bar{padding:.7rem .85rem}.ffp-decision-bar-actions .ff-btn{flex:auto}}.ffp-shot-refusals,.ffp-shot-declines{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.ffp-shot-strip{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.ffp-shot-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.ffp-shot-row.is-refused{border-color:var(--ff-danger,var(--ff-border));background:color-mix(in srgb, var(--ff-danger,var(--ff-border)) 6%, var(--ff-surface-2))}.ffp-shot-grip{color:var(--ff-text-muted);cursor:grab;display:inline-flex}.ffp-shot-thumb-btn{border-radius:var(--ff-radius-sm);cursor:zoom-in;background:0 0;border:0;flex:none;padding:0;display:block}.ffp-shot-thumb-btn:focus-visible{outline:2px solid var(--ff-accent);outline-offset:2px}.ffp-shot-thumb{border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border);object-fit:cover;background:var(--ff-surface);flex:none;width:84px;height:52px}.ffp-shot-transfer{gap:.35rem;margin:0 0 .6rem;display:grid}.ffp-shot-transfer p{margin:0}.ffp-shot-progress{max-width:18rem;margin-top:.15rem;display:block}@media (prefers-reduced-motion:reduce){.ffp-shot-transfer .ffp-meter-fill,.ffp-shot-progress .ffp-meter-fill{transition:none}}.ffp-shot-zoom{object-fit:contain;border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border);background:var(--ff-surface-2);width:100%;max-height:70vh;display:block}.ffp-shot-zoom-figure{gap:.6rem;margin:0;display:grid}.ffp-shot-thumb--placeholder{display:block}.ffp-shot-body{flex:auto;gap:.15rem;min-width:0;display:grid}.ffp-shot-position{color:var(--ff-text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.75rem}.ffp-shot-name{overflow-wrap:anywhere;font-size:.9rem}.ffp-shot-state{display:inline-flex}.ffp-shot-actions{flex:none;gap:.2rem;display:flex}.ffp-shot-plan{gap:.6rem;margin:.9rem 0 0;padding:0;list-style:none;display:grid}.ffp-shot-plan-row{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);align-items:flex-start;gap:.85rem;padding:.7rem;display:flex}.ffp-shot-plan-thumb{border-radius:var(--ff-radius-sm);border:1px solid var(--ff-border);object-fit:cover;background:var(--ff-surface);flex:none;width:128px;height:72px}.ffp-shot-plan-thumb--empty{text-align:center;color:var(--ff-text-muted);place-items:center;padding:.3rem;font-size:.7rem;line-height:1.2;display:grid}.ffp-shot-plan-body{flex:auto;gap:.3rem;min-width:0;display:grid}.ffp-shot-plan-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.ffp-shot-plan-dwell{align-items:center;gap:.3rem;display:inline-flex}.ffp-shot-plan-dwell .ffp-stepper{width:4.2rem}.ffp-shot-plan-dwell-unit{color:var(--ff-text-muted);font-size:.72rem}.ffp-shot-plan-head .ffp-shot-plan-dwell-refusal{flex-basis:100%;margin:0}.ffp-shot-brief{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);justify-items:start;gap:.3rem;margin:0 0 .9rem;padding:.7rem;display:grid}.ffp-shot-brief-line{margin:0;font-size:.95rem}.ffp-shot-plan-beat-label{color:var(--ff-text-muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem}.ffp-shot-plan-beat{margin:0;font-size:.9rem}@media (width<=640px){.ffp-shot-row,.ffp-shot-plan-row{flex-wrap:wrap}.ffp-shot-actions{justify-content:flex-end;width:100%}}@keyframes ffp-ico-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4px)}}@keyframes ffp-ico-spin{to{transform:rotate(360deg)}}@keyframes ffp-ico-sway{0%,to{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}@keyframes ffp-ico-twinkle{0%,to{opacity:.35}50%{opacity:1}}@keyframes ffp-ico-clap{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-10deg)}95%{transform:rotate(3deg)}}@keyframes ffp-ico-wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.ffp-ico-bob{animation:3.4s ease-in-out infinite ffp-ico-bob}.ffp-ico-spin{transform-box:fill-box;transform-origin:50%;animation:8s linear infinite ffp-ico-spin}.ffp-ico-spin-slow{transform-box:fill-box;transform-origin:50%;animation:16s linear infinite ffp-ico-spin}.ffp-ico-sway{animation:2.8s ease-in-out infinite ffp-ico-sway}.ffp-ico-twinkle{animation:2.2s ease-in-out infinite ffp-ico-twinkle}.ffp-ico-clap{transform-box:fill-box;transform-origin:4% 96%;animation:5.5s ease-in-out infinite ffp-ico-clap}.ffp-ico-wiggle{transform-box:fill-box;transform-origin:50%;animation:3.8s ease-in-out infinite ffp-ico-wiggle}@media (prefers-reduced-motion:reduce){.ffp-ico-bob,.ffp-ico-spin,.ffp-ico-spin-slow,.ffp-ico-sway,.ffp-ico-twinkle,.ffp-ico-clap,.ffp-ico-wiggle{animation:none}}.ffp-provenance.is-datasheet{color:var(--ff-success);border-color:color-mix(in srgb, var(--ff-success) 45%, transparent);background:color-mix(in srgb, var(--ff-success) 12%, transparent)}.ffp-provenance.is-page{color:var(--ff-warning);border-color:color-mix(in srgb, var(--ff-warning) 45%, transparent);background:color-mix(in srgb, var(--ff-warning) 12%, transparent)}.ffp-product-spec{flex-direction:column;gap:1rem;display:flex}.ffp-product-block{border-top:1px solid var(--ff-border-subtle);flex-direction:column;gap:.6rem;padding-top:.9rem;display:flex}.ffp-product-heading{font-family:var(--ff-font-display);margin:0;font-size:.98rem;font-weight:700}.ffp-product-rows,.ffp-product-claims,.ffp-product-rubric,.ffp-product-overlays,.ffp-product-flags{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.ffp-product-flags{gap:.25rem}.ffp-product-row,.ffp-product-claim,.ffp-product-rubric-row,.ffp-product-overlay{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);flex-direction:column;gap:.4rem;padding:.7rem;display:flex}.ffp-product-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.ffp-product-row-label,.ffp-product-claim-text{font-size:.9rem;font-weight:600}.ffp-product-row-value{font-variant-numeric:tabular-nums;margin:0}.ffp-product-evidence{color:var(--ff-text-muted);flex-wrap:wrap;gap:.15rem .7rem;margin:0;font-size:.82rem;display:flex}.ffp-product-quote{font-style:italic}.ffp-product-excluded{flex-direction:column;gap:.6rem;display:flex}.ffp-product-frame{border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);background:var(--ff-bg);width:100%;max-width:320px;position:relative;overflow:hidden;container-type:inline-size}.ffp-product-picture{background:color-mix(in srgb, var(--ff-text-subtle) 42%, var(--ff-surface-2));position:absolute}.ffp-product-card-box{border:1px solid color-mix(in srgb, var(--ff-text) 24%, transparent);flex-direction:column;justify-content:center;line-height:1.25;display:flex;position:absolute;overflow:hidden}.ffp-product-card-rows{grid-template-columns:fit-content(55%) minmax(0,1fr);align-items:baseline;min-width:0;display:grid}.ffp-product-card-k{opacity:.72;overflow-wrap:anywhere}.ffp-product-card-v{overflow-wrap:break-word;font-weight:600}.ffp-product-card-chart{flex-direction:column;min-width:0;display:flex}.ffp-product-card-chart-row{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.ffp-product-card-track{background:color-mix(in srgb, var(--ff-text) 20%, transparent);border-radius:999px;height:.4rem;display:block}.ffp-product-card-bar{border-radius:999px;height:100%;display:block}.ffp-product-keepout{border:1px dashed color-mix(in srgb, var(--ff-text-subtle) 70%, transparent);border-radius:var(--ff-radius-sm);pointer-events:none;position:absolute}.ffp-product-remedy{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.15rem;display:flex}.ffp-product-remedy-how{margin:0;font-size:.85rem}.ffp-publish-artefact{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);margin-top:.85rem;padding:.9rem 1rem 1rem}.ffp-publish-artefact-head p{max-width:52ch;font-size:.8rem;line-height:1.5}.ffp-publish-artefact textarea{box-sizing:border-box}.ffp-publish-reveal{margin-top:.7rem}.ffp-publish-reveal>summary{cursor:pointer;-webkit-user-select:none;user-select:none}.ffp-publish-reveal>summary:hover{color:var(--ff-text)}.ffp-publish-reveal[open]>summary{margin-bottom:.1rem}.ffp-publish-artefact>p.ffp-publish-meta{margin:.45rem 0 0;font-size:.78rem}.ffp-script-screen-input{min-height:84px;margin-top:.1rem}.ffp-script-screens .ffp-shot-plan-beat-label{margin-bottom:.05rem}.ffp-script-screens-intro{margin:0 0 .2rem;font-size:.85rem}@media (width<=640px){.ffp-script-screens .ffp-shot-plan-body{flex-basis:100%}}.ffp-approve-intro{margin:0 0 .5rem}.ffp-approve-summary{flex-direction:column;gap:.3rem;margin:0 0 .75rem;padding-left:1.1rem;font-size:.9rem;display:flex}.ffp-approve-summary li::marker{color:var(--ff-text-muted)}.ffp-approve-outcome{margin:0;font-size:.9rem}.ffp-detail-strip{gap:var(--ffp-card-stack-gap)}.ffp-detail-row{align-items:start}.ffp-detail-row .ffp-shot-actions{align-self:end}.ffp-detail-row .ffp-shot-body{gap:var(--ffp-field-rhythm);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);align-items:start}@media (width<=640px){.ffp-detail-row .ffp-shot-body{grid-template-columns:minmax(0,1fr)}.ffp-detail-row .ffp-shot-actions{align-self:auto}}.ffp-cut-list{flex-direction:column;gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.ffp-cut-row{border-top:1px solid var(--ff-border);padding-top:.6rem}.ffp-cut-row:first-child{border-top:0;padding-top:0}.ffp-cut-name{flex:auto}.ffp-cut-price{font-variant-numeric:tabular-nums;color:var(--ff-text-muted);flex:none;font-size:.85rem}.ffrec-panel{font-family:var(--ff-font-body);color:var(--ff-text);flex-direction:column;gap:1rem;display:flex}.ffrec-heading{font-family:var(--ff-font-display);margin:0;font-size:1.125rem;font-weight:600}.ffrec-subtle{color:var(--ff-text-muted);margin:0;font-size:.875rem}.ffrec-sources{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.ffrec-source{background:var(--ff-surface-2);border:1px solid var(--ff-border);border-radius:var(--ff-radius);color:var(--ff-text-muted);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;padding:.875rem .5rem;font-size:.8125rem;transition:border-color .12s,color .12s,box-shadow .12s;display:flex}.ffrec-source:hover{border-color:var(--ff-primary);color:var(--ff-text)}.ffrec-source:focus-visible{outline:2px solid var(--ff-primary);outline-offset:2px}.ffrec-source[aria-checked=true]{border-color:var(--ff-primary);color:var(--ff-text);box-shadow:var(--ff-shadow)}.ffrec-source svg{width:1.5rem;height:1.5rem}.ffrec-source[data-recommended=true]{border-color:var(--ff-primary);position:relative}.ffrec-source-badge{background:var(--ff-primary);color:var(--ff-primary-contrast);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.0625rem .4375rem;font-size:.625rem;font-weight:600;position:absolute;top:-.5625rem;left:50%;transform:translate(-50%)}.ffrec-source-label{color:inherit;font-weight:600}.ffrec-source-desc{color:var(--ff-text-muted);font-size:.6875rem;line-height:1.35}.ffrec-source-desc[data-tone=warn]{color:var(--ff-accent)}.ffrec-mic{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.625rem;font-size:.875rem;display:flex}.ffrec-mic input{opacity:0;pointer-events:none;position:absolute}.ffrec-mic-track{background:var(--ff-surface-2);border:1px solid var(--ff-border);border-radius:999px;flex:none;width:2.25rem;height:1.25rem;transition:background .12s;position:relative}.ffrec-mic-track:after{content:"";background:var(--ff-text-muted);border-radius:50%;width:1rem;height:1rem;transition:transform .12s,background .12s;position:absolute;top:1px;left:1px}.ffrec-mic input:checked+.ffrec-mic-track{background:var(--ff-primary);border-color:var(--ff-primary)}.ffrec-mic input:checked+.ffrec-mic-track:after{background:var(--ff-primary-contrast);transform:translate(1rem)}.ffrec-mic input:focus-visible+.ffrec-mic-track{outline:2px solid var(--ff-primary);outline-offset:2px}.ffrec-notice{border:1px solid var(--ff-border);border-radius:var(--ff-radius);background:var(--ff-surface-2);color:var(--ff-text-muted);align-items:flex-start;gap:.5rem;padding:.625rem .75rem;font-size:.8125rem;display:flex}.ffrec-notice[data-tone=warn]{border-color:var(--ff-accent);color:var(--ff-text)}.ffrec-stage{border-radius:var(--ff-radius-lg);background:var(--ff-bg);border:1px solid var(--ff-border);aspect-ratio:16/9;position:relative;overflow:hidden}.ffrec-stage video{object-fit:contain;background:var(--ff-bg);width:100%;height:100%;display:block}.ffrec-countdown{font-family:var(--ff-font-display);color:var(--ff-primary-contrast);background:var(--ff-gradient);opacity:.92;justify-content:center;align-items:center;font-size:4rem;font-weight:700;display:flex;position:absolute;inset:0}.ffrec-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.ffrec-timer{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:inline-flex}.ffrec-timer:before{content:"";background:var(--ff-accent);border-radius:50%;width:.5rem;height:.5rem;animation:1.2s ease-in-out infinite ffrec-blink}.ffrec-timer[data-paused=true]:before{background:var(--ff-text-muted);animation:none}@keyframes ffrec-blink{0%,to{opacity:1}50%{opacity:.25}}.ffrec-spacer{flex:1}.ffrec-meta{color:var(--ff-text-muted);flex-wrap:wrap;gap:.75rem;font-size:.8125rem;display:flex}.ffrec-drop{border:2px dashed var(--ff-border);border-radius:var(--ff-radius-lg);background:var(--ff-surface-2);color:var(--ff-text-muted);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;padding:2.5rem 1.25rem;transition:border-color .12s,color .12s;display:flex}.ffrec-drop:hover,.ffrec-drop[data-dragging=true]{border-color:var(--ff-primary);color:var(--ff-text)}.ffrec-drop:focus-visible{outline:2px solid var(--ff-primary);outline-offset:2px}.ffrec-drop svg{width:2rem;height:2rem}.ffrec-drop input{display:none}.ffrec-centered{color:var(--ff-text-muted);justify-content:center;align-items:center;gap:.625rem;padding:2rem 0;font-size:.875rem;display:flex}.ffrec-upload{background:var(--ff-surface-2);border:1px solid var(--ff-border);border-radius:var(--ff-radius);flex-direction:column;gap:.5rem;padding:.75rem .875rem;font-size:.8125rem;display:flex}.ffrec-upload[data-tone=warn]{background:var(--ff-danger-soft);border-color:var(--ff-danger)}.ffrec-upload-row{align-items:center;gap:.5rem;display:flex}.ffrec-upload-label{color:var(--ff-text);font-weight:500}.ffrec-upload-bytes{color:var(--ff-text-muted);font-family:var(--ff-font-mono);font-size:.75rem}.ffrec-progress{background:var(--ff-border-subtle);border-radius:999px;height:.375rem;overflow:hidden}.ffrec-progress-fill{background:var(--ff-gradient);border-radius:inherit;height:100%;transition:width .3s var(--ff-ease-out)}.ffrec-progress[data-state=retrying] .ffrec-progress-fill{background:var(--ff-warning)}.ffrec-progress[data-state=failed] .ffrec-progress-fill{background:var(--ff-danger)}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2)format("woff2"),url(/assets/open-sans-latin-600-normal-C3dWW5mx.woff)format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/roboto-latin-600-normal-CzqH9ZEY.woff2)format("woff2"),url(/assets/roboto-latin-600-normal-X4S5XP0J.woff)format("woff")}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/work-sans-latin-600-normal-DB-2V89X.woff2)format("woff2"),url(/assets/work-sans-latin-600-normal-Cg-NlmS7.woff)format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2)format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff)format("woff")}
