:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18181b;background:#f7f7f8;font-synthesis:none;text-rendering:optimizeLegibility;--flow-bg: #f7f7f8;--flow-panel: #ffffff;--flow-surface: #ffffff;--flow-surface-hover: #f3f4f6;--flow-line: #e5e5e7;--flow-text: #18181b;--flow-muted: #6b6b73;--flow-faint: #a1a1aa;--flow-accent: #0d99ff;--flow-accent-soft: rgba(13, 153, 255, .1);--flow-danger: #dc2626}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid rgba(13,153,255,.52);outline-offset:2px}button:disabled{opacity:.35;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flow-app{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:52px minmax(0,1fr);width:100%;height:100%;color:var(--flow-text);background:var(--flow-bg);letter-spacing:-.012em}.flow-topbar{position:relative;z-index:20;grid-column:1 / -1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-width:0;padding:0 10px 0 16px;border-bottom:1px solid var(--flow-line);background:#fffffff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.flow-topbar__center{justify-self:center;display:flex;align-items:center;gap:8px;min-width:0}.topbar-divider{width:1px;height:24px;background:#e4e4e7}.flow-brand{display:flex;align-items:center;min-width:120px}.flow-brand strong{color:#111113;font-size:13px;font-weight:720;letter-spacing:-.035em}.global-tools,.state-context-actions{display:flex;align-items:center;gap:2px;min-width:0;padding:3px;border:1px solid #dedee2;border-radius:9px;background:#fff;box-shadow:0 1px 2px #0000000a,0 4px 14px #00000009}.global-tools button,.state-context-actions button,.icon-action{display:grid;place-items:center;width:30px;height:29px;padding:0;border:0;border-radius:6px;color:#71717a;background:transparent;cursor:pointer}.global-tools button:hover,.state-context-actions button:hover,.icon-action:hover{color:#18181b;background:#f2f2f3}.global-tools button[aria-pressed=true]{color:#fff;background:var(--flow-accent)}.state-context-actions>span{padding:0 7px 0 5px;color:#71717a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;white-space:nowrap}.state-context-actions button.is-inner-action{color:#1688d5}.state-context-actions button.is-danger-action{color:#a1a1aa}.state-context-actions button.is-danger-action:hover{color:var(--flow-danger);background:#fef2f2}.flow-topbar__actions{justify-self:end;display:flex;align-items:center;gap:3px}.export-action{width:32px;height:32px;color:#fff;background:#111113}.export-action:hover{color:#fff;background:#2b2b2f}.gif-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:32px;padding:0 12px;border:1px solid #111113;border-radius:7px;color:#fff;background:#111113;font-size:10px;font-weight:650;cursor:pointer}.gif-button:hover{background:#2b2b2f}.flow-notice{position:fixed;z-index:80;top:64px;left:50%;display:flex;align-items:center;gap:14px;max-width:560px;transform:translate(-50%);padding:9px 9px 9px 13px;border:1px solid #dedee2;border-radius:9px;color:#3f3f46;background:#fff;box-shadow:0 14px 40px #0000001a;font-size:12px}.flow-notice button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;color:#71717a;background:transparent;cursor:pointer}.flow-canvas{position:relative;grid-column:1;grid-row:2;min-width:0;min-height:0;overflow:hidden;cursor:grab;touch-action:none;background-color:#eef0f2;background-image:radial-gradient(circle at 1px 1px,rgba(24,24,27,.095) 1px,transparent 0);background-position:-1px -1px;background-size:20px 20px}.flow-canvas--inner:after{position:absolute;z-index:7;top:7px;right:7px;bottom:7px;left:7px;border:1px dashed rgba(13,153,255,.4);border-radius:9px;pointer-events:none;content:"";box-shadow:inset 3px 0 #0d99ff0f}.flow-canvas--inner.flow-canvas--focused:after{display:none}.flow-canvas:active{cursor:grabbing}.flow-app--tool-rectangle .flow-canvas,.flow-app--tool-rectangle .scene-svg{cursor:crosshair}.flow-world{position:absolute;top:0;left:0;width:max-content;transform-origin:0 0;will-change:transform}.state-flow{display:flex;align-items:center;width:max-content;padding:0}.state-flow__item{display:flex;align-items:center}.state-card-shell{position:relative;z-index:1;display:grid;gap:6px;width:310px}.state-card-shell.is-active{z-index:3}.state-card-header{display:flex;align-items:center;min-height:30px;padding:0 2px}.state-card-label{display:inline-flex;min-width:0;align-items:baseline;gap:7px;padding:4px 6px;border:0;border-radius:5px;color:#52525b;background:transparent;cursor:pointer}.state-card-label:hover{color:#18181b;background:#ffffffad}.state-card-label span{color:#52525b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:650}.state-card{position:relative;width:310px;overflow:visible;border:1px solid #c9cbd0;border-radius:0;cursor:default;background:#fff;box-shadow:0 1px 2px #0000000f,0 8px 24px #0000000f}.state-card:hover{border-color:#b7bac0}.state-card.is-active{border-color:var(--flow-accent);box-shadow:0 0 0 1px var(--flow-accent),0 8px 24px #00000012}.state-card__preview{position:relative;display:grid;width:100%;aspect-ratio:3 / 2;overflow:visible;border-radius:0;background:transparent}.scene-svg{display:block;width:100%;height:100%;touch-action:none}.scene-svg--clipped{overflow:hidden}.scene-svg--unclipped{overflow:visible}.scene-svg [role=button]:active{cursor:grabbing!important}.object-selection__bounds{fill:none;stroke:#0d99ff;stroke-width:1.5}.object-selection--matched .object-selection__bounds{stroke:#0d99ff75;stroke-width:1.25}.object-selection__handle{fill:#fff;stroke:#0d99ff;stroke-width:1.25}.object-selection__edge{fill:transparent;stroke:none}.object-selection__edge--n,.object-selection__edge--s{cursor:ns-resize}.object-selection__edge--e,.object-selection__edge--w{cursor:ew-resize}.object-selection__handle--nw,.object-selection__handle--se{cursor:nwse-resize}.object-selection__handle--ne,.object-selection__handle--sw{cursor:nesw-resize}.object-selection__size rect{fill:#0d99ff}.object-selection__size text{fill:#fff;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:600}.inner-motion-boundary{fill:#0d99ff05;stroke:#75bff0}.inner-motion-boundary--matched{fill:#0d99ff06;stroke:#89c9f2}.inner-motion-boundary--primary{fill:#0d99ff0e;stroke:#3498db}.inner-motion-enter{cursor:pointer}.inner-motion-enter rect{fill:#fff;stroke:#d4d4d8;stroke-width:1;vector-effect:non-scaling-stroke}.inner-motion-enter path{fill:none;stroke:#1688d5;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.inner-motion-enter:hover rect{fill:#f7fbff;stroke:#7bc5f3}.inner-motion-enter:hover path{stroke:#0671bd}.focused-state-stage{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;padding:16px}.focused-state-frame{position:relative;height:min(calc(100% - 2px),calc((100vw - 352px) / var(--state-aspect)));aspect-ratio:var(--state-aspect);overflow:visible;border:1px solid #0d99ff;border-radius:0;background:#fff;box-shadow:0 10px 36px #00000017}.focused-state-frame .scene-svg{width:100%;height:100%}.transition-node{display:grid;justify-items:center;width:122px;padding:28px 8px;border:0;color:#71717a;cursor:pointer;background:transparent}.transition-node__line{display:flex;align-items:center;width:100%;margin-bottom:7px}.transition-node__line i{flex:1;height:1px;background:#c9cbd0}.transition-node__line span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c9cbd0;border-radius:50%;color:#71717a;background:#fff}.transition-node:hover .transition-node__line span{color:#1688d5;border-color:#4eaff0;background:#f5fbff}.transition-node.is-active .transition-node__line span{color:#fff;border-color:var(--flow-accent);background:var(--flow-accent)}.transition-node.is-active .transition-node__line i{background:#0d99ff85}.transition-node strong{color:#52525b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.transition-node small{margin-top:2px;color:#8b8b94;font-size:8px}.add-state-card{display:grid;place-items:center;align-content:center;gap:8px;width:150px;height:130px;margin-left:26px;border:1px dashed #bfc2c7;border-radius:10px;color:#71717a;cursor:pointer;background:#ffffff7a;font-size:10px}.add-state-card:hover{color:#18181b;border-color:#8f939a;background:#ffffffc2}.flow-timing{position:relative;display:block;height:34px;margin-top:16px;padding:0;border:0;color:#71717a;cursor:pointer;background:transparent}.flow-timing__line{position:absolute;top:11px;right:155px;left:155px;height:3px;border-radius:999px;background:#bfc2c7;box-shadow:0 0 0 1px #fff6}.flow-timing__step{position:absolute;top:0;width:1px;height:100%}.flow-timing__step i{position:absolute;z-index:1;top:7px;left:0;width:11px;height:11px;transform:translate(-50%);border:2px solid #eef0f2;border-radius:50%;background:#71717a;box-shadow:0 0 0 1px #71717a24}.flow-timing__step small{position:absolute;top:22px;left:0;transform:translate(-50%);color:#71717a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:650}.flow-timing:hover .flow-timing__line,.flow-timing.is-active .flow-timing__line{background:#69bdf4}.flow-timing:hover .flow-timing__step i{background:#1688d5}.flow-timing.is-active .flow-timing__step i{background:var(--flow-accent);box-shadow:0 0 0 3px #0d99ff1f}.flow-timing.is-active .flow-timing__step small{color:#0671bd}.flow-zoom{position:absolute;z-index:8;bottom:16px;left:16px;display:flex;gap:2px;padding:3px;border:1px solid #d9dadd;border-radius:9px;cursor:default;background:#fffffff0;box-shadow:0 5px 20px #00000014;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flow-zoom button{display:grid;place-items:center;width:30px;height:29px;padding:0;border:0;border-radius:6px;color:#71717a;cursor:pointer;background:transparent}.flow-zoom button:hover{color:#18181b;background:#f2f2f3}.flow-zoom .zoom-value{width:46px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.composition-breadcrumb{position:absolute;z-index:9;top:14px;left:16px;display:flex;align-items:center;gap:6px;min-height:32px;padding:4px 9px 4px 4px;border:1px solid #b9ddf4;border-radius:8px;color:#397ba6;cursor:default;background:#fffffff0;box-shadow:0 5px 20px #00000012;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composition-breadcrumb button{height:24px;padding:0 7px;border:0;border-radius:5px;color:#1688d5;cursor:pointer;background:transparent;font-size:9px}.composition-breadcrumb button:hover{color:#075f9a;background:#eff9ff}.composition-breadcrumb strong{color:#245f86;font-size:9px}.motion-panel,.rectangle-panel{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--flow-line);background:var(--flow-panel)}.motion-panel__empty{display:grid;justify-items:center;align-content:center;min-height:100%;padding:48px 30px;color:var(--flow-faint);text-align:center}.motion-panel__empty .empty-arrow{display:grid;place-items:center;width:40px;height:40px;margin-bottom:11px;border:1px solid #dedee2;border-radius:10px;color:#71717a;background:#fafafa}.motion-panel__empty h2{margin:0;color:#52525b;font-size:13px;letter-spacing:-.025em}.panel-header{padding:20px 18px 16px;border-bottom:1px solid var(--flow-line)}.panel-header h2{display:flex;align-items:center;gap:7px;margin:6px 0 0;font-size:15px;letter-spacing:-.035em}.eyebrow{color:#71717a;font-size:8px;font-weight:750;letter-spacing:.14em;text-transform:uppercase}.transition-preview{display:grid;width:calc(100% - 32px);aspect-ratio:3 / 2;margin:16px;overflow:hidden;border:1px solid #e1e1e4;border-radius:9px;background:#f5f5f6}.playback-row{display:grid;grid-template-columns:30px 1fr 42px;align-items:center;gap:8px;padding:0 16px 16px}.playback-row button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #dedee2;border-radius:7px;color:#3f3f46;cursor:pointer;background:#fff}.playback-row button:hover{background:#f4f4f5}.playback-row input{width:100%;accent-color:var(--flow-accent)}.playback-row span{color:#71717a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;text-align:right}.flow-overview-header p{margin:6px 0 0;color:#71717a;font-size:9px}.flow-overview-preview{background:#fff}.flow-overview-steps{gap:8px;padding-top:13px;padding-bottom:13px}.flow-overview-steps__heading{display:flex;align-items:center;justify-content:space-between}.flow-overview-steps__heading span{color:#8b8b94;font-size:8px}.flow-overview-steps ol{display:grid;gap:0;padding:0;margin:0;list-style:none}.flow-overview-steps li{display:grid}.flow-overview-step{display:flex;align-items:center;gap:7px;min-height:26px}.flow-overview-step>span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #c8cbd0;border-radius:50%;color:#52525b;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:700}.flow-overview-step strong{font-size:9px;font-weight:650}.flow-overview-transition{position:relative;display:grid;grid-template-columns:18px 14px 1fr;align-items:center;min-height:27px;color:#71717a}.flow-overview-transition>i{justify-self:center;width:1px;height:100%;border-radius:999px;background:#d4d4d8}.flow-overview-transition>svg{width:11px;margin-left:2px;color:#a1a1aa}.flow-overview-transition>span{display:flex;align-items:baseline;justify-content:space-between;padding-left:5px}.flow-overview-transition strong{color:#52525b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.flow-overview-transition small{color:#a1a1aa;font-size:8px}.panel-section{display:grid;gap:10px;padding:16px 18px;border-top:1px solid var(--flow-line)}.panel-section h3{margin:0;font-size:11px;font-weight:680}.clear-state-content{display:flex;align-items:center;justify-content:center;gap:7px;min-height:32px;width:100%;padding:0 10px;border:1px solid #ead8d8;border-radius:7px;color:#a12a2a;background:snow;font-size:9px;font-weight:650;cursor:pointer}.clear-state-content:hover{color:#8f1d1d;border-color:#e7bcbc;background:#fff4f4}.animation-mode{display:grid;grid-template-columns:74px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:62px;padding:7px 9px;border:1px solid #a9d9f8;border-radius:8px;color:#174b6c;text-align:left;background:#f5fbff;cursor:default}.animation-mode>span{display:grid;gap:3px}.animation-mode strong{color:#174b6c;font-size:10px}.animation-mode small{color:#6c8494;font-size:8px;line-height:1.3}.animation-mode>svg:last-child{color:#0d99ff}.auto-motion-preview{width:74px;height:44px;border-radius:6px;background:#eaf6fd}.auto-motion-preview__moving{animation:auto-motion-run .8s var(--preview-easing) infinite alternate}.auto-motion-preview .auto-motion-preview__moving rect{fill:#0d99ff;stroke:none}@keyframes auto-motion-run{0%{transform:translate(0)}to{transform:translate(34px)}}.easing-preview{display:block;width:48px;height:24px;overflow:visible}.easing-preview__guides{fill:none;stroke:#d4d4d8;stroke-width:.8;stroke-dasharray:1.5 2.5}.easing-preview__curve{fill:none;stroke:#606068;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.easing-preview circle{fill:#0d99ff}.easing-palette{display:grid;gap:8px}.easing-palette__header{display:flex;align-items:center;justify-content:space-between;color:#71717a;font-size:9px}.easing-palette__header strong{color:#3f3f46;font-size:9px;font-weight:620}.easing-palette__group{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px}.easing-palette__group>span{color:#8b8b94;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.easing-palette__group [role=listbox]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.easing-palette button{display:grid;place-items:center;min-width:0;height:31px;padding:2px;border:1px solid #e0e0e3;border-radius:6px;color:#606068;cursor:pointer;background:#fafafa}.easing-palette button:hover{border-color:#bfc1c5;background:#f4f4f5}.easing-palette button[aria-selected=true]{border-color:#0d99ff;color:#075f9a;background:#f1faff;box-shadow:inset 0 0 0 1px #0d99ff1f}.easing-palette button .easing-preview{width:100%;max-width:44px;height:22px}.field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:31px;color:#71717a;font-size:9px}.field>span:first-child{justify-self:start;text-align:left;white-space:nowrap}.field__input{display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden;border:1px solid #dedee2;border-radius:6px;background:#fafafa}.field__input:focus-within{border-color:#0d99ff;box-shadow:0 0 0 2px #0d99ff17}.field__input input{width:100%;height:29px;min-width:0;padding:0 7px;border:0;outline:0;color:#27272a;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.field__input small{padding-right:7px;color:#8b8b94;font-size:8px}.rectangle-header{display:flex;align-items:center;justify-content:space-between}.rectangle-header>div:last-child{display:flex;gap:4px}.rectangle-header button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #dedee2;border-radius:6px;color:#71717a;cursor:pointer;background:#fafafa}.rectangle-header button:hover{color:#18181b;background:#f1f1f2}.rectangle-header .danger-action:hover{color:var(--flow-danger);border-color:#fecaca;background:#fff7f7}.tag-section{background:#fbfaff}.tag-input{display:flex;align-items:center;gap:5px;height:34px;padding:0 8px;border:1px solid #d8d0f3;border-radius:7px;color:#6d55a7;background:#fff}.tag-input input{width:100%;border:0;outline:0;color:#4f3f75;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px}.field-grid .field{grid-template-columns:38px minmax(0,1fr);gap:6px}.field-grid .field>span:first-child{color:#8b8b94}.field-grid .field__input{grid-template-columns:1fr}.color-field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-height:32px;color:#71717a;font-size:9px}.color-field>span:last-child{display:flex;align-items:center;gap:7px}.color-field input{width:28px;height:28px;padding:2px;border:1px solid #dedee2;border-radius:6px;background:#fafafa}.color-field code{color:#71717a;font-size:8px}.inner-flow-heading{display:flex;align-items:center;justify-content:space-between}.inner-flow-heading span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;color:#5c4b8a;background:#f1edfb;font-size:8px}.inner-state-route{display:flex;align-items:center;min-width:0;overflow:hidden}.inner-state-route>span{display:flex;align-items:center;min-width:0}.inner-state-route i{display:grid;place-items:center;margin:0 2px;color:#a1a1aa}.inner-state-route b{overflow:hidden;max-width:76px;padding:5px 7px;border:1px solid #dedee2;border-radius:6px;color:#52525b;background:#fafafa;font-size:8px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.select-field{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-height:31px;color:#71717a;font-size:9px}.select-field select{width:100%;height:31px;padding:0 7px;border:1px solid #dedee2;border-radius:6px;outline:0;color:#27272a;background:#fafafa;font-size:9px}.select-field select:focus-visible{border-color:#0d99ff}.gif-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#18181b47;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.gif-dialog{width:min(460px,100%);overflow:hidden;border:1px solid #dedee2;border-radius:14px;background:#fff;box-shadow:0 32px 90px #0000002e}.gif-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:17px 18px 14px;border-bottom:1px solid var(--flow-line)}.gif-dialog h2{margin:5px 0 0;font-size:16px;letter-spacing:-.04em}.gif-dialog>header button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:6px;color:#71717a;cursor:pointer;background:transparent}.gif-preview{display:grid;place-items:center;min-height:280px;margin:16px;overflow:hidden;border:1px solid #e1e1e4;border-radius:10px;background:#f5f5f6}.gif-preview img{display:block;width:100%;height:100%;object-fit:contain}.gif-progress{display:grid;justify-items:center;gap:7px;min-width:210px}.gif-progress>span{width:180px;height:3px;overflow:hidden;border-radius:4px;background:#e4e4e7}.gif-progress i{display:block;height:100%;border-radius:4px;background:#18181b;transition:width .12s}.gif-progress strong{color:#3f3f46;font-size:11px}.gif-progress small{color:#8b8b94;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px}.gif-summary{display:flex;justify-content:space-between;padding:0 18px 15px;color:#71717a;font-size:9px}.gif-dialog footer{display:flex;justify-content:flex-end;gap:7px;padding:13px 16px;border-top:1px solid var(--flow-line);background:#fafafa}.secondary-button{min-height:32px;padding:0 12px;border:1px solid #dedee2;border-radius:7px;color:#52525b;cursor:pointer;background:#fff;font-size:10px}@media(max-width:900px){.flow-app{grid-template-columns:minmax(0,1fr) 280px}.flow-brand{min-width:96px}.flow-brand strong{font-size:12px}.flow-topbar{padding-left:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
