:root{--color-primary:#9830ff;--color-bg-dark:#190033;--color-text-light:#e5ccff}body{background:#190033;background:var(--color-bg-dark);color:#e5ccff;color:var(--color-text-light);font-family:sans-serif}.fstudio-root{--fst-accent:255,153,0;--fst-accent-2:255,193,7;--fst-bg:#000;--fst-surface:#121212;--fst-text:#fffffff2;--fst-text-dim:#ffffff8c;--fst-border:#ffffff1f;background:var(--fst-bg);color:var(--fst-text);color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;min-height:100vh;min-height:100dvh}.fstudio-header{align-items:center;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);background:#000000c7;border-bottom:1px solid var(--fst-border);display:flex;gap:10px;height:56px;padding:0 24px;position:sticky;top:0;z-index:10}.fstudio-brand{color:var(--fst-text);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:24px;font-weight:600;letter-spacing:-.03em;text-decoration:none;white-space:nowrap}.fstudio-badge{background:linear-gradient(135deg,rgb(var(--fst-accent)),rgb(var(--fst-accent-2)));border-radius:999px;color:#000;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 10px;text-transform:uppercase}.fstudio-factory-link{color:rgb(var(--fst-accent));font-size:14px;font-weight:600;margin-left:auto;text-decoration:none}.fstudio-factory-link-2{margin-left:12px}.fstudio-factory-link:hover{opacity:.8}.fstudio-main{gap:20px;margin:0 auto;max-width:720px;padding:32px 16px 64px}.fstudio-composer,.fstudio-main{display:flex;flex-direction:column}.fstudio-composer{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;gap:10px;padding:12px;transition:border-color .15s}.fstudio-composer:focus-within{border-color:rgba(var(--fst-accent),.6)}.fstudio-input{background:#0000;border:none;color:var(--fst-text);font-family:inherit;font-size:16px;line-height:1.45;max-height:45vh;min-height:64px;outline:none;overflow-y:auto;resize:none;width:100%}.fstudio-input::placeholder{color:var(--fst-text-dim)}.fstudio-composer-footer{align-items:center;display:flex;gap:12px;justify-content:space-between}.fstudio-counter{color:var(--fst-text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fstudio-counter-limit{color:rgb(var(--fst-accent))}.fstudio-generate{background:linear-gradient(135deg,rgb(var(--fst-accent)),rgb(var(--fst-accent-2)));border:none;border-radius:999px;color:#000;cursor:pointer;flex-shrink:0;font-size:15px;font-weight:700;padding:10px 24px;transition:opacity .15s,transform .1s}.fstudio-generate:hover:not(:disabled){transform:translateY(-1px)}.fstudio-generate:disabled{cursor:default;opacity:.45}.fstudio-queue{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.fstudio-queue-title{color:var(--fst-text-dim);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fstudio-queue-item{align-items:center;display:flex;gap:10px;min-width:0}.fstudio-queue-num{align-items:center;background:rgba(var(--fst-accent),.15);border-radius:50%;color:rgb(var(--fst-accent));display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:22px;justify-content:center;width:22px}.fstudio-queue-text{color:var(--fst-text-dim);flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fstudio-queue-remove{background:none;border:none;color:var(--fst-text-dim);cursor:pointer;flex-shrink:0;font-size:18px;line-height:1;padding:2px 6px}.fstudio-queue-remove:hover{color:var(--fst-text)}.fstudio-error{background:#ef44441f;border:1px solid #ef444459;border-radius:12px;color:#fca5a5;font-size:14px;padding:12px 16px}.fstudio-pending{align-items:center;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;gap:14px;padding:14px 16px}.fstudio-spinner{animation:fstudio-spin .9s linear infinite;border:3px solid rgba(var(--fst-accent),.25);border-radius:50%;border-top-color:rgb(var(--fst-accent));flex-shrink:0;height:26px;width:26px}@keyframes fstudio-spin{to{transform:rotate(1turn)}}.fstudio-pending-text{min-width:0}.fstudio-pending-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;overflow:hidden;text-overflow:ellipsis}.fstudio-pending-hint{color:var(--fst-text-dim);font-size:12px;margin-top:2px}.fstudio-results{display:flex;flex-direction:column;gap:20px}.fstudio-card{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;margin:0;overflow:hidden}.fstudio-card img,.fstudio-card video{display:block;height:auto;width:100%}.fstudio-card figcaption{color:var(--fst-text-dim);font-size:13px;padding:10px 14px}.fstudio-card-caption{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.fstudio-card-actions{display:flex;gap:8px;margin-top:8px}.fstudio-card-btn{background:#0000;border:1px solid rgba(var(--fst-accent),.5);border-radius:999px;color:rgb(var(--fst-accent));cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px;text-decoration:none;transition:background .15s,opacity .15s}.fstudio-card-btn:hover:not(:disabled){background:rgba(var(--fst-accent),.12)}.fstudio-card-btn:disabled{cursor:default;opacity:.45}.fstudio-animate-composer{align-items:flex-end;background:#ffffff0a;border:1px solid var(--fst-border);border-radius:12px;display:flex;gap:10px;margin-top:10px;padding:10px}.fstudio-animate-input{font-size:14px;max-height:20vh;min-height:40px}.fstudio-empty{color:var(--fst-text-dim);font-size:15px;padding:48px 16px;text-align:center}.fstudio-settings{margin-top:-6px}.fstudio-settings .fmm-block-title .fmm-link{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.fmm-nav{display:flex;gap:14px;margin-left:auto;min-width:0;overflow:hidden}.fmm-nav a{color:var(--fst-text-dim);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.fmm-nav a:hover{color:rgb(var(--fst-accent))}.fmm-top-error{margin:16px}.fmm-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:420px minmax(0,1fr);margin:0 auto;max-width:1280px;padding:24px 16px 80px}@media (max-width:960px){.fmm-layout{grid-template-columns:1fr}}.fmm-form{display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 88px);overflow-y:auto;padding-right:4px;position:sticky;scrollbar-width:thin;top:72px}@media (max-width:960px){.fmm-form{max-height:none;overflow:visible;position:static}}.fmm-tabs{grid-gap:6px;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:14px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);padding:6px}.fmm-tab{align-items:flex-start;background:#0000;border:none;border-radius:10px;color:var(--fst-text-dim);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-align:left;transition:background .15s,color .15s}.fmm-tab-on,.fmm-tab:hover{color:var(--fst-text)}.fmm-tab-on{background:rgba(var(--fst-accent),.16)}.fmm-tab-title{font-size:14px;font-weight:700;white-space:nowrap}@media (max-width:960px){.fmm-tabs{grid-template-columns:1fr}.fmm-tab{align-items:baseline;flex-direction:row;justify-content:space-between}}.fmm-tab-sub{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;opacity:.7}.fmm-blurb{color:var(--fst-text-dim);font-size:13px;padding:0 4px}.fmm-block{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:14px}.fmm-block-title{color:var(--fst-text-dim);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.fmm-row{align-items:center;display:flex;justify-content:space-between}.fmm-link{background:none;border:none;color:rgb(var(--fst-accent));cursor:pointer;font-size:12px;font-weight:600;letter-spacing:0;padding:0;text-transform:none}.fmm-link:hover{opacity:.8}.fmm-composer{padding:10px}.fmm-composer .fstudio-input{font-size:14px;min-height:90px}.fmm-slot{display:flex;flex-direction:column;gap:8px}.fmm-slot-label{font-size:13px;font-weight:600}.fmm-req{color:rgb(var(--fst-accent));margin-left:2px}.fmm-slot-count{color:var(--fst-text-dim);font-weight:500}.fmm-slot-grid{display:flex;flex-wrap:wrap;gap:8px}.fmm-drop,.fmm-thumb{border-radius:12px;flex-shrink:0;height:88px;overflow:hidden;position:relative;width:88px}.fmm-thumb img{display:block;height:100%;object-fit:cover;width:100%}.fmm-thumb-tag{border-radius:6px;bottom:6px;font-size:10px;font-weight:700;left:6px;padding:2px 6px}.fmm-thumb-tag,.fmm-thumb-x{background:#000000b3;color:#fff;position:absolute}.fmm-thumb-x{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:15px;height:22px;justify-content:center;line-height:1;right:4px;top:4px;width:22px}.fmm-thumb-x:hover{background:#ef4444e6}.fmm-drop{align-items:center;background:#ffffff08;border:1px dashed #ffffff47;color:var(--fst-text-dim);cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;outline:none;transition:border-color .15s,background .15s}.fmm-drop-over,.fmm-drop:focus,.fmm-drop:hover{background:rgba(var(--fst-accent),.08);border-color:rgb(var(--fst-accent));color:var(--fst-text)}.fmm-drop-plus{font-size:24px;line-height:1}.fmm-drop-text{font-size:11px;font-weight:600}.fmm-hint{color:var(--fst-text-dim);font-size:12px;line-height:1.4}.fmm-grid{grid-gap:10px 12px;display:grid;gap:10px 12px;grid-template-columns:1fr 1fr}.fmm-field{display:flex;flex-direction:column;gap:5px;min-width:0}.fmm-field-wide{grid-column:1/-1}.fmm-field-label{align-items:baseline;color:var(--fst-text-dim);display:flex;font-size:12px;gap:6px}.fmm-field-label b{color:var(--fst-text)}.fmm-field-label em{font-style:normal;margin-left:auto;opacity:.7}.fmm-field input[type=number],.fmm-field input[type=text],.fmm-field select,.fmm-lora-add input,.fmm-lora-str{background:#ffffff0a;border:1px solid var(--fst-border);border-radius:10px;box-sizing:border-box;color:var(--fst-text);font-family:inherit;font-size:14px;outline:none;padding:8px 10px;width:100%}.fmm-field input:focus,.fmm-field select:focus,.fmm-lora-add input:focus,.fmm-lora-str:focus{border-color:rgba(var(--fst-accent),.7)}.fmm-field select option{background:#1a1a1a}.fmm-field input[type=range]{accent-color:rgb(var(--fst-accent));width:100%}.fmm-check{align-items:center;cursor:pointer;flex-direction:row;font-size:13px;gap:8px;padding-top:18px}.fmm-check input{accent-color:rgb(var(--fst-accent));height:16px;width:16px}.fmm-loras{display:flex;flex-direction:column;gap:6px}.fmm-lora{grid-gap:10px;align-items:center;display:grid;font-size:13px;gap:10px;grid-template-columns:16px minmax(0,1fr) 76px auto}.fmm-lora input[type=checkbox]{accent-color:rgb(var(--fst-accent));height:16px;width:16px}.fmm-lora-off .fmm-lora-name{color:var(--fst-text-dim);text-decoration:line-through}.fmm-lora-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fmm-lora-str{font-size:13px;padding:5px 8px;text-align:right}.fmm-lora-x{background:#0000;color:var(--fst-text-dim);height:20px;position:static;width:20px}.fmm-lora-add{display:flex;gap:8px;margin-top:4px}.fmm-lora-add input{font-size:13px}.fmm-submit{align-items:center;display:flex;gap:12px;padding:4px 0 8px}.fmm-generate{font-size:16px;padding:12px 28px}.fmm-submit-hint{color:var(--fst-text-dim);font-size:12px;line-height:1.3}.fmm-feed{display:flex;flex-direction:column;gap:16px;min-width:0}.fmm-feed-head{align-items:center;color:var(--fst-text-dim);display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:.06em;padding:0 4px;text-transform:uppercase}.fmm-job{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;overflow:hidden}.fmm-job-running{border-color:rgba(var(--fst-accent),.35)}.fmm-job-head{align-items:center;border-bottom:1px solid var(--fst-border);display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}.fmm-chip{background:#ffffff0f;border-radius:999px;color:var(--fst-text-dim);font-size:12px;font-weight:600;padding:3px 9px;white-space:nowrap}.fmm-chip-wf{background:rgba(var(--fst-accent),.16);color:rgb(var(--fst-accent))}.fmm-job-time{font-feature-settings:"tnum";align-items:center;color:var(--fst-text-dim);display:flex;font-size:12px;font-variant-numeric:tabular-nums;gap:8px;margin-left:auto}.fmm-spinner{border-width:2px;height:14px;width:14px}.fmm-video{background:#000;display:block;max-height:70vh;width:100%}.fmm-job-wait{background:repeating-linear-gradient(-45deg,#ffffff05 0 12px,#0000 12px 24px);color:var(--fst-text-dim);font-size:13px;padding:28px 16px;text-align:center}.fmm-job-failed .fstudio-error{margin:12px 14px 0}.fmm-job-body{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}.fmm-job-thumbs{display:flex;gap:6px}.fmm-job-thumbs img{border:1px solid var(--fst-border);border-radius:8px;height:48px;object-fit:cover;width:48px}.fmm-job-prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--fst-text-dim);cursor:pointer;display:-webkit-box;font-size:13px;overflow:hidden;white-space:pre-wrap}.fmm-job-prompt-open{-webkit-line-clamp:unset;color:var(--fst-text);display:block}.fmm-btn-dim{border-color:var(--fst-border);color:var(--fst-text-dim);margin-left:auto}.fmm-job-body .fstudio-card-actions{flex-wrap:wrap}.fmm-block-sub{color:var(--fst-text-dim);font-style:normal;font-weight:400;letter-spacing:0;text-transform:none}.fmm-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.fmm-preset{background:#ffffff0a;border:1px solid var(--fst-border);border-radius:999px;color:var(--fst-text);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:6px 14px}.fmm-preset:hover{background:#ffffff14}.fmm-preset-on{border-color:rgb(var(--fst-accent));color:#000}.fmm-preset-on,.fmm-preset-on:hover{background:rgb(var(--fst-accent))}.fmm-lockable{border:none;margin:0;min-width:0;padding:0}.fmm-locked{opacity:.5;pointer-events:none}.fstream-main{margin:0 auto;max-width:1100px;padding:24px}.fstream-main-debug,.fstream-main-solo{display:flex;justify-content:center}.fstream-main-debug{align-items:flex-start;gap:24px}.fstream-debug{background:#0a0a0a99;border:1px solid var(--fst-border);border-radius:12px;display:flex;flex:0 0 320px;flex-direction:column;max-height:calc(100dvh - 100px);overflow:hidden;position:sticky;top:80px;width:320px}.fstream-debug-head{align-items:center;border-bottom:1px solid var(--fst-border);color:var(--fst-text-dim);display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:.06em;padding:10px 12px;text-transform:uppercase}.fstream-debug-clear{background:none;border:none;color:rgb(var(--fst-accent));cursor:pointer;font-size:11px;letter-spacing:0;text-transform:none}.fstream-debug-log{flex:1 1;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.5;overflow-y:auto;padding:8px 10px}.fstream-debug-empty{color:var(--fst-text-dim);opacity:.6}.fstream-debug-row{border-bottom:1px solid #ffffff0a;display:flex;gap:8px;padding:3px 0}.fstream-debug-t{font-feature-settings:"tnum";color:rgba(var(--fst-accent),.9);color:rgb(var(--fst-accent));flex:0 0 auto;font-variant-numeric:tabular-nums}.fstream-debug-m{color:var(--fst-text);flex:1 1;word-break:break-word}@media (max-width:900px){.fstream-main-debug{align-items:center;flex-direction:column-reverse}.fstream-debug{max-height:240px;max-width:440px;position:static;width:100%}}.fstream-stage{align-items:center;display:flex;flex-direction:column;gap:14px}.fstream-frame{aspect-ratio:9/16;background:#050505;border:1px solid var(--fst-border);border-radius:18px;box-shadow:0 24px 60px #0009;overflow:hidden;position:relative;width:min(440px,92vw,calc(100dvh*.5625 - 67.5px))}.fstream-video{height:100%;inset:0;object-fit:cover;position:absolute;transition:opacity .45s ease;width:100%}.fstream-overlay{align-items:center;background:radial-gradient(circle at center,#00000059,#000000c7);display:flex;flex-direction:column;gap:14px;inset:0;justify-content:center;padding:24px;position:absolute;text-align:center;z-index:2}.fstream-overlay-text{color:var(--fst-text-dim);font-size:14px;line-height:1.5;max-width:240px}.fstream-hud{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#00000080;border-radius:999px;color:var(--fst-text);display:flex;font-size:12px;font-weight:600;gap:8px;left:12px;padding:6px 10px;position:absolute;right:56px;top:12px;z-index:3}.fstream-live{animation:fstream-pulse 1.6s ease-in-out infinite;color:rgb(var(--fst-accent));flex:0 0 auto;letter-spacing:.06em}.fstream-hud-prompt{color:var(--fst-text-dim);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fstream-pulse{0%,to{opacity:1}50%{opacity:.35}}.fstream-mute{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:16px;height:36px;justify-content:center;right:10px;top:10px;width:36px;z-index:3}.fstream-bar,.fstream-mute{display:flex;position:absolute}.fstream-bar{align-items:flex-end;background:linear-gradient(0deg,#000000d9,#0000);bottom:0;gap:8px;left:0;padding:14px;right:0;z-index:4}.fstream-bar-input{background:#141414e6;border:1px solid var(--fst-border);border-radius:14px;color:var(--fst-text);flex:1 1;font-family:inherit;font-size:14px;line-height:1.35;max-height:96px;outline:none;padding:11px 14px;resize:none}.fstream-bar-input:focus{border-color:rgb(var(--fst-accent))}.fstream-bar-input::placeholder{color:var(--fst-text-dim)}.fstream-bar-send{background:linear-gradient(135deg,rgb(var(--fst-accent)),rgb(var(--fst-accent-2)));border:none;border-radius:14px;color:#000;cursor:pointer;flex:0 0 auto;font-size:14px;font-weight:700;padding:11px 18px}.fstream-bar-send:disabled{cursor:default;opacity:.45}.fstream-jobs{display:flex;flex-direction:column;gap:6px;width:min(440px,92vw,calc(100dvh*.5625 - 67.5px))}.fstream-job{align-items:center;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:10px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.fstream-job-error{border-color:#ff5a5a80}.fstream-job-dot{animation:fstream-pulse 1.2s ease-in-out infinite;background:rgb(var(--fst-accent));border-radius:50%;flex:0 0 auto;height:8px;width:8px}.fstream-job-text{color:var(--fst-text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fstream-job-status{color:var(--fst-text-dim);flex:0 0 auto;font-size:12px}.fstream-job-error .fstream-job-status{color:#ff7878}.ffactory-main{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1280px;padding:24px 16px 64px}.ffactory-back{color:var(--fst-text-dim);font-size:14px;margin-left:auto;text-decoration:none}.ffactory-back:hover{color:var(--fst-text)}.ffactory-form{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;flex-direction:column;gap:14px;padding:14px}.ffactory-form-toggle{align-self:flex-start;background:none;border:none;color:var(--fst-text-dim);cursor:pointer;font-size:13px;padding:0}.ffactory-templates{display:flex;flex-wrap:wrap;gap:10px 18px}.ffactory-template-check{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:7px;-webkit-user-select:none;user-select:none}.ffactory-template-check input{accent-color:rgb(var(--fst-accent));height:16px;width:16px}.ffactory-girls{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.ffactory-girl{border:1px solid var(--fst-border);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:10px}.ffactory-girl-title{color:rgb(var(--fst-accent));font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ffactory-girl-desc{font-size:14px;max-height:30vh;min-height:64px}.ffactory-girl-location{background:#0000;border:1px solid var(--fst-border);border-radius:8px;color:var(--fst-text);font-size:14px;outline:none;padding:8px 10px}.ffactory-girl-location:focus{border-color:rgba(var(--fst-accent),.6)}.ffactory-progress{align-items:center;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:12px;color:var(--fst-text-dim);display:flex;font-size:14px;gap:12px;padding:12px 16px}.ffactory-progress .fstudio-spinner{border-width:2px;height:18px;width:18px}.ffactory-toolbar{align-items:center;display:flex;gap:12px}.ffactory-tabs{display:flex;flex-wrap:wrap;gap:8px}.ffactory-tab{background:#0000;border:1px solid var(--fst-border);border-radius:999px;color:var(--fst-text-dim);cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:color .15s,border-color .15s,background .15s}.ffactory-tab:hover{color:var(--fst-text)}.ffactory-tab-active{background:rgba(var(--fst-accent),.15);border-color:rgba(var(--fst-accent),.6);color:rgb(var(--fst-accent))}.ffactory-group-animate{align-items:flex-end;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;gap:12px;padding:12px}.ffactory-group-animate .fstudio-generate{flex-shrink:0;white-space:nowrap}.ffactory-group-actions{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.ffactory-model-switch{border:1px solid var(--fst-border);border-radius:999px;display:flex;overflow:hidden}.ffactory-model-btn{background:#0000;border:none;color:var(--fst-text-dim);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:6px 14px}.ffactory-model-active{background:rgba(var(--fst-accent),.18);color:rgb(var(--fst-accent))}.ffactory-check{align-items:center;background:#0000008c;border-radius:8px;cursor:pointer;display:flex;height:30px;justify-content:center;left:10px;position:absolute;top:10px;width:30px;z-index:2}.ffactory-check input{accent-color:rgb(var(--fst-accent));cursor:pointer;height:18px;width:18px}.ffactory-media img{cursor:pointer}.ffactory-viewer{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.ffactory-viewer-inner{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;width:100%}.ffactory-viewer-head{align-items:center;border-bottom:1px solid var(--fst-border);color:var(--fst-text-dim);display:flex;font-size:14px;justify-content:space-between;padding:12px 16px}.ffactory-viewer-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));overflow-y:auto;padding:14px}.ffactory-viewer-cell{background:#ffffff08;border:1px solid var(--fst-border);border-radius:12px;margin:0;overflow:hidden;position:relative}.ffactory-viewer-cell img,.ffactory-viewer-cell video{background:#000;display:block;height:auto;max-height:78vh;object-fit:contain;width:100%}.ffactory-viewer-cell .ffactory-media-msg{aspect-ratio:3/4;position:static}.ffactory-viewer-cell figcaption{color:var(--fst-text-dim);font-size:12px;padding:8px 10px}.ffactory-viewer-cell figcaption a{color:rgb(var(--fst-accent));text-decoration:none}.ffactory-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.ffactory-grid-wide{align-items:start;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.ffactory-video-card video{background:#000;display:block;height:auto;width:100%}.fvideos-head{align-items:center;background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:16px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.fvideos-photo{display:block;height:auto;width:100%}.ffactory-card{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:14px;display:flex;flex-direction:column;margin:0;overflow:hidden}.ffactory-media{aspect-ratio:3/4;background:#ffffff08;position:relative}.ffactory-media img{display:block;height:100%;object-fit:cover;width:100%}.ffactory-media video{background:#000;display:block;height:100%;object-fit:contain;width:100%}.ffactory-media-msg{align-items:center;color:var(--fst-text-dim);display:flex;flex-direction:column;font-size:13px;gap:10px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.ffactory-media-error{color:#fca5a5}.ffactory-card figcaption{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.ffactory-badges{display:flex;flex-wrap:wrap;gap:6px}.ffactory-badges span{background:#ffffff12;border-radius:999px;color:var(--fst-text-dim);font-size:11px;font-weight:600;padding:2px 8px}.ffactory-badges .ffactory-badge-hot{background:rgba(var(--fst-accent),.18);color:rgb(var(--fst-accent))}.ffactory-badges .ffactory-badge-err{background:#ef444426;color:#fca5a5}.ffactory-card .fstudio-card-btn{font-size:12px;padding:5px 12px}.ffactory-prompts{display:flex;flex-direction:column;gap:6px}.ffactory-prompt-label{color:var(--fst-text-dim);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ffactory-prompt-edit{border:1px solid var(--fst-border);border-radius:8px;font-size:12px;line-height:1.4;min-height:40px;padding:8px}.ffactory-prompt-refined{border-color:rgba(var(--fst-accent),.6)}.ffactory-refine{align-items:flex-end;display:flex;gap:8px}.ffactory-refine-input{border:1px solid rgba(var(--fst-accent),.35);border-radius:8px;font-size:13px;min-height:36px;padding:8px}.ffactory-refined-bar{align-items:center;background:rgba(var(--fst-accent),.1);border-radius:8px;color:rgb(var(--fst-accent));display:flex;flex-wrap:wrap;font-size:12px;gap:8px;padding:8px 10px}.fdrama-shelf{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0 auto;max-width:1100px;padding:28px 16px 64px}.fdrama-card{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:18px;color:var(--fst-text);display:block;overflow:hidden;text-decoration:none;transition:transform .16s ease,border-color .16s ease}.fdrama-card:hover{border-color:rgba(var(--fst-accent),.7);transform:translateY(-2px)}.fdrama-card-cover{aspect-ratio:2/3;background:#050505;display:block;object-fit:cover;width:100%}.fdrama-card-body{padding:12px 14px 14px}.fdrama-card-title{font-size:16px;font-weight:700}.fdrama-card-sub{color:var(--fst-text-dim);font-size:12px;margin-top:2px}.fdrama-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:0 auto;max-width:1100px;padding:24px 16px 64px}.fdrama-stage{flex:0 0 auto}.fdrama-frame{aspect-ratio:9/16;background:#050505;border:1px solid var(--fst-border);border-radius:18px;box-shadow:0 24px 60px #0009;overflow:hidden;position:relative;width:min(440px,92vw,calc(100dvh*.5625 - 67.5px))}.fdrama-video{height:100%;inset:0;object-fit:cover;position:absolute;transition:opacity .35s ease;width:100%}.fdrama-cover{background-position:top;background-size:cover;display:flex;flex-direction:column;inset:0;justify-content:flex-end;position:absolute;z-index:3}.fdrama-cover-shade{background:linear-gradient(180deg,#0000 40%,#000000d9);inset:0;position:absolute}.fdrama-cover-text{padding:0 22px 26px;position:relative}.fdrama-title{font-size:26px;font-weight:800;letter-spacing:-.01em}.fdrama-sub{color:var(--fst-text-dim);font-size:13px;margin-top:4px}.fdrama-play{background:rgb(var(--fst-accent));border:none;border-radius:50%;box-shadow:0 12px 40px rgba(var(--fst-accent),.45);color:#000;cursor:pointer;font-size:30px;height:84px;left:50%;padding-left:6px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .16s ease;width:84px}.fdrama-play:hover{transform:translate(-50%,-50%) scale(1.06)}.fdrama-overlay{align-items:center;background:radial-gradient(circle at center,#0009,#000000e6);display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;padding:24px 18px;position:absolute;text-align:center;z-index:4}.fdrama-loading{background:#00000040;z-index:2}.fdrama-pick-note{color:rgb(var(--fst-accent));font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.fdrama-pick-q{font-size:20px;font-weight:800;line-height:1.25;max-width:300px}.fdrama-pick-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:6px;max-width:320px;width:100%}.fdrama-tile{align-items:center;background:#ffffff0f;border:1px solid var(--fst-border);border-radius:16px;color:var(--fst-text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:6px;padding:16px 8px 12px;position:relative;transition:border-color .14s ease,background .14s ease,opacity .14s ease}.fdrama-tile:hover{background:#ffffff1a}.fdrama-tile-on{background:rgba(var(--fst-accent),.18);border-color:rgb(var(--fst-accent))}.fdrama-tile-full{cursor:not-allowed;opacity:.35}.fdrama-tile-icon{font-size:34px;line-height:1}.fdrama-tile-label{font-size:13px;font-weight:700}.fdrama-tile-n{align-items:center;background:rgb(var(--fst-accent));border-radius:50%;color:#000;display:flex;font-size:12px;font-weight:800;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.fdrama-continue{margin-top:10px;min-width:200px;width:auto}.fdrama-choices{background:linear-gradient(180deg,#0000,#000000d9 45%);bottom:0;display:flex;flex-direction:column;gap:8px;left:0;padding:40px 14px 16px;position:absolute;right:0;z-index:4}.fdrama-choice{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;border:1px solid #ffffff38;border-radius:14px;color:var(--fst-text);cursor:pointer;font:inherit;font-size:14px;font-weight:600;line-height:1.35;padding:12px 14px;text-align:left;transition:border-color .14s ease,background .14s ease;width:100%}.fdrama-choice:hover{background:rgba(var(--fst-accent),.22);border-color:rgb(var(--fst-accent))}.fdrama-error{background:#ff3c3cd9;border-radius:10px;bottom:12px;color:#fff;font-size:13px;left:12px;padding:8px 12px;position:absolute;right:12px;z-index:5}.fdrama-episodes{background:var(--fst-surface);border:1px solid var(--fst-border);border-radius:18px;flex:0 1 260px;min-width:220px;padding:14px}.fdrama-episodes-title{color:var(--fst-text-dim);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.fdrama-episode{align-items:center;border-radius:12px;display:flex;font-size:14px;gap:10px;padding:10px}.fdrama-episode-on{background:rgba(var(--fst-accent),.14);border:1px solid rgba(var(--fst-accent),.6)}.fdrama-episode-locked{color:var(--fst-text-dim);opacity:.7}.fdrama-episode-n{align-items:center;background:#ffffff14;border-radius:50%;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.fdrama-episode-on .fdrama-episode-n{background:rgb(var(--fst-accent));color:#000}.fdrama-episode-title{flex:1 1;font-weight:600}.fdrama-episode-tag{color:var(--fst-text-dim);font-size:11px}.fdrama-episode-on .fdrama-episode-tag{color:rgb(var(--fst-accent));font-weight:700}@media (max-width:760px){.fdrama-layout{align-items:center;flex-direction:column}.fdrama-episodes{flex-basis:auto;width:min(440px,92vw)}}*,:after,:before{box-sizing:border-box}button{font-family:inherit}#root,body,html{height:100%}body{margin:0}