:root{--r:#e10600;--r2:#ff2a1f;--bg:#0b0b0b;--c:#161616;--c2:#222;--t:#fff;--m:#9a9a9a}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--t);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding-bottom:84px}
.top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:2px solid var(--r);position:sticky;top:0;background:var(--bg);z-index:5}
.logo{font-weight:900;letter-spacing:1px;font-size:20px;color:var(--r)}
.slogan{font-size:10px;color:#fff;text-transform:uppercase;letter-spacing:1px}
main{padding:16px;max-width:560px;margin:auto}
h1{font-size:24px;margin:4px 0 6px}h2{font-size:18px;margin:18px 0 8px}h3{margin:0 0 6px;font-size:17px}
.muted{color:var(--m);font-size:14px}
.card{background:var(--c);border:1px solid #2a2a2a;border-radius:16px;padding:16px;margin:12px 0}
label{display:block;font-size:13px;color:var(--m);margin:12px 0 6px}
input,select,textarea{width:100%;min-height:50px;border-radius:12px;border:1px solid #333;background:var(--c2);color:#fff;font-size:17px;padding:0 14px}
.seg{display:flex;gap:8px}.seg button{flex:1}
button{font:inherit;cursor:pointer}
.opt{min-height:50px;border-radius:12px;border:1px solid #333;background:var(--c2);color:#fff;font-size:15px;padding:8px}
.opt.on{background:var(--r);border-color:var(--r);font-weight:700}
.btn{width:100%;min-height:56px;border:0;border-radius:14px;background:var(--r);color:#fff;font-size:17px;font-weight:800;margin-top:14px}
.btn:active{background:var(--r2)}.btn.sec{background:var(--c2);border:1px solid #444}
.btn.ghost{background:transparent;border:1px dashed #555;color:#ddd}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 14px;border-radius:22px;border:1px solid #3a3a3a;background:var(--c2);color:#ddd;font-size:15px}
.chip.on{background:#fff;color:#000;border-color:#fff;font-weight:700}
.cat{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--r);margin:16px 0 8px;font-weight:800}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:#0f0f0f;border-top:1px solid #2a2a2a;padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;min-height:68px;background:none;border:0;color:var(--m);font-size:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.tabs button span{font-size:11px}.tabs button.on{color:#fff;box-shadow:inset 0 3px 0 var(--r)}
.hidden{display:none!important}
.bar{height:12px;background:#2a2a2a;border-radius:6px;overflow:hidden;margin:6px 0 12px}.bar i{display:block;height:100%;background:var(--r);border-radius:6px}
.bar.p i{background:#fff}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.big{font-size:28px;font-weight:900}
.macros{display:flex;gap:8px;margin:10px 0}.macros div{flex:1;background:var(--c2);border-radius:10px;padding:8px;text-align:center;font-size:12px;color:var(--m)}
.macros b{display:block;color:#fff;font-size:17px}
.macros .k b{color:var(--r2)}
ul.ing{padding:0;list-style:none;margin:8px 0}ul.ing li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #262626;font-size:15px}
ol{padding-left:20px;margin:8px 0;color:#ddd;font-size:14px;line-height:1.5}
.badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:8px;background:#fff;color:#000;font-weight:800;vertical-align:middle}
.badge.r{background:var(--r);color:#fff}
.photo img{width:100%;border-radius:12px;margin-top:10px;max-height:260px;object-fit:cover}
.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%);background:rgba(255,255,255,.92);color:#000;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px rgba(0,0,0,.4);z-index:20;opacity:0;transition:.3s;pointer-events:none}
.toast.show{opacity:1}
.log{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #262626}
.x{background:none;border:0;color:var(--m);font-size:20px;min-width:44px;min-height:44px}
.steps{display:flex;gap:4px;margin-bottom:10px}.steps span{flex:1;font-size:11px;text-align:center;padding:6px 2px;border-radius:8px;background:var(--c2);color:var(--m)}
.steps span.on{background:var(--r);color:#fff;font-weight:800}.steps span.ok{color:#fff}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.sbtn{min-height:76px;font-weight:700}.sbtn i{display:block;font-style:normal;font-size:24px}
.why{border-left:4px solid var(--r);font-size:14px;line-height:1.45}
.btn:disabled{opacity:.4}
.src{font-size:10px;text-transform:uppercase;color:var(--r2);margin-left:4px}
.dr{padding:8px 0;border-bottom:1px solid #262626}.dr b{display:block;margin-bottom:4px}
.mj{border:1px solid #2d5;}.tg{display:flex;gap:12px;align-items:center;cursor:pointer}.tg input{width:22px;height:22px;flex:none;accent-color:#2d5}.disc{font-size:12px;margin-top:8px}.mjl{margin:8px 0 0 18px;padding:0;font-size:13px;line-height:1.5}

.land{text-align:center;padding:8px 0 20px}.land .wm{font-weight:900;font-size:40px;letter-spacing:2px;color:var(--r);margin:6px 0 2px}
.land .sl{color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:12px}
.land .av{width:100%;max-width:360px;aspect-ratio:auto;height:auto;border-radius:20px;border:2px solid var(--r);margin:16px auto;display:block;box-shadow:0 0 40px rgba(225,6,0,.35)}
.land h1{font-size:26px;margin:8px 0 4px}.land .sub{color:var(--m);margin:0 0 18px}
.ls{display:flex;gap:8px;margin:0 0 20px}.ls div{flex:1;background:var(--c);border:1px solid #2a2a2a;border-top:3px solid var(--r);border-radius:14px;padding:12px 6px;font-size:12px}
.ls i{display:block;font-style:normal;font-size:26px;margin-bottom:6px}.ls b{color:var(--r)}
#ob .tg{display:flex;gap:12px;align-items:flex-start;background:var(--c2);border:1px solid #333;border-radius:12px;padding:12px;color:#fff}#ob .tg input{width:22px;min-height:22px;height:22px;flex:none;accent-color:var(--r);margin-top:2px}
.tgt{display:inline-block;font-size:12px;color:var(--m);text-transform:none;font-weight:400}
.sbtn{font-size:14px;line-height:1.2;padding:8px 6px;overflow-wrap:anywhere}.sbtn.long{grid-column:1/-1;font-size:14px}
.aires{margin-top:10px;padding:10px 12px;border-radius:12px;background:#10180f;border:1px solid #2c4a25;font-size:14px}
.aires.err{background:#1e1010;border-color:#5a2420;color:#ffd9d6}
.aires.loading{background:#151515;border-color:#333;animation:pl 1.2s ease-in-out infinite}
@keyframes pl{50%{opacity:.55}}
.aires .qm{margin-top:10px;padding-top:8px;border-top:1px solid #2c4a25}
.aires ol,.aires ul{margin:6px 0 0 18px;padding:0}
.pay{text-align:center}.pay h1{font-size:22px;line-height:1.25}.pay .card{text-align:left}.pay .wm{font-weight:900;letter-spacing:4px;margin-top:8px}
.plan .big{font-size:20px}
.lbar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 4px}.lbar .lsel{margin:0;font-size:12px}
.langsel{width:auto;min-width:150px;min-height:40px;font-size:15px;padding:0 10px}
.tabs button span{font-size:12px}
[dir=rtl] .seg,[dir=rtl] .row,[dir=rtl] .log,[dir=rtl] ul.ing li{direction:rtl}
[dir=rtl] ol{padding-left:0;padding-right:20px}[dir=rtl] .aires ol,[dir=rtl] .aires ul,[dir=rtl] .mjl{margin:6px 18px 0 0}
[dir=rtl] .why{border-left:0;border-right:4px solid var(--r)}[dir=rtl] .lbar{justify-content:flex-start}
.req{color:#fff;font-weight:700}
.coach{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--r)}
.cav{width:84px;height:84px;object-fit:cover;object-position:30% 20%;border-radius:50%;border:2px solid var(--r);flex:none;transition:box-shadow .2s}
.cav.speaking{animation:cpulse 1s ease-in-out infinite}
@keyframes cpulse{0%,100%{box-shadow:0 0 0 0 rgba(225,6,0,.75)}50%{box-shadow:0 0 22px 8px rgba(255,42,31,.55)}}
.cbody{flex:1;min-width:0}.ctext{margin:4px 0 0;font-size:13px;line-height:1.4}
.cbtns{display:flex;flex-wrap:wrap;gap:6px}.cbtns .btn{margin-top:8px;min-height:44px;font-size:14px;width:auto;flex:1 1 auto;padding:0 12px}#cplay{flex-basis:100%}
.live{text-align:center}.ltitle{font-weight:900;letter-spacing:3px;color:var(--r);font-size:18px;margin:2px 0}
.orbwrap{display:flex;justify-content:center;margin:4px 0}#orb{width:280px;height:280px}
.lstatus{font-weight:800;font-size:16px;margin:4px 0 8px}
.lcap{min-height:64px;text-align:start;font-size:15px;line-height:1.4;margin:8px 0}.capu{color:var(--m)}.capc{color:#fff;margin-top:4px}
.lstate .row{font-size:13px;padding:4px 0;border-bottom:1px solid #262626}.lstate .row b{text-align:end}
.live .card{text-align:start}
.pbanner{border:1px solid #c10500;background:linear-gradient(180deg,#1a0000,#0b0b0b);border-radius:12px;padding:10px 12px;margin:0 0 12px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.pbanner b{color:#ff3b30;font-size:13px;letter-spacing:.3px}.pbb{display:flex;gap:16px;margin-top:2px}.pbb a{color:#fff;font-weight:700;font-size:13px}.pbb .pbx{color:#9a9a9a;font-weight:400}
.pintro{background:#140000;border-left:3px solid #c10500;padding:10px 12px;border-radius:8px;text-align:left;font-size:14px}
.pnote{color:#ff5a4f;font-size:12px;margin:2px 0 4px}
.orbwrap{position:relative}.orbcard{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;pointer-events:none;opacity:0;transition:opacity .4s}
.orbcard.show{opacity:1;pointer-events:auto}.orbcard .pcard{background:rgba(10,0,0,.82);border:1px solid var(--r2);box-shadow:0 0 22px rgba(255,30,20,.85),inset 0 0 12px rgba(255,30,20,.35);animation:pglow 2s ease-in-out infinite}
@keyframes pglow{50%{box-shadow:0 0 34px rgba(255,40,20,1),inset 0 0 16px rgba(255,30,20,.5)}}
.pcard{display:flex;flex-direction:column;gap:3px;border:1px solid #333;border-radius:12px;padding:10px;margin-top:8px;background:#121212}.pcard b{font-size:14px}.pcard .muted{font-size:12px}
.pcard.on{border-color:var(--r)}.pcb{display:flex;gap:8px}.btn.mini{min-height:36px;font-size:14px;margin-top:6px;padding:0 12px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff}
.lh{margin-top:12px}
textarea{display:block;padding:12px 14px;font-family:inherit;resize:vertical}input[name=kidsAges]{margin-top:8px}

/* Thème féminin (choisi par l'utilisateur) : framboise profonde */
html.fem{--r:#c2185b;--r2:#e0457f}
html.fem .land .av{box-shadow:0 0 40px rgba(194,24,91,.4)}
html.fem .pbanner{border-color:#b0124f;background:linear-gradient(180deg,#1a0010,#0b0b0b)}
html.fem .pintro{background:#160009;border-left-color:#b0124f}
html.fem .rv-ok{background:#c2185b}
@keyframes cpulsef{0%,100%{box-shadow:0 0 0 0 rgba(194,24,91,.75)}50%{box-shadow:0 0 22px 8px rgba(224,69,127,.55)}}
html.fem .cav.speaking{animation-name:cpulsef}
html.fem .pbanner b{color:#ff4f8f}html.fem .pnote{color:#ff6a9c}
html.fem .orbcard .pcard{background:rgba(10,0,5,.82);box-shadow:0 0 22px rgba(230,20,110,.85),inset 0 0 12px rgba(230,20,110,.35);animation-name:pglowf}
@keyframes pglowf{50%{box-shadow:0 0 34px rgba(240,40,120,1),inset 0 0 16px rgba(230,20,110,.5)}}
