.builder{width:100%;height:100dvh;display:flex}.builder__canvas{flex:1;min-width:0;min-height:0;position:relative}.builder-canvas{width:100%;height:100%}.canvas-add-step{z-index:var(--ft-z-above)}.canvas-add-step__btn{border:1px dashed var(--ft-gray-300);border-radius:var(--ft-radius-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ft-gray-400);font-size:var(--ft-text-base);transition:all var(--ft-duration-normal) ease;background:#fffc;font-weight:500}.canvas-add-step__btn:hover{border-color:var(--ft-accent);color:var(--ft-accent-text);background:#fffffff2}.canvas-add-step__btn:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.builder__left-panel{border-right:1px solid var(--ft-gray-200);background:var(--ft-white);width:320px;transition:width var(--ft-duration-slow) cubic-bezier(.4, 0, .2, 1)}.builder__left-panel--collapsed{border-right:none;width:0}.builder__left-panel .builder__panel-content{width:320px}.builder__right-panel{border-left:1px solid var(--ft-gray-200);background:var(--ft-white);width:320px;transition:width var(--ft-duration-slow) cubic-bezier(.4, 0, .2, 1), border-left-color var(--ft-duration-slow) cubic-bezier(.4, 0, .2, 1)}.builder__right-panel--collapsed{border-left-color:#0000;width:0}.builder__right-panel .builder__panel-content{width:320px}.collapse-toggle{z-index:var(--ft-z-controls);border:1px solid var(--ft-gray-200);background:var(--ft-white);width:20px;height:48px;color:var(--ft-gray-500);transition:background-color var(--ft-duration-normal), color var(--ft-duration-normal);touch-action:manipulation;top:50%;transform:translateY(-50%)}.collapse-toggle:hover{background:var(--ft-gray-100);color:var(--ft-gray-700)}.collapse-toggle:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.collapse-toggle--left{border-radius:0 var(--ft-radius-lg) var(--ft-radius-lg) 0;border-left:none;right:-20px}.collapse-toggle--right{border-radius:var(--ft-radius-lg) 0 0 var(--ft-radius-lg);border-right:none;left:-20px}.step-node{background:var(--ft-white);box-shadow:var(--ft-shadow-sm);transition:border-color var(--ft-duration-normal) ease;border:2px solid #0000}.step-node:not(.step-node--active):hover{border-color:var(--ft-accent-glow)}.step-node--active{border-color:var(--ft-accent);box-shadow:0 0 0 3px #00a47c59,0 0 12px #00a47c33}.step-node--hidden{opacity:.5}.step-node--ai-thinking{position:relative}.step-node--ai-thinking:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#00a47c05 0%,#00a47c0f 40%,#00a47c05 60%,#00a47c0f 100%) 0 0/200% 100%;animation:2s ease-in-out infinite ft-ai-shimmer;position:absolute;inset:0}.step-node--ai-editing{pointer-events:none;position:relative}.step-node--ai-editing:after{content:"";z-index:2;border-radius:inherit;background:linear-gradient(110deg,#00a47c08 0%,#00a47c14 40%,#00a47c08 60%,#00a47c14 100%) 0 0/200% 100%;animation:2s ease-in-out infinite ft-ai-shimmer;position:absolute;inset:0}@keyframes ft-ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.step-node--ai-thinking:after{background:#00a47c0a;animation:none}.step-node--ai-editing:after{background:#00a47c0f;animation:none}}.step-node__device-label{font-size:var(--ft-text-sm);color:var(--ft-gray-400);font-weight:500}.step-node__step-name{color:var(--ft-gray-600);font-weight:600}.step-node__device-label-inline{color:var(--ft-gray-400);font-weight:400}.step-node__logic-btn{border:1px solid var(--ft-gray-300);border-radius:var(--ft-radius-full);background:var(--ft-white);color:var(--ft-gray-600);font-size:var(--ft-text-xs);line-height:1}.step-node__logic-btn:hover{border-color:var(--ft-accent);color:var(--ft-accent-text)}.step-node__badge{background:var(--ft-gray-200);color:var(--ft-gray-500);font-size:var(--ft-text-2xs);border-radius:50%;font-weight:600}.step-node--active .step-node__badge{background:var(--ft-accent-bg);color:var(--ft-accent-text)}.step-node__overflow-badge{background:var(--ft-warning);width:16px;height:16px;color:var(--ft-white);font-size:var(--ft-text-2xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.step-node__issue-badge{border-radius:var(--ft-radius-full);min-width:18px;height:18px;font-size:var(--ft-text-2xs);transition:opacity var(--ft-duration-normal), transform var(--ft-duration-normal);border:none;justify-content:center;align-items:center;padding:0 5px;font-weight:700;line-height:1;display:inline-flex}.step-node__issue-badge:hover{opacity:.85;transform:scale(1.1)}.step-node__issue-badge--error{background:var(--ft-error);color:var(--ft-white)}.step-node__issue-badge--warning{background:var(--ft-warning);color:var(--ft-white)}.step-node__body{font-size:var(--ft-text-base);color:var(--ft-gray-500)}.step-node__iframe{background:var(--ft-gray-100);border:none}.step-node__iframe--mobile{aspect-ratio:375/667}.step-node__iframe--desktop{aspect-ratio:1280/800}.breakpoint-toggle{border-radius:var(--ft-radius-lg);background:#ffffff1a}.breakpoint-toggle__btn{color:#ffffff80;border-radius:var(--ft-radius-md);font-size:var(--ft-text-sm);transition:background-color var(--ft-duration-normal), color var(--ft-duration-normal);touch-action:manipulation;background:0 0;border:none}.breakpoint-toggle__btn:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.breakpoint-toggle__btn--active{color:var(--ft-white);background:#ffffff40}.breakpoint-toggle__btn:hover{color:var(--ft-white)}.react-flow__edge-labels{z-index:5!important}.conditional-edge-label{background:var(--ft-warning-light);border:1px solid var(--ft-warning);border-radius:var(--ft-radius-lg);font-size:var(--ft-text-sm);color:var(--ft-warning-text);touch-action:manipulation;text-align:left;max-width:160px}.conditional-edge-label:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.conditional-edge-label__text{white-space:normal;overflow-wrap:break-word;word-break:break-word;line-height:1.35;display:block}.conditional-edge-label .server-badge{font-size:var(--ft-text-base)}.condition-editor-popover{background:var(--ft-white);border:1px solid var(--ft-gray-200);border-radius:var(--ft-radius-xl);box-shadow:var(--ft-shadow-lg);z-index:var(--ft-z-popover)}.logic-action-node{border:1px solid var(--ft-gray-300);border-radius:var(--ft-radius-xl);background:var(--ft-white);width:220px;box-shadow:var(--ft-shadow-sm);text-align:left}.logic-action-node:hover{border-color:var(--ft-accent);box-shadow:var(--ft-shadow-md)}.logic-action-node__type{color:var(--ft-accent-text);font-size:var(--ft-text-xs);text-transform:uppercase;font-weight:700}.logic-action-node__label{color:var(--ft-gray-700);font-size:var(--ft-text-sm)}.logic-sheet__backdrop{z-index:var(--ft-z-popover);background:#0000004d}.logic-sheet{background:var(--ft-white);animation:audience-sheet-slide-in var(--ft-duration-sheet) ease-out;box-shadow:-4px 0 16px #0000001a}.logic-sheet__title{font-size:var(--ft-text-xl);margin:0;font-weight:600}.logic-sheet__subtitle{font-size:var(--ft-text-sm);margin:4px 0 0}.builder-issue-sheet__header{min-width:0}.builder-issue-sheet__badge{flex-shrink:0}.builder-issue-sheet__title-wrap{min-width:0}.builder-issue-sheet__category{text-transform:uppercase;letter-spacing:.04em;font-size:var(--ft-text-xs)}.logic-sheet__rule{border-radius:var(--ft-radius-xl)}.logic-sheet__rule--active{outline:2px solid var(--ft-gray-200);outline-offset:2px}.logic-sheet__rule--fallback{border:1px dashed var(--ft-gray-300);background:var(--ft-gray-50)}.logic-sheet__rule--fallback.logic-sheet__rule--active{outline:2px solid var(--ft-gray-300);outline-offset:2px}.logic-rule__match-row{max-width:220px}.logic-rule__summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.logic-condition__story-row,.logic-action-fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.logic-action-fields__label{color:var(--ft-gray-600);align-self:center;font-weight:600}.logic-action-fields__field{gap:6px;display:grid}.logic-field-error{color:var(--ft-error)}.logic-condition__story-row--predicate{grid-template-columns:minmax(180px,1fr) minmax(180px,2fr)}.logic-action-fields--go-to-step{grid-template-columns:minmax(56px,max-content) minmax(180px,1fr) minmax(220px,2fr)}.logic-action-fields--redirect{grid-template-columns:minmax(56px,max-content) minmax(180px,1fr) minmax(240px,2fr) minmax(160px,1fr)}.logic-rule__drag-handle{cursor:grab;width:24px;height:24px;color:var(--ft-gray-400);border-radius:var(--ft-radius-sm);touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.logic-rule__drag-handle:hover{color:var(--ft-gray-700);background:var(--ft-gray-100)}.logic-rule__drag-handle:active{cursor:grabbing}@media (prefers-reduced-motion:reduce){.logic-sheet__rule{transition:none}}@media (width<=720px){.logic-rule__match-row{max-width:none}.logic-condition__story-row--predicate,.logic-action-fields--go-to-step,.logic-action-fields--redirect{grid-template-columns:1fr}.logic-action-fields__label{align-self:end}}.logic-minimap{border-radius:var(--ft-radius-xl);overflow:hidden}.logic-minimap__header{padding:12px 14px}.logic-minimap__title{font-size:var(--ft-text-base);margin:0;font-weight:600}.logic-minimap__subtitle{font-size:var(--ft-text-sm);margin:4px 0 0}.logic-minimap__canvas{height:260px}.logic-minimap-node{border-radius:var(--ft-radius-xl);background:var(--ft-white);width:168px;padding:10px 12px}.logic-minimap-node--active{outline:2px solid var(--ft-gray-300);outline-offset:2px}.logic-minimap-node--source{background:var(--ft-gray-100)}.logic-minimap-node__caption{font-size:var(--ft-text-xs);text-transform:uppercase;font-weight:700}.logic-minimap-node__label{font-size:var(--ft-text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-weight:600;overflow:hidden}.logic-minimap .react-flow__pane{cursor:default}.logic-minimap .react-flow__edge-textbg{rx:12px;ry:12px}.chat-drawer{background:var(--ft-white);border-top:1px solid var(--ft-gray-200);z-index:var(--ft-z-controls);animation:chat-drawer-slide-up var(--ft-duration-slow) cubic-bezier(.4, 0, .2, 1);flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.chat-drawer--hidden{display:none}@keyframes chat-drawer-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-drawer__handle{cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;height:12px;display:flex}.chat-drawer__handle-bar{background:var(--ft-gray-300);width:40px;height:4px;transition:background-color var(--ft-duration-fast);border-radius:2px}.chat-drawer__handle:hover .chat-drawer__handle-bar{background:var(--ft-gray-500)}.chat-drawer__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 12px 8px;display:flex}.chat-drawer__header-left{align-items:center;gap:8px;display:flex}.chat-drawer__header-left svg{width:18px;height:18px;color:var(--ft-accent-text)}.chat-drawer__header-title{font-size:var(--ft-text-base);color:var(--ft-gray-700);font-weight:600}.chat-drawer__body{flex:1;min-height:0;overflow:hidden}.chat-drawer__body .chat-panel{height:100%}.chat-drawer__body .chat-panel__header{display:none}.chat-drawer__body .chat-panel__message{max-width:720px}.chat-trigger{z-index:var(--ft-z-controls);border-radius:var(--ft-radius-full);background:color-mix(in srgb, var(--ft-accent) 90%, transparent);color:var(--ft-white);font-size:var(--ft-text-base);cursor:pointer;transition:transform var(--ft-duration-normal) ease, box-shadow var(--ft-duration-normal) ease, background-color var(--ft-duration-normal) ease;animation:chat-trigger-appear var(--ft-duration-slow) cubic-bezier(.4, 0, .2, 1);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00a47c59,0 2px 6px #0000001a}@keyframes chat-trigger-appear{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.chat-trigger:hover{transform:translate(-50%)translateY(-3px);box-shadow:0 6px 20px #00a47c66,0 3px 8px #0000001f}.chat-trigger:active{transform:translate(-50%)translateY(-1px)}.chat-trigger:focus-visible{outline:2px solid var(--ft-accent);outline-offset:3px}.chat-trigger__icon{flex-shrink:0}.chat-trigger__label{white-space:nowrap}.chat-trigger__kbd{border-radius:var(--ft-radius-sm);font-size:var(--ft-text-xs);background:#fff3;justify-content:center;align-items:center;padding:2px 6px;font-family:inherit;font-weight:500;line-height:1;display:inline-flex}@media (prefers-reduced-motion:reduce){.chat-drawer,.chat-trigger{animation:none}}.react-flow__handle{opacity:0;pointer-events:none}.builder-error-boundary{color:var(--ft-gray-500)}.builder-error-boundary__icon{background:var(--ft-error-light);width:40px;height:40px;color:var(--ft-error);font-size:var(--ft-text-3xl);border-radius:50%;font-weight:700}.builder-error-boundary__title{font-size:var(--ft-text-lg);color:var(--ft-gray-700);font-weight:600}.builder-error-boundary__detail{font-size:var(--ft-text-base);color:var(--ft-gray-400)}.builder-error-boundary__retry{border:1px solid var(--ft-gray-300);border-radius:var(--ft-radius-lg);background:var(--ft-white);font-size:var(--ft-text-base);color:var(--ft-gray-700);transition:background-color var(--ft-duration-normal), border-color var(--ft-duration-normal);touch-action:manipulation;padding:6px 14px;font-weight:500}.builder-error-boundary__retry:hover{background:var(--ft-gray-100);border-color:var(--ft-gray-400)}.builder-error-boundary__retry:focus-visible{outline:2px solid var(--ft-accent);outline-offset:2px}.settings-sheet__backdrop{z-index:var(--ft-z-popover);background:#0000004d}.settings-sheet{background:var(--ft-white);width:520px;z-index:var(--ft-z-popover);animation:settings-sheet-slide-in var(--ft-duration-sheet) ease-out;box-shadow:-4px 0 24px #0000001f}@keyframes settings-sheet-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.settings-sheet__header{border-bottom:1px solid var(--ft-gray-200);padding:14px 16px}.settings-sheet__title{font-size:var(--ft-text-base);color:var(--ft-gray-900);font-weight:600}.settings-sheet__close{cursor:pointer;color:var(--ft-gray-500);transition:background-color var(--ft-duration-fast), color var(--ft-duration-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.settings-sheet__close:hover{background:var(--ft-gray-100);color:var(--ft-gray-800)}.settings-sheet__close:focus-visible{outline:2px solid var(--ft-accent);outline-offset:1px}.settings-sheet__tabs{border-bottom:1px solid var(--ft-gray-200);justify-content:space-between;gap:0;padding:0 16px;display:flex}.settings-sheet__tab{cursor:pointer;font-size:var(--ft-text-sm);color:var(--ft-gray-500);transition:color var(--ft-duration-fast), border-color var(--ft-duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;margin-bottom:-1px;padding:10px 8px;font-weight:500;display:flex;position:relative}.settings-sheet__tab:hover{color:var(--ft-gray-800)}.settings-sheet__tab--active{color:var(--ft-gray-900);border-bottom-color:var(--ft-accent)}.settings-sheet__tab:focus-visible{outline:2px solid var(--ft-accent);outline-offset:-2px;border-radius:3px}.settings-sheet__tab-dot{background:var(--ft-warning,#f59e0b);border-radius:50%;flex-shrink:0;width:6px;height:6px}.collapsible-section--panel .collapsible-section__panel-header{padding:var(--ft-inspector-section-padding-y) var(--ft-inspector-section-padding-x)}.collapsible-section--panel .collapsible-section__title{font-size:var(--ft-text-xs);color:var(--ft-gray-500);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.settings-sheet__body .collapsible-section{border-bottom:none}.settings-sheet__body .collapsible-section+.collapsible-section{border-top:1px solid var(--ft-gray-200)}.settings-sheet__mode-toggle{background:var(--ft-gray-100);border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.settings-sheet__mode-btn{cursor:pointer;font-size:var(--ft-text-xs);color:var(--ft-gray-500);transition:background-color var(--ft-duration-fast), color var(--ft-duration-fast);white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-weight:500}.settings-sheet__mode-btn:hover{color:var(--ft-gray-800)}.settings-sheet__mode-btn--active{background:var(--ft-white);color:var(--ft-gray-900);box-shadow:0 1px 2px #0000001a}.settings-sheet__mode-btn:focus-visible{outline:2px solid var(--ft-accent);outline-offset:1px}.settings-sheet__backdrop--published{background:#00000080}.settings-sheet__body--published{padding:0}.published-settings__notice{background:var(--ft-gray-50);border-bottom:1px solid var(--ft-gray-200);font-size:var(--ft-text-sm);color:var(--ft-gray-600);align-items:center;gap:6px;padding:8px 16px;display:flex}.published-settings__notice s-icon{flex-shrink:0}.published-settings{padding:0 16px 16px}.published-settings__group{padding-top:16px}.published-settings__group+.published-settings__group{border-top:1px solid var(--ft-gray-100);margin-top:16px}.published-settings__group-title{font-size:var(--ft-text-xs);color:var(--ft-gray-400);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-weight:600}.published-setting-row{border-bottom:1px solid var(--ft-gray-100);justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;display:flex}.published-setting-row:last-child{border-bottom:none}.published-setting-row__label{font-size:var(--ft-text-sm);color:var(--ft-gray-500);flex-shrink:0}.published-setting-row__value{font-size:var(--ft-text-sm);color:var(--ft-gray-900);text-align:right;word-break:break-all;font-weight:500}@media (prefers-reduced-motion:reduce){.settings-sheet{animation:none}}.audience-sheet__backdrop{z-index:var(--ft-z-popover);background:#0000004d}.audience-sheet{background:var(--ft-white);animation:audience-sheet-slide-in var(--ft-duration-sheet) ease-out;box-shadow:-4px 0 16px #0000001a}@keyframes audience-sheet-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.audience-sheet__header{border-bottom:1px solid var(--ft-gray-200)}.audience-sheet__footer{border-top:1px solid var(--ft-gray-200)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.try-builder{flex-direction:column;height:100dvh;display:flex}.try-builder>.builder{flex:1;height:auto;min-height:0;overflow:hidden}.try-builder__header{border-bottom:1px solid var(--ft-gray-200);height:44px;z-index:var(--ft-z-toolbar);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:relative}.try-builder__header-logo{color:#111827;letter-spacing:-.01em;font-size:14px;font-weight:600;text-decoration:none}.try-builder__header-logo:hover{color:#374151;text-decoration:underline}.try-builder__preview-btn{border:1px solid var(--ft-gray-300);color:#111827;cursor:pointer;background:#fff;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s}.try-builder__preview-btn:hover{background:var(--ft-gray-50)}.try-builder__preview-btn:focus-visible{outline-offset:2px;outline:2px solid #6366f1}@media (prefers-reduced-motion:reduce){.try-builder__preview-btn{transition:none}}
