@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#f6f1ef;--muted:#a89fa6;--ruby:#be315c;--night:#0d090d;--line:rgba(255,255,255,.11);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif}
.badge.anime{background:#6746b8}
.brand{color:inherit;text-decoration:none}.topbar a.nav-item{display:flex;align-items:center;text-decoration:none}footer span:last-child{line-height:1.8;text-align:right}
*{box-sizing:border-box}html{background:var(--night);color:var(--ink);font-family:var(--sans);font-size:16px}body{margin:0;background:radial-gradient(circle at 80% 8%,rgba(126,24,56,.2),transparent 29%),linear-gradient(#0d090d,#110b10);min-height:100vh}button,input,textarea,select{font:inherit}button{color:inherit}.app-shell{max-width:1480px;margin:auto;padding:0 5vw}.topbar{height:88px;display:flex;align-items:center;gap:50px;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{border:0;background:none;display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.19em;cursor:pointer}.brand-mark{width:34px;height:34px;border:1px solid #c95275;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px;color:#e27a98}.topbar nav{display:flex;gap:30px;height:100%}.nav-item{background:none;border:0;color:var(--muted);cursor:pointer;padding:0 2px;position:relative}.nav-item.active{color:#fff}.nav-item.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#d44d75}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.ghost-button{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);padding:11px 18px;cursor:pointer}.avatar-button{border:0;background:#5d263a;width:38px;height:38px;border-radius:50%;cursor:pointer}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:7vw;align-items:end;padding:72px 0 48px}.eyebrow{font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;color:#d66687;margin:0 0 16px}.intro h1{font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);font-weight:600;line-height:.95;letter-spacing:-.04em;margin:0}.intro h1 em,.create-intro em{color:#d95980;font-weight:500}.intro-copy{color:var(--muted);font-size:1.05rem;line-height:1.7;max-width:500px;margin:0 0 8px}.catalog-tools{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:99px;cursor:pointer}.filter.active{background:#fff;color:#170d12}.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 2px;color:var(--muted)}.search input{border:0;outline:0;background:none;color:#fff;min-width:230px}.character-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:18px}.character-card{height:510px;position:relative;border-radius:4px;overflow:hidden;background:#24171f;isolation:isolate}.character-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.character-card:hover img{transform:scale(1.035)}.card-hit{position:absolute;inset:0;z-index:3;background:none;border:0;cursor:pointer}.card-gradient{position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(11,5,9,.93) 100%);z-index:1}.badge{position:absolute;top:20px;left:20px;z-index:4;background:#be315c;padding:7px 10px;border-radius:2px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.badge.new{background:#171117cc}.heart{position:absolute;z-index:4;right:18px;top:17px;background:#120c1099;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:38px;height:38px;font-size:1.35rem;cursor:pointer}.heart.saved{background:#a8234c;color:#fff}.card-copy{position:absolute;z-index:2;left:25px;right:25px;bottom:24px}.card-copy>p{color:#dc7897;font-size:.7rem;letter-spacing:.16em}.card-copy h2{font-family:var(--serif);font-size:2.5rem;margin:5px 0}.card-copy>span{color:#ddd2d7}.card-meta{display:flex;gap:12px;margin-top:18px;font-size:.76rem;color:#a89fa6}.card-meta b{color:#fff}.empty{border:1px solid var(--line);padding:50px;text-align:center;color:var(--muted)}.promise{margin:90px 0 70px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.promise>div{padding:36px 35px 20px;border-right:1px solid var(--line)}.promise>div:last-child{border:0}.promise-number{font-family:var(--serif);font-size:1.6rem;color:#a9254d}.promise h3{font-family:var(--serif);font-size:1.45rem;margin:26px 0 12px}.promise p{color:var(--muted);line-height:1.6;margin:0}footer{border-top:1px solid var(--line);padding:28px 0 38px;display:flex;justify-content:space-between;color:#776e74;font-size:.7rem;letter-spacing:.12em}
dialog{padding:0;border:1px solid var(--line);background:#130e13;color:#fff;box-shadow:0 35px 120px #000;border-radius:5px;max-width:1100px;width:calc(100% - 36px)}dialog::backdrop{background:rgba(5,2,4,.78);backdrop-filter:blur(10px)}.close{position:absolute;z-index:10;right:18px;top:16px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#110a0dcc;font-size:1.5rem;cursor:pointer}.character-dialog{grid-template-columns:1.05fr .95fr}.character-dialog[open],.chat-dialog[open]{display:grid}.dialog-visual{position:relative;min-height:680px}.dialog-visual img{width:100%;height:100%;position:absolute;object-fit:cover}.dialog-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0f090eaa,transparent 50%)}.visual-caption{position:absolute;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.14em}.visual-caption button,.chat-top button{border:1px solid rgba(255,255,255,.25);background:#0d090dbb;border-radius:99px;padding:10px 14px;cursor:pointer}.visual-caption b{background:#fff;color:#111;border-radius:50%;padding:2px 6px;margin-left:5px}.dialog-content{padding:80px 58px 42px}.dialog-content h2,.gallery-dialog h2{font-family:var(--serif);font-size:4.4rem;margin:0}.dialog-hook{font-family:var(--serif);font-style:italic;color:#dc7897;font-size:1.3rem;line-height:1.5}.traits{display:flex;gap:8px;margin:25px 0}.traits span{padding:7px 10px;border:1px solid var(--line);border-radius:99px;font-size:.75rem;color:#c3b9bf}.dialog-content>p:not(.eyebrow,.dialog-hook,.privacy-note){color:#b1a6ad;line-height:1.7}.creator{margin:28px 0;display:flex;align-items:center;gap:12px;padding:16px 0;border-block:1px solid var(--line)}.creator small,.creator strong{display:block}.creator small{color:#7e747a;font-size:.7rem}.mini-avatar{width:38px;height:38px;border-radius:50%;background:#572337;display:grid;place-items:center}.follow{margin-left:auto;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:99px;cursor:pointer}.primary{width:100%;background:linear-gradient(90deg,#a9234b,#d64772);border:0;padding:17px 20px;display:flex;justify-content:space-between;font-weight:600;cursor:pointer}.privacy-note,.simulation{text-align:center;color:#71676d;font-size:.7rem}.chat-dialog{grid-template-columns:330px 1fr;height:min(760px,90vh)}.chat-profile{position:relative;background:#0d090d;display:flex;flex-direction:column}.chat-profile>img{width:100%;height:330px;object-fit:cover;opacity:.8}.chat-profile>div{padding:24px}.chat-profile h2{font-family:var(--serif);font-size:2.5rem;margin:0 0 6px}.online{color:#bcaeb6;font-size:.78rem}.memory-card{margin:0 18px 18px;padding:16px!important;border:1px solid var(--line);margin-top:auto!important}.memory-card small{color:#d66687;text-transform:uppercase;letter-spacing:.1em}.memory-card p{font-family:var(--serif);font-style:italic;color:#b9adb4;line-height:1.45}.chat-main{display:flex;flex-direction:column;min-width:0}.chat-top{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 24px}.chat-top strong,.chat-top span{display:block}.chat-top span{font-size:.7rem;color:#756b71}.messages{padding:30px clamp(20px,6vw,80px);overflow:auto;flex:1;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 30% 20%,rgba(96,28,54,.13),transparent 25%)}.date{text-align:center;font-size:.65rem;color:#675d63;letter-spacing:.13em}.message{max-width:70%;padding:14px 17px;line-height:1.5;border-radius:3px}.message.them{align-self:flex-start;background:#241820;border:1px solid rgba(255,255,255,.05)}.message.me{align-self:flex-end;background:#89203f}.composer{margin:0 24px 8px;border:1px solid var(--line);display:flex;align-items:end;background:#1a1218}.composer textarea{flex:1;resize:none;border:0;background:none;color:#fff;outline:0;padding:15px 6px;max-height:120px}.composer button{border:0;background:none;padding:14px;cursor:pointer}.composer .send{background:#ab2b52;border-radius:50%;width:40px;height:40px;padding:0;margin:7px}.simulation{display:block;padding-bottom:12px}.create-dialog{max-width:920px;grid-template-columns:.85fr 1.15fr}.create-dialog[open]{display:grid}.create-intro{padding:70px 42px;background:radial-gradient(circle at 10% 90%,#6b1c38,transparent 46%),#0c080c}.create-intro h2{font-family:var(--serif);font-size:3.4rem;line-height:1.05;margin:0 0 25px}.create-intro>p:last-child{color:#9e939a;line-height:1.6}.create-form{padding:60px 50px;display:grid;gap:18px}.step-label{color:#d25479;font-size:.72rem;letter-spacing:.15em}.step-label span{margin-right:10px}.create-form label{display:grid;gap:8px;color:#bdb3b9;font-size:.8rem}.create-form input,.create-form select,.create-form textarea{background:#21171e;border:1px solid var(--line);padding:13px;color:#fff;outline:none}.age-check{display:flex;align-items:center;gap:12px;background:#21171e;padding:13px}.age-check>span{color:#df668b;font-weight:600}.age-check p{margin:0;flex:1;font-size:.78rem}.age-check small{color:#81777d}.gallery-dialog{padding:52px;max-width:950px}.gallery-dialog h2{font-size:2.8rem;margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:190px 190px;gap:10px}.gallery-grid>img{width:100%;height:100%;object-fit:cover;grid-row:1/3}.gallery-placeholder{background:linear-gradient(135deg,#2b1c26,#171017);display:flex;flex-direction:column;justify-content:end;padding:18px}.gallery-placeholder span{color:#d05277;font-family:var(--serif);font-size:1.4rem}.gallery-placeholder p{margin:5px 0;color:#b9adb4;font-size:.82rem}.gallery-note{color:#7f747b;font-size:.76rem}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#f6f1ef;color:#1a1015;padding:12px 18px;border-radius:3px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.app-shell{padding:0 18px}.topbar{height:72px;gap:12px}.topbar nav{display:none}.ghost-button{font-size:0}.ghost-button:after{content:"Créer";font-size:.8rem}.intro{grid-template-columns:1fr;padding:52px 0 35px}.intro-copy{margin-top:18px}.catalog-tools{align-items:stretch;flex-direction:column;gap:14px}.search input{width:100%}.character-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.character-card{min-width:82vw;height:470px;scroll-snap-align:start}.promise{grid-template-columns:1fr}.promise>div{border-right:0;border-bottom:1px solid var(--line)}footer{gap:20px}.character-dialog[open],.chat-dialog[open],.create-dialog[open]{display:block;max-height:94vh;overflow:auto}.dialog-visual{min-height:430px}.dialog-content{padding:38px 24px}.dialog-content h2{font-size:3.3rem}.chat-profile{display:none}.chat-dialog{height:90vh}.chat-main{height:100%}.chat-close{display:block}.message{max-width:86%}.create-intro{padding:50px 24px 30px}.create-intro h2{font-size:2.7rem}.create-form{padding:32px 24px}.gallery-dialog{padding:50px 20px 25px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 150px 150px}.gallery-grid>img{grid-column:1/3;grid-row:auto}.gallery-dialog h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.account-button,.sign-in-button{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:.82rem}.account-button span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#5d263a;font-weight:600}.sign-in-button{border-radius:999px;background:#b62f58;padding:11px 16px}.report-link{display:block;margin:14px auto 0;border:0;background:none;color:#9e939a;text-decoration:underline;cursor:pointer;font-size:.78rem}.chat-actions{display:flex;gap:8px}@media(max-width:850px){.account-button b{display:none}.sign-in-button{padding:9px 12px;font-size:.75rem}.chat-actions button{font-size:.72rem;padding:8px 10px}}
.create-dialog{max-width:1180px;max-height:92vh}.create-dialog[open]{grid-template-columns:360px 1fr}.create-intro{position:sticky;top:0;min-height:92vh}.create-form{max-height:92vh;overflow:auto;padding:46px;align-content:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.create-form label>span{color:#81777d;font-size:.72rem}.prompt-preview{margin-top:36px;border:1px solid var(--line);background:#140d13aa;padding:18px}.prompt-preview small{color:#d66687;text-transform:uppercase;letter-spacing:.12em}.prompt-preview p{margin:10px 0 0;color:#d9ced4;line-height:1.55}.confirmations{display:grid;gap:8px}.confirmations label{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px}.form-status{min-height:1.4em;color:#d98aa3}@media(max-width:850px){.create-dialog[open]{display:block}.create-intro{position:relative;min-height:0}.create-form{max-height:none;overflow:visible;padding:30px 22px}.form-grid{grid-template-columns:1fr}.prompt-preview{margin-top:24px}}
