/* Vuezy — espace client (s'ajoute à style.css) */
body.studio{background:var(--mist);min-height:100vh;display:flex;flex-direction:column}
body.studio footer{margin-top:auto}
.app{max-width:1280px;width:100%;margin:0 auto;padding:26px var(--pad) 70px}
.app h1{font-size:clamp(38px,7vw,60px);line-height:.95}
.app h2{font-size:28px;line-height:1.05;letter-spacing:-.02em}
.app .lead{color:var(--grey);margin-top:14px}
.nav-out{background:none;border:0;color:#fff;font:700 15px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:10px 0}
.nav-out[hidden]{display:none}
.loading{padding:60px 0;text-align:center;color:var(--grey)}

.card{background:#fff;border:2.5px solid var(--ink);border-radius:26px;box-shadow:7px 7px 0 var(--ink);padding:24px 20px;min-width:0}
.card .sub{color:var(--grey);margin:6px 0 14px;font-size:17px}
.fl{display:block;font:800 18px/1.2 var(--display);letter-spacing:-.01em;margin:16px 0 8px}
.card fieldset{border:0;margin:14px 0 0;padding:0;min-width:0}
.card legend{font:800 18px/1.2 var(--display);padding:0;margin:0 0 8px}
.card input[type=email],.card input[type=password],.card textarea,.card select,.card input[type=file]{width:100%;font:500 18px/1.45 var(--body);color:var(--ink);background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:12px 14px}
.card textarea{resize:vertical;min-height:150px}
.card select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230B0B12' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.card input:focus,.card textarea:focus,.card select:focus{outline:none;box-shadow:0 0 0 4px rgba(198,255,61,.9)}
.card ::placeholder{color:#8A8A95}
.card .btn.block{margin-top:18px;min-height:58px;font-size:18px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 var(--ink)}
.hint{font-size:15px;color:var(--grey);margin-top:10px}
.msg{font-size:16px;font-weight:700;color:var(--tomato);margin-top:10px;min-height:1.2em}
.msg:empty{min-height:0;margin:0}
#plan-msg{color:var(--ink);font-weight:500}
#plan-msg.on{background:var(--lime);border:2.5px solid var(--ink);border-radius:14px;padding:10px 12px}
.count{font-size:14px;color:var(--grey);text-align:right;margin-top:4px}
.check{display:flex;align-items:center;gap:12px;margin-top:18px;font-weight:700;cursor:pointer}
.check input{width:26px;height:26px;accent-color:var(--ink);flex:none}

/* sélecteur à deux positions */
.seg{display:grid;grid-template-columns:1fr 1fr;border:2.5px solid var(--ink);border-radius:999px;padding:3px;gap:3px;margin-bottom:6px}
.seg button{border:0;background:none;border-radius:999px;min-height:44px;font:700 16px var(--body);color:var(--ink);cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}

/* connexion */
.auth{display:grid;gap:28px;padding-top:14px}
.auth-pts{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px;font-weight:500}
.auth-pts li{padding-left:30px;position:relative}
.auth-pts li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:5px;background:var(--lime);border:2.5px solid var(--ink)}

/* tableau de bord */
.dash-head{display:grid;gap:18px;margin-bottom:24px}
.quota{padding:18px 20px;box-shadow:5px 5px 0 var(--ink)}
.quota.none{display:grid;gap:2px}.quota.none span{color:var(--grey);font-size:16px}
.q-top{display:flex;align-items:center;gap:16px}
.q-n{font:800 54px/1 var(--display);letter-spacing:-.04em;background:var(--lime);border:2.5px solid var(--ink);border-radius:18px;min-width:76px;text-align:center;padding:6px 10px}
.q-top div{display:grid;gap:2px;line-height:1.25}.q-top span{color:var(--grey);font-size:15px}
.meter{height:12px;border:2.5px solid var(--ink);border-radius:99px;background:#fff;overflow:hidden;margin-top:14px}
.meter i{display:block;height:100%;background:var(--lime);border-right:2.5px solid var(--ink);transition:width .5s}
.flash{background:var(--lime);border:2.5px solid var(--ink);border-radius:18px;padding:14px 16px;font-weight:700;margin-bottom:22px}
.dash-grid{display:grid;gap:34px;grid-template-columns:minmax(0,1fr)}
.new .pick-styles{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ps em{font-style:normal;font-size:11px;background:var(--mist);border:1.5px solid var(--ink);border-radius:99px;padding:1px 7px}
.vids h2{margin-bottom:16px}
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.empty{grid-column:1/-1;border:2.5px dashed #B9BAB0;border-radius:22px;padding:34px 20px;text-align:center;color:var(--grey)}
.vid{background:#fff;border:2.5px solid var(--ink);border-radius:20px;padding:8px 8px 12px;min-width:0}
.vbox{aspect-ratio:9/16;border-radius:13px;overflow:hidden;background:var(--ink);display:grid}
.vbox video{width:100%;height:100%;object-fit:cover}
.vstate{display:grid;place-content:center;justify-items:center;gap:12px;color:#fff;padding:14px;text-align:center}
.vstate .meter{width:110px;border-color:#fff;background:transparent;margin:0}.vstate .meter i{border-color:#fff}
.vstate.off{background:var(--mist);color:var(--grey);font-size:14px;line-height:1.35}
.spin{width:34px;height:34px;border-radius:9px;background:var(--lime)}
@media (prefers-reduced-motion:no-preference){.spin{animation:spin 1.6s cubic-bezier(.6,0,.3,1) infinite}@keyframes spin{50%{transform:rotate(180deg) scale(.7);border-radius:50%}to{transform:rotate(360deg)}}}
.vmeta{display:flex;justify-content:space-between;gap:8px;margin:10px 4px 2px;font-size:15px}.vmeta span{color:var(--grey)}
.vtext{font-size:13px;line-height:1.35;color:var(--grey);margin:0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 4px 0}
.vact .btn.small{min-height:40px;padding:0 14px;font-size:14px;box-shadow:2px 2px 0 var(--ink)}
.del{background:none;border:0;font:500 13px var(--body);color:var(--grey);text-decoration:underline;cursor:pointer;padding:8px 0}

/* formules */
.prow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;border:2.5px solid var(--ink);border-radius:18px;padding:14px;margin-top:10px}
.prow.pick{background:var(--mist);box-shadow:4px 4px 0 var(--lime),4px 4px 0 2.5px var(--ink)}
.prow div:first-child{display:grid;line-height:1.25}.prow span{color:var(--grey);font-size:15px}
.pp{font:800 28px/1 var(--display)}.pp small{font:500 14px var(--body);color:var(--grey);margin-left:4px}
.prow .btn{grid-column:1/-1}
.account{margin-top:40px;box-shadow:5px 5px 0 var(--ink)}
.account details{margin-top:14px}.account summary{font-weight:700;cursor:pointer;padding:8px 0}
.account form{max-width:420px}.account .btn{margin-top:16px}

@media (min-width:900px){
 .app{padding-top:44px}
 .auth{grid-template-columns:1fr 440px;gap:60px;align-items:center;min-height:60vh}
 .dash-head{grid-template-columns:1fr 440px;align-items:end}
 .dash-grid{grid-template-columns:440px minmax(0,1fr);align-items:start;gap:44px}

 .vgrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
 .card{padding:28px 26px}
 .prow{grid-template-columns:1fr auto auto}.prow .btn{grid-column:auto}
}

/* connexion Google */
.g-box{margin:16px 0 2px}.g-box[hidden]{display:none}
.g-btn{display:flex;justify-content:center;min-height:44px}
.g-or{display:flex;align-items:center;gap:12px;color:var(--grey);font-size:15px;margin:16px 0 0}
.g-or span{flex:none;white-space:nowrap}
.g-or::before,.g-or::after{content:"";flex:1;height:2px;background:#DADBD2}

/* choix de la voix */
.voicebtn{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.voicebtn:hover{background:var(--mist)}
.vb-ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--lime);border:2.5px solid var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%230B0B12' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 10v4M8 7v10M12 4v16M16 8v8M20 11v2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.vb-t{display:grid;line-height:1.25}.vb-t b{font-size:18px}.vb-t small{color:var(--grey);font-size:14px}
dialog.vpick{max-width:560px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:0;display:none;flex-direction:column;overflow:hidden}
dialog.vpick[open]{display:flex}
.vp-head{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0}
.vp-head h2{font-size:28px}
.vp-x{width:44px;height:44px;border-radius:50%;border:2.5px solid var(--ink);background:#fff;font-size:18px;cursor:pointer}
.vp-sub{color:var(--grey);font-size:15px;padding:4px 20px 12px;margin:0!important}
.vp-src{margin:0 20px 10px}
.vp-f{padding:0 20px 12px;display:grid;gap:10px;border-bottom:2px solid #E2E3DA}
.vp-q{width:100%;font:500 17px var(--body);border:2.5px solid var(--ink);border-radius:14px;padding:10px 14px}
.vp-q:focus{outline:none;box-shadow:0 0 0 4px rgba(198,255,61,.9)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{border:2px solid var(--ink);background:#fff;border-radius:99px;padding:7px 14px;font:700 14px var(--body);cursor:pointer;color:var(--ink)}
.chips button[aria-pressed=true]{background:var(--ink);color:#fff}
.vp-list{overflow-y:auto;padding:8px 12px 20px;display:grid;gap:4px;align-content:start;flex:1;min-height:200px}
.vp-row{display:flex;align-items:center;gap:10px;border-radius:14px;padding:6px 8px;border:2px solid transparent}
.vp-row:hover{background:var(--mist)}
.vp-row.sel{border-color:var(--ink);background:var(--mist)}
.vp-play{flex:none;width:42px;height:42px;border-radius:50%;border:2.5px solid var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='16'%3E%3Cpath d='M1 1l12 7-12 7z' fill='%230B0B12'/%3E%3C/svg%3E") no-repeat 55% center;cursor:pointer}
.vp-play.on{background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='16'%3E%3Cpath d='M2 1h3v14H2zM9 1h3v14H9z' fill='%230B0B12'/%3E%3C/svg%3E") no-repeat center}
.vp-pick{flex:1;min-width:0;display:grid;text-align:left;background:none;border:0;padding:6px 4px;cursor:pointer;font:inherit;color:var(--ink);line-height:1.25}
.vp-pick b{font-size:17px}.vp-pick small{color:var(--grey);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}
.vp-row.sel .vp-pick b::after{content:" ✓"}
.vp-empty{color:var(--grey);text-align:center;padding:30px 10px}
.vp-more{justify-self:center;margin-top:8px}

/* crédits */
.q-n{min-width:0;font-size:34px;white-space:nowrap;padding:10px 12px}
.card input[type=range]{width:100%;accent-color:var(--ink);height:32px}
.card input[type=range]:focus{box-shadow:none}
.cost{font-size:16px;font-weight:700;margin-top:16px;background:var(--mist);border-radius:14px;padding:10px 12px}
.cost.bad{background:#FBE3DF;color:#9B2417}
.cost:empty{display:none}
.vcr{font-size:13px;font-weight:700;margin:6px 4px 0}
.packs{margin-top:40px;box-shadow:5px 5px 0 var(--ink)}
.packs+.account{margin-top:24px}

/* ---------- studio : menu, vues, incitations ---------- */
.main{min-width:0}.side{display:none}
.vhead{margin-bottom:22px}.app .vhead h1{font-size:clamp(32px,6vw,46px)}.vhead .lead{margin-top:8px;font-size:18px}
.cbar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:18px;padding:12px 14px;margin-bottom:22px}
.cb-n{display:flex;align-items:baseline;gap:6px}.cb-n b{font:800 26px/1 var(--display);color:var(--lime)}.cb-n span{font-weight:700;font-size:14px}
.cbar .meter{display:none}.cbar small{color:#B9B9C6;flex:1;min-width:110px;font-size:13px;line-height:1.3}
.cbar .btn,.cbox .btn{min-height:40px;padding:0 14px;font-size:14px;box-shadow:none}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--ink);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
.tabs button{background:none;border:0;color:#B9B9C6;display:grid;justify-items:center;gap:2px;font:700 11px var(--body);padding:6px 0;border-radius:12px;cursor:pointer}
.tabs button[aria-current]{color:var(--ink);background:var(--lime)}
body.studio footer{padding-bottom:84px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{background:#fff;border:2.5px solid var(--ink);border-radius:20px;padding:16px;display:grid;gap:2px;align-content:start;text-align:left;color:var(--ink)}
.stat b{font:800 32px/1 var(--display);letter-spacing:-.03em}.stat span{font-weight:700;font-size:15px}.stat small{color:#3B3B45;font-size:13px}
.stat.hl{background:var(--lime);box-shadow:5px 5px 0 var(--ink)}
.stat.cta{background:var(--ink);color:#fff;cursor:pointer;place-items:center;font:800 19px var(--display);gap:6px}
.stat.cta:hover{background:#23232e}.stat.cta svg{width:30px;height:30px;color:var(--lime)}
.blk{margin-top:40px}.blk h2{margin-bottom:14px}.blk-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.upsell{margin-top:22px;background:var(--ink);color:#fff;border-radius:24px;padding:22px 20px;display:grid;gap:18px}
.app .upsell h2{font-size:26px;color:var(--lime)}.upsell p{color:#D5D5DE;margin-top:6px;font-size:16px}
.upsell ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-weight:700;font-size:16px}
.upsell li{padding-left:24px;position:relative}.upsell li::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:12px;border-radius:4px;background:var(--lime)}
.upsell .btn{background:var(--lime);color:var(--ink);border-color:var(--lime);box-shadow:none;width:100%}
.up-a small{display:block;color:#B9B9C6;font-size:13px;margin-top:8px;text-align:center}
.upsell.low{background:#fff;color:var(--ink);border:2.5px solid var(--tomato)}.app .upsell.low h2{color:#B4301F}.upsell.low p,.upsell.low small{color:var(--grey)}
.upsell.low li::before{background:var(--ink)}.upsell.low .btn{border-color:var(--ink)}
.ideas{display:grid;gap:10px}
.idea{display:flex;gap:12px;align-items:center;text-align:left;background:#fff;border:2.5px solid var(--ink);border-radius:18px;padding:10px 12px;font:500 16px/1.35 var(--body);color:var(--ink);cursor:pointer}
.idea:hover{background:var(--lime)}.idea img{border-radius:8px;border:2px solid var(--ink);flex:none;object-fit:cover}
.idea small{display:block;font-weight:700;font-size:12.5px;color:#3B3B45}
.srow{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
.scard{flex:none;width:132px;display:grid;gap:2px;scroll-snap-align:start}
.sv{aspect-ratio:9/16;border-radius:16px;overflow:hidden;border:2.5px solid var(--ink);background:var(--ink);cursor:pointer}
.sv video{width:100%;height:100%;object-fit:cover;display:block}
.scard b{font-size:15px;margin-top:6px}.scard .del{text-align:left;padding:2px 0}
.create-grid{display:grid;gap:24px}.preview{display:none}
.tips{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px;font-size:15px;color:var(--grey);max-width:300px}
.tips li{padding-left:22px;position:relative}.tips li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:3px;background:var(--lime);border:2px solid var(--ink)}
.empty{display:grid;justify-items:center;gap:12px}.empty p{margin:0}
.pcards{display:grid;gap:14px;margin-top:20px}
.pcard{background:#fff;border:2.5px solid var(--ink);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px}
.pcard.cur{background:var(--mist);box-shadow:5px 5px 0 var(--lime),5px 5px 0 2.5px var(--ink)}
.pcard h3{font:800 24px var(--display)}.pcard ul{list-style:none;padding:0;margin:6px 0 14px;display:grid;gap:6px;font-size:15.5px}
.pcard .btn,.pcard .cur-tag,.pcard a.del{margin-top:auto}.pcard a.del{text-align:left}
.cur-tag{align-self:flex-start;background:var(--lime);border:2.5px solid var(--ink);border-radius:99px;padding:6px 14px;font-weight:700;font-size:14px}
.app .rules{justify-content:flex-start;margin-top:22px}
.cost-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.acc-links{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:18px}
.app .quota{margin-top:4px}
@media (min-width:900px){
 .shell{display:grid;grid-template-columns:232px minmax(0,1fr);gap:44px;align-items:start}
 .side{display:grid;gap:18px;position:sticky;top:84px}
 .snav{display:grid;gap:4px}
 .snav button{display:flex;gap:12px;align-items:center;background:none;border:0;border-radius:14px;padding:11px 14px;font:700 16px var(--body);color:var(--ink);cursor:pointer;text-align:left}
 .snav button:hover{background:#E4E5DC}.snav button[aria-current]{background:var(--ink);color:#fff}
 .cbox{background:var(--ink);color:#fff;border-radius:20px;padding:16px;display:grid;gap:10px}
 .cbox .cb-n b{font-size:40px}.cbox .meter{border-color:#fff;background:transparent;margin:0}.cbox .meter i{border-color:#fff}
 .cbox small{color:#B9B9C6;font-size:13px;line-height:1.35}.cbox .btn{width:100%}
 .cbar,.tabs{display:none}body.studio footer{padding-bottom:0}
 .stats{grid-template-columns:repeat(4,1fr)}
 .upsell{grid-template-columns:1fr auto;align-items:center;padding:26px 28px}.upsell .btn{width:auto}
 .ideas{grid-template-columns:1fr 1fr}
 .create-grid{grid-template-columns:minmax(0,480px) 1fr;gap:44px;align-items:start}
 .preview{display:grid;gap:10px;position:sticky;top:84px;justify-items:start}.sv.big{width:230px;cursor:default}
 .pcards{grid-template-columns:repeat(3,1fr)}
 .scard{width:150px}
}

.create-grid .new>h2{display:none}
.create-grid .new .seg{margin-top:0}
