/* ═════════ Shivy — système de design v6 ═════════
   Inter (interface) + Instrument Serif (accents éditoriaux), thème sombre chaud, photo d'abord. */
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/inter.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-i.woff2) format('woff2')}
:root{
  --bg:#0a090c; --s1:#121014; --s2:#1a171d; --s3:#241f27; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
  --tx:#f7f4f2; --mut:#a79fa5; --faint:#6e676d;
  --rose:#E3CA92; --coral:#ff7a4d; --grad:linear-gradient(135deg,#E3CA92 0%,#ff6a52 100%); --gold:#f3c56e; --ok:#3ddc97; --bad:#ff6b81;
  --ui:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --ease:cubic-bezier(.22,.9,.24,1); --spring:cubic-bezier(.34,1.5,.64,1);
  --sb:env(safe-area-inset-bottom,0px); --st:env(safe-area-inset-top,0px); --side:272px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--tx);font:400 16px/1.5 var(--ui);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:'cv11','ss01'}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}
input,textarea,select{font:inherit;color:var(--tx)}
a{color:#E3CA92}
img{display:block;max-width:100%;-webkit-user-drag:none;user-select:none}
::selection{background:var(--rose);color:#fff}
.hide{display:none!important}
#app{position:fixed;inset:0;margin:0 auto;max-width:560px;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}
@media(min-width:760px){#app:not(.shell){max-width:640px}}
.boot{flex:1;display:grid;place-items:center}
.logo-pulse{animation:pulse 1.2s var(--ease) infinite}
@keyframes pulse{50%{transform:scale(1.1)}}

/* ── typographie ── */
.h1{font:800 clamp(38px,9.5vw,64px)/1 var(--ui);letter-spacing:-.045em;margin:0}
.h1 em,.h2 em,.big em{font:italic 400 1.08em/1 var(--serif);letter-spacing:-.01em;color:#E3CA92}
.h2{font:800 28px/1.1 var(--ui);letter-spacing:-.035em;margin:6px 0 10px}
.h3{font:700 19px/1.2 var(--ui);letter-spacing:-.02em;margin:0 0 8px}
.hint{color:var(--mut);font-size:14px}
.cap{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.wm{display:inline-flex;align-items:center;gap:9px;font:800 28px/1 var(--ui);letter-spacing:-.06em;color:var(--tx)}
.wm img{width:26px;height:26px}
.wm i{font-style:normal;position:relative;display:inline-block}
.wm i::after{content:"";position:absolute;left:50%;top:.08em;width:.2em;height:.2em;margin-left:-.1em;border-radius:50%;background:var(--rose)}

/* ── structure ── */
.topbar{display:flex;align-items:center;gap:8px;padding:calc(10px + var(--st)) 16px 10px;min-height:58px}
.sp{flex:1}
.main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;isolation:isolate;animation:enter .4s var(--ease)}
@keyframes enter{from{opacity:0;transform:translateY(8px)}}
.main::before{content:"";position:absolute;inset:-12%;z-index:-2;background:var(--bgimg,none) center/cover;filter:blur(64px) saturate(1.5) brightness(.5);transform:scale(1.15);transition:opacity .8s;opacity:.95;pointer-events:none}
.main::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,9,12,.25) 0%,rgba(10,9,12,.82) 100%);pointer-events:none}
.scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:6px 18px 30px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.tabbar{display:flex;background:rgba(14,12,16,.92);backdrop-filter:blur(22px) saturate(1.4);border-top:1px solid var(--line);padding:6px 6px calc(6px + var(--sb))}
.sidebrand,.side-foot{display:none}
.tab{flex:1;display:grid;justify-items:center;gap:3px;padding:8px 0 4px;color:var(--faint);font-size:10.5px;font-weight:600;position:relative;text-decoration:none;transition:color .2s}
.tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--spring)}
.tab:active svg{transform:scale(.86)}
.tab.on{color:var(--tx)}
.tab.on svg{stroke:var(--rose);fill:rgba(227,202,146,.18)}
.tab.on::after{content:"";position:absolute;bottom:-2px;width:4px;height:4px;border-radius:50%;background:var(--rose)}
.badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--grad);font-size:10px;font-weight:800;display:grid;place-items:center;color:#fff;animation:pop .4s var(--spring)}

/* ── boutons ── */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:16px;background:var(--grad);font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff;transition:transform .15s var(--ease),box-shadow .25s,filter .2s;box-shadow:0 10px 28px -10px rgba(227,202,146,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.btn:active{transform:scale(.975)}
.btn[disabled]{opacity:.4;pointer-events:none}
.btn.ghost{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line2);backdrop-filter:blur(12px)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.gold{background:linear-gradient(135deg,#f6d27f,#e6a94d);color:#2a1a02;box-shadow:0 10px 28px -10px rgba(243,197,110,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.btn.danger{background:rgba(255,107,129,.12);color:var(--bad);box-shadow:inset 0 0 0 1px rgba(255,107,129,.4)}
.btn.sm{height:38px;padding:0 16px;font-size:14px;border-radius:12px;box-shadow:none}
.btn.block{display:flex;width:100%}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:rip .6s linear;pointer-events:none}
@keyframes rip{to{transform:scale(4);opacity:0}}
.iconbtn{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-size:18px;font-weight:700;transition:transform .15s,background .2s;flex:none}
.iconbtn:hover{background:rgba(255,255,255,.12)}
.iconbtn:active{transform:scale(.92)}
.iconbtn svg{width:19px;height:19px;stroke:var(--tx)}

/* ── champs ── */
.field{display:grid;gap:7px;margin-bottom:16px}
.field>label{font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.02em}
.input{width:100%;height:54px;padding:0 16px;border:0;border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);outline:0;transition:box-shadow .2s}
textarea.input{height:auto;padding:14px 16px;min-height:104px;resize:none}
.input:focus{box-shadow:inset 0 0 0 1.5px var(--rose),0 0 0 4px rgba(227,202,146,.16)}
.input::placeholder{color:var(--faint)}
select.input{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 22px) 24px,calc(100% - 16px) 24px;background-size:6px 6px;background-repeat:no-repeat}
input[type=date]{color-scheme:dark}
.err{color:var(--bad);font-size:14px;min-height:20px;margin:4px 0;font-weight:600}
.row{display:flex;gap:10px;align-items:center}
.row>*{flex:1}
.seg2{display:flex;gap:8px;flex-wrap:wrap}
.chip{height:38px;padding:0 15px;border-radius:99px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:600;color:var(--mut);transition:all .2s var(--ease)}
.chip:hover{color:var(--tx);background:rgba(255,255,255,.1)}
.chip.on{background:var(--tx);color:#111;box-shadow:none}
.chip.static{height:30px;padding:0 12px;font-size:13px;cursor:default;display:inline-flex;align-items:center}
.chip.static.on{background:rgba(227,202,146,.16);color:#ff9bb1;box-shadow:inset 0 0 0 1px rgba(227,202,146,.4)}
/* pastilles d'information (une seule hauteur, partout) */
.sticker{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:rgba(20,18,22,.6);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);font:600 12.5px/1 var(--ui);color:var(--tx);white-space:nowrap;flex:none}
button.sticker{cursor:pointer;transition:background .2s,transform .15s}
button.sticker:hover{background:rgba(40,36,44,.8)}
button.sticker:active{transform:scale(.95)}
.sticker.rose{background:var(--grad);color:#fff;box-shadow:none}
.sticker.gold{background:linear-gradient(135deg,#f6d27f,#e6a94d);color:#2a1a02;box-shadow:none}
.sticker.mint{background:rgba(61,220,151,.16);color:var(--ok);box-shadow:inset 0 0 0 1px rgba(61,220,151,.4)}
.sticker.goal{gap:7px;padding-left:8px}
.sticker svg{display:block}
.box{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);border-radius:20px;padding:16px 18px;margin:12px 0}
.box h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint)}
.stack{display:grid;gap:12px}
.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);display:inline-block;box-shadow:0 0 0 3px rgba(61,220,151,.2)}
.steps{display:flex;gap:6px;padding:6px 18px 0}
.steps i{flex:1;height:3px;border-radius:2px;background:var(--line2);overflow:hidden;position:relative}
.steps i.on::after{content:"";position:absolute;inset:0;background:var(--grad);animation:grow .5s var(--ease);transform-origin:left}
@keyframes grow{from{transform:scaleX(0)}}
.rise>*{opacity:0;animation:rise .6s var(--ease) forwards;animation-delay:calc(var(--i,0)*70ms)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ── accueil ── */
.hero{flex:1;display:flex;flex-direction:column;padding:calc(20px + var(--st)) 24px calc(18px + var(--sb));justify-content:space-between;gap:14px;overflow:hidden;position:relative}
.hero .top{display:flex;align-items:center}
.hero .mid{display:grid;gap:16px;align-content:center;flex:1;min-height:0}
.hero .lead{margin:0;font-size:clamp(15px,4.2vw,18px);color:var(--mut);max-width:34ch}
.hero .cta{display:grid;gap:10px}
.tagline{position:relative;height:24px;overflow:hidden;font-weight:600;font-size:14.5px}
.tagline span{position:absolute;left:0;top:0;opacity:0;transform:translateY(100%);animation:tag 9s infinite}
.tagline span:nth-child(2){animation-delay:3s}.tagline span:nth-child(3){animation-delay:6s}
.tagline svg{display:inline-block;width:17px;height:17px;vertical-align:-3px;margin-right:8px;stroke:var(--rose);fill:none;stroke-width:1.9}
@keyframes tag{0%{opacity:0;transform:translateY(100%)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-100%)}}
.gbtn{display:flex;justify-content:center;min-height:44px}
.orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:drift 14s ease-in-out infinite alternate}
.orb:nth-child(1){width:300px;height:300px;background:#E3CA92;top:-80px;right:-100px}
.orb:nth-child(2){width:240px;height:240px;background:#e6a94d;opacity:.22;bottom:60px;left:-100px;animation-delay:-5s}
.orb:nth-child(3){width:200px;height:200px;background:#7a4bff;opacity:.18;top:40%;right:-70px;animation-delay:-9s}
@keyframes drift{to{transform:translate(-40px,60px) scale(1.18)}}
.hero>*:not(.orbs):not(.fcards){position:relative;z-index:1}
.fcards{position:absolute;right:-20px;top:70px;width:150px;height:210px;z-index:0;pointer-events:none}
.fcards i{position:absolute;inset:0;border-radius:22px;box-shadow:inset 0 0 0 1px var(--line2),0 28px 44px -18px rgba(0,0,0,.8)}
.fcards i:nth-child(1){background:linear-gradient(160deg,#3a2f36,#17131a);transform:rotate(-12deg) translate(-26px,16px);animation:fc 7s ease-in-out infinite alternate}
.fcards i:nth-child(2){background:linear-gradient(160deg,#5a2c40,#1d161b);transform:rotate(-2deg);animation:fc 7s -2s ease-in-out infinite alternate}
.fcards i:nth-child(3){background:var(--grad);transform:rotate(9deg) translate(26px,-8px);animation:fc 7s -4s ease-in-out infinite alternate}
@keyframes fc{to{translate:0 -14px}}
@media(min-width:760px){.hero{max-width:560px;margin:0 auto;width:100%;justify-content:center;gap:34px}.hero .mid{flex:none}}
@media(max-height:700px){.hero .lead{display:none}.hero .h1{font-size:clamp(30px,9vw,44px)}.fcards{display:none}}
@media(max-height:560px){.tagline{display:none}.hero{padding-top:12px}.hero .btn{height:46px}}

/* ── feed ── */
.stage{flex:1;position:relative;min-height:0;overflow:hidden}
.pcard{position:relative;background:var(--s1);overflow:hidden;touch-action:pan-y;will-change:transform;user-select:none}
.stage .pcard{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;border-radius:0 0 32px 32px;box-shadow:0 30px 60px -30px #000;scrollbar-width:none;overscroll-behavior:contain;transition:transform .5s var(--spring),filter .4s}
.stage .pcard::-webkit-scrollbar{display:none}
.stage .pcard.next{transform:scale(.93) translateY(16px);filter:brightness(.55);pointer-events:none;border-radius:32px}
.vitrine{position:relative;height:100%;min-height:380px;background:var(--s2);overflow:hidden;border-radius:0 0 32px 32px}
.vitrine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;translate:0 var(--py,0px);scale:1.05;animation:kb 14s ease-out forwards}
@keyframes kb{from{scale:1.12}to{scale:1.02}}
.vitrine::after{content:"";position:absolute;inset:auto 0 0;height:60%;background:linear-gradient(transparent,rgba(10,9,12,.5) 40%,rgba(10,9,12,.94));pointer-events:none}
.vitrine .bars{position:absolute;top:12px;left:14px;right:14px;display:flex;gap:4px;z-index:3}
.vitrine .bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);transition:background .25s}
.vitrine .bars i.on{background:#fff}
.vitrine .top{position:absolute;top:24px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:6px;z-index:3}
.vitrine .ov{position:absolute;left:20px;right:20px;bottom:104px;z-index:3}
.pname{font:800 clamp(34px,8.5vw,46px)/1 var(--ui);letter-spacing:-.045em;display:flex;align-items:baseline;gap:10px;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.pname small{font:400 clamp(30px,7.5vw,40px)/1 var(--serif);letter-spacing:0;color:rgba(255,255,255,.8)}
.meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:rgba(255,255,255,.85);font-size:14px;font-weight:500;margin-top:10px}
.meta span+span::before{content:"·";margin-right:12px;opacity:.5}
.pbody{padding:8px 0 150px}
.quote{margin:16px 20px;padding:20px 22px;border-radius:24px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.quote q{display:block;font:italic 400 30px/1.12 var(--serif);letter-spacing:-.01em;quotes:none}
.quote .qq{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:10px;color:#ff9bb1}
.common{margin:12px 20px;font-size:14px;color:var(--mut)}
.common b{color:var(--tx);font-weight:600}
.sec{padding:6px 20px 8px}
.locked{display:flex;gap:8px;margin:12px 20px 16px;align-items:center;padding:12px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.locked .lp{width:46px;height:58px;border-radius:10px;overflow:hidden;position:relative;background:var(--s3)}
.locked .lp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(6px);transform:scale(1.5)}
.locked .lt{font-size:13px;color:var(--mut);line-height:1.35;flex:1}
.locked .lt b{color:var(--tx)}
.stampk{position:absolute;top:90px;z-index:6;padding:6px 14px;border:3px solid;border-radius:12px;font:800 26px var(--ui);letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none}
.stampk.like{left:20px;color:var(--ok);border-color:var(--ok);transform:rotate(-12deg)}
.stampk.nope{right:20px;color:#b6adb3;border-color:#b6adb3;transform:rotate(12deg)}
.pcard.gold-card{box-shadow:inset 0 0 0 2px var(--gold),0 0 70px -14px rgba(243,197,110,.6)}
.pcard.gold-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(243,197,110,.25) 50%,transparent 60%);background-size:250% 100%;animation:sh 3.5s linear infinite;z-index:4}
@keyframes sh{to{background-position:-200% 0}}
.stage .pcard.adc{display:grid;place-items:center;padding:24px;border-radius:32px}
.adbox{width:100%;max-width:420px;display:grid;gap:10px}
.adbox .lab{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.adbox h3{font:800 32px/1.05 var(--ui);letter-spacing:-.04em;margin:0}
.adbox .brand2{color:var(--mut);font-weight:600}
.decide{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 12px calc(18px + var(--sb) * 0);z-index:5;pointer-events:none}
.decide>*{pointer-events:auto}
.dockpill{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:99px;background:rgba(16,14,18,.62);backdrop-filter:blur(24px) saturate(1.5);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 24px 50px -16px #000}
.rbtn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:transform .2s var(--spring),background .2s;position:relative;flex:none}
.rbtn:hover{transform:scale(1.08);background:rgba(255,255,255,.14)}
.rbtn:active{transform:scale(.9)}
.rbtn svg{width:26px;height:26px}
.rbtn.mini{width:44px;height:44px}.rbtn.mini svg{width:20px;height:20px}
.rbtn.pass svg{stroke:#d7d0d4}
.rbtn.sup{box-shadow:inset 0 0 0 1px rgba(243,197,110,.55)}
.rbtn.like{width:72px;height:72px;background:var(--grad);box-shadow:0 14px 36px -10px rgba(227,202,146,.9),inset 0 1px 0 rgba(255,255,255,.3)}
.rbtn.like svg{width:32px;height:32px}
.rbtn.like::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--rose);opacity:0;animation:ping 3.2s 1.4s infinite}
@keyframes ping{0%{transform:scale(.9);opacity:.9}70%,100%{transform:scale(1.35);opacity:0}}
.rbtn .n{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--gold);color:#2a1a02;font-size:11px;font-weight:800;display:grid;place-items:center}
.decide button:disabled{opacity:.35;pointer-events:none}
.combo{position:absolute;right:16px;top:calc(var(--st) + 8px);z-index:6;padding:6px 14px;border-radius:99px;background:var(--grad);color:#fff;font:800 22px var(--ui);letter-spacing:-.03em;box-shadow:0 10px 30px -8px rgba(227,202,146,.8);pointer-events:none}
.combo.pop{animation:cpop .45s var(--spring)}
@keyframes cpop{from{transform:scale(.4) rotate(-12deg)}}
.burst{position:fixed;width:12px;height:12px;pointer-events:none;z-index:150;background:var(--rose);clip-path:polygon(50% 100%,0 35%,10% 8%,30% 0,50% 18%,70% 0,90% 8%,100% 35%);animation:burst .9s var(--ease) forwards}
@keyframes burst{to{transform:translate(var(--dx),var(--dy)) scale(.3) rotate(var(--rot));opacity:0}}
.promo{margin:0 14px 10px;padding:0 14px;height:40px;border-radius:14px;background:linear-gradient(100deg,rgba(227,202,146,.2),rgba(243,197,110,.18));box-shadow:inset 0 0 0 1px rgba(243,197,110,.4);display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;flex:none}
.promo b{color:var(--gold)}
.promo.mine{background:linear-gradient(100deg,rgba(61,220,151,.18),rgba(243,197,110,.14));box-shadow:inset 0 0 0 1px rgba(61,220,151,.4)}
.install{display:flex;align-items:center;gap:12px;margin:0 14px 10px;padding:10px 12px;border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;flex:none}
.install b{display:block}

/* ── duel ── */
.duelhud{display:flex;align-items:center;gap:14px;padding:0 18px 12px}
.timer{font:800 38px/1 var(--ui);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.duel{flex:1;min-height:0;display:grid;grid-template-rows:1fr 1fr;gap:12px;padding:0 12px 14px}
.duelc{position:relative;border-radius:28px;overflow:hidden;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line),0 24px 50px -24px #000;text-align:left;transition:transform .45s var(--spring),opacity .35s,filter .35s}
.duelc:hover{transform:scale(1.012)}
.duelc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duelc::after{content:"";position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(transparent,rgba(10,9,12,.92));pointer-events:none}
.duelc .dv{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:grid;gap:8px}
.duelc.won{transform:scale(1.03);box-shadow:inset 0 0 0 3px var(--rose),0 0 60px -6px rgba(227,202,146,.7)}
.duelc.lost{opacity:.25;filter:grayscale(1);transform:scale(.95)}
.duelc.skel{min-height:120px}

/* ── feuilles, modales ── */
.veil{position:absolute;inset:0;background:rgba(5,4,6,.7);backdrop-filter:blur(8px);z-index:50;display:flex;align-items:flex-end;animation:fade .2s}
.veil.mid{align-items:center;justify-content:center}
@keyframes fade{from{opacity:0}}
.sheet{width:100%;max-height:92%;overflow-y:auto;background:var(--s1);border-radius:30px 30px 0 0;box-shadow:inset 0 1px 0 var(--line2);padding:10px 20px calc(24px + var(--sb));animation:up .4s var(--ease)}
@keyframes up{from{transform:translateY(60px);opacity:0}}
.grab{width:40px;height:4px;border-radius:2px;background:var(--line2);margin:2px auto 16px}
.modal{width:calc(100% - 36px);max-width:410px;background:var(--s1);border-radius:30px;padding:30px 22px;text-align:center;box-shadow:inset 0 0 0 1px var(--line2),0 40px 80px -20px #000;animation:pop .5s var(--spring)}
@keyframes pop{from{transform:scale(.88);opacity:0}}
.modal h2{margin:8px 0 8px;font:800 30px/1.1 var(--ui);letter-spacing:-.04em}
.modal h2 em{font:italic 400 1.1em var(--serif);color:#E3CA92}
.modal p{color:var(--mut);margin:0 0 20px}
.faces{display:flex;justify-content:center;margin:6px 0 14px;position:relative}
.faces img{width:112px;height:142px;object-fit:cover;border-radius:20px;margin:0 -12px;box-shadow:0 20px 40px -12px #000,0 0 0 3px var(--s1);background:var(--s3)}
.faces img:first-child{animation:fl .8s var(--spring) both;transform:rotate(-7deg)}
.faces img:last-child{animation:fr .8s var(--spring) both;transform:rotate(7deg)}
@keyframes fl{from{transform:translateX(-90px) rotate(-30deg);opacity:0}}
@keyframes fr{from{transform:translateX(90px) rotate(30deg);opacity:0}}
.faces::after{content:"";position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px;border-radius:50%;border:2px solid var(--rose);animation:ripple 1.4s .5s var(--ease) infinite}
@keyframes ripple{from{transform:scale(.5);opacity:.9}to{transform:scale(3.4);opacity:0}}
.bigico{display:block;width:56px;height:56px;margin:0 auto 6px}
.bigico svg{width:100%;height:100%;stroke:var(--rose)}
.toast{position:absolute;left:50%;bottom:calc(96px + var(--sb));transform:translateX(-50%);background:#fff;color:#111;font-weight:600;padding:12px 18px;border-radius:14px;z-index:90;animation:toast .35s var(--spring);max-width:90%;text-align:center;font-size:14.5px;box-shadow:0 14px 34px -10px #000}
@keyframes toast{from{transform:translate(-50%,20px);opacity:0}}
canvas.confetti{position:absolute;inset:0;pointer-events:none;z-index:80;width:100%;height:100%}

/* ── likes ── */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lkc{position:relative;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:var(--s1);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--spring)}
.lkc:hover{transform:translateY(-3px)}
.lkc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lkc img.blur{filter:blur(8px);transform:scale(1.4)}
.lkc .t{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 10px;background:linear-gradient(transparent,rgba(10,9,12,.92));font:700 18px var(--ui);letter-spacing:-.02em}
.lkc .st{position:absolute;top:10px;right:10px}
.lock{position:absolute;inset:0;display:grid;place-items:center}
.lock svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:1.6}
.sticky-cta{position:sticky;bottom:0;padding:16px 0 6px;background:linear-gradient(transparent,var(--bg) 40%)}
.empty{flex:1;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px;gap:14px;color:var(--mut);max-width:440px;margin:0 auto}
.empty h3{font:800 28px/1.1 var(--ui);color:var(--tx);margin:0;letter-spacing:-.04em}
.empty h3 em{font:italic 400 1.1em var(--serif);color:#E3CA92}
.empty>svg,.empty>span svg{width:60px;height:60px;stroke:var(--faint);fill:none;stroke-width:1.4}

/* ── discussions ── */
.rail{display:flex;gap:14px;overflow-x:auto;padding:6px 18px 18px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.nm1{flex:0 0 76px;text-align:center;font-size:13px;font-weight:600;cursor:pointer}
.nm1 .av{width:76px;height:96px;margin-bottom:10px;position:relative;border-radius:20px;background:var(--s1);box-shadow:0 0 0 2px var(--rose),0 0 0 5px var(--bg);transition:transform .3s var(--spring)}
.nm1:hover .av{transform:scale(1.05)}
.nm1 .av img{width:100%;height:100%;border-radius:20px;object-fit:cover}
.nm1 .cd{position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);padding:2px 8px;border-radius:99px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line2);font-size:10px;font-weight:700;white-space:nowrap;color:var(--gold)}
.nm1 .cd.urgent{color:#E3CA92}
.sechead{padding:0 18px;font-size:11px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.12em;margin:10px 0}
.conv{display:flex;gap:14px;align-items:center;padding:12px 18px;cursor:pointer;transition:background .2s}
.conv:hover,.conv.act{background:rgba(255,255,255,.05)}
.conv .av{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:none;background:var(--s3)}
.conv .tx{flex:1;min-width:0}
.conv .t1{font:700 17px var(--ui);display:flex;gap:8px;align-items:center;letter-spacing:-.02em}
.conv .t2{color:var(--mut);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv.unread .t2{color:var(--tx);font-weight:600}
.conv .hint{white-space:nowrap;font-size:12px}
.conv .ub{min-width:22px;height:22px;border-radius:11px;background:var(--grad);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 6px}
.heat{height:4px;border-radius:2px;background:var(--line2);overflow:hidden;flex:1}
.heat i{display:block;height:100%;background:var(--grad);border-radius:2px;transition:width 1s var(--ease)}
.chatroot{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg)}
.chathead{display:flex;align-items:center;gap:12px;padding:calc(10px + var(--st)) 14px 10px;border-bottom:1px solid var(--line);background:rgba(10,9,12,.9);backdrop-filter:blur(16px)}
.chathead img.av{width:44px;height:44px;border-radius:50%;object-fit:cover}
.chathead .w{flex:1;min-width:0;cursor:pointer}
.chathead .w b{display:block;font:700 17px var(--ui);letter-spacing:-.02em}
.chathead .w small{color:var(--mut)}
.warm{display:flex;align-items:center;gap:12px;padding:9px 16px;border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--mut);background:var(--s1)}
.warm.open{color:var(--ok);background:rgba(61,220,151,.07)}
.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.bub{max-width:78%;padding:10px 15px;border-radius:20px;background:var(--s3);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px;animation:bub .35s var(--spring)}
@keyframes bub{from{transform:translateY(10px) scale(.92);opacity:0}}
.bub.me{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:6px}
.bub:not(.me){align-self:flex-start;border-bottom-left-radius:6px}
.seen{align-self:flex-end;font-size:11px;color:var(--faint);margin:-2px 4px 0}
.composer{display:flex;gap:10px;padding:10px 14px calc(12px + var(--sb));border-top:1px solid var(--line);align-items:flex-end;background:var(--bg)}
.composer textarea{flex:1;min-height:48px;max-height:120px;padding:13px 16px;border:0;border-radius:24px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);outline:0;resize:none}
.composer textarea:focus{box-shadow:inset 0 0 0 1.5px var(--rose)}
.send{width:48px;height:48px;border-radius:50%;background:var(--grad);display:grid;place-items:center;flex:none;transition:transform .2s var(--spring)}
.send:hover{transform:scale(1.08) rotate(-8deg)}
.send:active{transform:scale(.9)}
.send svg{width:21px;height:21px;fill:#fff;stroke:none}
.ice{display:flex;gap:8px;overflow-x:auto;padding:0 14px 10px;scrollbar-width:none}
.ice button{flex:none;height:36px;padding:0 14px;border-radius:99px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);font-size:13px;font-weight:600;white-space:nowrap;transition:background .2s}
.ice button:hover{background:var(--s3)}
.expbar{margin:10px 14px 0;padding:10px 14px;border-radius:16px;background:rgba(243,197,110,.1);box-shadow:inset 0 0 0 1px rgba(243,197,110,.3);color:var(--gold);font-size:14px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}
.typing-hint{text-align:center;color:var(--mut);font-size:14px;padding:30px 20px}

/* ── profil ── */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.slot{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;color:var(--faint);font-size:30px;font-weight:300;cursor:pointer;transition:background .2s}
.slot:hover{background:var(--s2)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot .x,.slot .mv{position:absolute;width:28px;height:28px;border-radius:50%;background:rgba(10,9,12,.7);backdrop-filter:blur(6px);font-size:12px;font-weight:700;display:grid;place-items:center;z-index:2}
.slot .x{top:6px;right:6px}.slot .mv{bottom:6px;left:6px}
.slot .main1{position:absolute;bottom:6px;right:6px;z-index:2;height:24px;font-size:10.5px;padding:0 9px}
.me-head{display:flex;gap:16px;align-items:center;padding:6px 0 18px}
.me-head img{width:84px;height:104px;object-fit:cover;border-radius:22px;box-shadow:0 14px 30px -10px #000}
.me-head h2{margin:0;font:800 30px/1 var(--ui);letter-spacing:-.045em}
.plancard{border-radius:24px;padding:20px;background:linear-gradient(135deg,rgba(227,202,146,.22),rgba(255,106,82,.08));box-shadow:inset 0 0 0 1px rgba(227,202,146,.4);margin:6px 0 14px}
.plancard.gold{background:linear-gradient(135deg,rgba(243,197,110,.24),rgba(230,169,77,.06));box-shadow:inset 0 0 0 1px rgba(243,197,110,.5)}
.plancard.free{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.plancard h3{margin:0 0 4px;font:800 22px var(--ui);letter-spacing:-.03em}
.plancard p{margin:0 0 14px;font-size:14px;color:var(--mut)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.stat{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);border-radius:18px;padding:14px 6px;text-align:center}
.stat b{display:block;font:800 28px/1 var(--ui);letter-spacing:-.05em}
.stat span{font-size:12px;color:var(--mut);font-weight:500}
.menu{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);border-radius:22px;overflow:hidden;margin-bottom:14px}
.menu>*{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:54px;padding:12px 18px;border-bottom:1px solid var(--line);text-align:left;font-weight:500;transition:background .2s}
.menu>button:hover{background:var(--s2)}
.menu>*:last-child{border:0}
.menu .hint{font-size:12.5px}
.switch{width:50px;height:30px;border-radius:15px;background:var(--line2);position:relative;flex:none;transition:background .25s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .35s var(--spring)}
.switch.on{background:var(--grad)}
.switch.on::after{transform:translateX(20px)}
.range{width:100%;accent-color:var(--rose)}
.insight{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.zero{background:linear-gradient(135deg,var(--s2),var(--s1));box-shadow:inset 0 0 0 1px var(--line2);border-radius:24px;padding:22px;margin:14px 0}
.zero h3{font:800 26px/1.1 var(--ui);margin:0 0 8px;letter-spacing:-.04em}
.zero h3 em{font:italic 400 1.1em var(--serif);color:#E3CA92}
.zero ul{margin:10px 0 16px;padding-left:18px;font-size:14px;line-height:1.7;color:var(--mut)}
.subinfo{margin-top:6px;font-size:13.5px;color:var(--mut)}

/* ── boutique ── */
.offer{border-radius:26px;padding:22px;margin-bottom:16px;position:relative;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.offer.best{background:linear-gradient(160deg,rgba(243,197,110,.2),var(--s1) 55%);box-shadow:inset 0 0 0 1px rgba(243,197,110,.55),0 30px 60px -30px rgba(243,197,110,.3)}
.offer .tag{position:absolute;top:-13px;right:18px}
.offer h3{margin:0;font:800 26px var(--ui);letter-spacing:-.04em}
.offer .pr{font:800 44px/1.1 var(--ui);letter-spacing:-.05em}
.offer .pr small{font:500 14px var(--ui);color:var(--mut);letter-spacing:0}
.offer ul{list-style:none;padding:0;margin:14px 0 18px;display:grid;gap:9px;font-size:14.5px}
.offer li{display:flex;gap:10px;align-items:flex-start}
.offer li::before{content:"";flex:none;width:6px;height:11px;border-right:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(45deg) translate(-2px,-3px);margin:4px 6px 0 2px}
.offer li.no{color:var(--faint)}
.offer li.no::before{border-color:var(--faint);transform:none;width:10px;height:0;border-right:0;border-bottom-width:2px;margin-top:11px}
.packs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pack{border-radius:22px;padding:16px;text-align:center;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);transition:transform .3s var(--spring)}
.pack:hover{transform:translateY(-3px)}
.pack b{display:block;margin:8px 0 12px;font:700 16px/1.2 var(--ui);letter-spacing:-.02em}
.pack svg{width:30px;height:30px;stroke:var(--rose);fill:none;stroke-width:1.7}
.passrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.passrow .pack{background:linear-gradient(160deg,rgba(243,197,110,.16),var(--s1));box-shadow:inset 0 0 0 1px rgba(243,197,110,.4)}
.dur{display:flex;gap:6px;margin-bottom:18px;padding:4px;border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.dur button{flex:1;padding:11px 6px;border-radius:12px;font-weight:600;font-size:14px;color:var(--mut);transition:all .25s var(--ease)}
.dur button.on{background:#fff;color:#111}
.dur small{display:block;color:var(--rose);font-size:11px;font-weight:700}
.flash{border-radius:24px;padding:18px;margin-bottom:16px;background:linear-gradient(130deg,rgba(227,202,146,.2),rgba(243,197,110,.16));box-shadow:inset 0 0 0 1px rgba(243,197,110,.45);text-align:center}
.flash.mine{background:linear-gradient(130deg,rgba(61,220,151,.18),rgba(243,197,110,.14));box-shadow:inset 0 0 0 1px rgba(61,220,151,.45)}
.flash .timer{font-size:34px;color:var(--gold)}
.flash.mine .timer{color:var(--ok)}
.was{text-decoration:line-through;color:var(--faint);font-size:.55em;margin-right:6px;font-weight:500}
.pct{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--grad);color:#fff;font:800 11px var(--ui);margin-left:6px;vertical-align:middle}
.pack .was{font-size:13px;display:block;margin:-6px 0 6px}
.gt{color:var(--gold)}

/* ── rituels ── */
.quiz{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);border-radius:24px;padding:20px;margin-bottom:14px}
.quiz h4{margin:0 0 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#ff9bb1}
.quiz .q{font:800 22px/1.15 var(--ui);margin-bottom:14px;letter-spacing:-.03em}
.quiz .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz .opt{height:52px;border-radius:16px;background:var(--s3);font-weight:600;position:relative;overflow:hidden;transition:transform .2s}
.quiz .opt:active{transform:scale(.97)}
.quiz .opt .fill{position:absolute;inset:0 auto 0 0;background:rgba(227,202,146,.4);width:0;transition:width 1s var(--ease)}
.quiz .opt span{position:relative}
.chest{display:flex;gap:16px;align-items:center;background:linear-gradient(135deg,rgba(243,197,110,.2),rgba(243,197,110,.05));box-shadow:inset 0 0 0 1px rgba(243,197,110,.4);border-radius:24px;padding:16px 18px;margin-bottom:14px;cursor:pointer;transition:transform .3s var(--spring)}
.chest:hover{transform:scale(1.02)}
.chest svg{width:46px;height:46px;animation:shake 2.8s infinite}
@keyframes shake{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-9deg)}90%{transform:rotate(9deg)}95%{transform:rotate(-4deg)}}
.week{display:flex;gap:6px;margin:10px 0}
.week i{flex:1;height:38px;border-radius:12px;background:var(--s2);display:grid;place-items:center;font:600 13px var(--ui);font-style:normal;color:var(--faint)}
.week i.on{background:var(--grad);color:#fff;animation:pop .5s var(--spring) both;animation-delay:calc(var(--i)*60ms)}
.warnbar{margin:0 18px 10px;padding:12px 14px;border-radius:16px;background:rgba(227,202,146,.1);box-shadow:inset 0 0 0 1px rgba(227,202,146,.4);display:flex;gap:10px;align-items:center;font-size:14px}
.skel{background:linear-gradient(90deg,var(--s1) 25%,var(--s3) 50%,var(--s1) 75%);background-size:200% 100%;animation:sk 1.3s infinite}
@keyframes sk{to{background-position:-200% 0}}
.legal{background:var(--bg);overflow:auto;height:auto}
body.legal{position:fixed;inset:0;overflow:auto;height:auto}
.legal main{max-width:700px;margin:0 auto;padding:30px 22px 70px;line-height:1.7}
.legal h1{font:800 42px/1.05 var(--ui);letter-spacing:-.05em}
.legal h2{font:800 22px var(--ui);margin-top:30px;color:#ff9bb1;letter-spacing:-.03em}
.legal p{color:#d3cacf}
.legal .back{display:inline-block;margin-bottom:14px}

/* ── ordinateur : toute la page, barre latérale, carte immense, 2 volets ── */
@media(min-width:980px){
  #app.shell{max-width:none;display:grid;grid-template-columns:var(--side) 1fr;grid-template-rows:auto 1fr}
  #app.shell .topbar{grid-column:2;grid-row:1;padding:20px 40px 8px;justify-content:flex-end;gap:10px;min-height:76px}
  #app.shell .topbar .wm{display:none}
  #app.shell .main{grid-column:2;grid-row:2}
  #app.shell .tabbar{grid-column:1;grid-row:1/3;flex-direction:column;justify-content:flex-start;gap:4px;padding:28px 16px;border-top:0;border-right:1px solid var(--line);background:rgba(14,12,16,.96);backdrop-filter:none}
  .sidebrand{display:flex;padding:2px 12px 30px}
  .sidebrand .wm{font-size:34px}
  .tab{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:0 16px;height:50px;border-radius:14px;font-size:15px;flex:none;color:var(--mut)}
  .tab:hover{background:rgba(255,255,255,.06);color:var(--tx)}
  .tab.on{background:rgba(255,255,255,.08);color:var(--tx)}
  .tab.on::after{display:none}
  .tab svg{width:22px;height:22px}
  .badge{position:static;margin-left:auto}
  .side-foot{display:block;margin-top:auto;padding:14px;font-size:12.5px;color:var(--faint);line-height:1.5}
  .scroll{padding:12px 48px 48px}
  .scroll>*{max-width:760px;margin-left:auto;margin-right:auto}
  .stage{padding:0 40px 28px}
  .stage .pcard{left:40px;right:40px;bottom:28px;top:0;border-radius:36px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:100%;overflow:hidden;box-shadow:0 50px 90px -40px #000,inset 0 0 0 1px var(--line)}
  .stage .pcard.next{left:90px;right:90px;top:14px;bottom:42px;border-radius:36px}
  .stage .vitrine{grid-row:1;grid-column:1;height:100%;min-height:0;border-radius:0}
  .stage .vitrine .ov{bottom:34px;left:34px;right:34px}
  .stage .pbody{grid-row:1;grid-column:2;overflow-y:auto;height:100%;padding:34px 18px 120px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
  .stage .pcard.adc{display:grid;grid-template-columns:1fr;place-items:center}
  .decide{padding-bottom:44px}
  .pname{font-size:56px}
  .quote q{font-size:34px}
  .split{flex:1;min-height:0;display:grid;grid-template-columns:380px 1fr;border-top:1px solid var(--line)}
  .split>.listcol{overflow-y:auto;border-right:1px solid var(--line);padding-top:10px;background:rgba(10,9,12,.5)}
  .split>.panecol{display:flex;min-height:0}
  .split .chatroot{width:100%}
  .split .chathead{padding-top:14px}
  .nopane{margin:auto;text-align:center;color:var(--mut);padding:30px}
  .nopane h3{font:800 30px var(--ui);color:var(--tx);letter-spacing:-.04em;margin:0 0 8px}
  .packs{grid-template-columns:repeat(3,1fr)}
  .grid2{grid-template-columns:repeat(5,1fr)}
  .veil{align-items:center}
  .sheet{max-width:640px;margin:0 auto;border-radius:30px;max-height:88%;animation:pop .4s var(--spring)}
  .duel{grid-template-rows:none;grid-template-columns:1fr 1fr;padding:0 48px 48px;max-width:1200px;margin:0 auto;width:100%}
  .duelhud{max-width:1200px;margin:0 auto;width:100%;padding:0 48px 14px}
  .toast{bottom:36px}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:380px){.topbar .sticker.gold,.topbar .sticker.moodb{display:none}.rbtn{width:52px;height:52px}.rbtn.like{width:64px;height:64px}.btn{padding:0 18px;font-size:15px}.wm{font-size:24px}}
@media(max-height:700px){.vitrine{min-height:300px}.vitrine .ov{bottom:92px}.duelhud{padding-bottom:6px}.topbar{min-height:50px;padding-top:calc(6px + var(--st));padding-bottom:6px}}
@media(max-width:759px) and (orientation:landscape){.vitrine{min-height:240px}.tab span{display:none}.tabbar{padding-top:2px;padding-bottom:2px}.tab{padding:4px 0}}
.wm .wt{display:inline-block;white-space:nowrap}
.wm{gap:8px}
@media(min-width:980px){
  .stage .pcard{bottom:112px}
  .stage .pcard.next{bottom:126px}
  .decide{padding-bottom:22px}
  .stage .vitrine .ov{bottom:30px}
  .stage .pbody{padding-bottom:30px}
}
/* en-tête : une seule ligne sur téléphone, jamais de débordement */
.topbar .moodi.on{background:var(--grad);box-shadow:none}
.topbar .moodi.on svg{stroke:#fff;fill:rgba(255,255,255,.25)}
@media(min-width:760px){.topbar .moodi{display:none}}
@media(max-width:759px){
  .topbar .streak,.topbar .moodb,.topbar .sticker.gold{display:none}
  .topbar .lg{display:none}
  .topbar{gap:8px;padding-left:14px;padding-right:14px}
  .vitrine .ov{bottom:126px}
}

/* ═════════ v7 : correctifs « flou partout », style plat 2026 ═════════ */
:root{--grad:#E3CA92}
.main{overflow:hidden}
.main::before{inset:-4%;filter:blur(44px) saturate(1.15) brightness(.55);opacity:.55;transform:none}
.main.noamb::before{display:none}
.topbar{background:var(--bg)}
#app.shell .tabbar{background:#0e0c10}
/* style plat : aucun dégradé décoratif, aucun halo, aucun reflet */
.btn{box-shadow:none}
.btn:hover{filter:none;background:#E3CA92}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.gold{background:#f4c95d;color:#241a05;box-shadow:none}
.sticker.gold{background:#f4c95d;color:#241a05}
.sticker.rose,.badge,.combo,.conv .ub,.pct,.send,.bub.me,.switch.on,.rbtn.like{background:#E3CA92}
.rbtn.like{box-shadow:none}
.rbtn.like::after{display:none}
.combo{box-shadow:none}
.heat i{background:#E3CA92}
.steps i.on::after{background:#E3CA92}
.week i.on{background:#E3CA92}
.dockpill{box-shadow:inset 0 0 0 1px var(--line2)}
.pcard.gold-card{box-shadow:inset 0 0 0 2px #f4c95d}
.pcard.gold-card::after{display:none}
.promo,.promo.mine,.flash,.flash.mine,.plancard,.plancard.gold,.offer.best,.passrow .pack,.chest{background-image:none}
.promo{background:rgba(255,59,107,.14)}
.promo.mine,.flash.mine{background:rgba(61,220,151,.12)}
.flash{background:rgba(244,201,93,.12)}
.plancard{background:rgba(255,59,107,.12)}
.plancard.gold{background:rgba(244,201,93,.12)}
.offer.best{background:rgba(244,201,93,.1);box-shadow:inset 0 0 0 1px rgba(244,201,93,.5)}
.passrow .pack,.chest{background:rgba(244,201,93,.1)}
.orb,.fcards i:nth-child(3){filter:none}
.orbs{display:none}
.vitrine img{animation:none;scale:1.02}
.hero .lead{max-width:36ch}
/* typographie : interlettrage plus ouvert, texte net */
.h1{letter-spacing:-.03em}
.h2,.modal h2,.empty h3,.legal h1,.me-head h2,.zero h3,.quiz .q,.offer h3,.adbox h3{letter-spacing:-.02em}
.pname{letter-spacing:-.03em}
.wm{letter-spacing:-.03em}
.sticker{backdrop-filter:none;background:rgba(32,29,36,.92)}
.vitrine .top .sticker,.vitrine .ov .sticker{background:rgba(10,9,12,.62)}
.sticker.gold,.sticker.rose,.sticker.mint{backdrop-filter:none}
.legal .lead{font-size:20px;color:var(--tx);line-height:1.5}
.badgeline{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;font-weight:600;color:var(--mut)}
.badgeline b{color:var(--tx)}

/* ───────── inscription : une question par écran ───────── */
.q{flex:1;display:flex;flex-direction:column;min-height:0}
.qtop{display:flex;align-items:center;gap:14px;padding:calc(12px + var(--st)) 16px 6px}
.qbar{flex:1;display:flex;gap:5px}
.qbar i{flex:1;height:4px;border-radius:2px;background:var(--line2)}
.qbar i.on{background:#E3CA92}
.qbody{flex:1;overflow-y:auto;padding:26px 24px 12px;display:flex;flex-direction:column;gap:14px}
.qh{font:800 clamp(30px,8vw,40px)/1.08 var(--ui);letter-spacing:-.025em;margin:0}
.qh em{font:italic 400 1.1em var(--serif);color:#E3CA92}
.qfoot{padding:12px 24px calc(18px + var(--sb));display:grid;gap:10px}
.input.big{height:62px;font-size:20px;font-weight:600;border-radius:18px}
.pwrow{position:relative}
.pwrow .linkbtn{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:700;color:#E3CA92}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mut);line-height:1.45}
.check input{width:22px;height:22px;flex:none;accent-color:#E3CA92;margin-top:1px}
.dob{display:flex;align-items:center;gap:10px}
.dob-i{width:72px;height:68px;text-align:center;font:700 28px var(--ui);letter-spacing:.04em;border:0;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);outline:0;color:var(--tx)}
.dob-i:last-child{width:112px}
.dob-i:focus{box-shadow:inset 0 0 0 2px #E3CA92}
.dob-i::placeholder{color:var(--faint);font-weight:600}
.dsep{color:var(--faint);font-size:26px}
.ageline{min-height:26px;margin-top:14px;font-weight:600;color:var(--mut)}
.ageline.bad{color:var(--bad)}
.opt3{display:grid;gap:12px}
.o3{height:64px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);font:600 18px var(--ui);text-align:left;padding:0 22px;transition:all .2s var(--ease)}
.o3:hover{background:var(--s2)}
.o3.on{background:#E3CA92;color:#fff;box-shadow:none}
@media(min-width:760px){.q{max-width:520px;margin:0 auto;width:100%}}
.bub.lockd{opacity:.6;font-style:italic}
.fp{font:700 26px/1.5 var(--ui);letter-spacing:.06em;text-align:center;padding:18px;border-radius:20px;background:var(--s2);margin:12px 0;font-variant-numeric:tabular-nums}

/* ───────── v8 : Moi, Sécurité, Boutique — à plat, net, sans dégradé ───────── */
.center{text-align:center}
.me5>*{margin-bottom:14px}
.me5 .grp>h4{margin:0 4px 8px;font:600 12px var(--ui);text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}
.lcard{background:var(--s1);border-radius:20px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.lrow{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);color:var(--tx);transition:background .2s}
.lrow:last-child{border-bottom:0}
button.lrow:hover{background:var(--s2)}
button.lrow:active{background:var(--s3)}
.lrow .li{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--s3)}
.lrow .li svg{width:20px;height:20px;stroke:var(--tx)}
.lt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lt b{font:600 15.5px/1.25 var(--ui);letter-spacing:-.01em;overflow-wrap:anywhere}
.lt small{font:400 13px/1.35 var(--ui);color:var(--mut)}
.chev{flex:none;color:var(--faint);font-size:22px;line-height:1}
.lrow .switch{margin-left:auto}
.btnrow{display:grid;gap:10px;margin-top:6px}
.mehero{display:flex;gap:18px;align-items:center;padding:6px 0 4px}
.mh-photo{flex:none;width:104px;height:132px;border-radius:26px;overflow:hidden;background:var(--s2)}
.mh-photo img{width:100%;height:100%;object-fit:cover;display:block}
.mh-main{min-width:0}
.mh-main h2{margin:0 0 4px;font:800 28px/1.05 var(--ui);letter-spacing:-.04em}
.mh-city{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:14px;margin-bottom:14px}
.mh-city svg{width:16px;height:16px;stroke:currentColor}
.mh-acts{display:flex;gap:8px;flex-wrap:wrap}
.coach{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);color:var(--tx)}
.coach:hover{background:var(--s2)}
.ring{position:relative;flex:none;width:52px;height:52px}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3.4}
.ring .bg{stroke:var(--s3)}
.ring .fg{stroke:var(--rose);stroke-linecap:round;transition:stroke-dasharray .8s var(--ease)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font:700 13px var(--ui);letter-spacing:-.02em}
.coach.done .fg{stroke:var(--ok)}
.planbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.pb-t{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 200px}
.pb-t b{font:700 16px var(--ui);letter-spacing:-.02em}
.pb-t small{color:var(--mut);font-size:13px;line-height:1.4}
.planbar.on{background:rgba(255,59,107,.1);box-shadow:inset 0 0 0 1px rgba(255,59,107,.4)}
.planbar.gold{background:rgba(244,201,93,.1);box-shadow:inset 0 0 0 1px rgba(244,201,93,.45)}
.subinfo{flex-basis:100%}
.subinfo p{margin:4px 0 10px;font-size:13.5px;color:var(--mut)}
.stats5{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.st5{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);text-align:center}
.st5 svg{width:20px;height:20px;stroke:var(--rose);margin-bottom:4px}
.st5 b{font:800 26px/1 var(--ui);letter-spacing:-.04em}
.st5 span{font-size:12px;color:var(--mut)}
.secnudge{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.secnudge>svg{flex:none;width:26px;height:26px;stroke:var(--ok)}
.secscore{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:22px;background:rgba(61,220,151,.09);box-shadow:inset 0 0 0 1px rgba(61,220,151,.35)}
.secscore .bigico{flex:none}.secscore .bigico svg{width:34px;height:34px;stroke:var(--ok)}
.secscore h3{margin:0 0 6px;font:700 19px var(--ui);letter-spacing:-.02em}
.secscore p{margin:0;font-size:14px;line-height:1.5;color:var(--mut)}
.pkbtn{margin-top:10px}.pkbtn svg{width:22px;height:22px}
.input.code{text-align:center;font:700 34px/1 var(--ui);letter-spacing:.35em;padding-left:.35em;height:68px}

/* boutique */
.shop5>*{margin-bottom:14px}
.shophero{padding:10px 2px 6px}
.shophero .kick{display:inline-block;padding:5px 11px;border-radius:99px;background:var(--s2);font:600 12px var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.shophero h1{margin:14px 0 10px;font:800 clamp(34px,8vw,52px)/1 var(--ui);letter-spacing:-.05em}
.shophero h1 em{font:italic 400 1.12em var(--serif);color:var(--rose);letter-spacing:-.01em}
.shophero p{margin:0;max-width:56ch;color:var(--mut);font-size:15.5px;line-height:1.55}
.shophero .cur{display:inline-block;margin-top:14px;padding:7px 12px;border-radius:12px;background:rgba(255,59,107,.12);color:var(--rose);font:600 13px var(--ui)}
.flash5{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:20px;background:rgba(244,201,93,.1);box-shadow:inset 0 0 0 1px rgba(244,201,93,.4)}
.flash5.mine{background:rgba(61,220,151,.1);box-shadow:inset 0 0 0 1px rgba(61,220,151,.4)}
.flash5 .f-l{display:flex;flex-direction:column;gap:3px;min-width:0}
.flash5 .cap{font:600 11px var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.flash5.mine .cap,.flash5.mine .timer{color:var(--ok)}
.flash5 b{font:700 16px/1.25 var(--ui);letter-spacing:-.02em}
.flash5 small{color:var(--mut);font-size:13px}
.flash5 .timer{flex:none;font:700 26px var(--ui);font-variant-numeric:tabular-nums;color:var(--gold)}
.secthead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:26px 0 12px!important}
.secthead h2{margin:0;font:800 22px var(--ui);letter-spacing:-.03em}
.secthead small{color:var(--mut);font-size:13px}
.seg5{display:inline-flex;padding:4px;border-radius:14px;background:var(--s2)}
.seg5 button{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;font:600 14px var(--ui);color:var(--mut);transition:all .25s var(--ease)}
.seg5 button.on{background:var(--tx);color:#111}
.seg5 i{font:700 11px var(--ui);font-style:normal;padding:2px 6px;border-radius:6px;background:var(--rose);color:#fff}
.plans5{display:grid;gap:14px}
.plan5{position:relative;display:flex;flex-direction:column;padding:22px;border-radius:24px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.plan5 h3{margin:0 0 6px;font:800 22px var(--ui);letter-spacing:-.03em}
.plan5 .pp{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font:800 42px/1.05 var(--ui);letter-spacing:-.05em}
.plan5 .pp small{font:500 14px var(--ui);letter-spacing:0;color:var(--mut)}
.plan5 s,.pass5 s{font:500 15px var(--ui);color:var(--faint);margin-right:6px}
.plan5 .pnote{margin-top:4px;font-size:12.5px;color:var(--mut)}
.plan5 ul{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:11px;font-size:14.5px;flex:1}
.plan5 li{display:flex;gap:10px;align-items:flex-start;line-height:1.35}
.plan5 .tick{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(61,220,151,.16);color:var(--ok);font:700 12px var(--ui)}
.plan5 li.no{color:var(--faint)}.plan5 li.no .tick{background:var(--s3);color:var(--faint)}
.plan5.best{background:rgba(244,201,93,.08);box-shadow:inset 0 0 0 1.5px rgba(244,201,93,.6)}
.ptag{position:absolute;top:-12px;left:22px;padding:4px 11px;border-radius:99px;background:var(--gold);color:#241a05;font:700 11px var(--ui);letter-spacing:.06em;text-transform:uppercase}
.cmp5{overflow-x:auto;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.cmp5 table{width:100%;border-collapse:collapse;font-size:14px;min-width:460px}
.cmp5 th{padding:14px 8px;font:700 13px var(--ui);color:var(--mut);text-align:center}
.cmp5 th:first-child,.cmp5 td:first-child{text-align:left;padding-left:16px}
.cmp5 td{padding:13px 8px;border-top:1px solid var(--line);text-align:center}
.cmp5 td.y{color:var(--ok);font-weight:700}.cmp5 td.n{color:var(--faint)}
.cmp5 tr td:nth-child(5),.cmp5 th:nth-child(5){background:rgba(244,201,93,.06)}
.pass5s{display:grid;gap:10px}
.pass5{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.pass5.g{background:rgba(244,201,93,.07);box-shadow:inset 0 0 0 1px rgba(244,201,93,.35)}
.pass5 .pi{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--s3)}
.pass5 .pi svg{width:22px;height:22px;stroke:var(--rose)}
.pass5.g .pi svg{stroke:var(--gold)}
.pass5 .btn s{color:inherit;opacity:.6;margin-right:6px}
.faq5{border-radius:16px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);padding:0 16px;margin-bottom:8px!important}
.faq5 summary{cursor:pointer;list-style:none;padding:15px 0;font:600 15px var(--ui);display:flex;justify-content:space-between;gap:10px}
.faq5 summary::after{content:"+";color:var(--faint);font-size:20px;line-height:1}
.faq5[open] summary::after{content:"–"}
.faq5 summary::-webkit-details-marker{display:none}
.faq5 p{margin:0 0 15px;color:var(--mut);font-size:14px;line-height:1.55}
@media(min-width:760px){.pass5s{grid-template-columns:1fr 1fr}.stats5{gap:14px}}
@media(min-width:980px){
  .shop5>*{max-width:1040px}
  .plans5{grid-template-columns:repeat(3,1fr);align-items:stretch}
  .me5>*{max-width:760px}
  .mh-photo{width:120px;height:150px}
}
@media(max-width:380px){.mh-photo{width:88px;height:112px}.mh-main h2{font-size:24px}.plan5 .pp{font-size:36px}.flash5{flex-direction:column;align-items:flex-start}}

/* tableau de bord */
.adm5>*{margin-bottom:14px}
.seg5.wide{display:flex;overflow-x:auto;max-width:100%;scrollbar-width:none}
.seg5.wide button{flex:1 0 auto;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.kpis.two{grid-template-columns:1fr 1fr}
.kpi{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.kpi b{font:800 30px/1.05 var(--ui);letter-spacing:-.045em}
.kpi span{font:600 13px var(--ui);color:var(--mut)}
.kpi small{font-size:12px;color:var(--faint)}
.kpi.ok b{color:var(--ok)}
.spark{display:block;width:100%;height:64px;margin:8px 0 4px}
.spark rect{fill:var(--rose);opacity:.85}
.spark.new rect{fill:var(--ok)}
.spark.att rect{fill:var(--gold)}
.legend{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--faint)}
.threat{display:flex;gap:14px;align-items:center;padding:18px;border-radius:20px;background:rgba(61,220,151,.09);box-shadow:inset 0 0 0 1px rgba(61,220,151,.35)}
.threat.warn{background:rgba(244,201,93,.09);box-shadow:inset 0 0 0 1px rgba(244,201,93,.4)}
.threat.bad{background:rgba(255,107,129,.1);box-shadow:inset 0 0 0 1px rgba(255,107,129,.45)}
.threat .bigico svg{width:32px;height:32px;stroke:var(--ok)}
.threat.warn .bigico svg{stroke:var(--gold)}.threat.bad .bigico svg{stroke:var(--bad)}
.threat b{display:block;font:700 18px var(--ui);letter-spacing:-.02em;margin-bottom:3px}
.threat small{font-size:13px;color:var(--mut);line-height:1.4}
.cnt{font:700 14px var(--ui);color:var(--tx);font-variant-numeric:tabular-nums}
.srcrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.srcrow:first-of-type{border-top:0}
.srcrow code{font:600 13px ui-monospace,Consolas,monospace;color:var(--mut)}
.srcrow span{flex:1;color:var(--mut)}
.srcrow i{font:700 11px var(--ui);font-style:normal;padding:3px 8px;border-radius:7px}
.srcrow i.ok{background:rgba(61,220,151,.15);color:var(--ok)}.srcrow i.bad{background:rgba(255,107,129,.15);color:var(--bad)}
.btnrow2{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.linkbtn{display:block;margin-top:12px;padding:0;color:var(--mut);font:500 13px var(--ui);text-decoration:underline;text-underline-offset:3px;text-align:left}
.linkbtn:hover{color:var(--tx)}
@media(min-width:760px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media(min-width:980px){.adm5>*{max-width:900px}}

/* ───────── v9 : nouvelle identité — crème, encre, rose vif (clair par défaut) + mode sombre au choix ───────── */
:root{
  --bg:#f6f1ea; --s1:#fffdfa; --s2:#efe8df; --s3:#e4dcd1; --line:rgba(40,25,30,.09); --line2:rgba(40,25,30,.18);
  --tx:#1c1519; --mut:#6b5f66; --faint:#9a8f95; --rose:#C9A25A; --gold:#b5790c; --ok:#118a59; --bad:#d3344f;
  color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#0a090c; --s1:#121014; --s2:#1a171d; --s3:#241f27; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
  --tx:#f7f4f2; --mut:#a79fa5; --faint:#6e676d; --rose:#E3CA92; --gold:#f3c56e; --ok:#3ddc97; --bad:#ff6b81;
  color-scheme:dark;
}
:root:not([data-theme=dark]) input[type=date]{color-scheme:light}
:root:not([data-theme=dark]) body,:root:not([data-theme=dark]) #app{background:var(--bg);color:var(--tx)}
:root:not([data-theme=dark]) .main::after{display:none}
:root:not([data-theme=dark]) .topbar{background:var(--bg)}
:root:not([data-theme=dark]) .tabbar,:root:not([data-theme=dark]) #app.shell .tabbar{background:rgba(255,253,250,.94);border-color:var(--line)}
:root:not([data-theme=dark]) .tab{color:var(--faint)}
:root:not([data-theme=dark]) .tab.on{color:var(--tx)}
:root:not([data-theme=dark]) .tab:hover{background:var(--s2)}
:root:not([data-theme=dark]) .tab.on svg{fill:rgba(201,162,90,.16)}
:root:not([data-theme=dark]) #app.shell .tab.on{background:var(--s2)}
:root:not([data-theme=dark]) .btn.ghost,:root:not([data-theme=dark]) .iconbtn{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx);backdrop-filter:none}
:root:not([data-theme=dark]) .btn.ghost:hover,:root:not([data-theme=dark]) .iconbtn:hover{background:var(--s2)}
:root:not([data-theme=dark]) .btn:not(.ghost):not(.gold):not(.danger){background:#E3CA92;color:#fff}
:root:not([data-theme=dark]) .btn.gold{background:#f4c95d;color:#2a1a02}
:root:not([data-theme=dark]) .btn.danger{background:rgba(211,52,79,.08);color:var(--bad);box-shadow:inset 0 0 0 1px rgba(211,52,79,.35)}
:root:not([data-theme=dark]) .chip{background:var(--s1);color:var(--mut)}
:root:not([data-theme=dark]) .chip:hover{background:var(--s2);color:var(--tx)}
:root:not([data-theme=dark]) .chip.on{background:#E3CA92;color:#fff;box-shadow:none}
:root:not([data-theme=dark]) .chip.static.on{color:var(--rose);background:rgba(201,162,90,.1)}
:root:not([data-theme=dark]) .input,:root:not([data-theme=dark]) textarea.input,:root:not([data-theme=dark]) select.input{background:var(--s1);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line2)}
:root:not([data-theme=dark]) .input::placeholder{color:var(--faint)}
:root:not([data-theme=dark]) .topbar .sticker:not(.gold),:root:not([data-theme=dark]) .topbar .streak,:root:not([data-theme=dark]) .topbar .moodi{background:var(--s1);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line2);backdrop-filter:none}
:root:not([data-theme=dark]) .topbar .moodi.on{background:#E3CA92}
:root:not([data-theme=dark]) .topbar .moodi.on svg{stroke:#fff}
:root:not([data-theme=dark]) .conv:hover,:root:not([data-theme=dark]) .conv.act{background:var(--s2)}
:root:not([data-theme=dark]) .chathead{background:rgba(246,241,234,.92)}
:root:not([data-theme=dark]) .split>.listcol{background:transparent}
:root:not([data-theme=dark]) .sheet,:root:not([data-theme=dark]) .modal{background:var(--s1);color:var(--tx)}
:root:not([data-theme=dark]) .veil{background:rgba(30,18,24,.45)}
:root:not([data-theme=dark]) .box,:root:not([data-theme=dark]) .lcard,:root:not([data-theme=dark]) .plan5,:root:not([data-theme=dark]) .kpi,:root:not([data-theme=dark]) .pass5,:root:not([data-theme=dark]) .coach,:root:not([data-theme=dark]) .planbar,:root:not([data-theme=dark]) .st5,:root:not([data-theme=dark]) .secnudge,:root:not([data-theme=dark]) .cmp5,:root:not([data-theme=dark]) .faq5,:root:not([data-theme=dark]) .stat,:root:not([data-theme=dark]) .menu{background:var(--s1);box-shadow:0 1px 0 rgba(60,35,45,.04),0 10px 28px -16px rgba(70,35,50,.22),inset 0 0 0 1px var(--line)}
:root:not([data-theme=dark]) .seg5{background:var(--s3)}
:root:not([data-theme=dark]) .seg5 button.on,:root:not([data-theme=dark]) .dur button.on{background:var(--s1);color:var(--tx);box-shadow:0 2px 8px -2px rgba(60,30,40,.25)}
:root:not([data-theme=dark]) .plan5.best{background:#fff7de;box-shadow:inset 0 0 0 1.5px #e6b73c,0 18px 40px -20px rgba(200,140,20,.5)}
:root:not([data-theme=dark]) .pass5.g{background:#fff7de}
:root:not([data-theme=dark]) .planbar.on{background:#ffe9ee;box-shadow:inset 0 0 0 1px rgba(201,162,90,.35)}
:root:not([data-theme=dark]) .planbar.gold,:root:not([data-theme=dark]) .flash5{background:#fff4d2;box-shadow:inset 0 0 0 1px rgba(201,150,20,.4)}
:root:not([data-theme=dark]) .flash5.mine,:root:not([data-theme=dark]) .secscore,:root:not([data-theme=dark]) .threat{background:#e3f6ec;box-shadow:inset 0 0 0 1px rgba(17,138,89,.35)}
:root:not([data-theme=dark]) .promo,:root:not([data-theme=dark]) .promo.mine{background:#fff0d6;box-shadow:inset 0 0 0 1px rgba(201,150,20,.35);color:var(--tx)}
:root:not([data-theme=dark]) .warnbar,:root:not([data-theme=dark]) .expbar{background:#ffe9ee;color:var(--tx)}
:root:not([data-theme=dark]) .lrow .li,:root:not([data-theme=dark]) .pass5 .pi{background:var(--s2)}
:root:not([data-theme=dark]) button.lrow:hover{background:var(--s2)}
:root:not([data-theme=dark]) .shophero .kick{background:var(--s3)}
:root:not([data-theme=dark]) .shophero .cur{background:#ffe3ea}
:root:not([data-theme=dark]) .plan5 .tick{background:rgba(17,138,89,.14)}
:root:not([data-theme=dark]) .ring .bg{stroke:var(--s3)}
:root:not([data-theme=dark]) .switch{background:var(--s3)}
:root:not([data-theme=dark]) .bub:not(.me){background:var(--s1);color:var(--tx);box-shadow:inset 0 0 0 1px var(--line)}
:root:not([data-theme=dark]) .zero{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2)}
:root:not([data-theme=dark]) .skel{background:var(--s2)}
/* le bouton J'aime / dock reste sur fond photo : on garde un verre sombre lisible */
:root:not([data-theme=dark]) .dockpill{background:rgba(255,253,250,.82);box-shadow:0 14px 40px -14px rgba(70,35,50,.45),inset 0 0 0 1px var(--line)}
:root:not([data-theme=dark]) .rbtn:not(.like){background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);color:var(--tx)}
:root:not([data-theme=dark]) .rbtn:not(.like) svg{stroke:var(--tx)}
:root:not([data-theme=dark]) .rbtn.sup svg{stroke:#b5790c}
:root:not([data-theme=dark]) .empty{color:var(--tx)}
:root:not([data-theme=dark]) .hint{color:var(--mut)}
:root:not([data-theme=dark]) .toast{background:var(--tx);color:var(--bg)}

/* apparence */
.themeseg{display:flex;gap:6px;padding:4px;border-radius:14px;background:var(--s2);margin:0 16px 14px}
.themeseg button{flex:1;padding:10px;border-radius:10px;font:600 14px var(--ui);color:var(--mut)}
.themeseg button.on{background:var(--s1);color:var(--tx);box-shadow:0 2px 8px -2px rgba(0,0,0,.25)}

:root[data-theme=dark] img[src$="logo-ink-v2.svg"]{content:url(/assets/logo-ivory-v2.svg)}

/* ── accueil v9 ── */
.hero.v9{justify-content:flex-start;gap:0;padding-top:calc(16px + var(--st));overflow-y:auto}
.hero.v9 .top{justify-content:space-between;padding-bottom:6px}
.toplink{font:600 14px var(--ui);color:var(--tx);padding:9px 14px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line2)}
.collage{position:relative;flex:none;width:100%;max-width:340px;height:clamp(190px,34vh,290px);margin:10px auto 6px}
.cc{position:absolute;bottom:0;width:46%;aspect-ratio:3/4;border-radius:24px;overflow:hidden;display:grid;place-items:end center;box-shadow:0 22px 40px -22px rgba(60,25,40,.45)}
.cc svg{width:78%;height:auto;fill:rgba(255,255,255,.7)}
.cc.c1{left:2%;background:#ffd2c0;transform:rotate(-9deg) translateY(-4px);bottom:8%}
.cc.c2{right:2%;background:#d9cdfa;transform:rotate(8deg) translateY(-14px);bottom:10%}
.cc.c3{left:27%;width:46%;background:#E3CA92;z-index:2;transform:translateY(0);box-shadow:0 26px 46px -20px rgba(201,162,90,.6)}
.cc.c3>span{display:contents}
.cc.c3 svg{fill:rgba(255,255,255,.78)}
.cc .cn{position:absolute;left:8px;right:8px;bottom:8px;padding:8px 10px;border-radius:14px;background:rgba(255,253,250,.94);color:#1c1519;text-align:left;display:flex;flex-direction:column;gap:1px}
.cc .cn b{font:700 14px var(--ui);letter-spacing:-.02em}
.cc .cn small{font:500 11px var(--ui);color:#6b5f66;display:flex;align-items:center;gap:5px}
.cc .cn i{width:7px;height:7px;border-radius:50%;background:#18b36f}
.fchip{position:absolute;z-index:3;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:99px;background:var(--s1);box-shadow:0 12px 30px -12px rgba(60,25,40,.4),inset 0 0 0 1px var(--line);font:700 12.5px var(--ui);color:var(--tx);white-space:nowrap}
.fchip svg{width:15px;height:15px;stroke:var(--rose);fill:none}
.fchip.m{right:0;top:6%;animation:fc 6s ease-in-out infinite alternate}
.fchip.l{left:-2%;bottom:36%;animation:fc 7s -2s ease-in-out infinite alternate}
.hero.v9 .mid{flex:none;gap:12px;padding:12px 0 18px;text-align:center;justify-items:center}
.hero.v9 .h1{font-size:clamp(34px,10.5vw,52px)}
.hero.v9 .lead{max-width:30ch;font-size:clamp(14.5px,4vw,17px);line-height:1.5}
.hero.v9 .cta{margin-top:auto}
.hero.v9 .badgeline{justify-content:center}
.hero.v9 .hint{text-align:center}
:root[data-theme=dark] .cc.c1{background:#5a3a44}
:root[data-theme=dark] .cc.c2{background:#3d3560}
:root[data-theme=dark] .fchip{background:#1d191f}
@media(min-width:900px){
  .hero.v9{max-width:1080px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;column-gap:80px;align-content:center;padding:36px 48px;overflow:visible}
  .hero.v9 .top{grid-column:1/3}
  .hero.v9 .collage{grid-column:2;grid-row:2/4;align-self:center;max-width:460px;height:420px;margin:0}
  .hero.v9 .mid{grid-column:1;grid-row:2;text-align:left;justify-items:start;align-self:end}
  .hero.v9 .cta{grid-column:1;grid-row:3;margin-top:0;max-width:420px;align-self:start}
  .hero.v9 .h1{font-size:68px}
  .hero.v9 .badgeline,.hero.v9 .hint{justify-content:flex-start;text-align:left}
}
@media(max-height:640px){.collage{height:140px}.hero.v9 .lead{display:none}}

/* ───────── v10 : mise en page « vraie app de rencontre » ───────── */
.main{background:var(--bg)}
.main::before,.main::after{display:none!important}

/* Découvrir : en-tête fin, carte photo plein cadre arrondie, 4 boutons ronds dessous (rien ne recouvre la photo) */
@media(max-width:979px){
  .topbar .streak,.topbar .sticker.gold,.topbar .sticker.moodb{display:none}
  .main>.promo{display:none}
  .stage{flex:1;position:relative;min-height:0;overflow:hidden}
  .stage .pcard{inset:2px 12px 0;border-radius:30px;box-shadow:0 22px 44px -24px rgba(40,15,30,.55)}
  .stage .pcard.next{inset:10px 20px 0;border-radius:30px}
  .vitrine,.vitrine::after{border-radius:30px}
  .vitrine .ov{bottom:22px}
  .decide{position:static;flex:none;padding:12px 16px 12px;background:transparent}
  .dockpill{gap:16px;padding:0;background:none;box-shadow:none;backdrop-filter:none}
  .pbody{padding-bottom:40px}
}
.rbtn{width:56px;height:56px;background:var(--s1);box-shadow:0 12px 26px -12px rgba(40,15,30,.45),inset 0 0 0 1px var(--line);color:var(--tx)}
.rbtn.pass{width:64px;height:64px}
.rbtn.like{width:72px;height:72px;background:#E3CA92;box-shadow:0 16px 30px -12px rgba(255,59,107,.7)}
.rbtn.mini{width:44px;height:44px}
.rbtn.like svg{stroke:#fff;fill:#fff}
.rbtn.pass svg{stroke:var(--mut)}
.rbtn.sup svg{stroke:#e0a21a}
.rbtn:not(.like) svg{width:26px;height:26px}
:root[data-theme=dark] .rbtn:not(.like){background:var(--s2)}

/* texte sur photo : toujours blanc, quel que soit le thème */
.vitrine,.vitrine .pname,.vitrine .pname small,.vitrine .meta,.duelc,.lkc .t,.stampk{color:#fff}
.vitrine .pname small{color:rgba(255,255,255,.8)}
.vitrine::after{background:linear-gradient(transparent,rgba(10,9,12,.45) 45%,rgba(10,9,12,.85))}
.vitrine .top .sticker,.vitrine .ov .sticker{background:rgba(10,9,12,.55);color:#fff}
.vitrine .top .sticker.gold{background:#f4c95d;color:#241a05}
.vitrine .top .sticker.mint{background:rgba(24,179,111,.9);color:#fff}
.stampk.nope{color:#fff;border-color:#fff}

/* en-tête : logo, objectif du jour, outils */
.topbar{min-height:56px}
.wm .wt{font-weight:800}

/* barre d'onglets : indicateur discret */
.tabbar{box-shadow:0 -1px 0 var(--line)}
.tab{padding:9px 0 5px}
.tab.on{color:var(--rose)}
.tab.on::after{display:none}
.tab.on svg{fill:rgba(201,162,90,.15);transform:translateY(-1px)}
:root[data-theme=dark] .tab.on{color:#E3CA92}

/* listes (likes, discussions) */
.lkc{border-radius:22px;overflow:hidden;box-shadow:0 14px 30px -18px rgba(40,15,30,.45)}
.conv{border-radius:18px;margin:2px 8px}

@media(min-width:980px){
  .stage .pcard{inset:6px 0 0;border-radius:30px;box-shadow:0 30px 60px -34px rgba(40,15,30,.5)}
  .decide{position:static;padding:16px 0 20px}
  .dockpill{background:none;box-shadow:none;backdrop-filter:none;gap:20px}
}
:root:not([data-theme=dark]) .dockpill,:root[data-theme=dark] .dockpill{background:none;box-shadow:none;backdrop-filter:none;padding:0}
.rbtn.like svg{stroke:#fff!important;fill:#fff!important}
:root:not([data-theme=dark]) .tab.on{color:var(--rose);background:none}
:root:not([data-theme=dark]) #app.shell .tab.on{background:none}
@media(min-width:980px){:root:not([data-theme=dark]) #app.shell .tab.on{background:var(--s2);color:var(--tx)}}
.rbtn.like svg,.rbtn.like svg *{stroke:#fff!important;fill:#fff!important}

/* ───────── v10 : grand écran ───────── */
.sidechip{display:none;align-items:center;gap:12px;margin-top:auto;padding:10px;border-radius:16px;color:var(--tx);text-decoration:none;transition:background .2s}
.sidechip:hover{background:var(--s2)}
.sidechip img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:var(--s3)}
.sidechip span{display:flex;flex-direction:column;min-width:0}
.sidechip b{font:700 15px var(--ui);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidechip small{font-size:12.5px;color:var(--mut)}
.sidechip~.side-foot{margin-top:10px}
@media(min-width:980px){
  .stage,.decide{max-width:1120px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}
  .stage{padding:0 40px}
  .stage .pcard{inset:6px 40px 0}
  .stage .pcard.next{inset:14px 52px 0}
  .main>.promo{max-width:1040px;margin:0 auto 10px;width:calc(100% - 80px)}
  .topbar .sticker,.topbar .iconbtn{height:38px}
  .sidechip{display:flex}
  .shop5,.me5,.adm5{max-width:none}
  .scroll.shop5>*{margin-left:auto;margin-right:auto}
  .tab{font-size:14px}
  .tab svg{width:22px;height:22px}
}
@media(min-width:1500px){
  .stage,.decide{max-width:1240px}
  .stage .pcard .vitrine .pname{font-size:56px}
}

/* ───────── v11 : discussions et chat façon messagerie ───────── */
.rail{gap:16px;padding:4px 18px 16px}
.nm1{flex:0 0 72px;font-size:12.5px}
.nm1 .av{width:68px;height:68px;margin:2px auto 14px;border-radius:50%;box-shadow:0 0 0 2.5px var(--rose),0 0 0 5.5px var(--bg)}
.nm1 .av img{border-radius:50%}
.sechead{font-size:12px;letter-spacing:.08em;margin:12px 0 8px}
.conv{padding:11px 14px;gap:14px}
.conv .av{width:60px;height:60px}
.conv .t1{font-size:16.5px}
.conv.unread .t1{font-weight:800}
.conv .ub{background:#E3CA92}
.chathead{gap:10px;padding-left:6px;background:var(--bg);border-bottom:1px solid var(--line)}
.chathead .iconbtn:first-child{background:none;box-shadow:none;font-size:26px;width:36px}
.chathead img.av{width:46px;height:46px}
.chathead .w small{display:flex;align-items:center;gap:6px}
.warm{margin:10px 14px 0;border:0;border-radius:16px;padding:10px 14px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
.msgs{padding:16px 14px;gap:4px}
.bub{font-size:16px;line-height:1.4;padding:10px 15px;border-radius:22px;max-width:80%}
.bub.me{border-bottom-right-radius:6px}
.bub:not(.me){border-bottom-left-radius:6px}
.composer{padding:8px 12px calc(10px + var(--sb));border-top:0;background:var(--bg)}
.composer textarea{min-height:46px;border-radius:23px;padding:12px 18px}
.send{width:46px;height:46px;flex:none}
:root:not([data-theme=dark]) .bub:not(.me){background:var(--s1)}
@media(min-width:980px){
  .split>.listcol{width:360px}
  .chatroot{max-width:none}
  .msgs{padding:24px 40px}
  .bub{max-width:62%}
  .composer{padding:12px 40px 20px}
  .chathead{padding:14px 28px}
}
.rcode{margin:14px 0;padding:16px 10px;border-radius:16px;background:var(--s2);font:700 20px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.06em;text-align:center;user-select:all;overflow-wrap:anywhere}

/* anti-capture : filigrane + flou */
.shield .stage,.shield .msgs,.shield .lkgrid,.shield .pcard{filter:blur(28px)}
img{-webkit-user-drag:none}
.pcard img,.vitrine img,.lkc img{user-select:none;-webkit-touch-callout:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Le Lien */
.lien{display:flex;align-items:center;gap:10px;margin:8px 14px 0;font-size:12.5px;color:var(--mut)}
.lien b{font:700 13px var(--ui);color:var(--rose);white-space:nowrap}
.lbar{flex:1;height:6px;border-radius:3px;background:var(--s3);overflow:hidden}
.lbar i{display:block;height:100%;background:var(--rose);border-radius:3px;transition:width 1s var(--ease)}
.duocard{margin:8px 14px 0;border-radius:18px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.duocard summary{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.duocard summary::-webkit-details-marker{display:none}
.duocard summary>svg{width:22px;height:22px;stroke:var(--rose);flex:none}
.dbody{padding:0 14px 14px;display:grid;gap:10px}
.dq{font:italic 400 21px/1.25 var(--serif)}
.da{padding:10px 14px;border-radius:16px;background:var(--s2);font-size:15px}
.da.me{background:rgba(255,59,107,.12)}
.dbody .btn{justify-self:start}

/* ───────── v12 : duel, filtres, inscription ───────── */
.duelhud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 16px 12px}
.dh-l{display:flex;flex-direction:column;min-width:0}
.dh-l b{font:800 24px var(--ui);letter-spacing:-.03em}
.dh-l small{color:var(--mut);font-size:12.5px;line-height:1.3}
.dh-r{display:flex;align-items:center;gap:8px;flex:none}
.dchip{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 12px;border-radius:99px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);font:600 13px var(--ui)}
.dchip svg{width:16px;height:16px;stroke:var(--rose)}
.dchip.dim{color:var(--mut)}
.duel{gap:10px;padding:0 12px 12px}
.duelc{border-radius:28px;box-shadow:0 20px 40px -26px rgba(40,15,30,.55)}
.duelc::after{background:linear-gradient(transparent,rgba(10,9,12,.85))}
.duelc.won{box-shadow:0 0 0 3px var(--rose),0 20px 50px -14px rgba(255,59,107,.6)}
@media(min-width:760px){.duel{grid-template-rows:none;grid-template-columns:1fr 1fr}}
.range{accent-color:var(--rose);width:100%;height:30px;margin:6px 0 2px}.field label{display:flex;justify-content:space-between;gap:10px}
.lockb{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 14px 0;padding:10px 14px;border-radius:16px;background:var(--s2);font:600 13.5px var(--ui)}
.vbadge{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2f8cff;align-self:center}
.vbadge svg{width:15px;height:15px;stroke:#fff}
.vfcam{width:100%;max-height:46vh;border-radius:20px;background:#000;object-fit:cover;transform:scaleX(-1);margin:10px 0}
.vfmsg{text-align:center;margin:6px 0 14px}

/* chat : plus de barre « Chaleur » ni de jauge, on garde seulement le niveau du Lien en texte discret */
.warm{display:none!important}
.lien .lbar,.lien small{display:none}
.lien{margin:6px 14px 0}
.lstreak{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;background:rgba(255,59,107,.12);color:var(--rose);font:700 12px var(--ui)}
.lstreak svg{width:13px;height:13px;stroke:var(--rose)}
.fastb{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:rgba(17,138,89,.14);color:var(--ok);font:700 12px var(--ui)}
.fastb svg{width:13px;height:13px;stroke:var(--ok)}
.planbtn{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--s2)}
.planbtn svg{width:22px;height:22px;stroke:var(--tx)}
.plancard5{align-self:center;width:min(92%,340px);padding:14px 16px;border-radius:20px;background:var(--s1);box-shadow:inset 0 0 0 1.5px var(--rose);display:grid;gap:8px;margin:6px 0}
.plancard5 .pk{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--rose)}
.plancard5 .pw{font:800 20px/1.2 var(--ui);letter-spacing:-.02em}
.plancard5 .pn{color:var(--mut);font-size:14px}
.plancard5 .pr{display:flex;gap:8px;flex-wrap:wrap}
.aftercard{margin:8px 14px 0;padding:14px 16px;border-radius:18px;background:rgba(255,59,107,.1);box-shadow:inset 0 0 0 1px rgba(255,59,107,.3);display:grid;gap:6px}
.aftercard small{color:var(--mut)}
.aftercard .pr{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
/* pépite du jour */
.pepite{display:flex;align-items:center;gap:12px;margin:2px 12px 8px;padding:10px 14px 10px 10px;border-radius:20px;background:var(--s1);box-shadow:0 10px 26px -16px rgba(40,15,30,.5),inset 0 0 0 1.5px var(--rose);text-align:left;width:calc(100% - 24px)}
.pepite img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;filter:blur(0)}
.pepite .pt{flex:1;min-width:0;display:flex;flex-direction:column}
.pepite .pt b{font:700 14.5px var(--ui);letter-spacing:-.01em}
.pepite .pt small{color:var(--mut);font-size:12.5px}
.pepite .go{flex:none;padding:8px 14px;border-radius:99px;background:#E3CA92;color:#fff;font:700 13px var(--ui)}
.stats5{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.moreopts{margin:6px 0 14px;border-radius:16px;background:var(--s2);padding:0 14px}
.moreopts summary{cursor:pointer;list-style:none;padding:14px 0;font:600 14.5px var(--ui);display:flex;justify-content:space-between}
.moreopts summary::after{content:"+";color:var(--faint)}.moreopts[open] summary::after{content:"–"}
.moreopts summary::-webkit-details-marker{display:none}
.moreopts[open]{padding-bottom:6px}
/* question rapide */
.qbar{margin:2px 12px 8px;padding:12px 14px;border-radius:20px;background:var(--s1);box-shadow:0 10px 26px -18px rgba(40,15,30,.5),inset 0 0 0 1px var(--line);display:grid;gap:10px}
.qbar .qq{display:flex;justify-content:space-between;align-items:center;gap:8px;font:700 14.5px var(--ui)}
.qbar .qs{font:500 12.5px var(--ui);color:var(--faint);padding:4px 6px}
.qbar .qo{display:flex;gap:8px;flex-wrap:wrap}
.vbanner{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:20px;background:rgba(47,140,255,.1);box-shadow:inset 0 0 0 1px rgba(47,140,255,.35)}
.vbanner>svg{flex:none;width:26px;height:26px;stroke:#2f8cff}

/* vérification guidée */
.vfstage{position:relative;margin:12px 0;border-radius:24px;overflow:hidden;background:#000}
.vfstage .vfcam{display:block;width:100%;max-height:50vh;object-fit:cover;transform:scaleX(-1);margin:0;border-radius:0}
.vfoval{position:absolute;left:50%;top:50%;width:62%;height:78%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.45),inset 0 0 0 3px rgba(255,255,255,.9);pointer-events:none}
.vfdemo{position:absolute;right:10px;bottom:10px;width:74px;height:74px;border-radius:18px;background:rgba(255,253,250,.94);padding:6px}
.vfdemo svg{width:100%;height:100%;overflow:visible}
.vfdemo .hd{fill:#f5d9c8;stroke:#1c1519;stroke-width:2}
.vfdemo .f circle{fill:#1c1519}.vfdemo .nz{fill:none;stroke:#1c1519;stroke-width:2.4;stroke-linecap:round}
.vfdemo .ar{fill:none;stroke:#E3CA92;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.vfdemo.left .ar,.vfdemo.right .ar{opacity:1}
.vfdemo.right .ar{transform:scaleX(-1);transform-origin:32px 54px}
.vfdemo.left .f{animation:vfl 1.6s ease-in-out infinite}
.vfdemo.right .f{animation:vfr 1.6s ease-in-out infinite}
@keyframes vfl{0%,100%{transform:translateX(0)}50%{transform:translateX(-12px)}}
@keyframes vfr{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
.vfdots{display:flex;gap:8px;justify-content:center;margin:0 0 14px}
.vfdots i{width:10px;height:10px;border-radius:50%;background:var(--s3);transition:background .3s}
.vfdots i.on{background:var(--ok)}

/* interrupteurs : gris = désactivé, rose = activé (bien distincts, dans les deux thèmes) */
:root .switch{background:#c9c0bb;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
:root[data-theme=dark] .switch{background:#3a343c}
:root .switch.on,:root:not([data-theme=dark]) .switch.on,:root[data-theme=dark] .switch.on{background:#E3CA92}
.switch::after{box-shadow:0 2px 5px rgba(0,0,0,.3)}
.lrow:has(.switch.on) .lt small{color:var(--mut)}
.vbadge{display:inline-flex!important;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#2f8cff;align-self:center;flex:none;margin:0 2px;vertical-align:middle}
.vbadge span,.vbadge svg{display:block;width:14px;height:14px;stroke:#fff;fill:none;margin:0}
.vfoval{transition:box-shadow .15s}
.vfoval.ok{box-shadow:0 0 0 999px rgba(0,0,0,.45),inset 0 0 0 5px #2ee08a,0 0 26px 4px rgba(46,224,138,.75)}
/* curseur d'âge à deux poignées */
.dr{position:relative;height:56px;margin:6px 8px 4px;touch-action:none}
.dr-t{position:absolute;left:0;right:0;top:30px;height:6px;border-radius:3px;background:var(--s3)}
.dr-f{position:absolute;top:0;height:100%;border-radius:3px;background:#E3CA92}
.dr-h{position:absolute;top:21px;width:24px;height:24px;margin-left:-12px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.35),inset 0 0 0 3px #E3CA92;cursor:grab;touch-action:none}
.dr-h.on{cursor:grabbing;transform:scale(1.15)}
.dr-b{position:absolute;left:50%;top:-24px;transform:translateX(-50%);padding:2px 8px;border-radius:8px;background:var(--tx);color:var(--bg);font:700 12px var(--ui);pointer-events:none}
.socials{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.soc{display:inline-flex;align-items:center;padding:9px 14px;border-radius:99px;background:var(--s2);box-shadow:inset 0 0 0 1px var(--line);color:var(--tx);font:600 13.5px var(--ui);text-decoration:none}
.vbadge{cursor:pointer}
.songrow{display:flex;align-items:center;gap:12px;margin:10px 0;padding:12px 14px;border-radius:16px;background:var(--s2);color:var(--tx);text-decoration:none}
.songrow svg{width:22px;height:22px;stroke:var(--rose);flex:none}
.songrow .lt small{font-size:12px;color:var(--mut)}
.recos{display:grid;gap:8px;margin:10px 0}
.reco{padding:12px 14px;border-radius:16px;background:var(--s2)}
.reco q{display:block;font:italic 400 18px/1.3 var(--serif)}
.reco small{display:flex;align-items:center;gap:4px;margin-top:6px;color:var(--mut);font-size:12.5px}
.vbadge.mini{width:16px;height:16px;margin:0}.vbadge.mini svg{width:10px;height:10px}

/* ───────── cartes de profil et barre d'actions, version 2 ───────── */
.rcol{display:flex;flex-direction:column;align-items:center;gap:7px}
.rlab{font:600 11.5px var(--ui);color:var(--mut);white-space:nowrap}
.rcol:has(.rbtn.like) .rlab{color:var(--rose)}
.rcol:has(.rbtn.sup) .rlab{color:var(--gold)}
.dockpill{align-items:flex-start;gap:14px}
.rbtn.sup{width:60px;height:60px;box-shadow:0 12px 26px -12px rgba(224,162,26,.6),inset 0 0 0 2px #e0a21a}
.rbtn.sup svg{stroke:#e0a21a;fill:rgba(224,162,26,.2)}
.rbtn.pass{box-shadow:0 12px 26px -12px rgba(40,15,30,.45),inset 0 0 0 1px var(--line2)}
.rbtn.like{width:78px;height:78px}
.vitrine .ov{padding-right:4px}
.vitrine .ov .meta{gap:6px;margin-top:10px}
.vitrine .ov .meta span{padding:5px 11px;border-radius:99px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font:600 12.5px var(--ui);color:#fff}
.vitrine .ov .meta span.fastb{background:rgba(17,138,89,.85);color:#fff}
.vitrine .ov .meta span.fastb svg{stroke:#fff}
.ovq{margin-top:12px;font:italic 400 19px/1.25 var(--serif);color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ovc{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}
.ovc small{font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-right:2px}
.ovc span{padding:4px 10px;border-radius:99px;background:rgba(255,59,107,.9);color:#fff;font:600 12.5px var(--ui)}
.vitrine::after{height:68%;background:linear-gradient(transparent,rgba(10,9,12,.55) 38%,rgba(10,9,12,.92))}
@media(max-width:979px){.vitrine .ov{bottom:26px}}

/* fiche profil depuis Likes / Pépite : même carte et mêmes boutons que dans Découvrir */
.veil.full{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background:var(--bg);backdrop-filter:none;animation:fade .2s}
.veil.full .pvtop{flex:none;display:flex;justify-content:flex-end;padding:calc(10px + var(--st)) 14px 6px}
.veil.full .stage.pv{flex:1;position:relative;min-height:0;overflow:hidden}
.veil.full .decide.pv{position:static;flex:none;padding:12px 16px calc(14px + var(--sb))}

/* pages Profil / Modifier le profil / Réglages */
.pghead{display:flex;align-items:center;gap:12px;margin:4px 0 14px}
.pghead h2{flex:1;margin:0;font:800 24px var(--ui);letter-spacing:-.03em}
.pghead.tabhead h2{font-size:28px}
.lcard.pad{padding:14px 16px}
.lcard.pad .field{margin-bottom:12px}
.lcard.pad .hint{margin:0 0 10px}

/* fenêtres (popups) : plus petites et plus sobres */
.modal{max-width:340px;padding:20px 18px;border-radius:24px}
.modal h2{margin:6px 0;font-size:21px;letter-spacing:-.02em}
.modal p{font-size:14px;line-height:1.45;margin:0 0 14px}
.modal .btn{height:46px;font-size:15px}
.modal .stack{gap:8px}
.bigico{width:34px;height:34px;margin-bottom:4px}
.sheet{max-height:82%;padding:8px 16px calc(16px + var(--sb));border-radius:24px 24px 0 0}
.sheet .h2{font-size:20px;margin-bottom:10px}
.sheet .btn{height:46px}
.sheet .chip{height:34px;font-size:13px}
.ovs{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:6px 12px;border-radius:99px;background:rgba(17,138,89,.92);color:#fff;font:700 12.5px var(--ui)}
.ovs svg{width:14px;height:14px;stroke:#fff}
.slotgrid{display:grid;gap:8px;margin:8px 0 14px}
.slotrow{display:grid;grid-template-columns:92px repeat(3,1fr);gap:6px;align-items:center}
.slotrow b{font:600 14px var(--ui);text-transform:capitalize}
.slotrow .chip{height:38px;padding:0 4px;justify-content:center;font-size:12.5px}

/* ───────── vérification du visage : plein écran, façon Face ID ───────── */
.vf{position:absolute;inset:0;z-index:90;display:flex;flex-direction:column;background:#0b0a0d;color:#f7f4f2;animation:fade .25s}
.vf-top{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + var(--st)) 14px 8px}
.vf-top b{font:700 15px var(--ui);color:rgba(255,255,255,.75)}
.vf-x{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:16px}
.vf-top span{width:40px}
.vf-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 22px calc(22px + var(--sb));text-align:center;overflow-y:auto}
.vf-body h2{margin:0 0 6px;font:800 26px/1.15 var(--ui);letter-spacing:-.03em}
.vf-lead{margin:0 0 20px;color:rgba(255,255,255,.7);font-size:15.5px}
.vf-hero{width:132px;height:132px;margin:0 auto 18px}
.vf-hero svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.vf-hero .c{stroke:#E3CA92;animation:vfpulse 2.2s ease-in-out infinite;transform-origin:60px 60px}
@keyframes vfpulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.94);opacity:.7}}
.vf-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;text-align:left;width:100%;max-width:340px}
.vf-steps li{display:flex;align-items:center;gap:12px;font:600 14.5px var(--ui);color:rgba(255,255,255,.9)}
.vf-steps i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,59,107,.22);color:#E3CA92;font:700 13px var(--ui);font-style:normal}
.vf-ck{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;max-width:340px;margin-bottom:16px;font-size:13px;color:rgba(255,255,255,.7);line-height:1.4}
.vf-ck input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:#E3CA92}
.vf-intro{display:flex;flex-direction:column;align-items:center;width:100%;max-width:380px}
.vf-intro .btn,.vf-res .btn{max-width:340px}
.vf-count{font:700 12px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);min-height:16px;margin-bottom:14px}
.vf-cam{--d:min(74vw,46vh);position:relative;width:var(--d);height:var(--d);margin:0 auto 22px}
.vf-clip{position:absolute;inset:8%;border-radius:50%;overflow:hidden;background:#000}
.vf-video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}
.vf-ring{position:absolute;inset:0;pointer-events:none}
.vf-ring svg{width:100%;height:100%;overflow:visible}
.vf-ring .seg{fill:none;stroke:rgba(255,255,255,.22);stroke-width:3.2;stroke-linecap:round;transition:stroke .25s}
.vf-ring .seg.cur{stroke:#fff}
.vf-ring .seg.done{stroke:#2ee08a}
.vf-cam.good .seg.cur{stroke:#2ee08a}
.vf-cam.good .vf-clip{box-shadow:0 0 0 3px #2ee08a,0 0 34px 6px rgba(46,224,138,.55)}
.vf-clip{transition:box-shadow .2s}
.vf-cam.busy .vf-ring svg{animation:vfspin 1.4s linear infinite;transform-origin:center}
@keyframes vfspin{to{transform:rotate(360deg)}}
.vf-arrows{position:absolute;top:50%;display:none;gap:3px;transform:translateY(-50%)}
.vf-arrows.on{display:flex}
.vf-arrows.l{left:-34px;flex-direction:row-reverse}
.vf-arrows.r{right:-34px}
.vf-arrows i{display:block;width:11px;height:11px;border-top:3.5px solid #E3CA92;border-right:3.5px solid #E3CA92;border-radius:2px;opacity:.25;animation:vfarr 1s ease-in-out infinite}
.vf-arrows.r i{transform:rotate(45deg)}
.vf-arrows.l i{transform:rotate(-135deg)}
.vf-arrows i:nth-child(2){animation-delay:.18s}.vf-arrows i:nth-child(3){animation-delay:.36s}
@keyframes vfarr{0%,100%{opacity:.2}40%{opacity:1}}
.vf-title{min-height:30px}
.vf-sub{margin:0 0 6px;color:rgba(255,255,255,.72);font-size:15px;min-height:22px}
.vf-tip{margin:12px 0 0;color:rgba(255,255,255,.45);font-size:12.5px}
.vf-res{display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px}
.vf-bubble{width:96px;height:96px;margin-bottom:18px}
.vf-bubble svg{width:100%;height:100%;fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.vf-res.ok .vf-bubble circle{stroke:#2ee08a;fill:rgba(46,224,138,.14)}
.vf-res.ok .vf-bubble path{stroke:#2ee08a;stroke-dasharray:60;stroke-dashoffset:60;animation:vfdraw .6s .15s ease-out forwards}
.vf-res.ko .vf-bubble circle{stroke:#ff6b81;fill:rgba(255,107,129,.12)}
.vf-res.ko .vf-bubble path{stroke:#ff6b81}
@keyframes vfdraw{to{stroke-dashoffset:0}}
.vf-res p{margin:0 0 22px;color:rgba(255,255,255,.75);font-size:15.5px;line-height:1.45}
.vf-res .stack{width:100%;display:grid;gap:10px}
.vfghost{background:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:none!important}
@media(max-height:640px){.vf-cam{--d:min(60vw,38vh)}.vf-hero{width:96px;height:96px}}
@media(min-width:900px){.vf{left:50%;right:auto;width:min(480px,100%);transform:translateX(-50%);border-radius:0}}

/* Avis privé après rendez-vous */
.rq{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.rq>span{flex:1;font-weight:600;font-size:15px}
.rq .pr{display:flex;gap:8px}
.rq .btn.on{background:var(--tx);color:var(--bg);border-color:transparent}

/* Explorer */
.xhead{padding:18px 16px 8px}.xhead h1{margin:0;font-size:28px;letter-spacing:-.02em;font-weight:800}.xhead p{margin:4px 0 0;color:var(--mut);font-size:14px}
.xhead.row{display:flex;align-items:center;gap:10px}.xhead.row h1{font-size:22px}
.xgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:8px 16px 12px}
.xtile{position:relative;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:112px;padding:14px;border-radius:18px;background:var(--s1);border:1px solid var(--line);color:var(--tx);font:inherit;cursor:pointer;transition:transform .15s var(--ease)}
.xtile:active{transform:scale(.97)}.xtile b{font-size:16px;font-weight:700;margin-top:auto}.xtile small{color:var(--mut);font-size:12.5px;line-height:1.3}
.xtile .xic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--s2);color:var(--rose)}.xtile .xic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.xtile .xn{position:absolute;top:12px;right:12px;min-width:26px;height:26px;padding:0 8px;border-radius:13px;display:grid;place-items:center;background:var(--tx);color:var(--bg);font-size:12.5px;font-weight:700}
.xtile.skel,.xcard.skel{background:var(--s2);border-color:transparent;animation:pulse 1.2s infinite alternate}
.xduel{display:flex;align-items:center;gap:12px;margin:0 16px 18px;padding:14px;width:calc(100% - 32px);border-radius:18px;background:var(--s1);border:1px solid var(--line);color:var(--tx);font:inherit;text-align:left;cursor:pointer}
.xduel>span{flex:1;display:grid}.xduel small{color:var(--mut);font-size:12.5px}.xduel svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.xlist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:8px 16px 24px}
.xcard{position:relative;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:0;padding:0;background:var(--s2);cursor:pointer}
.xcard img{width:100%;height:100%;object-fit:cover;display:block}
.xcard .xov{position:absolute;inset:auto 0 0 0;padding:34px 12px 12px;display:grid;gap:2px;text-align:left;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.62),transparent)}
.xcard .xov b{font-size:16px}.xcard .xov small{font-size:12px;opacity:.85}
@media(min-width:900px){.xgrid{grid-template-columns:repeat(4,1fr)}.xlist{grid-template-columns:repeat(4,1fr)}}
@keyframes pulse{from{opacity:.55}to{opacity:1}}

/* Discussions */
.searchrow{padding:12px 16px 4px}.searchrow .search{width:100%;border-radius:14px;background:var(--s2);border:0;padding:12px 14px;font-size:15px}
.turn{margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--rose);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.nm1[hidden],.conv[hidden]{display:none}

/* Profil : pastilles + barre d'accès rapide */
.chiprow{display:flex;gap:8px;overflow-x:auto;padding:4px 16px 12px;scrollbar-width:none}.chiprow::-webkit-scrollbar{display:none}
.chipb{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:var(--s1);border:1px solid var(--line2);color:var(--tx);font:inherit;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer}
.chipb svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chipb.ok{color:var(--ok);border-color:transparent;background:var(--s2)}
.qrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px 14px}
.qtile{display:grid;justify-items:center;gap:3px;padding:12px 6px;border-radius:16px;background:var(--s1);border:1px solid var(--line);color:var(--tx);font:inherit;cursor:pointer}
.qtile b{font-size:16px;font-weight:800}.qtile small{color:var(--mut);font-size:11.5px}.qtile .qic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--s2);color:var(--rose)}
.qtile .qic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ───────── v11 : profil façon réseau social, dock, Explorer à photos ───────── */
.mehero2{display:grid;justify-items:center;gap:6px;padding:6px 16px 12px;text-align:center}
.ringav{position:relative;width:136px;height:136px;border:0;background:none;padding:0;cursor:pointer;color:inherit}
.ringav img{position:absolute;inset:11px;width:calc(100% - 22px);height:calc(100% - 22px);border-radius:50%;object-fit:cover}
.ringsvg{position:absolute;inset:0}.ringsvg svg{width:100%;height:100%;display:block}
.rg0,.rg1{fill:none;stroke-width:5}.rg0{stroke:var(--line2)}.rg1{stroke:var(--rose);stroke-linecap:round}
.ringpct{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);padding:3px 11px;border-radius:99px;background:var(--rose);color:#fff;font:800 12.5px var(--ui);border:3px solid var(--bg)}
.mh2name{margin:8px 0 0;font:800 26px var(--ui);letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.mehero2 .mh-city{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:14px}.mehero2 .mh-city svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.mehero2 .mh-acts{display:flex;gap:8px;margin-top:10px}
.chiprow{justify-content:center;flex-wrap:wrap;overflow:visible}

/* Dock Découvrir : 4 ronds, sans libellés, couleurs franches */
.decide .rlab{display:none}
.decide .dockpill{background:none!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important;gap:16px!important;align-items:center!important}
.decide .rbtn{background:var(--s1)!important;box-shadow:0 8px 22px -10px rgba(0,0,0,.55),inset 0 0 0 2px var(--line2)!important;width:56px!important;height:56px!important}
.decide .rbtn svg{width:26px!important;height:26px!important}
.decide .rbtn.pass{box-shadow:0 8px 22px -10px rgba(0,0,0,.55),inset 0 0 0 2px #ff6b81!important}.decide .rbtn.pass svg{stroke:#ff6b81!important}
.decide .rbtn.sup{width:48px!important;height:48px!important;box-shadow:0 8px 22px -10px rgba(0,0,0,.55),inset 0 0 0 2px #3ca4ff!important}.decide .rbtn.sup svg{stroke:#3ca4ff!important;fill:rgba(60,164,255,.18)!important}
.decide .rbtn.like{width:64px!important;height:64px!important;background:#E3CA92!important;box-shadow:0 12px 26px -10px rgba(255,59,107,.75)!important}
.decide .rbtn.mini{width:42px!important;height:42px!important}.decide .rbtn.mini svg{stroke:#f3c56e!important;width:20px!important;height:20px!important}

/* Explorer : tuiles à photo */
.xgrid{gap:10px}
.xtile{padding:0;overflow:hidden;min-height:0;aspect-ratio:4/5;justify-content:flex-end;background:var(--s2)}
.xtile .xph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.xtile .xshade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.05) 62%)}
.xtile b,.xtile small{position:relative;color:#fff;padding:0 14px}.xtile b{font-size:18px;margin-top:0}.xtile small{padding-bottom:14px;opacity:.85}
.xtile .xic{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.45);color:#fff}
.xtile .xn{background:#fff;color:#111}
.xduel{align-items:center}.xduel>span{display:grid;gap:2px}.xduel>svg:first-child{flex:none;color:var(--rose)}

/* Fenêtres : cases à cocher lisibles, texte aligné à gauche */
.modal .check{display:flex;align-items:flex-start;gap:12px;text-align:left;font-size:14px;line-height:1.45}
.modal .check input{flex:none;margin-top:3px}
.modal.stack{display:grid;gap:14px}.modal.stack h3{margin:0;text-align:center;font-size:20px}.modal.stack .hint{margin:0;text-align:center}
.modal .linkbtn{justify-self:center;text-decoration:none;color:var(--mut);font-size:13px}

/* Carte Découvrir : hiérarchie claire (nom, âge, pastilles, une phrase) */
.vitrine .ov{bottom:22px;left:18px;right:18px}
.vitrine .pname{font:800 34px/1.05 var(--ui);letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.vitrine .pname small{font:500 28px var(--ui);font-style:normal;opacity:.92;letter-spacing:0}
.vitrine .meta{gap:6px;margin-top:10px}.vitrine .meta span{padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.16);font-size:13px;font-weight:600;color:#fff}.vitrine .meta span::before{display:none!important}
.vitrine .ovq{font:500 15px/1.4 var(--ui);font-style:normal;margin-top:12px;opacity:.95}
.vitrine .ovc{display:none}
.xtile .xic svg{fill:none!important;stroke:#fff!important}
.cc .cn,.cc .cn b,.cc .cn small{white-space:nowrap}
.cc.c3{min-width:150px}

/* ───────── Marque : sable #E3CA92 (texte foncé dessus) ───────── */
:root{--rose:#C9A25A;--grad:#E3CA92;--on-brand:#1d1608}
:root[data-theme=dark]{--rose:#E3CA92;--grad:#E3CA92}
.btn:not(.ghost):not(.danger):not(.gold),.sticker.rose,.badge,.combo,.conv .ub,.pct,.send,.bub.me,.turn,.ringpct,.rbtn.like,.xn,.qic{color:var(--on-brand)!important}
.btn.sm:not(.ghost):not(.danger){color:var(--on-brand)}
.rbtn.like svg,.rbtn.like svg *,.send svg,.send svg *{stroke:var(--on-brand)!important;fill:var(--on-brand)!important}
.decide .rbtn.like{background:#E3CA92!important;box-shadow:0 12px 26px -10px rgba(227,202,146,.55)!important}
.decide .rbtn.pass{box-shadow:0 8px 22px -10px rgba(0,0,0,.55),inset 0 0 0 2px #ff7a8c!important}.decide .rbtn.pass svg{stroke:#ff7a8c!important}
.ringpct{background:#E3CA92;border-color:var(--bg)}
.tab.on svg{stroke:var(--rose);fill:rgba(227,202,146,.2)}
.switch.on{background:#E3CA92}
.vbadge{color:#fff}

/* Bandeau d'offre en cours */
.promo2{display:flex;align-items:center;gap:12px;margin:0 14px 12px;padding:10px 12px;border-radius:18px;background:#E3CA92;color:#1d1608;cursor:pointer}
.promo2 .pc{flex:none;min-width:64px;padding:8px 10px;border-radius:12px;background:#1d1608;color:#E3CA92;font:800 20px/1 var(--ui);text-align:center;letter-spacing:-.02em}
.promo2 .lt{flex:1;display:grid;gap:1px}.promo2 .lt b{font-size:15px}.promo2 .lt small{font-size:12.5px;opacity:.8}
.promo2 .go{flex:none;padding:8px 12px;border-radius:99px;background:rgba(29,22,8,.12);font:700 13px var(--ui)}

/* Boutique compacte : tout l'essentiel sans défiler */
.shop5 .secthead{margin:14px 0 8px}
.shop5 .plans5{display:grid;gap:10px;padding:0 16px}
.tiers5{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tier5{position:relative;display:grid;justify-items:center;gap:2px;padding:14px 6px 12px;border-radius:16px;background:var(--s1);border:1.5px solid var(--line2);color:var(--tx);font:inherit;cursor:pointer}
.tier5.on{border-color:var(--rose);background:rgba(227,202,146,.12)}
.tier5 b{font-size:14px}.tier5 .tp{font:800 21px var(--ui);letter-spacing:-.02em;display:flex;gap:4px;align-items:baseline}.tier5 .tp s{font-size:12px;font-weight:500;opacity:.55}.tier5 small{color:var(--mut);font-size:11.5px}
.tier5 i{position:absolute;top:-9px;font:800 10px var(--ui);font-style:normal;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:99px;background:var(--rose);color:var(--on-brand)}
.feat5{list-style:none;margin:0;padding:12px 14px;border-radius:16px;background:var(--s1);display:grid;gap:8px}
.feat5 li{display:flex;gap:10px;align-items:center;font-size:14.5px}.feat5 .tick{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(227,202,146,.2);color:var(--rose);font-size:12px;flex:none}
.shop5 .pnote{text-align:center;font-size:12.5px;color:var(--mut)}
.shop5 .pass5s{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px}
.shop5 .pass5{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:12px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.shop5 .pass5 .pi{grid-row:span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--s2);color:var(--rose)}
.shop5 .pass5 .lt b{font-size:13.5px}.shop5 .pass5 .lt small{display:none}
.shop5 .pass5 .btn{grid-column:1/-1;height:36px;padding:0 10px;font-size:14px;border-radius:12px}
.shop5 .faq5{margin:6px 16px}
.btn.gold{background:#E3CA92!important;color:var(--on-brand)!important;box-shadow:none!important}
.sticker.gold{background:#E3CA92;color:var(--on-brand)}
.qtile .qic,.pass5 .pi,.xtile .xic{color:var(--rose)!important}.xtile .xic{color:#fff!important}

/* À l'unité : tuiles lisibles */
.ugrp{margin:14px 16px 8px;font:700 13px var(--ui);color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.units5{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}
.unit5{position:relative;display:grid;justify-items:center;gap:4px;padding:18px 10px 14px;border-radius:18px;background:var(--s1);border:1.5px solid var(--line2);color:var(--tx);font:inherit;cursor:pointer}
.unit5.best{border-color:var(--rose)}
.unit5 .ub{font:800 34px/1 var(--ui);letter-spacing:-.03em}.unit5 .us{font-size:13px;color:var(--mut);text-align:center}
.unit5 .up{margin-top:8px;padding:8px 18px;border-radius:99px;background:var(--rose);color:var(--on-brand);font:800 15px var(--ui);display:flex;gap:6px;align-items:baseline}.unit5 .up s{font-size:12px;font-weight:500;opacity:.6}
.unit5 i{position:absolute;top:-9px;font:800 10px var(--ui);font-style:normal;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:99px;background:var(--rose);color:var(--on-brand)}

/* États vides : centrés, avec médaillon */
.empty{min-height:64vh;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 24px;text-align:center;max-width:420px;margin:0 auto;width:100%}
.empty>svg,.empty>span{width:88px!important;height:88px!important;padding:24px;box-sizing:border-box;border-radius:50%;background:rgba(227,202,146,.12);box-shadow:0 0 0 10px rgba(227,202,146,.06);margin-bottom:10px;stroke:var(--rose)!important;stroke-width:1.6!important}
.empty>span svg{width:100%!important;height:100%!important;stroke:var(--rose)!important}
.empty h3{font:800 24px/1.15 var(--ui);letter-spacing:-.02em;margin:0}
.empty>div{color:var(--mut);font-size:15px;line-height:1.5;max-width:320px}
.empty .btn{width:100%;max-width:320px}
.empty .btn.block{width:100%}

/* Explorer centré */
.xhead{text-align:center;padding:20px 16px 12px}.xhead h1{font-size:26px}.xhead.row{justify-content:flex-start;text-align:left}
.xduel{max-width:calc(100% - 32px);justify-content:center}
.xduel>span{text-align:left}
.sheet .stack{display:grid;gap:10px;padding:6px 18px 18px}.sheet h3{margin:4px 0 0;font-size:20px;font-weight:800}.sheet .hint{margin:0}
.rq .btn{height:40px;min-width:64px;padding:0 14px;border-radius:12px;font-size:14px}
.rq .btn.on{background:var(--rose)!important;color:var(--on-brand)!important}

/* ═══════════ v12 — Direction artistique premium : neutre chaud, verre dépoli, champagne ═══════════
   Tokens : couleurs (fond --bg #14110f, surfaces --s1..s3, texte --tx #f6efe7, champagne #e3ca92, rose poudré #e8b8b0, corail #e58f78),
   typo (SF Pro / Rounded, sinon Inter : 36 titre carte, 22 titre, 16 corps, 13 légende), grille 4 pt (4 8 12 16 20 24 32),
   rayons (carte 34, bouton 20, capsule 999), verre (flou 18-24 px, filet 1 px), mouvement (spring .2,.9,.25,1.08 ; 160/280/480 ms). */
:root[data-theme=dark]{
  --bg:#14110f;--s1:#1c1815;--s2:#26211d;--s3:#322b26;
  --tx:#f6efe7;--mut:#b4a99d;--faint:#7d736a;
  --line:rgba(255,236,214,.08);--line2:rgba(255,236,214,.16);
  --glass:rgba(28,24,21,.52);--glass-b:rgba(255,236,214,.12);
  --cta:linear-gradient(135deg,#efdbac 0%,#e3ca92 52%,#e0b79a 100%);
  --spring:cubic-bezier(.2,.9,.25,1.08);
  --ui:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Rounded",Inter,system-ui,sans-serif;
}
:root{--r-card:34px}
.btn:not(.ghost):not(.danger),.decide .rbtn.like,.unit5 .up,.promo2,.tier5 i,.ringpct{background:var(--cta,#E3CA92)!important}
:root:not([data-theme=dark]) .btn:not(.ghost):not(.danger){background:#E3CA92!important}

/* Carte de profil : bord à bord, courbes continues, dégradé progressif au tiers bas */
#app .stage{padding:0}
#app .stage .pcard{inset:0;border-radius:0 0 var(--r-card) var(--r-card);corner-shape:squircle;box-shadow:none;background:var(--s1)}
#app .stage .pcard.next{border-radius:var(--r-card);transform:scale(.94) translateY(14px)}
#app .vitrine{border-radius:inherit}
#app .vitrine::after{height:62%;background:linear-gradient(to top,rgba(14,11,9,.94) 0%,rgba(14,11,9,.82) 16%,rgba(14,11,9,.52) 40%,rgba(14,11,9,.18) 68%,transparent 100%)}
#app .vitrine .bars{top:max(12px,env(safe-area-inset-top));left:16px;right:16px;gap:5px}
#app .vitrine .bars i{height:3px;background:rgba(255,244,230,.28)}#app .vitrine .bars i.on{background:#fff6ea}
#app .vitrine .top{top:calc(max(12px,env(safe-area-inset-top)) + 16px);left:16px;right:16px}
.glass{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:var(--glass,rgba(28,24,21,.52));-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid var(--glass-b,rgba(255,236,214,.12));color:#fff6ea;font:600 12.5px/1 var(--ui);letter-spacing:.01em}
.glass svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9}
.glass.ok{color:#c3e6cd}
.live{width:7px;height:7px;border-radius:50%;background:#86d9a6;box-shadow:0 0 0 3px rgba(134,217,166,.22)}
#app .vitrine .ov{left:20px;right:20px;bottom:20px;display:grid;gap:10px}
#app .vitrine .pname{display:flex;align-items:center;gap:10px;font-family:"SF Pro Rounded",var(--ui);color:#fff6ea}
#app .vitrine .pname .nm{font-size:36px;line-height:1.02;font-weight:700;letter-spacing:-.025em}
#app .vitrine .pname small{font-size:30px;font-weight:300;font-style:normal;opacity:.9;letter-spacing:0}
#app .vitrine .pname .vbadge{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(227,202,146,.22);border:1px solid rgba(227,202,146,.55);color:#f2dfb4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#app .vitrine .pname .vbadge svg{width:12px;height:12px;stroke:currentColor;stroke-width:3}
.meta2{display:flex;flex-wrap:wrap;gap:6px 16px;color:rgba(255,244,230,.88);font:500 14.5px/1.2 var(--ui)}
.meta2 span{display:inline-flex;align-items:center;gap:6px}.meta2 svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;opacity:.85}
#app .vitrine .ovq{margin:0;font:400 15.5px/1.45 var(--ui);color:rgba(255,244,230,.92);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.caps{display:flex;flex-wrap:wrap;gap:6px}
.caps span{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,244,230,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,244,230,.14);color:#fff6ea;font:600 13px/1 var(--ui)}
.caps span.more{background:rgba(255,244,230,.08);color:rgba(255,244,230,.7)}
#app .vitrine .ovs{display:flex;align-items:center;gap:8px;color:#f2dfb4;font:600 13px var(--ui)}#app .vitrine .ovs svg{width:15px;height:15px;stroke:currentColor;fill:none}

/* Barre d'actions : boutons flottants en verre, à portée du pouce */
#app .decide{padding:0 16px 14px}
#app .decide .dockpill{background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;gap:18px!important;align-items:center!important}
#app .decide .rbtn{width:58px!important;height:58px!important;background:var(--glass,rgba(28,24,21,.6))!important;-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid var(--glass-b,rgba(255,236,214,.14));box-shadow:0 12px 28px -14px rgba(0,0,0,.7),0 2px 6px -2px rgba(0,0,0,.4)!important;transition:transform .28s var(--spring),box-shadow .28s,background .2s}
#app .decide .rbtn:active{transform:scale(.88)}
#app .decide .rbtn svg{width:26px!important;height:26px!important}
#app .decide .rbtn.pass{border-color:rgba(229,143,120,.5)}#app .decide .rbtn.pass svg{stroke:#e58f78!important}
#app .decide .rbtn.sup{width:50px!important;height:50px!important;border-color:rgba(232,184,176,.55)}#app .decide .rbtn.sup svg{stroke:#e8b8b0!important;fill:rgba(232,184,176,.18)!important}
#app .decide .rbtn.like{width:68px!important;height:68px!important;border:0;box-shadow:0 14px 30px -12px rgba(227,202,146,.6),0 2px 8px -2px rgba(0,0,0,.4)!important}
#app .decide .rbtn.like svg,#app .decide .rbtn.like svg *{stroke:#2a1f0e!important;fill:#2a1f0e!important}
#app .decide .rbtn.mini{width:44px!important;height:44px!important}#app .decide .rbtn.mini svg{width:20px!important;height:20px!important;stroke:#d9cdbf!important}

/* Barre d'onglets flottante (mobile) */
@media(max-width:979px){
  #app .tabbar{margin:0 14px calc(10px + var(--sb));padding:6px;border-radius:26px;background:var(--glass,rgba(28,24,21,.6));-webkit-backdrop-filter:blur(26px) saturate(1.7);backdrop-filter:blur(26px) saturate(1.7);border:1px solid var(--glass-b,rgba(255,236,214,.12));box-shadow:0 16px 36px -18px rgba(0,0,0,.8)}
  #app .tab{border-radius:20px;padding:8px 0 6px}
  #app .tab.on{background:rgba(227,202,146,.12)}
}

/* Écran de match : immersif */
.match5{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;justify-content:space-between;color:#fff6ea;animation:m5in .5s var(--spring)}
.match5.out{opacity:0;transition:opacity .26s}
@keyframes m5in{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.m5bg{position:absolute;inset:-6%;background-size:cover;background-position:center;filter:blur(38px) saturate(1.25) brightness(.55);transform:scale(1.1)}
.m5shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,17,15,.35),rgba(20,17,15,.82))}
.m5in{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 28px 8px;text-align:center}
.m5faces{position:relative;display:flex;align-items:center;justify-content:center;height:176px;margin-bottom:12px}
.m5faces img{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,244,230,.9);box-shadow:0 24px 48px -16px rgba(0,0,0,.7)}
.m5faces .a{transform:translateX(18px) rotate(-6deg);animation:m5a .7s .1s var(--spring) both}.m5faces .b{transform:translateX(-18px) rotate(6deg);animation:m5b .7s .1s var(--spring) both}
@keyframes m5a{from{transform:translateX(-90px) rotate(-14deg);opacity:0}}@keyframes m5b{from{transform:translateX(90px) rotate(14deg);opacity:0}}
.m5heart{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;background:var(--cta);box-shadow:0 10px 24px -8px rgba(227,202,146,.7);animation:m5h .6s .5s var(--spring) both}
.m5heart svg{width:22px;height:22px;stroke:#2a1f0e;fill:#2a1f0e}@keyframes m5h{from{transform:scale(0)}}
.m5kick{font:700 12px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:#e3ca92}
.m5h{margin:0;font:800 44px/1.04 var(--ui);letter-spacing:-.03em}.m5h em{font-style:normal;color:#e3ca92}
.m5p{margin:0;max-width:300px;font:400 16px/1.5 var(--ui);color:rgba(255,244,230,.78)}
.m5cta{position:relative;display:grid;gap:6px;padding:0 20px calc(24px + var(--sb))}
.m5cta .btn{height:56px;border-radius:var(--r-btn,20px);font-size:17px}
.m5skip{height:48px;background:none;border:0;color:rgba(255,244,230,.72);font:600 15px var(--ui);cursor:pointer}
#app .decide .rbtn.like{background:var(--cta,#E3CA92)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
#app .vitrine .ovs{background:none!important;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0}
.match5{background:#14110f}

/* ═══════════ v13 — Mon profil (l'écrin) et Conversation (l'anti-ghosting respectueux) ═══════════ */
/* Sélecteur de vue en verre */
.glassseg{display:flex;gap:4px;margin:6px 16px 12px;padding:4px;border-radius:999px;background:var(--glass,rgba(28,24,21,.52));-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--glass-b,rgba(255,236,214,.12))}
.glassseg button{flex:1;min-height:44px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--mut);font:600 13px/1.15 var(--ui);cursor:pointer;transition:background .28s var(--spring),color .2s}
.glassseg button.on{background:rgba(227,202,146,.16);color:var(--tx);box-shadow:inset 0 0 0 1px rgba(227,202,146,.4)}
.pv5{padding:0 16px 8px}
.pvgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pvph{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--s2)}
.pvph.main{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.pvph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .4s var(--spring),transform .4s var(--spring)}
.pvph.blur img{filter:blur(16px) saturate(1.1);transform:scale(1.15)}
.pvph .lk{position:absolute;inset:0;display:grid;place-items:center;color:#fff6ea}.pvph .lk svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.pv5 .hint{margin:12px 8px 0}

/* Cartes de l'écrin : champagne et verre */
.champ5,.warm5,.algo5{margin:0 16px 12px;border-radius:24px;padding:16px}
.champ5{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(145deg,rgba(239,219,172,.2),rgba(227,202,146,.08));border:1px solid rgba(227,202,146,.35);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.champ5 .cic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(227,202,146,.2);color:#e3ca92}
.champ5 .cic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.champ5 .ct{display:grid;gap:4px;min-width:0}.champ5 .ct b{font:700 17px var(--ui);letter-spacing:-.01em}.champ5 .ct small{color:var(--mut);font-size:13.5px;line-height:1.45}
.champ5 .cv{margin-top:6px}
.okchip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;background:rgba(227,202,146,.16);color:#f0dcae;font:600 12.5px var(--ui)}.okchip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.6}
.linkb{background:none;border:0;padding:6px 0;color:#e3ca92;font:600 14px var(--ui);cursor:pointer;min-height:32px}
.warm5{position:relative;background:var(--glass,rgba(28,24,21,.52));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-b,rgba(255,236,214,.12));display:grid;gap:8px}
.warm5 .qm{position:absolute;top:2px;left:14px;font:italic 700 54px/1 Georgia,serif;color:rgba(227,202,146,.35)}
.warm5 p{margin:14px 0 0;padding-left:4px;font:italic 400 16.5px/1.5 Georgia,"Times New Roman",serif;color:var(--tx)}.warm5 small{color:var(--mut);font-size:13px;padding-left:4px}
.warm5.blank{justify-items:start}.warm5.blank p{margin:0;font:400 14.5px/1.5 var(--ui);font-style:normal;color:var(--mut)}
.algo5{background:var(--glass,rgba(28,24,21,.52));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-b,rgba(255,236,214,.12));display:grid;gap:12px}
.algo5 .ah{display:flex;align-items:center;gap:10px}.algo5 .ah svg{width:20px;height:20px;stroke:#e3ca92;fill:none;stroke-width:1.8}.algo5 .ah b{font:700 16px var(--ui)}.algo5 .ah .sp{flex:1}
.algo5 .ac{display:grid;gap:12px;justify-items:start}.algo5 .insight{display:flex;flex-wrap:wrap;gap:6px}
.algo5 .sk{display:block;width:70%;height:30px;border-radius:15px;background:var(--s2);animation:pulse 1.2s infinite alternate}

/* Conversation : avatar + indicateur de chiffrement */
.avw{position:relative;flex:none;width:44px;height:44px;cursor:pointer}.avw .av{width:44px;height:44px;border-radius:50%;object-fit:cover}
.avw .e2e{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--s1);border:1.5px solid var(--bg);color:#e3ca92}
.avw .e2e svg{width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:2.4}
.chathead .w small{color:var(--mut);font-size:12.5px}

/* Jauge de déverrouillage de la galerie */
.gate{display:flex;align-items:center;gap:12px;margin:8px 12px 4px;padding:10px 12px;border-radius:20px;background:var(--glass,rgba(28,24,21,.52));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--glass-b,rgba(255,236,214,.12))}
.gate.open{color:#f0dcae;font:600 13px var(--ui);gap:10px}.gate.open svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}
.gph{display:flex;flex:none}.gph img{width:38px;height:48px;border-radius:10px;object-fit:cover;filter:blur(6px);margin-left:-12px;border:2px solid var(--bg)}.gph img:first-child{margin-left:0}
.gt{flex:1;display:grid;gap:6px;min-width:0}.gt b{font:700 13.5px var(--ui)}.gt small{color:var(--mut);font-size:12px}
.gbar{height:6px;border-radius:3px;background:rgba(255,236,214,.12);overflow:hidden}.gbar i{display:block;height:100%;border-radius:3px;background:var(--cta,#e3ca92);transition:width .6s var(--spring)}

/* Bulle « Poser un moment » et rituel post-rencontre */
.plancard5{position:relative;margin:10px 12px;padding:16px;border-radius:24px;background:var(--glass,rgba(28,24,21,.6));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(227,202,146,.4);display:grid;gap:6px}
.plancard5 .pk{font:700 11.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#e3ca92}
.plancard5 .pw{font:700 19px/1.25 var(--ui);letter-spacing:-.01em}.plancard5 .pn{color:var(--mut);font-size:14px}
.plancard5 .pr{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:8px}.plancard5 .pr .btn{height:46px;border-radius:14px}
.aftercard{margin:8px 12px;padding:16px;border-radius:24px;background:linear-gradient(145deg,rgba(239,219,172,.16),rgba(227,202,146,.06));border:1px solid rgba(227,202,146,.32);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:6px}
.aftercard b{font:700 18px var(--ui);letter-spacing:-.01em}.aftercard small{color:var(--mut);font-size:13.5px;line-height:1.45}
.aftercard .pr{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.aftercard .pr .btn{height:44px;border-radius:14px}
.pvgrid{grid-auto-rows:118px}.pvph{aspect-ratio:auto}.pvph.main{aspect-ratio:auto}
.pvgrid .pvph.main:only-child{grid-column:1/-1}
.chip.static.on,.chip.on{color:#f0dcae!important;background:rgba(227,202,146,.14)!important;border-color:rgba(227,202,146,.32)!important}
.plancard5 .pr{grid-template-columns:1.2fr 1fr}.plancard5 .pr .btn{white-space:nowrap}

/* Inscription : champs étiquetés */
.fld{display:grid;gap:8px}.flab{font:700 12.5px var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
/* Invitation discrète (verre dépoli) */
.nudge{display:flex;align-items:center;gap:10px;margin:8px 12px;padding:10px 10px 10px 14px;border-radius:20px;background:var(--glass,rgba(28,24,21,.55));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(227,202,146,.3)}
.nudge .nt{flex:1;display:grid;gap:2px;min-width:0}.nudge .nt b{font:700 14px var(--ui)}.nudge .nt small{color:var(--mut);font-size:12.5px;line-height:1.35}
.nudge .btn.sm{height:36px;padding:0 14px;border-radius:12px;font-size:13.5px;white-space:nowrap}.nudge .iconbtn{width:32px;height:32px;min-width:32px}
.fld .opt3{display:flex;flex-wrap:wrap;gap:8px}.fld .o3{width:auto;min-height:44px;padding:0 20px;border-radius:999px}
.fld .o3.on{background:rgba(227,202,146,.16);box-shadow:inset 0 0 0 1.5px rgba(227,202,146,.6);color:var(--tx)}
.xhead.row .iconbtn{width:44px;min-width:44px;flex:none}.turn{white-space:nowrap}.conv .t1{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}
#app .sticker.mint,.chip.mint{background:rgba(227,202,146,.14);color:#f0dcae;box-shadow:inset 0 0 0 1px rgba(227,202,146,.35)}

/* Thème clair : le verre devient clair ; sur les photos il reste sombre */
:root:not([data-theme=dark]){--glass:rgba(255,253,250,.82);--glass-b:rgba(40,25,30,.12)}
#app .vitrine .glass,#app .vitrine .caps span{background:rgba(28,24,21,.5);border-color:rgba(255,236,214,.16)}
:root:not([data-theme=dark]) #app .decide .rbtn:not(.like){background:rgba(255,253,250,.94)!important;border-color:rgba(40,25,30,.12);box-shadow:0 10px 24px -14px rgba(40,25,30,.45)!important}
:root:not([data-theme=dark]) .glassseg button.on{color:#1d1608;background:rgba(201,162,90,.2)}
:root:not([data-theme=dark]) .nudge{border-color:rgba(201,162,90,.4)}
:root:not([data-theme=dark]) .champ5{background:linear-gradient(145deg,rgba(227,202,146,.3),rgba(227,202,146,.1));border-color:rgba(201,162,90,.5)}
:root:not([data-theme=dark]) .champ5 .ct small{color:#6b5f66}
.xduel{justify-content:flex-start!important;gap:14px;padding:16px}.xduel>span{flex:1;text-align:left}.xduel>svg:first-child{width:28px;height:28px;flex:none}

/* ═══════════ v14 — Liquid Glass : noir organique, verre, lueur champagne ═══════════
   Tokens : fond #0b0b0e + lumières radiales douces ; verre rgba(255,255,255,.05), filet rgba(255,255,255,.12), flou 20 px, reflet spéculaire (inset 0 1px rgba(255,255,255,.14)) ;
   champagne uniquement sur les états actifs, les lueurs et les badges clés ; rayons continus 20 à 28 px. */
:root[data-theme=dark]{
  --bg:#0b0b0e;
  --s1:rgba(255,255,255,.05);--s2:rgba(255,255,255,.075);--s3:rgba(255,255,255,.11);
  --line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.13);
  --tx:#f6f2ec;--mut:#b6b0a8;--faint:#7c7770;
  --glass:rgba(255,255,255,.05);--glass-b:rgba(255,255,255,.12);
  --blur:blur(20px) saturate(1.5);
  --spec:inset 0 1px 0 rgba(255,255,255,.14);
  --glow:0 0 34px -8px rgba(227,202,146,.5);
  --r-card:28px;
}
:root[data-theme=dark] body,:root[data-theme=dark] #app,:root[data-theme=dark] .main{
  background-color:#0b0b0e;
  background-image:radial-gradient(62% 38% at 12% -4%,rgba(227,202,146,.13),transparent 72%),radial-gradient(55% 34% at 104% 22%,rgba(118,104,210,.12),transparent 72%),radial-gradient(60% 40% at 50% 112%,rgba(227,150,130,.08),transparent 70%);
  background-attachment:fixed;
}
/* Conteneurs : verre (flou + reflet), plus d'aplats ni de filets beiges */
:root[data-theme=dark] :is(.lcard,.plan5,.feat5,.unit5,.tier5,.xduel,.algo5,.warm5,.champ5,.nudge,.pass5,.faq5,.glassseg,.env5,.dil5,.box,.cmp5,.planbar,.quote,.locked,.conv){
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--spec);
}
:root[data-theme=dark] :is(.lcard,.plan5,.feat5,.unit5,.tier5,.xduel,.algo5,.warm5,.champ5,.nudge,.pass5,.faq5,.env5,.dil5,.planbar){border:1px solid rgba(255,255,255,.1);border-radius:26px}
:root[data-theme=dark] .champ5{background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:var(--spec),0 0 40px -14px rgba(227,202,146,.35)}
:root[data-theme=dark] .champ5 .cic{box-shadow:var(--glow)}
:root[data-theme=dark] .nudge{border-color:rgba(255,255,255,.12)}
:root[data-theme=dark] .tier5.on,:root[data-theme=dark] .unit5.best{border-color:rgba(255,255,255,.22);box-shadow:var(--spec),var(--glow)}
:root[data-theme=dark] .glassseg{border-color:rgba(255,255,255,.1);box-shadow:var(--spec)}
:root[data-theme=dark] .glassseg button.on{background:rgba(255,255,255,.1);box-shadow:var(--spec),0 0 22px -8px rgba(227,202,146,.55);color:#fff}
:root[data-theme=dark] .sheet,:root[data-theme=dark] .modal{background:rgba(18,18,24,.74);-webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6);border:1px solid rgba(255,255,255,.1);box-shadow:var(--spec),0 -20px 60px -20px rgba(0,0,0,.8)}
:root[data-theme=dark] .sheet{border-radius:30px 30px 0 0}
:root[data-theme=dark] #app .tabbar{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:var(--spec),0 18px 40px -18px rgba(0,0,0,.9)}
:root[data-theme=dark] #app .tab.on{background:rgba(255,255,255,.09);box-shadow:var(--spec)}
:root[data-theme=dark] #app .topbar,:root[data-theme=dark] .chathead,:root[data-theme=dark] .composer,:root[data-theme=dark] .chatroot{background:transparent}
:root[data-theme=dark] .chathead{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid rgba(255,255,255,.07)}
:root[data-theme=dark] .input,:root[data-theme=dark] input.input,:root[data-theme=dark] textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:var(--spec)}
:root[data-theme=dark] .bub:not(.me){background:rgba(255,255,255,.08);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--spec)}
:root[data-theme=dark] .btn.ghost{background:rgba(255,255,255,.07);box-shadow:var(--spec);border:1px solid rgba(255,255,255,.1)}
:root[data-theme=dark] .btn:not(.ghost):not(.danger){box-shadow:var(--spec),0 10px 30px -10px rgba(227,202,146,.55)}

/* Chat : halo doré autour de l'avatar + liseré lumineux en haut (jauge de galerie, discrète) */
.chathead{position:relative;--p:0}
.avw::before{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from -90deg,#e3ca92 calc(var(--p) * 1%),rgba(255,255,255,.1) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2.5px));filter:drop-shadow(0 0 7px rgba(227,202,146,.55))}
.chathead.gopen .avw::before{background:conic-gradient(#e3ca92,#f3e2b8,#e3ca92)}
.chathead::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:calc(var(--p) * 1%);background:linear-gradient(90deg,transparent,#e3ca92);box-shadow:0 0 14px rgba(227,202,146,.7);transition:width .8s var(--spring,ease)}
.warm:empty{display:none}

/* Envies rapides : capsules en verre, un tap */
.quick{display:flex;gap:8px;overflow-x:auto;padding:6px 14px 2px;scrollbar-width:none}.quick::-webkit-scrollbar{display:none}.quick:empty{display:none}
.qcap{flex:none;height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);-webkit-backdrop-filter:var(--blur,blur(20px));backdrop-filter:var(--blur,blur(20px));color:var(--tx);font:600 13.5px var(--ui);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);cursor:pointer;white-space:nowrap;transition:transform .25s var(--spring,ease),box-shadow .25s}
.qcap:active{transform:scale(.94)}
.qcap.hot,.qcap.on{border-color:rgba(227,202,146,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 26px -8px rgba(227,202,146,.65);color:#f6e7c1}
.env5{margin:0 16px 12px;padding:16px;display:grid;gap:12px;background:rgba(255,255,255,.05)}.env5 .eh{display:grid;gap:2px}.env5 .eh b{font:700 16px var(--ui)}.env5 .eh small{color:var(--mut);font-size:12.5px}
.ecaps{display:flex;flex-wrap:wrap;gap:8px}
#app .vitrine .caps.envs span.env{background:rgba(227,202,146,.2);border-color:rgba(227,202,146,.5);color:#fbefcf;box-shadow:0 0 22px -6px rgba(227,202,146,.6)}

/* Carte d'invitation « billet » : encoches, pointillé, éclat holographique doré */
.plancard5{position:relative;margin:12px 14px;padding:18px 20px;border:0;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.04));-webkit-backdrop-filter:var(--blur,blur(20px));backdrop-filter:var(--blur,blur(20px));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 40px -22px rgba(0,0,0,.9),0 0 34px -12px rgba(227,202,146,.4);-webkit-mask:radial-gradient(circle 11px at 0 var(--notch,64%),transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--notch,64%),transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 var(--notch,64%),transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% var(--notch,64%),transparent 98%,#000) right/51% 100% no-repeat}
.plancard5::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,236,190,.28) 48%,rgba(190,170,255,.16) 54%,transparent 70%);background-size:260% 100%;animation:holo 5.5s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
@keyframes holo{0%{background-position:130% 0}60%,100%{background-position:-40% 0}}
.plancard5 .pk{display:flex;align-items:center;gap:8px;font:700 11px var(--ui);letter-spacing:.2em;text-transform:uppercase;color:#e3ca92}
.plancard5 .pw{font:800 22px/1.2 var(--ui);letter-spacing:-.02em}
.plancard5 .pn{padding-bottom:12px;border-bottom:1.5px dashed rgba(255,255,255,.2);color:var(--mut)}
.plancard5 .pr{margin-top:4px}

/* Débrief : pastille flottante + feuille douce */
.afterdate{position:absolute;left:0;right:0;bottom:calc(86px + var(--sb));display:grid;place-items:center;pointer-events:none;z-index:4}.afterdate:empty{display:none}
.floatpill{pointer-events:auto;height:42px;padding:0 18px;border-radius:999px;border:1px solid rgba(227,202,146,.5);background:rgba(20,20,26,.7);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#f6e7c1;font:700 13.5px var(--ui);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 28px -8px rgba(227,202,146,.6);cursor:pointer;animation:floaty 3.2s ease-in-out infinite}
@keyframes floaty{50%{transform:translateY(-3px)}}
.chatroot{position:relative}
.moods{display:grid;gap:10px}.moods .btn{height:52px;border-radius:18px}

/* Le Dilemme du jour */
.dil5{margin:12px 16px;padding:16px;display:grid;gap:12px;background:rgba(255,255,255,.05)}
.dil5 .dh{display:grid;gap:4px}.dil5 .dk{font:700 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:#e3ca92}.dil5 .dh b{font:800 19px/1.25 var(--ui);letter-spacing:-.01em}
.dil5 .dv{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dopt{position:relative;overflow:hidden;min-height:78px;padding:12px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--tx);font:600 14.5px/1.3 var(--ui);text-align:center;display:grid;place-items:center;gap:4px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:transform .25s var(--spring,ease)}
.dopt:not([disabled]):active{transform:scale(.96)}
.dopt::before{content:"";position:absolute;left:0;bottom:0;height:100%;width:var(--w,0%);background:rgba(227,202,146,.16);transition:width .7s var(--spring,ease)}
.dopt.mine{border-color:rgba(227,202,146,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 26px -8px rgba(227,202,146,.6)}
.dopt>*{position:relative}.dopt .dp{font:800 18px var(--ui);color:#f6e7c1}
.dil5 .dn{color:var(--mut);font-size:12.5px;text-align:center}
:root[data-theme=dark] .conv{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border-radius:0}
.afterdate{bottom:calc(150px + var(--sb))}.plancard5 .pw{font-size:20px}
:root:not([data-theme=dark]) .plancard5{background:linear-gradient(135deg,#fffdfa,#f3ece2);box-shadow:0 14px 30px -18px rgba(40,25,30,.4)}:root:not([data-theme=dark]) .qcap,:root:not([data-theme=dark]) .dopt{background:#fffdfa;border-color:rgba(40,25,30,.14);color:#1c1519}:root:not([data-theme=dark]) .dil5,:root:not([data-theme=dark]) .env5{background:#fffdfa;border:1px solid rgba(40,25,30,.1)}
#app .stage .pcard,#app .pcard{background:#121216}#app .pcard .pbody{background:#121216}

/* ═══════════ v15 — carte allégée, match immersif, dilemme éditorial, photos éphémères ═══════════ */
/* Carte : nom, âge, badge, intention, 2 envies cliquables ; le reste est dans la fiche qui défile */
#app .vitrine .ov{gap:12px;bottom:24px}
.intent{display:flex}
.intent .icap{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18);color:#fff6ea;font:700 13px var(--ui);letter-spacing:.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
#app .vitrine .caps.envs{gap:8px}
#app .vitrine .caps.envs .env{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;border:1px solid rgba(227,202,146,.55);background:rgba(227,202,146,.2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fbefcf;font:700 13.5px var(--ui);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 24px -6px rgba(227,202,146,.65);cursor:pointer;transition:transform .25s var(--spring,ease),box-shadow .25s}
#app .vitrine .caps.envs .env:active{transform:scale(.93)}
.facts{display:flex;flex-wrap:wrap;gap:8px;padding:16px 16px 4px}
.fact{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:var(--tx);font:600 13px var(--ui)}
.fact svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}.fact.hl{color:#f6e7c1;border-color:rgba(227,202,146,.4);background:rgba(227,202,146,.1)}

/* Match : photo du match en plein écran, flou 50 px, teinte sombre .6, halo champagne derrière les avatars */
.m5bg{filter:blur(50px) saturate(1.2) brightness(.4);inset:-10%}
.m5shade{background:radial-gradient(60% 40% at 50% 38%,rgba(227,202,146,.0),rgba(11,11,14,.35) 80%),linear-gradient(to bottom,rgba(11,11,14,.1),rgba(11,11,14,.55))}
.m5halo{position:absolute;left:50%;top:50%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(227,202,146,.5) 0%,rgba(227,202,146,.18) 38%,transparent 68%);filter:blur(10px);animation:halo 3.4s ease-in-out infinite;pointer-events:none}
@keyframes halo{50%{transform:scale(1.12);opacity:.85}}
.m5env{display:grid;gap:2px;justify-items:center;padding:12px 16px;border-radius:20px;border:1px solid rgba(227,202,146,.45);background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff6ea;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 30px -10px rgba(227,202,146,.6);cursor:pointer}
.m5env small{font:700 10.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#e3ca92}.m5env b{font:700 16px var(--ui)}
.m5cta{gap:10px}

/* Dilemme du jour : look éditorial, deux univers contrastés, jauge animée, matchs de même avis */
.dil5 .dv{gap:12px}
.dopt{min-height:128px;padding:16px 12px;gap:8px;align-content:center;border-radius:24px}
.dopt .di{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.dopt .di svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.dopt.a{background:linear-gradient(160deg,rgba(227,202,146,.2),rgba(255,255,255,.04))}.dopt.a .di{background:rgba(227,202,146,.22);color:#f3dfae}
.dopt.b{background:linear-gradient(160deg,rgba(135,120,230,.24),rgba(255,255,255,.04))}.dopt.b .di{background:rgba(135,120,230,.28);color:#cfc6ff}
.dopt::before{top:0;bottom:auto;height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:rgba(255,255,255,.1);width:var(--w,0%);transform:none;transition:width .9s cubic-bezier(.2,.9,.25,1)}
.dopt.a::before{background:rgba(227,202,146,.22)}.dopt.b::before{background:rgba(135,120,230,.28)}
.dopt.lead .dp{font-size:26px}.dopt .dp{font:800 22px var(--ui);transition:font-size .4s}
.dil5 .same{display:grid;gap:8px;justify-items:center;padding-top:4px}
.dil5 .same .sl{font:700 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:#e3ca92}
.dil5 .sa{display:flex;gap:-6px}.sav{width:44px;height:44px;margin-left:-8px;border-radius:50%;padding:0;border:2px solid #0b0b0e;background:none;overflow:hidden;cursor:pointer;box-shadow:0 0 0 1px rgba(227,202,146,.5)}
.sav:first-child{margin-left:0}.sav img{width:100%;height:100%;object-fit:cover;display:block}

/* Photo éphémère : verre dépoli, maintien du doigt pour voir, une seule vue */
.snap5{position:relative;display:flex;align-items:center;gap:14px;width:min(78%,300px);margin:10px 14px;padding:16px;border-radius:24px;background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 16px 36px -20px rgba(0,0,0,.9);color:var(--tx);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;overflow:hidden}
.snap5.mine{margin-left:auto;background:rgba(227,202,146,.12);border-color:rgba(227,202,146,.35)}
.snap5::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 6px,transparent 6px 12px);pointer-events:none}
.snap5 .sn-ic{position:relative;flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#f3dfae;box-shadow:0 0 22px -4px rgba(227,202,146,.55)}.snap5 .sn-ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.snap5 .sn-tx{position:relative;display:grid;gap:2px}.snap5 .sn-tx b{font:700 15px var(--ui)}.snap5 .sn-tx small{color:var(--mut);font-size:12.5px;line-height:1.35}
.snap5.gone{opacity:.6;cursor:default}.snap5.gone .sn-ic{box-shadow:none;color:var(--mut)}
.snapview{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:rgba(5,5,8,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.snapview img{max-width:100%;max-height:86%;border-radius:26px;box-shadow:0 30px 80px -20px #000;-webkit-touch-callout:none;pointer-events:none;user-select:none}
.snapview .sv-hint{position:absolute;bottom:calc(30px + var(--sb));left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font:600 13px var(--ui)}

/* ═══════════ v16 — Bannière d'Alchimie, verre fumé, extrait vocal, « Ce soir ou jamais », signe complice ═══════════ */
/* Bannière d'Alchimie : l'en-tête devient une carte de verre compacte (avatar + anneau + jauge en 3 crans) */
:root[data-theme=dark] .chathead,.chathead{flex-wrap:wrap;margin:8px 10px 0;padding:10px 12px 10px 8px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 36px -22px rgba(0,0,0,.9);row-gap:8px}
.chathead::after{display:none}
.chathead .w{flex:1;min-width:0}
.alch{flex-basis:100%;display:flex;align-items:center;gap:12px;padding:0 6px 0 8px}
.alch:empty{display:none}
.alch .segs{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.alch .segs i{position:relative;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.alch .segs i::after{content:"";position:absolute;inset:0;width:var(--f,0%);border-radius:3px;background:linear-gradient(90deg,#d9be84,#f3e2b8);box-shadow:0 0 12px rgba(227,202,146,.8);transition:width .8s cubic-bezier(.2,.9,.25,1)}
.alch .at{flex:none;color:var(--mut);font:600 12px var(--ui)}
.alch.open{padding:0}
.alch .rib{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:30px;border-radius:999px;background:linear-gradient(100deg,rgba(227,202,146,.22),rgba(243,226,184,.34),rgba(227,202,146,.22));background-size:200% 100%;animation:rib 5s ease-in-out infinite;color:#fbefcf;font:700 12.5px var(--ui);letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 22px -8px rgba(227,202,146,.6)}
.alch .rib svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}
@keyframes rib{50%{background-position:100% 0}}

/* Photo éphémère : verre fumé translucide, bordure or subtile, œil ambré ; « Vue · heure » en fin et clair */
.snap5{background:rgba(18,16,14,.55);-webkit-backdrop-filter:blur(30px) saturate(1.3);backdrop-filter:blur(30px) saturate(1.3);border:1px solid rgba(227,202,146,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 40px -22px rgba(0,0,0,.95)}
.snap5::before{display:none}
.snap5.mine{background:rgba(24,20,14,.6);border-color:rgba(227,202,146,.42)}
.snap5 .sn-ic{background:rgba(227,160,70,.16);color:#f0b565;box-shadow:0 0 22px -4px rgba(240,181,101,.55)}
.snap5.gone{width:auto;min-width:0;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);box-shadow:none;opacity:1;margin-top:6px;margin-bottom:6px}
.snap5.gone.mine{margin-left:auto}
.snap5 .sn-gone{font:300 13px var(--ui);color:#fff;opacity:.5;letter-spacing:.02em}
.sheet .compl{margin:0;font:600 15px/1.5 var(--ui);color:var(--tx);text-align:center}
.sheet .fine{display:block;text-align:center;color:var(--faint);font-size:12px;line-height:1.4}

/* Signe complice */
.qcap.poke{border-color:rgba(240,181,101,.6);background:rgba(240,181,101,.14);color:#ffe2b4;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 28px -8px rgba(240,181,101,.7);animation:pokepulse 2.6s ease-in-out infinite}
@keyframes pokepulse{50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 34px -4px rgba(240,181,101,.9)}}
.pokechip{display:flex;align-items:center;gap:10px;width:max-content;max-width:86%;margin:10px auto;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(240,181,101,.35);color:#ffe2b4;font:600 13px var(--ui)}
.pokechip .pk-e{font-size:20px}

/* Extrait vocal : capsule à onde dorée */
.voice-wrap{padding:14px 16px 0}
.voice5{display:flex;align-items:center;gap:12px;width:100%;max-width:340px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid rgba(227,202,146,.4);background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--tx);text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 28px -10px rgba(227,202,146,.55)}
.voice5 .vplay{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cta,#e3ca92);color:#2a1f0e}.voice5 .vplay svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.voice5 .vwave{flex:1;display:flex;align-items:center;gap:2.5px;height:34px;min-width:0}
.voice5 .vwave i{flex:1;max-width:4px;height:var(--h,40%);border-radius:2px;background:linear-gradient(to top,#d9be84,#f6e7c1);opacity:.85;transform-origin:center}
.voice5.playing .vwave i{animation:vbar .9s ease-in-out infinite;animation-delay:var(--d,0ms)}
@keyframes vbar{50%{transform:scaleY(.35)}}
.voice5 .vt{flex:none;display:grid;text-align:right}.voice5 .vt b{font:700 12.5px var(--ui)}.voice5 .vt small{color:var(--mut);font-size:11.5px}
.voice-rec{margin:0 16px 12px;padding:16px;border-radius:26px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:grid;gap:12px}
.voice-rec .vh{display:grid;gap:2px}.voice-rec .vh b{font:700 16px var(--ui)}.voice-rec .vh small,.voice-rec .vlock{color:var(--mut);font-size:12.5px}
.voice-rec .vbtns{display:flex;align-items:center;gap:14px}
.voice-rec .vrec{display:flex;align-items:center;gap:10px;color:#ffd6d6}.voice-rec .vrec .dot{width:10px;height:10px;border-radius:50%;background:#ff6b81;box-shadow:0 0 12px #ff6b81;animation:pokepulse 1s infinite}

/* Explorer : « Ce soir ou jamais », halo ambré qui pulse doucement */
.xtile.hot{border-color:rgba(240,181,101,.7);box-shadow:0 0 0 1px rgba(240,181,101,.35),0 0 38px -4px rgba(240,181,101,.55);animation:hot 3.2s ease-in-out infinite}
.xtile.hot .xshade{background:linear-gradient(to top,rgba(60,28,0,.82) 0%,rgba(240,150,40,.12) 70%)}
.xtile.hot .xic{background:rgba(240,181,101,.35);color:#fff}
.xtile.hot::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 40px rgba(240,181,101,.32)}
@keyframes hot{50%{box-shadow:0 0 0 1px rgba(240,181,101,.55),0 0 56px 2px rgba(240,181,101,.8)}}
.snap5.gone{width:max-content;max-width:78%}
:root[data-theme=dark] .sheet,:root[data-theme=dark] .modal{background:rgba(16,16,22,.97)}
.veil{transform:translateZ(0);isolation:isolate}
#app:has(.veil) .quick,#app:has(.veil) .afterdate{visibility:hidden}

/* Icônes fines des capsules et du signe complice : trait 1,5 px, champagne #E8D5B7 */
.cico{display:inline-grid;place-items:center;margin-right:8px;color:#E8D5B7}.cico svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.qcap{display:inline-flex;align-items:center}
.pokechip .cico{margin-right:10px}.pokechip .cico svg{width:20px;height:20px}
.pokechip b{color:#E8D5B7}
.qcap.poke{border-color:rgba(232,213,183,.6);background:rgba(232,213,183,.1);color:#E8D5B7;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 26px -10px rgba(232,213,183,.6);animation:none}

/* Tampons de swipe : verre fumé, filet et lettres champagne (plus de vert fluo) */
#app .stampk{top:96px;padding:9px 20px;border:1.5px solid rgba(243,226,199,.72);border-radius:999px;background:rgba(14,12,10,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#F3E2C7;font:700 17px var(--ui);letter-spacing:.16em;text-shadow:0 0 14px rgba(243,226,199,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 32px -6px rgba(243,226,199,.6)}
#app .stampk.like{left:22px;transform:rotate(-6deg)}
#app .stampk.nope{right:22px;transform:rotate(6deg);color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.34);text-shadow:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
/* Mode duo */
.intent{gap:8px;flex-wrap:wrap}
.intent .icap.duo{display:inline-flex;align-items:center;gap:6px;border-color:rgba(232,213,183,.6);background:rgba(232,213,183,.16);color:#F3E2C7;box-shadow:0 0 22px -6px rgba(232,213,183,.6)}
.intent .icap.duo svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}
.qcap.duo{border-color:rgba(232,213,183,.45)}.qcap.duo.on{border-color:rgba(232,213,183,.75);background:rgba(232,213,183,.14);color:#F3E2C7}
/* v17 : finitions tampon J'AIME (liseré champagne + cœur) et invitation duo */
#app .stampk.like{border:1px solid #E8D5B7;display:flex;align-items:center;gap:8px}
#app .stampk .sheart{display:inline-flex;width:15px;height:15px;color:#F3E2C7}
#app .stampk .sheart svg{width:100%;height:100%}
.duoinv{margin:10px 0 0}
a.btn,a.btn:hover{text-decoration:none}
/* v18 : monogramme intégré */
.mgm{display:inline-block;flex:none;line-height:0}
.mgm .mg2{stroke:#1c1519}
:root[data-theme=dark] .mgm .mg2{stroke:#f7f4f2}
a.btn.block{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;height:auto;min-height:56px;padding:12px 20px}
/* v19 : like ciblé sur un détail, « En boucle en ce moment », carte « Défi premier verre » (zéro emoji, champagne, verre dépoli) */
.quote,.voice-wrap{position:relative}
.dheart{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(232,213,183,.4);background:rgba(20,17,15,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#E8D5B7;display:grid;place-items:center;padding:0;z-index:2}
.dheart svg{width:16px;height:16px;stroke-width:1.5}
.dheart:active{transform:scale(.92);background:rgba(232,213,183,.18)}
.voice-wrap .dheart{top:50%;right:10px;margin-top:-16px}
.dbubble .dq{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:16px;border:1px solid rgba(232,213,183,.22);background:rgba(232,213,183,.06)}
.dbubble .dq .cico{color:#E8D5B7;flex:none}
.dbubble .dq small{display:block;opacity:.65;font-size:12px}
.dbubble .dq b{display:block;font-weight:600;line-height:1.3}
.tune{display:flex;align-items:center;gap:14px;margin:10px 0;padding:12px 16px;border-radius:18px;border:1px solid rgba(232,213,183,.22);background:rgba(232,213,183,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.tune .lt{display:flex;flex-direction:column;min-width:0}
.tune small{opacity:.65;font-size:12px;letter-spacing:.02em}
.tune b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tune em{font-style:normal;opacity:.7;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tune .wave{display:inline-flex;align-items:center;gap:3px;height:24px;flex:none}
.tune .wave i{display:block;width:3px;height:8px;border-radius:2px;background:#E8D5B7;box-shadow:0 0 8px rgba(232,213,183,.55);animation:tunew 1.3s ease-in-out infinite}
.tune .wave i:nth-child(2){animation-delay:.15s}.tune .wave i:nth-child(3){animation-delay:.3s}.tune .wave i:nth-child(4){animation-delay:.45s}.tune .wave i:nth-child(5){animation-delay:.6s}
@keyframes tunew{0%,100%{height:6px;opacity:.55}50%{height:22px;opacity:1}}
@media (prefers-reduced-motion:reduce){.tune .wave i{animation:none;height:14px}}
.defi{position:relative;display:block;width:min(260px,78%);height:132px;margin:10px 0;padding:0;border:0;background:none;perspective:900px;color:inherit;font:inherit;text-align:center;cursor:pointer}
.defi.me{margin-left:auto}
.defi .df{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px;border-radius:22px;border:1px solid rgba(232,213,183,.38);background:linear-gradient(160deg,rgba(232,213,183,.16),rgba(30,26,22,.78));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 30px -12px rgba(0,0,0,.6);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.defi .df .cico{color:#E8D5B7}
.defi .df small{opacity:.65;font-size:12px}
.defi .df b{font-weight:600;line-height:1.3;font-size:15px}
.defi .back{transform:rotateY(180deg)}
.defi.flip .front{transform:rotateY(-180deg)}
.defi.flip .back{transform:rotateY(0)}
.lkc .t .lnote{display:block;margin-top:3px;font-size:12px;font-weight:500;opacity:.9;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* v20 : rendu natif (WebView) : barres de défilement masquées, bottom sheets glissables, alignements stricts, tableau sans débordement */
*{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
.sheet{position:relative;overscroll-behavior:contain}
.sheet .gz{position:absolute;top:0;left:0;right:0;height:36px;z-index:3;touch-action:none;cursor:grab}
.sheet.dragging{transition:none!important;animation:none!important}
.sheet.settle{transition:transform .42s cubic-bezier(.22,1.2,.36,1)!important;animation:none!important}
.sheet.leaving{transition:transform .34s cubic-bezier(.32,.72,0,1)!important;animation:none!important}
.veil.fading{transition:opacity .3s;opacity:0}
.champ5 .cic,.cic{display:flex;align-items:center;justify-content:center;flex:none}
.champ5 .cic svg,.cic svg{display:block;margin:0}
.glass svg,.chipb svg{flex:none;display:block}
.seg5:not(.wide){display:grid;grid-template-columns:1fr 1fr;gap:4px;width:100%;padding:4px;box-sizing:border-box}
.seg5:not(.wide) button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;min-width:0;white-space:nowrap}
.glassseg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;box-sizing:border-box}
.glassseg button{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0}
.cmp5{overflow-x:hidden}
.cmp5 table{table-layout:fixed;width:100%;min-width:0;font-size:13px}
.cmp5 th{font-size:12px;padding:12px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp5 td{padding:11px 2px}
.cmp5 th:first-child,.cmp5 td:first-child{width:34%;padding-left:12px;padding-right:4px}
.cmp5 th:not(:first-child),.cmp5 td:not(:first-child){width:16.5%}
.cmp5 td.y svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;vertical-align:middle}
.tick svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;display:block}
.cta-note{margin:10px 0 0;font-size:12.5px;line-height:1.35}
/* v21 : consentement d'accès immédiat avant paiement */
.waiverbox{display:flex;gap:12px;align-items:flex-start;margin:14px 0 4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(232,213,183,.28);background:rgba(232,213,183,.06);font-size:13px;line-height:1.4;color:var(--mut)}
.waiverbox input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#E3CA92}
.waiverbox.shake{animation:wshake .45s;border-color:#E3CA92}
@keyframes wshake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
/* v22 : messages masqués / signalés */
.bub.masked{font-style:italic;opacity:.75}
.bubgrp{display:flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%}
.bubact{display:flex;gap:14px;padding:0 6px}
.bubact .linkbtn.sm{font-size:12.5px;padding:2px 0}
/* v23 : conversation — cartes spéciales jamais écrasées, carte « Défi premier verre » en verre fumé, aucune barre de défilement */
*{scrollbar-width:none!important}
.msgs,.scroll,.quick,.ice{scrollbar-width:none!important;scrollbar-color:transparent transparent}
.msgs::-webkit-scrollbar,.scroll::-webkit-scrollbar{display:none;width:0;height:0}
.msgs{padding-top:16px}
.msgs>*{flex-shrink:0}
.plancard5,.defi{flex-shrink:0}
.defi{width:85%;max-width:85%;height:auto;min-height:118px;margin:10px 0}
.defi .df{padding:14px 18px;border-radius:18px;border:1px solid rgba(232,213,183,.35);background:linear-gradient(160deg,rgba(232,213,183,.1),rgba(26,22,19,.82));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.defi .df.front{position:relative}
.defi .df.back{position:absolute;inset:0}
.defi .dlabel{font:700 11px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:#E8D5B7;opacity:1}
.defi .dhint{font-size:12.5px;opacity:.65}
.defi .back b{font-size:15.5px;font-weight:600;line-height:1.35}
/* v24 : ajout de photo (input transparent sur le bouton), indicateur champagne */
.filebtn{position:relative;overflow:hidden}
.filebtn .filein{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:0;cursor:pointer;z-index:3}
.spin{display:block;width:26px;height:26px;border-radius:50%;border:3px solid rgba(232,213,183,.25);border-top-color:#E3CA92;animation:spin360 .8s linear infinite}
@keyframes spin360{to{transform:rotate(360deg)}}
.slot.filebtn{font-size:30px;font-weight:300;color:#E8D5B7}
/* v25 : listes déroulantes lisibles en thème sombre, couverture du morceau */
select.input,select.input option,select option{background-color:#1b1a1f;color:#f5f0ea}
select.input option:checked{background-color:#3a3328;color:#F3E2C7}
:root:not([data-theme=dark]) select.input,:root:not([data-theme=dark]) select.input option{background-color:#fffdfa;color:#1c1519}
select.input{color-scheme:dark}
:root:not([data-theme=dark]) select.input{color-scheme:light}
a.tune{text-decoration:none;color:inherit}
.tune .cov{width:54px;height:54px;border-radius:12px;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(232,213,183,.3)}
.tune .go{margin-left:auto;flex:none;font-size:12px;color:#E8D5B7;border:1px solid rgba(232,213,183,.35);border-radius:999px;padding:5px 10px;white-space:nowrap}
.tprev{display:flex;gap:12px;align-items:center;margin:8px 0 2px;padding:10px;border-radius:14px;border:1px solid rgba(232,213,183,.25);background:rgba(232,213,183,.06)}
.tprev .cov{width:48px;height:48px;border-radius:10px;object-fit:cover}
.tprev small{display:block;opacity:.7}
/* v26 : pages légales (CGU, CGV, confidentialité, mentions) au nouveau design */
.legal{background:#0A090C;color:#F5F0EA}
.lbrand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.lbrand b{font:800 26px/1 var(--ui);letter-spacing:-.05em}
.legal main{max-width:680px}
.legal h1{font:800 38px/1.08 var(--ui);letter-spacing:-.045em;margin:6px 0 14px}
.legal h2{font:700 19px/1.3 var(--ui);letter-spacing:-.02em;color:#E3CA92;margin:34px 0 8px;padding-top:22px;border-top:1px solid rgba(232,213,183,.16)}
.legal h2:first-of-type{border-top:0;padding-top:0}
.legal p,.legal li{color:#cfc6bf;font-size:15.5px;line-height:1.7}
.legal a{color:#E3CA92;text-underline-offset:3px}
.legal .lead{font-size:18px;line-height:1.55;color:#F5F0EA;padding:16px 18px;border-radius:18px;border:1px solid rgba(232,213,183,.25);background:rgba(232,213,183,.06)}
.legal .back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid rgba(232,213,183,.3);background:rgba(232,213,183,.06);color:#E8D5B7;text-decoration:none;font-size:14px;margin-bottom:18px}
:root:not([data-theme=dark]) .legal{background:#F6F1EA;color:#1c1519}
:root:not([data-theme=dark]) .legal h2{color:#8a6a26}
:root:not([data-theme=dark]) .legal p,:root:not([data-theme=dark]) .legal li{color:#4a3f44}
:root:not([data-theme=dark]) .legal a{color:#8a6a26}
:root:not([data-theme=dark]) .legal .lead{color:#1c1519}
:root:not([data-theme=dark]) .lbrand .lg2{stroke:#1c1519}
/* v27 : sombre luxe par défaut, surfaces mates, verre dépoli subtil, accent champagne uni ; barre de saisie du chat sur écran étroit */
:root[data-theme=dark]{--bg:#0B0B0E;--s1:#15151A;--s2:#1B1B21;--s3:#24242B;--glass:rgba(255,255,255,.06);--glass-b:rgba(255,255,255,.10);--cta:#E8D5B7;--grad:#E8D5B7;--rose:#E8D5B7;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.14)}
:root[data-theme=dark] html,:root[data-theme=dark] body,:root[data-theme=dark] #app,:root[data-theme=dark] .main{background:#0B0B0E;background-image:none}
:root[data-theme=dark] .main::after{display:none}
:root[data-theme=dark] .btn:not(.ghost):not(.danger),:root[data-theme=dark] .btn.gold,:root[data-theme=dark] .sticker.gold{background:#E8D5B7;background-image:none;color:#1a1408;box-shadow:none}
:root[data-theme=dark] :is(.plancard,.plancard5,.champ5,.aftercard,.promo,.flash,.zero,.offer.best,.sticky-cta,.chest,.dopt.a,.dopt.b,.passrow .pack,.planbar,.vbanner,.quote,.env5,.warm5,.algo5,.faq5,.pass5,.unit5,.tier5){background-image:none;background-color:var(--s1);box-shadow:inset 0 0 0 1px var(--line)}
:root[data-theme=dark] .plancard5::before{display:none}
:root[data-theme=dark] :is(.glass,.glassseg,.dockpill,.tabbar,.topbar,.quick .qcap){-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
select.input{background-image:none}
/* chat : barre de saisie lisible à 360 px */
.composer{gap:6px;padding:8px 10px max(12px,var(--sb))}
.composer textarea{min-width:0;flex:1 1 0;min-height:42px;height:42px;padding:10px 14px;line-height:22px;font-size:15.5px;border-radius:21px}
.composer .planbtn{width:36px;height:36px;margin-bottom:3px}
.composer .planbtn svg{width:19px;height:19px}
.composer .send,.composer button.send{flex:none;width:42px;height:42px}
/* v28 : audit 360 px — alignements, titres sur une ligne, carte Duel, accent champagne */
.xduel{display:grid!important;grid-template-columns:28px 1fr 22px;gap:14px;align-items:center;justify-content:stretch!important;text-align:left}
.xduel>span{min-width:0}
.xduel small{line-height:1.35}
.pghead h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:23px;min-width:0}
.scroll.me5 .env5,.scroll.me5 .voice-rec{margin-left:0;margin-right:0}
.seg5:not(.wide){width:calc(100% - 32px);margin:0 16px}
.rbtn.sup,:root[data-theme=dark] .rbtn.sup{box-shadow:inset 0 0 0 1px rgba(232,213,183,.5)}
.rbtn.sup svg,:root[data-theme=dark] .rbtn.sup svg{stroke:#E8D5B7}
.stampk,.sticker.rose{background-image:none}
/* v29 : Dilemme plus compact et sobre (surfaces mates, accent champagne) */
.dopt{min-height:92px;padding:12px 10px;border-radius:20px;background:var(--s2);background-image:none}
.dopt.b,.dopt.a{background-image:none;background-color:var(--s2)}
.dopt.mine{background:rgba(232,213,183,.10);box-shadow:inset 0 0 0 1px rgba(232,213,183,.55)}
.dopt .di{background:rgba(232,213,183,.12)!important}
.dopt .di svg{stroke:#E8D5B7!important}
.dil5{background-color:var(--s1);background-image:none}
.pghead h2{font-size:20px;letter-spacing:-.02em}
.pghead.tabhead h2{font-size:28px}
.pghead .btn.sm{padding:0 14px;height:40px;flex:none}
.secthead{padding-left:16px;padding-right:16px}
.secthead .seg5{width:100%;margin:0}
.secthead small{font-size:12.5px}
/* v30 : états sélectionnés en champagne (plus de pastille blanche), cartes de la fiche plus sobres, lisibilité */
.seg5 button.on,:root[data-theme=dark] .seg5 button.on{background:#E8D5B7;color:#1a1408;box-shadow:none}
.seg5 button.on i{background:#1a1408;color:#E8D5B7}
.themeseg button.on,:root[data-theme=dark] .themeseg button.on{background:rgba(232,213,183,.16);color:#F3E2C7;box-shadow:inset 0 0 0 1px rgba(232,213,183,.45)}
:root[data-theme=dark] .tier5.on{border-color:#E8D5B7;background:rgba(232,213,183,.10);box-shadow:none}
:root[data-theme=dark] .tier5{border:1px solid var(--line)}
#app .vitrine .caps.envs .env{height:32px;padding:0 13px;font-size:13.5px;box-shadow:none}
.intent .icap{height:28px;padding:0 12px;font-size:13px;background:rgba(255,255,255,.14)}
#app .vitrine .caps.envs,.intent{gap:6px;flex-wrap:wrap}
.xtile.hot{box-shadow:0 0 0 1px rgba(232,213,183,.55)}
.xtile.hot::before,.xtile.hot::after{box-shadow:none}
/* audit : corrections issues de l'auditeur A */
.voice-wrap{display:flex;align-items:center;gap:8px}
.voice-wrap>.voice5{flex:1;min-width:0}
.voice-wrap .dheart{position:static;flex:none;margin:0;top:auto;right:auto}
.tune{margin:10px 16px;gap:14px}
.tune .wave{padding-right:6px}
.quote .qq{color:#E8D5B7}
.quote q{font-size:24px;line-height:1.25}
.tprev[hidden]{display:none}
.champ5,.warm5,.algo5{margin-left:0;margin-right:0}
.algo5 .ac{margin-top:0}
.algo5{gap:8px}
.dil5 .dopt{min-height:76px}
/* audit : corrections issues de l'auditeur B */
.cmp5 table{font-size:12.5px}
.cmp5 th{font-size:11px;letter-spacing:0;padding:12px 0;text-overflow:clip}
.cmp5 th:first-child,.cmp5 td:first-child{width:31%}
.cmp5 th:not(:first-child),.cmp5 td:not(:first-child){width:17.25%}
.cmp5 td.y,.cmp5 td.y svg{color:#E8D5B7}
.voice5{box-shadow:none!important;background-image:none!important}
.voice5 .vwave i{background:#E8D5B7!important;background-image:none!important;box-shadow:none!important}
.glass.ok,.chipb.ok{color:#E8D5B7}
#app .vitrine .caps.envs span.env,#app .vitrine .caps.envs .env{box-shadow:none!important}
.rbtn.pass svg{stroke:#F3EDE6}
.rbtn.pass{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.xtile .xt b,.xtile b{font-size:18px}
.btn.danger,:root[data-theme=dark] .btn.danger{background:transparent;color:#E08A94;box-shadow:inset 0 0 0 1px rgba(224,138,148,.35)}
.duoinv{width:auto;align-self:flex-start}
:root[data-theme=dark] .chatroot,:root[data-theme=dark] .chathead{background-image:none}
/* audit passe 2 : règles renforcées (les anciennes plus spécifiques l'emportaient) */
:root[data-theme=dark] #app .xtile.hot{border-color:rgba(232,213,183,.55)!important;box-shadow:0 0 0 1px rgba(232,213,183,.45)!important;animation:none!important}
:root[data-theme=dark] #app .xtile.hot::before,:root[data-theme=dark] #app .xtile.hot::after{display:none!important}
:root[data-theme=dark] #app .xtile.hot .xshade{background:linear-gradient(to top,rgba(11,11,14,.82) 0%,rgba(11,11,14,.1) 70%)!important}
#app .xtile .xic,#app .xtile.hot .xic{background:rgba(232,213,183,.18)!important;color:#F3E2C7!important}
#app .xtile .xn{background:rgba(232,213,183,.2)!important;color:#F3E2C7!important}
#app .xtile b{font-size:17px!important;line-height:1.15!important}
#app .xhead,#app .zero h2,#app .zero p,#app .explore h2{text-align:left}
#app .glass.ok,#app .glass.ok svg{color:#E8D5B7!important;stroke:#E8D5B7!important}
#app .live{background:#E8D5B7!important;box-shadow:0 0 0 3px rgba(232,213,183,.2)!important}
#app .intent .icap.duo,#app .qcap.duo,#app .qcap.duo.on{box-shadow:none!important}
:root[data-theme=dark] #app .rbtn.pass svg{stroke:#F3EDE6!important}
:root[data-theme=dark] #app .rbtn.sup svg{stroke:#E8D5B7!important}
#app .decide .sup .n,#app .rbtn .n{background:#E8D5B7!important;color:#1a1408!important}
#app .quote q{font:italic 400 22px/1.3 var(--ui)!important}
#app .voice5,#app .voice5 .vplay{box-shadow:none!important;background-image:none!important}
#app .voice5 .vwave i{background:#E8D5B7!important;background-image:none!important;box-shadow:none!important}
#app .snap5{background:var(--s1)!important;border:1px solid rgba(232,213,183,.3)!important;box-shadow:none!important}
#app .snap5::before,#app .snap5::after{display:none!important}
#app .snap5 .eye,#app .snap5 .se{background:rgba(232,213,183,.12)!important;box-shadow:none!important;color:#E8D5B7!important}
#app .snap5 svg{stroke:#E8D5B7!important}
#app .quick .qcap{padding:0 12px}
#app .warm5 p{margin:0;padding:0}
#app .warm5 b{display:block;margin-bottom:4px}
#app .algo5{gap:4px}
#app .algo5 .ac{margin:0}
#app .duoinv{width:auto!important;align-self:flex-start}
#app .btn.danger{background:transparent!important;color:#E08A94!important;box-shadow:inset 0 0 0 1px rgba(224,138,148,.35)!important}
#app .xtile .xn{background:rgba(11,11,14,.6)!important;color:#F3E2C7!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#app .xtile .xic{background:rgba(11,11,14,.45)!important}
/* round 1 : directeur artistique */
#app .voice5{border:1px solid var(--line2)!important;min-height:56px}
.facts .fact:nth-child(n+3){display:none}
#app .quote q{font-size:20px!important}
#app .xtile b{font-size:16px!important}
#app .xtile .xic,#app .xtile.hot .xic{background:rgba(11,11,14,.5)!important}
#app .glass{background:rgba(11,11,14,.55)!important}
.empty h3{color:#F5F0EA}
.empty .btn{opacity:1;background:#E8D5B7;color:#1a1408}
#app .btn.danger{color:#C98B93!important;box-shadow:inset 0 0 0 1px rgba(201,139,147,.3)!important}
:root[data-theme=dark] .tabbar,:root[data-theme=dark] #app.shell .tabbar{border-color:rgba(255,255,255,.06)}
.intent.duoln{margin:8px 0 0}
details.fold{margin:0 0 14px}
details.fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;min-height:48px;padding:0 4px;font:600 12.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"+";font-size:20px;letter-spacing:0;color:#E8D5B7}
details.fold[open]>summary::after{content:"−"}
/* round 1 : ingénieur QA — zones tactiles >= 44 px (zone invisible autour des petits visuels), espacements >= 8 px */
.chip,.qcap,.btn.sm,.chipb,.planbtn,.linkb,.linkbtn,.iconbtn,.sticker.gold,#app .caps.envs .env,.pk-b{position:relative}
.chip::before,.qcap::before,.btn.sm::before,.chipb::before,.planbtn::before,.linkb::before,.linkbtn::before,.iconbtn::before,#app .caps.envs .env::before,.dheart::before,.slot .x::before,.slot .mv::before{content:"";position:absolute;inset:-7px;border-radius:inherit}
.slot .x::before,.slot .mv::before{inset:-10px}
.slot .x,.slot .mv{width:32px;height:32px}
.btn.sm{min-height:44px}
.seg5:not(.wide) button,.themeseg button,.glassseg button{min-height:44px}
.themeseg{gap:8px}
.seg5:not(.wide){gap:8px}
.composer{gap:8px}
.waiverbox input{width:24px;height:24px}
.sheet .gz{height:44px}
.iconbtn{min-width:44px;min-height:44px}
.quick{-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
#app .snap5 .sn-ic{background:rgba(232,213,183,.12)!important;box-shadow:none!important}
#app .snap5 .sn-ic svg{stroke:#E8D5B7!important}
/* round 2 : directeur artistique */
.intent.duoln{margin:8px 0 0}
#app .pcard .intent.duoln,#app .pbody .intent.duoln{padding:0 16px}
#app .pghead h2{font-size:18px!important;letter-spacing:-.02em}
#app .pghead{gap:8px}
#app .quote q{font-style:normal!important;font-size:20px!important;line-height:1.3!important;font-family:var(--ui)!important}
#app .tune .wave i{box-shadow:none!important}
#app .voice5{min-height:52px}
#app .voice5 .vwave i:nth-child(n+19){display:none}
#app .xtile img,#app .xtile .xbg{filter:saturate(.6) brightness(.82)}
#app .rbtn.pass{box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)!important}
#app .glass{background:rgba(11,11,14,.7)!important}
.cmp5 th:first-child,.cmp5 td:first-child{width:36%}
.cmp5 th:not(:first-child),.cmp5 td:not(:first-child){width:16%}
.cmp5 td:first-child{font-size:12.5px}
.secthead .seg5{margin-bottom:12px}
#app .algo5 .ah{align-items:center}
#app .algo5{padding:14px 16px}
details.fold{background:var(--s1);border:1px solid var(--line);border-radius:20px;padding:0 16px}
details.fold>summary{padding:0}
details.fold[open]>summary{border-bottom:1px solid var(--line)}
details.fold>.lcard{background:transparent;box-shadow:none;border:0;padding:12px 0 16px}
/* round 2 : QA */
.dopt::before{inset:auto!important;left:0!important;bottom:0!important;top:auto!important;height:100%!important;width:var(--w,0%)!important;border-radius:0!important}
.composer textarea{min-height:44px;height:44px}
.composer .send,.composer button.send{width:44px;height:44px}
.switch{position:relative}
.switch::before{content:"";position:absolute;inset:-7px}
.snap5.gone{pointer-events:none}
.dheart::before,.btn.sm::before{inset:-4px}
.btn.sm,.btn.ghost.sm{padding-left:16px;padding-right:16px;white-space:nowrap}
#app .pghead .btn.sm{padding-left:12px;padding-right:12px}
details.fold>summary::after{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(232,213,183,.12)}
/* round 3 : directeur artistique */
.facts .fact:nth-child(n+3){display:inline-flex}
.facts .fact:nth-child(n+4){display:none}
.tune{padding:10px 14px}
.voice-wrap{display:block;position:relative}
.voice-wrap>.voice5{padding-right:54px}
.voice-wrap .dheart{position:absolute;right:12px;top:50%;margin-top:-16px}
#app .vitrine .caps.envs .env{background:rgba(11,11,14,.6)!important;border-color:rgba(232,213,183,.5)!important;color:#F3E2C7!important}
#app .glass{background:rgba(11,11,14,.78)!important}
.vbadge{background:#E8D5B7!important}
.vbadge svg{stroke:#1a1408!important}
select.input{-webkit-appearance:none;appearance:none;padding-right:42px;background-repeat:no-repeat;background-position:right 16px center;background-size:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E8D5B7' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
#app .duoinv{justify-self:start;align-self:start;width:auto!important}
details.fold>summary .ft{display:grid;gap:2px;padding:10px 0}
details.fold>summary .ft b{font:600 15px var(--ui);letter-spacing:0;text-transform:none;color:var(--tx)}
details.fold>summary .ft small{font:400 13px var(--ui);letter-spacing:0;text-transform:none;color:var(--mut)}
#app .btn.danger{color:#D9A0A6!important}
/* relecture : « Vu » collé au dernier message */
.seen{margin-top:-6px;padding-right:4px}
/* QA round 3 : troncatures 4 px, zones tactiles, espacements */
.btn.sm,.btn.ghost.sm,.btn.ghost,.btn:not(.block){padding-left:18px;padding-right:18px}
.btn.sm{white-space:nowrap;font-size:14px}
.btn.block{white-space:normal}
.dopt::before{inset:0!important;left:0!important;right:0!important;bottom:0!important;top:0!important;height:100%!important;width:var(--w,0%)!important;border-radius:inherit!important}
.dheart::before{inset:-7px!important}
.snap5.gone{min-height:0;pointer-events:none}
.tabbar{gap:4px}
.lrow{padding-top:14px;padding-bottom:14px}
.plan5,.planbar{margin-bottom:12px}
/* QA round 4 : cascade gagnée sur les troncatures, carte d'offre au-dessus des onglets, espacement des onglets */
#app .btn.sm,#app .btn.ghost.sm,#app .pghead .btn.sm,#app .btn.sm.ghost{padding-left:20px!important;padding-right:20px!important;white-space:nowrap!important}
#app .btn.block{white-space:normal!important}
#app .planbar,#app .plan5{margin-bottom:16px!important}
#app .tabbar{gap:8px}
#app .waiverbox{min-height:44px}
#app .waiverbox input{width:24px;height:24px}
/* QA round 5 : troncatures — largeur minimale et texte sur une ligne, sans conserver l'ancien padding */
#app .btn.sm,#app .btn.ghost.sm,#app .btn.sm.ghost,#app .pghead .btn.sm{min-width:max-content!important;padding-left:22px!important;padding-right:22px!important;white-space:nowrap!important;overflow:visible!important}
#app .mh-acts .btn{min-width:max-content!important;padding-left:22px!important;padding-right:22px!important}
#app .btn.block{min-width:0}
/* QA final : case de consentement, zone de tap 44 px, carré visuel 24 px */
#app .waiverbox input[type=checkbox]{-webkit-appearance:none;appearance:none;width:44px;height:44px;margin:-10px;padding:10px;box-sizing:border-box;background:#2a2a30;background-clip:content-box;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);cursor:pointer;flex:none}
#app .waiverbox input[type=checkbox]:checked{background:#E8D5B7;background-clip:content-box;box-shadow:none}
#app .waiverbox input[type=checkbox]:focus-visible{outline:2px solid #E8D5B7;outline-offset:2px}
/* QA final : case recentrée dans la carte, sans débordement */
#app .waiverbox{align-items:center;gap:6px;padding-left:12px;padding-right:18px}
#app .waiverbox input[type=checkbox]{margin:0;width:44px;height:44px;padding:10px;background-clip:content-box;flex:0 0 44px}
/* retour utilisateur : coche simple, bouton inviter lisible, listes déroulantes natives, créneaux compacts, enregistrement automatique */
#app .waiverbox{min-height:0!important;align-items:flex-start!important;gap:12px!important;padding:14px 16px!important;border-radius:18px!important;background:var(--s1)!important;box-shadow:inset 0 0 0 1px var(--line)!important;font-size:13.5px!important;line-height:1.45!important}
#app .waiverbox input[type=checkbox]{-webkit-appearance:checkbox!important;appearance:auto!important;width:20px!important;height:20px!important;min-width:20px!important;margin:1px 0 0!important;padding:0!important;background:none!important;background-clip:border-box!important;box-shadow:none!important;border-radius:0!important;accent-color:#E8D5B7!important;flex:0 0 20px!important}
#app .waiverbox input[type=checkbox]:focus-visible{outline:2px solid #E8D5B7!important;outline-offset:2px}
#app .duoinv,#app .btn.ghost.sm.duoinv{color:var(--tx)!important;background:var(--s2)!important;box-shadow:inset 0 0 0 1px rgba(232,213,183,.4)!important;font-weight:600}
:root:not([data-theme=dark]) #app .duoinv{color:#1c1519!important;background:#fffdfa!important}
#app select.input{-webkit-appearance:menulist!important;appearance:auto!important;background-image:none!important;background-color:#1b1a1f!important;color:#f5f0ea!important;color-scheme:dark;padding:0 14px!important;min-height:52px}
#app select.input option{background:#1b1a1f;color:#f5f0ea}
:root:not([data-theme=dark]) #app select.input{background-color:#fffdfa!important;color:#1c1519!important;color-scheme:light}
:root:not([data-theme=dark]) #app select.input option{background:#fffdfa;color:#1c1519}
#app .slotgrid{gap:6px;margin:6px 0 12px}
#app .slotrow{grid-template-columns:72px repeat(3,1fr);gap:6px;align-items:center}
#app .slotrow b{font-size:13px}
#app .slotrow .chip{min-height:36px;height:36px;padding:0 4px;font-size:12.5px;justify-content:center;border-radius:12px}
.savestate{font:600 13px var(--ui);color:#E8D5B7;min-width:120px;text-align:right;white-space:nowrap}
/* retour : boutons secondaires (Élargir mes critères, Inviter des amis, etc.) visibles sur fond sombre */
#app .btn.ghost,:root[data-theme=dark] #app .btn.ghost{background:#24212a!important;color:#F5F0EA!important;box-shadow:inset 0 0 0 1px rgba(232,213,183,.38)!important;border:0!important;font-weight:700}
#app .btn.ghost:hover{background:#2c2832!important}
#app .btn.ghost svg{stroke:#E8D5B7}
:root:not([data-theme=dark]) #app .btn.ghost{background:#fffdfa!important;color:#1c1519!important;box-shadow:inset 0 0 0 1px rgba(138,106,38,.4)!important}
