:root{
  --ppfl-red:#CD542F;--ppfl-paper:#F5F1EC;--ppfl-ink:#111315;--ppfl-panel:#171A1C;--ppfl-panel2:#202427;
  --ppfl-line:rgba(245,241,236,.13);--ppfl-muted:rgba(245,241,236,.55);--ppfl-moss:#5F6F52;--ppfl-moss2:#748465;
  --ppfl-sans:'Helvetica Neue',Helvetica,Arial,'Liberation Sans',sans-serif;--ppfl-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
body.pp-filmlab-page .entry-header,body.pp-filmlab-page .hero-section,body.pp-filmlab-page .page-title{display:none!important}
body.pp-filmlab-page .site-main,body.pp-filmlab-page .content-area,body.pp-filmlab-page .ct-container-full{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.ppfl{min-height:100vh;padding:120px 18px 84px;background:#111315;color:var(--ppfl-paper);font-family:var(--ppfl-sans);overflow-x:hidden}
.ppfl *{box-sizing:border-box}.ppfl button,.ppfl input,.ppfl select,.ppfl textarea{font:inherit}.ppfl button{cursor:pointer}
.ppfl-hero{width:min(1700px,100%);margin:0 auto 24px;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:34px;align-items:end;padding:0 2px}
.ppfl-kicker{display:block;color:var(--ppfl-red);font:800 9px/1 var(--ppfl-mono);letter-spacing:.13em;text-transform:uppercase}
.ppfl-hero h1{margin:12px 0 18px;max-width:980px;font:800 clamp(58px,7vw,124px)/.82 var(--ppfl-sans);letter-spacing:-.073em}
.ppfl-hero p{max-width:760px;margin:0;color:var(--ppfl-muted);font-size:15px;line-height:1.55}
.ppfl-hero__meta{justify-self:end;width:220px;padding:14px;border-top:1px solid var(--ppfl-line);border-bottom:1px solid var(--ppfl-line);display:grid;grid-template-columns:1fr auto;gap:7px 12px}
.ppfl-hero__meta span,.ppfl-hero__meta small{font:800 7px/1.2 var(--ppfl-mono);letter-spacing:.1em;color:var(--ppfl-muted)}
.ppfl-hero__meta b{font:900 11px/1 var(--ppfl-mono);color:var(--ppfl-moss2)}.ppfl-hero__meta small{grid-column:1/-1}
.ppfl-app{width:min(1780px,100%);min-height:860px;margin:0 auto;display:grid;grid-template-columns:78px minmax(320px,370px) minmax(0,1fr) 248px;border:1px solid var(--ppfl-line);border-radius:16px;overflow:hidden;background:#141617;box-shadow:0 36px 110px rgba(0,0,0,.28)}
.ppfl-rail{display:flex;flex-direction:column;background:#0D0F10;border-right:1px solid var(--ppfl-line)}
.ppfl-rail button{min-height:78px;border:0;border-bottom:1px solid rgba(245,241,236,.08);background:transparent;color:var(--ppfl-muted);display:grid;place-items:center;align-content:center;gap:7px;transition:.2s ease}
.ppfl-rail button span{font:800 7px/1 var(--ppfl-mono);color:rgba(245,241,236,.3)}.ppfl-rail button b{font:800 8px/1 var(--ppfl-mono);text-transform:uppercase;letter-spacing:.03em}
.ppfl-rail button:hover{background:#171A1C;color:#fff}.ppfl-rail button.is-active{background:var(--ppfl-red);color:#111}.ppfl-rail button.is-active span{color:rgba(17,17,17,.55)}
.ppfl-controls{min-width:0;border-right:1px solid var(--ppfl-line);background:#121415}.ppfl-controls__scroll{height:860px;overflow:auto;padding:18px;scrollbar-width:thin;scrollbar-color:#34383a transparent}
.ppfl-core-idea{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--ppfl-line)}.ppfl-core-idea>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.ppfl-core-idea span,.ppfl-core-idea small{font:800 7.5px/1 var(--ppfl-mono);letter-spacing:.09em;color:var(--ppfl-muted)}
.ppfl-core-idea textarea{width:100%;min-height:145px;padding:13px;border:1px solid var(--ppfl-line);border-radius:10px;background:#1B1E20;color:#fff;resize:vertical;outline:0;font:600 14px/1.45 var(--ppfl-sans)}.ppfl-core-idea textarea:focus{border-color:var(--ppfl-red);box-shadow:0 0 0 3px rgba(205,84,47,.11)}
.ppfl-panel{display:none}.ppfl-panel.is-active{display:block}.ppfl-panel>header{margin-bottom:18px}.ppfl-panel>header span{color:var(--ppfl-red);font:800 7.5px/1 var(--ppfl-mono);letter-spacing:.1em}.ppfl-panel>header h2{margin:8px 0 8px;font:800 30px/.9 var(--ppfl-sans);letter-spacing:-.055em}.ppfl-panel>header p{margin:0;color:var(--ppfl-muted);font-size:11px;line-height:1.5}
.ppfl-field{display:grid;gap:7px;margin-bottom:12px}.ppfl-field>span,.ppfl-range>span b{font:800 7.5px/1 var(--ppfl-mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(245,241,236,.68)}
.ppfl-field select,.ppfl-recipe-save input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--ppfl-line);border-radius:9px;background:#202326;color:#fff;outline:0;font-size:12px}.ppfl-field select:focus,.ppfl-recipe-save input:focus{border-color:var(--ppfl-red)}
.ppfl-toggle{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:12px 0;padding:12px;border:1px solid var(--ppfl-line);border-radius:10px;background:#191C1E}.ppfl-toggle input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--ppfl-red)}.ppfl-toggle span{display:grid;gap:4px}.ppfl-toggle b{font-size:11px}.ppfl-toggle small{color:var(--ppfl-muted);font-size:9px;line-height:1.35}.ppfl-toggle--lock:has(input:checked){border-color:rgba(205,84,47,.55);box-shadow:inset 3px 0 0 var(--ppfl-red)}
.ppfl-range{display:grid;gap:8px;margin:13px 0}.ppfl-range>span{display:flex;justify-content:space-between;gap:10px}.ppfl-range output{font:800 9px/1 var(--ppfl-mono);color:var(--ppfl-red)}.ppfl-range input[type=range]{width:100%;accent-color:var(--ppfl-red)}
.ppfl-film-card{margin:14px 0;padding:14px;border:1px solid var(--ppfl-line);border-radius:11px;background:#0F1112}.ppfl-film-card>span{font:800 7px/1 var(--ppfl-mono);letter-spacing:.11em;color:var(--ppfl-red)}.ppfl-film-card h3{margin:8px 0 12px;font:800 21px/.95 var(--ppfl-sans);letter-spacing:-.035em}.ppfl-film-card dl{margin:0;display:grid;gap:8px}.ppfl-film-card dl>div{display:grid;grid-template-columns:72px 1fr;gap:10px;padding-top:8px;border-top:1px solid rgba(245,241,236,.08)}.ppfl-film-card dt{font:800 7px/1.2 var(--ppfl-mono);color:var(--ppfl-muted)}.ppfl-film-card dd{margin:0;font-size:9px;line-height:1.42;color:rgba(245,241,236,.8)}
.ppfl-seq-count{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}.ppfl-seq-count button{min-height:40px;border:1px solid var(--ppfl-line);border-radius:8px;background:#1A1D1F;color:var(--ppfl-muted);font:800 8px/1 var(--ppfl-mono)}.ppfl-seq-count button.is-active{background:var(--ppfl-red);border-color:var(--ppfl-red);color:#111}
.ppfl-upload{position:relative;display:block;margin-top:14px}.ppfl-upload>span{display:block;margin-bottom:7px;font:800 7px/1 var(--ppfl-mono);letter-spacing:.08em;color:var(--ppfl-muted)}.ppfl-upload>div{min-height:108px;padding:15px;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed rgba(245,241,236,.22);border-radius:10px;background:#181B1D;text-align:center;overflow:hidden}.ppfl-upload>div b{font-size:11px}.ppfl-upload>div small{max-width:220px;color:var(--ppfl-muted);font-size:9px;line-height:1.35}.ppfl-upload>div img{width:100%;height:110px;object-fit:cover;border-radius:7px}.ppfl-upload input{position:absolute;inset:20px 0 0;opacity:0;cursor:pointer}
.ppfl-beats{display:grid;gap:7px}.ppfl-beat{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:10px;border:1px solid var(--ppfl-line);border-radius:9px;background:#1A1D1F}.ppfl-beat span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#25292B;font:800 7px/1 var(--ppfl-mono);color:var(--ppfl-red)}.ppfl-beat b{align-self:center;font-size:10px;line-height:1.35}
.ppfl-grade-triplet{padding-top:2px}.ppfl-recipe-save{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.ppfl-recipe-save button{border:0;border-radius:8px;padding:0 12px;background:var(--ppfl-red);color:#111;font:800 7px/1 var(--ppfl-mono)}.ppfl-recipe-list{display:grid;gap:8px}.ppfl-recipe-list>p{color:var(--ppfl-muted);font-size:10px}.ppfl-recipe{padding:11px;border:1px solid var(--ppfl-line);border-radius:9px;background:#191C1E;display:grid;grid-template-columns:1fr auto;gap:8px}.ppfl-recipe b{font-size:10px}.ppfl-recipe small{display:block;margin-top:4px;color:var(--ppfl-muted);font:700 7px/1.3 var(--ppfl-mono)}.ppfl-recipe__actions{display:flex;gap:5px}.ppfl-recipe button{width:30px;height:30px;border:1px solid var(--ppfl-line);border-radius:7px;background:#222628;color:#fff}
.ppfl-stage{position:relative;min-width:0;background:#1B1E20;display:grid;grid-template-rows:54px minmax(0,1fr) auto auto auto}.ppfl-stagebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--ppfl-line);background:#16191A}.ppfl-stagebar>div:first-child{display:flex;align-items:center;gap:9px}.ppfl-stagebar span{font:800 7px/1 var(--ppfl-mono);color:var(--ppfl-red)}.ppfl-stagebar b{font:800 9px/1 var(--ppfl-mono)}.ppfl-stagebar__actions{display:flex;gap:6px}.ppfl-stagebar__actions button{min-height:32px;padding:0 10px;border:1px solid var(--ppfl-line);border-radius:7px;background:#202426;color:#fff;font:800 7px/1 var(--ppfl-mono);text-transform:uppercase}.ppfl-stagebar__actions button:hover{border-color:rgba(245,241,236,.32);background:#292E30}
.ppfl-preview-wrap{min-height:420px;padding:18px;display:grid;place-items:center;background:radial-gradient(circle at 48% 38%,rgba(205,84,47,.08),transparent 38%),#24282A}.ppfl-preview{position:relative;width:min(100%,980px);max-height:570px;aspect-ratio:var(--ppfl-ratio,2.39/1);overflow:hidden;border:1px solid rgba(245,241,236,.18);border-radius:11px;background:#0A0B0C;box-shadow:0 28px 70px rgba(0,0,0,.28)}.ppfl-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#080909}.ppfl-preview__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:clamp(24px,5vw,62px);background:linear-gradient(135deg,#0C0E0F 0%,#15191B 55%,#1D1B19 100%)}.ppfl-preview__empty span{font:800 8px/1 var(--ppfl-mono);letter-spacing:.1em;color:var(--ppfl-red)}.ppfl-preview__empty strong{max-width:650px;margin:12px 0 10px;font:800 clamp(40px,5vw,82px)/.83 var(--ppfl-sans);letter-spacing:-.07em}.ppfl-preview__empty p{max-width:510px;margin:0;color:var(--ppfl-muted);font-size:11px;line-height:1.5}.ppfl-preview__grid{position:absolute;inset:0;z-index:4;pointer-events:none}.ppfl-preview__grid i{position:absolute;background:rgba(245,241,236,.16)}.ppfl-preview__grid i:nth-child(1),.ppfl-preview__grid i:nth-child(2){top:0;bottom:0;width:1px}.ppfl-preview__grid i:nth-child(1){left:33.333%}.ppfl-preview__grid i:nth-child(2){left:66.666%}.ppfl-preview__grid i:nth-child(3),.ppfl-preview__grid i:nth-child(4){left:0;right:0;height:1px}.ppfl-preview__grid i:nth-child(3){top:33.333%}.ppfl-preview__grid i:nth-child(4){top:66.666%}.ppfl-preview__grid.is-hidden{display:none}
.ppfl-timeline{min-height:126px;padding:12px 14px;display:grid;grid-template-columns:repeat(5,minmax(95px,1fr));gap:8px;border-top:1px solid var(--ppfl-line);border-bottom:1px solid var(--ppfl-line);background:#151819;overflow-x:auto}.ppfl-frame{position:relative;min-width:95px;min-height:100px;border:1px solid var(--ppfl-line);border-radius:9px;background:#0F1112;overflow:hidden;color:#fff;text-align:left}.ppfl-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ppfl-frame>span{position:absolute;left:7px;top:7px;z-index:2;padding:5px 6px;border-radius:5px;background:rgba(0,0,0,.68);font:800 6px/1 var(--ppfl-mono)}.ppfl-frame>small{position:absolute;left:7px;right:7px;bottom:7px;z-index:2;padding:5px 6px;border-radius:5px;background:rgba(0,0,0,.68);font:700 6px/1.2 var(--ppfl-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppfl-frame.is-active{border-color:var(--ppfl-red);box-shadow:0 0 0 2px rgba(205,84,47,.18)}.ppfl-frame.is-loading:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#111 20%,#25292B 50%,#111 80%);background-size:200% 100%;animation:ppflLoad 1.25s linear infinite}@keyframes ppflLoad{to{background-position:-200% 0}}
.ppfl-outputbar{min-height:68px;padding:10px 14px;display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(230px,300px);gap:10px;align-items:stretch;background:#101213}.ppfl-model-select{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center}.ppfl-model-select span,.ppfl-credit span,.ppfl-credit small{font:800 6.5px/1 var(--ppfl-mono);color:var(--ppfl-muted);letter-spacing:.08em}.ppfl-model-select select{min-height:44px;border:1px solid var(--ppfl-line);border-radius:8px;background:#1D2022;color:#fff;padding:0 10px;font-size:10px}.ppfl-credit{min-width:76px;padding:7px 10px;border:1px solid var(--ppfl-line);border-radius:8px;display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 7px}.ppfl-credit b{font-size:18px}.ppfl-credit small{grid-column:1/-1}.ppfl-generate{border:0;border-radius:9px;background:var(--ppfl-red);color:#111;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:0 14px;text-align:left;transition:.2s ease}.ppfl-generate span{font:900 9px/1 var(--ppfl-mono)}.ppfl-generate b{font:800 7px/1 var(--ppfl-mono);opacity:.68}.ppfl-generate i{font-style:normal;font-size:18px}.ppfl-generate:hover{transform:translateY(-1px);background:#DA633F;box-shadow:0 12px 30px rgba(205,84,47,.18)}.ppfl-generate:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.ppfl-prompt-drawer{border-top:1px solid var(--ppfl-line);background:#0C0E0F}.ppfl-prompt-drawer>button{width:100%;min-height:42px;padding:0 14px;border:0;background:transparent;color:#fff;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left}.ppfl-prompt-drawer>button span{font:800 7px/1 var(--ppfl-mono);color:var(--ppfl-red)}.ppfl-prompt-drawer>button b{font-size:9px}.ppfl-prompt-drawer>button i{font-style:normal}.ppfl-prompt-drawer pre{display:none;max-height:280px;overflow:auto;margin:0;padding:16px;border-top:1px solid var(--ppfl-line);white-space:pre-wrap;color:rgba(245,241,236,.78);font:500 9px/1.6 var(--ppfl-mono)}.ppfl-prompt-drawer.is-open pre{display:block}.ppfl-prompt-drawer.is-open>button i{transform:rotate(45deg)}
.ppfl-inspector{padding:16px;background:#0E1011;border-left:1px solid var(--ppfl-line)}.ppfl-inspector>header{display:flex;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--ppfl-line)}.ppfl-inspector>header span{color:var(--ppfl-red);font:800 7px/1 var(--ppfl-mono)}.ppfl-inspector>header b{font:800 7px/1 var(--ppfl-mono);color:var(--ppfl-muted)}.ppfl-influence{display:grid;gap:11px;padding:16px 0}.ppfl-influence>div{display:grid;grid-template-columns:1fr auto;gap:6px 8px}.ppfl-influence span,.ppfl-influence b{font:800 6.5px/1 var(--ppfl-mono)}.ppfl-influence span{color:var(--ppfl-muted)}.ppfl-influence i{grid-column:1/-1;height:3px;background:#24282A;position:relative}.ppfl-influence i:after{content:'';position:absolute;left:0;top:0;bottom:0;width:calc(var(--v,50)*1%);background:var(--ppfl-red)}.ppfl-inspector__rows{display:grid;gap:0;border-top:1px solid var(--ppfl-line)}.ppfl-inspector__rows>div{padding:10px 0;border-bottom:1px solid rgba(245,241,236,.08);display:grid;gap:4px}.ppfl-inspector__rows span{font:800 6.5px/1 var(--ppfl-mono);color:var(--ppfl-muted)}.ppfl-inspector__rows b{font-size:9px;line-height:1.25}.ppfl-continuity{margin-top:16px;padding:12px;border:1px solid rgba(95,111,82,.45);border-radius:9px;background:rgba(95,111,82,.08)}.ppfl-continuity span{font:800 6px/1 var(--ppfl-mono);color:var(--ppfl-moss2)}.ppfl-continuity b{display:block;margin:6px 0;font:800 8px/1 var(--ppfl-mono)}.ppfl-continuity p{margin:0;color:var(--ppfl-muted);font-size:8px;line-height:1.45}
.ppfl-result-actions{position:absolute;z-index:6;right:8px;top:8px;display:flex;gap:5px}.ppfl-result-actions a{min-height:32px;padding:0 9px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(11,13,14,.8);backdrop-filter:blur(8px);color:#fff;text-decoration:none;font:800 6.5px/1 var(--ppfl-mono);text-transform:uppercase}.ppfl-result-actions a[data-ppfl-download]{background:var(--ppfl-moss);border-color:var(--ppfl-moss)}.ppfl-result-actions a:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.42)}.ppfl-result-actions a[data-ppfl-download]:hover{background:var(--ppfl-moss2);box-shadow:0 9px 24px rgba(95,111,82,.24)}
@media(max-width:1450px){.ppfl-app{grid-template-columns:72px minmax(315px,350px) minmax(0,1fr)}.ppfl-inspector{display:none}.ppfl-preview-wrap{padding:14px}}
@media(max-width:1100px){.ppfl{padding-inline:10px}.ppfl-app{grid-template-columns:66px minmax(300px,340px) minmax(0,1fr)}.ppfl-stagebar__actions button:first-child{display:none}.ppfl-outputbar{grid-template-columns:1fr auto}.ppfl-generate{grid-column:1/-1;min-height:50px}.ppfl-credit{grid-column:2}.ppfl-preview-wrap{min-height:360px}.ppfl-controls__scroll{height:820px}}
@media(max-width:820px){.ppfl{padding:96px 0 70px}.ppfl-hero{padding:0 14px;grid-template-columns:1fr}.ppfl-hero__meta{display:none}.ppfl-hero h1{font-size:clamp(50px,14vw,78px)}.ppfl-app{display:flex;flex-direction:column;border-inline:0;border-radius:0}.ppfl-rail{position:sticky;top:0;z-index:20;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--ppfl-line)}.ppfl-rail button{min-width:76px;min-height:58px;border-bottom:0;border-right:1px solid rgba(245,241,236,.08)}.ppfl-controls{border-right:0;border-bottom:1px solid var(--ppfl-line)}.ppfl-controls__scroll{height:auto;max-height:none}.ppfl-stage{min-height:700px}.ppfl-preview-wrap{min-height:300px}.ppfl-preview{width:100%;max-height:none}.ppfl-timeline{grid-template-columns:repeat(5,130px)}.ppfl-outputbar{grid-template-columns:1fr auto;padding:9px}.ppfl-model-select{min-width:0}.ppfl-stagebar__actions button{font-size:6px}}
@media(max-width:520px){.ppfl-hero p{font-size:13px}.ppfl-controls__scroll{padding:14px}.ppfl-panel>header h2{font-size:27px}.ppfl-stagebar{padding:0 9px}.ppfl-stagebar__actions button[data-ppfl-copy-prompt]{display:none}.ppfl-preview-wrap{padding:8px}.ppfl-preview__empty{padding:24px}.ppfl-preview__empty strong{font-size:42px}.ppfl-outputbar{grid-template-columns:1fr}.ppfl-credit{grid-column:1}.ppfl-generate{grid-column:1}.ppfl-recipe-save{grid-template-columns:1fr}.ppfl-recipe-save button{min-height:40px}.ppfl-film-card dl>div{grid-template-columns:1fr}.ppfl-stage{min-height:640px}}
@media(prefers-reduced-motion:reduce){.ppfl *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* 0.13.2 — FilmLab full-width + premium readable controls */
body.pp-filmlab-page .ct-container,
body.pp-filmlab-page .ct-container-full,
body.pp-filmlab-page .ct-container-narrow,
body.pp-filmlab-page .content-area,
body.pp-filmlab-page .site-main,
body.pp-filmlab-page .entry-content,
body.pp-filmlab-page .post-content,
body.pp-filmlab-page .article-container,
body.pp-filmlab-page article,
body.pp-filmlab-page .hero-section,
body.pp-filmlab-page [class*="container"]{
  max-width:none!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.pp-filmlab-page .pp-global-shell,
body.pp-filmlab-page .pp-page-wrap,
body.pp-filmlab-page .site-content{
  width:100%!important;
  max-width:none!important;
}
.ppfl{
  padding:112px 20px 26px!important;
}
.ppfl-hero,
.ppfl-app{
  width:100%!important;
  max-width:none!important;
}
.ppfl-hero{
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:44px!important;
  margin:0 0 28px!important;
  padding:0 4px!important;
}
.ppfl-hero h1{font-size:clamp(70px,6.4vw,130px)!important;max-width:1120px!important}
.ppfl-hero p{font-size:16px!important;max-width:840px!important}
.ppfl-hero__meta{width:100%!important;max-width:300px!important;padding:18px!important}
.ppfl-app{
  min-height:calc(100vh - 210px)!important;
  grid-template-columns:92px minmax(430px,500px) minmax(0,1fr) 286px!important;
  border-radius:18px!important;
}
.ppfl-rail button{min-height:92px!important}
.ppfl-rail button span{font-size:8px!important}
.ppfl-rail button b{font-size:11px!important;letter-spacing:.08em!important}
.ppfl-controls__scroll{
  height:calc(100vh - 240px)!important;
  min-height:900px!important;
  padding:24px!important;
}
.ppfl-panel>header{margin-bottom:22px!important}
.ppfl-panel>header span,.ppfl-core-idea span,.ppfl-core-idea small{font-size:9px!important;letter-spacing:.12em!important}
.ppfl-panel>header h2{font-size:38px!important;line-height:.92!important}
.ppfl-panel>header p{font-size:13px!important;line-height:1.55!important;max-width:42ch}
.ppfl-core-idea textarea{
  min-height:164px!important;
  padding:16px!important;
  border-radius:14px!important;
  font-size:16px!important;
}
.ppfl-field{position:relative!important;gap:10px!important;margin-bottom:16px!important}
.ppfl-field>span,
.ppfl-range>span b,
.ppfl-upload>span,
.ppfl-toggle b,
.ppfl-model-select span,
.ppfl-credit span,
.ppfl-credit small,
.ppfl-influence span,
.ppfl-inspector__rows span,
.ppfl-continuity span,
.ppfl-inspector>header span,
.ppfl-inspector>header b,
.ppfl-stagebar span,
.ppfl-stagebar b,
.ppfl-preview__empty span,
.ppfl-prompt-drawer>button span,
.ppfl-prompt-drawer>button b,
.ppfl-film-card>span,
.ppfl-film-card dt,
.ppfl-outputbar b,
.ppfl-upload>div small,
.ppfl-recipe small,
.ppfl-beat span,
.ppfl-seq-count button,
.ppfl-result-actions a{
  letter-spacing:.08em!important;
}
.ppfl-field>span,
.ppfl-range>span b,
.ppfl-upload>span{font-size:10px!important;color:rgba(245,241,236,.74)!important}
.ppfl-field select,
.ppfl-select-trigger,
.ppfl-recipe-save input,
.ppfl-model-select select{
  width:100%!important;
  min-height:58px!important;
  padding:0 18px!important;
  border:1px solid rgba(245,241,236,.14)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#24282b 0%,#1a1e21 100%)!important;
  color:#F5F1EC!important;
  font:700 16px/1.2 var(--ppfl-sans)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.ppfl-field select:focus,
.ppfl-select-trigger:focus,
.ppfl-select-trigger[aria-expanded='true'],
.ppfl-recipe-save input:focus,
.ppfl-model-select select:focus{
  border-color:rgba(205,84,47,.78)!important;
  box-shadow:0 0 0 4px rgba(205,84,47,.12)!important;
  outline:none!important;
}
.ppfl-field select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important}
.ppfl-field select::-ms-expand{display:none}
.ppfl-native-select{position:absolute!important;opacity:0!important;pointer-events:none!important}
.ppfl-select-trigger{
  position:relative!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.ppfl-select-trigger::after{
  content:'';
  position:absolute;
  right:18px;
  top:50%;
  width:10px;
  height:10px;
  margin-top:-7px;
  border-right:2px solid rgba(245,241,236,.72);
  border-bottom:2px solid rgba(245,241,236,.72);
  transform:rotate(45deg);
  pointer-events:none;
}
.ppfl-select-trigger:hover{border-color:rgba(245,241,236,.26)!important;background:linear-gradient(180deg,#272c30 0%,#1d2124 100%)!important}
.ppfl-select-trigger[aria-expanded='true']::after{transform:rotate(225deg);margin-top:-1px}
.ppfl-select-trigger > span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:18px}
.ppfl-select-portal{
  position:fixed;
  z-index:999999;
  width:min(560px,calc(100vw - 24px));
  max-height:min(72vh,720px);
  border:1px solid rgba(245,241,236,.14);
  border-radius:16px;
  overflow:hidden;
  background:#101213;
  box-shadow:0 30px 80px rgba(0,0,0,.46);
}
.ppfl-select-portal[hidden]{display:none!important}
.ppfl-select-portal__head{
  min-height:64px;
  padding:0 16px 0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(245,241,236,.08);
  background:#15181a;
}
.ppfl-select-portal__head b{font:800 12px/1 var(--ppfl-mono);letter-spacing:.08em;color:#F5F1EC}
.ppfl-select-portal__head button{
  width:36px;height:36px;border:1px solid rgba(245,241,236,.12);border-radius:10px;
  background:#202427;color:#fff;font:800 14px/1 var(--ppfl-mono)
}
.ppfl-select-portal__head button:hover{background:#292d31}
.ppfl-select-portal__list{max-height:calc(min(72vh,720px) - 64px);overflow:auto;padding:10px}
.ppfl-select-option{
  width:100%;
  min-height:56px;
  padding:0 16px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#F5F1EC;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  font:700 15px/1.2 var(--ppfl-sans);
}
.ppfl-select-option::after{content:'';width:18px;height:18px;border-radius:50%;border:1px solid rgba(245,241,236,.16);opacity:.55;flex:0 0 auto}
.ppfl-select-option:hover,.ppfl-select-option:focus-visible{background:#1E2225;outline:0}
.ppfl-select-option.is-selected,.ppfl-select-option.is-selected:hover,.ppfl-select-option.is-selected:focus-visible{background:#CD542F;color:#fff}
.ppfl-select-option.is-selected::after{content:'✓';display:grid;place-items:center;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.14);font:900 11px/1 var(--ppfl-mono);opacity:1}
.ppfl-toggle{
  grid-template-columns:24px 1fr!important;
  gap:12px!important;
  padding:15px 16px!important;
  border-radius:14px!important;
}
.ppfl-toggle input{width:18px!important;height:18px!important;margin-top:2px!important}
.ppfl-toggle b{font-size:15px!important}
.ppfl-toggle small{font-size:11px!important;line-height:1.45!important}
.ppfl-range{gap:10px!important;margin:16px 0!important}
.ppfl-range output{font-size:11px!important}
.ppfl-film-card{padding:18px!important;border-radius:14px!important}
.ppfl-film-card h3{font-size:28px!important;line-height:.98!important}
.ppfl-film-card dd{font-size:12px!important;line-height:1.55!important}
.ppfl-film-card dl>div{grid-template-columns:92px 1fr!important;gap:12px!important;padding-top:10px!important}
.ppfl-seq-count{gap:10px!important;margin-bottom:16px!important}
.ppfl-seq-count button{min-height:46px!important;border-radius:12px!important;font-size:10px!important}
.ppfl-upload>div{min-height:128px!important;border-radius:14px!important}
.ppfl-upload>div b{font-size:15px!important}
.ppfl-upload>div small{font-size:11px!important}
.ppfl-beat{grid-template-columns:44px 1fr!important;gap:12px!important;padding:13px!important;border-radius:12px!important}
.ppfl-beat span{width:38px!important;height:38px!important;font-size:8px!important}
.ppfl-beat b{font-size:13px!important}
.ppfl-recipe-save{gap:10px!important}
.ppfl-recipe-save button{min-height:58px!important;padding:0 18px!important;border-radius:14px!important;font-size:11px!important;letter-spacing:.1em!important}
.ppfl-recipe{padding:14px!important;border-radius:12px!important}
.ppfl-recipe b{font-size:14px!important}
.ppfl-recipe small{font-size:10px!important}
.ppfl-recipe button{width:36px!important;height:36px!important;border-radius:10px!important}
.ppfl-stage{grid-template-rows:62px minmax(0,1fr) auto auto auto!important}
.ppfl-stagebar{padding:0 18px!important}
.ppfl-stagebar b{font-size:11px!important}.ppfl-stagebar span{font-size:8px!important}
.ppfl-stagebar__actions button{min-height:38px!important;padding:0 14px!important;border-radius:10px!important;font-size:10px!important}
.ppfl-preview-wrap{min-height:520px!important;padding:24px!important}
.ppfl-preview{width:100%!important;max-width:none!important;max-height:none!important;border-radius:16px!important}
.ppfl-preview img{object-fit:contain!important}
.ppfl-preview__empty{padding:clamp(28px,4vw,68px)!important}
.ppfl-preview__empty strong{font-size:clamp(54px,5vw,90px)!important}
.ppfl-preview__empty p{font-size:13px!important;max-width:560px!important}
.ppfl-timeline{min-height:148px!important;padding:14px 18px!important;grid-template-columns:repeat(5,minmax(120px,1fr))!important;gap:10px!important}
.ppfl-frame{min-height:116px!important;border-radius:12px!important}
.ppfl-frame>span,.ppfl-frame>small{font-size:8px!important}
.ppfl-outputbar{
  min-height:82px!important;
  padding:12px 18px!important;
  grid-template-columns:minmax(260px,1fr) auto minmax(260px,340px)!important;
  gap:12px!important;
}
.ppfl-model-select select{font-size:15px!important;min-height:52px!important}
.ppfl-credit{padding:10px 14px!important;border-radius:12px!important;min-width:94px!important}
.ppfl-credit b{font-size:24px!important}
.ppfl-generate{border-radius:14px!important;padding:0 18px!important}
.ppfl-generate span{font-size:11px!important;letter-spacing:.08em!important}
.ppfl-generate b{font-size:9px!important}.ppfl-generate i{font-size:20px!important}
.ppfl-prompt-drawer>button{min-height:50px!important;padding:0 18px!important}
.ppfl-prompt-drawer pre{padding:18px!important;font-size:11px!important;line-height:1.7!important}
.ppfl-inspector{padding:18px!important}
.ppfl-influence span,.ppfl-influence b,.ppfl-inspector__rows span,.ppfl-continuity span,.ppfl-continuity b{font-size:9px!important}
.ppfl-inspector__rows b{font-size:12px!important;line-height:1.35!important}
.ppfl-continuity{padding:15px!important;border-radius:12px!important}
.ppfl-continuity p{font-size:11px!important;line-height:1.55!important}
.ppfl-result-actions{right:12px!important;top:12px!important;gap:8px!important}
.ppfl-result-actions a{min-height:36px!important;padding:0 12px!important;border-radius:10px!important;font-size:8px!important}
@media(max-width:1560px){
  .ppfl-app{grid-template-columns:82px minmax(390px,460px) minmax(0,1fr) 272px!important}
}
@media(max-width:1280px){
  .ppfl-app{grid-template-columns:76px minmax(360px,420px) minmax(0,1fr)!important}
  .ppfl-inspector{display:none!important}
}
@media(max-width:980px){
  .ppfl{padding:98px 0 24px!important}
  .ppfl-hero{padding:0 16px!important;grid-template-columns:1fr!important;gap:20px!important}
  .ppfl-hero h1{font-size:clamp(54px,11vw,88px)!important}
  .ppfl-app{display:flex!important;flex-direction:column!important;border-left:0!important;border-right:0!important;border-radius:0!important}
  .ppfl-controls__scroll{height:auto!important;min-height:0!important;padding:18px!important}
  .ppfl-preview-wrap{padding:14px!important;min-height:380px!important}
  .ppfl-outputbar{grid-template-columns:1fr auto!important}
  .ppfl-generate{grid-column:1/-1;min-height:56px!important}
}
@media(max-width:640px){
  .ppfl-field select,.ppfl-select-trigger,.ppfl-recipe-save input,.ppfl-model-select select{min-height:54px!important;font-size:15px!important}
  .ppfl-panel>header h2{font-size:32px!important}
  .ppfl-outputbar{grid-template-columns:1fr!important}
  .ppfl-credit{grid-column:1!important}
  .ppfl-generate{grid-column:1!important}
  .ppfl-preview__empty strong{font-size:46px!important}
  .ppfl-select-portal{width:calc(100vw - 16px)!important}
}


/* 0.13.3 — hard full-bleed FilmLab breakout from Blocksy/content containers */
html:has(body.pp-filmlab-page),
body.pp-filmlab-page{
  overflow-x:clip!important;
  background:#111315!important;
}
body.pp-filmlab-page #main,
body.pp-filmlab-page .site-main,
body.pp-filmlab-page .site-content,
body.pp-filmlab-page .content-area,
body.pp-filmlab-page .entry-content,
body.pp-filmlab-page .ct-container,
body.pp-filmlab-page .ct-container-full,
body.pp-filmlab-page .ct-container-narrow,
body.pp-filmlab-page .ct-content,
body.pp-filmlab-page .content-container,
body.pp-filmlab-page .page-content,
body.pp-filmlab-page .post-content,
body.pp-filmlab-page article,
body.pp-filmlab-page .entries,
body.pp-filmlab-page .entry-card,
body.pp-filmlab-page .wp-block-group,
body.pp-filmlab-page .wp-block-post-content{
  max-width:none!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  overflow:visible!important;
}
body.pp-filmlab-page .ppfl{
  position:relative!important;
  left:50%!important;
  right:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  padding-left:clamp(16px,1.5vw,30px)!important;
  padding-right:clamp(16px,1.5vw,30px)!important;
}
body.pp-filmlab-page .ppfl-hero,
body.pp-filmlab-page .ppfl-app{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.pp-filmlab-page .ppfl-app{
  grid-template-columns:96px minmax(430px,500px) minmax(0,1fr) 300px!important;
}
@media(max-width:1560px){
  body.pp-filmlab-page .ppfl-app{grid-template-columns:86px minmax(400px,460px) minmax(0,1fr) 280px!important}
}
@media(max-width:1280px){
  body.pp-filmlab-page .ppfl-app{grid-template-columns:78px minmax(360px,430px) minmax(0,1fr)!important}
}
@media(max-width:980px){
  body.pp-filmlab-page .ppfl{
    left:50%!important;
    width:100vw!important;
    max-width:100vw!important;
    margin-left:-50vw!important;
    margin-right:-50vw!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* =====================================================================
   0.14.0 — FilmLab hero video, image-to-scene, video engine, light/dark UI
   ===================================================================== */

/* Hero: cinematic visual first, controls second. */
.ppfl-hero{
  position:relative!important;
  display:block!important;
  min-height:clamp(430px,58vh,690px)!important;
  margin:0 0 26px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(245,241,236,.14)!important;
  border-radius:20px!important;
  background:#0a0b0c!important;
  isolation:isolate;
}
.ppfl-hero__media,.ppfl-hero__shade,.ppfl-hero__fallback{position:absolute;inset:0}
.ppfl-hero__media video,.ppfl-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.92) contrast(1.04)}
.ppfl-hero__shade{z-index:2;background:linear-gradient(90deg,rgba(8,9,10,.8) 0%,rgba(8,9,10,.45) 48%,rgba(8,9,10,.14) 74%,rgba(8,9,10,.36) 100%),linear-gradient(0deg,rgba(8,9,10,.72),transparent 55%)}
.ppfl-hero__overlay{position:absolute;z-index:3;left:clamp(24px,4.2vw,78px);bottom:clamp(28px,5vw,70px);max-width:min(880px,72vw);color:#F5F1EC}
.ppfl-hero__overlay .ppfl-kicker{font-size:9px!important;letter-spacing:.16em!important;color:#E17758!important}
.ppfl-hero__overlay h1{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  margin:12px 0 20px!important;
  max-width:none!important;
  color:#F5F1EC!important;
  font:850 clamp(84px,11vw,188px)/.78 var(--ppfl-sans)!important;
  letter-spacing:-.085em!important;
  white-space:nowrap!important;
  text-shadow:0 12px 42px rgba(0,0,0,.25);
}
.ppfl-hero__overlay h1 span{display:inline-block;will-change:transform,opacity,clip-path;animation:ppflHeroReveal 1.15s cubic-bezier(.16,1,.3,1) both}
.ppfl-hero__overlay h1 span+span{animation-delay:.13s}
.ppfl-hero__overlay h1 span:last-child{color:#F5F1EC;position:relative}
.ppfl-hero__overlay h1 span:last-child::after{content:'';position:absolute;left:6%;right:-4%;bottom:-10px;height:5px;background:#CD542F;transform-origin:left;animation:ppflHeroLine 1.1s .72s cubic-bezier(.16,1,.3,1) both}
.ppfl-hero__overlay p{max-width:760px!important;margin:0!important;color:rgba(245,241,236,.86)!important;font-size:clamp(15px,1.25vw,20px)!important;line-height:1.55!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.ppfl-hero__tools{position:absolute;z-index:4;right:clamp(18px,2vw,34px);top:clamp(18px,2vw,34px);display:grid;justify-items:end;gap:12px}
.ppfl-theme-toggle{min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(10,12,13,.54);backdrop-filter:blur(14px);color:#fff;display:flex;align-items:center;gap:9px;box-shadow:0 10px 30px rgba(0,0,0,.14);transition:.2s ease}
.ppfl-theme-toggle span{font-size:15px}.ppfl-theme-toggle b{font:800 9px/1 var(--ppfl-mono);letter-spacing:.1em}
.ppfl-theme-toggle:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.4);background:rgba(10,12,13,.74)}
.ppfl-hero__tools .ppfl-hero__meta{width:240px!important;max-width:240px!important;padding:12px 13px!important;border-color:rgba(255,255,255,.2)!important;background:rgba(10,12,13,.38);backdrop-filter:blur(12px);color:#fff}
.ppfl-hero__tools .ppfl-hero__meta span,.ppfl-hero__tools .ppfl-hero__meta small{color:rgba(255,255,255,.62)!important}
.ppfl-hero__fallback{overflow:hidden;background:radial-gradient(circle at 72% 32%,rgba(205,84,47,.24),transparent 28%),linear-gradient(118deg,#202529,#0c0e0f 54%,#2a211d)}
.ppfl-hero__fallback::before{content:'';position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.06) 35%,transparent 52%);animation:ppflHeroSweep 7s linear infinite}
.ppfl-hero__fallback i{position:absolute;display:block;border:1px solid rgba(245,241,236,.11);background:rgba(245,241,236,.025);box-shadow:0 25px 80px rgba(0,0,0,.22);animation:ppflFrameDrift 9s ease-in-out infinite alternate}
.ppfl-hero__fallback i:nth-child(1){width:38%;height:58%;left:53%;top:16%;transform:rotate(-4deg)}
.ppfl-hero__fallback i:nth-child(2){width:22%;height:42%;left:72%;top:38%;transform:rotate(6deg);animation-delay:-2s}
.ppfl-hero__fallback i:nth-child(3){width:28%;height:30%;left:36%;top:48%;transform:rotate(3deg);animation-delay:-4s}
.ppfl-hero__fallback i:nth-child(4){width:14%;height:22%;left:88%;top:8%;transform:rotate(-8deg);animation-delay:-6s}
@keyframes ppflHeroReveal{0%{opacity:0;transform:translateY(45%) rotate(1.2deg);clip-path:inset(100% 0 0 0)}100%{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}
@keyframes ppflHeroLine{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes ppflHeroSweep{to{transform:translateX(36%)}}
@keyframes ppflFrameDrift{to{transform:translate3d(12px,-9px,0) rotate(-1deg)}}

/* Source image is a first-class input, not a hidden utility field. */
.ppfl-source-card{margin:0 0 22px;padding:16px;border:1px solid rgba(205,84,47,.28);border-radius:16px;background:linear-gradient(145deg,rgba(205,84,47,.08),rgba(245,241,236,.025));box-shadow:inset 3px 0 0 rgba(205,84,47,.78)}
.ppfl-source-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ppfl-source-card__head span{font:800 8px/1 var(--ppfl-mono);letter-spacing:.12em;color:#DF795B}.ppfl-source-card__head b{font-size:13px;color:#F5F1EC}
.ppfl-upload--source{margin:0 0 12px!important}.ppfl-upload--source>div{min-height:150px!important;border-radius:13px!important;background:#0d0f10!important;transition:.2s ease}
.ppfl-upload--source>div:hover{border-color:rgba(205,84,47,.62)!important;background:#121516!important}
.ppfl-upload--source>div img{width:100%;height:150px!important;object-fit:cover!important;border-radius:10px!important}
.ppfl-upload--source>div:has(img){grid-template-columns:132px 1fr;justify-items:start;text-align:left;gap:14px;padding:10px!important}
.ppfl-upload--source>div:has(img) img{width:132px!important;height:110px!important}
.ppfl-upload--source>div>span{display:grid;gap:5px}.ppfl-upload--source>div>span b{font-size:12px!important;color:#F5F1EC}.ppfl-upload--source>div>span small{font-size:10px!important;color:rgba(245,241,236,.55)}
.ppfl-source-clear{width:100%;min-height:40px;border:1px solid var(--ppfl-line);border-radius:10px;background:transparent;color:rgba(245,241,236,.7);font:800 9px/1 var(--ppfl-mono);text-transform:uppercase;letter-spacing:.07em}.ppfl-source-clear:hover{border-color:rgba(205,84,47,.5);color:#fff}
.ppfl-source-hint{margin-top:14px;padding:13px 14px;border:1px solid rgba(95,111,82,.38);border-radius:12px;background:rgba(95,111,82,.07)}
.ppfl-source-hint span{font:800 8px/1 var(--ppfl-mono);letter-spacing:.1em;color:#8D9D7E}.ppfl-source-hint p{margin:7px 0 0;color:var(--ppfl-muted);font-size:11px;line-height:1.5}
.ppfl-preview.is-source-preview::after{content:'STARTBILD';position:absolute;z-index:5;left:12px;top:12px;padding:7px 9px;border-radius:8px;background:rgba(10,12,13,.76);backdrop-filter:blur(10px);color:#fff;font:800 8px/1 var(--ppfl-mono);letter-spacing:.1em}

/* Output mode and video UI. */
.ppfl-stagebar{grid-template-columns:auto 1fr auto}
.ppfl-mode-switch{justify-self:center;display:inline-flex;padding:3px;border:1px solid var(--ppfl-line);border-radius:10px;background:#0e1011}
.ppfl-mode-switch button{min-height:31px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:var(--ppfl-muted);font:800 8px/1 var(--ppfl-mono);letter-spacing:.07em}.ppfl-mode-switch button:hover{color:#fff}.ppfl-mode-switch button.is-active{background:#CD542F;color:#fff;box-shadow:0 5px 18px rgba(205,84,47,.16)}
.ppfl-video-capability{margin:10px 0 15px;padding:15px;border:1px solid rgba(95,111,82,.42);border-radius:14px;background:linear-gradient(145deg,rgba(95,111,82,.1),rgba(245,241,236,.02))}.ppfl-video-capability span{font:800 8px/1 var(--ppfl-mono);letter-spacing:.11em;color:#8D9D7E}.ppfl-video-capability b{display:block;margin:8px 0 6px;font-size:16px}.ppfl-video-capability p{margin:0;color:var(--ppfl-muted);font-size:11px;line-height:1.5}
.ppfl-video-engine-summary{min-width:260px;padding:9px 13px;border:1px solid var(--ppfl-line);border-radius:12px;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-content:center}.ppfl-video-engine-summary span{font:800 7px/1 var(--ppfl-mono);color:#8D9D7E;letter-spacing:.08em}.ppfl-video-engine-summary b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ppfl-video-engine-summary small{grid-column:1/-1;color:var(--ppfl-muted);font:700 8px/1.2 var(--ppfl-mono)}
.ppfl-preview video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#070808;z-index:2}
.ppfl-video-progress{position:absolute;z-index:8;left:50%;bottom:22px;transform:translateX(-50%);width:min(520px,calc(100% - 40px));padding:12px 14px;border:1px solid rgba(255,255,255,.17);border-radius:12px;background:rgba(8,10,11,.82);backdrop-filter:blur(14px);box-shadow:0 18px 42px rgba(0,0,0,.34)}
.ppfl-video-progress>span{display:block;height:4px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.ppfl-video-progress>span i{display:block;width:0;height:100%;background:#CD542F;transition:width .35s ease}.ppfl-video-progress b{display:block;margin-top:9px;color:#fff;font:800 8px/1 var(--ppfl-mono);letter-spacing:.08em;text-align:center}
.ppfl.is-video-mode .ppfl-timeline{display:none!important}.ppfl.is-video-mode .ppfl-stage{grid-template-rows:62px minmax(0,1fr) auto auto!important}
.ppfl.is-video-mode .ppfl-preview-wrap{min-height:620px!important}
.ppfl.is-video-mode .ppfl-outputbar{grid-template-columns:minmax(260px,1fr) auto minmax(280px,360px)!important}
.ppfl [hidden]{display:none!important}

/* Live Compiler: force a legible code surface even if theme/global pre rules exist. */
.ppfl-prompt-drawer{background:#090b0c!important}
.ppfl-prompt-drawer>button{background:#090b0c!important;color:#F5F1EC!important}
.ppfl-prompt-drawer pre,
.ppfl-prompt-drawer pre *{
  background:#0B0D0E!important;
  color:#E9E4DE!important;
  -webkit-text-fill-color:#E9E4DE!important;
  opacity:1!important;
  text-shadow:none!important;
}
.ppfl-prompt-drawer pre{
  min-height:170px!important;
  max-height:420px!important;
  padding:22px 24px!important;
  border-top:1px solid rgba(245,241,236,.12)!important;
  white-space:pre-wrap!important;
  overflow:auto!important;
  font:600 12px/1.75 var(--ppfl-mono)!important;
  letter-spacing:0!important;
  caret-color:#CD542F!important;
}
.ppfl-prompt-drawer pre::selection,.ppfl-prompt-drawer pre *::selection{background:#CD542F!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

/* Disabled provider choices stay visible but never look clickable. */
.ppfl-select-option.is-disabled,.ppfl-select-option:disabled{opacity:.38;cursor:not-allowed!important}.ppfl-select-option.is-disabled::after{display:none}.ppfl-select-trigger.is-disabled{opacity:.55;cursor:not-allowed!important}

/* Explicit FilmLab light theme. Hero itself remains cinematic/dark. */
html[data-pp-theme='light'] body.pp-filmlab-page{background:#F5F1EC!important;color:#111315!important}
html[data-pp-theme='light'] .ppfl{background:#F5F1EC!important;color:#111315!important;--ppfl-paper:#111315;--ppfl-muted:rgba(17,19,21,.58);--ppfl-line:rgba(17,19,21,.14);--ppfl-panel:#fff;--ppfl-panel2:#ECE9E4}
html[data-pp-theme='light'] .ppfl-app{background:#F8F5F0!important;border-color:rgba(17,19,21,.15)!important;box-shadow:0 30px 90px rgba(30,26,22,.1)!important}
html[data-pp-theme='light'] .ppfl-rail{background:#ECE8E2!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-rail button{color:rgba(17,19,21,.58)!important;border-color:rgba(17,19,21,.1)!important}
html[data-pp-theme='light'] .ppfl-rail button span{color:rgba(17,19,21,.4)!important}
html[data-pp-theme='light'] .ppfl-rail button:hover{background:#E1DDD7!important;color:#111!important}
html[data-pp-theme='light'] .ppfl-rail button.is-active{background:#CD542F!important;color:#fff!important}
html[data-pp-theme='light'] .ppfl-rail button.is-active span{color:rgba(255,255,255,.68)!important}
html[data-pp-theme='light'] .ppfl-controls{background:#F8F5F0!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-core-idea textarea,
html[data-pp-theme='light'] .ppfl-recipe-save input,
html[data-pp-theme='light'] .ppfl-field select,
html[data-pp-theme='light'] .ppfl-select-trigger,
html[data-pp-theme='light'] .ppfl-model-select select{background:#fff!important;color:#111315!important;border-color:rgba(17,19,21,.15)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important}
html[data-pp-theme='light'] .ppfl-select-trigger::after{border-color:rgba(17,19,21,.65)!important}
html[data-pp-theme='light'] .ppfl-field>span,html[data-pp-theme='light'] .ppfl-range>span b,html[data-pp-theme='light'] .ppfl-core-idea span,html[data-pp-theme='light'] .ppfl-core-idea small{color:rgba(17,19,21,.62)!important}
html[data-pp-theme='light'] .ppfl-panel>header h2,html[data-pp-theme='light'] .ppfl-source-card__head b,html[data-pp-theme='light'] .ppfl-toggle b,html[data-pp-theme='light'] .ppfl-film-card h3{color:#111315!important}
html[data-pp-theme='light'] .ppfl-panel>header p,html[data-pp-theme='light'] .ppfl-toggle small,html[data-pp-theme='light'] .ppfl-film-card dd,html[data-pp-theme='light'] .ppfl-source-hint p{color:rgba(17,19,21,.58)!important}
html[data-pp-theme='light'] .ppfl-toggle,html[data-pp-theme='light'] .ppfl-film-card,html[data-pp-theme='light'] .ppfl-beat,html[data-pp-theme='light'] .ppfl-recipe,html[data-pp-theme='light'] .ppfl-video-capability{background:#fff!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-source-card{background:linear-gradient(145deg,rgba(205,84,47,.07),#fff)!important;border-color:rgba(205,84,47,.32)!important}
html[data-pp-theme='light'] .ppfl-upload--source>div,html[data-pp-theme='light'] .ppfl-upload>div{background:#F1EEE9!important;border-color:rgba(17,19,21,.18)!important}
html[data-pp-theme='light'] .ppfl-upload--source>div b,html[data-pp-theme='light'] .ppfl-upload>div b{color:#111315!important}
html[data-pp-theme='light'] .ppfl-upload--source>div small,html[data-pp-theme='light'] .ppfl-upload>div small{color:rgba(17,19,21,.55)!important}
html[data-pp-theme='light'] .ppfl-source-clear{color:rgba(17,19,21,.68)!important;border-color:rgba(17,19,21,.15)!important}
html[data-pp-theme='light'] .ppfl-stage{background:#E8E5DF!important}
html[data-pp-theme='light'] .ppfl-stagebar,html[data-pp-theme='light'] .ppfl-outputbar{background:#F7F4EF!important;border-color:rgba(17,19,21,.14)!important;color:#111315!important}
html[data-pp-theme='light'] .ppfl-stagebar__actions button{background:#fff!important;color:#111315!important;border-color:rgba(17,19,21,.15)!important}
html[data-pp-theme='light'] .ppfl-mode-switch{background:#E8E5DF!important;border-color:rgba(17,19,21,.14)!important}
html[data-pp-theme='light'] .ppfl-mode-switch button{color:rgba(17,19,21,.58)!important}html[data-pp-theme='light'] .ppfl-mode-switch button.is-active{color:#fff!important}
html[data-pp-theme='light'] .ppfl-preview-wrap{background:radial-gradient(circle at 48% 38%,rgba(205,84,47,.08),transparent 38%),#DDD9D2!important}
html[data-pp-theme='light'] .ppfl-timeline{background:#EFECE7!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-frame{background:#fff!important;color:#111315!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-credit,html[data-pp-theme='light'] .ppfl-video-engine-summary{background:#fff!important;border-color:rgba(17,19,21,.14)!important;color:#111315!important}
html[data-pp-theme='light'] .ppfl-inspector{background:#F8F5F0!important;border-color:rgba(17,19,21,.13)!important;color:#111315!important}
html[data-pp-theme='light'] .ppfl-inspector__rows,html[data-pp-theme='light'] .ppfl-inspector__rows>div,html[data-pp-theme='light'] .ppfl-inspector>header{border-color:rgba(17,19,21,.1)!important}
html[data-pp-theme='light'] .ppfl-inspector__rows span,html[data-pp-theme='light'] .ppfl-influence span,html[data-pp-theme='light'] .ppfl-continuity p{color:rgba(17,19,21,.55)!important}
html[data-pp-theme='light'] .ppfl-continuity{background:rgba(95,111,82,.08)!important;border-color:rgba(95,111,82,.32)!important}
html[data-pp-theme='light'] .ppfl-prompt-drawer,html[data-pp-theme='light'] .ppfl-prompt-drawer>button{background:#F3F0EB!important;color:#111315!important;border-color:rgba(17,19,21,.12)!important}
html[data-pp-theme='light'] .ppfl-prompt-drawer pre,html[data-pp-theme='light'] .ppfl-prompt-drawer pre *{background:#fff!important;color:#17191B!important;-webkit-text-fill-color:#17191B!important}
html[data-pp-theme='light'] .ppfl-prompt-drawer pre{border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-select-portal{background:#F8F5F0!important;border-color:rgba(17,19,21,.15)!important;box-shadow:0 28px 80px rgba(30,26,22,.18)!important}
html[data-pp-theme='light'] .ppfl-select-portal__head{background:#EEEAE4!important;border-color:rgba(17,19,21,.12)!important}
html[data-pp-theme='light'] .ppfl-select-portal__head b{color:#111315!important}
html[data-pp-theme='light'] .ppfl-select-portal__head button{background:#fff!important;color:#111315!important;border-color:rgba(17,19,21,.12)!important}
html[data-pp-theme='light'] .ppfl-select-option{color:#111315!important}html[data-pp-theme='light'] .ppfl-select-option:hover,html[data-pp-theme='light'] .ppfl-select-option:focus-visible{background:#E8E4DE!important}html[data-pp-theme='light'] .ppfl-select-option.is-selected{background:#CD542F!important;color:#fff!important}

@media(max-width:980px){
  .ppfl-hero{min-height:520px!important;margin-inline:12px!important;width:calc(100% - 24px)!important;border-radius:16px!important}
  .ppfl-hero__overlay{left:24px;right:24px;bottom:34px;max-width:none}
  .ppfl-hero__overlay h1{font-size:clamp(70px,18vw,126px)!important;white-space:normal!important}
  .ppfl-hero__tools{right:18px;top:18px}.ppfl-hero__tools .ppfl-hero__meta{display:none!important}
  .ppfl-stagebar{grid-template-columns:1fr auto!important;min-height:108px!important;align-content:center;gap:10px!important}.ppfl-mode-switch{grid-row:2;grid-column:1/-1;justify-self:stretch}.ppfl-mode-switch button{flex:1}
  .ppfl.is-video-mode .ppfl-preview-wrap{min-height:420px!important}
  .ppfl.is-video-mode .ppfl-outputbar{grid-template-columns:1fr auto!important}
}
@media(max-width:640px){
  .ppfl-hero{min-height:470px!important}.ppfl-hero__overlay{left:18px;right:18px;bottom:26px}.ppfl-hero__overlay h1{font-size:clamp(64px,21vw,94px)!important}.ppfl-hero__overlay p{font-size:14px!important}
  .ppfl-upload--source>div:has(img){grid-template-columns:1fr!important}.ppfl-upload--source>div:has(img) img{width:100%!important;height:150px!important}
  .ppfl-video-engine-summary{min-width:0!important}.ppfl.is-video-mode .ppfl-outputbar{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){.ppfl-hero__overlay h1 span,.ppfl-hero__overlay h1 span:last-child::after,.ppfl-hero__fallback::before,.ppfl-hero__fallback i{animation:none!important}}
html[data-pp-theme='light']:has(body.pp-filmlab-page){background:#F5F1EC!important;color-scheme:light}
html[data-pp-theme='dark']:has(body.pp-filmlab-page){background:#111315!important;color-scheme:dark}


/* 0.15.2 — keep the FilmLab wordmark fully inside the cinematic frame. */
@media(min-width:981px){
  .ppfl-hero__overlay{left:clamp(24px,4.2vw,78px)!important;right:clamp(28px,4.2vw,82px)!important;max-width:none!important;overflow:visible!important}
  .ppfl-hero__overlay h1{font-size:clamp(82px,10vw,172px)!important;letter-spacing:-.078em!important;max-width:100%!important;overflow:visible!important}
  .ppfl-hero__overlay h1 span:last-child{padding-right:.035em}
}


/* ============================================================
   0.16.1 — FilmLab light-mode timeline readability
   Fix inherited dark text on dark frame overlays and refine the cards.
   ============================================================ */
html[data-pp-theme='light'] .ppfl-timeline{
  background:#EEEAE4!important;
  border-color:rgba(17,19,21,.12)!important;
}
html[data-pp-theme='light'] .ppfl-frame{
  background:linear-gradient(180deg,#FFFFFF 0%,#F7F4EF 100%)!important;
  color:#111315!important;
  border-color:rgba(17,19,21,.14)!important;
  box-shadow:0 7px 18px rgba(17,19,21,.06),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
html[data-pp-theme='light'] .ppfl-frame>span,
html[data-pp-theme='light'] .ppfl-frame>small{
  background:rgba(17,19,21,.78)!important;
  color:#F5F1EC!important;
  -webkit-text-fill-color:#F5F1EC!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:0 2px 8px rgba(17,19,21,.08)!important;
}
html[data-pp-theme='light'] .ppfl-frame>span{
  letter-spacing:.06em!important;
}
html[data-pp-theme='light'] .ppfl-frame>small{
  font-weight:700!important;
  letter-spacing:.01em!important;
}
html[data-pp-theme='light'] .ppfl-frame.is-active{
  border-color:#CD542F!important;
  box-shadow:0 0 0 2px rgba(205,84,47,.16),0 10px 24px rgba(17,19,21,.08)!important;
}
html[data-pp-theme='light'] .ppfl-frame.is-active>span{
  background:#CD542F!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-pp-theme='light'] .ppfl-frame img{
  background:#E7E3DD!important;
}
html[data-pp-theme='light'] .ppfl-frame.is-loading::after{
  background:linear-gradient(100deg,#F3F0EA 20%,#E4DFD8 50%,#F3F0EA 80%)!important;
  background-size:200% 100%!important;
}

/* ============================================================
   0.20.0 — FilmLab Intelligence / Film IR
   Material-first film pipeline, preservation locks and compact inspector.
   ============================================================ */
.ppfl-film-pipeline{
  margin:16px 0 14px;padding:11px 12px;border:1px solid rgba(205,84,47,.24);border-radius:12px;
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;
  background:linear-gradient(135deg,rgba(205,84,47,.09),rgba(245,241,236,.025));
}
.ppfl-film-pipeline span{font:900 8px/1 var(--ppfl-mono);letter-spacing:.12em;text-align:center;color:#F5F1EC}
.ppfl-film-pipeline i{font-style:normal;color:var(--ppfl-red);font-size:13px;opacity:.82}
.ppfl-range--authenticity{margin-top:15px!important}
.ppfl-range--authenticity>small{display:flex!important;justify-content:space-between!important;margin-top:7px!important;color:var(--ppfl-muted)!important;font:800 7px/1 var(--ppfl-mono)!important;letter-spacing:.08em!important}
.ppfl-range--authenticity>small i{font-style:normal!important}
.ppfl-preserve{
  margin-top:18px;padding:16px;border:1px solid rgba(112,133,106,.38);border-radius:14px;background:rgba(112,133,106,.07);
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
}
.ppfl-preserve>header{grid-column:1/-1;margin-bottom:4px}
.ppfl-preserve>header span{display:block;color:#A6B89E;font:900 7px/1 var(--ppfl-mono);letter-spacing:.12em}
.ppfl-preserve>header b{display:block;margin-top:6px;font-size:14px;line-height:1.1}
.ppfl-preserve>header small{display:block;margin-top:6px;color:var(--ppfl-muted);font-size:10px;line-height:1.45}
.ppfl-preserve>label{min-height:38px;padding:8px 9px;border:1px solid rgba(245,241,236,.08);border-radius:9px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.08);cursor:pointer}
.ppfl-preserve>label:last-child{grid-column:1/-1}
.ppfl-preserve input{width:14px;height:14px;accent-color:var(--ppfl-red)}
.ppfl-preserve label span{font:800 8px/1.2 var(--ppfl-mono);letter-spacing:.045em}
.ppfl-ir-card{margin:2px 0 16px;padding:14px;border:1px solid rgba(107,168,164,.36);border-radius:12px;background:linear-gradient(145deg,rgba(107,168,164,.08),rgba(245,241,236,.02))}
.ppfl-ir-card>span{color:#8FC5C1;font:900 7px/1 var(--ppfl-mono);letter-spacing:.12em}
.ppfl-ir-card>b{display:block;margin-top:7px;font-size:16px;line-height:1.05;letter-spacing:-.025em}
.ppfl-ir-card>p{margin:7px 0 12px;color:var(--ppfl-muted);font-size:9px;line-height:1.45}
.ppfl-ir-card>div{display:grid;grid-template-columns:1fr auto 1fr auto;gap:7px;align-items:end;padding-top:10px;border-top:1px solid rgba(245,241,236,.08)}
.ppfl-ir-card i{font:800 6px/1 var(--ppfl-mono);font-style:normal;color:var(--ppfl-muted);letter-spacing:.08em}
.ppfl-ir-card strong{font:900 13px/1 var(--ppfl-mono)}
.ppfl-prompt-drawer button [data-ppfl-compiler-badge]{color:#8FC5C1!important}

html[data-pp-theme='light'] .ppfl-film-pipeline{background:linear-gradient(135deg,rgba(205,84,47,.07),#fff)!important;border-color:rgba(205,84,47,.24)!important}
html[data-pp-theme='light'] .ppfl-film-pipeline span{color:#111315!important}
html[data-pp-theme='light'] .ppfl-preserve{background:rgba(112,133,106,.08)!important;border-color:rgba(112,133,106,.34)!important}
html[data-pp-theme='light'] .ppfl-preserve>label{background:#fff!important;border-color:rgba(17,19,21,.1)!important;color:#111315!important}
html[data-pp-theme='light'] .ppfl-preserve>header b{color:#111315!important}
html[data-pp-theme='light'] .ppfl-ir-card{background:linear-gradient(145deg,rgba(107,168,164,.09),#fff)!important;border-color:rgba(77,137,132,.28)!important}
html[data-pp-theme='light'] .ppfl-ir-card>b,html[data-pp-theme='light'] .ppfl-ir-card strong{color:#111315!important}
html[data-pp-theme='light'] .ppfl-ir-card>div{border-color:rgba(17,19,21,.1)!important}

@media(max-width:520px){
  .ppfl-preserve{grid-template-columns:1fr!important}
  .ppfl-preserve>header,.ppfl-preserve>label:last-child{grid-column:1!important}
  .ppfl-film-pipeline{gap:5px!important;padding:10px 8px!important}
  .ppfl-film-pipeline span{font-size:7px!important}
}
.ppfl-preserve.is-inactive{opacity:.48;filter:saturate(.65)}
.ppfl-preserve.is-inactive>header small::after{content:' · Startbild hochladen, um Locks zu aktivieren.';color:#A6B89E}
.ppfl-preserve.is-inactive>label{cursor:not-allowed}

/* ============================================================
   0.21.0 — FilmLab Clip Sequencer / Scene Builder
   Multi-clip continuity with end-frame handoff and per-clip scene beats.
   ============================================================ */
.ppfl-clip-count{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 14px;
}
.ppfl-clip-count button{
  min-height:42px;border:1px solid var(--ppfl-line);border-radius:10px;background:#171A1C;color:var(--ppfl-muted);
  font:900 8px/1 var(--ppfl-mono);letter-spacing:.055em;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.ppfl-clip-count button:hover{transform:translateY(-2px);border-color:rgba(245,241,236,.3);color:#fff}
.ppfl-clip-count button.is-active{background:#CD542F;border-color:#CD542F;color:#fff;box-shadow:0 9px 24px rgba(205,84,47,.18)}
.ppfl-clip-plan-head{margin:18px 0 10px;padding-top:16px;border-top:1px solid var(--ppfl-line)}
.ppfl-clip-plan-head>span{display:block;color:#8FC5C1;font:900 7px/1 var(--ppfl-mono);letter-spacing:.13em}
.ppfl-clip-plan-head>b{display:block;margin-top:7px;font-size:15px;line-height:1.15}
.ppfl-clip-plan-head>small{display:block;margin-top:6px;color:var(--ppfl-muted);font-size:10px;line-height:1.5}
.ppfl-clip-plan{display:grid;gap:9px}
.ppfl-clip-card{
  padding:11px;border:1px solid rgba(107,168,164,.22);border-radius:12px;background:linear-gradient(145deg,rgba(107,168,164,.055),rgba(245,241,236,.018));
}
.ppfl-clip-card>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:9px}
.ppfl-clip-card>div span{color:#8FC5C1;font:900 7px/1 var(--ppfl-mono);letter-spacing:.1em}
.ppfl-clip-card>div b{font:800 10px/1.2 var(--ppfl-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppfl-clip-card>div small{color:var(--ppfl-muted);font:900 7px/1 var(--ppfl-mono)}
.ppfl-clip-card textarea{
  width:100%;min-height:70px;resize:vertical;box-sizing:border-box;padding:10px 11px;border:1px solid rgba(245,241,236,.09);border-radius:9px;
  background:#111416;color:#F5F1EC;font:500 11px/1.5 var(--ppfl-sans);outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.ppfl-clip-card textarea:focus{border-color:#6BA8A4;box-shadow:0 0 0 3px rgba(107,168,164,.12);background:#0D1011}
.ppfl-clip-card textarea::placeholder{color:rgba(245,241,236,.35)}

/* Film Sequence is video-powered but keeps its clip timeline visible. */
.ppfl.is-clip-sequence-mode .ppfl-timeline{display:grid!important}
.ppfl.is-clip-sequence-mode .ppfl-stage{grid-template-rows:62px minmax(0,1fr) auto auto auto!important}
.ppfl.is-clip-sequence-mode .ppfl-outputbar{grid-template-columns:1fr auto!important}
.ppfl-clip-timeline{background:linear-gradient(145deg,#111416,#1E2325)!important}
.ppfl-clip-timeline::before{
  content:'▶';position:absolute;inset:0;display:grid;place-items:center;color:rgba(245,241,236,.18);font-size:22px;z-index:0;
}
.ppfl-clip-timeline img{z-index:1;filter:saturate(.88) contrast(1.03)}
.ppfl-clip-timeline>span,.ppfl-clip-timeline>small{z-index:3!important}
.ppfl-clip-timeline.is-error{border-color:#B54A44!important}
.ppfl-clip-timeline.is-error>small{background:#B54A44!important}
.ppfl.is-clip-sequence-mode .ppfl-video-engine-summary{min-width:240px}
.ppfl.is-clip-sequence-mode [data-ppfl-generation-status]{max-width:34ch}

/* Make the 3-way output switch breathe without becoming oversized. */
.ppfl-mode-switch button[data-ppfl-output-mode="clip-sequence"]{padding-inline:15px}
.ppfl-mode-switch button[data-ppfl-output-mode="clip-sequence"].is-active{background:#6BA8A4;color:#0D1112;box-shadow:0 5px 18px rgba(107,168,164,.17)}

html[data-pp-theme='light'] .ppfl-clip-count button{background:#fff!important;border-color:rgba(17,19,21,.13)!important;color:rgba(17,19,21,.62)!important}
html[data-pp-theme='light'] .ppfl-clip-count button:hover{color:#111315!important;border-color:rgba(17,19,21,.28)!important}
html[data-pp-theme='light'] .ppfl-clip-count button.is-active{background:#CD542F!important;border-color:#CD542F!important;color:#fff!important}
html[data-pp-theme='light'] .ppfl-clip-card{background:linear-gradient(145deg,rgba(107,168,164,.08),#fff)!important;border-color:rgba(77,137,132,.22)!important}
html[data-pp-theme='light'] .ppfl-clip-card>div b{color:#111315!important}
html[data-pp-theme='light'] .ppfl-clip-card textarea{background:#fff!important;color:#111315!important;border-color:rgba(17,19,21,.13)!important}
html[data-pp-theme='light'] .ppfl-clip-card textarea::placeholder{color:rgba(17,19,21,.38)!important}
html[data-pp-theme='light'] .ppfl-clip-timeline{background:linear-gradient(145deg,#fff,#ECE8E1)!important}
html[data-pp-theme='light'] .ppfl-clip-timeline::before{color:rgba(17,19,21,.15)!important}

@media(max-width:820px){
  .ppfl-clip-count{grid-template-columns:repeat(2,1fr)}
  .ppfl.is-clip-sequence-mode .ppfl-outputbar{grid-template-columns:1fr auto!important}
  .ppfl.is-clip-sequence-mode .ppfl-timeline{grid-template-columns:repeat(5,140px)!important}
}
@media(max-width:640px){
  .ppfl.is-clip-sequence-mode .ppfl-outputbar{grid-template-columns:1fr!important}
  .ppfl-clip-card>div{grid-template-columns:auto 1fr}.ppfl-clip-card>div small{grid-column:2}
  .ppfl-mode-switch button{padding-inline:8px!important;font-size:7px!important}
}


/* ============================================================
   0.22.5 — FilmLab light-mode cinematic preview contrast
   The FilmLab app may be light, but the preview stage intentionally stays dark.
   Its copy therefore needs an explicit light contrast palette instead of inheriting
   the light-theme app text color.
   ============================================================ */
html[data-pp-theme='light'] .ppfl-preview,
html[data-pp-theme='light'] .ppfl-preview__empty{
  color:#F7F3ED!important;
}
html[data-pp-theme='light'] .ppfl-preview__empty{
  background:linear-gradient(135deg,#0B0D0E 0%,#121618 55%,#191817 100%)!important;
}
html[data-pp-theme='light'] .ppfl-preview__empty>span{
  color:#E56B49!important;
  -webkit-text-fill-color:#E56B49!important;
  opacity:1!important;
}
html[data-pp-theme='light'] .ppfl-preview__empty>strong{
  color:#F7F3ED!important;
  -webkit-text-fill-color:#F7F3ED!important;
  text-shadow:0 2px 18px rgba(0,0,0,.24)!important;
}
html[data-pp-theme='light'] .ppfl-preview__empty>p{
  color:rgba(247,243,237,.72)!important;
  -webkit-text-fill-color:rgba(247,243,237,.72)!important;
}
html[data-pp-theme='light'] .ppfl-preview__grid i{
  background:rgba(247,243,237,.13)!important;
}

/* =====================================================================
   0.25.3 — DEVICE-SAFE FILMLAB RESPONSIVE SYSTEM
   Fixes clipped preview typography, compressed stage controls, narrow frame
   cards and fixed-dock overlap on phones/foldables while preserving desktop.
   ===================================================================== */
.ppfl,
.ppfl-app,
.ppfl-controls,
.ppfl-stage,
.ppfl-stagebar,
.ppfl-preview-wrap,
.ppfl-preview,
.ppfl-outputbar{min-width:0}
.ppfl :where(p,b,strong,small,span,label,button){word-break:normal}

@media(max-width:980px){
  body.pp-filmlab-page .ppfl{
    padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))!important;
  }
  .ppfl-app{overflow:visible!important}
  .ppfl-stage{min-width:0!important}
  .ppfl-outputbar > *{min-width:0!important}
}

@media(max-width:680px){
  body.pp-filmlab-page .ppfl{
    padding-top:84px!important;
    overflow-x:clip!important;
  }
  .ppfl-hero{
    width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .ppfl-hero__overlay{
    left:18px!important;
    right:18px!important;
    max-width:calc(100% - 36px)!important;
  }
  .ppfl-hero__overlay h1{
    max-width:100%!important;
    font-size:clamp(58px,19vw,86px)!important;
    line-height:.82!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  .ppfl-hero__overlay p{
    max-width:34ch!important;
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* The mobile stagebar becomes three clean rows instead of squeezing text. */
  .ppfl-stagebar{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "meta"
      "modes"
      "actions"!important;
    min-height:0!important;
    height:auto!important;
    padding:12px!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .ppfl-stagebar > div:first-child{
    grid-area:meta;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:0 2px!important;
  }
  .ppfl-stagebar > div:first-child span,
  .ppfl-stagebar > div:first-child b{
    white-space:nowrap!important;
    font-size:9px!important;
    line-height:1.1!important;
  }
  .ppfl-mode-switch{
    grid-area:modes!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:3px!important;
  }
  .ppfl-mode-switch button{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:6px 5px!important;
    font-size:8px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  .ppfl-stagebar__actions{
    grid-area:actions!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .ppfl-stagebar__actions button{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:7px 9px!important;
    font-size:8px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }

  /* Keep the cinematic output ratio as metadata, not as a tiny phone viewport. */
  .ppfl-preview-wrap{
    min-height:0!important;
    padding:12px!important;
    place-items:stretch!important;
  }
  .ppfl-preview{
    width:100%!important;
    min-height:clamp(300px,86vw,380px)!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    border-radius:14px!important;
  }
  .ppfl-preview__empty{
    padding:24px 20px!important;
    justify-content:flex-end!important;
    overflow:hidden!important;
  }
  .ppfl-preview__empty span{
    font-size:8px!important;
    line-height:1.1!important;
  }
  .ppfl-preview__empty strong{
    width:auto!important;
    max-width:8.5ch!important;
    margin:10px 0 12px!important;
    font-size:clamp(36px,12.5vw,50px)!important;
    line-height:.9!important;
    letter-spacing:-.062em!important;
    overflow:visible!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
  }
  .ppfl-preview__empty p{
    max-width:32ch!important;
    font-size:12px!important;
    line-height:1.5!important;
    overflow-wrap:break-word!important;
  }
  .ppfl.is-video-mode .ppfl-preview-wrap{
    min-height:0!important;
  }
  .ppfl.is-video-mode .ppfl-preview{
    min-height:clamp(320px,92vw,430px)!important;
  }

  /* Native swipe timeline: one readable card plus a visible next-card cue. */
  .ppfl-timeline,
  .ppfl.is-clip-sequence-mode .ppfl-timeline{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:min(74vw,260px)!important;
    gap:10px!important;
    min-height:148px!important;
    padding:12px 14px 14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:14px!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .ppfl-timeline::-webkit-scrollbar{display:none}
  .ppfl-frame{
    min-width:0!important;
    width:100%!important;
    min-height:118px!important;
    scroll-snap-align:start!important;
  }
  .ppfl-frame>span{
    font-size:8px!important;
    line-height:1!important;
  }
  .ppfl-frame>small{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    max-height:2.55em!important;
    font-size:8px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }

  .ppfl-outputbar,
  .ppfl.is-video-mode .ppfl-outputbar,
  .ppfl.is-clip-sequence-mode .ppfl-outputbar{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:12px!important;
  }
  .ppfl-model-select{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .ppfl-model-select span{
    font-size:8px!important;
  }
  .ppfl-model-select select,
  .ppfl-field select,
  .ppfl-select-trigger{
    width:100%!important;
    min-width:0!important;
  }
  .ppfl-select-trigger{
    min-height:58px!important;
    height:auto!important;
    padding-top:11px!important;
    padding-bottom:11px!important;
  }
  .ppfl-select-trigger > span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25!important;
    padding-right:24px!important;
  }
  .ppfl-credit,
  .ppfl-video-engine-summary,
  .ppfl-generate{
    width:100%!important;
    min-width:0!important;
    grid-column:1!important;
  }
  .ppfl-video-engine-summary b,
  .ppfl-video-engine-summary small,
  .ppfl-generate span,
  .ppfl-generate b{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .ppfl-generate{min-height:58px!important}
  .ppfl-prompt-drawer>button{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    min-height:54px!important;
    padding:10px 14px!important;
  }
  .ppfl-prompt-drawer>button b{
    min-width:0!important;
    white-space:normal!important;
    line-height:1.25!important;
    text-align:right!important;
  }
  .ppfl-prompt-drawer pre{
    max-width:100%!important;
    padding:16px!important;
    font-size:10px!important;
    line-height:1.65!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:480px){
  .ppfl-controls__scroll{padding:14px!important}
  .ppfl-panel>header h2{
    max-width:100%!important;
    font-size:clamp(28px,9vw,34px)!important;
    line-height:.98!important;
    overflow-wrap:normal!important;
  }
  .ppfl-panel>header p{font-size:12px!important}
  .ppfl-stagebar__actions{
    grid-template-columns:1fr!important;
  }
  .ppfl-stagebar__actions button[data-ppfl-copy-prompt]{display:none!important}
  .ppfl-mode-switch button{
    font-size:7.5px!important;
    letter-spacing:.04em!important;
  }
  .ppfl-preview{
    min-height:clamp(286px,88vw,340px)!important;
  }
  .ppfl-preview__empty{
    padding:20px 18px!important;
  }
  .ppfl-preview__empty strong{
    max-width:8ch!important;
    font-size:clamp(34px,12vw,46px)!important;
  }
  .ppfl-preview__empty p{
    max-width:30ch!important;
    font-size:11.5px!important;
  }
  .ppfl-timeline,
  .ppfl.is-clip-sequence-mode .ppfl-timeline{
    grid-auto-columns:min(78vw,250px)!important;
  }
  .ppfl-film-card dl>div{
    grid-template-columns:1fr!important;
  }
  .ppfl-film-pipeline{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .ppfl-film-pipeline i{display:none!important}
  .ppfl-film-pipeline span{
    min-height:34px;
    display:grid;
    place-items:center;
    border:1px solid var(--ppfl-line);
    border-radius:8px;
  }
}

@media(max-width:360px){
  .ppfl-stagebar{padding:10px!important}
  .ppfl-mode-switch button{font-size:7px!important;padding-inline:3px!important}
  .ppfl-preview-wrap{padding:8px!important}
  .ppfl-preview{min-height:280px!important}
  .ppfl-preview__empty strong{font-size:34px!important}
  .ppfl-timeline,
  .ppfl.is-clip-sequence-mode .ppfl-timeline{
    grid-auto-columns:82vw!important;
    padding-inline:10px!important;
    scroll-padding-left:10px!important;
  }
}

@media(max-height:650px) and (orientation:landscape) and (max-width:980px){
  body.pp-filmlab-page .ppfl{padding-top:72px!important}
  .ppfl-hero{min-height:360px!important}
  .ppfl-preview{min-height:260px!important}
}
@media(max-width:480px){.ppfl-film-pipeline{display:grid!important}}
