/* The studio: a start screen with two choices, and a project workspace (canvas + director chat). */
.fm{--card:#0f1318;--card2:#141a21;--soft:#ffffff0a;--ok:#4cd28a;min-height:100vh;display:flex;flex-direction:column}.fm textarea{font:inherit}
.fm-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:14px 28px;border-bottom:1px solid var(--line);background:#080a0dee;backdrop-filter:blur(16px)}
.fm-bar nav{display:flex;gap:20px}.fm-bar nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:550}.fm-bar nav a:hover{color:var(--ink)}
.fm-usage{margin-left:auto;display:flex;gap:16px;font-size:12px;color:var(--muted);white-space:nowrap}.fm-usage b{color:var(--ink);font-weight:650}
.fm-main{width:100%;max-width:980px;margin:0 auto;padding:56px 28px 80px}.fm-main.fm-wide{max-width:1500px;padding-top:28px}
.fm-hero{text-align:center;margin-bottom:36px}.fm-hero h1{font-size:44px;line-height:1.08;letter-spacing:-.03em;margin:0 0 12px;font-weight:650}.fm-hero p{max-width:560px;margin:0 auto;color:var(--muted);font-size:16px}
.fm-hero-small{text-align:left}.fm-hero-small h1{font-size:30px}.fm-hero-small p{margin:0}
.fm-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.fm-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fm-choice{position:relative;display:flex;flex-direction:column;gap:12px;min-height:290px;padding:28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--card2),var(--card));transition:border-color .2s,transform .2s}
.fm-choice>svg,.fm-drop>svg{width:30px;height:30px;color:var(--accent)}.fm-choice strong,.fm-drop strong{font-size:20px;font-weight:650;letter-spacing:-.01em}
.fm-drop{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;border:1.5px dashed #3a414b;border-radius:14px;cursor:pointer;padding:24px;transition:border-color .2s,background .2s}
.fm-drop span{color:var(--muted);font-size:14px;max-width:260px}.fm-drop small{color:#6f7680;font-size:12px}
.fm-drop input{position:absolute;width:1px;height:1px;opacity:0}.fm-drop:hover,.fm-drop.is-over,.fm-drop:focus-within{border-color:var(--accent);background:#ff6b3d0d}
.fm-choice-idea textarea{flex:1;resize:none;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:#0a0d11;color:var(--ink);font-size:15px;line-height:1.5}
.fm-choice-idea textarea:focus,.fm-form :is(input:not([type=radio]),textarea,select):focus,.fm-composer textarea:focus{outline:none;border-color:var(--accent)}
.fm-choice-idea .button{align-self:stretch}.button[disabled]{opacity:.45;cursor:not-allowed}
.fm-start.is-busy .fm-choice-idea{opacity:.5;pointer-events:none}.fm-start.is-busy .fm-drop{pointer-events:none}
.fm-progress{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.fm-bar-track{height:5px;border-radius:5px;background:var(--soft);overflow:hidden}.fm-bar-track i{display:block;height:100%;width:0;background:var(--accent);transition:width .25s}
.fm-options{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;flex-wrap:wrap}
.fm-segment{display:inline-flex;margin:0;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.fm-segment label{cursor:pointer}.fm-segment input{position:absolute;opacity:0}
.fm-segment span{display:block;padding:7px 16px;border-radius:7px;font-size:13px;color:var(--muted);font-weight:550}.fm-segment input:checked+span{background:#ffffff14;color:var(--ink)}.fm-segment input:focus-visible+span{outline:2px solid var(--accent)}
.fm-switch{display:flex;align-items:center;gap:12px;cursor:pointer;max-width:470px}.fm-switch input{position:absolute;opacity:0}.fm-switch small{display:block;color:var(--muted);font-size:12px;line-height:1.4}.fm-switch strong{font-size:14px}
.fm-switch-ui{flex:none;width:38px;height:22px;border-radius:22px;background:#2a3038;position:relative;transition:background .2s}.fm-switch-ui:after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.fm-switch input:checked+.fm-switch-ui{background:var(--accent)}.fm-switch input:checked+.fm-switch-ui:after{transform:translateX(16px)}.fm-switch input:focus-visible+.fm-switch-ui{outline:2px solid var(--accent);outline-offset:2px}
.fm-message{min-height:22px;margin:14px 0 0;text-align:center;font-size:14px}.fm-message.is-error{color:#ff8a6b}



.fm-kind{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:650;letter-spacing:.04em;text-align:center;background:#ffffff10;color:var(--muted)}.fm-kind-upload{color:#8fb8ff;background:#8fb8ff14}.fm-kind-idea{color:#ffcf6b;background:#ffcf6b14}
.fm-pill{padding:2px 8px;border-radius:6px;font-size:11px;font-weight:650;background:#ff6b3d1f;color:var(--accent)}
.fm-plans{max-width:640px;margin:0 auto}
/* Project workspace */
.fm-project-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.fm-project-head h1{font-size:22px;margin:0;font-weight:650;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-back{color:var(--muted);text-decoration:none;font-size:13px;margin-right:6px}.fm-delete{margin-left:auto;color:var(--muted)}
.fm-steps{display:flex;gap:6px;list-style:none;margin:0 0 20px;padding:0}.fm-steps li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:20px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:600}
.fm-steps span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ffffff12;font-size:11px}.fm-steps .current{color:var(--ink);background:#ff6b3d1a}.fm-steps .current span{background:var(--accent);color:#140a06}.fm-steps .done span{background:#4cd28a26;color:var(--ok)}
.fm-workspace{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.fm-workspace.has-video{grid-template-columns:280px minmax(0,1fr) 380px}
.fm-preview{position:sticky;top:84px}.fm-phone{aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000;border:1px solid var(--line)}.fm-phone video{width:100%;height:100%;object-fit:contain;display:block}
.fm-phone-empty{display:grid;place-items:center;color:var(--muted);font-size:13px;text-align:center;padding:20px}.fm-preview-label{margin:8px 0 0;text-align:center;font-size:12px;color:var(--muted)}
.fm-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.fm-panel h2{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:6px 0 18px;font-weight:650}
.fm-eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:650}
.fm-alert{margin:0 0 12px;padding:12px 14px;border-radius:10px;background:#ff6b3d14;border:1px solid #ff6b3d40;color:#ffb39d;font-size:14px}
.fm-idea{margin:0 0 18px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--soft);border-radius:0 10px 10px 0;color:var(--ink)}
.fm-keywords{width:100%;border-collapse:collapse;margin-bottom:22px;font-size:13px}.fm-keywords th{text-align:left;font-size:11px;color:var(--muted);font-weight:600;padding:0 8px 8px;border-bottom:1px solid var(--line)}
.fm-keywords td{padding:10px 8px;border-bottom:1px solid #ffffff08;vertical-align:middle}.fm-keywords td small{display:block;color:var(--muted);font-size:12px}.fm-keywords td em{font-style:normal;margin-left:8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.fm-keywords td:nth-child(2),.fm-keywords td:nth-child(3){white-space:nowrap;color:var(--muted)}.fm-keywords .is-pick td{background:#ff6b3d0b}.fm-opp{font-size:18px;font-weight:700;text-align:right}
.fm-meter{display:inline-block;width:54px;height:5px;border-radius:5px;background:#ffffff12;margin-right:8px;vertical-align:middle;overflow:hidden}.fm-meter i{display:block;height:100%;background:var(--ok)}.fm-meter.invert i{background:#ff8a6b}
.fm-form{display:flex;flex-direction:column;gap:16px}.fm-form>label,.fm-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.fm-form :is(input:not([type=radio]):not([type=checkbox]),textarea,select){width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#0a0d11;color:var(--ink);font-size:14px;font-weight:400;line-height:1.5}.fm-form textarea{resize:vertical}
.fm-form small{font-weight:400;font-size:12px;color:#7d848e}.fm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fm-count{float:right;font-weight:400}
.fm-hooks{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fm-hooks legend{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}
.fm-hook{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.fm-hook:has(input:checked){border-color:var(--accent);background:#ff6b3d0a}.fm-hook input[type=radio]{margin-top:4px;accent-color:var(--accent)}
.fm-hook strong{display:block;font-size:15px}.fm-hook small{display:block;color:var(--muted);font-size:12px}.fm-hook input[name=customHook]{margin-top:6px}
.fm-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}.fm-hint{margin:6px 0 0;color:var(--muted);font-size:12px;flex-basis:100%}
.fm-summary{margin:0;display:flex;flex-direction:column;gap:14px;margin-top:20px}.fm-summary dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:650}.fm-summary dd{margin:3px 0 0}.fm-summary small{display:block;color:var(--muted)}
.fm-hook-big{font-size:20px;font-weight:650}.fm-script{white-space:pre-wrap;color:#d7dade}.fm-panel audio{width:100%;margin-bottom:14px}
.fm-stages{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:10px}.fm-stages li{display:flex;align-items:center;gap:10px;color:#5d646e;font-size:14px}.fm-stages li:before{content:'';width:8px;height:8px;border-radius:50%;background:#2a3038}
.fm-stages .done{color:var(--muted)}.fm-stages .done:before{background:var(--ok)}.fm-stages .current{color:var(--ink)}.fm-stages .current:before{background:var(--accent);box-shadow:0 0 0 4px #ff6b3d33;animation:fm-pulse 1.2s infinite}
.fm-working{display:flex;gap:6px;margin:6px 0}.fm-working i{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:fm-bounce 1s infinite}.fm-working i:nth-child(2){animation-delay:.15s}.fm-working i:nth-child(3){animation-delay:.3s}
/* Chat */
.fm-chat{position:sticky;top:84px;display:flex;flex-direction:column;height:calc(100vh - 110px);min-height:460px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.fm-chat-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px}.fm-chat-head span{color:var(--muted);font-size:12px}
.fm-thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.fm-msg{max-width:90%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5}.fm-msg p{margin:0}.fm-msg small{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.fm-msg.me{align-self:flex-end;background:#ff6b3d22;border-bottom-right-radius:4px}.fm-msg.ai{align-self:flex-start;background:var(--card2);border:1px solid var(--line);border-bottom-left-radius:4px}.fm-msg.is-error{border-color:#ff6b3d55;color:#ffb39d}
.fm-note{align-self:center;color:var(--muted);font-size:12px;text-align:center}
.fm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fm-chip{padding:3px 8px;border-radius:6px;background:#ffffff0d;font-size:12px;color:var(--muted)}.fm-chip b{color:var(--ink);margin-left:4px}.fm-chip.is-pick{background:#ff6b3d1f;color:var(--ink)}
.fm-thinking{display:flex;align-items:center;gap:10px;color:var(--muted)}.fm-dots{display:inline-flex;gap:3px}.fm-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:fm-bounce 1s infinite}.fm-dots i:nth-child(2){animation-delay:.15s}.fm-dots i:nth-child(3){animation-delay:.3s}
.fm-composer{position:relative;border-top:1px solid var(--line);padding:12px}.fm-composer textarea{width:100%;resize:none;padding:11px 46px 11px 12px;border:1px solid var(--line);border-radius:12px;background:#0a0d11;color:var(--ink);font-size:14px}
.fm-composer textarea:disabled{opacity:.5}.fm-send{position:absolute;right:20px;top:20px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:var(--accent);color:#140a06;cursor:pointer}.fm-send svg{width:17px}.fm-send:disabled{background:#2a3038;color:#6f7680;cursor:not-allowed}
.fm-composer-note{margin:6px 2px 0;font-size:11px;color:var(--muted)}
@keyframes fm-bounce{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}@keyframes fm-pulse{50%{box-shadow:0 0 0 7px #ff6b3d00}}
/* Laptops keep the chat beside the work; phones and small tablets switch panels with tabs. */
@media(max-width:1200px){.fm-workspace{grid-template-columns:minmax(0,1fr) 320px}.fm-workspace.has-video{grid-template-columns:200px minmax(0,1fr) 320px}}
@media(max-width:1024px){.fm-workspace,.fm-workspace.has-video{grid-template-columns:1fr}.fm-workspace[data-view=step] :is(.fm-preview,.fm-chat),.fm-workspace[data-view=chat] :is(.fm-preview,.fm-canvas),.fm-workspace[data-view=video] :is(.fm-canvas,.fm-chat){display:none}.fm-preview{position:static;width:min(100%,300px);margin:0 auto}.fm-chat{position:static;height:calc(100dvh - 250px);min-height:420px}}
@media(max-width:700px){.fm-usage{font-size:12px}.fm-usage-period{display:none}.fm-bar nav{gap:12px}}
@media(max-width:700px){.fm-main{padding:32px 16px 60px}.fm-hero h1{font-size:32px}.fm-choices{grid-template-columns:1fr}.fm-choice{min-height:0}.fm-bar{padding:12px 16px;gap:16px}.fm-row{grid-template-columns:1fr}.fm-keywords th:nth-child(2),.fm-keywords td:nth-child(2){display:none}.fm-steps{flex-wrap:wrap}}
.fm-songs{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fm-songs legend{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}
.fm-song{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.fm-song:has(input:checked){border-color:var(--accent);background:#ff6b3d0a}.fm-song input[type=radio]{accent-color:var(--accent)}
.fm-song>span{flex:1;min-width:0;display:flex;flex-direction:column}.fm-song-name{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-song-name strong{font-weight:650}
.fm-song-meta{font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.fm-song small{font-size:12px;color:var(--muted)}
.fm-play{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#ffffff0a;color:var(--ink);cursor:pointer;font-size:11px}.fm-play:hover{border-color:var(--accent)}
.fm-song-picked{cursor:default;margin:2px 0 6px}.fm-hook span,.fm-song>span{flex:1}
.fm-drop-off{cursor:default;opacity:.55}.fm-drop-off:hover{border-color:#3a414b;background:none}
.fm-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px!important;color:var(--ink)!important;font-weight:550!important}.fm-check input{accent-color:var(--accent)}.fm-check small{color:var(--muted);font-weight:400}
/* Account: a single settings column. */
.acct{--danger:#f2645f;max-width:720px;margin:0 auto;display:grid;gap:16px}
.acct h1,.acct h2,.acct h3,.acct p{margin:0}
.acct-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.acct-head>div{flex:1;min-width:0}
.acct-head h1{font-size:30px;line-height:1.1;letter-spacing:-.025em;font-weight:650}.acct-head p{color:var(--muted);font-size:14px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}
.acct-avatar{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ff6b3d1f;color:var(--accent);font-size:21px;font-weight:650}
.acct-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.acct-label{display:block;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.acct-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.acct-plan-head h2{font-size:26px;letter-spacing:-.02em;font-weight:650}.acct-plan-head p{color:var(--muted);font-size:14px;margin-top:6px}
.acct-plan-foot{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.acct-meter{margin-top:24px;padding:18px;border-radius:10px;background:var(--soft)}
.acct-meter-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--muted);margin-bottom:10px}.acct-meter-row strong{color:var(--ink);font-size:14px;font-weight:650}
.acct-meter .fm-bar-track{height:6px}.acct-meter small{display:block;margin-top:10px;font-size:12px;color:var(--muted)}
.acct-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}.acct-stats>div{padding:14px 16px;border:1px solid var(--line);border-radius:10px}
.acct-stats dt{font-size:12px;color:var(--muted);margin-bottom:4px}.acct-stats dd{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}
.acct-dot{width:7px;height:7px;border-radius:50%;background:#5b636d}.acct-dot.is-on{background:var(--ok);box-shadow:0 0 0 3px #4cd28a22}
.acct-note{margin-top:18px!important;font-size:13px;color:var(--muted)}.acct-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.acct-rows{padding:0}.acct-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px}.acct-row+.acct-row{border-top:1px solid var(--line)}
.acct h3{font-size:15px;font-weight:650;margin-bottom:4px}.acct-row p,.acct-danger p{font-size:13px;line-height:1.5;color:var(--muted);max-width:460px}
.acct-row .button,.acct-plan-head .button{flex:none;align-self:center;margin:0}
.acct-danger{border-color:#f2645f40;background:linear-gradient(#f2645f08,#f2645f08),var(--card);display:grid;gap:18px}
.acct-delete{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #f2645f26}
.acct-delete label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink);cursor:pointer}.acct-delete input{accent-color:var(--danger);width:16px;height:16px;margin:0}
.button.acct-danger-button{align-self:auto;margin:0;background:transparent;border-color:#f2645f66;color:#ff8f8a}.button.acct-danger-button:hover{background:#f2645f1a;border-color:var(--danger)}
@media(max-width:700px){.acct-head{flex-wrap:wrap}.acct-head form{width:100%}.acct-head form .button{width:100%}.acct-plan-head,.acct-row{flex-direction:column;align-items:stretch}.acct-plan-head .button,.acct-row .button{align-self:stretch}.acct-stats{grid-template-columns:1fr}.acct-card{padding:20px}.acct-row{padding:18px 20px}.acct-delete .button{width:100%}}
/* Projects: vertical thumbnails, the shape of the videos themselves. */
.fm-recent{margin-top:56px}
.fm-recent-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}.fm-recent-head h2{font-size:20px;letter-spacing:-.015em;font-weight:650;margin:0}.fm-recent-head span{font-size:13px;color:var(--muted)}
.fm-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px 16px}
.fm-tile{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none;min-width:0}
.fm-thumb{position:relative;display:block;aspect-ratio:9/16;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--card2);margin-bottom:8px;transition:border-color .18s,transform .18s}
.fm-tile:hover .fm-thumb{border-color:#4a525d;transform:translateY(-2px)}.fm-tile:focus-visible{outline:none}.fm-tile:focus-visible .fm-thumb{outline:2px solid var(--accent);outline-offset:2px}
.fm-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fm-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 55%,#000a);pointer-events:none}
.fm-thumb-empty{position:absolute;inset:0;display:grid;place-items:center}.fm-thumb-empty svg{width:34px;height:34px;opacity:.75}
.fm-thumb-idea{background:radial-gradient(120% 80% at 30% 15%,#ffcf6b26,#0000 60%),var(--card2);color:#ffcf6b}
.fm-thumb-upload{background:radial-gradient(120% 80% at 30% 15%,#8fb8ff24,#0000 60%),var(--card2);color:#8fb8ff}
.fm-thumb .fm-kind{position:absolute;top:10px;left:10px;z-index:1;backdrop-filter:blur(8px);background:#080a0db3}
.fm-status{position:absolute;left:10px;bottom:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:4px 9px;border-radius:999px;font-size:11px;font-weight:650;color:#e4e7eb;background:#080a0dcc;backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-status::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:#6b737d}
.fm-status-ok::before{background:var(--ok)}.fm-status-bad{color:#ffb3ae}.fm-status-bad::before{background:#f2645f}.fm-status-ready::before{background:var(--accent)}
.fm-status-busy::before{background:var(--accent);animation:fm-pulse 1.4s ease-in-out infinite}
@keyframes fm-pulse{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.fm-status-busy::before{animation:none}.fm-tile:hover .fm-thumb{transform:none}}
.fm-tile strong{font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fm-tile time{font-size:12px;color:var(--muted)}
@media(max-width:700px){.fm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.fm-recent{margin-top:40px}}
/* Returning creators: a tighter start so their projects sit higher on the page. */
.is-returning .fm-hero{margin-bottom:24px}.is-returning .fm-hero h1{font-size:34px;margin-bottom:8px}.is-returning .fm-hero p{font-size:15px}
.is-returning .fm-choice{min-height:220px;padding:22px}.is-returning .fm-recent{margin-top:44px}

/* Project tabs (Step · Chat · Video), shown at 1024px and below. */
.fm-tabs{display:none;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.fm-tabs button{flex:1;position:relative;padding:9px 12px;border:0;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.fm-tabs button[aria-selected=true]{background:#ffffff14;color:var(--ink)}.fm-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.fm-tabs button[data-new]::after{content:'';position:absolute;top:8px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
@media(max-width:1024px){.fm-tabs{display:flex}}
/* Voice, song and caption fold away under the hook and script. */
.fm-more{border:1px solid var(--line);border-radius:12px;background:#ffffff05}
.fm-more>summary{display:flex;align-items:baseline;gap:10px;padding:14px 16px;cursor:pointer;list-style:none;font-size:13px}.fm-more>summary::-webkit-details-marker{display:none}
.fm-more>summary small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
.fm-more>summary::after{content:'';flex:none;align-self:center;margin-left:auto;width:7px;height:7px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:translateY(-2px) rotate(45deg)}
.fm-more[open]>summary{border-bottom:1px solid var(--line)}.fm-more[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.fm-more>:not(summary){margin:16px}.fm-more>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--muted)}
.fm-idea-hint{color:var(--muted);font-size:12px}
.fm-form.is-pending{cursor:progress}
