.fl-tool-container .dt-btn[hidden],.fl-tool-container .dt-callout[hidden],.fl-tool-container .dt-modal-backdrop[hidden],.fl-tool-container .fl-state[hidden],.fl-inline-callout[hidden]{display:none}.fl-tool-container .dt-status .fl-top-val{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-body);font-weight:600}.fl-tool-container .dt-status .fl-top-val.fl-status--running{color:var(--color-link-deep)}.fl-tool-container .dt-status .fl-top-val.fl-status--paused{color:var(--color-warning-deep)}.fl-tool-container .dt-status .fl-top-val.fl-status--completed{color:var(--color-link-deep)}.fl-tool-container .dt-status:has(.fl-status--running) .dt-status-dot{background-color:var(--color-link);animation:1.6s ease-in-out infinite dt-pulse}.fl-tool-container .dt-status:has(.fl-status--paused) .dt-status-dot{background-color:var(--color-warning)}.fl-tool-container .dt-status:has(.fl-status--completed) .dt-status-dot{background-color:var(--color-link)}.dt-panel-head .fl-top-val{font-family:var(--font-mono);color:var(--color-ink);font-variant-numeric:tabular-nums;margin-left:2px;font-size:12px;font-weight:600}.fl-head-hint{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-mute);font-size:11.5px}.fl-inline-callout{margin:-12px 0}.fl-pause-dot{background-color:var(--color-warning);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px;animation:1.2s ease-in-out infinite flPulse}@keyframes flPulse{0%,to{opacity:1}50%{opacity:.3}}.fl-viewport-wrapper{background-color:#0a0a0a;height:clamp(400px,52vw,560px);position:relative}.fl-test-canvas{z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}.fl-state{z-index:2;text-align:center;backdrop-filter:blur(8px);background-color:#0a0a0ab8;border:1px solid #ffffff2e;border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:min(560px,100% - 32px);padding:26px 24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fl-state .dt-chip{color:#d4d4d4;background-color:#ffffff0f;border-color:#ffffff24}.fl-state-title{letter-spacing:-.02em;color:#f5f5f5;margin:0;font-size:clamp(22px,3.3vw,26px);font-weight:600}.fl-state-desc,.fl-state-sub{color:#a3a3a3;max-width:440px;margin:0;font-size:14px;line-height:1.6}.fl-state-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:4px;display:flex}.fl-viewport-wrapper .fl-state .dt-btn--primary{color:#0a0a0a;background-color:#f5f5f5}.fl-viewport-wrapper .fl-state .dt-btn--primary:hover{background-color:#fff}.fl-viewport-wrapper .fl-state .dt-btn--outline{color:#f5f5f5;background-color:#ffffff0d;border-color:#ffffff38}.fl-viewport-wrapper .fl-state .dt-btn--outline:hover{background-color:#ffffff1a;border-color:#ffffff59}.fl-viewport-wrapper .fl-state .dt-btn--ghost{color:#a3a3a3}.fl-viewport-wrapper .fl-state .dt-btn--ghost:hover{color:#f5f5f5;background-color:#ffffff0f}.fl-res-kicker{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#9ecbff;font-size:11.5px;font-weight:600}.fl-res-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:4px 0 6px;display:grid}.fl-res-cell{text-align:left;background-color:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.fl-res-lbl{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#8a8a8a;font-size:10.5px;font-weight:600}.fl-res-val{font-family:var(--font-mono);color:#f5f5f5;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.fl-fs-bar{z-index:60;backdrop-filter:blur(8px);background-color:#0a0a0a99;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:16px;padding:9px 14px;transition:opacity .2s,transform .2s;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px -12px #000000e6}.fl-fs-bar .dt-chip{color:#d4d4d4;background-color:#ffffff0f;border-color:#ffffff24}.fl-tool-container .fl-fs-bar.is-faded{opacity:0;pointer-events:none;transform:translate(-50%)translateY(10px)}.fl-tool-container:not(.is-fullscreen) .fl-fs-bar{display:none}.fl-fs-info{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fl-fs-meta{font-family:var(--font-mono);color:#a3a3a3;font-variant-numeric:tabular-nums;font-size:12.5px}.fl-fs-meta strong{color:#f5f5f5;font-weight:600}.fl-fs-sep{color:#555}.fl-fs-controls{align-items:center;gap:8px;display:flex}.fl-fs-btn{appearance:none;color:#f5f5f5;cursor:pointer;background-color:#ffffff14;border:1px solid #fff3;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background-color .15s,border-color .15s}.fl-fs-btn:hover{background-color:#ffffff29}.fl-fs-btn:focus-visible{outline-offset:2px;outline:2px solid #9ecbff}.fl-fs-btn--exit{background-color:#ef444424;border-color:#ef444480}.fl-fs-btn--exit:hover{background-color:#ef444447}.fl-actions-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.fl-ab-controls{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.fl-ab-slider-cell{align-items:center;gap:8px;display:inline-flex}.fl-ab-controls strong{font-family:var(--font-mono);color:var(--color-ink);font-variant-numeric:tabular-nums;font-weight:600}.fl-ab-viewport{background-color:#0a0a0a;height:260px}.fl-ab-canvas{width:100%;height:100%;display:block}.fl-patterns-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:16px 18px;display:grid}.fl-pattern-btn{text-align:left;background-color:var(--color-canvas-soft);border:1px solid var(--color-hairline);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;font-family:inherit;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.fl-pattern-btn:hover{border-color:var(--color-hairline-strong)}.fl-pattern-btn:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.fl-pattern-btn.is-active{border-color:var(--color-ink);background-color:var(--color-canvas);box-shadow:inset 0 0 0 1px var(--color-ink)}.fl-pat-num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-mute);font-size:11px;font-weight:600}.fl-pattern-btn.is-active .fl-pat-num{color:var(--color-ink)}.fl-pat-name{letter-spacing:-.01em;color:var(--color-ink);font-size:15px;font-weight:600}.fl-pat-desc{color:var(--color-mute);font-size:12.5px;line-height:1.5}.fl-controls-card .dt-field{gap:8px}.fl-controls-card{flex-direction:column;gap:18px;display:flex}.fl-controls-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.fl-controls-head .dt-chip strong{font-family:var(--font-mono);color:var(--color-ink);font-weight:600}.fl-field-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fl-slider-row{align-items:center;gap:10px;padding-top:4px;display:flex}.fl-slider-end{font-family:var(--font-mono);color:var(--color-mute);font-size:11.5px}.fl-range{appearance:none;border:1px solid var(--color-hairline);background-color:var(--color-canvas-soft-2);cursor:pointer;border-radius:999px;flex:1;min-width:0;height:6px}.fl-range--sm{flex:none;width:120px}.fl-range::-webkit-slider-thumb{appearance:none;background-color:var(--color-ink);border:3px solid var(--color-canvas);width:18px;height:18px;box-shadow:0 0 0 1px var(--color-hairline-strong);border-radius:50%}.fl-range::-moz-range-thumb{background-color:var(--color-ink);border:3px solid var(--color-canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--color-hairline-strong);border-radius:50%}.fl-range:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.fl-color-swatches{flex-wrap:wrap;gap:8px;display:flex}.fl-swatch-btn{border:1px solid var(--color-hairline-strong);cursor:pointer;border-radius:8px;width:34px;height:34px;transition:box-shadow .15s,transform .15s;box-shadow:inset 0 0 0 1px #0000000f}.fl-swatch-btn:hover{transform:scale(1.06)}.fl-swatch-btn:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.fl-swatch-btn.is-active{box-shadow:0 0 0 2px var(--color-canvas), 0 0 0 4px var(--color-ink)}.fl-dur-seg{align-items:center}.fl-custom-dur{border:1px solid var(--color-hairline);background-color:var(--color-canvas);border-radius:8px;align-items:center;gap:4px;margin-left:2px;padding:4px 8px;display:inline-flex}.fl-num-input{width:44px;color:var(--color-ink);font-family:var(--font-mono);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:none;font-size:14px;font-weight:600}.fl-num-input:focus{outline:none}.fl-num-input:focus-visible{outline:1px solid var(--color-link);border-radius:4px}.fl-num-unit{font-family:var(--font-mono);color:var(--color-mute);font-size:11px}.dt-card-head .dt-chip strong{font-family:var(--font-mono);color:var(--color-ink);font-weight:600}.fl-sweep-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.fl-sweep-desc{color:var(--color-body);margin:0;font-size:15px;line-height:1.6}.fl-sweep-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.fl-sweep-marked{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-mute);font-size:12.5px}.fl-sweep-marked strong{color:var(--color-ink);font-weight:600}.fl-chart-wrap{background-color:#0a0a0a;height:180px;padding:10px}.fl-chart-canvas{width:100%;height:100%;display:block}@media (width<=640px){.fl-chart-wrap{height:140px}}.fl-obs-body{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.fl-obs-group{display:inline-flex}.fl-checklist-wrap{border-top:1px solid var(--color-hairline);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fl-check-list{flex-direction:column;display:flex}.fl-check-item{border-bottom:1px solid var(--color-hairline);color:var(--color-body);cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.fl-check-item:last-child{border-bottom:0}.fl-check-item input[type=checkbox]{appearance:none;border:1px solid var(--color-hairline-strong);background-color:var(--color-canvas);cursor:pointer;border-radius:4px;flex-shrink:0;place-content:center;width:16px;height:16px;display:inline-grid}.fl-check-item input[type=checkbox]:after{content:"";background-color:var(--color-ink);border-radius:2px;width:8px;height:8px;transition:transform .12s;transform:scale(0)}.fl-check-item input[type=checkbox]:checked:after{transform:scale(1)}.fl-check-item input[type=checkbox]:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.fl-caveat{color:var(--color-mute);margin:10px 0 0;font-size:12.5px;line-height:1.55}.fl-caveat code{font-family:var(--font-mono);background-color:var(--color-canvas-soft-2);border:1px solid var(--color-hairline);border-radius:4px;padding:0 4px;font-size:11.5px}.fl-sum-footer{font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-mute);font-size:12px}.dt-card-head .dt-chip{text-transform:none}.dt-related--stack{grid-template-columns:1fr;gap:8px}.dt-related--stack .dt-related-link{border-radius:10px;padding:12px 14px;font-size:15px}.fl-recent{flex-direction:column;max-height:260px;display:flex;overflow-y:auto}.fl-empty-state{text-align:center;color:var(--color-mute);padding:20px 18px;font-size:14px}.fl-recent-row{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:12px;padding:11px 18px;display:flex}.fl-recent-row:last-child{border-bottom:0}.fl-recent-main{flex-direction:column;gap:2px;min-width:0;display:flex}.fl-recent-title{font-family:var(--font-mono);color:var(--color-ink);font-size:14px;font-weight:600}.fl-recent-date{color:var(--color-mute);font-size:12.5px}.fl-recent-meta{flex-shrink:0}.fl-recent-obs{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-body);font-size:12px;font-weight:600}.dt-section-intro{color:var(--color-body);margin:8px 0 0;font-size:16px;line-height:1.65}.fl-cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px;display:flex}.fl-cta-sub{color:var(--color-body);margin:6px 0 0;font-size:15.5px}.fl-modal{text-align:center}.fl-modal[hidden]{display:none}.fl-modal-halo{width:44px;height:44px;color:var(--color-warning-deep);background-color:var(--color-warning-soft);border:1px solid color-mix(in srgb, var(--color-warning) 45%, var(--color-hairline));border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.fl-modal-title{letter-spacing:-.015em;color:var(--color-ink);margin:0;font-size:19px;font-weight:600}.fl-modal-desc{color:var(--color-body);margin:10px 0 0;font-size:15px;line-height:1.6}.fl-modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.fl-tool-container.is-fullscreen{background-color:#0a0a0a}.fl-tool-container.is-fullscreen .dt-shell{gap:0;max-width:none;height:100vh;margin:0;padding:0}.fl-tool-container.is-fullscreen .dt-header,.fl-tool-container.is-fullscreen .dt-callout,.fl-tool-container.is-fullscreen .dt-section,.fl-tool-container.is-fullscreen .fl-cta,.fl-tool-container.is-fullscreen .fl-patterns-card,.fl-tool-container.is-fullscreen .fl-controls-card,.fl-tool-container.is-fullscreen .fl-sweep-card,.fl-tool-container.is-fullscreen .dt-grid>.dt-col--side,.fl-tool-container.is-fullscreen [data-fl-ab-section],.fl-tool-container.is-fullscreen .dt-panel-head,.fl-tool-container.is-fullscreen .fl-actions-strip{display:none}.fl-tool-container.is-fullscreen .dt-grid{grid-template-columns:minmax(0,1fr);gap:0;height:100vh}.fl-tool-container.is-fullscreen .dt-col{justify-content:center;gap:0;height:100%}.fl-tool-container.is-fullscreen .dt-panel{box-shadow:none;background-color:#0000;border:none;border-radius:0}.fl-tool-container.is-fullscreen .fl-viewport-wrapper{height:100vh}@media (width<=720px){.dt-panel-head{align-items:flex-start}.fl-res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fl-state{padding:20px 16px}.fl-state-actions .dt-btn{flex:auto;min-width:140px}.fl-actions-left,.fl-actions-right{justify-content:center;width:100%}.fl-actions-left .dt-btn,.fl-actions-right .dt-btn{flex:auto;min-width:100px}.fl-fs-bar{border-radius:16px;flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px)}}.fl-tool-container{isolation:isolate;position:relative}.fl-tool-container:before{content:"";pointer-events:none;background:radial-gradient(50% 50% at 50% 50%, color-mix(in srgb, var(--dt-accent) 12%, transparent) 0%, color-mix(in srgb, var(--dt-success) 6%, transparent) 45%, transparent 72%);filter:blur(64px);z-index:-1;border-radius:999px;width:min(900px,100vw);height:520px;position:absolute;top:-200px;left:50%;translate:-50%}.fl-tool-container .dt-shell{gap:30px;max-width:1280px;padding:56px 24px 88px}.fl-tool-container .dt-title{letter-spacing:-.035em;font-size:clamp(2.25rem,1.3rem + 3.8vw,3.15rem);font-weight:800;line-height:1.04}.fl-tool-container .dt-subtitle{max-width:720px;color:var(--color-body);font-size:22px;line-height:1.66}.fl-tool-container .dt-badge{padding:6px 13px;font-size:11.5px}.fl-tool-container .dt-infopill{border-radius:14px;padding:9px 16px}.fl-tool-container .dt-infopill-val{font-size:14.5px}.fl-tool-container .dt-infopill-lbl{font-size:10.8px}.fl-tool-container .dt-card,.fl-tool-container .dt-panel{background-color:color-mix(in srgb, var(--color-canvas-soft) 92%, var(--color-ink) 2%);box-shadow:inset 0 1px 0 0 #ffffff0d, 0 24px 52px -34px color-mix(in srgb, var(--color-ink) 46%, transparent);border-radius:22px}.fl-tool-container .dt-panel-head,.fl-tool-container .dt-card-head{padding:18px 24px}.fl-tool-container .dt-kicker{letter-spacing:.12em;color:var(--dt-accent-deep);font-size:12.6px;font-weight:800}.fl-tool-container .dt-card--pad{padding:24px}.fl-tool-container .dt-section{gap:22px}.fl-tool-container .dt-section-title{letter-spacing:-.025em;font-size:clamp(1.6rem,1.15rem + 1.8vw,2.15rem);font-weight:800}.fl-tool-container .dt-section-intro{font-size:17px}.fl-tool-container .dt-steps li{font-size:18px;line-height:1.6}.fl-tool-container .dt-step-num{width:28px;height:28px;font-size:13px}.fl-tool-container .dt-btn{letter-spacing:.01em;border-radius:16px;min-height:52px;padding:0 28px;font-size:15.5px;font-weight:700}.fl-tool-container .dt-btn--primary{box-shadow:0 14px 30px -14px color-mix(in srgb, var(--dt-accent) 72%, transparent)}.fl-tool-container .dt-btn--primary:hover{transform:translateY(-1px)}.fl-tool-container .dt-btn--sm{border-radius:13px;min-height:46px;padding:0 18px;font-size:13.8px}.fl-tool-container .dt-btn-icon{border-radius:13px;width:48px;height:48px}.fl-tool-container .dt-status{letter-spacing:.07em;border-radius:999px;padding:9px 16px;font-size:12.6px}.fl-tool-container .dt-status-dot{width:9px;height:9px}.fl-tool-container .dt-status:has(.fl-status--ready){color:var(--color-body)}.fl-tool-container .dt-status:has(.fl-status--running){color:var(--color-link);border-color:color-mix(in srgb, var(--color-link) 35%, var(--color-hairline));background-color:color-mix(in srgb, var(--color-link) 10%, var(--color-canvas))}.fl-tool-container .dt-status:has(.fl-status--paused){color:var(--color-warning-deep);border-color:color-mix(in srgb, var(--color-warning) 38%, var(--color-hairline));background-color:color-mix(in srgb, var(--color-warning) 12%, var(--color-canvas))}.fl-tool-container .dt-status:has(.fl-status--completed){color:var(--dt-success-deep);border-color:var(--dt-success-border);background-color:var(--dt-success-soft)}.fl-tool-container .fl-viewport-wrapper{border-radius:18px;height:clamp(480px,62vw,700px)}.fl-tool-container .fl-patterns-grid{gap:12px;padding:18px 20px}.fl-tool-container .fl-pattern-btn{border-radius:14px;gap:5px;padding:14px 16px}.fl-tool-container .fl-pattern-btn.is-active{border-color:var(--dt-accent);background-color:color-mix(in srgb, var(--dt-accent) 9%, var(--color-canvas));box-shadow:0 0 0 1px var(--dt-accent), 0 12px 28px -16px color-mix(in srgb, var(--dt-accent) 65%, transparent)}.fl-tool-container .fl-pattern-btn.is-active .fl-pat-name{color:var(--dt-accent-deep)}.fl-tool-container .dt-seg{border-radius:16px;padding:5px}.fl-tool-container .dt-seg-btn{letter-spacing:.02em;border-radius:12px;font-size:13px}.fl-tool-container .dt-metric{border-radius:16px;padding:1rem 1.1rem}.fl-tool-container .fl-res-cell{border-radius:12px;padding:11px 12px}.fl-tool-container .dt-grid,.fl-tool-container .dt-col{gap:28px}@media (width<=640px){.fl-tool-container .dt-shell{gap:22px;padding:36px 16px 60px}.fl-tool-container .dt-title{font-size:clamp(2.1rem,1.25rem + 5.4vw,2.6rem)}.fl-tool-container .dt-subtitle{font-size:18px}.fl-tool-container .fl-viewport-wrapper{height:clamp(360px,78vw,460px)}}@media (prefers-reduced-motion:reduce){.fl-pause-dot,.fl-tool-container .dt-status:has(.fl-status--running) .dt-status-dot{animation:none}}
