:root {
  color-scheme: dark;
  --bg: #090b13;
  --sidebar: #0d101b;
  --surface: #121522;
  --surface-2: #171b2b;
  --line: #272c3d;
  --muted: #8c92a7;
  --text: #f7f8fc;
  --primary: #7168ff;
  --primary-2: #918cff;
  --cyan: #4dd9ff;
  --coral: #ff856d;
  --gold: #ffb25b;
  --green: #55d69e;
  --radius: 18px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); }
[hidden] { display: none !important; }
body { font-size: 16px; }
button, textarea, input { font: inherit; }
button { color: inherit; }
button:focus-visible, textarea:focus-visible, input:focus-visible { outline: 3px solid rgba(113,104,255,.42); outline-offset: 2px; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; }
.app-shell.app-locked { display: none; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 270px; padding: 26px 18px 18px; background: var(--sidebar); border-right: 1px solid #1d2130; display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 10px 28px; color: var(--text); text-decoration: none; font-size: 23px; font-weight: 800; letter-spacing: -.5px; }
.brand > span:last-child span { color: var(--primary-2); }
.brand-mark { width: 42px; height: 42px; border-radius: 14px; background: linear-gradient(135deg, var(--primary), #4b45ce); display: grid; place-items: center; box-shadow: 0 12px 28px rgba(113,104,255,.28); }
.brand-mark span { width: 19px; height: 19px; background: white; clip-path: polygon(0 5%,100% 5%,58% 50%,100% 95%,0 95%,42% 50%); }
.nav-list { display: flex; flex-direction: column; gap: 5px; }
.nav-label { margin: 18px 14px 7px; color: #5f6577; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; }
.nav-item { border: 0; background: transparent; color: #9ca1b3; min-height: 45px; border-radius: 12px; padding: 0 14px; display: flex; align-items: center; gap: 12px; cursor: pointer; text-align: left; font-weight: 600; }
.nav-item span { width: 20px; color: #777e92; font-size: 20px; text-align: center; }
.nav-item:hover { color: white; background: #151928; }
.nav-item.active { color: white; background: linear-gradient(90deg, rgba(113,104,255,.2), rgba(113,104,255,.08)); box-shadow: inset 3px 0 var(--primary); }
.nav-item.active span { color: var(--primary-2); }
.credit-card { margin-top: auto; background: #151927; border: 1px solid #252a3b; border-radius: 16px; padding: 15px; }
.credit-heading { display: flex; justify-content: space-between; align-items: baseline; }
.credit-heading span { color: #a7adbd; font-size: 14px; }
.credit-heading strong { font-size: 18px; }
.credit-track { height: 6px; background: #242a3a; border-radius: 99px; overflow: hidden; margin: 12px 0 8px; }
.credit-track span { display: block; height: 100%; width: 24%; background: linear-gradient(90deg, var(--primary), var(--cyan)); }
.credit-card p { color: var(--muted); margin: 0 0 13px; font-size: 12px; }
.private-card { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #292e3e; background: #121622; border-radius: 13px; }.private-card > span { color: var(--green); font-size: 12px; }.private-card strong, .private-card small { display: block; }.private-card strong { font-size: 13px; }.private-card small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.profile-card { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 10px; padding: 8px; border: 0; background: transparent; border-radius: 12px; cursor: pointer; text-align: left; }
.profile-card:hover { background: #151928; }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, var(--coral), var(--gold)); display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.profile-card strong, .profile-card small { display: block; }
.profile-card small { color: var(--muted); margin-top: 2px; }
.profile-more { margin-left: auto; color: var(--muted); }
.main-content { grid-column: 2; min-width: 0; }
.topbar { height: 76px; border-bottom: 1px solid #1c2130; display: flex; align-items: center; justify-content: space-between; padding: 0 34px; position: sticky; top: 0; background: rgba(9,11,19,.9); backdrop-filter: blur(14px); z-index: 10; }
.breadcrumb { display: flex; gap: 10px; align-items: center; color: #686f82; font-size: 14px; }.breadcrumb b { color: #3f4556; }.breadcrumb strong { color: #d6d9e3; }
.top-actions { display: flex; align-items: center; gap: 10px; }.job-pill { color: #9da3b4; border: 1px solid #262b3b; padding: 8px 12px; border-radius: 99px; font-size: 13px; }.job-pill i { width: 7px; height: 7px; background: #62697b; border-radius: 50%; display: inline-block; margin-right: 7px; }
.button { border-radius: 11px; min-height: 42px; border: 1px solid transparent; padding: 0 18px; font-weight: 750; cursor: pointer; transition: transform .2s, filter .2s, border-color .2s; }.button:hover { transform: translateY(-1px); filter: brightness(1.08); }.button.primary { background: linear-gradient(135deg, var(--primary), #5d54ee); box-shadow: 0 10px 28px rgba(113,104,255,.2); }.button.secondary { background: #171b29; border-color: #303647; }.button.compact { min-height: 36px; padding: 0 12px; width: 100%; font-size: 12px; }.button.large { min-height: 54px; width: 100%; font-size: 16px; }.button span { margin-left: 8px; }
.icon-button, .mobile-menu { width: 42px; height: 42px; border-radius: 11px; border: 1px solid #272c3c; background: #121521; cursor: pointer; }.mobile-menu { display: none; }
.page { display: none; padding: 44px 42px 70px; max-width: 1540px; margin: 0 auto; }.page.active { display: block; animation: pageIn .28s ease; }#home { max-width: 1120px; padding-top: 82px; }@keyframes pageIn { from { opacity: 0; transform: translateY(5px); } }
.welcome-row, .page-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }.welcome-row h1, .page-title-row h1, .wizard-main h1, .tool-controls h1 { font-size: clamp(32px, 3vw, 46px); letter-spacing: -.045em; margin: 6px 0 8px; }.welcome-row p, .page-title-row p, .lead { color: var(--muted); margin: 0; font-size: 17px; }.eyebrow { color: var(--primary-2); font-size: 12px; letter-spacing: .16em; font-weight: 800; }.date-chip { color: #9da3b4; background: #121521; border: 1px solid #23283a; border-radius: 12px; padding: 10px 14px; font-size: 13px; }
.composer-card { border: 1px solid #2b3042; border-radius: 22px; background: radial-gradient(circle at 15% 20%, rgba(113,104,255,.14), transparent 42%), var(--surface); display: grid; grid-template-columns: 1fr 260px; overflow: hidden; box-shadow: 0 24px 70px rgba(0,0,0,.24); }.composer-main { padding: 24px; }.composer-main textarea, .field-card textarea, .editor-column textarea, .modal textarea, .modal input { width: 100%; resize: vertical; color: white; background: #0d1019; border: 1px solid #2b3041; border-radius: 14px; padding: 16px; line-height: 1.5; }.composer-main textarea { border: 0; background: transparent; font-size: 20px; min-height: 104px; padding: 5px 4px; resize: none; }.composer-main textarea::placeholder, textarea::placeholder, input::placeholder { color: #666d80; }.composer-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid #252a3b; padding-top: 15px; }.composer-actions > div { display: flex; gap: 8px; }.text-button { background: transparent; border: 0; color: var(--primary-2); font-weight: 750; cursor: pointer; padding: 8px; }.format-chip { background: #171b29; border: 1px solid #303547; border-radius: 9px; padding: 0 12px; cursor: pointer; }.format-chip.active { border-color: var(--primary); color: white; background: rgba(113,104,255,.12); }.composer-side { border-left: 1px solid #2a2f40; padding: 22px; background: rgba(10,12,20,.35); }.composer-side > p { color: #aab0c0; font-size: 13px; font-weight: 700; margin: 0 0 10px; }.duration-select { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }.duration-select button { border: 1px solid #303547; background: #161a27; border-radius: 9px; padding: 9px 4px; cursor: pointer; }.duration-select button.active { background: var(--primary); border-color: var(--primary); }.estimate { border-top: 1px solid #272c3b; margin-top: 20px; padding-top: 18px; }.estimate span, .estimate strong, .estimate small { display: block; }.estimate span, .estimate small { color: var(--muted); font-size: 12px; }.estimate strong { font-size: 20px; margin: 5px 0; }
.home-heading { margin-bottom: 36px; }.home-heading h1 { font-size: clamp(38px,4vw,58px); max-width: 760px; }.simple-composer { grid-template-columns: 1fr 240px; }.simple-composer .composer-main { padding: 30px; }.simple-composer .composer-main textarea { min-height: 150px; font-size: 22px; }.format-title { margin-top: 24px !important; }.format-select { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.format-select .format-chip { min-height: 42px; }.quick-dock { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; }.quick-dock button { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; gap: 2px 12px; align-items: center; text-align: left; min-height: 84px; padding: 14px; border: 1px solid #272c3d; background: #11141f; border-radius: 14px; cursor: pointer; }.quick-dock button:hover { border-color: #4a5064; background: #151925; }.quick-dock span { grid-row: 1/3; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: rgba(113,104,255,.12); color: var(--primary-2); font-size: 20px; }.quick-dock strong { font-size: 14px; }.quick-dock small { color: var(--muted); font-size: 11px; }
.section-header, .panel-head { display: flex; justify-content: space-between; align-items: flex-end; margin: 34px 0 17px; }.section-header h2, .panel-head h2 { margin: 0 0 5px; font-size: 21px; }.section-header p, .panel-head p { margin: 0; color: var(--muted); font-size: 14px; }
.mode-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.mode-card { min-height: 210px; position: relative; text-align: left; border: 1px solid #262b3d; background: var(--surface); border-radius: var(--radius); padding: 20px; cursor: pointer; transition: transform .2s, border-color .2s, background .2s; }.mode-card:hover { transform: translateY(-3px); border-color: #4d5268; background: #151a29; }.mode-card.featured { border-color: rgba(113,104,255,.65); background: linear-gradient(145deg, rgba(113,104,255,.17), rgba(18,21,34,.88)); }.mode-icon { width: 40px; height: 40px; border-radius: 12px; background: rgba(113,104,255,.18); color: #aaa5ff; display: grid; place-items: center; font-size: 21px; }.mode-icon.blue { background: rgba(77,217,255,.13); color: var(--cyan); }.mode-icon.orange { background: rgba(255,178,91,.13); color: var(--gold); }.mode-icon.pink { background: rgba(255,133,109,.13); color: var(--coral); }.mode-badge { position: absolute; top: 20px; right: 18px; color: #a9a4ff; font-size: 10px; letter-spacing: .09em; font-weight: 800; }.mode-card h3 { margin: 18px 0 7px; font-size: 18px; }.mode-card p { color: var(--muted); margin: 0; line-height: 1.45; font-size: 14px; }.mode-link { display: block; margin-top: 17px; color: #d7d9e7; font-size: 13px; font-weight: 700; }.mode-link b { color: var(--primary-2); margin-left: 5px; }
.dashboard-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 16px; margin-top: 18px; }.panel { border: 1px solid #262b3b; background: var(--surface); border-radius: var(--radius); padding: 20px; }.panel .panel-head { margin: 0 0 13px; }.project-row { display: grid; grid-template-columns: 56px 1fr auto 90px auto; align-items: center; gap: 14px; border-top: 1px solid #242939; padding: 13px 0; }.project-thumb { width: 52px; height: 52px; border-radius: 12px; display: grid; place-items: center; align-content: center; }.project-thumb span { font-size: 17px; font-weight: 800; }.project-thumb small { font-size: 10px; }.gradient-one { background: linear-gradient(145deg, #253c78, #703e73 60%, #d16b5f); }.gradient-two { background: linear-gradient(145deg, #1e776b, #344c90 50%, #704899); }.project-copy strong, .project-copy span { display: block; }.project-copy span, .updated { color: var(--muted); font-size: 12px; margin-top: 4px; }.status { font-size: 11px; font-weight: 800; border-radius: 99px; padding: 6px 9px; white-space: nowrap; }.status.review { background: rgba(255,178,91,.12); color: var(--gold); }.status.done { background: rgba(85,214,158,.12); color: var(--green); }.row-action { border: 1px solid #303548; background: #181c2a; border-radius: 8px; padding: 7px 10px; cursor: pointer; font-size: 12px; }.stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.stats div { background: #0e111b; border-radius: 12px; padding: 14px; }.stats span, .stats small { display: block; }.stats span { font-size: 25px; font-weight: 800; }.stats small { color: var(--muted); margin-top: 4px; }.mini-chart { height: 90px; display: flex; align-items: flex-end; gap: 7px; margin-top: 18px; border-bottom: 1px solid #34394b; }.mini-chart i { flex: 1; background: linear-gradient(var(--primary-2), rgba(113,104,255,.12)); border-radius: 6px 6px 0 0; }
.metric-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.metric { background: var(--surface); border: 1px solid #282d3e; border-radius: 16px; padding: 21px; }.metric small { color: var(--muted); display: block; }.metric strong { display: block; font-size: 28px; margin-top: 8px; }.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0 18px; }.filter-row button, .filter-button { border: 1px solid #2c3142; background: #121521; border-radius: 99px; padding: 9px 15px; color: #a1a7b8; cursor: pointer; }.filter-row button.active, .filter-button.active { color: white; border-color: var(--primary); background: rgba(113,104,255,.15); }.filter-row span { margin-left: 4px; color: #73798b; }.creation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.creation-card { background: var(--surface); border: 1px solid #282d3e; border-radius: 18px; overflow: hidden; }.creation-preview { aspect-ratio: 16/7; position: relative; display: grid; place-items: center; }.preview-play { width: 52px; height: 52px; border-radius: 50%; background: rgba(9,11,19,.72); display: grid; place-items: center; backdrop-filter: blur(5px); }.preview-format { position: absolute; top: 13px; right: 13px; padding: 5px 8px; border-radius: 7px; background: rgba(9,11,19,.65); font-size: 11px; }.creation-body { padding: 17px; display: flex; justify-content: space-between; gap: 10px; }.creation-body h3 { margin: 0 0 5px; }.creation-body p { margin: 0; color: var(--muted); font-size: 13px; }.creation-actions { border-top: 1px solid #282d3e; display: flex; padding: 10px; gap: 7px; }.creation-actions button { border: 0; border-radius: 8px; background: #1a1e2d; padding: 8px 11px; cursor: pointer; }.creation-actions button:last-child { margin-left: auto; }
.character-toolbar { display: flex; gap: 8px; margin-bottom: 20px; }.search-field { flex: 1; max-width: 420px; display: flex; gap: 8px; align-items: center; border: 1px solid #2b3042; background: #121521; border-radius: 11px; padding: 0 13px; }.search-field input { border: 0; outline: 0; background: transparent; color: white; width: 100%; min-height: 42px; }.character-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }.character-add, .character-card { min-height: 330px; border-radius: 18px; }.character-add { border: 1px dashed #454b62; background: rgba(18,21,34,.48); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px; cursor: pointer; text-align: center; }.character-add span { font-size: 34px; color: var(--primary-2); }.character-add strong { margin: 14px 0 6px; }.character-add small { color: var(--muted); line-height: 1.5; }.character-card { background: var(--surface); border: 1px solid #282d3e; padding: 12px; }.character-visual { height: 200px; border-radius: 13px; display: grid; place-items: center; }.character-visual span { width: 92px; height: 92px; border-radius: 46% 54% 48% 52%; display: grid; place-items: center; background: rgba(255,255,255,.16); font-size: 40px; font-weight: 800; backdrop-filter: blur(8px); }.character-one { background: linear-gradient(145deg,#2b7f88,#4b3d83); }.character-two { background: linear-gradient(145deg,#94485c,#3e5893); }.character-three { background: linear-gradient(145deg,#ec8a45,#72832d); }.character-card h3 { margin: 14px 0 3px; }.character-card p { color: #b7bbca; margin: 0; font-size: 13px; }.character-card div > span { color: var(--muted); font-size: 11px; }.character-card > button { width: 100%; margin-top: 12px; border: 1px solid #3b4160; background: #171b29; border-radius: 9px; padding: 9px; cursor: pointer; }
.wizard-layout { display: grid; grid-template-columns: minmax(0,760px) 330px; gap: 60px; justify-content: center; }.back-link { color: var(--muted); border: 0; background: transparent; cursor: pointer; padding: 0; margin-bottom: 25px; }.stepper { display: flex; align-items: center; margin-bottom: 28px; }.stepper span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #181c2a; border: 1px solid #303547; color: #757b8d; font-size: 13px; font-weight: 700; }.stepper span.active { background: var(--primary); border-color: var(--primary); color: white; }.stepper i { height: 2px; flex: 1; background: #292e3f; }.field-card { border: 1px solid #2b3042; background: var(--surface); border-radius: 16px; padding: 18px; margin-top: 24px; }.field-card label, .choice-section > label, .editor-column > label, .tool-options > label, .modal label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 750; color: #b9becd; }.field-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 9px; color: var(--muted); font-size: 12px; }.choice-section { margin: 24px 0; }.choice-pills { display: flex; flex-wrap: wrap; gap: 9px; }.choice-pills button { min-width: 82px; min-height: 44px; border: 1px solid #313648; background: #131722; border-radius: 11px; color: #b1b6c5; cursor: pointer; }.choice-pills button.active { color: white; background: rgba(113,104,255,.14); border-color: var(--primary); }.wizard-summary { align-self: start; position: sticky; top: 106px; background: linear-gradient(150deg, rgba(113,104,255,.13), var(--surface) 38%); border: 1px solid #303548; border-radius: 18px; padding: 22px; }.summary-kicker { color: var(--primary-2); font-size: 11px; font-weight: 800; letter-spacing: .15em; }.wizard-summary h2 { margin: 8px 0; }.wizard-summary > p { color: var(--muted); font-size: 13px; line-height: 1.5; margin-bottom: 20px; }.cost-line, .cost-total { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; color: #aeb3c2; font-size: 13px; }.cost-total { margin-top: 7px; padding-top: 17px; border-top: 1px solid #303547; color: white; font-size: 15px; }.cost-total strong { color: var(--primary-2); }.safe-note { display: flex; gap: 10px; background: rgba(85,214,158,.08); border: 1px solid rgba(85,214,158,.18); border-radius: 12px; padding: 13px; margin-top: 19px; }.safe-note > span { color: var(--green); }.safe-note p { margin: 0; color: #9da4b5; font-size: 12px; line-height: 1.4; }.safe-note strong { color: #d8dbe5; display: block; margin-bottom: 3px; }
.wizard-step { display: none; }.wizard-step.active { display: block; animation: pageIn .22s ease; }.inline-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.summary-total { font-size: 31px; font-weight: 850; margin: 10px 0 4px; letter-spacing: -.03em; }.summary-total small { color: var(--muted); font-size: 13px; font-weight: 650; }.universe-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 26px 0 12px; }.universe-grid > button { border: 1px solid #2d3243; background: var(--surface); border-radius: 15px; padding: 10px; text-align: left; cursor: pointer; transition: border-color .18s ease, transform .18s ease, background .18s ease; }.universe-grid > button:hover { transform: translateY(-2px); border-color: #454b62; }.universe-grid > button.active { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); background: rgba(113,104,255,.08); }.universe-grid strong, .universe-grid small { display: block; margin: 10px 4px 0; }.universe-grid small { color: var(--muted); margin-top: 4px; }.universe-art { height: 116px; display: block; border-radius: 10px; background-position: center; background-size: cover; background-repeat: no-repeat; }.universe-art.realistic { background-image: url('assets/universes/realiste-v2.jpg'); }.universe-art.fruit { background-image: url('assets/universes/fruits-3d-v2.jpg'); }.universe-art.human { background-image: url('assets/universes/humains-3d.jpg'); }.universe-art.custom { background-image: url('assets/universes/personnalise.jpg'); }.universe-art.animation { background-image: url('assets/universes/animation-2d-v2.jpg'); }.universe-art.clay { background-image: url('assets/universes/argile.jpg'); }.universe-art.animals { background-image: url('assets/universes/animaux-3d.jpg'); }.universe-art.objects { background-image: url('assets/universes/objets-3d.jpg'); }.extra-universe { display: none; }.universe-grid.expanded .extra-universe { display: block; animation: pageIn .22s ease; }.show-more-universes { width: 100%; border: 1px dashed #353b50; border-radius: 13px; color: var(--muted); background: transparent; padding: 12px; font: inherit; font-weight: 700; cursor: pointer; }.show-more-universes:hover { color: white; border-color: var(--primary); }.show-more-universes span { color: var(--primary-2); }.wizard-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 24px; }.wizard-actions .button { min-width: 130px; }.casting-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; margin: 26px 0 12px; }.cast-choice { position: relative; min-height: 88px; display: grid; grid-template-columns: 50px 1fr; grid-template-rows: auto auto; align-items: center; text-align: left; border: 1px solid #2d3243; background: var(--surface); border-radius: 14px; padding: 12px; cursor: pointer; }.cast-choice.selected { border-color: var(--primary); background: rgba(113,104,255,.09); }.cast-choice .mini-face { grid-row: 1/3; width: 45px; height: 45px; border-radius: 13px; display: grid; place-items: center; font-weight: 850; }.mini-face.djay { background: linear-gradient(135deg,var(--cyan),#4d68d8); }.mini-face.lea { background: linear-gradient(135deg,var(--coral),#9c54b6); }.mini-face.mango { background: linear-gradient(135deg,var(--gold),#8a9d3f); }.cast-choice small { color: var(--muted); }.cast-choice i { display: none; position: absolute; right: 12px; top: 12px; color: var(--green); font-style: normal; }.cast-choice.selected i { display: block; }.cast-choice.new > span { grid-row: 1/3; width: 45px; height: 45px; border-radius: 13px; display: grid; place-items: center; background: #1d2130; color: var(--primary-2); font-size: 24px; }.skip-cast { border: 0; background: transparent; color: var(--muted); cursor: pointer; padding: 8px 0; }.review-card { border: 1px solid #2e3345; background: var(--surface); border-radius: 16px; margin: 26px 0 14px; }.review-card > div { display: grid; grid-template-columns: 110px 1fr; gap: 15px; padding: 15px 17px; border-bottom: 1px solid #292e3e; }.review-card > div:last-child { border-bottom: 0; }.review-card span { color: var(--muted); font-size: 13px; }.review-card strong { font-size: 14px; line-height: 1.45; }.generation-note { display: flex; align-items: center; gap: 12px; border: 1px solid rgba(113,104,255,.3); background: rgba(113,104,255,.08); border-radius: 13px; padding: 13px; }.generation-note > span { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--primary); font-weight: 800; }.generation-note p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }.generation-note strong { display: block; color: white; margin-bottom: 2px; }
.compact-title { align-items: center; }.compact-title h1 { font-size: 34px; }.studio-buttons { display: flex; gap: 8px; }.studio-shell { min-height: 670px; display: grid; grid-template-columns: 150px minmax(390px,1fr) 360px; border: 1px solid #292e3e; border-radius: 18px; overflow: hidden; background: #0e111a; }.scene-column { padding: 16px 12px; background: #10131e; border-right: 1px solid #282d3e; }.column-label { color: #666d81; font-size: 10px; font-weight: 800; letter-spacing: .14em; }.scene-thumb { width: 100%; min-height: 80px; display: grid; grid-template-columns: 32px 1fr 7px; align-items: center; gap: 6px; text-align: left; border: 1px solid #2b3040; border-radius: 11px; background: #171b28; margin-top: 10px; padding: 9px; cursor: pointer; }.scene-thumb b { font-size: 12px; color: #777d90; }.scene-thumb span { font-size: 12px; }.scene-thumb i { width: 7px; height: 7px; border-radius: 50%; background: #565c70; }.scene-thumb.active { border-color: var(--primary); background: rgba(113,104,255,.12); }.scene-thumb.active i { background: var(--gold); }.scene-add { width: 100%; min-height: 48px; border: 1px dashed #42475c; border-radius: 10px; background: transparent; margin-top: 10px; cursor: pointer; }.preview-column { display: flex; flex-direction: column; padding: 24px; background: radial-gradient(circle at 50% 42%, rgba(113,104,255,.09), transparent 40%); }.video-stage { width: min(360px,85%); aspect-ratio: 9/16; margin: auto; border-radius: 17px; border: 1px solid #353a4d; background: #11141f; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #7f8597; box-shadow: 0 25px 70px rgba(0,0,0,.34); }.stage-icon { font-size: 36px; margin-bottom: 12px; }.video-stage strong { color: #aab0c0; }.video-stage small { margin-top: 9px; font-size: 10px; letter-spacing: .12em; }.video-stage.loading, .result-panel.loading { animation: pulse 1.1s infinite alternate; }@keyframes pulse { to { border-color: var(--primary); box-shadow: 0 0 45px rgba(113,104,255,.2); } }.timeline { display: grid; grid-template-columns: 35px 1fr 35px; align-items: center; gap: 8px; margin-top: 18px; color: #72798b; font-size: 11px; }.timeline div { height: 5px; background: #292e3f; border-radius: 99px; overflow: hidden; }.timeline i { display: block; height: 100%; background: var(--primary); }.editor-column { padding: 22px; border-left: 1px solid #282d3e; background: #121521; overflow: auto; }.editor-tabs { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid #2a2f40; margin-bottom: 23px; }.editor-tabs button { border: 0; background: transparent; padding: 10px; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; }.editor-tabs button.active { color: white; border-color: var(--primary); }.prompt-help { width: 100%; border: 1px solid rgba(113,104,255,.42); background: rgba(113,104,255,.08); color: var(--primary-2); border-radius: 10px; padding: 10px; margin: 9px 0 23px; cursor: pointer; }.cast-row, .model-select { width: 100%; display: flex; align-items: center; gap: 10px; border: 1px solid #2e3345; background: #171a27; border-radius: 11px; padding: 10px; margin-bottom: 21px; text-align: left; }.cast-avatar, .model-logo { width: 36px; height: 36px; border-radius: 9px; background: linear-gradient(135deg,var(--cyan),var(--primary)); display: grid; place-items: center; font-weight: 800; }.cast-row span:nth-child(2), .model-select span:nth-child(2) { flex: 1; }.cast-row strong, .cast-row small, .model-select strong, .model-select small { display: block; }.cast-row small, .model-select small { color: var(--muted); margin-top: 3px; font-size: 11px; }.cast-row button { border: 0; background: transparent; color: var(--muted); cursor: pointer; }.model-select { cursor: pointer; }.model-select b { color: var(--primary-2); font-size: 12px; }.drop-zone { width: 100%; border: 1px dashed #464c61; background: #0e111b; color: #a6acbd; border-radius: 11px; padding: 16px; cursor: pointer; }.drop-zone.tall { min-height: 100px; display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 5px; }.drop-zone small { color: var(--muted); }
.tool-layout { display: grid; grid-template-columns: minmax(420px,610px) minmax(420px,1fr); gap: 34px; }.tool-controls { max-width: 610px; }.secondary-option { width: 100%; margin-top: 9px; padding: 12px; border: 1px solid #303548; background: #171b28; border-radius: 10px; cursor: pointer; }.tool-options { margin: 18px 0; padding: 18px; background: var(--surface); border: 1px solid #292e3f; border-radius: 16px; }.result-panel { min-height: 650px; border: 1px dashed #3b4053; border-radius: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle, rgba(113,104,255,.08), transparent 42%); color: #7d8497; text-align: center; padding: 30px; }.result-panel > span { font-size: 42px; }.result-panel strong { color: #c3c7d3; margin-top: 14px; }.result-panel p { margin: 8px 0 0; }.source-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 22px 0; }.source-grid button { border: 1px solid #303547; background: var(--surface); border-radius: 12px; padding: 17px 8px; cursor: pointer; }.source-grid button span, .source-grid button strong { display: block; }.source-grid button span { font-size: 23px; margin-bottom: 6px; }.source-grid button.active { border-color: var(--primary); background: rgba(113,104,255,.1); }.tool-options input[type=range] { width: 100%; accent-color: var(--primary); }.range-label { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; }.range-label strong { color: var(--primary-2); }
.modal-backdrop { position: fixed; inset: 0; background: rgba(4,5,10,.76); backdrop-filter: blur(7px); display: none; align-items: center; justify-content: center; z-index: 50; padding: 20px; }.modal-backdrop.open { display: flex; }.modal { width: min(540px,100%); background: #151824; border: 1px solid #34394b; border-radius: 20px; padding: 26px; box-shadow: 0 40px 100px rgba(0,0,0,.5); position: relative; }.modal h2 { font-size: 28px; margin: 8px 0; }.modal > p { color: var(--muted); margin: 0 0 22px; }.modal input, .modal textarea { margin-bottom: 17px; }.modal-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; border: 1px solid #363b4d; background: transparent; border-radius: 9px; cursor: pointer; }.modal-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 5px; }.toast { position: fixed; bottom: 24px; left: 50%; transform: translate(-50%,30px); opacity: 0; pointer-events: none; background: #f5f6fb; color: #161924; border-radius: 11px; padding: 12px 18px; font-weight: 700; z-index: 100; transition: .25s; box-shadow: 0 18px 50px rgba(0,0,0,.35); max-width: min(460px, calc(100vw - 40px)); width: max-content; white-space: normal; line-height: 1.4; text-align: left; }.toast.show { opacity: 1; transform: translate(-50%,0); }
@media (max-width: 1180px) { .app-shell { grid-template-columns: 220px 1fr; }.sidebar { width: 220px; }.mode-grid { grid-template-columns: repeat(2,1fr); }.studio-shell { grid-template-columns: 110px 1fr; }.editor-column { grid-column: 1/-1; border-left: 0; border-top: 1px solid #282d3e; }.wizard-layout { gap: 26px; }.character-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 820px) { .app-shell { display: block; }.sidebar { transform: translateX(-101%); transition: transform .25s; width: 270px; }.sidebar.open { transform: translateX(0); box-shadow: 20px 0 60px rgba(0,0,0,.5); }.main-content { grid-column: auto; }.mobile-menu { display: block; }.breadcrumb, .job-pill, .icon-button { display: none; }.topbar { padding: 0 18px; }.page { padding: 28px 18px 55px; }#home { padding-top: 50px; }.welcome-row, .page-title-row { align-items: flex-start; }.date-chip { display: none; }.composer-card { grid-template-columns: 1fr; }.composer-side { border-left: 0; border-top: 1px solid #2a2f40; }.quick-dock { grid-template-columns: 1fr; }.dashboard-grid, .wizard-layout, .tool-layout { grid-template-columns: 1fr; }.wizard-summary { position: static; }.character-grid { grid-template-columns: repeat(2,1fr); }.studio-shell { grid-template-columns: 90px 1fr; }.metric-grid { grid-template-columns: 1fr; }.creation-grid { grid-template-columns: 1fr; }.result-panel { min-height: 430px; }.project-row { grid-template-columns: 50px 1fr auto; }.project-row .updated { display: none; }.project-row .row-action { grid-column: 2/4; }.top-actions .button { font-size: 13px; padding: 0 12px; } }
@media (max-width: 560px) { .welcome-row h1, .page-title-row h1, .wizard-main h1, .tool-controls h1 { font-size: 32px; }.mode-grid, .character-grid, .universe-grid, .casting-grid, .inline-choices { grid-template-columns: 1fr; }.composer-actions { align-items: flex-start; flex-direction: column; }.composer-actions > div { width: 100%; }.composer-actions .button { margin-left: auto; }.creation-body { flex-direction: column; align-items: flex-start; }.character-toolbar { overflow-x: auto; }.search-field { min-width: 230px; }.studio-shell { display: block; }.scene-column { display: flex; overflow-x: auto; gap: 8px; }.scene-thumb { min-width: 100px; }.column-label { display: none; }.scene-add { min-width: 48px; }.source-grid { grid-template-columns: 1fr; }.wizard-summary { display: none; }.review-card > div { grid-template-columns: 1fr; gap: 5px; } }

/* Banque de personnages plein pied */
.character-card { min-height: 410px; }
.character-visual { height: 275px; background-color: #e9e9ef; background-position: center; background-size: contain; background-repeat: no-repeat; overflow: hidden; }
.character-kylian-mbappe { background-image: url('assets/agent-universes/realiste/kylian-mbappe.webp'); }
.character-malik { background-image: url('assets/agent-universes/realiste/malik.webp'); }
.character-chloe { background-image: url('assets/agent-universes/realiste/chloe.webp'); }
.character-thomas { background-image: url('assets/agent-universes/realiste/thomas.webp'); }
.character-samir { background-image: url('assets/agent-universes/realiste/samir.webp'); }
.character-ines { background-image: url('assets/agent-universes/realiste/ines.webp'); }
.character-cristiano-ronaldo { background-image: url('assets/agent-universes/realiste/cristiano-ronaldo.webp'); }
.character-michou-realiste { background-image: url('assets/agent-universes/realiste/michou.webp'); }
.character-ishowspeed { background-image: url('assets/agent-universes/realiste/ishowspeed.webp'); }
.character-mrbeast { background-image: url('assets/agent-universes/realiste/mrbeast.webp'); }
.character-the-rock { background-image: url('assets/agent-universes/realiste/the-rock.webp'); }
.character-inoxtag { background-image: url('assets/agent-universes/realiste/inoxtag.webp'); }
.character-squeezie { background-image: url('assets/agent-universes/realiste/squeezie.webp'); }
.character-fraisina { background-image: url('assets/characters/fraisina-full.jpg'); }
.character-dictator { background-image: url('assets/characters/kyky-dictateur-full.jpg'); }
.character-michou { background-image: url('assets/characters/michou-full.jpg'); }
.character-speed { background-image: url('assets/characters/speed-full.jpg'); }
.character-valouzz-tchiki { background-image: url('assets/characters/valouzz-tchiki-full.jpg'); }
.character-michou-tchiki { background-image: url('assets/characters/michou-tchiki-full.jpg'); }
.character-michou-brrr { background-image: url('assets/characters/michou-brrr-full.jpg'); }
.character-tentafruit { background-image: url('assets/characters/tentafruit-full.jpg'); }
.character-dictator-v2 { background-image: url('assets/characters/kyky-dictateur-v2-full.jpg'); }
.character-lea { background-image: url('assets/characters/lea-full.jpg'); }
.character-djay { background-image: url('assets/characters/djay-full.jpg'); }
.character-silas { background-image: url('assets/characters/silas-full.jpg'); }
.character-sylve { background-image: url('assets/characters/sylve-full.jpg'); }
.character-biscuit { background-image: url('assets/characters/biscuit-full.jpg'); }
.character-fone { background-image: url('assets/characters/fone-full.jpg'); }
.character-card[hidden] { display: none; }
.cast-choice { min-height: 106px; grid-template-columns: 68px 1fr; }
.cast-choice .mini-face { width: 56px; height: 76px; border-radius: 12px; background-color: #ececf1; background-position: center top; background-size: cover; background-repeat: no-repeat; }
.mini-face.cris { background-image: url('assets/characters/cris-full.jpg'); }
.mini-face.dictator { background-image: url('assets/characters/kyky-dictateur-full.jpg'); }
.mini-face.michou { background-image: url('assets/characters/michou-full.jpg'); }
.mini-face.fraisina { background-image: url('assets/characters/fraisina-full.jpg'); }
.mini-face.dictator-v2 { background-image: url('assets/characters/kyky-dictateur-v2-full.jpg'); }
.mini-face.valouzz-tchiki { background-image: url('assets/characters/valouzz-tchiki-full.jpg'); }
.mini-face.tentafruit { background-image: url('assets/characters/tentafruit-full.jpg'); }

/* Comptes clients et abonnements */
.landing-screen { min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 83% 8%, rgba(113,104,255,.16), transparent 26%), var(--bg); }
.landing-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.landing-nav { position: relative; z-index: 30; height: 82px; display: flex; align-items: center; gap: 38px; width: min(1260px, calc(100% - 40px)); margin: 0 auto; }
.landing-brand { padding: 0; font-size: 21px; white-space: nowrap; }
.landing-brand .brand-mark { width: 38px; height: 38px; border-radius: 12px; }
.landing-nav nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.landing-nav nav a, .landing-cta a { color: #aeb3c3; text-decoration: none; font-size: 13px; font-weight: 700; }
.landing-nav nav a:hover, .landing-cta a:hover { color: white; }
.landing-nav-actions { display: flex; align-items: center; gap: 10px; }
.landing-login, .landing-footer button { border: 0; background: transparent; color: #d2d5df; font-weight: 750; cursor: pointer; }
.landing-hero { min-height: 710px; display: grid; grid-template-columns: .92fr 1.08fr; gap: 70px; align-items: center; padding-top: 45px; padding-bottom: 70px; }
.landing-pill { display: inline-flex; padding: 9px 13px; border: 1px solid rgba(145,140,255,.35); border-radius: 99px; color: var(--primary-2); background: rgba(113,104,255,.08); font-size: 10px; font-weight: 850; letter-spacing: .13em; }
.landing-hero h1 { max-width: 650px; margin: 22px 0; font-size: clamp(48px,5.6vw,76px); line-height: .99; letter-spacing: -.06em; }
.landing-hero h1 em { display: block; color: var(--primary-2); font-style: normal; }
.landing-hero-copy > p { max-width: 610px; color: #a9aec0; font-size: 19px; line-height: 1.6; }
.landing-cta { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.landing-big { min-height: 55px; padding: 0 23px; font-size: 15px; }
.landing-reassurance { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 24px; color: #777e91; font-size: 11px; }
.landing-reassurance span::first-letter { color: var(--green); }
.hero-product { position: relative; min-height: 550px; display: grid; place-items: center; }
.hero-glow { position: absolute; width: 450px; height: 450px; border-radius: 50%; background: rgba(113,104,255,.19); filter: blur(80px); }
.hero-app-frame { position: relative; z-index: 2; width: min(690px,100%); padding: 12px; border: 1px solid #383e53; border-radius: 23px; background: #10131e; box-shadow: 0 42px 100px rgba(0,0,0,.5); transform: perspective(1200px) rotateY(-4deg) rotateX(1deg); }
.hero-app-top { height: 44px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; padding: 0 8px; color: #8f95a8; font-size: 10px; }
.hero-app-top > span { display: flex; gap: 5px; }.hero-app-top i { width: 7px; height: 7px; border-radius: 50%; background: #3e4456; }.hero-app-top b { color: #c7cad5; text-align: center; }.hero-app-top small { text-align: right; }
.hero-app-body { min-height: 414px; display: grid; grid-template-columns: 54px 1.08fr .92fr; gap: 11px; padding: 11px; border-radius: 15px; background: #090b13; }
.hero-scene-list { display: flex; flex-direction: column; gap: 8px; }.hero-scene-list span { height: 47px; display: grid; place-items: center; border: 1px solid #24293a; border-radius: 8px; color: #646b7e; font-size: 10px; }.hero-scene-list span.active { color: white; border-color: var(--primary); background: rgba(113,104,255,.15); }
.hero-video { position: relative; min-height: 380px; overflow: hidden; border: 1px solid #303648; border-radius: 13px; background: #161a26; }.hero-video img { width: 100%; height: 100%; object-fit: cover; }.hero-video::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(4,5,10,.88)); }.hero-video button { position: absolute; z-index: 2; left: 50%; top: 45%; transform: translate(-50%,-50%); width: 50px; height: 50px; border: 0; border-radius: 50%; color: white; background: rgba(12,14,23,.75); backdrop-filter: blur(8px); }.hero-caption { position: absolute; z-index: 3; left: 15px; right: 15px; bottom: 18px; text-align: center; font-size: 13px; font-weight: 800; text-shadow: 0 2px 8px #000; }
.hero-prompt { align-self: stretch; padding: 15px; border: 1px solid #262c3c; border-radius: 13px; background: #131621; }.hero-prompt small { color: #747b8f; font-size: 8px; letter-spacing: .13em; }.hero-prompt p { min-height: 110px; padding: 12px; border: 1px solid #292e3e; border-radius: 9px; color: #aeb3c2; background: #0d1019; font-size: 11px; line-height: 1.5; }.hero-prompt > div { display: flex; align-items: center; justify-content: space-between; margin-top: 95px; }.hero-prompt span { padding: 7px; border: 1px solid #33394a; border-radius: 7px; color: #8d93a5; font-size: 10px; }.hero-prompt strong { padding: 8px 10px; border-radius: 7px; color: white; background: var(--primary); font-size: 9px; }
.floating-card { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; min-width: 190px; padding: 12px 14px; border: 1px solid #353b50; border-radius: 13px; background: rgba(20,23,35,.92); box-shadow: 0 20px 40px rgba(0,0,0,.36); backdrop-filter: blur(12px); }.floating-card > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; background: rgba(85,214,158,.12); color: var(--green); }.floating-card strong,.floating-card small { display: block; }.floating-card strong { font-size: 11px; }.floating-card small { margin-top: 3px; color: var(--muted); font-size: 9px; }.floating-one { right: -18px; top: 90px; }.floating-two { left: -30px; bottom: 80px; }.floating-two > span { color: var(--primary-2); background: rgba(113,104,255,.15); }
.landing-strip { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 31px; border-top: 1px solid #1e2231; border-bottom: 1px solid #1e2231; color: #646b7e; background: #0c0f18; font-size: 11px; font-weight: 850; letter-spacing: .13em; }.landing-strip i { width: 4px; height: 4px; border-radius: 50%; background: #353b4e; }
.landing-section { padding-top: 115px; padding-bottom: 115px; }
.landing-heading { max-width: 700px; margin: 0 auto 45px; text-align: center; }.landing-heading h2, .feature-copy h2, .final-cta h2 { margin: 12px 0; font-size: clamp(36px,4vw,54px); line-height: 1.05; letter-spacing: -.05em; }.landing-heading p, .feature-copy > p, .final-cta p { color: var(--muted); font-size: 17px; line-height: 1.6; }
.steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }.steps-grid article { position: relative; min-height: 250px; padding: 23px; border: 1px solid #292e3f; border-radius: 18px; background: #11141f; }.steps-grid article > span { position: absolute; top: 20px; right: 20px; color: #474e61; font-size: 11px; font-weight: 850; }.step-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--primary-2); background: rgba(113,104,255,.13); font-size: 20px; }.steps-grid h3 { margin: 28px 0 9px; }.steps-grid p { color: var(--muted); line-height: 1.55; font-size: 13px; }
.landing-feature-section { background: linear-gradient(180deg, transparent, rgba(113,104,255,.055), transparent); }.feature-split { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: center; }.feature-copy ul { margin: 25px 0 30px; padding: 0; list-style: none; }.feature-copy li { padding: 8px 0; color: #c8ccd8; }.feature-copy li::before { content: '✓'; margin-right: 11px; color: var(--green); }
.feature-demo { padding: 28px; border: 1px solid #303548; border-radius: 22px; background: #11141f; box-shadow: 0 30px 80px rgba(0,0,0,.3); }.feature-demo > small { display: block; margin-top: 27px; color: var(--primary-2); font-weight: 800; letter-spacing: .12em; }.feature-demo h3 { margin: 8px 0 18px; font-size: 28px; }.demo-progress { display: flex; align-items: center; }.demo-progress span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #353b4e; border-radius: 50%; color: #687084; font-size: 11px; }.demo-progress span.done,.demo-progress span.active { color: white; border-color: var(--primary); background: var(--primary); }.demo-progress i { flex: 1; height: 2px; background: #2a2f40; }.demo-universes { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.demo-universes article { padding: 9px; border: 1px solid #2e3446; border-radius: 13px; background: #151925; }.demo-universes article.selected { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }.demo-universes img { width: 100%; height: 110px; object-fit: cover; border-radius: 9px; }.demo-universes strong { display: block; margin: 9px 2px 2px; font-size: 12px; }
.landing-character-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 13px; }.landing-character-row article { overflow: hidden; border: 1px solid #2a3041; border-radius: 17px; background: #121521; }.landing-character-row img { width: 100%; aspect-ratio: .78; display: block; object-fit: cover; object-position: top center; background: #ececf1; }.landing-character-row article div { padding: 14px; }.landing-character-row strong,.landing-character-row span { display: block; }.landing-character-row span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.landing-pricing-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; align-items: stretch; }.landing-pricing-grid article { position: relative; display: flex; flex-direction: column; min-height: 460px; padding: 27px; border: 1px solid #2b3042; border-radius: 20px; background: #121521; }.landing-pricing-grid article.featured { border-color: var(--primary); background: linear-gradient(160deg,rgba(113,104,255,.16),#121521 45%); transform: translateY(-10px); }.landing-pricing-grid article > p { color: var(--muted); }.landing-pricing-grid article > b { margin: 5px 0 14px; color: var(--primary-2); }.landing-pricing-grid ul { flex: 1; padding: 0; list-style: none; color: #c5c9d5; }.landing-pricing-grid li { position: relative; padding: 7px 0 7px 22px; }.landing-pricing-grid li::before { content: '✓'; position: absolute; left: 0; color: var(--green); }
.faq-section { max-width: 900px; }.faq-list { border-top: 1px solid #2a2f40; }.faq-list details { border-bottom: 1px solid #2a2f40; }.faq-list summary { display: flex; align-items: center; justify-content: space-between; padding: 22px 4px; cursor: pointer; font-size: 16px; font-weight: 750; list-style: none; }.faq-list summary::after { content: '+'; color: var(--primary-2); font-size: 22px; }.faq-list details[open] summary::after { content: '−'; }.faq-list p { max-width: 720px; margin: -5px 0 23px; color: var(--muted); line-height: 1.6; }
.final-cta { width: min(1180px,calc(100% - 48px)); margin: 10px auto 90px; padding: 75px 30px; border: 1px solid #363c51; border-radius: 28px; text-align: center; background: radial-gradient(circle at 50% 120%, rgba(113,104,255,.33), transparent 55%), #11141f; }.final-cta > div { max-width: 700px; margin: auto; }.final-cta .button { margin-top: 12px; }
.landing-footer { min-height: 120px; display: flex; align-items: center; gap: 30px; width: min(1260px,calc(100% - 40px)); margin: auto; border-top: 1px solid #1f2433; }.landing-footer p { margin-left: auto; color: #656c7f; font-size: 11px; }.landing-footer button { color: var(--primary-2); }
.auth-back { position: fixed; top: 24px; left: 24px; z-index: 3; border: 0; background: transparent; color: #aeb3c3; cursor: pointer; font-weight: 750; }
.auth-screen { min-height: 100vh; display: grid; grid-template-columns: minmax(260px,.9fr) minmax(440px,1.1fr); background: radial-gradient(circle at 18% 15%, rgba(113,104,255,.22), transparent 35%), var(--bg); }
.auth-brand { padding: 56px; display: flex; align-items: center; align-self: start; gap: 14px; font-size: 27px; font-weight: 850; letter-spacing: -.04em; }
.auth-brand > strong span { color: var(--primary-2); }
.auth-panel { width: min(520px, calc(100% - 48px)); align-self: center; justify-self: center; margin: 48px 0; padding: 38px; border: 1px solid #303548; border-radius: 24px; background: rgba(18,21,34,.94); box-shadow: 0 35px 110px rgba(0,0,0,.45); }
.auth-panel h1 { margin: 10px 0 8px; font-size: 42px; letter-spacing: -.045em; }
.auth-panel > p { margin: 0; color: var(--muted); line-height: 1.5; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 28px 0 22px; padding: 5px; border-radius: 12px; background: #0d1019; }
.auth-tabs button { min-height: 42px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; font-weight: 750; }
.auth-tabs button.active { color: white; background: #212638; box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.auth-form { display: grid; gap: 16px; }
.auth-form label:not(.terms-check) { display: grid; gap: 8px; color: #c9cdd9; font-size: 13px; font-weight: 750; }
.auth-form input { min-height: 50px; width: 100%; color: white; background: #0d1019; border: 1px solid #2c3143; border-radius: 11px; padding: 0 14px; }
.terms-check { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: 12px; line-height: 1.45; font-weight: 500; }
.terms-check input { width: 17px; min-height: 17px; margin-top: 1px; accent-color: var(--primary); }
.form-error { min-height: 18px; margin: -5px 0 0 !important; color: #ff9685 !important; font-size: 12px; }
.auth-security { display: block; margin-top: 22px; padding-top: 18px; border-top: 1px solid #2a2f40; color: var(--muted); line-height: 1.5; }

.current-plan-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 27px; margin-bottom: 24px; border: 1px solid rgba(113,104,255,.52); border-radius: 19px; background: linear-gradient(120deg, rgba(113,104,255,.14), rgba(77,217,255,.04)); }
.current-plan-card h2 { margin: 7px 0 5px; font-size: 30px; }
.current-plan-card p { margin: 0; color: var(--muted); }
.credit-balance { min-width: 170px; padding: 16px 20px; border-radius: 14px; text-align: right; background: rgba(9,11,19,.65); }
.credit-balance small, .credit-balance span { display: block; color: var(--muted); }
.credit-balance strong { display: block; margin: 2px 0; font-size: 27px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.pricing-card { position: relative; display: flex; flex-direction: column; min-height: 445px; padding: 25px; border: 1px solid #2b3042; border-radius: 19px; background: var(--surface); }
.pricing-card.featured { border-color: var(--primary); background: linear-gradient(160deg, rgba(113,104,255,.15), var(--surface) 47%); box-shadow: 0 22px 55px rgba(113,104,255,.12); }
.popular-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 7px 16px; border-radius: 99px; color: #11131c; background: var(--primary-2); font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.plan-name { font-size: 26px; font-weight: 850; }
.pricing-card > p { min-height: 43px; color: var(--muted); line-height: 1.45; }
.plan-price { display: flex; align-items: baseline; gap: 7px; margin: 15px 0 3px; }
.plan-price strong { font-size: 35px; letter-spacing: -.04em; }
.plan-price small { color: var(--muted); }
.plan-credits { margin-bottom: 14px; color: var(--primary-2); font-weight: 800; }
.pricing-card ul { flex: 1; margin: 12px 0 24px; padding: 0; list-style: none; color: #c4c8d5; }
.pricing-card li { position: relative; padding: 7px 0 7px 22px; line-height: 1.4; }
.pricing-card li::before { content: '✓'; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.pricing-card button:disabled { opacity: .65; cursor: default; transform: none; }
.billing-management { margin-top: 20px; padding: 20px; display: flex; align-items: center; gap: 10px; border: 1px solid #2c3142; border-radius: 16px; background: #11141f; }
.billing-management > div { flex: 1; }
.billing-management h3 { margin: 0 0 5px; }
.billing-management p, .billing-note { color: var(--muted); }
.billing-management p { margin: 0; font-size: 13px; }
.billing-note { margin: 17px 2px 0; font-size: 12px; }
.checkout-summary { display: grid; grid-template-columns: 1fr auto; gap: 12px 20px; margin: 18px 0; padding: 18px; border: 1px solid #303548; border-radius: 13px; background: #0d1019; }
.checkout-summary span { color: var(--muted); }
.checkout-summary strong { text-align: right; }
.secure-check { margin-bottom: 18px; color: var(--green); font-size: 13px; }
.private-empty { grid-column: 1/-1; min-height: 330px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 30px; text-align: center; border: 1px dashed #373d50; border-radius: 19px; background: radial-gradient(circle, rgba(113,104,255,.08), transparent 50%); }
.private-empty > span { font-size: 37px; color: var(--primary-2); }
.private-empty h3 { margin: 16px 0 6px; }
.private-empty p { margin: 0 0 20px; color: var(--muted); }

@media (max-width: 900px) {
  .landing-nav nav { display: none; }
  .landing-hero { min-height: auto; grid-template-columns: 1fr; gap: 25px; padding-top: 65px; }
  .landing-hero-copy { text-align: center; }.landing-hero-copy > p { margin-left: auto; margin-right: auto; }.landing-cta,.landing-reassurance { justify-content: center; }
  .hero-product { min-height: 510px; }.floating-one { right: 0; }.floating-two { left: 0; }
  .steps-grid { grid-template-columns: repeat(2,1fr); }
  .feature-split { grid-template-columns: 1fr; gap: 45px; }
  .landing-character-row { grid-template-columns: repeat(3,1fr); }.landing-character-row article:nth-child(n+4) { display: none; }
  .landing-pricing-grid { grid-template-columns: 1fr; max-width: 580px; margin: auto; }.landing-pricing-grid article.featured { transform: none; }
  .auth-screen { grid-template-columns: 1fr; align-content: start; }
  .auth-brand { padding: 30px 30px 0; }
  .auth-panel { margin: 34px 0; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card { min-height: auto; }
}
@media (max-width: 560px) {
  .landing-container { width: min(100% - 28px,1180px); }
  .landing-nav { width: calc(100% - 28px); }.landing-nav-actions .landing-login { display: none; }.landing-nav-actions .button { min-height: 38px; padding: 0 13px; font-size: 12px; }
  .landing-hero { padding-top: 42px; padding-bottom: 55px; }.landing-hero h1 { font-size: 45px; }.landing-hero-copy > p { font-size: 16px; }.landing-cta { flex-direction: column; }.landing-reassurance { gap: 9px; flex-direction: column; }
  .hero-product { min-height: 410px; margin: 0 -10px; }.hero-app-body { min-height: 310px; grid-template-columns: 38px 1fr; }.hero-prompt { display: none; }.hero-video { min-height: 290px; }.hero-scene-list span { height: 38px; }.floating-card { display: none; }
  .landing-strip { justify-content: flex-start; overflow: hidden; padding: 0 22px; gap: 20px; }
  .landing-section { padding-top: 80px; padding-bottom: 80px; }.landing-heading { margin-bottom: 30px; }.landing-heading h2,.feature-copy h2,.final-cta h2 { font-size: 37px; }
  .steps-grid { grid-template-columns: 1fr; }.steps-grid article { min-height: 210px; }
  .feature-demo { padding: 18px; }.demo-universes img { height: 82px; }
  .landing-character-row { grid-template-columns: repeat(2,1fr); }.landing-character-row article:nth-child(3) { display: none; }
  .final-cta { width: calc(100% - 28px); padding: 55px 20px; }.landing-footer { align-items: flex-start; flex-direction: column; padding: 25px 0; }.landing-footer p { margin: 0; }.landing-footer button { padding: 0; }
  .auth-brand { padding: 22px 20px 0; }
  .auth-panel { width: calc(100% - 28px); margin: 24px 0; padding: 25px 20px; }
  .auth-panel h1 { font-size: 34px; }
  .current-plan-card { align-items: stretch; flex-direction: column; }
  .credit-balance { text-align: left; }
  .billing-management { align-items: stretch; flex-direction: column; }
  .billing-management .button { width: 100%; }
}

/* Page publique épurée et animée */
.landing-nav { position: sticky; top: 0; width: 100%; padding: 0 max(24px,calc((100vw - 1260px)/2)); background: rgba(9,11,19,.72); border-bottom: 1px solid rgba(42,47,64,.55); backdrop-filter: blur(18px); }
.viral-hero { min-height: 610px; padding: 115px 0 70px; text-align: center; }
.creator-proof { display: inline-flex; align-items: center; gap: 12px; color: #aeb4c5; font-size: 12px; }
.proof-faces { display: flex; }.proof-faces img { width: 30px; height: 30px; object-fit: cover; border: 2px solid var(--bg); border-radius: 50%; background: #202535; }.proof-faces img + img { margin-left: -9px; }
.viral-hero h1 { margin: 24px auto 24px; max-width: 900px; font-size: clamp(52px,6vw,84px); line-height: .98; letter-spacing: -.06em; }.viral-hero h1 span { white-space:nowrap; }.viral-hero h1 em { color: var(--primary-2); font-style: normal; }.viral-hero > p { margin: 0 auto 28px; color: #9ba2b5; font-size: clamp(17px,2vw,22px); }.viral-cta { min-height: 58px; padding: 0 28px; font-size: 16px; }.hero-note { display: block; margin-top: 14px; color: #626a7e; font-size: 10px; }
.viral-showcase { overflow: hidden; padding: 10px 0 115px; -webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }.showcase-track { width: max-content; display: flex; align-items: center; gap: 16px; padding: 20px; animation: showcaseFloat 26s ease-in-out infinite alternate; }.video-tile { position: relative; width: 220px; height: 335px; flex: 0 0 auto; overflow: hidden; border: 1px solid #303649; border-radius: 20px; background: #151925; box-shadow: 0 24px 55px rgba(0,0,0,.28); transform: rotate(-1deg); }.video-tile:nth-child(even) { transform: rotate(1deg); }.video-tile.tall { height: 385px; }.video-tile img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }.video-tile::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(5,6,11,.92)); }.video-tile span,.video-tile b { position: absolute; z-index: 2; left: 15px; }.video-tile span { bottom: 38px; font-weight: 850; }.video-tile b { bottom: 17px; color: #c7cbd7; font-size: 10px; }@keyframes showcaseFloat { from { transform: translateX(2vw); } to { transform: translateX(calc(-100% + 98vw)); } }
.clean-section { padding-top: 120px; padding-bottom: 120px; }.clean-heading { max-width: 720px; margin-bottom: 45px; }.clean-heading.centered { margin-left: auto; margin-right: auto; text-align: center; }.clean-heading > span,.series-copy > span { color: var(--primary-2); font-size: 10px; font-weight: 900; letter-spacing: .16em; }.clean-heading h2,.series-copy h2 { margin: 12px 0; font-size: clamp(42px,5vw,64px); line-height: 1; letter-spacing: -.06em; }.clean-heading p,.series-copy p { color: var(--muted); font-size: 16px; }
.creation-modes { display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: 1fr 1fr; gap: 16px; }.creation-modes article { overflow: hidden; border: 1px solid #2b3041; border-radius: 24px; background: #11141f; }.mode-large { grid-row: 1/3; min-height: 600px; display: grid; grid-template-rows: auto 1fr; padding: 36px; background: radial-gradient(circle at 75% 80%,rgba(113,104,255,.16),transparent 45%),#11141f !important; }.mode-small { position: relative; min-height: 292px; padding: 28px; }.mode-tag { color: var(--primary-2); font-size: 10px; font-weight: 900; letter-spacing: .13em; }.creation-modes h3 { margin: 13px 0 8px; font-size: 30px; letter-spacing: -.04em; }.creation-modes p { margin: 0; color: var(--muted); }.mode-large button { margin-top: 23px; padding: 0; border: 0; color: white; background: transparent; font-weight: 800; cursor: pointer; }.agent-chat { align-self: end; margin: 55px 10px 0; padding: 21px; border: 1px solid #33394d; border-radius: 19px; background: #0c0f18; }.chat-question { margin-left: auto; width: 77%; padding: 14px; border-radius: 14px 14px 3px 14px; color: #d7d9e4; background: #1a1e2c; font-size: 13px; }.chat-answer { display: flex; gap: 11px; align-items: center; margin-top: 25px; }.chat-answer > i { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--primary); font-style: normal; }.chat-answer b,.chat-answer small { display: block; }.chat-answer small { margin-top: 4px; color: var(--muted); }.chat-progress { height: 5px; margin-top: 18px; overflow: hidden; border-radius: 99px; background: #24293a; }.chat-progress i { display: block; width: 68%; height: 100%; background: linear-gradient(90deg,var(--primary),var(--cyan)); animation: progressPulse 2.2s ease-in-out infinite alternate; }@keyframes progressPulse { to { width: 92%; } }
.mini-phone { position: absolute; right: 20px; bottom: -55px; width: 130px; height: 190px; overflow: hidden; border: 5px solid #252a3b; border-radius: 20px; transform: rotate(7deg); }.mini-phone img { width: 100%; height: 100%; object-fit: cover; }.mini-phone span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(7,8,14,.7); }.mini-editor { position: absolute; right: 20px; bottom: 25px; width: 180px; height: 70px; display: flex; align-items: end; gap: 6px; padding: 11px; border: 1px solid #303649; border-radius: 12px; background: #0c0f18; }.mini-editor i { width: 24px; height: 40px; border-radius: 5px; background: #222737; }.mini-editor i.active { height: 48px; border: 1px solid var(--primary); background: rgba(113,104,255,.18); }.mini-editor div { flex: 1; height: 5px; margin: 0 0 16px 8px; border-radius: 99px; background: linear-gradient(90deg,var(--primary) 55%,#2b3040 55%); }
.themes-section { overflow: hidden; background: linear-gradient(180deg,transparent,rgba(113,104,255,.055),transparent); }.themes-rail { width: max-content; display: flex; gap: 14px; padding: 0 4vw; animation: themeDrift 24s ease-in-out infinite alternate; }.themes-rail article { position: relative; width: 310px; height: 210px; overflow: hidden; border: 1px solid #303649; border-radius: 19px; }.themes-rail img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.themes-rail article:hover img { transform: scale(1.05); }.themes-rail article::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(7,8,14,.92)); }.themes-rail strong { position: absolute; z-index: 2; left: 17px; bottom: 16px; font-size: 17px; }@keyframes themeDrift { to { transform: translateX(-22vw); } }
.series-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: center; }.series-copy .button { margin-top: 20px; }.series-fan { min-height: 480px; display: flex; align-items: center; justify-content: center; }.series-fan article { position: relative; width: 205px; height: 365px; overflow: hidden; border: 1px solid #363c50; border-radius: 19px; background: #171a27; box-shadow: 0 24px 60px rgba(0,0,0,.3); }.series-fan article:nth-child(1) { transform: rotate(-8deg) translateX(35px); }.series-fan article:nth-child(2) { z-index: 2; transform: translateY(-22px); }.series-fan article:nth-child(3) { transform: rotate(8deg) translateX(-35px); }.series-fan img { width: 100%; height: 100%; object-fit: cover; object-position: top; }.series-fan article:nth-child(1) img { filter: hue-rotate(-12deg); }.series-fan article:nth-child(3) img { filter: hue-rotate(16deg); }.series-fan span { position: absolute; left: 12px; bottom: 12px; padding: 5px 8px; border-radius: 7px; background: rgba(8,10,17,.75); font-size: 9px; font-weight: 900; }
.simple-pricing { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.simple-pricing article { position: relative; min-height: 270px; display: flex; flex-direction: column; padding: 27px; border: 1px solid #2b3041; border-radius: 20px; background: #11141f; }.simple-pricing article.featured { border-color: var(--primary); background: linear-gradient(155deg,rgba(113,104,255,.15),#11141f 50%); transform: translateY(-10px); }.simple-pricing article > em { position: absolute; top: -12px; right: 20px; padding: 6px 10px; border-radius: 99px; color: #0c0e16; background: var(--primary-2); font-size: 9px; font-style: normal; font-weight: 900; }.simple-pricing article > span { font-size: 20px; font-weight: 850; }.simple-pricing article > strong { display: block; margin: 22px 0 6px; font-size: 33px; }.simple-pricing strong small { color: var(--muted); font-size: 12px; }.simple-pricing article > b { color: var(--primary-2); font-size: 12px; }.simple-pricing .button { width: 100%; margin-top: auto; }
.compact-faq { max-width: 840px; }.compact-faq .faq-list { margin-top: 10px; }
.motion-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1); }.motion-ready .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .showcase-track,.themes-rail,.chat-progress i { animation: none; }.motion-ready .reveal { opacity: 1; transform: none; transition: none; } }
@media (max-width: 900px) { .viral-hero { min-height: 530px; padding-top: 90px; }.creation-modes { grid-template-columns: 1fr; grid-template-rows: auto; }.mode-large { grid-row: auto; min-height: 540px; }.mode-small { min-height: 280px; }.series-section { grid-template-columns: 1fr; }.series-copy { text-align: center; }.simple-pricing { grid-template-columns: 1fr; max-width: 560px; margin: auto; }.simple-pricing article.featured { transform: none; } }
@media (max-width: 560px) { .viral-hero { min-height: 500px; padding: 85px 8px 50px; }.viral-hero h1 { font-size: 44px; letter-spacing:-.05em; }.viral-hero h1 span { white-space:normal; }.viral-showcase { padding-bottom: 70px; }.video-tile { width: 165px; height: 270px; }.video-tile.tall { height: 305px; }.clean-section { padding-top: 82px; padding-bottom: 82px; }.clean-heading h2,.series-copy h2 { font-size: 41px; }.mode-large { min-height: 500px; padding: 24px; }.mode-small { padding: 23px; }.creation-modes h3 { font-size: 26px; }.agent-chat { margin-left: 0; margin-right: 0; }.themes-rail article { width: 230px; height: 160px; }.series-fan { min-height: 360px; }.series-fan article { width: 145px; height: 280px; }.series-fan article:nth-child(1) { transform: rotate(-7deg) translateX(25px); }.series-fan article:nth-child(3) { transform: rotate(7deg) translateX(-25px); } }

/* Landing commerciale — interactions et preuves vérifiables */
.creation-modes { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
.mode-large,.mode-small { min-height: 500px; }
.mode-large { grid-row: auto; }
.mini-series { position: absolute; right: 8%; bottom: -42px; left: 8%; display: flex; align-items: flex-end; justify-content: center; }
.mini-series img { width: 31%; height: 270px; object-fit: cover; object-position: top; border: 1px solid #3b4055; border-radius: 18px; box-shadow: 0 22px 48px rgba(0,0,0,.38); }
.mini-series img:nth-child(1) { transform: rotate(-8deg) translateX(28px); }
.mini-series img:nth-child(2) { z-index: 2; height: 300px; transform: translateY(-20px); }
.mini-series img:nth-child(3) { transform: rotate(8deg) translateX(-28px); }

.selectable-themes { width: min(1320px,calc(100% - 48px)); height: 460px; margin: 0 auto; padding: 0; animation: none; }
.selectable-themes button { position: relative; min-width: 0; flex: 0 0 112px; overflow: hidden; padding: 0; border: 1px solid #303649; border-radius: 22px; color: #fff; background: #11141f; cursor: pointer; transition: flex .65s cubic-bezier(.22,1,.36,1),border-color .35s,transform .35s; }
.selectable-themes button::after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(7,8,14,.94)); pointer-events:none; }
.selectable-themes button:hover { border-color:#5b6278; transform:translateY(-4px); }
.selectable-themes button.active { flex: 1 1 560px; border-color:var(--primary); box-shadow:0 24px 80px rgba(113,104,255,.16); }
.selectable-themes button img { width:100%; height:100%; object-fit:cover; transform:scale(1.03); filter:saturate(.85) brightness(.72); transition:transform .7s,filter .5s; }
.selectable-themes button.active img { transform:scale(1); filter:saturate(1.08) brightness(.92); }
.selectable-themes button strong { position:absolute; z-index:2; left:50%; bottom:30px; white-space:nowrap; font-size:15px; letter-spacing:.01em; transform:translateX(-50%) rotate(-90deg); transition:.45s ease; }
.selectable-themes button.active strong { left:26px; bottom:24px; font-size:24px; transform:none; }

.partner-section { overflow:hidden; }
.partner-marquee { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:38px; }
.partner-marquee article { display:flex; align-items:center; gap:14px; min-height:110px; padding:20px; border:1px solid #2b3041; border-radius:18px; background:linear-gradient(145deg,#141722,#0f111a); }
.partner-avatar { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; border-radius:50%; color:#0b0d14; background:linear-gradient(135deg,var(--primary-2),var(--cyan)); font-size:22px; font-weight:900; }
.partner-marquee article div:nth-child(2) { min-width:0; }
.partner-marquee strong,.partner-marquee span { display:block; }
.partner-marquee strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.partner-marquee span { margin-top:5px; color:var(--muted); font-size:13px; }
.partner-marquee article > b { margin-left:auto; padding:6px 9px; border:1px solid rgba(126,239,210,.28); border-radius:99px; color:var(--cyan); background:rgba(126,239,210,.07); font-size:9px; letter-spacing:.08em; }

.pain-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:stretch; margin-top:46px; }
.pain-list { display:flex; flex-direction:column; justify-content:center; }
.pain-list p { display:flex; gap:16px; align-items:center; margin:0; padding:22px 0; border-bottom:1px solid #252938; color:#e7e9f2; font-size:18px; font-weight:750; }
.pain-list p:first-child { border-top:1px solid #252938; }
.pain-list i,.relief-card i { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:50%; font-style:normal; }
.pain-list i { color:#ff7878; border:1px solid rgba(255,120,120,.4); background:rgba(255,120,120,.08); }
.relief-card { padding:40px; border:1px solid rgba(126,239,210,.4); border-radius:26px; background:radial-gradient(circle at 100% 0,rgba(126,239,210,.12),transparent 42%),linear-gradient(145deg,#171a27,#11141e); }
.relief-card h3 { margin:0 0 24px; font-size:34px; }
.relief-card p { display:flex; gap:14px; align-items:center; margin:18px 0; color:#dfe3ef; }
.relief-card i { color:#10131c; background:var(--primary-2); font-weight:900; }
.relief-card .button { margin-top:22px; }

.testimonials-ready { overflow:hidden; }
.testimonial-track { width:min(1160px,calc(100% - 40px)); display:grid; grid-template-columns:repeat(3,minmax(300px,1fr)); gap:16px; margin:40px auto 0; }
.testimonial-track article { min-height:190px; padding:28px; border:1px solid #2b3041; border-radius:20px; background:#11141f; }
.testimonial-track span { color:var(--primary-2); font-size:10px; font-weight:900; letter-spacing:.12em; }
.testimonial-track p { margin:45px 0 0; color:#b6bacb; font-size:18px; line-height:1.55; }

.compact-faq { max-width:1180px; display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; align-items:start; }
.faq-intro > span { color:var(--primary-2); font-size:11px; font-weight:900; letter-spacing:.16em; }
.faq-intro h2 { margin:15px 0 18px; font-size:clamp(42px,5vw,70px); line-height:.98; letter-spacing:-.055em; }
.faq-intro p { color:var(--muted); }
.compact-faq .faq-list { margin:0; border-top:1px solid #282c3b; }
.compact-faq details { position:relative; padding:0; border-bottom:1px solid #282c3b; }
.compact-faq summary { min-height:88px; display:flex; align-items:center; padding:20px 54px 20px 4px; color:#f1f2f7; font-size:18px; font-weight:800; cursor:pointer; list-style:none; }
.compact-faq summary::-webkit-details-marker { display:none; }
.compact-faq summary::after { content:'+'; position:absolute; top:26px; right:6px; width:34px; height:34px; display:grid; place-items:center; border:1px solid #313645; border-radius:50%; color:var(--muted); font-size:22px; font-weight:400; }
.compact-faq details[open] summary { color:var(--primary-2); }
.compact-faq details[open] summary::after { content:'×'; color:#0b0d14; border-color:var(--primary-2); background:var(--primary-2); }
.compact-faq details p { margin:-5px 54px 24px 4px; color:var(--muted); line-height:1.6; }

@media (max-width:900px) {
  .creation-modes { grid-template-columns:1fr; }
  .mode-large,.mode-small { min-height:430px; }
  .selectable-themes { height:390px; overflow-x:auto; scroll-snap-type:x mandatory; }
  .selectable-themes button,.selectable-themes button.active { flex:0 0 min(78vw,520px); scroll-snap-align:center; }
  .selectable-themes button strong,.selectable-themes button.active strong { left:22px; bottom:20px; font-size:21px; transform:none; }
  .partner-marquee,.testimonial-track { grid-template-columns:1fr; }
  .pain-grid,.compact-faq { grid-template-columns:1fr; gap:42px; }
  .partner-marquee { max-width:600px; margin-right:auto; margin-left:auto; }
}
@media (max-width:560px) {
  .mode-large,.mode-small { min-height:390px; }
  .mini-series img { height:205px; }
  .mini-series img:nth-child(2) { height:235px; }
  .selectable-themes { width:calc(100% - 24px); height:320px; gap:10px; }
  .selectable-themes button,.selectable-themes button.active { flex-basis:82vw; border-radius:18px; }
  .pain-grid { margin-top:30px; }
  .pain-list p { padding:17px 0; font-size:16px; }
  .relief-card { padding:26px 22px; }
  .relief-card h3 { font-size:28px; }
  .testimonial-track { grid-template-columns:repeat(3,82vw); overflow-x:auto; scroll-snap-type:x mandatory; }
  .testimonial-track article { scroll-snap-align:center; }
  .compact-faq summary { min-height:74px; font-size:16px; }
}

/* Landing v6 — démonstrations vidéo et défilements continus */
.viral-hero { min-height:560px; padding-bottom:56px; }
.product-demo { padding-bottom:105px; }
.demo-window { position:relative; width:min(1040px,100%); aspect-ratio:16/8.7; margin:auto; overflow:hidden; border:1px solid #32384c; border-radius:28px; background:#10131d; box-shadow:0 42px 120px rgba(0,0,0,.48),0 0 100px rgba(113,104,255,.12); }
.demo-window video { width:100%; height:100%; object-fit:cover; }
.demo-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,10,17,.82),rgba(8,10,17,.1) 65%),linear-gradient(0deg,rgba(8,10,17,.65),transparent 55%); }
.demo-badge { position:absolute; top:28px; left:30px; padding:8px 11px; border:1px solid rgba(255,255,255,.16); border-radius:99px; color:#e6e8f3; background:rgba(10,12,20,.58); backdrop-filter:blur(10px); font-size:10px; font-weight:900; letter-spacing:.13em; }
.demo-copy { position:absolute; left:36px; bottom:38px; display:grid; gap:8px; }
.demo-copy strong { max-width:540px; font-size:clamp(27px,4vw,50px); line-height:1; letter-spacing:-.045em; }
.demo-copy span { color:#c0c5d4; font-size:14px; }
.demo-steps { position:absolute; right:30px; bottom:32px; display:flex; gap:7px; }
.demo-steps i { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#bec3d2; background:rgba(8,10,17,.55); font-size:10px; font-style:normal; font-weight:900; animation:demoStep 4.8s ease-in-out infinite; }
.demo-steps i:nth-child(2) { animation-delay:1.2s; }.demo-steps i:nth-child(3) { animation-delay:2.4s; }.demo-steps i:nth-child(4) { animation-delay:3.6s; }

/* Démo produit animée : plusieurs univers, comme une vraie bande-annonce d'interface */
.hero-motion { position:absolute; inset:0; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(113,104,255,.28),transparent 38%),#080a12; }
.hero-motion::before { content:''; position:absolute; inset:-30%; opacity:.42; background:repeating-linear-gradient(135deg,transparent 0 82px,rgba(145,140,255,.1) 82px 88px); animation:motionBackdrop 18s linear infinite; }
.motion-scene { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:56px; opacity:0; transform:scale(.96); animation:motionScene 36s ease-in-out infinite; }
.motion-scene h3 { position:relative; z-index:3; margin:0; font-size:clamp(27px,4.2vw,58px); line-height:.98; letter-spacing:-.05em; text-align:center; }
.motion-scene:nth-child(2) { animation-delay:4.5s; }.motion-scene:nth-child(3) { animation-delay:9s; }.motion-scene:nth-child(4) { animation-delay:13.5s; }.motion-scene:nth-child(5) { animation-delay:18s; }.motion-scene:nth-child(6) { animation-delay:22.5s; }.motion-scene:nth-child(7) { animation-delay:27s; }.motion-scene:nth-child(8) { animation-delay:31.5s; }
@keyframes motionScene { 0%{opacity:0;transform:scale(.955)} 1.6%{opacity:1;transform:scale(1)} 10.7%{opacity:1;transform:scale(1)} 12.3%{opacity:0;transform:scale(1.025)} 100%{opacity:0;transform:scale(1.025)} }
@keyframes motionBackdrop { to{transform:translate3d(160px,-160px,0)} }

.motion-trends { flex-direction:column; gap:40px; }
.motion-trends h3 { align-self:flex-start; margin-left:6%; }
.motion-rail { width:122%; display:flex; align-items:center; justify-content:center; gap:18px; transform:translateX(-4%); animation:motionRail 5s ease-in-out infinite alternate; }
.motion-rail figure { position:relative; flex:0 0 17%; height:265px; margin:0; overflow:hidden; border:1px solid #343a51; border-radius:20px; background:#151826; box-shadow:0 24px 45px rgba(0,0,0,.35); }
.motion-rail figure.featured { flex-basis:25%; height:300px; border-color:var(--primary-2); box-shadow:0 0 45px rgba(113,104,255,.34); }
.motion-rail img { width:100%; height:100%; object-fit:cover; }
.motion-rail figure::after { content:''; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(5,7,13,.92)); }
.motion-rail span { position:absolute; z-index:2; right:16px; bottom:16px; left:16px; font-weight:850; }
@keyframes motionRail { from{transform:translateX(-7%)} to{transform:translateX(4%)} }

.motion-fast { flex-direction:column; gap:25px; }
.motion-fast h3 { margin-bottom:4px; }
.motion-orbit { position:relative; width:520px; max-width:80%; height:275px; }
.motion-orbit img { position:absolute; width:100px; height:145px; object-fit:cover; object-position:top center; border:1px solid #4a5069; border-radius:17px; box-shadow:0 20px 45px rgba(0,0,0,.48); animation:motionFloat 2.4s ease-in-out infinite alternate; }
.motion-orbit img:nth-child(1){left:0;top:58px;transform:rotate(-9deg)}.motion-orbit img:nth-child(2){left:31%;top:5px;transform:rotate(4deg);animation-delay:.4s}.motion-orbit img:nth-child(3){right:22%;top:100px;transform:rotate(-3deg);animation-delay:.8s}.motion-orbit img:nth-child(4){right:0;top:28px;transform:rotate(8deg);animation-delay:1.2s}
.motion-ring { position:absolute; top:50%; left:50%; width:145px; height:145px; border:2px solid rgba(145,140,255,.72); border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 20px var(--primary),inset 0 0 25px rgba(113,104,255,.35); animation:motionPulse 1.8s ease-in-out infinite; }
@keyframes motionFloat { to{translate:0 -13px} } @keyframes motionPulse { 50%{transform:translate(-50%,-50%) scale(1.18);opacity:.35} }

.motion-prompt-scene { gap:70px; }
.motion-prompt-box { position:relative; z-index:2; width:57%; padding:25px; border:1px solid #41475d; border-radius:20px; background:rgba(16,19,31,.92); box-shadow:0 30px 80px rgba(0,0,0,.5); }
.motion-prompt-box span { color:#83899e; font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.motion-prompt-box p { min-height:72px; margin:15px 0 18px; color:white; font-size:clamp(17px,2vw,25px); line-height:1.35; }
.motion-prompt-box button { float:right; min-height:38px; padding:0 17px; border:0; border-radius:10px; color:white; background:var(--primary); font-weight:850; }
.golden-orb { width:150px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff8bd 0 4%,#ffd66e 12%,#e69425 46%,#724211 72%,#160e08 74%); box-shadow:0 0 28px #ffcf5b,0 0 90px rgba(255,177,72,.52); animation:orbSpin 3s ease-in-out infinite alternate; }
@keyframes orbSpin { to{transform:rotate(18deg) scale(1.08);filter:brightness(1.14)} }

.motion-selection { flex-direction:column; gap:28px; }
.motion-select-grid { width:min(700px,92%); display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }
.motion-select-grid img { width:100%; aspect-ratio:.78; object-fit:cover; border:2px solid #30364a; border-radius:16px; filter:brightness(.6); transform:translateY(10px); }
.motion-select-grid img.selected { border-color:var(--primary-2); filter:none; transform:translateY(-7px) scale(1.06); box-shadow:0 0 38px rgba(113,104,255,.45); }

.motion-generating { flex-direction:column; gap:22px; }
.motion-generating > span { width:118px; height:118px; border:3px solid rgba(145,140,255,.16); border-top-color:var(--primary-2); border-radius:50%; box-shadow:0 0 45px rgba(113,104,255,.26); animation:motionSpin 1.1s linear infinite; }
.motion-generating p { margin:0; color:#a4aabd; }
@keyframes motionSpin { to{transform:rotate(360deg)} }

.motion-possibilities { flex-direction:column; gap:30px; }
.motion-posters { height:310px; display:flex; align-items:center; justify-content:center; }
.motion-posters img { width:165px; height:270px; object-fit:cover; object-position:top center; margin:0 -28px; border:1px solid #434a62; border-radius:17px; box-shadow:0 28px 60px rgba(0,0,0,.55); }
.motion-posters img:nth-child(1){transform:rotate(-13deg) translateY(19px)}.motion-posters img:nth-child(2){transform:rotate(-4deg) translateY(-2px)}.motion-posters img:nth-child(3){transform:rotate(5deg) translateY(-5px)}.motion-posters img:nth-child(4){transform:rotate(14deg) translateY(21px)}

.motion-studio { align-items:stretch; flex-direction:column; width:78%; height:78%; margin:auto; padding:22px; border:1px solid #3c4257; border-radius:22px; background:#0f121d; box-shadow:0 35px 90px rgba(0,0,0,.5); }
.motion-studio-top { display:flex; align-items:center; gap:25px; padding:0 4px 16px; }.motion-studio-top span{color:var(--primary-2);font-weight:900}.motion-studio-top b{font-size:23px}.motion-studio-top i{margin-left:auto;padding:9px 13px;border-radius:9px;color:white;background:var(--primary);font-size:11px;font-style:normal;font-weight:850}
.motion-project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; min-height:0; }
.motion-project-grid figure { min-width:0; margin:0; overflow:hidden; border:1px solid #30364a; border-radius:13px; background:#171a27; }.motion-project-grid img{width:100%;height:195px;object-fit:cover;object-position:top center}.motion-project-grid span{display:block;padding:11px;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.motion-cast { flex-direction:column; gap:28px; }
.motion-cast-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:9px; width:92%; }
.motion-cast-grid img { width:100%; aspect-ratio:.76; object-fit:cover; object-position:top center; border:1px solid #3a4056; border-radius:12px; box-shadow:0 15px 30px rgba(0,0,0,.4); }
.motion-cast-grid img:nth-child(even){transform:translateY(17px)}

@media (max-width:700px) {
  .motion-scene { padding:28px 20px; }
  .motion-scene h3 { font-size:31px; }
  .motion-trends { gap:25px; }
  .motion-trends h3 { align-self:center; margin-left:0; }
  .motion-rail { width:165%; gap:10px; }
  .motion-rail figure { flex-basis:20%; height:280px; border-radius:15px; }
  .motion-rail figure.featured { flex-basis:28%; height:320px; }
  .motion-fast { justify-content:center; }
  .motion-orbit { max-width:100%; height:335px; }
  .motion-orbit img { width:82px; height:120px; }
  .motion-orbit img:nth-child(1){top:100px}.motion-orbit img:nth-child(2){left:26%;top:25px}.motion-orbit img:nth-child(3){right:23%;top:175px}.motion-orbit img:nth-child(4){top:70px}
  .motion-prompt-scene { flex-direction:column-reverse; gap:35px; }
  .motion-prompt-box { width:94%; }
  .golden-orb { width:125px; }
  .motion-select-grid { grid-template-columns:repeat(2,1fr); width:88%; }
  .motion-select-grid img { aspect-ratio:1.12; }
  .motion-posters img { width:112px; height:210px; margin:0 -23px; }
  .motion-studio { width:94%; height:80%; padding:15px; }
  .motion-studio-top b { font-size:17px; }.motion-studio-top i { display:none; }
  .motion-project-grid { grid-template-columns:repeat(2,1fr); }
  .motion-project-grid img { height:150px; }
  .motion-cast-grid { grid-template-columns:repeat(4,1fr); width:92%; }
  .motion-cast-grid img { max-height:160px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-motion::before,.motion-rail,.motion-orbit img,.motion-ring,.golden-orb,.motion-generating>span { animation-duration:1ms; }
}

/* Motion cut v2 — rythme court, transitions et micro-interactions continues */
.motion-scene { animation-name:motionSceneFast; animation-duration:32s; animation-timing-function:cubic-bezier(.22,.8,.2,1); }
.motion-scene:nth-child(3) { animation-delay:0s; }.motion-scene:nth-child(4) { animation-delay:4.6s; }.motion-scene:nth-child(5) { animation-delay:8s; }.motion-scene:nth-child(6) { animation-delay:12s; }.motion-scene:nth-child(7) { animation-delay:16s; }.motion-scene:nth-child(8) { animation-delay:20s; }.motion-scene:nth-child(9) { animation-delay:24s; }.motion-scene:nth-child(10) { animation-delay:28s; }
@keyframes motionSceneFast { 0%{opacity:0;transform:scale(.9) translateY(26px);filter:blur(10px)} 1.4%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)} 10.9%{opacity:1;transform:scale(1.035);filter:blur(0)} 12.4%{opacity:0;transform:scale(1.11) translateY(-10px);filter:blur(8px)} 100%{opacity:0;transform:scale(1.11);filter:blur(8px)} }
.motion-scene h3 { width:min(900px,100%); padding:0 22px; animation:motionHeadline 4.6s cubic-bezier(.22,.9,.2,1) infinite; text-shadow:0 0 40px rgba(113,104,255,.25); }
@keyframes motionHeadline { 0%{opacity:0;transform:translateY(34px) scale(.92)} 12%{opacity:1;transform:none} 75%{opacity:1;transform:none} 100%{opacity:0;transform:translateY(-24px) scale(1.04)} }
.hero-motion::after { content:''; position:absolute; z-index:30; inset:-45% -25%; pointer-events:none; background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.15) 49%,transparent 56%); transform:translateX(-70%); animation:motionFlash 4.6s cubic-bezier(.2,.7,.2,1) infinite; mix-blend-mode:screen; }
@keyframes motionFlash { 0%,82%{transform:translateX(-70%);opacity:0} 88%{opacity:1} 100%{transform:translateX(70%);opacity:0} }
.motion-scan { position:absolute; z-index:28; top:0; bottom:0; left:-25%; width:18%; pointer-events:none; opacity:.25; background:linear-gradient(90deg,transparent,var(--primary-2),transparent); filter:blur(18px); transform:skewX(-16deg); animation:motionScan 1.35s linear infinite; }
@keyframes motionScan { to{left:120%} }
.motion-sparks { position:absolute; z-index:1; inset:0; pointer-events:none; }.motion-sparks i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--primary-2);box-shadow:0 0 16px var(--primary);animation:sparkFly 2.4s ease-in-out infinite}.motion-sparks i:nth-child(1){left:8%;top:22%}.motion-sparks i:nth-child(2){left:22%;top:75%;animation-delay:.4s}.motion-sparks i:nth-child(3){left:47%;top:14%;animation-delay:.8s}.motion-sparks i:nth-child(4){left:69%;top:82%;animation-delay:1.2s}.motion-sparks i:nth-child(5){left:83%;top:31%;animation-delay:1.6s}.motion-sparks i:nth-child(6){left:93%;top:64%;animation-delay:2s}@keyframes sparkFly{0%,100%{opacity:0;transform:scale(.2) translateY(30px)}40%{opacity:.85;transform:scale(1) translateY(0)}75%{opacity:0;transform:scale(.5) translateY(-35px)}}

.motion-rail { animation:motionRailFast 4.6s cubic-bezier(.2,.8,.2,1) infinite; }
.motion-rail figure { animation:motionCardLaunch 4.6s cubic-bezier(.2,.86,.2,1) infinite; }
.motion-rail figure:nth-child(2){animation-delay:.08s}.motion-rail figure:nth-child(3){animation-delay:.16s}.motion-rail figure:nth-child(4){animation-delay:.24s}.motion-rail figure:nth-child(5){animation-delay:.32s}
@keyframes motionRailFast { 0%{transform:translateX(38%)} 24%{transform:translateX(-1%)} 75%{transform:translateX(-6%)} 100%{transform:translateX(-40%)} }
@keyframes motionCardLaunch { 0%{opacity:0;translate:0 80px;rotate:-4deg} 18%{opacity:1;translate:0 0;rotate:0deg} 78%{opacity:1} 100%{opacity:0;translate:0 -45px} }

.motion-orbit { animation:orbitStage 4.6s ease-in-out infinite; }.motion-orbit img{animation:orbitCard 4.6s cubic-bezier(.2,.85,.2,1) infinite}.motion-orbit img:nth-child(2){animation-delay:.12s}.motion-orbit img:nth-child(3){animation-delay:.24s}.motion-orbit img:nth-child(4){animation-delay:.36s}
@keyframes orbitStage{0%{transform:rotate(-4deg) scale(.72)}28%{transform:rotate(0) scale(1)}72%{transform:rotate(1deg) scale(1.05)}100%{transform:rotate(5deg) scale(1.22);opacity:0}}
@keyframes orbitCard{0%{opacity:0;translate:0 90px}22%{opacity:1;translate:0 0}58%{translate:0 -12px}100%{opacity:0;translate:0 -40px}}
.motion-ring{animation:motionPulseFast .8s ease-out infinite}@keyframes motionPulseFast{0%{transform:translate(-50%,-50%) scale(.55);opacity:1}100%{transform:translate(-50%,-50%) scale(1.55);opacity:0}}

.motion-prompt-box { animation:promptEnter 4.6s cubic-bezier(.18,.9,.2,1) infinite; }.motion-prompt-box p{white-space:normal;overflow:visible;animation:promptType 4.6s steps(24,end) infinite}.motion-prompt-box button{animation:promptButton 4.6s ease infinite}.golden-orb{animation:orbEnter 4.6s cubic-bezier(.2,.85,.2,1) infinite}
@keyframes promptEnter{0%{opacity:0;transform:translateX(-100px) scale(.85)}18%{opacity:1;transform:none}83%{opacity:1;transform:none}100%{opacity:0;transform:translateX(60px) scale(1.08)}}
@keyframes promptType{0%,16%{opacity:0;clip-path:inset(0 100% 0 0)}30%{opacity:1}70%,100%{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes promptButton{0%,58%{transform:scale(.88);opacity:.5}70%{transform:scale(1.12);opacity:1;box-shadow:0 0 28px rgba(113,104,255,.7)}80%,100%{transform:scale(1)}}
@keyframes orbEnter{0%{opacity:0;transform:translateX(100px) rotate(-25deg) scale(.45)}28%{opacity:1;transform:none}72%{transform:rotate(12deg) scale(1.09)}100%{opacity:0;transform:translateX(-35px) rotate(30deg) scale(1.28)}}

.motion-select-grid img{animation:selectCard 4.6s cubic-bezier(.2,.9,.2,1) infinite}.motion-select-grid img:nth-child(2){animation-delay:.08s}.motion-select-grid img:nth-child(3){animation-delay:.16s}.motion-select-grid img:nth-child(4){animation-delay:.24s}
@keyframes selectCard{0%{opacity:0;transform:translateY(80px) rotate(5deg) scale(.75)}23%{opacity:1;transform:translateY(0) rotate(0) scale(1)}68%{opacity:1}100%{opacity:0;transform:translateY(-30px) scale(1.08)}}
.motion-select-grid img.selected{animation-name:selectWinner}.motion-pointer{position:absolute;z-index:8;left:51%;top:64%;font-size:42px;color:white;text-shadow:0 0 15px #000;animation:pointerClick 4.6s ease-in-out infinite}@keyframes selectWinner{0%{opacity:0;transform:translateY(80px) scale(.75)}23%{opacity:1;transform:translateY(-7px) scale(1.06)}55%{transform:translateY(-7px) scale(1.12);box-shadow:0 0 65px rgba(113,104,255,.75)}100%{opacity:0;transform:translateY(-40px) scale(1.16)}}@keyframes pointerClick{0%,30%{opacity:0;transform:translate(70px,70px)}48%{opacity:1;transform:none}57%{transform:scale(.72)}68%,100%{opacity:0;transform:scale(1)}}

.motion-generating .motion-loader{width:118px;height:118px;border:3px solid rgba(145,140,255,.16);border-top-color:var(--primary-2);border-radius:50%;box-shadow:0 0 45px rgba(113,104,255,.26);animation:motionSpin .75s linear infinite}.motion-generating p{animation:genText 1.2s ease-in-out infinite alternate}.motion-progress{position:relative;width:min(500px,80%);display:flex;justify-content:space-between;padding-top:23px;color:#8e94a8}.motion-progress::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;border-radius:9px;background:#252a3a}.motion-progress b{position:absolute;top:0;left:0;height:5px;border-radius:9px;background:linear-gradient(90deg,var(--primary),var(--cyan));box-shadow:0 0 18px var(--primary);animation:genProgress 4.6s ease-in-out infinite}.motion-progress i{font-size:11px;font-style:normal;font-weight:800}@keyframes genProgress{0%{width:0}28%{width:31%}58%{width:65%}88%,100%{width:100%}}@keyframes genText{to{opacity:.5}}

.motion-posters img{animation:posterBurst 4.6s cubic-bezier(.2,.9,.2,1) infinite}.motion-posters img:nth-child(2){animation-delay:.08s}.motion-posters img:nth-child(3){animation-delay:.16s}.motion-posters img:nth-child(4){animation-delay:.24s}@keyframes posterBurst{0%{opacity:0;scale:.5;translate:0 100px}25%{opacity:1;scale:1;translate:0 0}75%{opacity:1;scale:1.04}100%{opacity:0;scale:1.2;translate:0 -35px}}

.motion-studio-top,.motion-studio .motion-project-grid{animation:studioZoom 4.6s cubic-bezier(.18,.9,.2,1) infinite}.motion-project-grid figure{animation:projectPop 4.6s cubic-bezier(.2,.9,.2,1) infinite}.motion-project-grid figure:nth-child(2){animation-delay:.1s}.motion-project-grid figure:nth-child(3){animation-delay:.2s}.motion-project-grid figure:nth-child(4){animation-delay:.3s}@keyframes studioZoom{0%{opacity:0;transform:perspective(900px) rotateX(13deg) scale(.82) translateY(55px)}22%{opacity:1;transform:perspective(900px) rotateX(0) scale(1)}78%{opacity:1;transform:scale(1.015)}100%{opacity:0;transform:scale(1.06)}}@keyframes projectPop{0%,12%{opacity:0;transform:translateY(45px)}35%{opacity:1;transform:none}86%{opacity:1}100%{opacity:0;transform:translateY(-18px)}}

.motion-cast-grid{animation:castConveyor 4.6s cubic-bezier(.2,.8,.2,1) infinite}.motion-cast-grid img{animation:castPop 4.6s cubic-bezier(.2,.9,.2,1) infinite}.motion-cast-grid img:nth-child(2n){animation-delay:.08s}.motion-cast-grid img:nth-child(3n){animation-delay:.16s}.motion-cast p{margin:0;color:#aeb4c5;font-size:13px;font-weight:800;letter-spacing:.08em;animation:castCaption 4.6s ease infinite}@keyframes castConveyor{0%{transform:translateX(28%) scale(.82)}28%{transform:translateX(0) scale(1)}75%{transform:translateX(-2%) scale(1.03)}100%{transform:translateX(-28%) scale(1.12);opacity:0}}@keyframes castPop{0%{opacity:0;scale:.4;rotate:-4deg}24%{opacity:1;scale:1;rotate:0deg}76%{opacity:1}100%{opacity:0;scale:1.18;rotate:3deg}}@keyframes castCaption{0%,25%{opacity:0;translate:0 15px}40%,82%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -10px}}

@media(max-width:700px){.motion-prompt-box p{white-space:normal;animation:none}.motion-pointer{left:58%;top:57%}.motion-progress{width:88%}.motion-scan{animation-duration:1.8s}.motion-scene{padding-top:58px;padding-bottom:38px}}

/* Motion cut v3 — une seule scène est calculée et peinte à la fois. */
.motion-scene {
  z-index:0;
  visibility:hidden;
  opacity:0;
  filter:none;
  transform:translate3d(0,18px,0) scale(.97);
  animation:none !important;
  transition:opacity .62s ease,transform .78s cubic-bezier(.22,.8,.2,1),visibility 0s linear .78s;
  contain:layout paint style;
  will-change:opacity,transform;
}
.motion-scene.is-active {
  z-index:2;
  visibility:visible;
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  transition-delay:0s;
}
.motion-scene.is-leaving {
  z-index:1;
  visibility:visible;
  opacity:0;
  transform:translate3d(0,-10px,0) scale(1.025);
}
.motion-scene * { animation-play-state:paused !important; }
.motion-scene.is-active *, .motion-scene.is-leaving * { animation-play-state:running !important; }
.hero-motion.is-paused *, .hero-motion.is-paused::before, .hero-motion.is-paused::after { animation-play-state:paused !important; }
.hero-motion img { transform:translateZ(0); backface-visibility:hidden; }
.motion-scan {
  left:-25%;
  filter:blur(9px);
  animation:motionScanGpu 2.2s linear infinite;
  will-change:transform;
}
.hero-motion::after { mix-blend-mode:normal; will-change:transform,opacity; }
@keyframes motionScanGpu { to { transform:translate3d(820%,0,0) skewX(-16deg); } }
@keyframes demoStep { 0%,22% { color:#10131c; border-color:var(--primary-2); background:var(--primary-2); transform:scale(1.08); } 28%,100% { color:#bec3d2; border-color:rgba(255,255,255,.2); background:rgba(8,10,17,.55); transform:none; } }

.showcase-heading { width:min(920px,calc(100% - 40px)); margin:0 auto 34px; text-align:center; }
.showcase-heading > span { color:var(--primary-2); font-size:10px; font-weight:900; letter-spacing:.16em; }
.showcase-heading h2 { margin:12px 0 0; font-size:clamp(34px,5vw,58px); line-height:1; letter-spacing:-.055em; }
.showcase-track { animation:showcaseLoop 42s linear infinite; will-change:transform; }
.showcase-track:hover { animation-play-state:paused; }
.video-tile,.video-tile.tall { width:232px; height:390px; transform:none; }
.video-tile:nth-child(3n + 2) { margin-top:52px; }
.video-tile:nth-child(3n) { margin-top:-34px; }
.video-tile video { width:100%; height:100%; object-fit:cover; }
@keyframes showcaseLoop { to { transform:translateX(calc(-50% - 8px)); } }

.clean-heading.centered { max-width:900px; }
.clean-heading.centered > p { max-width:730px; margin:20px auto 0; line-height:1.65; }
.creation-modes { grid-template-columns:repeat(2,minmax(0,1fr)); }
.creation-modes .mode-card { position:relative; min-height:654px; display:flex; flex-direction:column; padding:0; }
.mode-card > video, .mode-card > .mode-visual { width:100%; height:350px; object-fit:cover; background:#090b13; filter:saturate(.95) brightness(.82); }
.mode-content { position:relative; z-index:2; min-height:330px; display:flex; flex-direction:column; padding:34px; background:linear-gradient(180deg,#121520,#0f121b); }
.mode-content h3 { max-width:520px; font-size:clamp(30px,3.4vw,46px); line-height:1.02; }
.mode-content p { max-width:520px; font-size:16px; line-height:1.6; }
.mode-content button { align-self:flex-start; margin-top:auto; padding:14px 0 0; border:0; color:#fff; background:transparent; font-weight:850; cursor:pointer; }
.mode-card:hover > video, .mode-card:hover > .mode-visual { filter:saturate(1.08) brightness(.94); }

.selectable-themes button:hover,.selectable-themes button:focus-visible { flex:1 1 560px; border-color:var(--primary); box-shadow:0 24px 80px rgba(113,104,255,.16); }
.selectable-themes button:hover img,.selectable-themes button:focus-visible img { transform:scale(1); filter:saturate(1.08) brightness(.92); }
.selectable-themes button:hover strong,.selectable-themes button:focus-visible strong { left:26px; bottom:24px; font-size:24px; transform:none; }

.partner-marquee { display:flex; width:max-content; min-width:100%; animation:partnerBreathe 7s ease-in-out infinite alternate; }
.partner-marquee article { width:370px; flex:0 0 370px; }
@keyframes partnerBreathe { to { transform:translateX(28px); } }

.testimonial-viewport { overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.testimonial-track { width:max-content; display:flex; grid-template-columns:none; gap:16px; margin:40px 0 0; animation:testimonialLoop 30s linear infinite; }
.testimonial-track article { width:390px; flex:0 0 390px; }
.testimonial-track:hover { animation-play-state:paused; }
@keyframes testimonialLoop { to { transform:translateX(calc(-50% - 8px)); } }

@media (prefers-reduced-motion:reduce) {
  .showcase-track,.testimonial-track,.partner-marquee,.demo-steps i { animation:none; }
}
@media (max-width:900px) {
  .product-demo { padding-right:18px; padding-left:18px; }
  .creation-modes { grid-template-columns:1fr; }
  .creation-modes .mode-card { min-height:510px; }
  .mode-card > video, .mode-card > .mode-visual { height:280px; }
  .mode-content { min-height:270px; }
  .selectable-themes button:hover,.selectable-themes button:focus-visible { flex:0 0 min(78vw,520px); }
}
@media (max-width:560px) {
  .viral-hero { min-height:530px; }
  .product-demo { padding-bottom:78px; }
  .demo-window { aspect-ratio:4/5; border-radius:20px; }
  .demo-window video { object-position:center; }
  .demo-shade { background:linear-gradient(0deg,rgba(8,10,17,.88),rgba(8,10,17,.05) 75%); }
  .demo-badge { top:18px; left:18px; }
  .demo-copy { right:18px; bottom:68px; left:18px; }
  .demo-copy span { font-size:12px; }
  .demo-steps { right:auto; bottom:22px; left:18px; }
  .video-tile,.video-tile.tall { width:174px; height:300px; }
  .video-tile:nth-child(3n + 2) { margin-top:36px; }.video-tile:nth-child(3n) { margin-top:-22px; }
  .creation-modes .mode-card { min-height:460px; }
  .mode-card > video, .mode-card > .mode-visual { height:240px; }
  .mode-content { min-height:260px; padding:25px; }
  .mode-content h3 { font-size:30px; }
  .partner-marquee { width:100%; display:grid; animation:none; }
  .partner-marquee article { width:100%; flex-basis:auto; }
  .testimonial-track { grid-template-columns:none; overflow:visible; }
  .testimonial-track article { width:82vw; }
}

/* Générateur vidéo connecté */
.video-model-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 12px; }
.video-model-picker button { display:grid; grid-template-columns:34px 1fr; column-gap:9px; align-items:center; min-width:0; padding:10px; border:1px solid #303649; border-radius:12px; color:#d9dce7; background:#11151f; text-align:left; cursor:pointer; }
.video-model-picker button > span { grid-row:1/3; display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:#10131b; background:#c6c2ff; font-size:10px; font-weight:900; }
.video-model-picker button strong,.video-model-picker button small { display:block; min-width:0; }.video-model-picker button strong { font-size:12px; }.video-model-picker button small { margin-top:2px; overflow:hidden; color:#7f879b; font-size:9.5px; white-space:nowrap; text-overflow:ellipsis; }
.video-model-picker button.active { border-color:#8179ff; background:rgba(113,104,255,.14); box-shadow:0 0 0 2px rgba(113,104,255,.08); }
.provider-card { display:flex; align-items:center; gap:13px; margin-bottom:14px; padding:16px; border:1px solid rgba(113,104,255,.45); border-radius:16px; background:linear-gradient(135deg,rgba(113,104,255,.12),rgba(17,20,31,.96)); }
.provider-logo { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:12px; color:#0b0d14; background:var(--primary-2); font-size:20px; font-weight:950; }
.provider-card div { min-width:0; }.provider-card strong,.provider-card small { display:block; }.provider-card small { margin-top:4px; color:var(--muted); }.provider-card > b { margin-left:auto; padding:6px 9px; border:1px solid #34394b; border-radius:99px; color:#aab0c1; font-size:9px; letter-spacing:.08em; }.provider-card > b.ready { color:#0b0d14; border-color:var(--cyan); background:var(--cyan); }
.video-upload { min-height:110px; display:grid; grid-template-columns:auto 1fr; column-gap:13px; align-items:center; margin:14px 0; padding:18px; border:1px dashed #3a4054; border-radius:16px; color:#f2f3f8; background:#11141e; cursor:pointer; transition:border-color .2s,background .2s; }.video-upload:hover { border-color:var(--primary); background:rgba(113,104,255,.07); }.video-upload > span { grid-row:1/3; width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:#202536; font-size:22px; }.video-upload strong,.video-upload small { display:block; }.video-upload small { color:var(--muted); }.video-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.video-upload.has-file { border-style:solid; border-color:var(--cyan); }
.video-generation-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.video-generation-options .tool-options { margin:0; }
.generation-cost { margin:10px 0 16px; color:#7f879a; font-size:12px; }
.result-panel video.generated-video { width:min(100%,440px); max-height:74vh; border-radius:18px; background:#05060a; box-shadow:0 24px 65px rgba(0,0,0,.4); }
.result-panel.video-ready { padding:24px; }.result-panel.video-ready > strong { margin-top:14px; }.result-panel .render-progress { width:min(360px,80%); height:7px; overflow:hidden; margin:20px auto 0; border-radius:99px; background:#242a3a; }.result-panel .render-progress i { display:block; width:35%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--cyan)); animation:renderMove 1.4s ease-in-out infinite alternate; }
@keyframes renderMove { to { width:88%; } }
@media (max-width:560px) { .video-generation-options,.agent-model-cards { grid-template-columns:1fr; }.video-model-picker { grid-template-columns:1fr 1fr; }.provider-card > b { display:none; } }

/* Landing film v5 — rendered at 60 fps from the six approved Grok clips. */
.hero-motion.has-film::before,
.hero-motion.has-film::after,
.hero-motion.has-film > .motion-scan,
.hero-motion.has-film > .motion-sparks,
.hero-motion.has-film > .motion-scene { display:none !important; }
.hero-motion.has-film .hero-presentation-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#070910;
  opacity:1;
}

/* Landing sales audit v13 */
.creator-proof strong { color:#eef0f8; font-size:13px; letter-spacing:.01em; }
.viral-hero > p.hero-sales-copy { max-width:1180px; margin:0 auto 32px; color:#aeb1bd; font-size:clamp(22px,2.45vw,36px); line-height:1.38; letter-spacing:-.035em; }
.hero-sales-copy strong { color:#f5f5f8; font-weight:800; }
.showcase-heading p { max-width:640px; margin:18px auto 0; color:var(--muted); font-size:17px; line-height:1.55; }
.viral-showcase { overflow:hidden; padding-bottom:125px; }
.showcase-track { gap:16px; padding:32px 0 48px; animation-duration:54s; }
.video-tile,.video-tile.tall { width:238px; height:410px; border-radius:25px; box-shadow:0 24px 70px rgba(0,0,0,.38); }
.video-tile::after { content:""; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(4,5,10,.92)); pointer-events:none; }
.video-tile span,.video-tile b { z-index:2; }
.video-tile span { font-size:14px; font-weight:850; }
.video-tile b { letter-spacing:.09em; }
.creation-modes .mode-card { overflow:hidden; border-color:#2c3042; transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.creation-modes .mode-card:hover { transform:translateY(-7px); border-color:rgba(113,104,255,.72); box-shadow:0 28px 85px rgba(15,10,45,.38); }
.mode-card > video, .mode-card > .mode-visual { height:305px; }
.mode-content { min-height:300px; }
.themes-rail.selectable-themes { gap:14px; }
.selectable-themes button { transition:flex .45s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s; }
.selectable-themes button.active { flex:1 1 560px; border-color:var(--primary); box-shadow:0 24px 80px rgba(113,104,255,.16); }
.selectable-themes button.active img { transform:scale(1); filter:saturate(1.08) brightness(.92); }
.selectable-themes button.active strong { left:26px; bottom:24px; font-size:24px; transform:none; }
.compact-faq { grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr); align-items:start; }
.faq-intro { position:sticky; top:130px; }
.faq-intro h2 { font-size:clamp(42px,5.5vw,72px); line-height:.98; }
.faq-list details { padding:26px 0; }
.hero-presentation-video { pointer-events:none; }
@media (max-width:760px) {
  .compact-faq { grid-template-columns:1fr; }
  .faq-intro { position:static; }
  .showcase-track { animation-duration:40s; }
}

/* Galerie virale verticale — rythme continu inspiré du mur TrendStory. */
.viral-showcase {
  position:relative;
  overflow:hidden;
  padding:64px 24px 92px;
  background:#090b13;
  -webkit-mask-image:none;
  mask-image:none;
}
.viral-showcase::before {
  content:"";
  position:absolute;
  top:20px;
  left:50%;
  width:min(980px,88vw);
  height:420px;
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(113,104,255,.11),transparent 68%);
  pointer-events:none;
}
.viral-showcase .showcase-heading { position:relative; z-index:2; width:min(940px,calc(100% - 24px)); margin:0 auto 42px; }
.viral-showcase .showcase-heading h2 { margin:0; font-size:clamp(40px,4.1vw,60px); line-height:1; letter-spacing:-.05em; }
.viral-showcase .showcase-heading h2 em { color:var(--primary-2); font-style:normal; }
.viral-showcase .showcase-heading p { max-width:760px; margin:18px auto 0; color:#a4a9b8; font-size:clamp(15px,1.2vw,18px); line-height:1.4; }
.showcase-wall {
  position:relative;
  z-index:1;
  width:min(1180px,100%);
  height:660px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin:0 auto;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.showcase-column { min-width:0; overflow:hidden; }
.showcase-column-track {
  display:flex;
  flex-direction:column;
  animation:showcaseColumnUp var(--speed,36s) linear infinite;
  animation-delay:var(--offset,0s);
  will-change:transform;
  transform:translate3d(0,0,0);
}
.showcase-column.reverse .showcase-column-track { animation-name:showcaseColumnDown; }
.showcase-column-set { display:flex; flex-direction:column; }
.viral-card {
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  margin-bottom:15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background-color:#11141f;
  background-size:cover;
  background-position:center;
  box-shadow:0 22px 55px rgba(0,0,0,.34);
  transform:translateZ(0);
}
.viral-card video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; background:#11141f; }
.viral-card::after { content:""; position:absolute; inset:48% 0 0; background:linear-gradient(transparent,rgba(3,4,8,.94)); pointer-events:none; }
.viral-meta { position:absolute; z-index:3; right:10px; bottom:10px; left:10px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px; }
.viral-account { width:max-content; max-width:100%; min-width:0; display:flex; align-items:center; gap:5px; overflow:hidden; padding:3px 7px 3px 3px; border:1px solid rgba(255,255,255,.06); border-radius:999px; color:#fff; background:rgba(4,5,8,.62); backdrop-filter:blur(7px); font-size:10.5px; font-weight:800; text-shadow:0 2px 8px rgba(0,0,0,.72); white-space:nowrap; }
.viral-account strong { min-width:0; overflow:hidden; text-overflow:ellipsis; font:inherit; }
.viral-account img { width:22px; height:22px; flex:0 0 22px; object-fit:cover; border:1.5px solid rgba(255,255,255,.82); border-radius:50%; background:#202535; }
.viral-views { flex:0 0 auto; padding:5px 8px; border:1px solid rgba(255,255,255,.07); border-radius:999px; color:#fff; background:rgba(4,5,8,.72); backdrop-filter:blur(7px); font-size:10.5px; font-weight:850; }
@keyframes showcaseColumnUp { from { transform:translate3d(0,0,0); } to { transform:translate3d(0,-50%,0); } }
@keyframes showcaseColumnDown { from { transform:translate3d(0,-50%,0); } to { transform:translate3d(0,0,0); } }

@media (prefers-reduced-motion:reduce) {
  .showcase-column-track { animation-play-state:paused; }
}
@media (max-width:900px) {
  .viral-showcase { padding-right:14px; padding-left:14px; }
  .showcase-wall { height:740px; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .showcase-column:nth-child(4) { display:none; }
  .viral-card { border-radius:14px; margin-bottom:12px; }
  .viral-account { font-size:10px; }
  .viral-account img { width:21px; height:21px; flex-basis:21px; }
  .viral-views { padding:5px 7px; font-size:9.5px; }
}
@media (max-width:560px) {
  .viral-showcase { padding-top:72px; padding-bottom:90px; }
  .viral-showcase .showcase-heading { margin-bottom:38px; }
  .viral-showcase .showcase-heading h2 { font-size:43px; }
  .viral-showcase .showcase-heading p { margin-top:17px; font-size:16px; }
  .showcase-wall { height:650px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .showcase-column:nth-child(3) { display:none; }
  .viral-card { border-radius:12px; margin-bottom:10px; }
  .viral-meta { right:9px; bottom:9px; left:9px; }
  .viral-account { gap:4px; padding:2px 5px 2px 2px; font-size:8.5px; }
  .viral-account img { width:19px; height:19px; flex-basis:19px; }
  .viral-views { padding:4px 6px; font-size:8.5px; }
}

/* ===== Agent IA — motion design live (remplace la vidéo) ===== */
.agent-demo { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background:#090b13; }
.agent-demo::before,.agent-demo::after { content:""; position:absolute; inset:-20%; pointer-events:none; }
.agent-demo::before { background:repeating-linear-gradient(115deg, transparent 0 46px, rgba(113,104,255,.16) 46px 48px, transparent 48px 108px); animation:agentStreaks1 16s linear infinite; }
.agent-demo::after { background:repeating-linear-gradient(115deg, transparent 0 70px, rgba(145,140,255,.10) 70px 71.6px, transparent 71.6px 150px); animation:agentStreaks2 22s linear infinite reverse; }
@keyframes agentStreaks1 { from { transform:translate3d(0,0,0); } to { transform:translate3d(-140px,90px,0); } }
@keyframes agentStreaks2 { from { transform:translate3d(0,0,0); } to { transform:translate3d(120px,-70px,0); } }
.agent-demo-glow { position:absolute; width:60%; height:140%; left:-10%; top:-20%; background:radial-gradient(circle,rgba(113,104,255,.22),transparent 65%); filter:blur(6px); animation:agentGlowMove 9s ease-in-out infinite alternate; pointer-events:none; }
@keyframes agentGlowMove { from { transform:translate(0,0); } to { transform:translate(60%,30%); } }

.agent-demo-card { position:relative; z-index:2; display:flex; align-items:center; gap:12px; max-width:82%; padding:14px 16px 14px 20px; border-radius:999px; border:1px solid rgba(145,140,255,.55); background:rgba(11,12,20,.72); backdrop-filter:blur(6px); box-shadow:0 0 0 1px rgba(113,104,255,.08),0 18px 50px rgba(80,60,220,.22),0 0 26px rgba(113,104,255,.28); transition:box-shadow .4s ease; }
.agent-demo-card.is-active { box-shadow:0 0 0 1px rgba(113,104,255,.18),0 18px 50px rgba(80,60,220,.3),0 0 40px rgba(145,140,255,.45); }
.agent-demo-text { flex:1; min-width:0; overflow:hidden; white-space:nowrap; color:#e7e7f5; font-size:13.5px; font-weight:600; letter-spacing:-.01em; }
.agent-demo-cursor { display:inline-block; width:1px; height:14px; margin-left:2px; background:#c9c6ff; vertical-align:-2px; animation:agentCursorBlink .9s step-end infinite; }
.agent-demo-send { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid rgba(145,140,255,.5); color:#c9c6ff; background:rgba(113,104,255,.12); font-size:13px; transition:box-shadow .35s ease,background .35s ease; }
.agent-demo-send.is-sent { background:rgba(113,104,255,.35); box-shadow:0 0 22px rgba(145,140,255,.65); }
@keyframes agentCursorBlink { 50% { opacity:0; } }

.agent-demo-panel { position:absolute; z-index:2; left:50%; bottom:14%; width:min(84%,340px); transform:translate(-50%,10px); padding:14px 18px; border-radius:16px; border:1px solid rgba(113,104,255,.32); background:rgba(10,11,19,.78); backdrop-filter:blur(6px); box-shadow:0 16px 40px rgba(15,10,45,.35); opacity:0; transition:opacity .5s ease,transform .5s ease; pointer-events:none; }
.agent-demo-panel.is-visible { opacity:1; transform:translate(-50%,0); }
.agent-demo-panel p { margin:0; padding:4px 0; font-size:11.5px; color:#c3c6dc; display:flex; justify-content:space-between; gap:10px; opacity:0; transform:translateY(4px); transition:opacity .35s ease,transform .35s ease; }
.agent-demo-panel p b { color:#8f8aff; font-weight:800; letter-spacing:.02em; }
.agent-demo-panel.is-visible p { opacity:1; transform:translateY(0); }
.agent-demo-panel p:nth-child(2) { transition-delay:.1s; }
.agent-demo-panel p:nth-child(3) { transition-delay:.2s; }

.agent-demo-results { position:absolute; z-index:2; left:50%; bottom:14%; display:flex; gap:8px; transform:translateX(-50%); opacity:0; pointer-events:none; transition:opacity .3s ease; }
.agent-demo-results.is-visible { opacity:1; }
.agent-demo-results span { width:46px; height:46px; border-radius:10px; border:1px solid rgba(145,140,255,.4); background:linear-gradient(145deg,rgba(113,104,255,.35),rgba(20,22,36,.9)); box-shadow:0 0 0 rgba(145,140,255,0); opacity:0; transform:scale(.7); transition:opacity .35s ease,transform .35s ease,box-shadow .35s ease; }
.agent-demo-results.is-visible span { opacity:1; transform:scale(1); box-shadow:0 0 18px rgba(113,104,255,.35); }
.agent-demo-results.is-visible span:nth-child(2) { transition-delay:.12s; }
.agent-demo-results.is-visible span:nth-child(3) { transition-delay:.24s; }

@media (prefers-reduced-motion: reduce) {
  .agent-demo::before,.agent-demo::after,.agent-demo-glow { animation:none; }
  .agent-demo-cursor { animation:none; }
}

/* ===== Hero explainer — montage motion design (façon vidéo produit) ===== */
.hx-frame { position:relative; width:min(1180px,100%); aspect-ratio:16/9.2; margin:auto; border-radius:24px; overflow:hidden; background:#05060a; border:1px solid rgba(145,140,255,.28); box-shadow:0 28px 70px -18px rgba(0,0,0,.65),0 0 90px rgba(113,104,255,.12); }
.hx-bg { position:absolute; inset:0; z-index:0; background:radial-gradient(circle at 22% 20%,rgba(113,104,255,.32),transparent 45%),radial-gradient(circle at 82% 85%,rgba(113,104,255,.16),transparent 42%),#070810; }
.hx-bg::before { content:''; position:absolute; inset:-30%; opacity:.35; background:repeating-linear-gradient(115deg,transparent 0 70px,rgba(145,140,255,.09) 70px 74px); animation:hxDrift 16s linear infinite; }
@keyframes hxDrift { from { transform:translate(0,0); } to { transform:translate(-60px,40px); } }

.hx-chapter { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; padding:24px 34px; opacity:0; transform:scale(1.05); filter:blur(6px); pointer-events:none; transition:opacity .85s cubic-bezier(.22,.8,.32,1),transform 1.1s cubic-bezier(.22,.8,.32,1),filter .85s ease; }
.hx-chapter.is-active { opacity:1; transform:scale(1); filter:blur(0); pointer-events:auto; }
.hx-title { margin:0; text-align:center; color:#f4f3fc; font-size:clamp(26px,3.6vw,38px); font-weight:800; letter-spacing:-.01em; }
.hx-title em { font-style:normal; color:#a79dff; }

/* chapitre 1 — décris ton idée (texte qui s'auto-tape) */
.hx-swirl { position:absolute; inset:-10%; z-index:0; opacity:0;
  background:
    radial-gradient(ellipse 60% 45% at 30% 20%,rgba(145,140,255,.35),transparent 60%),
    radial-gradient(ellipse 50% 40% at 75% 80%,rgba(113,104,255,.28),transparent 55%),
    radial-gradient(ellipse 70% 50% at 50% 50%,rgba(167,157,255,.14),transparent 70%);
  filter:blur(2px);
  animation:hxSwirl 14s ease-in-out infinite;
  transition:opacity .6s ease;
}
.hx-chapter.is-active .hx-swirl { opacity:1; }
@keyframes hxSwirl { 0%,100% { transform:rotate(0deg) scale(1); } 50% { transform:rotate(8deg) scale(1.08); } }
.hx-typebox { position:relative; z-index:2; width:100%; max-width:680px; padding:28px 34px; border-radius:22px; border:1.5px solid rgba(145,140,255,.5); background:rgba(9,10,18,.72); backdrop-filter:blur(6px); box-shadow:0 0 0 8px rgba(113,104,255,.08),0 0 80px rgba(113,104,255,.35); }
.hx-typetext { margin:0 0 18px; min-height:2.6em; color:#f4f3fc; font-size:clamp(20px,2.7vw,28px); font-weight:600; line-height:1.4; }
.hx-caret { display:inline-block; width:3px; height:1em; margin-left:3px; background:#a79dff; vertical-align:-.15em; animation:hxCaret .9s step-end infinite; }
@keyframes hxCaret { 0%,100% { opacity:1; } 50% { opacity:0; } }
.hx-typebar { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.hx-typeicon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.06); color:#c7c4ef; font-size:16px; }
.hx-typeicon-pill { width:auto; padding:0 16px; border-radius:999px; background:linear-gradient(90deg,#7168ff,#a79dff); color:#0a0b12; font-weight:800; font-size:14px; }
.hx-typeicon-chev { color:#8c92a7; }

/* chapitre 2 — prêt dans quelques secondes */
.hx-ready { position:relative; display:flex; flex-direction:column; align-items:center; gap:26px; }
.hx-ready-ring { position:relative; width:168px; height:168px; border-radius:50%; background:conic-gradient(#7168ff 0deg,#a79dff 200deg,rgba(255,255,255,.08) 200deg 360deg); animation:hxSpin 3.2s linear infinite; }
.hx-ready-ring::before { content:''; position:absolute; inset:13px; border-radius:50%; background:#05060a; }
.hx-ready-orbit { position:absolute; inset:0; width:100%; height:100%; }
.hx-ready-orbit img { position:absolute; left:50%; top:50%; width:44px; height:44px; border-radius:50%; object-fit:cover; border:2.5px solid rgba(145,140,255,.6); box-shadow:0 6px 16px rgba(0,0,0,.5); transform:rotate(calc(var(--o) * 90deg)) translate(138px) rotate(calc(var(--o) * -90deg)); animation:hxOrbit 6s linear infinite; }
@keyframes hxOrbit { from { transform:rotate(calc(var(--o) * 90deg)) translate(138px) rotate(calc(var(--o) * -90deg)); } to { transform:rotate(calc(var(--o) * 90deg + 360deg)) translate(138px) rotate(calc(var(--o) * -90deg - 360deg)); } }
.hx-ready-label { color:#e6e8f3; font-size:22px; font-weight:700; }
.hx-ready-label b { color:#a79dff; font-size:25px; }

/* chapitre 3 — choisis une tendance */
.hx-cardfan { position:relative; width:100%; max-width:600px; height:250px; }
.hx-card { position:absolute; left:50%; top:50%; width:130px; height:176px; object-fit:cover; border-radius:16px; border:2px solid rgba(255,255,255,.14); box-shadow:0 18px 40px rgba(0,0,0,.45); transform:translate(calc(-50% + 230px), -50%) rotate(0deg); opacity:0; transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease; }
.hx-chapter.is-active .hx-card { opacity:1; }
.hx-card[style*="--i:0"] { transition-delay:.02s; }
.hx-card[style*="--i:1"] { transition-delay:.08s; }
.hx-card[style*="--i:2"] { transition-delay:.14s; z-index:2; }
.hx-card[style*="--i:3"] { transition-delay:.20s; }
.hx-card[style*="--i:4"] { transition-delay:.26s; }
.hx-chapter.is-active .hx-card[style*="--i:0"] { transform:translate(calc(-50% - 190px), calc(-50% + 16px)) rotate(-16deg); }
.hx-chapter.is-active .hx-card[style*="--i:1"] { transform:translate(calc(-50% - 96px), calc(-50% + 4px)) rotate(-8deg); }
.hx-chapter.is-active .hx-card[style*="--i:2"] { transform:translate(-50%, calc(-50% - 10px)) rotate(0deg) scale(1.1); }
.hx-chapter.is-active .hx-card[style*="--i:3"] { transform:translate(calc(-50% + 96px), calc(-50% + 4px)) rotate(8deg); }
.hx-chapter.is-active .hx-card[style*="--i:4"] { transform:translate(calc(-50% + 190px), calc(-50% + 16px)) rotate(16deg); }

@keyframes hxSpin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }

/* chapitre 4 — révélation du résultat */
.hx-posterreveal { position:relative; width:270px; aspect-ratio:3/4; border-radius:20px; overflow:hidden; border:2px solid rgba(145,140,255,.5); box-shadow:0 0 0 10px rgba(113,104,255,.1),0 34px 70px rgba(0,0,0,.5),0 0 90px rgba(145,140,255,.4); transform:scale(.85); opacity:0; transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease; }
.hx-chapter.is-active .hx-posterreveal { transform:scale(1); opacity:1; }
.hx-posterreveal img { width:100%; height:100%; object-fit:cover; display:block; }
.hx-posterreveal-badge { position:absolute; left:14px; bottom:14px; padding:7px 15px; border-radius:99px; background:rgba(10,12,20,.72); border:1px solid rgba(255,255,255,.18); color:#f1f0fb; font-size:13px; font-weight:800; backdrop-filter:blur(6px); }

/* chapitre 5 — la carte concept se remplit */
.hx-concept { position:relative; width:100%; max-width:600px; display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
.hx-concept-bubble { display:flex; align-items:center; gap:10px; max-width:400px; padding:12px 18px 12px 10px; border-radius:20px 20px 4px 20px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); color:#e6e8f3; font-size:15px; font-weight:600; line-height:1.35; opacity:0; transform:translateY(-8px); transition:opacity .5s ease,transform .5s ease; }
.hx-concept-bubble img { width:30px; height:30px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.hx-chapter.is-active .hx-concept-bubble { opacity:1; transform:translateY(0); }
.hx-concept-card { width:100%; padding:20px 24px; border-radius:18px; border:1px solid rgba(145,140,255,.3); background:rgba(255,255,255,.03); }
.hx-concept-card p { display:flex; gap:12px; margin:0 0 12px; opacity:0; transform:translateY(8px); transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1); }
.hx-concept-card p[style*="--i:0"] { transition-delay:.5s; }
.hx-concept-card p[style*="--i:1"] { transition-delay:.85s; }
.hx-concept-card p[style*="--i:2"] { transition-delay:1.2s; }
.hx-chapter.is-active .hx-concept-card p { opacity:1; transform:translateY(0); }
.hx-concept-card b { flex-shrink:0; width:112px; color:#8c92a7; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.hx-concept-card span { color:#f1f0fb; font-size:15px; font-weight:600; line-height:1.4; }
.hx-concept-faces { display:flex; gap:10px; opacity:0; transform:translateY(8px); transition:opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1); transition-delay:1.55s; }
.hx-chapter.is-active .hx-concept-faces { opacity:1; transform:translateY(0); }
.hx-concept-faces img { width:40px; height:40px; border-radius:50%; object-fit:cover; border:2.5px solid rgba(145,140,255,.5); }

/* chapitre 6 — génération en cours */
.hx-generating { display:flex; flex-direction:column; align-items:center; gap:22px; }
.hx-generating-ring { width:92px; height:92px; border-radius:50%; border:4px solid rgba(255,255,255,.1); border-top-color:#a79dff; animation:hxSpin 1s linear infinite; }
.hx-generating-label { color:#e6e8f3; font-size:22px; font-weight:700; animation:hxPulse 1.6s ease-in-out infinite; }
@keyframes hxPulse { 0%,100% { opacity:.55; } 50% { opacity:1; } }

/* chapitre 7 — choisis ton style */
.hx-stack { position:relative; width:100%; max-width:420px; height:240px; }
.hx-stackcard { position:absolute; left:50%; top:50%; width:210px; height:240px; object-fit:cover; border-radius:18px; border:2px solid rgba(255,255,255,.14); box-shadow:0 22px 50px rgba(0,0,0,.5); transform:translate(-50%,-50%) scale(.8); opacity:0; transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .5s ease; }
.hx-chapter.is-active .hx-stackcard { opacity:1; }
.hx-stackcard[style*="--i:0"] { transition-delay:.02s; z-index:1; }
.hx-stackcard[style*="--i:1"] { transition-delay:.1s; z-index:2; }
.hx-stackcard[style*="--i:2"] { transition-delay:.18s; z-index:3; }
.hx-chapter.is-active .hx-stackcard[style*="--i:0"] { transform:translate(calc(-50% - 66px), calc(-50% + 14px)) rotate(-9deg); }
.hx-chapter.is-active .hx-stackcard[style*="--i:1"] { transform:translate(-50%, calc(-50% - 8px)) rotate(0deg) scale(1.05); }
.hx-chapter.is-active .hx-stackcard[style*="--i:2"] { transform:translate(calc(-50% + 66px), calc(-50% + 14px)) rotate(9deg); }

/* chapitre 8 — studio */
.hx-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; width:100%; max-width:780px; }
.hx-proj { display:flex; flex-direction:column; gap:9px; padding:12px; border-radius:16px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); opacity:0; transform:translateY(14px) scale(.94); transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1); }
.hx-proj[style*="--i:0"] { transition-delay:.02s; }
.hx-proj[style*="--i:1"] { transition-delay:.1s; }
.hx-proj[style*="--i:2"] { transition-delay:.18s; }
.hx-proj[style*="--i:3"] { transition-delay:.26s; }
.hx-chapter.is-active .hx-proj { opacity:1; transform:translateY(0) scale(1); }
.hx-proj img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:11px; }
.hx-proj span { color:#e6e8f3; font-size:14px; font-weight:700; line-height:1.2; }
.hx-proj b { align-self:flex-start; padding:3px 10px; border-radius:99px; font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.hx-proj b.done { color:#8ff0b4; background:rgba(64,214,127,.16); }
.hx-proj b.draft { color:#e6b673; background:rgba(230,182,115,.16); }

/* chapitre 9 — roster de personnages */
.hx-roster { display:flex; gap:16px; flex-wrap:wrap; justify-content:center; max-width:640px; }
.hx-roster img { width:78px; height:78px; border-radius:50%; object-fit:cover; border:2.5px solid rgba(145,140,255,.4); opacity:0; transform:scale(.5); transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1); box-shadow:0 12px 28px rgba(0,0,0,.4); }
.hx-roster img:nth-child(1) { transition-delay:.02s; }
.hx-roster img:nth-child(2) { transition-delay:.06s; }
.hx-roster img:nth-child(3) { transition-delay:.1s; }
.hx-roster img:nth-child(4) { transition-delay:.14s; }
.hx-roster img:nth-child(5) { transition-delay:.18s; }
.hx-roster img:nth-child(6) { transition-delay:.22s; }
.hx-roster img:nth-child(7) { transition-delay:.26s; }
.hx-roster img:nth-child(8) { transition-delay:.3s; }
.hx-roster img:nth-child(9) { transition-delay:.34s; }
.hx-roster img:nth-child(10) { transition-delay:.38s; }
.hx-roster img:nth-child(11) { transition-delay:.42s; }
.hx-roster img:nth-child(12) { transition-delay:.46s; }
.hx-roster img:nth-child(13) { transition-delay:.5s; }
.hx-roster img:nth-child(14) { transition-delay:.54s; }
.hx-roster img:nth-child(15) { transition-delay:.58s; }
.hx-chapter.is-active .hx-roster img { opacity:1; transform:scale(1); }

/* chapitre 10 — utilise-les partout */
.hx-duo { display:flex; align-items:center; gap:26px; }
.hx-chip { display:flex; align-items:center; gap:12px; padding:12px 24px 12px 12px; border-radius:999px; border:1px solid rgba(145,140,255,.4); background:rgba(255,255,255,.04); color:#f1f0fb; font-size:19px; font-weight:700; opacity:0; transform:scale(.85); transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.56,.64,1); }
.hx-chip img { width:46px; height:46px; border-radius:50%; object-fit:cover; }
.hx-chapter.is-active .hx-chip { opacity:1; transform:scale(1); }
.hx-chip:nth-child(2) { transition-delay:.12s; }

.hx-badge { position:absolute; z-index:5; top:22px; left:24px; padding:8px 15px; border:1px solid rgba(255,255,255,.16); border-radius:99px; color:#e6e8f3; background:rgba(10,12,20,.58); backdrop-filter:blur(10px); font-size:12px; font-weight:900; letter-spacing:.1em; }
.hx-progress { position:absolute; z-index:5; left:0; right:0; bottom:0; height:4px; background:rgba(255,255,255,.08); }
.hx-progress span { display:block; height:100%; width:0%; background:linear-gradient(90deg,#7168ff,#a79dff); }

@media (max-width:900px) {
  .hx-frame { aspect-ratio:3/4; border-radius:18px; }
  .hx-grid { grid-template-columns:repeat(2,1fr); max-width:340px; }
  .hx-roster img { width:56px; height:56px; }
  .hx-roster { max-width:400px; gap:12px; }
  .hx-cardfan { height:190px; max-width:440px; }
  .hx-card { width:100px; height:135px; }
  .hx-ready-ring { width:130px; height:130px; }
  .hx-ready-orbit img { width:36px; height:36px; transform:rotate(calc(var(--o) * 90deg)) translate(104px) rotate(calc(var(--o) * -90deg)); }
  .hx-concept { max-width:440px; }
  .hx-typebox { max-width:480px; }
  .hx-stack { max-width:340px; height:200px; }
  .hx-stackcard { width:170px; height:200px; }
}
@media (max-width:560px) {
  .hx-title { font-size:22px; }
  .hx-typebox { padding:18px 20px; max-width:100%; }
  .hx-typetext { font-size:16px; }
  .hx-badge { font-size:10px; padding:6px 11px; }
  .hx-cardfan { max-width:100%; height:170px; }
  .hx-card { width:84px; height:114px; }
  .hx-grid { max-width:280px; gap:12px; }
  .hx-roster img { width:48px; height:48px; }
  .hx-ready-ring { width:110px; height:110px; }
  .hx-ready-orbit img { width:30px; height:30px; transform:rotate(calc(var(--o) * 90deg)) translate(88px) rotate(calc(var(--o) * -90deg)); }
}
@media (prefers-reduced-motion:reduce) {
  .hx-bg::before,.hx-swirl,.hx-ready-ring,.hx-ready-orbit img,.hx-generating-ring,.hx-generating-label,.hx-caret { animation:none; }
  .hx-card,.hx-stackcard,.hx-proj,.hx-roster img,.hx-chip,.hx-posterreveal,.hx-concept-bubble,.hx-concept-card p,.hx-concept-faces { transition:opacity .3s ease; }
}

/* ---------- Quiz & Funnel (V2 landing rebuild) ---------- */
.quiz-section,.funnel-section { padding: 60px 0 40px; }
.quiz-frame,.funnel-frame { position: relative; max-width: 760px; margin: 0 auto; background: linear-gradient(155deg, rgba(113,104,255,.10), var(--surface) 46%); border: 1px solid #2e3348; border-radius: 26px; padding: 48px 44px 40px; overflow: hidden; }
.quiz-progress { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: #1c2030; }
.quiz-progress span { display: block; height: 100%; width: 0%; background: linear-gradient(90deg, var(--primary), var(--primary-2)); transition: width .4s ease; }
.quiz-step,.funnel-step { display: none; }
.quiz-step.is-active,.funnel-step.is-active { display: block; animation: quizStepIn .45s ease; }
@keyframes quizStepIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.quiz-eyebrow { display: inline-block; color: var(--primary-2); font-size: 11px; font-weight: 900; letter-spacing: .14em; margin-bottom: 14px; }
.step-back-link { display: flex; align-items: center; gap: 4px; background: none; border: none; color: var(--muted); font-size: 13px; font-weight: 700; cursor: pointer; padding: 0; margin-bottom: 18px; transition: color .15s ease; }
.step-back-link:hover { color: #e9eaf3; }
.quiz-step h2,.funnel-step h2 { margin: 0 0 14px; font-size: clamp(26px,3.2vw,36px); line-height: 1.15; letter-spacing: -.03em; }
.quiz-step h2 em,.funnel-step h2 em { color: var(--primary-2); font-style: normal; }
.quiz-help { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0 0 30px; max-width: 560px; }
.quiz-help strong { color: #e9eaf3; }
.quiz-slider-wrap { margin: 10px 0 34px; }
.quiz-slider-wrap input[type=range] { width: 100%; accent-color: var(--primary); height: 6px; }
.quiz-slider-value { display: flex; align-items: baseline; gap: 8px; margin-top: 18px; }
.quiz-slider-value strong { font-size: clamp(36px,5vw,48px); letter-spacing: -.03em; background: linear-gradient(90deg, var(--primary-2), var(--gold)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.quiz-slider-value span { color: var(--muted); font-size: 15px; }
.quiz-pills button { min-width: 140px; min-height: 54px; font-size: 14px; }
.quiz-result-cards { display: flex; gap: 16px; margin: 10px 0 24px; flex-wrap: wrap; }
.quiz-result-card { flex: 1; min-width: 190px; background: var(--surface-2); border: 1px solid #303649; border-radius: 16px; padding: 22px; text-align: center; }
.quiz-result-card strong { display: block; font-size: clamp(30px,4vw,40px); letter-spacing: -.03em; color: var(--primary-2); }
.quiz-result-card span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.quiz-disclaimer { color: #6b7286; font-size: 12px; line-height: 1.55; margin: 0 0 30px; }
.funnel-grid.universe-pick { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.universe-card { position: relative; border: 1px solid #303649; border-radius: 15px; overflow: hidden; padding: 0; cursor: pointer; background: var(--surface-2); aspect-ratio: 1; }
.universe-card img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .75; transition: opacity .2s, transform .3s; }
.universe-card strong { position: absolute; left: 10px; bottom: 9px; z-index: 2; font-size: 13px; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.universe-card::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(6,7,13,.9)); }
.universe-card.active { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(113,104,255,.22); }
.universe-card.active img { opacity: 1; transform: scale(1.04); }
.model-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.model-card { border: 1px solid #303649; background: var(--surface-2); border-radius: 15px; padding: 22px 20px; text-align: left; cursor: pointer; }
.model-card strong { display: block; font-size: 17px; margin-bottom: 6px; }
.model-card span { color: var(--muted); font-size: 13px; }
.model-card.active { border-color: var(--primary); background: rgba(113,104,255,.12); }
#funnel-video-model { grid-template-columns: 1fr 1fr 1fr; }
.model-lock { display: inline-block; margin-top: 10px; font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: .02em; color: #ffb84d; background: rgba(255,184,77,.12); border: 1px solid rgba(255,184,77,.3); border-radius: 999px; padding: 3px 10px; }
@media (max-width: 720px) { #funnel-video-model { grid-template-columns: 1fr; } }
.personalize-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px; }
.funnel-recap { display: grid; grid-template-columns: 160px 1fr; gap: 22px; align-items: center; margin: 6px 0 26px; }
.funnel-recap-visual { border-radius: 16px; overflow: hidden; border: 1px solid #303649; aspect-ratio: 3/4; }
.funnel-recap-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.funnel-recap-list p { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #22273a; color: var(--muted); font-size: 13px; }
.funnel-recap-list p:last-child { border-bottom: none; }
.funnel-recap-list strong { color: #eceef6; }
.funnel-plan-card { background: linear-gradient(155deg, rgba(255,178,91,.12), var(--surface-2) 55%); border: 1px solid rgba(255,178,91,.3); border-radius: 18px; padding: 26px; text-align: center; }
.funnel-plan-card .quiz-eyebrow { color: var(--gold); }
.funnel-plan-card h3 { margin: 4px 0 6px; font-size: 24px; }
.funnel-plan-price { display: block; font-size: 34px; letter-spacing: -.02em; margin-bottom: 18px; }
.funnel-plan-price span { color: var(--muted); font-size: 14px; font-weight: 500; margin-left: 4px; }
@media (max-width: 900px) {
  .quiz-frame,.funnel-frame { padding: 34px 22px 30px; }
  .funnel-grid.universe-pick { grid-template-columns: repeat(3,1fr); }
  .model-pick,.personalize-pick { grid-template-columns: 1fr; }
  .funnel-recap { grid-template-columns: 110px 1fr; }
}
@media (max-width: 560px) {
  .funnel-grid.universe-pick { grid-template-columns: repeat(2,1fr); }
  .quiz-pills button { min-width: 0; flex: 1 1 100%; }
}

/* --- Agent IA --- */
.agent-layout { display: grid; grid-template-columns: 260px 1fr; gap: 26px; align-items: start; }
.agent-projects { border: 1px solid #2b3042; background: var(--surface); border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 8px; position: sticky; top: 106px; max-height: calc(100vh - 140px); overflow-y: auto; }
.agent-projects-empty { color: var(--muted); font-size: 13px; padding: 10px; margin: 0; }
.agent-project-row { display: flex; align-items: stretch; gap: 4px; position: relative; }
.agent-project-item { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; text-align: left; border: 1px solid #2d3243; background: #131722; border-radius: 12px; padding: 11px 12px; cursor: pointer; color: #e9eaf3; }
.agent-project-item strong { font-size: 13px; line-height: 1.35; font-weight: 700; }
.agent-project-item span { color: var(--muted); font-size: 11px; }
.agent-project-item.active { border-color: var(--primary); background: rgba(113,104,255,.12); }
.agent-project-delete { flex: 0 0 32px; align-self: center; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #9299ad; cursor: pointer; opacity: 0; transition: opacity .16s ease, color .16s ease, background .16s ease; }
.agent-project-row:hover .agent-project-delete, .agent-project-row:focus-within .agent-project-delete { opacity: 1; }
.agent-project-delete:hover, .agent-project-delete:focus-visible { color: #ff858c; background: rgba(255,92,104,.12); border-color: rgba(255,92,104,.2); outline: none; }
.agent-project-delete svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: none) { .agent-project-delete { opacity: 1; } }
.agent-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.agent-test-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.agent-test-controls .button.active { border-color: var(--primary); color: var(--primary-2); }
.agent-test-controls > span { color: var(--muted); font-size: 13px; }
.agent-test-stepper { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: 10px; border: 1px solid #2b3042; border-radius: 16px; background: var(--surface); }
.agent-test-stepper[hidden], .agent-test-controls [hidden] { display: none; }
.agent-test-stepper button { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px 8px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 750; text-align: left; cursor: pointer; }
.agent-test-stepper button:hover { border-color: #2b3042; color: #e9eaf3; }
.agent-test-stepper button.active { border-color: var(--primary); background: rgba(113,104,255,.12); color: #e9eaf3; }
.agent-test-stepper button > span { display: grid; width: 24px; height: 24px; flex: 0 0 24px; place-items: center; border-radius: 50%; background: #252a3a; color: var(--muted); }
.agent-test-stepper button.active > span { background: var(--primary); color: white; }
@media (max-width: 900px) { .agent-test-stepper { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .agent-test-stepper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.agent-card { border: 1px solid #2b3042; background: var(--surface); border-radius: 16px; padding: 22px; }
.agent-method { padding:22px; border:1px solid #302f4c; border-radius:18px; background:linear-gradient(135deg,rgba(113,104,255,.15),rgba(18,21,31,.96) 58%); }
.agent-method-heading span { display:block; margin-bottom:7px; color:#aaa4ff; font-size:10px; font-weight:900; letter-spacing:.16em; }
.agent-method-heading h2 { margin:0 0 17px; color:#f4f4fb; font-size:20px; letter-spacing:-.02em; }
.agent-method-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.agent-method-grid > div { display:flex; align-items:flex-start; gap:10px; min-width:0; padding:12px; border:1px solid rgba(153,147,255,.18); border-radius:12px; background:rgba(10,12,19,.36); }
.agent-method-grid b { display:grid; width:25px; height:25px; flex:0 0 25px; place-items:center; border-radius:8px; color:#fff; background:#7168ff; font-size:11px; }
.agent-method-grid span,.agent-method-grid strong,.agent-method-grid small { display:block; }
.agent-method-grid strong { color:#edecf6; font-size:12px; line-height:1.25; }
.agent-method-grid small { margin-top:4px; color:#9299ad; font-size:11px; line-height:1.35; }
.agent-duration-guide { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; margin:10px 0 0; padding:11px 13px; border:1px solid #30364a; border-radius:11px; color:#aab0c2; background:#151925; font-size:12px; }
.agent-duration-guide strong { color:#c9c5ff; }
.agent-duration-guide span { color:#dde0eb; }
.agent-duration-guide small { flex-basis:100%; color:#868da1; }
.agent-universe-guide { margin-top:12px; overflow:hidden; border:1px solid #30364a; border-radius:14px; background:#141822; }
.agent-universe-guide-head { padding:15px 16px 13px; }
.agent-universe-guide-head > span { display:block; margin-bottom:6px; color:#9f98ff; font-size:9px; font-weight:900; letter-spacing:.15em; }
.agent-universe-guide-head strong { display:block; color:#f0f1f8; font-size:16px; }
.agent-universe-guide-head p { margin:6px 0 0; max-width:720px; color:#979eb2; font-size:12px; line-height:1.5; }
.agent-universe-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border-top:1px solid #2d3243; background:#2d3243; }
.agent-universe-formats > div { min-width:0; padding:12px 14px; background:#171b27; }
.agent-universe-formats b,.agent-universe-formats small { display:block; }
.agent-universe-formats b { color:#e5e6ef; font-size:12px; }
.agent-universe-formats small { margin-top:4px; color:#858ca0; font-size:10.5px; line-height:1.4; }
.agent-stage-explainer { margin:0 0 18px; padding:13px 15px; border-left:3px solid #7168ff; border-radius:0 11px 11px 0; color:#9da4b8; background:rgba(113,104,255,.07); font-size:13px; line-height:1.5; }
.agent-stage-explainer strong { color:#e8e7f3; }
.agent-stage-topline { position:sticky; top:72px; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-4px -4px 16px; padding:8px 4px; background:linear-gradient(180deg,#151825 72%,rgba(21,24,37,0)); }
.agent-stage-topline .agent-stage-label { margin:0; }
.agent-stage-topline .agent-back-sticky { width:auto; min-height:38px; margin:0; padding:0 15px; border-color:#4b5169; background:#1b2030; font-size:12px; }
.agent-stage-topline .agent-back-sticky:hover { border-color:#8179ff; background:#242942; }
.agent-character-chat { margin-top:22px; padding:20px; border:1px solid #393a58; border-radius:16px; background:linear-gradient(140deg,rgba(113,104,255,.13),#151822 55%); }
.agent-character-chat > span { color:#aaa4ff; font-size:10px; font-weight:900; letter-spacing:.14em; }
.agent-character-chat h2 { margin:7px 0 5px; color:#f2f2f8; font-size:19px; }
.agent-character-chat > p { margin:0 0 14px; color:#9aa1b5; font-size:13px; line-height:1.5; }
.agent-character-suggestions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.agent-character-suggestions button { padding:9px 11px; border:1px solid #383d50; border-radius:999px; color:#c4c8d6; background:#171b27; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.agent-character-suggestions button:hover,.agent-character-suggestions button.active { border-color:#8179ff; color:#fff; background:rgba(113,104,255,.17); }
.agent-character-suggestions .agent-character-option { position:relative; display:grid; width:min(190px,100%); padding:0; overflow:hidden; border-radius:13px; text-align:left; }
.agent-character-option > span { display:grid; width:100%; aspect-ratio:4/3; place-items:center; color:#d9d6ff; background-color:#202536; background-position:center top; background-size:cover; font-size:30px; font-weight:900; }
.agent-character-option > strong { display:block; padding:10px 11px 11px; color:#e8e9f1; font-size:12px; line-height:1.35; }
.agent-character-option > em { position:absolute; top:8px; right:8px; padding:5px 7px; border-radius:999px; color:#d9d6ff; background:rgba(11,13,20,.78); font-size:9px; font-style:normal; font-weight:850; }
.agent-character-option.active > em { color:#10131b; background:#c9c5ff; }
.agent-custom-character { margin:18px 0 4px; padding:16px; border:1px solid #33394b; border-radius:14px; background:#121620; }
.agent-custom-character > div:first-child strong { color:#f0f1f7; font-size:14px; }.agent-custom-character > div:first-child p { margin:4px 0 12px; color:#8f97aa; font-size:12px; }
.agent-character-upload { display:grid; justify-items:center; width:min(440px,100%); min-height:118px; margin:16px auto 0; padding:20px; border:1px dashed #555c76; border-radius:16px; color:#e8e9f4; background:linear-gradient(145deg,rgba(113,104,255,.12),rgba(24,28,41,.84)); text-align:center; cursor:pointer; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.agent-character-upload:hover { transform:translateY(-2px); border-color:#8b83ff; background:linear-gradient(145deg,rgba(113,104,255,.2),rgba(24,28,41,.94)); box-shadow:0 12px 28px rgba(0,0,0,.2); }
.agent-character-upload > span { display:grid; width:40px; height:40px; margin-bottom:9px; place-items:center; border-radius:12px; color:#171923; background:#c9c5ff; font-size:25px; font-weight:500; line-height:1; }
.agent-character-upload > strong { font-size:14px; }.agent-character-upload > small { margin-top:4px; color:#9299ad; font-size:10px; }
.agent-custom-character-actions { display:flex; justify-content:center; margin-top:14px; }.agent-custom-character-actions .button { width:auto; min-width:230px; margin:0; cursor:pointer; }
.agent-custom-character-preview { display:flex; align-items:center; justify-content:center; gap:10px; width:min(440px,100%); margin:12px auto 0; padding:9px 12px; border:1px solid #33394b; border-radius:12px; color:#b7bccb; background:#171b27; font-size:12px; }.agent-custom-character-preview img { width:54px; height:54px; object-fit:cover; border-radius:11px; }
.agent-character-chat .button { margin-top:11px; width:auto; }
.agent-free-generation { margin-top:22px; padding:20px; border:1px solid #34394e; border-radius:18px; background:linear-gradient(145deg,#171b27,#11141d); }
.agent-free-generation > div:first-child > span { color:#aaa4ff; font-size:10px; font-weight:900; letter-spacing:.15em; }
.agent-free-generation h2 { margin:7px 0 5px; color:#f3f3f8; font-size:20px; }
.agent-free-generation > div:first-child > p { margin:0; max-width:720px; color:#9ca3b6; font-size:13px; line-height:1.5; }
.agent-model-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:17px 0 14px; }
.agent-model-cards button { position:relative; display:flex; align-items:center; gap:11px; min-width:0; padding:13px; border:1px solid #33394b; border-radius:13px; color:#dfe1eb; background:#121620; text-align:left; cursor:pointer; transition:border-color .18s,transform .18s,background .18s; }
.agent-model-cards button:hover { transform:translateY(-1px); border-color:#615aa8; }
.agent-model-cards button.active { border-color:#8179ff; background:rgba(113,104,255,.13); box-shadow:0 0 0 2px rgba(113,104,255,.1); }
.agent-model-cards b { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:11px; color:#10131b; background:#c9c5ff; font-size:12px; }
.agent-model-cards span { min-width:0; flex:1; }.agent-model-cards strong,.agent-model-cards small { display:block; }
.agent-model-cards small { margin-top:3px; color:#8f97aa; font-size:10.5px; line-height:1.35; }
.agent-model-cards em { position:absolute; top:8px; right:8px; color:#9f99ff; font-size:9px; font-style:normal; font-weight:850; text-transform:uppercase; }
.agent-free-generation > .button { width:auto; }
.agent-model-pricing-note { display:block; margin-top:10px; color:#777f93; font-size:10.5px; }
.agent-simple-mode #agent-stage-script .agent-script-checks { grid-template-columns:repeat(3,minmax(0,1fr)); }
.agent-simple-mode #agent-stage-script .agent-script-checks > strong { grid-column:1/-1; text-align:left; }
.agent-simple-mode .agent-duration-guide,.agent-simple-mode #agent-script-word-count,.agent-simple-mode #agent-script-checks { display:none; }
.agent-simple-mode #agent-stage-idea > .choice-section { margin-bottom:18px; }
.agent-simple-mode #agent-stage-idea .choice-section label small { display:none; }
.agent-simple-mode #agent-stage-idea .agent-stage-actions { align-items:center; }
.agent-simple-mode #agent-stage-idea .agent-stage-actions .button { min-width:240px; }
.agent-simple-mode #agent-generate-single { order:-1; }
.agent-stage-label { display: inline-block; color: var(--primary-2); font-size: 11px; font-weight: 900; letter-spacing: .14em; margin-bottom: 14px; }
.agent-card label { display: block; margin: 14px 0 8px; font-size: 13px; font-weight: 750; color: #b9becd; }
.agent-card label small { color: var(--muted); font-weight: 500; }
.agent-card textarea { width: 100%; border-radius: 12px; border: 1px solid #2d3243; background: #131722; color: #e9eaf3; padding: 12px 14px; font: inherit; resize: vertical; }
.agent-idea-guidance { margin: 10px 0 -2px; max-width: 760px; color: #9ea5b9; font-size: 12.5px; line-height: 1.55; }
.agent-stage-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.agent-stage-actions .button { width: auto; min-width: 180px; }
.agent-script-box { display:block; width:100%; min-height:360px; resize:vertical; white-space:pre-wrap; line-height:1.6; font-size:14px; color:#dfe1ec; border:1px solid #2d3243; background:#131722; border-radius:12px; padding:16px; overflow-y:auto; font-family:inherit; }
.agent-script-box:focus { outline:none; border-color:#7168ff; box-shadow:0 0 0 3px rgba(113,104,255,.16); }
.agent-style-reference { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 12px; padding:13px 15px; border:1px solid #2d3243; border-radius:12px; background:#131722; }
.agent-style-reference strong { display:block; color:#f0f1f8; }
.agent-style-reference p { margin:3px 0 0; color:#9ba1b7; font-size:13px; }
.agent-add-reference { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:9px 12px; border:1px solid rgba(145,140,255,.48); border-radius:10px; color:#d9d6ff; background:rgba(113,104,255,.1); font-size:12px; font-weight:800; cursor:pointer; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.agent-add-reference span { display:grid; width:18px; height:18px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#817aff,#6258e8); font-size:16px; line-height:1; }
.agent-add-reference:hover { transform:translateY(-2px); border-color:#a7a1ff; background:rgba(113,104,255,.2); }
.agent-style-preview { display:flex; align-items:center; gap:10px; margin:-2px 0 14px; color:#a9a2ff; font-size:13px; }
.agent-style-preview img { width:46px; height:46px; border-radius:9px; object-fit:cover; border:1px solid rgba(145,140,255,.55); }
.agent-board-card { overflow:hidden; border:1px solid #2d3243; border-radius:14px; background:#131722; transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.agent-board-card[role="button"] { cursor:zoom-in; }
.agent-board-card[role="button"]:hover, .agent-board-card[role="button"]:focus-visible { transform:translateY(-5px); border-color:#817aff; box-shadow:0 16px 34px rgba(0,0,0,.28), 0 0 0 1px rgba(129,122,255,.18); outline:none; }
.agent-board-visual { position:relative; display:grid; min-height:180px; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 20%,rgba(113,104,255,.2),transparent 60%),#0f121b; color:#a9a2ff; font-size:30px; }
.agent-board-visual::after { content:'Agrandir'; position:absolute; right:10px; bottom:10px; opacity:0; transform:translateY(5px); border-radius:999px; padding:6px 9px; color:#fff; background:rgba(12,14,22,.76); font-size:11px; font-weight:800; transition:opacity .2s ease, transform .2s ease; }
.agent-board-card[role="button"]:hover .agent-board-visual::after, .agent-board-card[role="button"]:focus-visible .agent-board-visual::after { opacity:1; transform:none; }
.agent-board-visual img { display:block; width:100%; height:100%; min-height:180px; object-fit:cover; transition:transform .42s cubic-bezier(.22,.8,.2,1); }
.agent-board-card[role="button"]:hover .agent-board-visual img, .agent-board-card[role="button"]:focus-visible .agent-board-visual img { transform:scale(1.045); }
.agent-board-body { padding:13px; }
.agent-board-body > span { display:block; margin-bottom:5px; color:#a9a2ff; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.agent-board-body strong { display:block; color:#f0f1f8; }
.agent-board-body em { display:block; margin-top:8px; color:#6fe1ad; font-size:12px; font-style:normal; font-weight:700; }
.agent-board-actions { display:flex; margin-top:11px; }
.agent-board-actions .button { position:relative; z-index:2; }
.agent-board-card[data-status="planned"] .agent-board-body em { color:#aeb3c7; }
@media (max-width: 640px) { .agent-style-reference { align-items:flex-start; flex-direction:column; } .agent-style-reference .button { width:100%; } }
.agent-character-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.agent-character-card { border: 1px solid #2d3243; background: #131722; border-radius: 14px; padding: 10px; text-align: center; }
.agent-character-visual { aspect-ratio: 3/2; border-radius: 10px; overflow: hidden; background: #1a1e2c; display: grid; place-items: center; margin-bottom: 8px; }
.agent-character-visual img { width: 100%; height: 100%; object-fit: contain; display: block; }
.agent-character-visual span { font-size: 22px; color: var(--muted); }
.agent-image-spend { margin: -4px 0 14px; font-size: 12px; font-weight: 700; color: var(--muted); }
.agent-character-body strong { display: block; font-size: 13px; margin-bottom: 4px; }
.agent-character-regen { margin-top: 8px; width: 100%; padding: 7px; font-size: 11px; font-weight: 700; color: var(--primary-2, #a5a8ff); background: transparent; border: 1px solid #353b4e; border-radius: 8px; cursor: pointer; }
.agent-character-regen:hover { border-color: var(--primary, #7168ff); color: #fff; }
.agent-status { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 3px 8px; border-radius: 999px; }
.agent-status-pending { color: #ffb84d; background: rgba(255,184,77,.12); }
.agent-status-queued, .agent-status-generating { color: #ffb84d; background: rgba(255,184,77,.12); }
.agent-status-completed { color: var(--green); background: rgba(85,214,158,.12); }
.agent-status-failed { color: #ff7878; background: rgba(255,120,120,.12); }
.agent-status-draft { color: var(--muted); background: rgba(255,255,255,.06); }
.agent-inline-error { color: #ff9a9a; font-size: 11px; margin: 6px 0 0; }
.agent-spinner { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #333952; border-top-color: var(--primary-2); animation: agentSpin .8s linear infinite; }
@keyframes agentSpin { to { transform: rotate(360deg); } }
.agent-plan-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.agent-plan-card { overflow: hidden; border: 1px solid #2d3243; background: #131722; border-radius: 14px; }
.agent-plan-visual { display: grid; aspect-ratio: 9 / 16; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 20%, rgba(113,104,255,.18), transparent 52%), #10131c; color: #a9a2ff; font-size: 13px; font-weight: 700; text-align: center; }
.agent-plan-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.agent-plan-body { padding: 13px; }
.agent-plan-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.agent-plan-head span { padding:3px 7px; border-radius:999px; color:#aaa5ff; background:rgba(113,104,255,.13); font-size:10px; font-weight:800; }
.agent-plan-speaker { margin-bottom:7px; color:#8e95aa; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.agent-plan-dialogue { margin:0 0 10px; padding:9px 10px; border-left:2px solid #7168ff; color:#f0eff8; background:rgba(113,104,255,.07); font-size:12px; line-height:1.45; }
.agent-plan-action { color: #e4e6f0; font-size: 13px; line-height: 1.48; margin: 0; }
.agent-plan-video { width: 100%; max-width: 260px; border-radius: 10px; display: block; margin: 0 0 10px; background: #000; }
.agent-plan-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
.agent-plan-actions .agent-status { margin-right: auto; }
.agent-music-workspace { max-width:840px; margin:32px auto 0; padding:28px 0 8px; border-top:1px solid #2b3041; }
.agent-music-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin:0 0 18px; }
.agent-music-heading h2 { margin:0 0 6px; color:#f4f4fb; font-size:24px; letter-spacing:-.025em; }
.agent-music-heading h2 span { display:inline-flex; margin-left:8px; padding:4px 8px; border-radius:999px; background:#292b32; color:#9195a2; font-size:11px; font-weight:750; vertical-align:middle; }
.agent-music-heading p { margin:0; color:#9298aa; font-size:14px; line-height:1.5; }
.agent-music-tabs { display:flex; gap:8px; margin-bottom:14px; }
.agent-music-tabs button { min-height:42px; padding:0 16px; border:0; border-radius:10px; color:#9297a6; background:transparent; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.agent-music-tabs button:hover { color:#ececf4; }.agent-music-tabs button.active { color:#fff; background:#2a2d36; box-shadow:inset 0 0 0 1px #383c49; }
.agent-music-list { display:grid; gap:9px; }
.agent-music-row { display:grid; grid-template-columns:44px minmax(0,1fr) auto 22px; align-items:center; gap:14px; min-height:74px; padding:10px 16px; border:1px solid #2f3340; border-radius:13px; background:#181b22; cursor:pointer; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.agent-music-row:hover,.agent-music-row:focus-visible { border-color:#6861dd; background:#1d2029; outline:none; transform:translateY(-1px); }
.agent-music-row.selected { border-color:#7b72ff; background:linear-gradient(90deg,rgba(112,103,255,.14),#1a1d25 38%); box-shadow:0 0 0 1px rgba(123,114,255,.18); }
.agent-music-row > div { min-width:0; }.agent-music-row strong { display:block; overflow:hidden; color:#f0f1f6; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }.agent-music-row small { display:block; margin-top:4px; color:#868b9a; font-size:12px; }
.agent-music-preview,.agent-music-preview-placeholder { width:42px; height:42px; display:grid; place-items:center; border:1px solid #343845; border-radius:50%; color:#fff; background:#282b34; font:inherit; cursor:pointer; }
.agent-music-preview:hover { border-color:#7b72ff; background:#37334f; }.agent-music-preview span { margin-left:2px; font-size:13px; }.agent-music-preview-placeholder { color:#7f8493; cursor:default; }

/* Miniatures, installation et tutoriel connecté */
.nav-item-locked small{margin-left:auto;border:1px solid #484266;border-radius:999px;padding:2px 7px;color:#afa8ff;font-size:9px;letter-spacing:.12em}.thumbnail-head{max-width:760px}.thumbnail-workspace{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(500px,1.08fr);gap:24px;align-items:start}.thumbnail-controls,.thumbnail-preview-panel{border:1px solid #2d3245;border-radius:22px;background:#121622}.thumbnail-controls{padding:22px;display:grid;gap:14px}.thumbnail-control-card{padding:17px;border:1px solid #292f41;border-radius:15px;background:#0d111c}.thumbnail-control-card>label{display:block;margin:0 0 10px;font-weight:800}.thumbnail-control-card label small{color:var(--muted);font-weight:600}.thumbnail-control-card input[type="text"],.thumbnail-control-card>input,.thumbnail-control-card textarea{width:100%;border:1px solid #343a4f;border-radius:11px;background:#121725;color:#fff;padding:13px 14px;font:inherit}.thumbnail-control-card #thumbnail-title{font-size:16px;font-weight:850}.thumbnail-field-foot{display:flex;justify-content:space-between;margin-top:8px;color:#82899d;font-size:11px}.thumbnail-upload{display:flex!important;align-items:center;gap:12px;border:1px dashed #484f69;border-radius:12px;padding:14px;cursor:pointer;margin:0!important}.thumbnail-upload>span{width:38px;height:38px;border-radius:10px;background:#28234d;color:#a9a2ff;display:grid;place-items:center;font-size:21px}.thumbnail-upload div{display:grid;gap:3px}.thumbnail-upload small{color:#7e8598}.thumbnail-upload input{display:none}.thumbnail-upload.has-file{border-color:#756cff;background:rgba(113,104,255,.08)}.thumbnail-style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.thumbnail-style-grid button{border:1px solid #343a4d;background:#151a28;border-radius:12px;padding:9px;text-align:left;cursor:pointer}.thumbnail-style-grid button.active{border-color:#756cff;background:#211d46;box-shadow:0 0 0 1px #756cff}.thumbnail-style-grid strong,.thumbnail-style-grid small{display:block;margin-top:6px}.thumbnail-style-grid small{color:#8d94a7;font-size:10px}.thumb-style-swatch{display:block;height:35px;border-radius:7px}.thumb-style-swatch.impact{background:linear-gradient(135deg,#f15132,#ffca3a)}.thumb-style-swatch.cinema{background:linear-gradient(135deg,#12223f,#7d315b)}.thumb-style-swatch.clean{background:linear-gradient(135deg,#edeff7,#a8b1c8)}.thumbnail-inline-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.thumbnail-inline-options label{margin-bottom:8px}.thumbnail-actions{display:flex;justify-content:flex-end;gap:10px}.thumbnail-preview-panel{padding:18px;position:sticky;top:84px}.thumbnail-preview-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.thumbnail-preview-toolbar span{font-weight:850}.thumbnail-preview-toolbar small{color:#9299aa}.thumbnail-canvas{aspect-ratio:16/9;border-radius:16px;overflow:hidden;position:relative;background:#191d29;isolation:isolate}.thumbnail-canvas.format-shorts{aspect-ratio:9/16;max-height:620px;margin:auto}.thumbnail-canvas img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s filter,.25s transform}.thumbnail-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.92) 0%,rgba(7,8,15,.42) 47%,rgba(0,0,0,.08) 75%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 48%);z-index:1}.thumbnail-kicker{position:absolute;z-index:2;left:6%;top:11%;padding:5px 9px;border-radius:5px;background:#ffca3a;color:#17120a;font-size:clamp(8px,1vw,13px);font-weight:950;letter-spacing:.08em}.thumbnail-canvas>strong{position:absolute;z-index:2;left:6%;bottom:12%;width:66%;color:#fff;font-size:clamp(24px,3.1vw,54px);line-height:.92;letter-spacing:-.055em;text-shadow:0 4px 18px rgba(0,0,0,.6)}.thumbnail-arrow{position:absolute;z-index:2;right:5%;bottom:8%;width:54px;height:54px;border-radius:50%;background:#756cff;display:grid;place-items:center;font-size:27px;box-shadow:0 10px 28px rgba(70,55,255,.45)}.thumbnail-canvas.style-cinema img{filter:saturate(.72) contrast(1.18) brightness(.82);transform:scale(1.03)}.thumbnail-canvas.style-cinema .thumbnail-kicker{background:#df445d;color:white}.thumbnail-canvas.style-cinema .thumbnail-arrow{background:#df445d}.thumbnail-canvas.style-clean img{filter:saturate(.8) brightness(1.08)}.thumbnail-canvas.style-clean .thumbnail-vignette{background:linear-gradient(90deg,rgba(12,16,27,.8),rgba(12,16,27,.05))}.thumbnail-canvas.style-clean .thumbnail-kicker{background:white;color:#111}.thumbnail-tips{margin-top:16px;padding:15px;border-radius:13px;background:#0c101a;display:flex;gap:12px;flex-wrap:wrap}.thumbnail-tips strong{width:100%}.thumbnail-tips span{color:#a7adbc;font-size:12px}.thumbnail-safe-note{color:#858c9f;font-size:11px;text-align:center;margin:13px 0 0}
.install-hero{border:1px solid #302f48;border-radius:24px;padding:34px;background:radial-gradient(circle at 82% 18%,rgba(112,102,255,.22),transparent 38%),linear-gradient(135deg,#15182a,#0d1019)}.install-hero-grid{display:grid;grid-template-columns:1fr 420px;gap:35px;align-items:center}.install-hero h1{font-size:clamp(34px,4vw,60px);line-height:1;margin:10px 0 15px}.install-hero p{color:#aab0c0;line-height:1.6;max-width:660px}.install-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.install-benefits span{border:1px solid #3c4055;background:#111522;border-radius:999px;padding:8px 12px;font-size:12px}.install-device-mockups{height:260px;position:relative}.install-mac{position:absolute;left:0;top:15px;width:330px;height:210px;border:7px solid #3c4053;border-radius:15px;background:linear-gradient(145deg,#25214c,#101528);box-shadow:0 24px 55px rgba(0,0,0,.35)}.install-mac>span{position:absolute;left:50%;bottom:-22px;width:110px;height:16px;transform:translateX(-50%);background:#50556a;border-radius:0 0 18px 18px}.install-mac>div,.install-phone>div{height:100%;display:grid;place-content:center;justify-items:center;gap:9px}.install-phone{position:absolute;right:8px;bottom:0;width:115px;height:220px;border:6px solid #323747;border-radius:26px;background:linear-gradient(145deg,#1d193e,#0e1220);box-shadow:0 20px 40px rgba(0,0,0,.45)}.install-device-mockups .brand-mark{width:53px;height:53px}.install-phone .brand-mark{width:42px;height:42px}.install-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.install-platform-card{border:1px solid #2e3345;border-radius:20px;padding:24px;background:#121622}.install-platform-title{display:flex;gap:14px;align-items:center}.install-platform-title>span{width:48px;height:48px;border-radius:14px;background:#252149;color:#aaa4ff;display:grid;place-items:center;font-size:23px}.install-platform-title h2,.install-platform-title p{margin:0}.install-platform-title p{color:#8990a2;font-size:12px;margin-top:4px}.install-platform-card ol{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:11px}.install-platform-card li{display:flex;align-items:flex-start;gap:12px;border-top:1px solid #282d3d;padding-top:11px}.install-platform-card li>b{flex:0 0 26px;height:26px;border-radius:8px;background:#6f66ff;display:grid;place-items:center}.install-platform-card li span{line-height:1.5;color:#b4bac8}.install-help{margin-top:20px;border:1px solid #33384b;border-radius:17px;padding:18px;display:flex;gap:13px;align-items:flex-start;background:#10141f}.install-help>span{width:32px;height:32px;border-radius:50%;background:#262b3b;display:grid;place-items:center}.install-help strong,.install-help p{display:block;margin:0}.install-help p{color:#8e95a7;margin-top:4px}
.onboarding-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(5,7,12,.82);backdrop-filter:blur(14px);display:none;place-items:center;padding:24px}.onboarding-backdrop.open{display:grid}.onboarding-modal{width:min(850px,96vw);max-height:92vh;overflow:auto;border:1px solid #393d52;border-radius:26px;background:#111521;box-shadow:0 34px 100px rgba(0,0,0,.65)}.onboarding-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #272c3b}.onboarding-top .brand{font-size:19px}.onboarding-top .brand-mark{width:34px;height:34px}.onboarding-top button{border:0;background:transparent;color:#9da4b5;cursor:pointer;font-weight:700}.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:18px 24px 0}.onboarding-progress i{height:4px;border-radius:4px;background:#2e3343}.onboarding-progress i.active{background:#756cff}.onboarding-steps{padding:18px 48px 8px}.onboarding-step{display:none;text-align:center}.onboarding-step.active{display:block}.onboarding-step h2{font-size:clamp(30px,4vw,48px);line-height:1.04;margin:9px 0 12px}.onboarding-step>p{color:#a1a8b8;line-height:1.6;max-width:650px;margin:0 auto}.onboarding-visual{height:250px;border:1px solid #30364a;border-radius:20px;background:radial-gradient(circle at 50% 25%,rgba(113,104,255,.2),transparent 48%),#0c101a;margin-bottom:25px;position:relative;overflow:hidden}.onboarding-welcome{display:grid;place-content:center}.onboarding-spark{position:absolute;left:12%;top:18%;font-size:37px;color:#aaa4ff}.onboarding-video-card{width:260px;padding:22px;border:1px solid #464b61;border-radius:17px;background:#171b28;display:grid;gap:4px;text-align:left;box-shadow:0 22px 55px rgba(0,0,0,.4)}.onboarding-video-card i{color:#9d96ff;font-style:normal}.onboarding-video-card strong{font-size:28px}.onboarding-video-card small{color:#8d94a4}.onboarding-flow{margin-top:14px;color:#c7cad3;font-weight:800}.onboarding-flow b{color:#756cff;margin:0 9px}.onboarding-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:38px}.onboarding-paths article{display:grid;place-content:center;gap:7px;border:1px solid #353b4f;border-radius:16px;background:#151a27}.onboarding-paths article>span{font-size:26px;color:#9e97ff}.onboarding-paths small{color:#848b9c}.onboarding-cost{display:grid;place-content:center;justify-items:center}.onboarding-cost>span{color:#8e95a5}.onboarding-cost>strong{font-size:48px;color:#aaa5ff}.onboarding-cost>div{display:flex;gap:10px;text-align:left;margin-top:15px}.onboarding-cost i{width:32px;height:32px;border-radius:50%;background:#163b34;color:#67e2ad;display:grid;place-items:center}.onboarding-cost p,.onboarding-cost b,.onboarding-cost small{margin:0;display:block}.onboarding-cost small{color:#81899b;margin-top:4px}.onboarding-install{display:flex;justify-content:center;align-items:center;gap:26px}.install-mini-device{width:150px;height:130px;border:4px solid #3e4357;border-radius:17px;background:#161b2b;display:grid;place-content:center;justify-items:center;gap:8px}.install-mini-device.phone{width:84px;height:150px;border-radius:22px}.install-mini-device .brand-mark{width:42px;height:42px}.onboarding-lock{position:absolute;bottom:13px;border:1px solid #4a4568;border-radius:999px;background:#1d1a35;padding:7px 11px;color:#b7b2ff;font-size:11px}.onboarding-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:18px 24px 24px}.onboarding-actions>span{margin-right:auto;color:#858c9e;font-size:12px}.onboarding-actions .button{min-width:120px}
@media(max-width:1050px){.thumbnail-workspace,.install-hero-grid{grid-template-columns:1fr}.thumbnail-preview-panel{position:static}.install-device-mockups{max-width:430px;width:100%;margin:auto}.quick-dock{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.thumbnail-workspace{display:block}.thumbnail-controls{margin-bottom:16px}.thumbnail-inline-options,.install-platform-grid{grid-template-columns:1fr}.thumbnail-style-grid{grid-template-columns:1fr}.thumbnail-style-grid button{display:grid;grid-template-columns:55px 1fr;column-gap:9px}.thumb-style-swatch{grid-row:1/3}.thumbnail-actions{flex-direction:column}.thumbnail-actions .button{width:100%}.install-hero{padding:22px}.install-device-mockups{transform:scale(.85);transform-origin:center top;margin-bottom:-35px}.onboarding-steps{padding:14px 22px 5px}.onboarding-visual{height:215px}.onboarding-paths{padding:18px;grid-template-columns:1fr}.onboarding-paths article{padding:10px}.onboarding-step h2{font-size:31px}.onboarding-top{padding:15px}.quick-dock{grid-template-columns:1fr}}
.agent-music-duration { color:#8e93a0; font-size:13px; font-variant-numeric:tabular-nums; }.agent-music-check { color:#8b84ff; font-size:17px; opacity:0; }.agent-music-row.selected .agent-music-check { opacity:1; }
.agent-music-panel[hidden] { display:none; }.agent-music-panel { min-height:120px; }
.agent-music-dropzone { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:24px; border:2px dashed #373b48; border-radius:14px; color:#a1a5b1; background:#12151c; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.agent-music-dropzone:hover,.agent-music-dropzone.dragging { border-color:#7b72ff; background:rgba(112,103,255,.08); }.agent-music-dropzone.uploading { pointer-events:none; opacity:.6; }
.agent-upload-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#b9b5ff; background:rgba(112,103,255,.16); font-size:24px; }.agent-music-dropzone strong { color:#f0f1f6; font-size:16px; }.agent-music-dropzone small { color:#7f8492; font-size:12px; }
#agent-custom-music { margin-top:10px; }
.agent-prompt-modal { width: min(680px, 100%); }
.agent-prompt-modal label { display: block; margin: 0 0 8px; color: #e9eaf3; font-size: 13px; font-weight: 800; }
.agent-prompt-modal textarea { width: 100%; min-height: 220px; resize: vertical; line-height: 1.45; }
.agent-engine-select { border-radius: 10px; border: 1px solid #313648; background: #171b29; color: #e9eaf3; padding: 9px 10px; font: inherit; font-size: 12px; }
.agent-board-preview-modal { width:min(920px, calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:18px; overflow:auto; }
.agent-board-preview-modal h2 { margin:0 42px 14px 0; font-size:18px; }
.agent-board-preview-modal img { display:block; width:100%; height:auto; border-radius:10px; background:#0d1019; }
.button.small { min-height: 34px; padding: 0 14px; font-size: 12px; width: auto; }
.agent-final-video video { width: 100%; max-width: 420px; border-radius: 14px; display: block; background: #000; margin-bottom: 12px; }
@media (max-width: 900px) {
  .agent-layout { grid-template-columns: 1fr; }
  .agent-projects { position: static; max-height: none; }
  .agent-method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .agent-script-checks { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .agent-script-checks > strong { grid-column:1/-1; text-align:left; }
}
@media (max-width: 560px) { .agent-method-grid { grid-template-columns:1fr; } }
@media (max-width: 620px) { .agent-universe-formats { grid-template-columns:1fr; } }
@media (max-width: 560px) { .agent-music-row { grid-template-columns:42px minmax(0,1fr) 20px; padding:10px; }.agent-music-duration { display:none; }.agent-music-tabs button { flex:1; padding:0 8px; }.agent-music-workspace { margin-top:24px; padding-top:22px; } }

/* Agent IA — vraie barre de chargement, bien visible, avec texte d'état */
.agent-card { position: relative; }
.agent-loading-bar { margin: 0 0 18px; padding: 14px; border: 1px solid rgba(145,140,255,.28); border-radius: 12px; background: linear-gradient(135deg, rgba(113,104,255,.14), rgba(19,23,34,.96) 64%); }
.agent-loading-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 11px; font-size: 13px; color: #e9eaf3; }
.agent-loading-percent { color: var(--primary-2); font-weight: 900; font-variant-numeric: tabular-nums; }
.agent-loading-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0; margin: 0 0 13px; list-style: none; }
.agent-loading-steps li { display: flex; align-items: center; gap: 6px; min-width: 0; color: #777e93; font-size: 11px; font-weight: 700; transition: color .2s ease; }
.agent-loading-steps i { display: grid; flex: 0 0 19px; width: 19px; height: 19px; place-items: center; border: 1px solid #3a4054; border-radius: 50%; font-size: 10px; font-style: normal; }
.agent-loading-steps li.active { color: #e9eaf3; }
.agent-loading-steps li.active i { border-color: var(--primary-2); color: #fff; background: var(--primary); box-shadow: 0 0 0 3px rgba(113,104,255,.16); }
.agent-loading-steps li.done { color: #bcbfff; }
.agent-loading-steps li.done i { border-color: var(--primary); color: #fff; background: var(--primary); }

.agent-video-queue-note { margin: 0 0 14px; padding: 11px 14px; border: 1px solid #31374a; border-radius: 12px; color: #a8aec1; background: #171a25; font-size: 13px; }
.agent-script-word-count { margin: 7px 0 15px; color: #969db1; font-size: 12px; }
.agent-script-word-count.below-target { color: #ffbd65; }
.agent-script-word-count.ready { color:#6fe1ad; }
.agent-script-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; align-items:center; gap:8px; margin:-5px 0 18px; padding:11px; border:1px solid #353949; border-radius:12px; background:#141822; }
.agent-script-checks > span { display:flex; align-items:center; gap:6px; color:#a5abbd; font-size:11px; }
.agent-script-checks i { display:grid; width:19px; height:19px; place-items:center; border-radius:50%; color:#ffbd65; background:rgba(255,189,101,.1); font-size:10px; font-style:normal; font-weight:900; }
.agent-script-checks span.ok i { color:#6fe1ad; background:rgba(85,214,158,.12); }
.agent-script-checks b { color:#e9eaf3; }
.agent-script-checks > strong { color:#ffbd65; font-size:11px; text-align:right; }
.agent-script-checks.is-ready { border-color:rgba(85,214,158,.28); background:rgba(85,214,158,.055); }
.agent-script-checks.is-ready > strong { color:#6fe1ad; }
.agent-video-queue-note.active { border-color: rgba(255, 173, 67, .42); color: #ffc16d; background: rgba(255, 173, 67, .09); }
.agent-final-intro { margin: 4px 0 12px; color: #9da4b9; font-size: 14px; line-height: 1.55; }
.agent-editor-back { margin: 0 0 16px; }
.agent-editor { display: grid; gap: 16px; }
.agent-editor-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.agent-editor-top h2 { margin: 0 0 4px; font-size: 20px; }
.agent-editor-top p { margin: 0; color: #9da4b9; font-size: 13px; }
.agent-editor-badge { padding: 7px 10px; border: 1px solid #383e52; border-radius: 999px; color: #c1beff; font-size: 11px; font-weight: 700; white-space: nowrap; }
.agent-editor-preview { display: block; width: min(100%, 420px); max-height: 70vh; border-radius: 14px; background: #080a10; object-fit: contain; }
.agent-editor-timeline { display: grid; gap: 12px; padding: 14px; border: 1px solid #2c3243; border-radius: 14px; background: #10131c; }
.agent-editor-video-track, .agent-editor-music-track { display: grid; grid-template-columns: 58px minmax(0, 1fr); align-items: center; gap: 10px; }
.agent-editor-track-label { color: #aeb4c8; font-size: 12px; font-weight: 700; }
.agent-editor-clips { display: flex; min-width: 0; gap: 5px; overflow-x: auto; }
.agent-editor-clip { display: grid; flex: 1 0 76px; max-width: 150px; min-width: 76px; gap: 5px; padding: 5px; border: 1px solid #343a4d; border-radius: 9px; color: #edf0fa; background: #1a1e2a; text-align: left; cursor: pointer; transition: border-color .18s ease, transform .18s ease; }
.agent-editor-clip:hover { transform: translateY(-2px); border-color: #8b7fff; }
.agent-editor-clip.active { border-color: #8676ff; box-shadow: 0 0 0 2px rgba(126, 108, 255, .18); }
.agent-editor-clip img { width: 100%; height: 56px; border-radius: 5px; background: #090b12; object-fit: cover; }
.agent-editor-clip span { display: flex; justify-content: space-between; gap: 4px; font-size: 11px; }
.agent-editor-clip small { color: #989fb2; }
.agent-editor-empty { margin: 0; color: #969db1; font-size: 13px; }
.agent-editor-music-track { grid-template-columns: 58px minmax(0, 1fr) minmax(70px, auto); }
.agent-editor-track-line { position: relative; height: 18px; overflow: hidden; border: 1px solid #363b4d; border-radius: 6px; background: #1a1d28; }
.agent-editor-track-line i { position: absolute; top: 0; bottom: 0; display: block; border-radius: 5px; background: linear-gradient(90deg, #6b60ed, #a08aff); }
.agent-editor-track-line.muted i { left: 0; width: 100%; background: #363b49; }
.agent-editor-track-name { overflow: hidden; color: #c2c7d7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.agent-editor-music-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; padding: 14px; border: 1px solid #2c3243; border-radius: 14px; background: #11141e; }
.agent-editor-music-controls > div { grid-column: 1 / -1; display: grid; gap: 4px; }
.agent-editor-music-controls strong { font-size: 14px; }
.agent-editor-music-controls small { color: #969db1; font-size: 12px; }
.agent-editor-music-controls label { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 10px; color: #b9bfd0; font-size: 12px; font-weight: 700; }
.agent-editor-music-controls input { grid-column: 1 / -1; width: 100%; accent-color: #8372ff; }
.agent-editor-no-music { margin: 0; color: #969db1; font-size: 13px; }
.agent-editor-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.agent-editor-export-state { color: #8b91a6; font-size: 12px; }
.agent-editor-note { margin: 0; color: #8e95a9; font-size: 12px; }
.agent-plan-list > .agent-video-queue-note { grid-column: 1 / -1; min-height: 0; }
.agent-plan-card { transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.agent-plan-card:hover { transform: translateY(-3px); border-color: #5149a6; box-shadow: 0 12px 28px rgba(0,0,0,.2); }
.agent-editor-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:12px 14px; border:1px solid #2c3243; border-radius:13px; background:#11141e; }
.agent-editor-toolbar > span { color:#c4c8d8; font-size:13px; font-weight:700; }
.agent-editor-toolbar > div { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.agent-editor-toolbar .button { min-height:34px; padding-inline:11px; }
.agent-editor-preview { margin:0 auto 4px; width:min(100%,360px); max-height:52vh; aspect-ratio:9/16; object-fit:contain; }
.agent-editor-preview { width:auto; height:min(70vh,740px); max-width:100%; max-height:70vh; aspect-ratio:auto; object-fit:contain; }
.agent-editor-timeline { gap:15px; padding:16px; }
.agent-editor-video-track { align-items:start; }
.agent-editor-track-label { padding-top:9px; }
.agent-editor-clips { align-items:stretch; gap:8px; padding:3px 3px 9px; scroll-snap-type:x proximity; }
.agent-editor-clip { position:relative; display:block; flex:0 0 auto; min-width:126px; max-width:280px; height:112px; padding:0; overflow:hidden; scroll-snap-align:start; border:1px solid #343a4d; border-radius:9px; cursor:grab; touch-action:pan-x; }
.agent-editor-clip:active { cursor:grabbing; }
.agent-editor-clip.dragging { opacity:.45; }
.agent-editor-clip img { display:block; width:100%; height:100%; border-radius:0; object-fit:cover; }
.agent-editor-clip::after { position:absolute; z-index:1; inset:30% 0 0; content:""; pointer-events:none; background:linear-gradient(transparent,rgba(4,6,12,.94)); }
.agent-editor-clip-label { position:absolute; z-index:2; right:12px; bottom:8px; left:12px; display:flex; align-items:center; justify-content:space-between; gap:6px; color:#fff; font-size:13px; }
.agent-editor-clip-label small { color:#d4d4e1; font-size:11px; }
.agent-editor-clip-range { position:absolute; z-index:2; right:12px; top:8px; color:#e2e4ee; font-size:10px; font-variant-numeric:tabular-nums; text-shadow:0 1px 4px #000; }
.agent-editor-grip { position:absolute; z-index:3; top:6px; left:6px; width:25px; height:26px; border:1px solid rgba(255,255,255,.3); border-radius:6px; color:#fff; background:rgba(9,11,17,.75); font-size:17px; cursor:grab; }
.agent-clip-trim { position:absolute; z-index:4; top:0; bottom:0; width:11px; padding:0; border:0; background:linear-gradient(90deg,rgba(8,10,16,.15),#9b8cff 45%,#fff 49%,#9b8cff 56%,rgba(8,10,16,.15)); cursor:ew-resize; touch-action:none; }
.agent-clip-trim-start { left:0; border-radius:8px 0 0 8px; }
.agent-clip-trim-end { right:0; border-radius:0 8px 8px 0; }
.agent-editor-clip.active .agent-clip-trim { background:linear-gradient(90deg,rgba(8,10,16,.1),#bbadff 45%,#fff 49%,#bbadff 56%,rgba(8,10,16,.1)); }
.agent-editor-clip:hover { transform:translateY(-2px); border-color:#8b7fff; }
.agent-editor-clip.active { border-color:#a89cff; box-shadow:0 0 0 2px rgba(126,108,255,.25); }
.agent-editor-music-track .agent-editor-track-line { min-width:0; height:22px; }
.agent-editor-preview { width:auto; height:min(70vh,720px); max-width:100%; max-height:70vh; aspect-ratio:9/16; object-fit:cover; background:#090b12; }
.agent-editor-track-panel { min-width:0; display:grid; gap:5px; }
.agent-editor-zoom { display:flex; align-items:center; justify-content:flex-end; gap:8px; color:#9da4b9; font-size:11px; }
.agent-editor-zoom button { width:26px; height:25px; border:1px solid #343a4d; border-radius:6px; color:#dfe1ec; background:#1a1e2a; cursor:pointer; }
.agent-editor-zoom input { width:min(180px,32vw); accent-color:#8676ff; }
.agent-editor-timeline-scroll { min-width:0; overflow-x:auto; overflow-y:hidden; scrollbar-color:#494268 #171a24; scrollbar-width:thin; }
.agent-editor-ruler { position:relative; height:22px; }
.agent-editor-tick { position:absolute; bottom:0; height:15px; padding-left:3px; border-left:1px solid #484d61; color:#aeb4c8; font-size:9px; font-variant-numeric:tabular-nums; }
.agent-editor-clips { min-width:0; max-width:none; overflow:visible; }
.agent-editor-clip { flex:0 0 auto; min-width:76px; max-width:none; }
.agent-editor-no-music { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.agent-editor-music-controls #agent-editor-add-music { align-self:center; justify-self:start; }
@media (max-width:600px) {
  .agent-editor-toolbar { align-items:flex-start; flex-direction:column; }
  .agent-editor-toolbar > div { width:100%; }
  .agent-editor-toolbar .button { flex:1 1 auto; }
  .agent-editor-clip { height:96px; }
}
@media (max-width: 600px) { .agent-editor-top { align-items: flex-start; flex-direction: column; } .agent-editor-preview { width: 100%; } .agent-editor-video-track, .agent-editor-music-track { grid-template-columns: 1fr; } .agent-editor-music-controls { grid-template-columns: 1fr; } .agent-editor-music-controls > div { grid-column: auto; } }
.agent-loading-track { height: 8px; border-radius: 999px; background: #1a1e2c; border: 1px solid #2d3243; overflow: hidden; }
.agent-loading-fill { height: 100%; width: 0%; border-radius: 999px; background: linear-gradient(90deg, var(--primary), var(--primary-2)); transition: width .3s ease; }
.agent-loading-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 7px 0 0; }
.agent-loading-text { font-size: 12px; font-weight: 700; color: var(--primary-2); }
.agent-loading-stop { border: 1px solid #3a3040; background: rgba(255,120,120,.08); color: #ff9a9a; font-size: 11px; font-weight: 700; border-radius: 8px; padding: 4px 10px; cursor: pointer; }
.agent-loading-stop:hover { background: rgba(255,120,120,.16); }
@media (max-width: 560px) { .agent-loading-steps { grid-template-columns: 1fr; gap: 8px; } }

/* Agent IA — sélection d'idées */
.agent-idea-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.agent-idea-card { border: 1px solid #2d3243; background: #131722; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 8px; transition: border-color .15s ease, background .15s ease; }
.agent-idea-card.selected { border-color: var(--primary); background: rgba(113,104,255,.1); }
.agent-idea-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.agent-idea-head strong { font-size: 14px; line-height: 1.35; color: #e9eaf3; }
.agent-idea-score { position: relative; isolation: isolate; overflow: hidden; flex-shrink: 0; display: grid; grid-template-columns: auto auto; justify-content: end; column-gap: 2px; row-gap: 1px; font-size: 11px; font-weight: 900; color: var(--primary-2); background: linear-gradient(135deg, rgba(113,104,255,.25), rgba(87,79,211,.1)); border: 1px solid rgba(145,140,255,.36); border-radius: 10px; padding: 5px 8px; text-align: right; white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 rgba(126,116,255,0); transform: translateY(4px) scale(.94); opacity: 0; }
.agent-idea-score::before { content: ''; position: absolute; z-index: -1; inset: -40% auto -40% -48%; width: 35%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.52), transparent); transform: skewX(-20deg) translateX(-240%); }
.agent-idea-score.is-revealed { animation: agent-score-in .48s cubic-bezier(.18,.9,.2,1.25) forwards; }
.agent-idea-score.is-revealed::before { animation: agent-score-shine .65s ease-out .25s both; }
.agent-idea-score.is-counted { opacity: 1; transform: translateY(0) scale(1); animation: agent-score-pulse .5s ease-out; }
.agent-idea-score small { color: #afb1ff; font-size: 9px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.agent-idea-score small { grid-column: 1 / -1; }
.agent-idea-score-value { font-variant-numeric: tabular-nums; font-size: 14px; line-height: 1; letter-spacing: -.03em; color: #a9a3ff; }
.agent-idea-score-total { align-self: end; padding-bottom: 1px; color: #d6d4ff; font-size: 11px; }
@keyframes agent-score-in { to { opacity: 1; transform: translateY(0) scale(1); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 8px 20px rgba(79,68,220,.2); } }
@keyframes agent-score-shine { to { transform: skewX(-20deg) translateX(620%); } }
@keyframes agent-score-pulse { 45% { transform: translateY(-1px) scale(1.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 0 0 7px rgba(113,104,255,.11), 0 9px 24px rgba(79,68,220,.36); } 100% { transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) { .agent-idea-score { opacity: 1; transform: none; } .agent-idea-score::before { display: none; } }
.agent-idea-hook { margin: 2px 0 4px; padding: 11px 12px; border-left: 2px solid var(--primary); border-radius: 0 9px 9px 0; background: rgba(113,104,255,.08); }
.agent-idea-hook > span,
.agent-idea-story > span,
.agent-idea-insights p > span { display: block; margin-bottom: 4px; color: #a9a3ff; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.agent-idea-hook p { margin: 0; color: #e0e1eb; font-size: 13px; font-style: italic; line-height: 1.48; }
.agent-idea-story { margin: 1px 0; }
.agent-story-beats { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }
.agent-story-beats li { display: grid; grid-template-columns: 45px minmax(0, 1fr); gap: 9px; align-items: start; }
.agent-beat-time { display: inline-flex; justify-content: center; padding: 4px 3px; border: 1px solid #333a50; border-radius: 6px; color: #b9b5ff; background: #191d2b; font-size: 10px; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.agent-story-beats strong { display: block; margin: 0 0 2px; color: #e7e8f0; font-size: 12px; line-height: 1.25; }
.agent-story-beats p { margin: 0; color: #b9becd; font-size: 12px; line-height: 1.42; }
.agent-idea-summary { margin: 0; color: #b9becd; font-size: 12.5px; line-height: 1.52; }
.agent-idea-insights { display: grid; gap: 7px; margin-top: 3px; padding-top: 10px; border-top: 1px solid #282d3e; }
.agent-idea-force,
.agent-idea-risk { margin: 0; font-size: 12px; line-height: 1.42; }
.agent-idea-force { color: #b8b3ff; }
.agent-idea-risk { color: #b9becd; }
.agent-idea-card .button.small { align-self: flex-start; margin-top: 4px; }
@media (max-width: 900px) {
  .agent-idea-grid { grid-template-columns: 1fr; }
}

/* Agent IA — masquer le statut de rendu générique (sans objet sur cette page) */
.topbar.topbar-no-job .job-pill,
.topbar.topbar-no-job [data-open-create] { display: none; }

/* Agent IA — cartes univers avec grande photo, bien visible */
.universe-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 12px; }
.universe-card-grid button { display: flex; flex-direction: column; gap: 0; padding: 0; border: 2px solid #313648; background: #131722; border-radius: 14px; overflow: hidden; cursor: pointer; min-width: 0; min-height: 0; }
.universe-card-grid button.active { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(113,104,255,.18); }
.universe-card-thumb { display: block; width: 100%; aspect-ratio: 1/1; background: #1a1e2c center top/cover no-repeat; }
.universe-card-label { display: block; padding: 8px 6px; font-size: 12.5px; font-weight: 700; color: #dfe1ec; text-align: center; }
@media (max-width: 560px) {
  .universe-card-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Agent IA montage: aperçu vertical constant et montage multi-clips pilotable */
.agent-editor-preview-frame { width:min(100%, 405px, 39.375vh); height:min(70vh, 720px); aspect-ratio:9/16; margin:0 auto 4px; overflow:hidden; border-radius:14px; background:#090b12; }
.agent-editor-preview-frame .agent-editor-preview { display:block; width:100%; height:100%; max-width:none; max-height:none; aspect-ratio:9/16; object-fit:cover; background:#090b12; }
.agent-editor-ruler { cursor:pointer; }
.agent-editor-tick { position:absolute; bottom:0; height:17px; min-width:1px; padding:0 0 0 4px; border:0; border-left:1px solid #484d61; border-radius:0; color:#aeb4c8; background:transparent; font:inherit; font-size:9px; font-variant-numeric:tabular-nums; text-align:left; cursor:pointer; }
.agent-editor-tick:hover,.agent-editor-tick:focus-visible { color:#fff; border-color:#a99cff; outline:0; }
.agent-editor-toolbar #agent-editor-full-preview { border-color:#524da0; color:#c9c5ff; }
.agent-editor-toolbar #agent-editor-full-preview.active { color:#fff; background:rgba(113,104,255,.22); }
.agent-editor-music-track { grid-template-columns:58px minmax(0,1fr) minmax(70px,auto); }
.agent-editor-track-line { touch-action:none; cursor:crosshair; }
.agent-editor-track-line > i { display:flex!important; align-items:center; justify-content:space-between; min-width:32px; overflow:visible; background:linear-gradient(90deg,#6b60ed,#a08aff); cursor:grab; touch-action:none; }
.agent-editor-track-line > i:active { cursor:grabbing; }
.agent-editor-track-line > i > span { overflow:hidden; padding:0 8px; color:#fff; font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; text-shadow:0 1px 3px #29205e; pointer-events:none; }
.agent-music-trim { position:absolute; z-index:2; top:-2px; bottom:-2px; width:10px; padding:0; border:1px solid rgba(255,255,255,.7); border-radius:5px; background:#c5baff; cursor:ew-resize; touch-action:none; }
.agent-music-trim-start { left:-2px; }
.agent-music-trim-end { right:-2px; }
.agent-editor-no-music { flex-wrap:wrap; }
@media (max-width:600px) {
  .agent-editor-preview-frame { width:min(100%, 349px, 34.875vh); height:min(62vh, 620px); }
  .agent-editor-music-track { grid-template-columns:48px minmax(0,1fr); }
  .agent-editor-music-track .agent-editor-track-name { grid-column:2; }
}

/* Navigation latérale structurée */
.app-shell { grid-template-columns: 288px 1fr; }
.sidebar { width: 288px; padding: 20px 10px 12px; background: #0c0e17; }
.sidebar > .brand { min-height: 62px; padding: 0 20px 28px; gap: 13px; font-size: 24px; }
.sidebar > .brand .brand-mark { width: 46px; height: 46px; border-radius: 14px; }
.nav-list { min-height: 0; flex: 1; overflow-y: auto; gap: 0; padding: 0 0 14px; scrollbar-width: none; }
.nav-list::-webkit-scrollbar { display: none; }
.nav-group { display: flex; flex-direction: column; gap: 4px; margin-top: 23px; }
.nav-group-main { margin-top: 0; }
.nav-label { margin: 0 20px 9px; color: #5c6171; font-size: 11px; letter-spacing: .16em; }
.nav-item { width: 100%; min-height: 46px; padding: 0 20px; gap: 13px; border-radius: 14px; color: #898e9f; font-size: 15px; font-weight: 650; transition: background .18s ease, color .18s ease, transform .18s ease; }
.nav-item:hover { color: #e9eaf1; background: #151824; }
.nav-item.active { color: #b7b1ff; background: rgba(113,104,255,.14); box-shadow: none; }
.nav-item.active .nav-icon { color: #918cff !important; }
.nav-icon { width: 22px !important; height: 22px; display: grid; place-items: center; flex: 0 0 22px; color: #727789 !important; font-size: 0 !important; }
.nav-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-upgrade-card { margin-top: auto; padding: 17px; border: 1px solid #292d3c; border-radius: 18px; background: #11131d; }
.sidebar-upgrade-title { display: flex; align-items: center; gap: 9px; }
.sidebar-upgrade-title span { color: var(--primary-2); font-size: 23px; line-height: 1; }
.sidebar-upgrade-title strong { font-size: 15px; }
.sidebar-upgrade-card p { margin: 7px 0 15px; color: #696f80; font-size: 12px; }
.sidebar-upgrade-button, .sidebar-upgrade-button.active { min-height: 42px; justify-content: center; padding: 0 14px; border-radius: 12px; color: #fff; background: linear-gradient(135deg,var(--primary),#5d54ee); box-shadow: 0 9px 24px rgba(113,104,255,.2); text-align: center; }
.sidebar-upgrade-button:hover { color: white; background: linear-gradient(135deg,#8179ff,#675ef5); transform: translateY(-1px); }

/* Parcours Série */
#series { max-width: 1180px; padding-top: 46px; }
.series-shell { width: min(940px,100%); margin: 0 auto; }
.series-progress { display: grid; grid-template-columns: repeat(6,1fr); gap: 12px; margin: 0 0 38px; }
.series-progress span { height: 5px; border-radius: 99px; background: #272b3a; transition: background .2s ease; }
.series-progress span.done, .series-progress span.current { background: var(--primary); }
.series-step { animation: seriesStepIn .24s ease; }
.series-step > .eyebrow { color: var(--primary-2); }
.series-step > h1 { margin: 8px 0 7px; font-size: clamp(34px,4vw,50px); letter-spacing: -.045em; }
.series-lead { margin: 0 0 30px; color: #8e94a8; font-size: 18px; }
.series-start-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin-top: 34px; }
.series-start-card { min-height: 210px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; border: 1px solid #303548; border-radius: 20px; color: inherit; background: #11141e; cursor: pointer; text-align: left; transition: .2s ease; }
.series-start-card:hover { border-color: var(--primary); background: rgba(113,104,255,.08); transform: translateY(-2px); }
.series-start-card:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.series-start-icon { width: 52px; height: 52px; margin-bottom: 24px; display: grid; place-items: center; border: 1px solid #34394c; border-radius: 15px; color: var(--primary-2); font-size: 23px; }
.series-start-card strong { font-size: 21px; }
.series-start-card small { max-width: 300px; margin-top: 8px; color: #858b9d; font-size: 14px; line-height: 1.45; }
.series-saved-list { display: grid; gap: 10px; margin-top: 22px; }
.series-saved-card { width: 100%; padding: 16px 18px; display: flex; align-items: center; gap: 14px; border: 1px solid #2b3041; border-radius: 14px; color: inherit; background: #11141e; cursor: pointer; text-align: left; }
.series-saved-card img { width: 54px; height: 54px; object-fit: cover; border-radius: 11px; }
.series-saved-card span { display: flex; flex-direction: column; gap: 3px; }
.series-saved-card small { color: #858b9d; }
.series-saved-card em { margin-left: auto; color: var(--primary-2); font-style: normal; }
.series-universe-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 13px; }
.series-universe-grid button { position: relative; min-height: 260px; padding: 0; overflow: hidden; border: 2px solid #2d3244; border-radius: 18px; background: #131620; cursor: pointer; }
.series-universe-grid img { width: 100%; height: 100%; min-height: 260px; display: block; object-fit: cover; }
.series-universe-grid strong { position: absolute; inset: auto 0 0; padding: 34px 12px 14px; background: linear-gradient(transparent,rgba(7,8,14,.94)); text-align: left; }
.series-universe-grid button.selected { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(113,104,255,.14); }
.series-character-toolbar { position: relative; display: flex; align-items: center; justify-content: center; gap: 16px; margin: -8px 0 20px; }
.series-character-toolbar > span { position: absolute; left: 0; min-width: 128px; color: #bdb9ff; font-size: 14px; font-weight: 800; }
.series-create-character-open { min-width: 310px; padding: 13px 17px; display: flex; align-items: center; gap: 12px; border: 1px solid #3a4055; border-radius: 15px; color: white; background: linear-gradient(135deg,rgba(113,104,255,.16),rgba(113,104,255,.05)); cursor: pointer; text-align: left; }
.series-create-character-open[hidden] { display: none; }
.series-create-character-open > b { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 11px; color: white; background: var(--primary); font-size: 22px; }
.series-create-character-open span { display: grid; gap: 3px; }.series-create-character-open small { color: #9096a9; }
.series-character-builder { margin: 0 0 22px; padding: 18px; display: grid; grid-template-columns: 190px 1fr; gap: 18px; border: 1px solid #3a4055; border-radius: 18px; background: #11141e; }
.series-character-builder[hidden] { display: none; }
.series-character-upload { min-height: 190px; padding: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; overflow: hidden; border: 1px dashed #565d78; border-radius: 14px; color: white; background: #161a27; cursor: pointer; }
.series-character-upload > span { width: 92px; height: 92px; display: grid; place-items: center; overflow: hidden; border-radius: 14px; color: var(--primary-2); background: rgba(113,104,255,.12); font-size: 30px; }.series-character-upload img { width: 100%; height: 100%; object-fit: cover; }.series-character-upload small { color: #858b9e; }
.series-character-fields { display: grid; grid-template-columns: 1fr; gap: 7px; align-content: center; }.series-character-fields label { margin-top: 3px; color: #d4d6df; font-size: 13px; font-weight: 800; }.series-character-fields label small { color: #717789; font-weight: 600; }.series-character-fields input { width: 100%; min-height: 45px; padding: 10px 13px; border: 1px solid #343a4e; border-radius: 11px; color: white; background: #0d1018; }.series-character-fields > div { display: flex; justify-content: flex-end; gap: 9px; margin-top: 9px; }.series-character-fields .button { min-height: 43px; padding: 0 15px; }
.series-character-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 13px; }
.series-character-card { position: relative; min-width: 0; min-height: 225px; padding: 0; overflow: hidden; border: 2px solid #2d3244; border-radius: 17px; color: inherit; background: #141722; cursor: pointer; }
.series-character-card img { width: 100%; aspect-ratio: 1/1.12; display: block; object-fit: cover; object-position: center top; background: #e8e8ed; }
.series-character-card strong { display: block; padding: 13px; text-align: left; }
.series-character-card.selected { border-color: var(--primary); }
.series-character-order { position: absolute; top: 10px; right: 10px; width: 31px; height: 31px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; color: white; background: var(--primary); box-shadow: 0 5px 15px rgba(0,0,0,.32); font-weight: 900; }
.series-character-more { min-height:225px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; border-style:dashed; background:linear-gradient(145deg,rgba(113,104,255,.13),#12151f 66%); }.series-character-more:hover { border-color:var(--primary); background:rgba(113,104,255,.14); }.series-character-more-mark { width:68px; height:68px; display:grid; place-items:center; border-radius:21px; background:linear-gradient(135deg,var(--primary),#4b45ce); box-shadow:0 14px 30px rgba(113,104,255,.26); }.series-character-more-mark i { width:30px; height:30px; background:#fff; clip-path:polygon(0 5%,100% 5%,58% 50%,100% 95%,0 95%,42% 50%); }.series-character-more strong { padding:4px 10px 0; font-size:17px; text-align:center; }.series-character-more small { color:#8c92a7; font-size:12px; }
.series-model-grid, .series-video-models { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.series-model-grid button, .series-video-models button { min-height: 130px; padding: 20px; display: flex; align-items: center; gap: 16px; border: 1px solid #303548; border-radius: 18px; color: inherit; background: #121520; cursor: pointer; text-align: left; }
.series-model-grid b, .series-video-models b { width: 58px; height: 58px; display: grid; place-items: center; flex: 0 0 58px; border-radius: 16px; color: #151522; background: #c9c5ff; }
.series-model-grid span, .series-video-models span { display: flex; flex-direction: column; gap: 6px; }
.series-model-grid strong, .series-video-models strong { font-size: 20px; }
.series-model-grid small, .series-video-models small { color: #8f95a8; }
.series-video-models i { color: var(--primary-2); font-size: 14px; font-style: normal; font-weight: 850; }
.series-video-models em { margin-left: auto; color: var(--primary-2); font-size: 11px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.series-model-grid button.selected, .series-video-models button.selected { border-color: var(--primary); background: rgba(113,104,255,.1); }
.series-video-price-note { margin: 12px 0 0; color: #72798d; font-size: 12px; }
.series-quality-grid { width: min(620px,100%); margin: 0 auto; }
.series-quality-grid button { position: relative; min-height: 455px; padding: 0; display: block; overflow: hidden; border-width: 2px; background: #121520; }
.series-quality-grid button > img { width: 100%; aspect-ratio: 4/5; display: block; object-fit: cover; transition: transform .25s ease; }
.series-quality-grid button:hover > img { transform: scale(1.015); }
.series-quality-grid button > span { padding: 17px 18px 19px; display: flex; align-items: flex-start; }
.series-quality-grid button > span strong { font-size: 20px; }.series-quality-grid button > span small { font-size: 13px; line-height: 1.4; }
.series-quality-grid button > em { position: absolute; top: 14px; right: 14px; padding: 7px 10px; border-radius: 99px; color: white; background: rgba(10,12,18,.82); backdrop-filter: blur(8px); font-size: 11px; font-style: normal; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.series-quality-grid button[data-value="Premium"] > em { background: var(--primary); }.series-quality-grid button.selected { box-shadow: 0 0 0 4px rgba(113,104,255,.13); }
.series-step > h2 { margin: 30px 0 13px; font-size: 19px; }.series-step > h2 small { margin-left: 6px; color: #676d80; font-size: 12px; font-weight: 600; }
.series-option-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.series-option-grid button { min-height: 130px; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; border: 1px solid #303548; border-radius: 16px; color: inherit; background: linear-gradient(#333642 0 70%,#171a24 70%); cursor: pointer; }.series-option-grid button.selected { border-color: var(--primary); }.series-option-grid small { color: #bec2cf; }.word-on { color: var(--primary-2); }
.series-subtitle-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.series-subtitle-grid .subtitle-style { min-width: 0; min-height: 218px; padding: 0; overflow: hidden; justify-content: stretch; background: #171a24; }
.series-subtitle-grid .subtitle-style:hover { border-color: #5d6480; transform: translateY(-2px); }
.series-subtitle-grid .subtitle-style.selected { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(113,104,255,.11),0 16px 38px rgba(0,0,0,.22); }
.subtitle-preview { position:relative; width:100%; min-height:158px; display:grid; place-items:center; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 18% 12%,rgba(140,120,255,.42),transparent 38%),radial-gradient(circle at 88% 92%,rgba(63,137,255,.24),transparent 42%),linear-gradient(140deg,#17152d 0%,#211d42 50%,#10182d 100%); }
.subtitle-preview::before { content:none; }
.subtitle-preview::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(115deg,transparent 18%,rgba(255,255,255,.055) 43%,transparent 64%); }
.series-subtitle-grid small { width:100%; min-height:60px; padding:10px 13px 12px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; color:#8f95a8; text-align:left; }
.series-subtitle-grid small strong { color:#f6f7fb; font-size:14px; }.series-subtitle-grid small span { font-size:11px; }
.subtitle-pop-line,.subtitle-karaoke-line { display:flex; align-items:center; justify-content:center; gap:6px; padding:0 12px; white-space:nowrap; }
.subtitle-pop-line i { display:inline-block; color:#fff; font-family:Impact,"Arial Black",sans-serif; font-size:24px; font-style:normal; letter-spacing:.025em; -webkit-text-stroke:1.5px #080910; paint-order:stroke fill; text-shadow:0 3px 0 #080910,0 7px 15px rgba(0,0,0,.55); animation:subtitle-pop 2.8s ease-in-out infinite both; }
.subtitle-pop-line i:nth-child(2) { color:#ffd84b; animation-delay:.22s; }.subtitle-pop-line i:nth-child(3) { animation-delay:.44s; }
.subtitle-karaoke-line i { display:inline-block; color:#fff; font-family:"Arial Black",Arial,sans-serif; font-size:19px; font-style:normal; font-weight:900; letter-spacing:-.02em; text-shadow:0 2px 3px #000,1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000; animation:subtitle-karaoke 3s linear infinite; }
.subtitle-karaoke-line i:nth-child(2) { animation-delay:1s; }.subtitle-karaoke-line i:nth-child(3) { animation-delay:2s; }
.subtitle-cinema-line { padding:8px 14px; border-radius:8px; color:#fff; background:rgba(5,7,12,.62); font-family:Georgia,"Times New Roman",serif; font-size:20px; font-style:italic; text-shadow:0 2px 8px #000; animation:subtitle-cinema 3.2s ease-in-out infinite; }
.subtitle-none-line { padding:7px 10px; border:1px solid rgba(255,255,255,.16); border-radius:99px; color:#a8adbd; background:rgba(8,10,17,.5); font-size:12px; }
@keyframes subtitle-pop { 0%,12%,100% { opacity:.55; transform:translateY(5px) scale(.86); } 19%,42% { opacity:1; transform:translateY(0) scale(1.12); } 52% { opacity:1; transform:scale(1); } }
@keyframes subtitle-karaoke { 0%,28%,100% { color:#fff; transform:scale(1); } 3%,24% { color:#a79fff; transform:scale(1.08); } }
@keyframes subtitle-cinema { 0%,18%,82%,100% { opacity:0; transform:translateY(8px); } 30%,70% { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .subtitle-pop-line i,.subtitle-karaoke-line i,.subtitle-cinema-line { animation:none; } }
@media (max-width:1100px) { .series-subtitle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.series-choice-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.series-choice-row button { min-height: 52px; border: 1px solid #303548; border-radius: 13px; color: #b6bbca; background: #131620; cursor: pointer; }.series-choice-row button.selected { border-color: var(--primary); color: white; background: rgba(113,104,255,.1); }
.series-music-actions button { min-width:0; padding:10px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }.series-music-actions button > span { color:#f1f2f7; font-weight:800; }.series-music-actions button > small { max-width:100%; overflow:hidden; color:#797f91; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.series-music-library { margin-top:12px; padding:16px; border:1px solid #303548; border-radius:16px; background:#11141d; }.series-music-library-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }.series-music-library-head strong,.series-music-library-head small { display:block; }.series-music-library-head small { margin-top:3px; color:#858b9d; font-size:12px; }.series-music-library-head > button { width:34px; height:34px; border:1px solid #343949; border-radius:9px; color:#b9bdca; background:#1a1d27; cursor:pointer; font-size:20px; }
.series-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 34px; }.series-actions .button { min-width: 125px; }
.series-final-card { display:grid; gap:22px; padding:25px; border:1px solid #303548; border-radius:20px; background:#11141e; }.series-final-field { display:grid; gap:7px; }.series-final-card label { color:#f0f1f7; font-weight:800; }.series-final-field > small { color:#7f8598; font-size:12px; }.series-final-card input,.series-final-card textarea { width:100%; border:1px solid #34394c; border-radius:13px; padding:14px 16px; color:white; background:#0e111a; resize:vertical; }.series-final-field-head { display:flex; align-items:center; justify-content:space-between; gap:15px; }.series-final-field-head button { padding:7px 10px; border:0; border-radius:9px; color:#bdb9ff; background:rgba(113,104,255,.11); cursor:pointer; font-size:12px; font-weight:800; }.series-summary { padding-top:18px; border-top:1px solid #292e40; }.series-summary > strong { display:block; margin-bottom:12px; color:#dfe1ea; font-size:14px; }.series-memory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.series-memory > div { min-width:0; padding:11px 12px; border:1px solid #2b3041; border-radius:11px; background:#151925; }.series-memory small,.series-memory strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.series-memory small { margin-bottom:4px; color:#737a8d; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }.series-memory strong { color:#c9c5ff; font-size:12px; }
.series-duration-options { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-top:5px; }.series-duration-options button { min-height:48px; border:1px solid #34394c; border-radius:12px; color:#a9aebe; background:#0e111a; cursor:pointer; font-size:15px; font-weight:800; }.series-duration-options button.selected { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.15); }
.series-review-grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; }.series-review-main,.series-cost-card,.series-script-card,.series-plan-card { border:1px solid #303548; border-radius:19px; background:#11141e; }.series-review-main { padding:25px; }.series-review-main > span,.series-cost-card > span,.series-script-card > div:first-child > span,.series-plan-card > div:first-child > span { color:var(--primary-2); font-size:11px; font-weight:900; letter-spacing:.13em; }.series-review-main h2 { margin:8px 0 10px; font-size:25px; }.series-review-main > p { margin:0; color:#a1a6b7; line-height:1.55; }.series-review-cast { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }.series-review-cast span { padding:7px 10px; border:1px solid #30364a; border-radius:99px; color:#d9dbe4; background:#171a25; font-size:12px; }.series-review-cast b { margin-right:6px; color:var(--primary-2); }.series-cost-card { padding:25px; display:flex; flex-direction:column; }.series-cost-card > strong { margin:9px 0 4px; font-size:27px; }.series-cost-card > small { color:#7f8598; line-height:1.45; }.series-zero-charge { margin-top:auto; padding-top:22px; display:flex; align-items:center; gap:10px; }.series-zero-charge > b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#0e2a20; background:#61dfa8; }.series-zero-charge span,.series-zero-charge strong,.series-zero-charge small { display:block; }.series-zero-charge small { margin-top:2px; color:#61dfa8; }.series-review-settings { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:12px; }.series-review-settings div { min-width:0; padding:12px; border:1px solid #292e40; border-radius:12px; background:#121520; }.series-review-settings small,.series-review-settings strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.series-review-settings small { margin-bottom:5px; color:#71778a; font-size:10px; text-transform:uppercase; }.series-review-settings strong { color:#d8d6ff; font-size:12px; }
.series-prepared-banner { margin-bottom:16px; padding:14px 17px; display:flex; align-items:center; gap:12px; border:1px solid rgba(85,214,158,.3); border-radius:14px; background:rgba(85,214,158,.07); }.series-prepared-banner > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#0e2a20; background:#61dfa8; font-weight:900; }.series-prepared-banner strong,.series-prepared-banner small { display:block; }.series-prepared-banner small { margin-top:3px; color:#89a99b; }.series-prepared-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:16px; }.series-script-card,.series-plan-card { overflow:hidden; }.series-script-card > div:first-child,.series-plan-card > div:first-child { padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid #292e40; }.series-script-card > div:last-child { min-height:350px; padding:22px; color:#d8dae3; white-space:pre-wrap; line-height:1.65; }.series-plan-card > div:last-child { max-height:430px; overflow:auto; padding:10px; }.series-plan-card article { padding:11px 9px; display:grid; grid-template-columns:34px 1fr; gap:9px; border-bottom:1px solid #242938; }.series-plan-card article:last-child { border-bottom:0; }.series-plan-card article > b { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#c9c5ff; background:rgba(113,104,255,.13); font-size:11px; }.series-plan-card article strong,.series-plan-card article small { display:block; }.series-plan-card article small { margin-top:4px; color:#7f8598; line-height:1.4; }
@keyframes seriesStepIn { from { opacity: 0; transform: translateY(7px); } }

@media (max-width:1180px) { .app-shell { grid-template-columns: 240px 1fr; }.sidebar { width: 240px; }.nav-item { padding: 0 15px; }.sidebar > .brand { padding-left: 15px; }.series-universe-grid { grid-template-columns: repeat(3,1fr); }.series-character-grid { grid-template-columns: repeat(4,1fr); } }
@media (max-width:820px) { .sidebar { width: 288px; }.series-start-grid,.series-model-grid,.series-video-models,.series-review-grid,.series-prepared-layout { grid-template-columns: 1fr; }.series-character-grid { grid-template-columns: repeat(2,1fr); }.series-universe-grid { grid-template-columns: repeat(2,1fr); }.series-memory { grid-template-columns:repeat(2,minmax(0,1fr)); }.series-review-settings { grid-template-columns:repeat(3,minmax(0,1fr)); }.series-zero-charge { margin-top:22px; } }
@media (max-width:560px) { .series-universe-grid,.series-character-grid,.series-option-grid,.series-choice-row,.series-memory,.series-review-settings,.series-duration-options { grid-template-columns: 1fr; }.series-universe-grid button,.series-universe-grid img { min-height: 330px; }.series-progress { gap: 6px; }.series-character-toolbar { align-items: stretch; flex-direction: column; }.series-character-toolbar > span { position: static; }.series-create-character-open { min-width: 0; width: 100%; }.series-character-builder { grid-template-columns: 1fr; }.series-final-field-head { align-items:flex-start; flex-direction:column; } }

/* Parcours Studio, Agent et outils rapides */
.agent-entry-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:4px 0 16px; }
.agent-entry-modes button { min-height:92px; padding:17px; display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto auto; gap:3px 11px; align-items:center; border:1px solid #303548; border-radius:16px; color:#f0f1f7; background:#121520; cursor:pointer; text-align:left; }
.agent-entry-modes button > span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#c9c5ff; background:rgba(113,104,255,.14); font-weight:900; }.agent-entry-modes strong { font-size:15px; }.agent-entry-modes small { color:#858b9d; line-height:1.35; }.agent-entry-modes button.active { border-color:var(--primary); background:rgba(113,104,255,.1); }
.agent-reference-entry { margin:0 0 24px; padding:13px 16px; display:grid!important; grid-template-columns:34px 1fr; grid-template-rows:auto auto; gap:1px 10px; align-items:center; border:1px dashed #3a4054; border-radius:14px; cursor:pointer; }.agent-reference-entry > span { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#c9c5ff; background:#1c2030; }.agent-reference-entry strong { color:#dfe1e9; font-size:13px; }.agent-reference-entry small { color:#777e91; font-size:11px; }.agent-reference-entry input { display:none; }.agent-reference-entry.has-file { border-color:#55d69e; background:rgba(85,214,158,.05); }
.studio-meta-bar { margin:0 0 16px; padding:14px 16px; display:grid; grid-template-columns:minmax(260px,1fr) auto auto; gap:20px; align-items:end; border:1px solid #2b3041; border-radius:16px; background:#11141e; }.studio-meta-bar label,.studio-meta-bar > div > span { display:grid; gap:7px; color:#858b9d; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }.studio-meta-bar input { min-height:42px; padding:0 12px; border:1px solid #30364a; border-radius:10px; color:#f4f5f9; background:#0d1018; }.choice-pills.compact button { min-height:40px; padding:0 15px; }.studio-progress-copy { align-self:center; text-align:right; }.studio-progress-copy strong,.studio-progress-copy small { display:block; }.studio-progress-copy small { margin-top:4px; color:#55d69e; font-size:11px; }
.studio-shell-v2 { grid-template-columns:132px minmax(300px,1fr) minmax(340px,.92fr); }.studio-canvas { overflow:hidden; }.studio-canvas.studio-ready { padding:0; display:grid; grid-template-rows:1fr auto; }.studio-canvas.studio-ready img { width:100%; height:100%; min-height:390px; object-fit:cover; }.studio-canvas.studio-ready > div { width:100%; padding:14px 17px; text-align:left; background:#10131c; }.studio-canvas.studio-ready strong,.studio-canvas.studio-ready small { display:block; }.studio-canvas.studio-ready small { margin-top:4px; color:#55d69e; }.scene-thumb.ready i { background:#55d69e; box-shadow:0 0 0 4px rgba(85,214,158,.12); }.studio-editor-v2 { min-height:620px; }.studio-editor-panel { display:none; }.studio-editor-panel.active { display:block; }.studio-editor-panel label { margin-top:17px; }.studio-editor-panel label:first-child { margin-top:0; }.studio-cast-picks { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.studio-cast-picks button { min-height:45px; padding:8px 10px; display:flex; align-items:center; gap:8px; border:1px solid #30364a; border-radius:11px; color:#c4c8d4; background:#141722; cursor:pointer; }.studio-cast-picks button.selected { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.1); }.studio-cast-picks .cast-avatar { width:27px; height:27px; flex:0 0 27px; font-size:11px; }.studio-quality-row { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.studio-quality-row button { padding:12px; border:1px solid #30364a; border-radius:11px; color:#dfe1e8; background:#141722; cursor:pointer; text-align:left; }.studio-quality-row strong,.studio-quality-row small { display:block; }.studio-quality-row small { margin-top:3px; color:#7e8496; font-size:10px; }.studio-quality-row button.selected { border-color:var(--primary); background:rgba(113,104,255,.1); }.studio-reference { min-height:48px; padding:12px; display:grid!important; place-items:center; border:1px dashed #3b4154; border-radius:11px; color:#aeb3c3!important; cursor:pointer; }.studio-reference input { display:none; }.studio-reference.has-file { border-color:#55d69e; color:#87e7bd!important; }
.standalone-tool-head { margin-bottom:22px; }.standalone-tool-head h1 { margin:8px 0 8px; font-size:40px; }.standalone-tool-head p { margin:0; color:#9399aa; }.tool-layout-v2 { align-items:start; }.tool-layout-v2 .tool-controls { padding-top:0; }.field-title-row { display:flex; align-items:center; justify-content:space-between; }.field-title-row small { color:#71788b; }.tool-upload { min-height:108px; padding:17px; display:grid!important; place-items:center; border:1px dashed #3a4053; border-radius:13px; cursor:pointer; text-align:center; }.tool-upload > span { color:#b9b5ff; font-size:25px; }.tool-upload strong,.tool-upload small { display:block; }.tool-upload small { color:#747b8e; }.tool-upload input { display:none; }.tool-upload.has-file { border-color:#55d69e; background:rgba(85,214,158,.05); }.mini-character-picker { margin-top:9px; padding:9px; display:flex; gap:7px; border:1px solid #2d3244; border-radius:12px; background:#10131c; }.mini-character-picker button { padding:8px 11px; border:1px solid #34394a; border-radius:9px; color:#b9bdca; background:#181b26; cursor:pointer; }.mini-character-picker button.active { border-color:var(--primary); color:white; }.image-model-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.image-model-grid button { min-height:115px; padding:15px; display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto auto; gap:2px 10px; border:1px solid #303548; border-radius:14px; color:#eef0f6; background:#121520; cursor:pointer; text-align:left; }.image-model-grid button > span { grid-row:1/4; width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:#171825; background:#c9c5ff; font-weight:900; }.image-model-grid small { color:#858b9d; }.image-model-grid b { color:#bcb7ff; font-size:11px; }.image-model-grid button.active { border-color:var(--primary); background:rgba(113,104,255,.1); }.choice-pills.wrap { flex-wrap:wrap; }.preview-cost { margin:13px 0; color:#9ca2b4; font-size:12px; }.result-panel-v2 { min-height:590px; position:sticky; top:92px; }.image-preview-grid { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.image-preview-grid.count-1 { grid-template-columns:1fr; }.image-preview-grid figure { margin:0; overflow:hidden; border:1px solid #33394c; border-radius:13px; background:#151824; }.image-preview-grid img { width:100%; aspect-ratio:9/12; display:block; object-fit:cover; }.image-preview-grid figcaption { padding:8px; color:#9da3b4; font-size:11px; }.video-source-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:10px; }.video-source-tabs button { min-height:46px; border:1px solid #303548; border-radius:11px; color:#9ba1b2; background:#121520; cursor:pointer; }.video-source-tabs button.active { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.1); }.video-source-panel { display:none; min-height:72px; padding:14px; border:1px solid #292e40; border-radius:13px; color:#8f95a8; background:#10131c; }.video-source-panel.active { display:block; }.video-source-panel .video-upload { margin:0; }.quick-character-strip { display:flex; flex-wrap:wrap; gap:8px; }.quick-character-strip button { padding:9px 12px; border:1px solid #34394a; border-radius:9px; color:#bcc0cc; background:#171a24; cursor:pointer; }.quick-character-strip button.selected { border-color:var(--primary); color:#fff; }.video-model-picker button { position:relative; }.video-model-picker button > b { margin-left:auto; color:#bcb7ff; font-size:11px; }.video-preview-storyboard { width:min(420px,100%); display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:8px; align-items:center; }.video-preview-storyboard span { aspect-ratio:9/12; display:grid; place-items:center; border:1px solid #555079; border-radius:13px; color:white; background:linear-gradient(150deg,#3a336a,#15213d); font-size:28px; font-weight:900; }.video-preview-storyboard i { color:#777e93; font-style:normal; }
@media (max-width:1180px) { .studio-shell-v2 { grid-template-columns:110px minmax(260px,1fr); }.studio-editor-v2 { grid-column:1/-1; }.result-panel-v2 { position:static; }.studio-meta-bar { grid-template-columns:1fr auto; }.studio-progress-copy { grid-column:1/-1; text-align:left; } }
@media (max-width:760px) { .agent-entry-modes,.image-model-grid { grid-template-columns:1fr; }.studio-meta-bar,.studio-shell-v2 { grid-template-columns:1fr; }.scene-column { flex-direction:row; overflow:auto; }.video-source-tabs { grid-template-columns:1fr; }.standalone-tool-head h1 { font-size:32px; } }

/* Finitions Studio, outils et pages Compte */
.studio-shell-v2 .scene-thumb { min-height:88px; padding:13px 11px; grid-template-columns:minmax(0,1fr) 8px; grid-template-rows:auto auto; column-gap:8px; row-gap:6px; }
.studio-shell-v2 .scene-thumb b { grid-column:1; color:#a8aebf; font-size:10px; letter-spacing:.08em; white-space:nowrap; }
.studio-shell-v2 .scene-thumb span { grid-column:1; color:#eef0f6; font-size:12px; font-weight:750; line-height:1.2; }
.studio-shell-v2 .scene-thumb i { grid-column:2; grid-row:1/3; align-self:center; }
.studio-editor-v2 .studio-editor-panel > label:not(.studio-reference) { display:block; margin:25px 0 10px; color:#e8eaf1; font-size:13px; font-weight:800; }
.studio-editor-v2 .studio-editor-panel > label:first-child { margin-top:0; }
.studio-editor-v2 .studio-editor-panel textarea { margin-bottom:2px; }
.studio-editor-v2 .prompt-help { margin:11px 0 27px; }
.studio-editor-v2 .studio-quality-row { margin-bottom:22px; }
.studio-editor-v2 .studio-reference { margin-top:0; }
.video-model-picker button { grid-template-columns:34px minmax(0,1fr) auto; grid-template-rows:auto auto; min-height:66px; padding:11px; }
.video-model-picker button > span { grid-column:1; grid-row:1/3; }
.video-model-picker button > strong { grid-column:2; grid-row:1; }
.video-model-picker button > small { grid-column:2; grid-row:2; }
.video-model-picker button > b { grid-column:3; grid-row:1/3; align-self:center; margin:0 0 0 8px; white-space:nowrap; }
.quick-character-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.quick-character-strip button { min-height:82px; padding:8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; font-size:11px; }
.quick-character-strip button img { width:42px; height:42px; border-radius:50%; object-fit:cover; object-position:top center; }
.quick-character-strip button[data-open-character-bank] { border-style:dashed; color:#c6c2ff; }
.video-character-preview { margin-top:10px; padding:10px; display:flex; align-items:center; gap:11px; border:1px solid #303548; border-radius:12px; background:#141722; }
.video-character-preview img { width:58px; height:58px; border-radius:11px; object-fit:cover; object-position:top center; }
.video-character-preview strong,.video-character-preview small { display:block; }.video-character-preview small { margin-top:4px; color:#7f879a; }

.boost-stepper { max-width:670px; margin:0 auto 24px; display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:12px; }
.boost-stepper span { display:flex; align-items:center; gap:8px; color:#858b9d; font-size:12px; font-weight:800; }.boost-stepper span.active { color:#d9d6ff; }.boost-stepper b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#292e40; }.boost-stepper .active b { background:var(--primary); }.boost-stepper i { height:2px; background:#2c3142; }
.boost-card { max-width:980px; margin:auto; padding:28px; border:1px solid #303548; border-radius:22px; background:#11141e; }
.boost-network-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.boost-network-tabs button { min-height:57px; border:1px solid #34394c; border-radius:13px; color:#aeb3c2; background:#151925; cursor:pointer; font-size:14px; font-weight:800; }.boost-network-tabs button span { margin-right:6px; font-size:18px; }.boost-network-tabs button.active { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.13); }
.boost-profile-field { margin:24px 0 31px; display:grid; gap:9px; color:#eef0f6; font-weight:800; }.boost-profile-field input { min-height:52px; padding:0 15px; border:1px solid #34394c; border-radius:13px; color:#fff; background:#0d1018; }.boost-profile-field small { color:#737a8d; font-size:11px; font-weight:500; }
.boost-pack-heading { margin-bottom:13px; display:flex; align-items:end; justify-content:space-between; gap:15px; }.boost-pack-heading h2 { margin:5px 0 0; }.text-button { border:0; color:#aaa5ff; background:transparent; cursor:pointer; font-weight:800; }
.boost-pack-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.boost-pack-grid button { position:relative; min-height:196px; padding:25px 17px 18px; display:flex; flex-direction:column; align-items:center; border:1px solid #34394c; border-radius:17px; color:#f5f6fa; background:#151925; cursor:pointer; }.boost-pack-grid button.active { border-color:var(--primary); background:rgba(113,104,255,.12); box-shadow:0 0 0 2px rgba(113,104,255,.08); }.boost-pack-grid em { position:absolute; top:10px; color:#bdb8ff; font-size:9px; font-style:normal; font-weight:900; letter-spacing:.08em; }.boost-pack-grid strong { margin-top:19px; font-size:31px; }.boost-pack-grid span { color:#858c9d; }.boost-pack-grid b { margin-top:17px; color:#c6c2ff; }.boost-pack-grid small { margin-top:auto; color:#eee; }
.boost-summary { margin-top:15px; padding:16px; display:grid; grid-template-columns:1fr auto auto; gap:20px; align-items:center; border:1px solid rgba(85,214,158,.3); border-radius:14px; background:rgba(85,214,158,.06); }.boost-summary[hidden] { display:none; }.boost-summary span,.boost-summary strong,.boost-summary small { display:block; }.boost-summary span { color:#61dfa8; font-size:10px; font-weight:900; text-transform:uppercase; }.boost-summary strong { margin:4px 0; }.boost-summary small { max-width:440px; overflow:hidden; color:#838a9b; text-overflow:ellipsis; white-space:nowrap; }.boost-summary > b { color:#c9c5ff; white-space:nowrap; }.boost-reassurance { margin-top:22px; padding-top:19px; display:flex; justify-content:space-around; gap:14px; border-top:1px solid #292e40; color:#8e95a6; font-size:12px; }.boost-reassurance strong { margin-left:5px; color:#c8ccd6; }

.pricing-heading { margin:0 auto 24px; max-width:700px; text-align:center; }.pricing-heading h1 { margin:8px 0; font-size:43px; }.pricing-heading p { color:#9298aa; }.billing-toggle { width:max-content; margin:19px auto 0; padding:4px; display:flex; border:1px solid #303548; border-radius:12px; background:#11141d; }.billing-toggle button { min-height:39px; padding:0 15px; border:0; border-radius:9px; color:#898fa1; background:transparent; cursor:pointer; font-weight:800; }.billing-toggle button.active { color:#fff; background:#292d3e; }.billing-toggle b { margin-left:4px; color:#61dfa8; font-size:10px; }
.current-plan-card { margin:0 0 18px; padding:18px 21px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid #303548; border-radius:16px; background:#11141e; }.current-plan-card h2 { margin:5px 0; }.current-plan-card p { margin:0; color:#858c9e; }.credit-balance { min-width:145px; padding:11px 15px; border:1px solid #34394b; border-radius:12px; text-align:right; background:#151924; }.credit-balance small,.credit-balance strong { display:block; }.credit-balance strong { margin:3px 0; font-size:24px; }.credit-balance span { color:#ada8ff; font-size:11px; font-weight:900; }
.pricing-grid-v2 { align-items:stretch; }.pricing-grid-v2 .pricing-card { display:flex; flex-direction:column; }.pricing-grid-v2 .pricing-card .button { margin-top:17px; }.pricing-grid-v2 .pricing-card ul { margin-top:17px; }.pricing-grid-v2 .plan-price { margin-top:15px; }.pricing-grid-v2 .plan-price strong { font-size:31px; }.plan-credits { margin-top:8px; color:#c6c2ff; font-weight:850; }.plan-equivalence,.cancel-anytime { color:#7f8698; font-size:11px; }.cancel-anytime { display:block; margin-top:8px; text-align:center; }.plan-missing { margin-top:auto; padding-top:16px; border-top:1px solid #292e40; }.plan-missing strong,.plan-missing span { display:block; }.plan-missing strong { color:#777e91; font-size:10px; text-transform:uppercase; }.plan-missing span { margin-top:4px; color:#777e91; font-size:11px; }.ultra-tiers { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }.ultra-tiers button { min-height:36px; border:1px solid #323749; border-radius:9px; color:#9197a8; background:#11141d; cursor:pointer; }.ultra-tiers button.active { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.12); }.pricing-trust { margin:22px 0 10px; display:flex; justify-content:center; gap:24px; color:#8b92a4; font-size:12px; }
.annual-saving{width:max-content;max-width:100%;margin-top:7px;padding:6px 9px;border:1px solid rgba(88,218,162,.28);border-radius:999px;color:#72dfb0;background:rgba(88,218,162,.08);font-size:11px;font-weight:750}.annual-saving b{color:#a2f0ce}.annual-saving[hidden]{display:none}
.annual-saving em{margin-right:5px;color:#d6ff79;font-style:normal;font-weight:950}.annual-saving-ultra{border-color:rgba(194,255,76,.4);background:rgba(164,224,72,.1)}

/* Page de vente : objectif visible, preuve concrète et démonstrations StoryFlux */
.landing-screen .viral-hero{min-height:0;padding:88px 0 34px}
.landing-screen .viral-hero h1{max-width:760px;margin:20px auto 19px;font-size:clamp(44px,5.2vw,70px);line-height:.98}
.landing-screen .viral-hero>p.hero-sales-copy{max-width:900px;margin-bottom:0;font-size:clamp(17px,1.8vw,25px);line-height:1.42}
.landing-screen .quiz-section{padding:22px 0 92px}
.quiz-frame-sales{max-width:860px;padding:42px 48px 38px;background:radial-gradient(circle at 50% 0,rgba(113,104,255,.18),transparent 48%),#11141f;box-shadow:0 30px 100px rgba(0,0,0,.32)}
.quiz-frame-sales .quiz-eyebrow{display:block;text-align:center}
.quiz-frame-sales .quiz-step h2{max-width:680px;margin:0 auto 13px;text-align:center;font-size:clamp(30px,3.5vw,43px)}
.quiz-frame-sales .quiz-help{max-width:650px;margin:0 auto 29px;text-align:center}
.quiz-frame-sales .quiz-slider-wrap{max-width:680px;margin:0 auto 25px;padding:19px 22px 17px;border:1px solid #33384d;border-radius:18px;background:#0d1019}
.quiz-frame-sales .quiz-slider-value{justify-content:center;margin:0 0 22px}
.quiz-frame-sales .quiz-slider-value strong{font-size:clamp(43px,6vw,62px)}
.quiz-frame-sales input[type=range]{display:block}
.quiz-range-labels{display:flex;justify-content:space-between;margin-top:9px;color:#6f7689;font-size:11px;font-weight:700}
.quiz-live-benchmark{max-width:680px;margin:0 auto;padding:17px 20px;display:grid;gap:5px;border:1px solid rgba(113,104,255,.34);border-radius:16px;background:rgba(113,104,255,.08);text-align:center}
.quiz-live-benchmark>span{color:#9ba2b4;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.quiz-live-benchmark>strong{font-size:17px;line-height:1.35}.quiz-live-benchmark b{color:#c2bdff}
.quiz-live-benchmark>small{color:#757d90;font-size:11px;line-height:1.4}
.quiz-main-action{width:max-content;min-width:230px;margin:27px auto 0;display:flex}
.quiz-frame-sales .step-back-link{margin-bottom:18px}
.quiz-result-cards-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0 22px}
.quiz-result-cards-v2 .quiz-result-card{min-width:0;padding:20px 12px}
.quiz-frame-sales .quiz-disclaimer{max-width:690px;margin:0 auto;text-align:center}
.landing-main-demo{padding:108px 0 125px}
.landing-main-demo .clean-heading{max-width:820px;margin:0 auto 35px}
.landing-main-video{position:relative;max-width:1080px;margin:auto;padding:10px;border:1px solid #343a51;border-radius:25px;background:linear-gradient(145deg,#191d2c,#0c0f18);box-shadow:0 38px 110px rgba(0,0,0,.45),0 0 70px rgba(95,78,255,.12)}
.landing-main-video video{width:100%;aspect-ratio:16/9;display:block;border-radius:17px;background:#080a11}
.landing-main-video-note{position:absolute;left:30px;right:30px;bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(8,10,18,.78);backdrop-filter:blur(12px)}
.landing-main-video-note span{color:#aaa4ff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.landing-main-video-note strong{font-size:13px}
.creation-modes .mode-card>video{object-fit:contain;background:#080a12;filter:none}
.creation-modes .mode-card:hover>video{filter:none}
@media(max-width:720px){.landing-screen .viral-hero{padding:82px 14px 24px}.landing-screen .viral-hero h1{font-size:43px}.landing-screen .quiz-section{padding-top:14px}.quiz-frame-sales{padding:33px 18px 28px}.quiz-result-cards-v2{grid-template-columns:1fr}.landing-main-demo{padding:82px 14px}.landing-main-video-note{position:static;margin-top:8px;align-items:flex-start;flex-direction:column}.quiz-main-action{width:100%}}

.settings-stack { max-width:850px; display:grid; gap:14px; }.settings-card { padding:22px; border:1px solid #303548; border-radius:18px; background:#11141e; }.settings-card-head,.settings-card-head > div,.settings-plan,.settings-plan > div { display:flex; align-items:center; gap:13px; }.settings-card-head,.settings-plan { justify-content:space-between; }.settings-icon { width:42px; height:42px; display:grid; place-items:center; flex:0 0 42px; border-radius:12px; color:#c7c2ff; background:rgba(113,104,255,.13); font-weight:900; }.settings-card h2 { margin:0 0 4px; font-size:18px; }.settings-card p { margin:0; color:#858c9d; font-size:12px; }.settings-detail-row { margin-top:15px; padding:13px 0 0; display:flex; justify-content:space-between; border-top:1px solid #292e40; }.settings-detail-row span { color:#81889a; }.language-grid { margin-top:18px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.language-grid button { min-height:44px; border:1px solid #333849; border-radius:10px; color:#adb2c0; background:#161924; cursor:pointer; }.language-grid button.active { border-color:var(--primary); color:#fff; background:rgba(113,104,255,.12); }.cookie-preferences { margin-top:18px; padding-top:6px; border-top:1px solid #292e40; }.cookie-preferences[hidden] { display:none; }.cookie-preferences label { padding:13px 0; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #242938; }.cookie-preferences strong,.cookie-preferences small { display:block; }.cookie-preferences small { margin-top:3px; color:#747b8e; }.cookie-preferences .button { margin-top:14px; }.settings-support { color:#b9b4ff; font-weight:800; text-decoration:none; }.settings-logout { min-height:48px; border:1px solid rgba(255,105,120,.3); border-radius:13px; color:#ff8691; background:rgba(255,105,120,.06); cursor:pointer; font-weight:850; }
@media(max-width:850px){.boost-pack-grid,.pricing-grid-v2{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,1fr)}.boost-summary{grid-template-columns:1fr}.pricing-trust,.boost-reassurance{align-items:flex-start;flex-direction:column}.quick-character-strip{grid-template-columns:repeat(2,1fr)}}

/* Miniatures : trois directions visuelles réellement distinctes */
.thumbnail-canvas.style-impact img{filter:saturate(1.24) contrast(1.18) brightness(.9);transform:scale(1.035)}
.thumbnail-canvas.style-impact .thumbnail-vignette{background:linear-gradient(90deg,rgba(4,6,12,.94) 0%,rgba(4,6,12,.54) 47%,transparent 76%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}
.thumbnail-canvas.style-impact>strong{font-family:Arial Black,Impact,sans-serif;text-transform:uppercase;font-style:italic;letter-spacing:-.065em;text-shadow:0 5px 0 #111,0 8px 24px rgba(0,0,0,.82)}
.thumbnail-canvas.style-impact .thumbnail-kicker{transform:rotate(-2deg);background:#ffca3a;color:#17120a}
.thumbnail-canvas.style-impact .thumbnail-arrow{background:#756cff;border:3px solid #fff}

.thumbnail-canvas.style-cinema::before,.thumbnail-canvas.style-cinema::after{content:"";position:absolute;z-index:3;left:0;right:0;height:8%;background:#050609;pointer-events:none}
.thumbnail-canvas.style-cinema::before{top:0}.thumbnail-canvas.style-cinema::after{bottom:0}
.thumbnail-canvas.style-cinema img{filter:saturate(.55) contrast(1.25) brightness(.68) sepia(.12);transform:scale(1.05)}
.thumbnail-canvas.style-cinema .thumbnail-vignette{background:linear-gradient(0deg,rgba(5,6,10,.94) 8%,transparent 64%),linear-gradient(90deg,rgba(5,6,10,.22),transparent 55%)}
.thumbnail-canvas.style-cinema .thumbnail-kicker{top:14%;left:50%;transform:translateX(-50%);padding:0;background:transparent;color:#e3b778;font-family:Georgia,serif;font-size:clamp(7px,.8vw,11px);letter-spacing:.23em;white-space:nowrap}
.thumbnail-canvas.style-cinema>strong{left:12%;right:12%;bottom:14%;width:auto;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,2.65vw,46px);font-weight:600;line-height:1.02;letter-spacing:-.025em;text-shadow:0 3px 22px rgba(0,0,0,.9)}
.thumbnail-canvas.style-cinema .thumbnail-arrow{right:50%;bottom:7%;width:auto;height:auto;transform:translateX(50%);padding:4px 12px;border:1px solid rgba(227,183,120,.65);border-radius:0;background:rgba(5,6,10,.72);color:#e3b778;font-family:Georgia,serif;font-size:9px;letter-spacing:.2em;box-shadow:none}

.thumbnail-canvas.style-clean{background:#f5f1e9}
.thumbnail-canvas.style-clean img{position:absolute;right:0;width:57%;filter:saturate(.78) contrast(.96) brightness(1.08);transform:none;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.thumbnail-canvas.style-clean .thumbnail-vignette{background:linear-gradient(90deg,#f5f1e9 0%,#f5f1e9 43%,rgba(245,241,233,.78) 52%,transparent 66%)}
.thumbnail-canvas.style-clean .thumbnail-kicker{left:6%;top:13%;padding:5px 9px;border:1px solid #111827;border-radius:999px;background:transparent;color:#111827;font-family:Arial,sans-serif;font-size:clamp(7px,.8vw,11px);letter-spacing:.12em}
.thumbnail-canvas.style-clean>strong{left:6%;bottom:17%;width:49%;color:#111827;font-family:Arial,sans-serif;font-size:clamp(22px,2.7vw,46px);font-weight:850;line-height:.98;letter-spacing:-.055em;text-shadow:none}
.thumbnail-canvas.style-clean .thumbnail-arrow{right:auto;left:6%;bottom:7%;width:34px;height:34px;border-radius:6px;background:#111827;color:#fff;font-size:11px;font-weight:900;box-shadow:none}
.thumb-style-swatch{position:relative;overflow:hidden}
.thumb-style-swatch.impact::after{content:"WOW";position:absolute;left:8px;bottom:5px;color:#111;font:900 italic 13px/1 Arial Black,sans-serif}
.thumb-style-swatch.cinema::after{content:"UN FILM";position:absolute;left:0;right:0;bottom:6px;color:#f0c88e;font:700 8px/1 Georgia,serif;text-align:center;letter-spacing:.18em}
.thumb-style-swatch.clean::after{content:"01";position:absolute;right:7px;top:6px;color:#202633;font:900 10px/1 Arial,sans-serif}

/* Tutoriel contextuel : l'interface reste visible et chaque fonction est pointée */
.product-tour{position:fixed;inset:0;z-index:2100;display:none;pointer-events:none}
.product-tour.open{display:block}
.product-tour-focus{position:fixed;border:2px solid #9b94ff;border-radius:15px;box-shadow:0 0 0 9999px rgba(5,7,13,.72),0 0 0 5px rgba(126,115,255,.2),0 12px 38px rgba(0,0,0,.45);transition:left .24s ease,top .24s ease,width .24s ease,height .24s ease;pointer-events:none}
.product-tour-tip{position:fixed;width:360px;padding:19px;border:1px solid #514c79;border-radius:16px;background:linear-gradient(145deg,#181b2a,#11141f);box-shadow:0 22px 65px rgba(0,0,0,.58);pointer-events:auto;transition:left .24s ease,top .24s ease}
.product-tour-tip h2{margin:8px 0 8px;font-size:23px;line-height:1.12;letter-spacing:-.025em}
.product-tour-tip>p{margin:0;color:#a8aec0;font-size:13px;line-height:1.55}
.product-tour-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#8f96aa;font-size:11px;font-weight:800}
.product-tour-top>span{padding:5px 8px;border-radius:999px;background:#23273a;color:#bbb6ff}
.product-tour-top button{border:0;background:transparent;color:#aeb4c4;cursor:pointer;font:inherit}
.product-tour-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid #2b3041}
.product-tour-actions .button{min-height:38px;padding:0 15px}
.product-tour-arrow{position:absolute;width:14px;height:14px;background:#171a28;border:solid #514c79;transform:rotate(45deg)}
.product-tour-tip.tip-right .product-tour-arrow{left:-8px;top:calc(50% - 7px);border-width:0 0 1px 1px}
.product-tour-tip.tip-left .product-tour-arrow{right:-8px;top:calc(50% - 7px);border-width:1px 1px 0 0}
.product-tour-tip.tip-below .product-tour-arrow{top:-8px;left:32px;border-width:1px 0 0 1px}
.product-tour-tip.tip-above .product-tour-arrow{bottom:-8px;left:32px;border-width:0 1px 1px 0}
@media(max-width:700px){.product-tour-tip{width:calc(100vw - 28px);padding:16px}.product-tour-tip h2{font-size:20px}.thumbnail-canvas.style-cinema>strong{font-size:clamp(21px,8vw,38px)}.thumbnail-canvas.style-clean>strong{font-size:clamp(19px,7vw,34px)}}

/* Banque de personnages multi-univers */
#characters .character-grid { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; }
#characters .character-card { min-height:390px; padding:0; overflow:hidden; display:flex; flex-direction:column; background:#121622; }
#characters img.character-visual { width:100%; height:275px; flex:0 0 275px; display:block; border:0; border-radius:0; object-fit:cover; object-position:center top; background:#171a25; }
#characters .character-card > div { padding:14px 14px 0; }
#characters .character-card h3 { margin:0 0 4px; min-height:23px; font-size:17px; }
#characters .character-card > div > span { color:#9299aa; font-size:11px; }
#characters .character-card > button { width:calc(100% - 28px); margin:13px 14px 14px; margin-top:auto; color:#eef0f6; }
#characters .character-add { min-height:390px; }
#characters .character-toolbar { align-items:center; flex-wrap:wrap; }
#characters .search-field { min-width:280px; }
@media(max-width:1180px){#characters .character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#characters .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#characters .character-toolbar{align-items:stretch;flex-direction:column}#characters .search-field{max-width:none;min-width:0}}
@media(max-width:500px){#characters .character-grid{grid-template-columns:1fr}}

/* Prix d’action et blocage de paiement */
.sf-action-cost{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-left:10px;padding:5px 9px;border-radius:9px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:.76rem;font-weight:850;line-height:1;white-space:nowrap;color:inherit}
.button.secondary .sf-action-cost{background:rgba(108,92,255,.13);border-color:rgba(128,113,255,.28);color:#b9afff}
.payment-gate-modal{width:min(680px,calc(100vw - 32px));padding:34px;background:linear-gradient(145deg,#151728,#10121d);border:1px solid rgba(138,123,255,.34);box-shadow:0 28px 90px rgba(0,0,0,.58)}
.payment-gate-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:18px;border-radius:16px;background:linear-gradient(135deg,#7868ff,#5446de);color:#fff;font-size:25px;box-shadow:0 12px 28px rgba(105,87,255,.3)}
.payment-gate-modal h2{margin:7px 0 10px;font-size:clamp(1.6rem,4vw,2.25rem);letter-spacing:-.035em}
.payment-gate-modal>p{margin:0 0 20px;color:var(--muted);line-height:1.55}
.payment-gate-cost{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;padding:16px 18px;border-radius:14px;background:#0d0f19;border:1px solid var(--line)}
.payment-gate-cost span{color:var(--muted);font-size:.9rem}.payment-gate-cost strong{color:#bcb3ff;font-size:1.15rem}
.payment-gate-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.payment-gate-plans button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:17px;border-radius:14px;border:1px solid var(--line);background:#191b28;color:var(--text);text-align:left;cursor:pointer;transition:.18s ease}
.payment-gate-plans button:hover{transform:translateY(-2px);border-color:#7b6bff;background:#211f3b}.payment-gate-plans strong{font-size:1rem}.payment-gate-plans span{color:#b9afff;font-weight:800}.payment-gate-plans b{color:var(--muted);font-size:.78rem}
.payment-gate-reassurance{display:block;margin-top:16px;color:var(--muted);text-align:center}
@media(max-width:700px){.payment-gate-plans{grid-template-columns:1fr}.sf-action-cost{margin-left:6px}.payment-gate-modal{padding:25px}}
.sf-price-guide{margin:20px 0;padding:24px;border:1px solid #303548;border-radius:20px;background:#11141e}.sf-price-guide h2{margin:6px 0;font-size:22px}.sf-price-guide>div:first-child p{margin:0;color:#858c9d;font-size:13px}.sf-price-guide-grid{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.sf-price-guide article{min-height:72px;padding:12px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;gap:2px 9px;align-items:center;border:1px solid #2d3244;border-radius:12px;background:#151824}.sf-price-guide article>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#c6c0ff;background:rgba(113,104,255,.13)}.sf-price-guide article strong{font-size:12px}.sf-price-guide article b{color:#aaa4ff;font-size:12px}@media(max-width:760px){.sf-price-guide-grid{grid-template-columns:1fr}}

/* Page de vente v4 : galerie de moments forts et sélecteur d'univers */
.landing-screen .viral-hero{padding-top:76px;padding-bottom:22px}
.landing-screen .viral-hero h1{max-width:660px;margin-top:16px;margin-bottom:15px;font-size:clamp(38px,4.35vw,58px);line-height:.99}
.landing-screen .viral-hero>p.hero-sales-copy{max-width:780px;font-size:clamp(16px,1.45vw,21px);line-height:1.38}
.landing-screen .quiz-section{padding-top:15px;padding-bottom:76px}
.quiz-frame-sales{max-width:780px;padding:31px 38px 30px}
.quiz-frame-sales .quiz-step h2{max-width:610px;margin-bottom:9px;font-size:clamp(28px,3vw,38px)}
.quiz-frame-sales .quiz-help{max-width:590px;margin-bottom:20px;font-size:14px;line-height:1.5}
.quiz-frame-sales .quiz-slider-wrap{max-width:620px;margin-bottom:18px;padding:15px 19px 14px}
.quiz-frame-sales .quiz-slider-value{margin-bottom:15px}
.quiz-frame-sales .quiz-slider-value strong{font-size:clamp(38px,5vw,52px)}
.quiz-live-benchmark{max-width:620px;padding:14px 18px;gap:4px}
.quiz-main-action{min-width:250px;margin-top:20px;padding-right:23px;padding-left:23px;justify-content:center;gap:13px;white-space:nowrap}
.viral-card>.viral-still{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.viral-card:hover>.viral-still{transform:scale(1.035)}
.viral-card>.viral-still{transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.viral-card::after{inset:60% 0 0;background:linear-gradient(transparent,rgba(3,4,8,.88))}
.viral-account{font-size:10px}
.themes-rail.selectable-themes{width:min(1320px,calc(100% - 48px));height:430px;gap:12px}
.selectable-themes button{flex:0 0 132px;border-radius:20px;background:#11141f}
.selectable-themes button::after{inset:45% 0 0;background:linear-gradient(transparent,rgba(7,8,14,.95))}
.selectable-themes button>span{position:absolute;z-index:3;right:13px;bottom:16px;left:13px;display:grid;gap:4px;text-align:left}
.selectable-themes button strong,.selectable-themes button.active strong,.selectable-themes button:hover strong,.selectable-themes button:focus-visible strong{position:static;display:block;max-width:100%;font-size:15px;line-height:1.08;letter-spacing:-.01em;white-space:normal;transform:none}
.selectable-themes button small{display:none;color:#c1c4d1;font-size:12px;line-height:1.35}
.selectable-themes button.active>span,.selectable-themes button:hover>span,.selectable-themes button:focus-visible>span{right:24px;bottom:23px;left:24px;gap:7px}
.selectable-themes button.active strong,.selectable-themes button:hover strong,.selectable-themes button:focus-visible strong{font-size:25px}
.selectable-themes button.active small,.selectable-themes button:hover small,.selectable-themes button:focus-visible small{display:block}
.selectable-themes:hover button.active:not(:hover){flex:0 0 132px;border-color:#303649;box-shadow:none}
.selectable-themes:hover button.active:not(:hover)>span{right:13px;bottom:16px;left:13px;gap:4px}
.selectable-themes:hover button.active:not(:hover) strong{font-size:15px}
.selectable-themes:hover button.active:not(:hover) small{display:none}
.selectable-themes:hover button.active:not(:hover) img{transform:scale(1.03);filter:saturate(.85) brightness(.72)}
@media(max-width:900px){.themes-rail.selectable-themes{height:370px}.selectable-themes button,.selectable-themes button.active{flex:0 0 min(78vw,520px)}.selectable-themes button small{display:block}.selectable-themes button strong,.selectable-themes button.active strong{font-size:22px}.selectable-themes:hover button.active:not(:hover){flex:0 0 min(78vw,520px)}}
@media(max-width:720px){.landing-screen .viral-hero{padding-top:74px}.landing-screen .viral-hero h1{font-size:38px}.quiz-frame-sales{padding:27px 16px 24px}.quiz-main-action{min-width:0}.themes-rail.selectable-themes{width:calc(100% - 24px);height:320px}}

/* Finitions page de vente — rythme, navigation, univers, créateurs et connexion */
.landing-screen .landing-nav{
  height:70px;
  padding-right:max(24px,calc((100vw - 1200px)/2));
  padding-left:max(24px,calc((100vw - 1200px)/2));
  background:rgba(7,8,13,.9);
  border-bottom:1px solid rgba(255,255,255,.07);
  box-shadow:0 10px 35px rgba(0,0,0,.18);
}
.landing-screen{overflow:clip}
.landing-screen #top{scroll-margin-top:70px}
.landing-screen .landing-nav nav{margin-right:auto;margin-left:46px;gap:30px}
.landing-screen .landing-nav nav a{font-size:14px;font-weight:650}
.landing-screen .landing-nav nav a[href="#tiktok-launch"]{padding:8px 10px;border:1px solid rgba(198,255,57,.25);border-radius:9px;color:#c9ff44;white-space:nowrap;background:rgba(198,255,57,.05)}
.landing-screen .landing-nav nav a[href="#tiktok-launch"]:hover{border-color:#c9ff44;color:#fff}
.landing-screen .landing-nav-actions .button{min-height:42px;padding:0 20px;border-radius:12px}
.landing-screen .landing-login{font-size:14px}
.quiz-main-action{min-height:56px;padding-top:12px;padding-bottom:12px;align-items:center;font-size:15px;font-weight:850;line-height:1.25;letter-spacing:-.01em}
.quiz-main-action span{display:inline-grid;place-items:center;font-size:19px;line-height:1}
.landing-main-demo{padding-top:62px;padding-bottom:70px}
.landing-main-demo .clean-heading{margin-bottom:24px}
.viral-showcase{padding-top:52px;padding-bottom:72px}
.viral-showcase .showcase-heading{margin-bottom:30px}
#how.clean-section{padding-top:68px;padding-bottom:88px}
#how .clean-heading{margin-bottom:34px}
.themes-section{padding-top:68px;padding-bottom:24px}
.themes-section .clean-heading{margin-bottom:34px}

.selectable-themes button:hover{transform:none}
.themes-rail.selectable-themes button{
  background-color:#090b13;
  background-image:linear-gradient(rgba(6,7,12,.62),rgba(6,7,12,.72)),var(--theme-backdrop);
  background-position:center;
  background-size:cover;
}
.selectable-themes button.active img,
.selectable-themes button:hover img,
.selectable-themes button:focus-visible img{
  object-fit:contain;
  object-position:center;
  transform:none;
  filter:saturate(1.02) brightness(.95);
  background:transparent;
}
.selectable-themes:hover button.active:not(:hover) img{
  object-fit:cover;
  transform:scale(1.01);
  filter:saturate(.88) brightness(.72);
}

.creator-stories{overflow:hidden;padding-top:26px;padding-bottom:38px;background:linear-gradient(180deg,transparent,rgba(113,104,255,.04),transparent)}
.landing-screen .pain-section{padding-top:68px;padding-bottom:84px}
.landing-screen .compact-faq{padding-top:76px;padding-bottom:86px}
.creator-stories .clean-heading{width:min(760px,calc(100% - 28px));margin:0 auto 36px}
.creator-story-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.creator-story-track{width:max-content;display:flex;animation:creatorStoryLoop 38s linear infinite}
.creator-story-viewport:hover .creator-story-track{animation-play-state:paused}
.creator-story-set{display:flex;gap:14px;padding-right:14px}
.creator-story-set article{width:350px;min-height:188px;padding:22px;flex:0 0 auto;border:1px solid #2b3041;border-radius:18px;background:#11131c;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.creator-story-set header{display:flex;align-items:center;gap:12px}
.creator-story-set header img{width:48px;height:48px;border:1px solid #3b4052;border-radius:50%;object-fit:cover;background:#171a25}
.creator-story-set header strong,.creator-story-set header span{display:block}
.creator-story-set header strong{color:#f4f4f8;font-size:14px}
.creator-story-set header span{margin-top:4px;color:#8d93a5;font-size:11px}
.creator-story-set header .creator-stars{color:#c7ff2e;font-size:13px;line-height:1;letter-spacing:.12em}
.creator-story-set p{margin:18px 0 0;color:#d8dae4;font-size:14px;line-height:1.55}
@keyframes creatorStoryLoop{to{transform:translateX(-50%)}}

.auth-screen{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:48px 20px;background:radial-gradient(circle at 50% 12%,rgba(113,104,255,.12),transparent 32%),#08090e}
.auth-back{top:22px;left:24px;padding:10px 12px;border:1px solid #2b3040;border-radius:10px;background:#11131b;color:#c3c7d3}
.auth-panel{width:min(430px,calc(100% - 28px));margin:auto;padding:25px;border:1px solid #2b2f3d;border-radius:18px;background:#101117;box-shadow:0 32px 90px rgba(0,0,0,.44)}
.auth-brand{justify-content:center;align-self:auto;padding:0 0 13px;gap:10px;font-size:21px}
.auth-brand .brand-mark{width:34px;height:34px;border-radius:10px}
.auth-panel h1{margin:0 0 7px;text-align:center;font-size:25px;letter-spacing:-.035em}
.auth-panel>p{text-align:center;font-size:13px}
.auth-tabs{margin:16px 0 12px}
.google-auth-button{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #e1e3e8;border-radius:9px;color:#202333;background:#fff;cursor:pointer;font-size:14px;font-weight:750}
.google-auth-button span{width:22px;height:22px;display:grid;place-items:center;color:#4285f4;font-size:18px;font-weight:900}
.google-auth-button:disabled{opacity:.65;cursor:wait}
.auth-divider{display:flex;align-items:center;gap:12px;margin:13px 0;color:#727889;font-size:11px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#292d39}
.auth-form{gap:10px}
.auth-form label{gap:7px;color:#b9bdc9;font-size:12px}
.auth-form input:not([type="checkbox"]){min-height:43px}
.turnstile-widget{min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #343846;border-radius:9px;background:#161820;color:#d7d9e1;text-align:center}
.turnstile-widget span,.turnstile-widget small{display:block}
.turnstile-widget span{font-size:12px;font-weight:800}
.turnstile-widget small{margin-top:4px;color:#7f8698;font-size:10px}
.turnstile-widget.is-live{padding:0;border-color:transparent;background:transparent}
.turnstile-widget iframe{max-width:100%}
.auth-security{margin-top:14px;padding-top:12px;font-size:10px;text-align:center}
.terms-check a,.landing-footer a:not(.brand){color:#bbb4ff;text-decoration:underline;text-underline-offset:3px}
.terms-check a:hover,.landing-footer a:not(.brand):hover{color:#fff}
.boost-terms-link{margin:9px 0 0;text-align:center}.boost-terms-link a,.tiktok-welcome-modal>small a{color:#bcb6ff;text-underline-offset:3px}

@media(min-width:901px) and (min-height:760px){
  .landing-screen .landing-nav{height:62px}
  .landing-screen .viral-hero{padding-top:24px;padding-bottom:8px}
  .landing-screen .viral-hero h1{margin-top:10px;margin-bottom:10px;font-size:clamp(42px,3.65vw,58px)}
  .landing-screen .viral-hero>p.hero-sales-copy{font-size:clamp(16px,1.25vw,19px)}
  .landing-screen .quiz-section{padding-top:8px;padding-bottom:34px}
  .quiz-frame-sales{padding:24px 38px 24px}
  .quiz-frame-sales .quiz-step h2{font-size:clamp(28px,2.45vw,36px)}
  .quiz-frame-sales .quiz-help{margin-bottom:13px;line-height:1.38}
  .quiz-frame-sales .quiz-slider-wrap{margin-bottom:12px;padding-top:12px;padding-bottom:11px}
  .quiz-frame-sales .quiz-slider-value{margin-bottom:10px}
  .quiz-live-benchmark{padding:11px 18px}
  .quiz-main-action{margin-top:13px}
}

@media(prefers-reduced-motion:reduce){.creator-story-track{animation:none}}

/* Compte TikTok : offre et captures fournies par le créateur */
.launch-offer-section{padding-top:28px;padding-bottom:78px;scroll-margin-top:82px}
.launch-offer-card{position:relative;min-height:400px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;padding:50px 58px;border:1px solid #35315a;border-radius:28px;background:radial-gradient(ellipse at 88% 45%,rgba(111,91,255,.2),transparent 39%),linear-gradient(120deg,#12131f,#0c0f18 68%);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.launch-offer-copy{position:relative;z-index:2;max-width:610px}.launch-offer-copy h2{max-width:580px;margin:12px 0;font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.045em}.launch-offer-copy>p{max-width:530px;color:#a4a9ba;line-height:1.55}.launch-offer-copy ul,.boost-organic-card ul{margin:21px 0 25px;padding:0;list-style:none}.launch-offer-copy li,.boost-organic-card li{position:relative;margin:10px 0;padding-left:24px;color:#d2d5df;font-size:14px}.launch-offer-copy li:before,.boost-organic-card li:before{content:'✓';position:absolute;left:0;color:#bcff48;font-weight:900}.launch-offer-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px}.launch-offer-bottom>strong{color:#fff;font-size:34px;letter-spacing:-.04em}.launch-offer-bottom>span{margin-right:auto;color:#9096a8;font-size:12px}.launch-offer-bottom .button{min-height:45px}
.launch-offer-visual{position:relative;min-height:300px;display:grid;place-items:center}.launch-orbit{position:absolute;width:290px;height:290px;border:1px solid rgba(173,158,255,.21);border-radius:50%;box-shadow:0 0 70px rgba(103,79,255,.15)}.launch-orbit-two{width:220px;height:220px;border-color:rgba(183,255,87,.19)}.launch-phone{position:relative;z-index:1;width:205px;height:266px;padding:23px 20px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #5a527f;border-radius:25px;background:linear-gradient(155deg,#1d1b32,#10121b 75%);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 35px rgba(119,98,255,.18);transform:rotate(5deg)}.launch-phone i{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;color:#101018;background:#c6ff36;font-size:20px;font-style:normal;font-weight:950}.launch-phone b{font-size:23px;line-height:1.05;letter-spacing:-.04em}.launch-phone em{color:#b7a9ff;font-style:normal}.launch-phone small{color:#9095a7;font-size:9px;font-weight:900;letter-spacing:.15em}.launch-spark{position:absolute;z-index:2;color:#c5ff48;font-size:29px}.launch-spark-one{top:23px;right:24%}.launch-spark-two{bottom:21px;left:18%;width:51px;height:51px;display:grid;place-items:center;border:1px solid rgba(183,255,87,.35);border-radius:50%;background:rgba(183,255,87,.1);font-size:25px}
.boost-organic-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}.boost-organic-card{min-height:390px;padding:29px;border:1px solid #303548;border-radius:21px;background:linear-gradient(150deg,rgba(113,104,255,.09),transparent 55%),#11141e}.boost-organic-card h2{margin:10px 0;font-size:25px;letter-spacing:-.035em}.boost-organic-card>p{max-width:470px;color:#999fb1;line-height:1.55}.boost-organic-icon{width:44px;height:44px;margin-bottom:19px;display:grid;place-items:center;border-radius:13px;color:#171720;background:#c7ff39;font-size:24px;font-weight:900}.boost-organic-tools .boost-organic-icon{color:#fff;background:#6b60f4}.boost-organic-card ul{margin-top:22px}.boost-organic-footer{margin-top:25px;padding-top:17px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;border-top:1px solid #292e40}.boost-organic-footer strong{font-size:30px}.boost-organic-footer>span{color:#858c9e;font-size:11px}.boost-organic-footer .button{grid-column:1/-1;margin-top:11px}.boost-organic-tools>.button{margin-top:18px}.boost-policy-note{max-width:820px;margin:21px auto 0;color:#7f8697;font-size:12px;line-height:1.6;text-align:center}
.launch-order-backdrop{z-index:120}.launch-order-modal{max-height:min(90vh,800px);overflow:auto}.launch-order-modal>label{display:block;margin:14px 0 7px;color:#d2d5df;font-size:12px;font-weight:800}.launch-order-modal>label span{color:#858b9d;font-weight:500}.launch-order-modal>input{width:100%;min-height:46px;padding:0 13px;border:1px solid #34394c;border-radius:10px;color:#fff;background:#0d1018}.launch-order-total{margin:20px 0 14px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #32374a;border-radius:12px;background:#141722}.launch-order-total span{color:#a0a6b7;font-size:12px}.launch-order-total strong{font-size:22px;white-space:nowrap}.launch-order-modal>.button{width:100%}.launch-order-note{display:block;margin-top:12px;color:#82899b;font-size:10px;line-height:1.5;text-align:center}
@media(max-width:760px){.launch-offer-section{padding-top:10px;padding-bottom:55px}.launch-offer-card{grid-template-columns:1fr;gap:5px;padding:30px 24px}.launch-offer-visual{min-height:250px}.launch-phone{width:170px;height:220px;padding:18px}.launch-phone b{font-size:19px}.launch-orbit{width:240px;height:240px}.launch-orbit-two{width:185px;height:185px}.launch-offer-bottom>span{flex-basis:calc(100% - 100px)}.launch-offer-bottom .button{width:100%}.boost-organic-grid{grid-template-columns:1fr}.boost-organic-card{min-height:0;padding:23px}.launch-order-modal{padding:24px 20px}}
.tiktok-announcement{min-height:43px;padding:8px 18px;display:flex;align-items:center;justify-content:center;gap:13px;border-top:1px solid rgba(55,59,79,.65);border-bottom:1px solid rgba(55,59,79,.65);color:#dfe1e9;background:linear-gradient(90deg,#121420,#17152a,#11141e);text-decoration:none;font-size:12px}.tiktok-announcement>span{color:#c9ff44;font-size:9px;font-weight:950;letter-spacing:.12em}.tiktok-announcement>strong{font-weight:700}.tiktok-announcement>b{color:#bcb6ff;font-size:11px;white-space:nowrap}.tiktok-announcement:hover{background:linear-gradient(90deg,#171925,#211c3e,#171925)}
.tiktok-welcome-backdrop{z-index:110}.tiktok-welcome-modal{width:min(510px,100%);padding:34px;background:radial-gradient(circle at 95% 0,rgba(113,104,255,.19),transparent 42%),#141722}.tiktok-welcome-icon{width:47px;height:47px;margin-bottom:20px;display:grid;place-items:center;border-radius:14px;color:#11131a;background:#c7ff39;font-size:26px;font-weight:950}.tiktok-welcome-modal h2{max-width:390px;margin:12px 0;font-size:30px;line-height:1.08;letter-spacing:-.04em}.tiktok-welcome-modal>p{margin:0 0 18px;color:#a4aabc;line-height:1.55}.tiktok-welcome-delivery{margin:0 0 20px;padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px;border:1px solid #303548;border-radius:13px;background:#10131d}.tiktok-welcome-delivery span{color:#dadce5;font-size:12px}.tiktok-welcome-delivery span:before{content:'✓';margin-right:7px;color:#c7ff39}.tiktok-welcome-delivery strong{grid-column:1/-1;color:#bcb6ff;font-size:12px}.tiktok-welcome-actions{display:flex;justify-content:flex-end;gap:9px}.tiktok-welcome-actions .button{min-height:44px;padding:0 14px;font-size:12px}.tiktok-welcome-modal>small{display:block;margin-top:15px;color:#777e90;font-size:10px;line-height:1.45;text-align:center}
.account-preview{width:240px;height:280px;padding:22px;transform:rotate(4deg)}.account-preview-top{display:flex;align-items:center;gap:10px}.account-preview-top i{flex:none}.account-preview-top span{color:#b8aecf;font-size:10px;font-weight:900;letter-spacing:.12em}.account-preview-audience strong{display:block;font-size:59px;line-height:1;letter-spacing:-.08em}.account-preview-audience strong span{color:#c7ff39}.account-preview-audience small{display:block;margin-top:5px;color:#a5a9b8;font-size:12px;letter-spacing:0}.account-preview-rewards{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px;padding:11px;border:1px solid rgba(42,211,223,.34);border-radius:12px;background:rgba(18,191,203,.09)}.account-preview-rewards .reward-dot{width:8px;height:8px;border-radius:50%;background:#18cbd2;box-shadow:0 0 12px #18cbd2}.account-preview-rewards b{font-size:11px;line-height:1.2;letter-spacing:0}.account-preview-rewards em{color:#70e7db;font-size:10px;font-style:normal;font-weight:800}.account-preview>small{color:#747b91;font-size:8px;letter-spacing:.15em}.boost-rewards-legend{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 16px}.boost-rewards-legend span{padding:9px 11px;border:1px solid #32374a;border-radius:9px;color:#d0d4df;background:#0f121c;font-size:12px}.boost-rewards-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:3px;background:#1685ed}.boost-rewards-legend span+span i{background:#13c5d1}.boost-organic-card .boost-example-note{margin-top:20px;color:#9299aa;font-size:12px}
.boost-rewards-preview{margin-top:22px;padding:17px 17px 5px;border:1px solid #303548;border-radius:15px;background:linear-gradient(180deg,#151923,#0e1119)}.boost-rewards-preview>span{color:#9299aa;font-size:9px;font-weight:900;letter-spacing:.14em}.boost-rewards-chart{height:103px;display:flex;align-items:end;justify-content:space-around;gap:8px;padding-top:16px;border-bottom:1px solid #4a5060}.boost-rewards-chart i{width:13px;height:var(--bar);border-radius:4px 4px 0 0;background:linear-gradient(to top,#1384ea 0 22%,#14c6d3 22% 100%)}.boost-rewards-chart i:nth-child(12n+1){--bar:39%}.boost-rewards-chart i:nth-child(12n+2){--bar:55%}.boost-rewards-chart i:nth-child(12n+3){--bar:31%}.boost-rewards-chart i:nth-child(12n+4){--bar:72%}.boost-rewards-chart i:nth-child(12n+5){--bar:48%}.boost-rewards-chart i:nth-child(12n+6){--bar:87%}.boost-rewards-chart i:nth-child(12n+7){--bar:62%}.boost-rewards-chart i:nth-child(12n+8){--bar:81%}.boost-rewards-chart i:nth-child(12n+9){--bar:44%}.boost-rewards-chart i:nth-child(12n+10){--bar:27%}.boost-rewards-chart i:nth-child(12n+11){--bar:50%}.boost-rewards-chart i:nth-child(12n+12){--bar:36%}.boost-rewards-preview .boost-rewards-legend{margin:12px 0 8px}.boost-rewards-preview .boost-rewards-legend span{padding:5px 8px;border:0;background:none;font-size:10px}
.tiktok-announcement{position:relative;overflow:hidden;min-height:46px;gap:0}.tiktok-announcement-window{flex:1;max-width:750px;min-width:0;overflow:hidden}.tiktok-announcement-track{width:max-content;display:flex;align-items:center;animation:tiktokTicker 17s linear infinite}.tiktok-announcement-track>span{min-width:660px;padding-right:42px;white-space:nowrap;color:#dfe1e9;font-size:12px;font-weight:750}.tiktok-announcement-track em{margin:0 12px;color:#c9ff44;font-style:normal}.tiktok-announcement>b{z-index:1;margin-left:20px;padding:6px 10px;border:1px solid rgba(198,255,57,.25);border-radius:999px;background:#171a23;color:#c9ff44}.tiktok-announcement:hover .tiktok-announcement-track{animation-play-state:paused}@keyframes tiktokTicker{to{transform:translateX(-50%)}}
.tiktok-proof-showcase{min-height:330px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.tiktok-proof-image{position:relative;margin:0;overflow:hidden;border:1px solid #3a4052;border-radius:17px;background:#08090d;box-shadow:0 20px 45px rgba(0,0,0,.42)}.tiktok-proof-image img{display:block;width:100%;height:100%;object-fit:contain}.tiktok-proof-account{width:min(58%,270px);height:210px;transform:rotate(-4deg)}.tiktok-proof-rewards{width:min(37%,160px);height:260px;transform:rotate(4deg)}.tiktok-proof-image figcaption{position:absolute;inset:auto 0 0;padding:16px 9px 9px;background:linear-gradient(transparent,rgba(0,0,0,.96));color:#fff;font-size:10px;font-weight:850;text-align:center}.tiktok-proof-showcase>small{width:100%;color:#8d93a3;font-size:10px;text-align:center}
.tiktok-welcome-backdrop.open .tiktok-welcome-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 28px);min-height:0;padding:25px 28px;justify-content:flex-start}.tiktok-welcome-modal .tiktok-welcome-icon{margin-bottom:9px}.tiktok-welcome-modal h2{margin:7px 0;font-size:clamp(25px,3vw,32px)}.tiktok-welcome-modal>p{margin-bottom:12px;font-size:13px}.tiktok-welcome-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-bottom:13px}.tiktok-welcome-gallery figure{margin:0;overflow:hidden;border:1px solid #34394b;border-radius:13px;background:#08090d}.tiktok-welcome-gallery img{display:block;width:100%;height:205px;object-fit:contain}.tiktok-welcome-gallery figcaption{padding:8px 10px;color:#d7d9e4;background:#10131d;font-size:11px;font-weight:800}.tiktok-welcome-modal .tiktok-welcome-delivery{margin-bottom:13px;padding:12px}.tiktok-welcome-modal>small{margin-top:9px}
@media(max-width:650px){.tiktok-announcement-window{max-width:none}.tiktok-announcement-track>span{min-width:530px;font-size:10px}.tiktok-announcement>b{margin-left:8px;font-size:9px}.tiktok-proof-showcase{min-height:280px}.tiktok-proof-account{height:165px}.tiktok-proof-rewards{height:210px}.tiktok-welcome-backdrop.open .tiktok-welcome-modal{padding:20px 17px}.tiktok-welcome-gallery{gap:8px}.tiktok-welcome-gallery img{height:165px}.tiktok-welcome-gallery figcaption{font-size:9px}.tiktok-welcome-modal .tiktok-welcome-delivery{gap:5px}}
@media(prefers-reduced-motion:reduce){.tiktok-announcement-track{animation:none}}
body.tiktok-welcome-open{overflow:hidden}
.tiktok-welcome-backdrop.open{animation:tiktokWelcomeBackdrop .32s ease-out both}
.tiktok-welcome-backdrop.open .tiktok-welcome-modal{width:min(760px,calc(100vw - 32px));min-height:0;max-height:calc(100dvh - 28px);overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-start;animation:tiktokWelcomeCard .45s cubic-bezier(.18,.83,.27,1.12) both}
@keyframes tiktokWelcomeBackdrop{from{background:rgba(4,5,10,0);backdrop-filter:blur(0)}to{background:rgba(4,5,10,.76);backdrop-filter:blur(7px)}}
@keyframes tiktokWelcomeCard{from{opacity:0;transform:translateY(34px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.tiktok-welcome-backdrop.open,.tiktok-welcome-backdrop.open .tiktok-welcome-modal{animation:none}}
@media(max-width:650px){.tiktok-announcement{padding:8px 12px;gap:7px;justify-content:flex-start;font-size:10px}.tiktok-announcement>strong{flex:1}.tiktok-announcement>b{font-size:10px}.tiktok-welcome-modal{padding:27px 21px}.tiktok-welcome-actions{flex-direction:column-reverse}.tiktok-welcome-actions .button{width:100%}}
@media(max-width:900px){
  .landing-screen .landing-nav nav{display:none}
  .landing-main-demo{padding-top:52px;padding-bottom:58px}
  .viral-showcase{padding-top:44px;padding-bottom:60px}
  #how.clean-section{padding-top:58px;padding-bottom:72px}
}
@media(max-width:560px){
  .landing-screen .landing-nav{height:64px;padding-right:14px;padding-left:14px}
  .landing-screen .landing-nav-actions .button{min-height:38px;padding:0 14px}
  .creator-stories{padding-top:22px;padding-bottom:34px}
  .landing-screen .pain-section{padding-top:58px;padding-bottom:70px}
  .creator-story-set article{width:292px;min-height:180px;padding:19px}
  .auth-screen{padding:66px 0 24px}
  .auth-back{top:14px;left:14px}
  .auth-panel{padding:22px 19px}
}
