:root{--bg:#101116;--panel:#191a22;--line:#2a2b35;--text:#f3f1f8;--muted:#91909f;--accent:#b9a0fa;--purple:#9170ed;--green:#9cdbb6;--font:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}button,input,textarea,select{font:inherit}button,a,label.upload{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif}button{border:0}small,.caption{color:var(--muted)}[hidden]{display:none!important}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#14151b;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:2px;font-weight:700;margin:2px 8px 48px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:#9591a4}.brand-icon{width:40px;height:40px;border:1px solid #a491c7;border-radius:12px;display:grid;place-items:center;font-size:25px;color:var(--accent);position:relative;font-family:serif}.brand-icon span{font-size:15px;position:absolute;right:2px;top:0}.space-label{font-size:10px;letter-spacing:1.6px;color:#747282;margin:0 16px 14px}nav{display:grid;gap:8px}.nav{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:9px;background:transparent;color:#9c9aaa;text-align:left;font-size:13px}.nav span{font-size:20px;line-height:19px;width:22px}.nav:hover{background:#20212a;color:white}.nav.active{background:#292338;color:#c7b0ff}.nav b{margin-left:auto;font-size:10px;background:#34303f;padding:3px 6px;border-radius:5px}.sidebar-bottom{margin-top:auto}.server-card{border:1px solid var(--line);padding:14px 10px;border-radius:10px;display:flex;gap:9px;align-items:center;font-size:11px}.server-card small{display:block;font-size:10px;margin-top:5px}.server-card>span{margin-left:auto;color:#6c697c}.dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--green)}.dot.muted{background:#8b8798}.dot.offline{background:#e9ab83}.account{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;font-size:12px}.account small{display:block;margin-top:4px;font-size:11px}.avatar{background:#363041;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:11px;color:#ddc8ff}.account button{background:transparent;margin-left:auto;font-size:22px;color:var(--muted)}.main-shell{margin-left:240px}header{height:80px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{color:#777480;font-size:12px}.breadcrumb span{padding:0 14px;color:#514c5d}.breadcrumb b{font-weight:400;color:#c6c1cf}.top-actions{display:flex;align-items:center;gap:18px}.badge{border:1px solid #37333f;border-radius:20px;padding:7px 10px;font-size:10px;color:#b6aebf;display:inline-flex;align-items:center;gap:7px}.badge.small{font-size:9px;letter-spacing:1px;padding:5px 8px}main{max-width:1540px;margin:auto;padding:38px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.eyebrow{font-size:9px;letter-spacing:2px;color:#a392c3;margin-bottom:13px}h1{font-size:clamp(25px,2.35vw,36px);font-weight:700;letter-spacing:-1.2px;line-height:1.35}h1 span{color:var(--accent)}.heading p{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.7}.pill{font-size:9px;letter-spacing:1.2px;white-space:nowrap;border:1px solid #34303d;border-radius:6px;padding:9px 12px;color:#a49aaa}.hero-banner{height:260px;border:1px solid #3a304d;border-radius:16px;overflow:hidden;position:relative;display:flex;background:linear-gradient(110deg,#241f31,#211b31 40%,#3b2d52);margin-bottom:34px}.banner-copy{padding:32px;z-index:2}.banner-tag{font-size:8px;letter-spacing:1.6px;color:#b9a7d5}.banner-copy h2{font-size:29px;line-height:1.24;font-weight:500;letter-spacing:-.8px;margin:15px 0 10px}.banner-copy p{font-size:11px;line-height:1.7;color:#b4a9c3}.banner-link{display:inline-block;font-size:11px;color:#e7d9fe;margin-top:17px}.banner-link span{margin-left:24px}.art{position:absolute;inset:0 0 0 43%;overflow:hidden;background:radial-gradient(ellipse at 65% 100%,#b193ee65,transparent 60%)}.orb{position:absolute;width:170px;height:170px;background:radial-gradient(circle at 25% 20%,#e5dbff,#967ab6 25%,#2b2442 65%,#211d30);border-radius:50%;left:40%;top:17%;filter:blur(1px);box-shadow:0 0 60px #c5a5ef44}.orbit{width:600px;height:150px;position:absolute;left:-5%;top:29%;border:1px solid #d9bcff33;border-radius:50%;transform:rotate(-30deg)}.o2{transform:rotate(-30deg) scale(.85)}.frame{position:absolute;background:#242233aa;border:1px solid #d4b8fa77;border-radius:10px;box-shadow:10px 20px 40px #100c2255;overflow:hidden}.frame>span{position:absolute;bottom:8px;left:10px;font-size:7px;letter-spacing:1.4px;z-index:2}.f1{width:125px;height:162px;left:15%;top:44px;transform:rotate(-12deg);background:linear-gradient(#b1a0bc,#61546d)}.f2{width:177px;height:126px;left:53%;top:67px;transform:rotate(9deg);background:linear-gradient(#61516e,#cda69f 65%,#342740)}.silhouette{position:absolute;bottom:0;left:14%;width:76%;height:85%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 31%,#887380 0 18%,transparent 19%),radial-gradient(ellipse at 50% 103%,#2a233b 0 60%,transparent 61%)}.landscape{position:absolute;inset:30% -10% 0;background:linear-gradient(145deg,transparent 40%,#52445e 41% 57%,transparent 58%),linear-gradient(35deg,#3e304b 40%,transparent 41%);filter:drop-shadow(0 -1px 1px #cda6bb)}.floating-label{position:absolute;bottom:21px;left:35%;font-size:8px;letter-spacing:2px;color:#cdbbdf;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:24px;align-items:start}.editor,.preview-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-title h2{font-size:16px;letter-spacing:-.4px}.caption{font-size:10px}.mode-tabs{display:flex;background:#111218;border:1px solid #2a2734;padding:4px;border-radius:9px;gap:4px}.mode-tabs button{flex:1;padding:11px 6px;color:#8f899e;background:transparent;border-radius:6px;font-size:12px}.mode-tabs button.selected{background:#332a44;color:#dfceff}.help{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 19px}.uploads{display:flex;gap:14px;margin-bottom:23px}.upload{position:relative;width:50%;min-height:171px;border:1px dashed #474052;background:#1e1d28;border-radius:10px;display:grid;place-items:center;overflow:hidden;cursor:pointer}.upload:hover,.upload.dragging{border-color:var(--accent);background:#292435}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--accent)}.upload-content{text-align:center;padding:18px 8px}.upload-icon{font-size:22px;border:1px solid #514263;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;color:#c1a0fb;margin:0 auto 12px;background:#32283f}.upload strong{display:block;font-size:11px;font-weight:500;margin-bottom:6px}.upload small{font-size:9px;display:block;line-height:1.5}.upload u{text-decoration:none;color:#b49cd7}.upload-content>span:last-child{font-size:8px;color:#696477;display:block;margin-top:9px}.image-number{position:absolute;top:10px;left:12px;font-size:9px;font-weight:400;color:#7a6f8a}.upload img{width:100%;height:171px;object-fit:contain;background:#121117}.upload.has-image .upload-content{display:none}.upload.has-image:after{content:'Changer l’image';position:absolute;bottom:9px;padding:5px 10px;background:#16111dcc;border-radius:5px;font-size:10px}.field{margin-bottom:20px;min-width:0}.field label,.settings-card label,dialog label{font-size:11px;font-weight:500;display:block;margin-bottom:10px}.field label span{font-size:9px;font-weight:400;color:#74707e;margin-left:9px}textarea,input,select{width:100%;background:#111218;border:1px solid #33303e;color:#e6deed;border-radius:7px;padding:12px;resize:vertical;font-size:11px;line-height:1.6}textarea::placeholder{color:#716a7e;font-size:10px}select{height:41px;cursor:pointer}.suggestions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:9px}.suggestions>span{font-size:9px;color:#726b7e;margin-right:3px}.suggestions button{font-size:8px;padding:5px 7px;background:#26212f;border:1px solid #3d324e;border-radius:20px;color:#aa95c5}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;align-items:center}.quality{padding-left:9px}.quality small{font-size:8px;letter-spacing:1px;display:block;margin-bottom:7px}.quality strong{font-size:12px;display:block;font-weight:500}.quality span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.button{border-radius:7px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:500}.primary{background:#c2a6ff;color:#20172f;box-shadow:0 2px 10px #a875ff11}.primary:hover{background:#d0bcff}.subtle{border:1px solid #3b3549;background:#211e2a;color:#d6c9e7}.subtle:hover{background:#30283e}.generate{width:100%;font-size:12px;padding:15px}.generate span:first-child{font-size:18px;margin-right:6px}.generate span:last-child{margin-left:auto}.cost-note{font-size:9px;line-height:1.6;text-align:center;color:#787181;margin-top:11px}.preview-empty{aspect-ratio:1.33;min-height:230px;background:radial-gradient(ellipse,#2b22394d,transparent 65%),#111218;border:1px solid #272430;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.preview-symbol{font-size:27px;width:57px;height:57px;border-radius:50%;background:#221c2e;color:#8c71b4;border:1px solid #3c304f;display:grid;place-items:center;margin-bottom:17px}.preview-empty h3{font-size:12px;font-weight:500;margin-bottom:10px}.preview-empty p{font-size:10px;line-height:1.8;color:#766d83}.preview-empty>span{font-size:8px;letter-spacing:1px;color:#60566e;margin-top:25px}.tips{margin-top:23px;padding:17px 0;border-top:1px solid #2c2835;border-bottom:1px solid #2c2835;display:flex;gap:13px}.tips>span{font-size:24px;color:#a38bc4}.tips h3{font-size:11px;font-weight:500;margin-bottom:7px}.tips p{font-size:10px;color:#918599;line-height:1.8}.pipeline{padding:22px 8px 0;font-size:10px;color:#8f849d;display:grid;gap:8px}.pipeline div{display:flex;align-items:center;gap:13px}.pipeline i{font-style:normal;border:1px solid #42374f;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:9px;color:#af91d1}.pipeline>span{padding-left:8px;color:#54465f}.page{display:none}.page.active{display:block}footer{display:flex;justify-content:space-between;gap:15px;margin-top:40px;padding:22px 0 0;border-top:1px solid var(--line);font-size:9px;color:#666171}footer>span:first-child{letter-spacing:2px;font-size:8px}.notice{background:#2d2937;border:1px solid #504059;color:#d3bddf;padding:12px;border-radius:7px;line-height:1.6;font-size:11px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.notice.error{background:#35252b;border-color:#654048;color:#efb6c0}.job-status{margin:15px 0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.job-status small{display:block}.preview-result img,.preview-result video{width:100%;border-radius:8px;background:#08080a}.preview-result a{display:flex;margin-top:10px}.preview-result figure{margin:0 0 12px}.preview-result figcaption{font-size:10px;color:var(--muted);margin-top:6px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:25px;position:relative;min-width:0}.project-icon{width:48px;height:48px;display:grid;place-items:center;background:#30253e;color:#d1b3ff;border:1px solid #503766;border-radius:13px;font-size:23px;margin-bottom:27px}.project-icon.pink{background:#352532;color:#ecb3d5}.status-label{position:absolute;right:20px;top:25px;font-size:8px;padding:6px 8px;border-radius:5px;color:#aca2b8;background:#2c2735;letter-spacing:1px}.status-label.live{color:#a4d8b6;background:#23342c}.project-card h2{font-size:20px;margin-bottom:13px}.project-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:15px}.project-card small{font-size:10px;display:block;overflow-wrap:anywhere}.project-card .button{margin-top:25px}.project-note{font-size:11px;color:#9b8ca8;line-height:1.8;margin-top:23px;border-top:1px solid var(--line);padding-top:16px}.dashed{border-style:dashed;background:transparent}.info-box{border:1px solid var(--line);border-radius:12px;padding:25px;margin-top:25px;color:var(--muted)}.info-box h3{color:#c5b7d1;font-size:14px;margin-bottom:12px}.info-box p{font-size:12px;line-height:1.8}.settings-card{max-width:720px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:30px}.label{font-size:9px;color:var(--accent);letter-spacing:2px}.settings-card h2{font-size:22px;margin:18px 0 12px}.settings-card>p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:25px}.settings-card input{font-size:12px}.settings-actions{display:flex;gap:12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.empty-state{grid-column:1/-1;text-align:center;padding:70px 25px;border:1px dashed #393043;border-radius:14px;color:#998aa9;line-height:1.8}.empty-state h2{font-size:20px;color:#d1c3de;margin-bottom:15px}.gallery-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.gallery-card video,.gallery-card img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#09080c}.gallery-card .job-art{aspect-ratio:16/9;display:grid;place-items:center;background:radial-gradient(ellipse,#47305a,#1e1928);font-size:36px;color:#ad83d4}.gallery-card .card-body{padding:18px}.gallery-card h3{font-size:12px;font-weight:500;line-height:1.7;margin:8px 0}.gallery-card small{font-size:9px}.gallery-card .button{margin-top:12px;font-size:10px}.gallery-card .badge{font-size:9px}dialog{background:#1c1924;border:1px solid #4a3c5a;color:var(--text);border-radius:15px;max-width:420px;width:calc(100% - 32px);padding:32px}dialog::backdrop{background:#09070ccd;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:15px;top:10px;background:none;font-size:25px;color:#9d8eae}dialog h2{font-size:22px;margin:23px 0 14px}dialog p{font-size:12px;line-height:1.8;color:#aa9bb7;margin-bottom:22px}dialog .primary{margin-top:22px;width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 20px;border:1px solid #68517d;background:#31253e;border-radius:9px;z-index:20;max-width:90%;font-size:12px}.spinner{width:30px;height:30px;border:2px solid #4c3b60;border-top-color:#c5a1f2;border-radius:50%;animation:spin 1.4s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){main{padding:45px 55px}.hero-banner{height:290px}.banner-copy{padding:37px}.banner-copy h2{font-size:34px}.art{inset:0 0 0 42%}.frame.f1{width:145px;height:190px}.frame.f2{width:210px;height:150px}.upload{min-height:190px}.upload img{height:190px}}@media(max-width:1100px){.sidebar{width:200px;padding:28px 12px}.main-shell{margin-left:200px}main{padding:25px}.brand{font-size:16px;gap:9px}.brand-icon{width:33px;height:33px}.nav{font-size:11px;gap:7px}header{padding:0 25px}.workspace{gap:16px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.editor,.preview-panel{padding:18px}.pill{display:none}.project-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}.upload-content small{font-size:8px}.art{inset:0 0 0 46%}.frame.f1{left:7%;width:100px;height:145px}.frame.f2{left:50%;width:135px;height:110px}.controls{grid-template-columns:1fr 1fr}.quality{grid-column:1/-1;display:flex;gap:10px;align-items:center;padding:0 0 16px}.quality>*{margin:0!important}}@media(max-width:800px){.sidebar{position:relative;width:100%;height:auto;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 17px}.brand small{font-size:8px}.space-label,.sidebar-bottom{display:none}nav{display:flex;gap:5px;overflow-x:auto}.nav{white-space:nowrap;font-size:10px;padding:9px 11px}.nav span{font-size:16px;width:auto}.nav b{display:none}.main-shell{margin:0}header{height:59px;padding:0 20px}.breadcrumb{font-size:10px}.top-actions{gap:8px}.badge{font-size:9px}.top-actions .button{font-size:10px;padding:8px 10px}main{padding:25px 20px}.heading{margin-bottom:22px}h1{font-size:28px}.heading p{font-size:11px}.hero-banner{height:230px}.banner-copy{padding:26px}.banner-copy h2{font-size:27px}.banner-copy p{font-size:10px}.banner-tag{font-size:7px}.workspace{grid-template-columns:minmax(0,1fr)}.preview-empty{aspect-ratio:16/9}.preview-panel .pipeline{display:none}.art{opacity:.75;inset:0 0 0 50%}.frame.f1{left:15%;width:88px;height:130px}.frame.f2{left:60%;width:120px;height:100px}.orb{width:125px;height:125px}.floating-label{display:none}.controls{grid-template-columns:1fr 1fr 1fr}.quality{grid-column:auto;display:block;padding-left:10px}.quality>*{margin-top:5px!important}.upload{min-height:177px}.project-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}footer>span:last-child{display:none}}@media(max-width:440px){.breadcrumb{display:none}header{justify-content:flex-end}.heading{display:block}h1{font-size:25px}.hero-banner{height:225px}.banner-copy h2{font-size:25px}.banner-copy{padding:22px}.art{opacity:.5;inset:0 0 0 52%}.frame.f1{left:10%;top:57px}.frame.f2{display:none}.banner-copy p{max-width:210px}.banner-copy br{display:none}.banner-copy h2 br{display:block}.field label span{display:none}.mode-tabs button{font-size:10px}.controls{grid-template-columns:1fr 1fr}.quality{grid-column:1/-1;display:flex;padding:0 0 16px;gap:10px}.gallery-grid{grid-template-columns:1fr}.section-title .caption{font-size:9px}.uploads{gap:10px}.upload-content strong{font-size:10px}.upload-content small{font-size:8px}.upload-content>span:last-child{font-size:7px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

body{font-size:16px;font-family:system-ui,sans-serif}h1,h2,h3{font-family:system-ui,sans-serif}.heading{margin-bottom:26px}.nav,.mode-tabs button,.field label,.help,.heading p,.suggestions button,.button,select,input,textarea{font-size:14px}.eyebrow,.caption,.badge,.upload-content small,.upload-content strong,.cost-note{font-size:12px}.upload input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.upload:focus-within{outline:2px solid var(--accent)}.upload img{width:100%;height:180px;object-fit:contain}.preview-empty img{width:100%;max-height:350px;object-fit:contain}.preview-empty{overflow:hidden;min-height:290px}.draft-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.draft-card p{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;line-height:1.6}.draft-card button{margin:4px}.draft-card small{font-size:13px}.settings-card input{width:100%}details{margin-top:18px}summary{cursor:pointer;padding:12px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#eee7ff;color:#241b34;padding:15px 22px;border-radius:10px;z-index:20;max-width:90vw}#seed{width:100%}.mode-tabs{flex-wrap:wrap}.mode-tabs button{min-width:120px}.server-card .dot{background:#aaa}.upload-content>span:last-child{font-size:12px}.upload-content small{font-size:12px}.account button{display:none}footer{font-size:12px}.gallery-grid:empty::after{content:'Aucun brouillon pour le moment. Préparez votre première génération dans le studio.';color:var(--muted);line-height:1.7}.draft-card h3{font-size:16px}.preview-empty{padding:20px}@media(max-width:760px){main{padding:20px 14px}.editor,.preview-panel{padding:18px}.upload-content strong{font-size:13px}.upload-content small{font-size:12px}.upload-content>span:last-child{font-size:11px}.mode-tabs button{font-size:13px}.top-actions{gap:8px}.badge{font-size:12px}.uploads{flex-wrap:wrap}.upload{flex:1;min-width:130px}.breadcrumb{display:none}header{height:auto;min-height:65px;padding:10px 14px}.heading p{font-size:14px}.quality{font-size:14px}}