.toast-host{position:fixed;right:var(--space-lg);bottom:var(--space-lg);z-index:1100;display:flex;flex-direction:column;gap:var(--space-sm);width:min(360px,calc(100vw - var(--space-xl) * 2));pointer-events:none}.toast{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);padding-left:calc(var(--space-md) + 3px);border-radius:var(--radius-md);overflow:hidden;color:var(--color-text-primary);pointer-events:auto;opacity:0;transform:translateY(12px);animation:toast-enter var(--dur-base) var(--ease-out) forwards}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.toast--success:before{background-color:var(--color-success)}.toast--error:before{background-color:var(--color-danger)}.toast--neutral:before{background-color:var(--color-accent)}.toast__message{flex:1;font-size:var(--font-size-sm);line-height:1.4}.toast__action{flex:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background-color:var(--color-hover);color:var(--color-text-primary);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;transition:var(--transition-smooth)}.toast__action:hover{background-color:var(--color-active)}.toast__close{flex:none;display:inline-flex;color:var(--color-text-muted);opacity:.7}.toast__close:hover{opacity:1}.toast__timer{position:absolute;left:0;right:0;bottom:0;height:2px;background-color:currentColor;opacity:.25;transform-origin:left;animation-name:toast-countdown;animation-timing-function:linear;animation-fill-mode:forwards}.toast--leaving{animation:toast-leave var(--dur-base) var(--ease-out) forwards}@keyframes toast-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none;opacity:1;transform:none}.toast--leaving,.toast__timer{animation:none}}:root.lite .toast{animation:none;opacity:1;transform:none}:root.lite .toast--leaving{animation:none}:root.lite .toast__timer{animation:none}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-family-base: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-display: "Unbounded", var(--font-family-base);--font-family-utility: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-scale-4: 1.0625rem;--line-height-base: 1.55;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-pill: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--dur-base: .24s;--dur-wow: .5s;--ease-out: cubic-bezier(.25, .8, .25, 1);--ease-wow: cubic-bezier(.165, .84, .44, 1);--transition-smooth: all .3s var(--ease-out)}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/unbounded-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/onest-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cascade-grid>*{animation:cascade-in var(--dur-base) var(--ease-out) backwards}@keyframes cascade-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.cascade-grid>:nth-child(1){animation-delay:0ms}.cascade-grid>:nth-child(2){animation-delay:25ms}.cascade-grid>:nth-child(3){animation-delay:50ms}.cascade-grid>:nth-child(4){animation-delay:75ms}.cascade-grid>:nth-child(5){animation-delay:.1s}.cascade-grid>:nth-child(6){animation-delay:125ms}.cascade-grid>:nth-child(7){animation-delay:.15s}.cascade-grid>:nth-child(8){animation-delay:175ms}.cascade-grid>:nth-child(9){animation-delay:.2s}.cascade-grid>:nth-child(10){animation-delay:225ms}.cascade-grid>:nth-child(11){animation-delay:.25s}.cascade-grid>:nth-child(12){animation-delay:275ms}.cascade-grid>:nth-child(n+13){animation-duration:0ms;animation-delay:0ms}@media(prefers-reduced-motion:reduce){.cascade-grid>*{animation:none}}:root.lite .cascade-grid>*{animation:none}@media print{:root,body,.fl-app,.fl-main{background:#fff!important;color:#000!important}body:before,.surface-card:after,.fl-header,.fl-nav,.fl-actions,.fl-tabs,.fl-drawer,.toast-host,.fl-demo-banner,.fl-editor__bar,button{display:none!important}.fl-main{max-width:none!important;padding:0!important}.surface-card{border:1px solid #000000!important;box-shadow:none!important;background:transparent!important}h1,h2,h3,.fl-h1,.fl-h2,.fl-scene__head,.fl-plan__head{break-after:avoid-page;page-break-after:avoid}.fl-scene,.fl-plan,.fl-roll,.fl-frame,.fl-take,.fl-keyframe,.fl-variant,table,figure{break-inside:avoid;page-break-inside:avoid}.fl-table th,.fl-table td{border:1px solid #000000!important;background:transparent!important;word-break:break-word}.fl-muted,.fl-scene__cast,.fl-scene__anim{color:#333!important}.fl-stage,.fl-verdict,.fl-decision,.fl-tag{border:1px solid #000000!important;background:transparent!important;color:#000!important}a{color:#000!important;text-decoration:underline}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{font-size:calc(100% * var(--text-scale, 1))}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;transition:var(--transition-smooth)}h1,h2,h3,p{margin:0}h1,.text-display{font-family:var(--font-family-display);font-weight:600}.text-utility{font-family:var(--font-family-utility);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.btn-ripple{position:relative;overflow:hidden;--ripple-color: var(--color-text-on-accent)}.btn-ripple:after{content:"";position:absolute;inset:0;border-radius:inherit;background-color:var(--ripple-color);opacity:0;transform:scale(0);pointer-events:none}.btn-ripple.btn-ripple--active:after{animation:btn-ripple-pulse var(--dur-wow) var(--ease-wow)}@keyframes btn-ripple-pulse{0%{opacity:.35;transform:scale(0)}to{opacity:0;transform:scale(1.6)}}@media(prefers-reduced-motion:reduce){.btn-ripple.btn-ripple--active:after{animation:none}}:root.lite .btn-ripple.btn-ripple--active:after{animation:none}a{color:var(--color-accent);text-decoration:none}button{font-family:inherit;color:inherit;cursor:pointer}input{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-active);color:var(--color-text-primary)}:root[data-scheme=dark] ::selection{background:color-mix(in srgb,var(--brand-veil) 65%,var(--color-surface));color:#fff}mark.search-highlight{background:var(--color-active);color:var(--color-text-primary);border-radius:2px}:root[data-scheme=dark] mark.search-highlight{background:color-mix(in srgb,var(--brand-veil) 65%,var(--color-surface));color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-track{background:transparent}.app-boot-hint{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-text-muted);font-size:var(--font-size-base)}.app-boot-hint--error{color:var(--color-danger)}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--dur-base)}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}}.surface-glass{background:color-mix(in srgb,var(--color-surface) 62%,transparent);border:.5px solid color-mix(in srgb,var(--surface-glass-border-tint) 25%,transparent);box-shadow:inset 0 1px #ffffff29,inset 0 -18px 24px -22px #00000080}:root[data-scheme=dark] .surface-glass{background:color-mix(in srgb,var(--color-surface) 55%,transparent)}.surface-glass-blur{background:color-mix(in srgb,var(--color-surface) 72%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:.5px solid color-mix(in srgb,var(--surface-glass-border-tint) 25%,transparent)}:root[data-scheme=dark] .surface-glass-blur{background:color-mix(in srgb,var(--color-surface) 68%,transparent)}:root.lite .surface-glass,:root.lite .surface-glass-blur{box-shadow:none}:root.lite .surface-glass-blur{background:color-mix(in srgb,var(--color-surface) 62%,transparent);backdrop-filter:none;-webkit-backdrop-filter:none}:root.lite[data-scheme=dark] .surface-glass-blur{background:color-mix(in srgb,var(--color-surface) 55%,transparent)}:root{--fl-orange: #e04e14;--fl-orange-deep: #c2410c;--fl-orange-darker: #a83809;--fl-orange-bright: #f2703a;--fl-orange-light: #f57f43;--fl-brass: #c9a26a;--fl-brass-deep: #8a6a3c;--fl-sun: #f7c77e;--fl-apricot: #f4cfb0;--fl-teal-deep: #0c2422;--fl-teal: #12312e;--fl-teal-raised: #173a36;--fl-teal-mid: #1f5551;--fl-sea: #3e7a72;--fl-sea-pale: #a9c4bb;--fl-indigo: #0b384e;--fl-paper: #f7efe2;--fl-paper-raised: #fdf8ee;--fl-paper-edge: #e3d3b8;--fl-cream: #f2e7d6;--fl-ink: #10302d;--fl-ink-soft: #4a625d;--fl-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' seed='4'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");--fl-grain-strength: .05;--fl-sunrise: radial-gradient(70% 340% at 100% 62%, rgba(224, 78, 20, .5) 0%, rgba(224, 78, 20, 0) 62%), radial-gradient(46% 260% at 100% 46%, rgba(247, 199, 126, .32) 0%, rgba(247, 199, 126, 0) 66%), linear-gradient(90deg, rgba(31, 85, 81, 0) 46%, rgba(31, 85, 81, .55) 100%);--color-bg: var(--fl-paper);--color-surface: var(--fl-paper-raised);--color-surface-raised: #fffcf6;--color-border: var(--fl-paper-edge);--color-border-strong: #cbb695;--color-divider: #ece0cc;--color-text-primary: var(--fl-ink);--color-text-secondary: var(--fl-ink-soft);--color-text-muted: #5c736e;--color-text-on-accent: var(--fl-paper-raised);--color-accent: var(--fl-orange-deep);--color-accent-hover: var(--fl-orange-darker);--color-accent-bright: var(--fl-orange);--color-accent-secondary: var(--fl-brass-deep);--color-accent-soft: rgba(224, 78, 20, .13);--color-accent-glow: rgba(224, 78, 20, .3);--color-focus-ring: rgba(194, 65, 12, .55);--color-hover: rgba(224, 78, 20, .07);--color-active: rgba(224, 78, 20, .16);--color-success: #1d6a4b;--color-success-soft: #e2eee7;--color-danger: #a5301c;--color-danger-soft: #f6e3dc;--fl-warn: #8a5a06;--fl-warn-soft: #f6ead2;--color-neutral-soft: #ece2d0;--color-header-bg: var(--fl-teal-deep);--color-sidebar-bg: var(--fl-teal-deep);--color-scrollbar-thumb: var(--color-border-strong);--surface-glass-border-tint: var(--fl-brass);--brand-veil: var(--fl-teal-mid);--shadow-sm: 0 1px 2px rgba(16, 48, 45, .07);--shadow-md: 0 6px 18px rgba(16, 48, 45, .09);--shadow-lg: 0 18px 44px rgba(16, 48, 45, .16);--fl-card-inner: rgba(201, 162, 106, .22)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-scheme=light]){--color-bg: var(--fl-teal-deep);--color-surface: var(--fl-teal);--color-surface-raised: var(--fl-teal-raised);--color-border: #26514b;--color-border-strong: #35665e;--color-divider: #1d443f;--color-text-primary: var(--fl-cream);--color-text-secondary: var(--fl-sea-pale);--color-text-muted: #8fa9a2;--color-text-on-accent: var(--fl-teal-deep);--color-accent: var(--fl-orange-light);--color-accent-hover: #fa9459;--color-accent-bright: var(--fl-orange-bright);--color-accent-secondary: var(--fl-brass);--color-accent-soft: rgba(242, 112, 58, .18);--color-accent-glow: rgba(242, 112, 58, .32);--color-focus-ring: rgba(245, 127, 67, .7);--color-hover: rgba(242, 112, 58, .1);--color-active: rgba(242, 112, 58, .2);--color-success: #7ad6a4;--color-success-soft: rgba(122, 214, 164, .16);--color-danger: #f28b7d;--color-danger-soft: rgba(242, 139, 125, .16);--fl-warn: #e8b45a;--fl-warn-soft: rgba(232, 180, 90, .16);--color-neutral-soft: rgba(169, 196, 187, .14);--fl-grain-strength: .08;--fl-card-inner: rgba(201, 162, 106, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 18px rgba(0, 0, 0, .34);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .45)}}[data-theme=dark],[data-scheme=dark]{--color-bg: var(--fl-teal-deep);--color-surface: var(--fl-teal);--color-surface-raised: var(--fl-teal-raised);--color-border: #26514b;--color-border-strong: #35665e;--color-divider: #1d443f;--color-text-primary: var(--fl-cream);--color-text-secondary: var(--fl-sea-pale);--color-text-muted: #8fa9a2;--color-text-on-accent: var(--fl-teal-deep);--color-accent: var(--fl-orange-light);--color-accent-hover: #fa9459;--color-accent-bright: var(--fl-orange-bright);--color-accent-secondary: var(--fl-brass);--color-accent-soft: rgba(242, 112, 58, .18);--color-accent-glow: rgba(242, 112, 58, .32);--color-focus-ring: rgba(245, 127, 67, .7);--color-hover: rgba(242, 112, 58, .1);--color-active: rgba(242, 112, 58, .2);--color-success: #7ad6a4;--color-success-soft: rgba(122, 214, 164, .16);--color-danger: #f28b7d;--color-danger-soft: rgba(242, 139, 125, .16);--fl-warn: #e8b45a;--fl-warn-soft: rgba(232, 180, 90, .16);--color-neutral-soft: rgba(169, 196, 187, .14);--fl-grain-strength: .08;--fl-card-inner: rgba(201, 162, 106, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 18px rgba(0, 0, 0, .34);--shadow-lg: 0 18px 44px rgba(0, 0, 0, .45)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:var(--fl-grain);opacity:var(--fl-grain-strength)}.fl-app{position:relative;z-index:1}.surface-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--fl-card-inner)}.surface-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:var(--fl-grain);opacity:calc(var(--fl-grain-strength) * .9)}.surface-card>*{position:relative;z-index:1}.surface-card--liftable{transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}.surface-card--liftable:hover{transform:translateY(-2px);border-color:var(--color-accent-bright);box-shadow:var(--shadow-md),inset 0 0 0 1px var(--fl-card-inner)}@media(prefers-reduced-motion:reduce){.surface-card--liftable{transition:none}.surface-card--liftable:hover{transform:none}}.fl-app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text-primary)}.fl-demo-banner{margin:0;padding:8px 28px;background:var(--color-accent);color:var(--color-text-on-accent);font-size:var(--font-size-sm, .8125rem);text-align:center}.fl-demo-banner a{color:inherit;font-weight:600;text-decoration:underline}.fl-header{position:relative;display:flex;align-items:center;gap:var(--space-md, 16px);padding:14px 28px;background-color:var(--color-header-bg);background-image:var(--fl-sunrise);border-bottom:1px solid rgba(201,162,106,.28);color:var(--fl-cream)}.fl-brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.fl-brand__mark{width:36px;height:36px;object-fit:contain}.fl-brand__name{font-family:var(--font-family-display);font-weight:600;font-size:20px;letter-spacing:.01em;color:var(--fl-cream)}.fl-header__tagline{color:var(--fl-brass);font-size:13px;font-style:italic}.fl-main{flex:1;padding:28px;max-width:1280px;width:100%;margin:0 auto;box-sizing:border-box}.fl-page__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.fl-h1{font-family:var(--font-family-display);font-size:28px;letter-spacing:-.01em;margin:4px 0}.fl-muted{color:var(--color-text-secondary);font-size:14px}.fl-error{color:var(--color-danger)}.fl-back{color:var(--color-text-secondary);text-decoration:none;font-size:13px}code{font-family:var(--font-family-utility);font-size:.9em;background:var(--color-accent-soft);color:var(--color-accent);padding:1px 5px;border-radius:4px}.fl-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;list-style:none;padding:0;margin:0 0 24px}.fl-stages__item{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:inset 0 0 0 1px var(--fl-card-inner);padding:12px 14px;display:flex;flex-direction:column}.fl-stages__item:before{content:"";position:absolute;inset:0 0 auto;height:3px;border-radius:11px 11px 0 0;background:linear-gradient(90deg,var(--color-accent-bright) 0%,rgba(224,78,20,0) 72%)}.fl-stages__count{font-family:var(--font-family-display);font-size:22px;font-weight:600}.fl-stages__label{color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.fl-spend{margin:-12px 0 20px}.fl-roll__acceptance{margin:-8px 0 12px;font-size:12px}.fl-rolls{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.fl-roll{overflow:hidden}.fl-roll__link{display:block;padding:16px 18px 18px;color:inherit;text-decoration:none}.fl-roll__top{display:flex;gap:8px;align-items:center;margin-bottom:8px}.fl-roll__title{font-family:var(--font-family-display);font-weight:500;font-size:17px;letter-spacing:-.005em;margin:0 0 4px}.fl-roll__meta{margin:0 0 12px;color:var(--color-text-secondary);font-size:13px}.fl-progress{position:relative;height:6px;background:var(--color-divider);border-radius:3px;overflow:hidden}.fl-progress__keys,.fl-progress__takes{position:absolute;left:0;top:0;bottom:0;border-radius:3px}.fl-progress__keys{background:var(--fl-brass)}.fl-progress__takes{background:var(--color-accent-bright)}.fl-stage,.fl-verdict{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent)}.fl-stage--accepted,.fl-verdict--pass{background:var(--color-success-soft);color:var(--color-success)}.fl-verdict--warn{background:var(--fl-warn-soft);color:var(--fl-warn)}.fl-verdict--fail{background:var(--color-danger-soft);color:var(--color-danger)}.fl-stage--planned{background:var(--color-neutral-soft);color:var(--color-text-secondary)}.fl-actions{display:flex;gap:8px;flex-wrap:wrap}.fl-button{font:inherit;font-size:14px;padding:8px 14px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.fl-button:hover:not(:disabled){border-color:var(--color-accent-bright);background:var(--color-hover)}.fl-button:disabled{opacity:.55;cursor:default}.fl-button--primary{background:var(--color-accent);color:var(--color-text-on-accent);border-color:transparent;font-weight:500}.fl-button--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:transparent}.fl-button--small{font-size:12px;padding:4px 10px}.fl-button--danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger)}.fl-tabs{display:flex;gap:4px;border-bottom:1px solid var(--color-border);margin-bottom:20px}.fl-tab{font:inherit;font-size:14px;padding:8px 14px;border:0;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.fl-tab:hover{color:var(--color-text-primary)}.fl-tab--active{color:var(--color-text-primary);font-weight:500;border-bottom-color:var(--color-accent-bright)}.fl-scenes{display:flex;flex-direction:column;gap:16px}.fl-scene{padding:16px 18px}.fl-scene__head{display:flex;gap:12px;align-items:baseline;margin-bottom:4px}.fl-scene__id{font-family:var(--font-family-utility);font-weight:700;color:var(--color-accent)}.fl-scene__plate{font-weight:600}.fl-scene__cast{margin:0 0 6px;color:var(--color-text-secondary);font-size:13px}.fl-scene__img{margin:0 0 4px;font-size:14px;line-height:1.45}.fl-scene__anim{margin:0 0 10px;font-size:13px;color:var(--color-text-secondary)}.fl-frames,.fl-takes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:10px 0}.fl-frame,.fl-take{margin:0;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-surface-raised)}.fl-frame__img,.fl-take__media{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--fl-teal-deep)}.fl-frame__bar,.fl-take__name{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--color-divider);font-size:12px;font-family:var(--font-family-utility);color:var(--color-text-secondary)}.fl-checklist{margin:8px 0 0;padding-left:18px;font-size:13px;color:var(--color-text-secondary);columns:2}.fl-episode{display:flex;flex-direction:column;gap:14px}.fl-episode__video{width:100%;max-width:960px;border-radius:12px;border:1px solid var(--color-border);background:var(--fl-teal-deep)}.fl-verify{padding:16px 18px;max-width:960px}.fl-verify__head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.fl-verify__section{margin-top:10px}.fl-verify__title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0 0 4px}.fl-verify__list{list-style:none;padding:0;margin:0}.fl-check{padding:3px 0 3px 22px;position:relative;font-size:14px}.fl-check:before{content:"";position:absolute;left:4px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--color-success)}.fl-check--warn:before{background:var(--fl-warn)}.fl-check--fail:before{background:var(--color-danger)}.fl-drawer{position:fixed;right:20px;bottom:0;width:min(560px,calc(100vw - 40px));background:var(--color-surface);border:1px solid var(--color-border);border-bottom:0;border-radius:14px 14px 0 0;box-shadow:var(--shadow-lg),inset 0 0 0 1px var(--fl-card-inner);z-index:20}.fl-drawer__toggle{width:100%;font:inherit;font-size:13px;padding:10px 16px;border:0;background:transparent;color:var(--color-text-primary);cursor:pointer;display:flex;justify-content:space-between}.fl-drawer__body{max-height:45vh;overflow:auto;border-top:1px solid var(--color-border);padding:8px 12px 12px}.fl-job__summary{cursor:pointer;font-size:13px;padding:6px 0}.fl-job__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--color-text-muted)}.fl-job__dot--live{background:var(--color-accent-bright);animation:fl-pulse 1.2s infinite}.fl-job__dot--ok{background:var(--color-success)}.fl-job__dot--bad{background:var(--color-danger)}.fl-job__log{margin:4px 0 8px;padding:10px 12px;background:var(--fl-teal-deep);color:var(--fl-sea-pale);border-radius:8px;font-family:var(--font-family-utility);font-size:12px;line-height:1.45;max-height:260px;overflow:auto;white-space:pre-wrap}@keyframes fl-pulse{50%{opacity:.35}}@media(max-width:720px){.fl-main{padding:16px}.fl-stages{grid-template-columns:repeat(2,1fr)}.fl-checklist{columns:1}}.fl-nav{margin-left:auto;display:flex;gap:4px}.fl-nav__link{color:var(--fl-sea-pale);text-decoration:none;font-size:14px;padding:6px 12px;border-radius:8px;transition:color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}.fl-nav__link:hover{color:var(--fl-cream);background:#f7efe214}.fl-nav__link--active{color:var(--fl-teal-deep);background:var(--fl-sun);font-weight:500}.fl-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;flex:1}.fl-field--inline{margin-bottom:0}.fl-field--narrow{flex:0 0 130px}.fl-field-row{display:flex;gap:12px}.fl-label{font-size:12px;color:var(--color-text-secondary)}.fl-input{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-raised);color:var(--color-text-primary);width:100%;box-sizing:border-box}.fl-input:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px;border-color:var(--color-accent)}.fl-textarea{resize:vertical;line-height:1.45}.fl-input--id{width:68px;font-family:var(--font-family-utility);font-weight:700;color:var(--color-accent)}.fl-input--kind{width:120px}.fl-input--num{width:74px}.fl-new{padding:16px 18px;margin-bottom:20px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.fl-new__hint{flex-basis:100%;margin:0}.fl-empty{padding:22px 24px;max-width:640px}.fl-empty p{margin:0 0 8px;font-size:14px;line-height:1.5}.fl-h2{font-family:var(--font-family-display);font-weight:500;font-size:18px;margin:0 0 8px}.fl-editor{display:flex;flex-direction:column;gap:16px}.fl-editor__bar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:inset 0 0 0 1px var(--fl-card-inner);border-radius:14px;position:sticky;top:0;z-index:5}.fl-spacer{flex:1}.fl-path{margin:-8px 0 18px}.fl-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:24px}.fl-table th,.fl-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--color-border);vertical-align:top}.fl-table th{color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.fl-table__num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fl-note{padding:18px 20px;max-width:820px}.fl-steps{margin:0 0 10px;padding-left:20px;font-size:14px;line-height:1.55}.fl-steps li{margin-bottom:8px}.fl-plans{display:flex;flex-direction:column;gap:20px}.fl-plans__scene{display:flex;flex-direction:column;gap:12px}.fl-plans__scene-id{font-family:var(--font-family-utility);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0}.fl-plan{padding:16px 18px}.fl-plan__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.fl-tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent)}.fl-plan__keys{display:grid;grid-template-columns:repeat(2,minmax(160px,240px));gap:12px;margin:10px 0}.fl-keyframe{margin:0}.fl-keyframe__img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:10px;border:1px solid var(--color-border);background:var(--fl-teal-deep)}.fl-keyframe__empty{display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;border:1px dashed var(--color-border);border-radius:10px;color:var(--color-text-muted);font-size:12px;text-align:center;padding:8px}.fl-variants{display:flex;flex-direction:column;gap:12px;margin-top:10px}.fl-variant{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:14px;border-top:1px solid var(--color-border);padding-top:12px}.fl-variant__media{display:flex;flex-direction:column;gap:8px}.fl-variant__sheet{display:block;width:100%;border-radius:8px;border:1px solid var(--color-border)}.fl-variant__body{display:flex;flex-direction:column;gap:8px}.fl-variant__bar{display:flex;align-items:center;gap:10px}.fl-decision{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--color-neutral-soft);color:var(--color-text-secondary)}.fl-decision--accepted{background:var(--color-success-soft);color:var(--color-success)}.fl-decision--rejected{background:var(--color-danger-soft);color:var(--color-danger)}.fl-decision--redo{background:var(--fl-warn-soft);color:var(--fl-warn)}.fl-defects{display:flex;flex-wrap:wrap;gap:6px 14px;border:0;padding:0;margin:0}.fl-defects legend{width:100%;padding:0 0 4px}.fl-defect{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-secondary);text-transform:capitalize}@media(max-width:720px){.fl-variant{grid-template-columns:1fr}.fl-plan__keys{grid-template-columns:repeat(2,1fr)}}.fl-spot{flex:0 0 auto;display:block}.fl-spot__sky{fill:var(--color-accent-soft)}.fl-spot__hot{fill:var(--color-accent-bright)}.fl-spot__line{fill:var(--color-border-strong)}.fl-spot__ring{fill:none;stroke:var(--color-border-strong);stroke-width:3}.fl-emptyline{display:flex;align-items:center;gap:12px;margin:10px 0;font-size:14px}.fl-empty--illustrated{display:flex;align-items:flex-start;gap:20px}.fl-keyframe__empty{flex-direction:column;gap:8px}@media(max-width:720px){.fl-empty--illustrated{flex-direction:column;gap:12px}}
