:root{--bg:#090b12;--panel:#10131c;--panel2:#151923;--line:rgba(255,255,255,.09);--text:#f5f5f2;--muted:#858b98;--soft:#bcc0c8;--accent:#b8ffdd;--accent2:#71d7b0;--danger:#ff7d89;--ok:#7de2ad;--cortisol:#ff7f78;--serotonin:#65d7c5;--dopamine:#f4d06f;--adrenaline:#f7a55a;--oxytocin:#e88ab4;--melatonin:#8f96e8;--endorphin:#b99ce7;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}
*{box-sizing:border-box;margin:0;padding:0} [hidden]{display:none!important} html,body{height:100%} body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);overflow:hidden;-webkit-text-size-adjust:100%}.ambient{position:fixed;border-radius:50%;filter:blur(120px);opacity:.12;pointer-events:none}.ambient-a{width:520px;height:520px;background:#64e8b7;left:-260px;top:-180px}.ambient-b{width:420px;height:420px;background:#6b75dd;right:-200px;bottom:-180px}.app{height:100dvh;display:flex;flex-direction:column;position:relative;z-index:1}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + var(--safe-t)) 26px 12px;border-bottom:1px solid var(--line);background:rgba(9,11,18,.72);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:34px;border:1px solid rgba(184,255,221,.4);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 24px rgba(113,215,176,.1)}.brand-mark span{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}.brand h1{font-size:1rem;letter-spacing:.12em}.brand h1 i{font-style:normal;color:var(--accent2);font-weight:500}.brand p{font-size:.58rem;color:var(--muted);letter-spacing:.19em;margin-top:3px}.top-actions{display:flex;gap:8px;align-items:center}.icon-btn,.chip{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);cursor:pointer}.icon-btn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem}.chip{height:40px;border-radius:99px;padding:0 14px;display:flex;gap:7px;align-items:center;font-size:.78rem}.live-dot{width:6px;height:6px;background:var(--accent2);border-radius:50%;box-shadow:0 0 10px var(--accent2)}#chipIcon{display:none}.layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(290px,360px) minmax(420px,1fr);position:relative}.presence-panel{border-right:1px solid var(--line);padding:46px 38px 28px;display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}.eyebrow{font-size:.6rem;letter-spacing:.22em;color:var(--accent2);font-weight:700}.presence-copy h2,.chat-heading h2,.dash-head h2,.modal-title h2{font-weight:400;letter-spacing:-.035em}.presence-copy h2{font-size:2.1rem;margin:8px 0 12px}.presence-copy h2 strong{font-weight:650}.presence-copy p{font-size:.86rem;line-height:1.65;color:var(--muted);max-width:290px}.orb-wrap{flex:1;min-height:210px;display:grid;place-items:center;position:relative}.orb{width:174px;height:174px;border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 42% 35%,rgba(220,255,240,.85),rgba(91,204,161,.2) 28%,rgba(64,108,100,.08) 55%,transparent 70%);border:1px solid rgba(184,255,221,.2);box-shadow:0 0 70px rgba(113,215,176,.16),0 0 0 8px rgba(184,255,221,.025);animation:breathe 6s ease-in-out infinite}.stef-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%;transform:scale(1.45);filter:saturate(.9) contrast(1.04) brightness(.88);transition:filter .5s ease,transform .5s ease}.orb:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 40%,transparent 40%,rgba(9,11,18,.1) 68%,rgba(9,11,18,.5) 100%);box-shadow:inset 0 0 28px rgba(107,117,221,.18);pointer-events:none}.orb-core{position:absolute;right:12px;bottom:14px;width:28px;height:28px;z-index:2;border-radius:50%;display:grid;place-items:center;background:rgba(9,11,18,.72);border:1px solid rgba(184,255,221,.35);box-shadow:0 0 18px rgba(184,255,221,.2);backdrop-filter:blur(6px)}#presenceIcon{font-size:.62rem;color:var(--accent);filter:grayscale(1)}.orb-rings{position:absolute;width:210px;height:210px}.orb-rings i{position:absolute;inset:0;border:1px solid rgba(184,255,221,.07);border-radius:50%}.orb-rings i:nth-child(2){inset:18px}.orb-rings i:nth-child(3){inset:37px}.orb-state{position:absolute;bottom:9%;text-align:center}.orb-state small{display:block;font-size:.55rem;letter-spacing:.2em;color:var(--muted);margin-bottom:4px}.orb-state strong{font-size:.86rem;font-weight:550}.presence-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}.presence-meta div{padding:14px 4px}.presence-meta div+div{border-left:1px solid var(--line);padding-left:12px}.presence-meta span{display:block;font-size:.5rem;letter-spacing:.14em;color:var(--muted)}.presence-meta b{display:block;font-size:.73rem;margin-top:5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-btn{border:0;background:none;color:var(--soft);text-align:left;padding:8px 0;display:flex;justify-content:space-between;cursor:pointer;font-size:.75rem}.explore-btn:hover{color:var(--accent)}.chat-area{min-width:0;display:flex;flex-direction:column;max-width:900px;width:100%;margin:0 auto;padding:42px 7% 18px}.chat-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 4px 22px;border-bottom:1px solid var(--line)}.chat-heading h2{font-size:1.65rem;margin-top:6px}.privacy-note{font-size:.62rem;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:6px 9px}.chat-messages{flex:1;overflow-y:auto;padding:24px 4px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:#303540 transparent}.message{max-width:min(82%,680px);line-height:1.6;overflow-wrap:anywhere;animation:pop .2s ease-out}.message .who{display:block;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:650}.message .body{font-size:.91rem}.ai-message{align-self:flex-start;padding-left:16px;border-left:1px solid rgba(184,255,221,.25)}.ai-message .who{color:var(--accent2)}.user-message{align-self:flex-end;background:rgba(255,255,255,.055);border:1px solid var(--line);padding:12px 16px;border-radius:16px 16px 4px 16px}.user-message .who{text-align:right}.message.error{border-color:var(--danger)}.typing:after{content:' · · ·';color:var(--accent);animation:blink 1s infinite}.banner{padding:10px 14px;margin-bottom:10px;border:1px solid rgba(255,125,137,.35);background:rgba(255,125,137,.06);border-radius:12px;font-size:.78rem}.link-btn{border:0;background:none;color:var(--accent);text-decoration:underline;cursor:pointer}.chat-input{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 15px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:18px;transition:.2s}.chat-input:focus-within{border-color:rgba(184,255,221,.35);box-shadow:0 0 0 3px rgba(184,255,221,.035)}.chat-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:16px;padding:9px 2px}.chat-input input::placeholder{color:#626875}.send-btn{width:42px;height:42px;border-radius:13px;border:0;background:var(--accent);color:#09110e;font-size:1.25rem;cursor:pointer}.send-btn:disabled{opacity:.35}.mic{border:0;background:none;width:34px;height:34px}.mic.listening{color:var(--danger);animation:blink 1s infinite}.input-caption{text-align:center;color:#555b67;font-size:.6rem;margin-top:9px}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(3px);z-index:19}.dashboard{position:fixed;z-index:20;right:0;top:0;height:100dvh;width:min(430px,92vw);padding:32px 28px;background:rgba(14,17,25,.97);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.3);transform:translateX(102%);transition:transform .32s ease;overflow-y:auto}.dashboard.open{transform:translateX(0)}.dash-head,.modal-title{display:flex;justify-content:space-between;align-items:flex-start}.dash-head h2,.modal-title h2{font-size:1.55rem;margin-top:6px}.state-card{display:flex;align-items:center;gap:14px;margin:30px 0 20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.state-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(184,255,221,.08);font-size:1.35rem}.state-card small{font-size:.52rem;letter-spacing:.16em;color:var(--muted)}.state-label{font-size:1rem;font-weight:600;margin-top:3px}.context-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px}.context-info div{padding:12px 10px;border:1px solid var(--line);border-radius:12px}.context-info span{font-size:.55rem;color:var(--muted);display:block}.context-info b{font-size:.75rem;font-weight:500;display:block;margin-top:4px}.hormone-title{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:18px}.hormone-title small{color:var(--muted)}.hormone{margin-bottom:15px}.hormone-head{display:flex;justify-content:space-between;font-size:.68rem;margin-bottom:7px;color:var(--soft)}.hormone-head .v{color:var(--muted)}.hormone-bar{height:3px;background:#262b35;border-radius:9px;overflow:hidden}.hormone-fill{height:100%;border-radius:9px;transition:width .5s ease}.simulation-note{font-size:.65rem;line-height:1.55;color:#656b77;border-top:1px solid var(--line);padding-top:18px;margin-top:28px}.modal{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.66);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.modal-card{width:min(520px,100%);max-height:90vh;overflow:auto;background:#121620;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.5)}.modal-card label{display:block;font-size:.7rem;color:var(--soft);margin:20px 0 7px}.modal-card label a{color:var(--accent2);float:right}.modal-card input,.modal-card select{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;background:#0b0e15;color:var(--text);padding:0 12px}.modal-card .check{display:flex;gap:8px;align-items:center}.modal-card .check input{width:auto;height:auto}.hint{font-size:.65rem;line-height:1.5;color:var(--muted);margin-top:6px}.hint.ok{color:var(--ok)}.hint.err{color:var(--danger)}details{margin-top:16px}summary{font-size:.72rem;color:var(--muted);cursor:pointer}.modal-buttons{display:flex;gap:8px;margin-top:20px}.btn{flex:1;min-height:42px;border-radius:10px;border:1px solid var(--line);background:#191e29;color:var(--text);cursor:pointer;padding:0 12px;font-size:.72rem}.btn.primary{background:var(--accent);color:#09110e;border:0;font-weight:700}.btn.ghost{background:transparent}.btn.danger{color:var(--danger)}.modal-buttons.small{margin-top:8px}.modal-buttons.small .btn{font-size:.62rem}@keyframes breathe{50%{transform:scale(1.055);filter:brightness(1.1)}}@keyframes pop{from{transform:translateY(5px);opacity:0}}@keyframes blink{50%{opacity:.25}}
@media(max-width:800px){.topbar{height:66px;padding-left:16px;padding-right:16px}.brand p{display:none}.chip{padding:0 10px}.layout{display:block}.presence-panel{display:none}.chat-area{height:calc(100dvh - 66px);padding:22px 14px 10px}.chat-heading{padding-bottom:14px}.chat-heading h2{font-size:1.35rem}.privacy-note{display:none}.chat-messages{padding:18px 2px}.message{max-width:90%}.input-caption{font-size:.55rem}.dashboard{padding:24px 20px}.modal-card{padding:20px}.modal-buttons.small{flex-direction:column}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V5 — présence vivante de Stef : l'état interne agit sur le portrait sans effet gadget. */
:root{--stef-energy:.5;--stef-calm:.5;--stef-bond:.5;--stef-fatigue:.5;--state-glow:113,215,176;--state-ring:184,255,221;--state-warm:107,117,221;--state-speed:7s}
.avatar-glow{position:absolute;inset:-12%;z-index:1;border-radius:50%;pointer-events:none;opacity:calc(.12 + var(--stef-energy)*.22);background:radial-gradient(circle at 50% 70%,rgba(var(--state-glow),.42),transparent 58%);mix-blend-mode:screen;transition:opacity .8s ease,background 1.2s ease;animation:innerPulse var(--state-speed) ease-in-out infinite}
.orb{transition:box-shadow 1s ease,border-color 1s ease,filter 1s ease;animation-duration:var(--state-speed)}
.stef-avatar{z-index:0;filter:saturate(calc(.76 + var(--stef-energy)*.32)) contrast(calc(1 + var(--stef-calm)*.08)) brightness(calc(.76 + var(--stef-calm)*.20 - var(--stef-fatigue)*.06));transform:scale(calc(1.43 + var(--stef-energy)*.035));transition:filter 1.2s ease,transform 1.2s ease}
.orb-rings i{border-color:rgba(var(--state-ring),.10);transition:border-color 1s ease,transform 1s ease}.orb-rings i:first-child{animation:ringDrift calc(var(--state-speed)*1.7) linear infinite}.orb-rings i:nth-child(2){animation:ringDrift calc(var(--state-speed)*2.2) linear infinite reverse}.orb-rings i:nth-child(3){animation:ringPulse var(--state-speed) ease-in-out infinite}
.orb-state span{display:block;margin-top:5px;font-size:.58rem;letter-spacing:.04em;color:var(--muted);transition:color .7s ease}.orb-state strong{color:rgb(var(--state-ring));transition:color .8s ease,text-shadow .8s ease;text-shadow:0 0 18px rgba(var(--state-glow),.18)}
body[data-stef-state="calme"]{--state-glow:104,226,190;--state-ring:184,255,221;--state-warm:87,126,209;--state-speed:8s}
body[data-stef-state="equilibre"]{--state-glow:113,215,176;--state-ring:184,255,221;--state-warm:107,117,221;--state-speed:7s}
body[data-stef-state="heureux"]{--state-glow:255,196,111;--state-ring:255,224,166;--state-warm:255,159,99;--state-speed:5.4s}
body[data-stef-state="empathique"]{--state-glow:236,125,188;--state-ring:255,184,224;--state-warm:191,114,217;--state-speed:7.2s}
body[data-stef-state="motive"]{--state-glow:99,202,255;--state-ring:155,226,255;--state-warm:120,126,255;--state-speed:4.6s}
body[data-stef-state="energique"]{--state-glow:255,151,77;--state-ring:255,194,126;--state-warm:255,98,81;--state-speed:3.8s}
body[data-stef-state="stresse"]{--state-glow:255,92,105;--state-ring:255,150,159;--state-warm:255,117,75;--state-speed:2.8s}
body[data-stef-state="anxieux"]{--state-glow:223,126,91;--state-ring:244,177,135;--state-warm:178,92,117;--state-speed:3.8s}
body[data-stef-state="fatigue"]{--state-glow:100,112,190;--state-ring:150,164,231;--state-warm:83,76,153;--state-speed:10s}
body[data-stef-state="bas"]{--state-glow:82,105,141;--state-ring:130,151,181;--state-warm:77,87,126;--state-speed:11s}
body[data-stef-state="stresse"] .orb,body[data-stef-state="energique"] .orb{box-shadow:0 0 86px rgba(var(--state-glow),.25),0 0 0 8px rgba(var(--state-ring),.035)}
body[data-stef-state="fatigue"] .stef-avatar,body[data-stef-state="bas"] .stef-avatar{filter:saturate(.7) contrast(.98) brightness(.72)}
body[data-stef-state="heureux"] .stef-avatar,body[data-stef-state="empathique"] .stef-avatar{filter:saturate(1.04) contrast(1.04) brightness(.96)}
@keyframes innerPulse{50%{opacity:calc(.20 + var(--stef-energy)*.30);transform:scale(1.05)}}
@keyframes ringDrift{to{transform:rotate(360deg)}}
@keyframes ringPulse{50%{transform:scale(1.035);opacity:.55}}
@media (prefers-reduced-motion:reduce){.avatar-glow,.orb-rings i{animation:none!important}}

/* V6 — mémoire relationnelle perceptible */
.memory-chip{background:transparent;color:var(--muted);cursor:pointer;font-family:inherit}.memory-chip b{color:var(--accent2);font-weight:600}.memory-card{margin:24px 0;padding:16px;border:1px solid rgba(184,255,221,.12);border-radius:14px;background:linear-gradient(135deg,rgba(184,255,221,.035),rgba(107,117,221,.025))}.memory-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.memory-card-head span{font-size:.53rem;letter-spacing:.15em;color:var(--muted)}.memory-card-head b{font-size:.63rem;color:var(--accent2);font-weight:600}.memory-card p{font-size:.7rem;line-height:1.55;color:var(--soft);margin-top:10px}.memory-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.memory-topics span{font-size:.58rem;padding:5px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted);background:rgba(255,255,255,.025)}

/* V8 — La Rencontre : faire vivre le propos avant de l'expliquer. */
.encounter{position:fixed;inset:0;z-index:50;background:#080a10;display:grid;grid-template-columns:minmax(360px,46vw) 1fr;overflow:hidden;transition:opacity .7s ease,visibility .7s ease}.encounter.leaving{opacity:0;visibility:hidden;pointer-events:none}.encounter-visual{position:relative;min-height:100%;overflow:hidden;background:radial-gradient(circle at 55% 42%,rgba(113,215,176,.13),transparent 36%),#090b12}.encounter-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.82) brightness(.72) contrast(1.06);transform:scale(1.04);animation:encounterIn 2s ease-out both}.encounter-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,16,.05) 45%,#080a10 100%),linear-gradient(0deg,rgba(8,10,16,.5),transparent 55%)}.encounter-rings{position:absolute;z-index:2;left:50%;top:48%;width:430px;height:430px;transform:translate(-50%,-50%);pointer-events:none}.encounter-rings i{position:absolute;inset:0;border:1px solid rgba(184,255,221,.13);border-radius:50%;animation:ringDrift 26s linear infinite}.encounter-rings i:nth-child(2){inset:35px;border-style:dashed;animation-direction:reverse;animation-duration:34s}.encounter-rings i:nth-child(3){inset:82px;border-color:rgba(107,117,221,.17);animation-duration:18s}.encounter-content{position:relative;z-index:3;align-self:center;max-width:760px;padding:7vh 8vw 7vh 7vw}.encounter-content h1{font-size:clamp(3.5rem,8vw,7.8rem);line-height:.88;letter-spacing:-.065em;margin:18px 0 42px;font-weight:650}.encounter-content h1 i{font-style:normal;color:var(--accent2);font-weight:350}.encounter-copy{max-width:650px}.encounter-copy p{font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.75;color:#a7adb8}.encounter-copy .encounter-lead{font-size:clamp(1.2rem,1.7vw,1.55rem);color:var(--text);margin-bottom:14px}.encounter-copy blockquote{border-left:1px solid rgba(184,255,221,.35);padding:2px 0 2px 22px;margin:34px 0;color:#e7ebe7;font-size:clamp(1.1rem,1.65vw,1.5rem);line-height:1.5;font-weight:350}.encounter-actions{display:flex;align-items:center;gap:22px;margin-top:38px}.meet-btn{border:0;border-radius:14px;background:var(--accent);color:#07110d;min-height:52px;padding:0 22px;font:700 .76rem/1 Inter,system-ui;letter-spacing:.03em;cursor:pointer;box-shadow:0 10px 40px rgba(113,215,176,.12)}.meet-btn span{font-size:1.15rem;margin-left:15px}.skip-btn{border:0;background:transparent;color:#777f8b;font:500 .72rem/1 Inter,system-ui;cursor:pointer;padding:14px 0}.skip-btn:hover{color:var(--text)}.encounter-note{max-width:600px;margin-top:30px;color:#555d69;font-size:.64rem;line-height:1.6}.reveal{position:fixed;inset:0;z-index:45;background:rgba(6,8,13,.82);backdrop-filter:blur(18px);display:grid;place-items:center;padding:20px}.reveal-card{width:min(680px,100%);background:linear-gradient(145deg,#121721,#0d1119);border:1px solid rgba(184,255,221,.16);border-radius:24px;padding:clamp(28px,5vw,52px);box-shadow:0 40px 120px rgba(0,0,0,.55);animation:revealIn .6s ease both}.reveal-card h2{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;font-weight:450;margin:10px 0 18px}.reveal-card>p{color:#9aa1ac;line-height:1.7;font-size:.88rem}.manifesto{margin:30px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(1.1rem,2.4vw,1.55rem);line-height:1.5;color:#d7dbdc}.manifesto strong{color:var(--accent);font-weight:600}.reveal-small{font-size:.72rem!important;color:#69717e!important;margin-bottom:25px}@keyframes encounterIn{from{opacity:0;transform:scale(1.11);filter:saturate(.5) brightness(.45)}to{opacity:1;transform:scale(1.04)}}@keyframes revealIn{from{opacity:0;transform:translateY(16px) scale(.98)}}
@media(max-width:800px){.encounter{display:block;overflow:auto}.encounter-visual{position:absolute;inset:0;height:100%;opacity:.42}.encounter-shade{background:linear-gradient(0deg,#080a10 15%,rgba(8,10,16,.48) 80%,rgba(8,10,16,.65))}.encounter-content{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;padding:100px 22px 34px}.encounter-content h1{font-size:4.1rem;margin:12px 0 26px}.encounter-copy blockquote{margin:24px 0;font-size:1.05rem}.encounter-actions{align-items:flex-start;flex-direction:column;gap:5px;margin-top:26px}.meet-btn{width:100%}.encounter-note{margin-top:18px}.encounter-rings{width:310px;height:310px;top:32%}.reveal-card{border-radius:20px}}

/* V9 — Le miroir des mots */
.chat-tools{display:flex;align-items:center;gap:8px}.mirror-chip{border:1px solid rgba(184,255,221,.14);background:rgba(184,255,221,.045);color:#aab8b2;border-radius:99px;padding:8px 12px;font-size:.62rem;cursor:pointer;transition:.2s}.mirror-chip:hover{color:var(--accent);border-color:rgba(184,255,221,.3)}.reveal-actions{display:flex;align-items:center;gap:18px}.mirror-modal{position:fixed;inset:0;z-index:60;background:rgba(5,7,11,.9);backdrop-filter:blur(20px);display:grid;place-items:center;padding:22px;overflow:auto}.mirror-shell{width:min(1100px,100%);max-height:94vh;overflow:auto;background:linear-gradient(145deg,#111620,#0a0e15);border:1px solid rgba(184,255,221,.14);border-radius:26px;padding:clamp(24px,4vw,46px);box-shadow:0 40px 130px rgba(0,0,0,.6)}.mirror-head{display:flex;justify-content:space-between;gap:20px}.mirror-head h2{font-size:clamp(2rem,4vw,3.6rem);font-weight:420;letter-spacing:-.05em;margin:8px 0 10px}.mirror-head p{color:var(--muted);font-size:.85rem}.mirror-intent{margin:30px 0 18px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;display:flex;gap:16px;align-items:center;background:rgba(255,255,255,.02)}.mirror-intent span{font-size:.52rem;letter-spacing:.16em;color:var(--muted)}.mirror-intent strong{font-size:.82rem;font-weight:500}.mirror-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mirror-choice{text-align:left;min-height:178px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);color:var(--text);cursor:pointer;display:flex;flex-direction:column;transition:.22s}.mirror-choice:hover,.mirror-choice.active{transform:translateY(-2px);border-color:rgba(184,255,221,.32);background:rgba(184,255,221,.045)}.mirror-choice.harsh.active{border-color:rgba(255,124,124,.35)}.mirror-choice.warm.active{border-color:rgba(184,255,221,.38)}.mirror-choice .tone{font-size:.55rem;letter-spacing:.18em;color:var(--muted);font-weight:700}.mirror-choice q{quotes:none;font-size:1rem;line-height:1.5;margin:17px 0;flex:1}.mirror-choice small{color:#606874;font-size:.6rem}.mirror-result{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px;animation:revealIn .35s ease both}.mirror-result-copy,.impact-panel{border:1px solid var(--line);border-radius:18px;padding:22px;background:rgba(255,255,255,.02)}.mirror-result-copy h3{font-size:1.35rem;font-weight:500;margin:7px 0 10px}.mirror-result-copy>p{color:#9aa1ac;line-height:1.65;font-size:.78rem}.mirror-result-copy blockquote{margin-top:18px;border-left:1px solid rgba(184,255,221,.3);padding:3px 0 3px 16px;color:#d8dcdf;font-size:.82rem;line-height:1.6}.impact-panel>span{font-size:.54rem;letter-spacing:.16em;color:var(--muted)}.impact-row{display:grid;grid-template-columns:86px 1fr 42px;gap:8px;align-items:center;margin-top:12px;font-size:.65rem}.impact-track{height:4px;background:#252a33;border-radius:9px;overflow:hidden}.impact-fill{height:100%;width:0;background:var(--accent);transition:width .5s ease}.impact-row.neg .impact-fill{background:#d98282}.impact-value{text-align:right;color:var(--soft)}.impact-panel>p{font-size:.58rem;line-height:1.5;color:#5f6671;margin-top:18px}.mirror-footer{display:flex;gap:8px;margin-top:18px;color:#707783;font-size:.68rem;line-height:1.5}.mirror-footer strong{color:#aab1b8;white-space:nowrap}.mirror-footer span{color:#707783}
@media(max-width:800px){.chat-tools .memory-chip{display:none}.mirror-chip{padding:7px 9px}.reveal-actions{flex-direction:column;align-items:stretch}.mirror-grid{grid-template-columns:1fr}.mirror-choice{min-height:130px}.mirror-result{grid-template-columns:1fr}.mirror-shell{padding:22px 16px}.mirror-head h2{font-size:2rem}.mirror-intent{align-items:flex-start;flex-direction:column;gap:6px}.mirror-footer{flex-direction:column}.mirror-footer strong{white-space:normal}}

/* V10 — miroir de communication personnel */
.comm-shell{width:min(980px,100%)}.comm-intro{margin:28px 0 18px;padding:18px 20px;border:1px solid rgba(184,255,221,.13);border-radius:16px;background:linear-gradient(120deg,rgba(184,255,221,.045),rgba(108,117,221,.035));display:flex;flex-direction:column;gap:5px}.comm-intro strong{font-size:1rem;font-weight:520}.comm-intro span{font-size:.7rem;color:var(--muted);line-height:1.5}.comm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.comm-axis{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}.comm-axis>div:first-child{display:flex;justify-content:space-between;align-items:center}.comm-axis span,.comm-history span{font-size:.55rem;letter-spacing:.16em;color:var(--muted);font-weight:700}.comm-axis b{font-size:.75rem;font-weight:500;color:var(--soft)}.comm-track{height:5px;background:#252a33;border-radius:9px;margin:12px 0 10px;overflow:hidden}.comm-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:9px;transition:width .55s ease}.comm-axis small{font-size:.6rem;color:#646b76;line-height:1.45}.comm-reading{margin-top:12px;padding:20px;border:1px solid var(--line);border-radius:16px}.comm-reading p{margin-top:9px;color:#a3aab4;font-size:.78rem;line-height:1.65}.comm-history{margin-top:12px;padding:16px 18px;border:1px solid var(--line);border-radius:16px}.comm-history>div:first-child{display:flex;justify-content:space-between}.comm-history b{font-size:.62rem;color:#747c87;font-weight:500}.trend-line{height:48px;display:flex;align-items:flex-end;gap:5px;margin-top:12px}.trend-line i{flex:1;min-width:4px;height:8%;border-radius:5px;background:rgba(184,255,221,.32);transition:height .4s ease}.comm-pulse{animation:commPulse .45s ease}@keyframes commPulse{50%{box-shadow:0 0 0 4px rgba(184,255,221,.05)}}@media(max-width:800px){.comm-grid{grid-template-columns:1fr}.chat-tools{gap:5px}.chat-tools .mirror-chip{font-size:.56rem}.comm-intro{margin-top:20px}}

/* V11 — prise de conscience et évolution */
.comm-evolution{margin-top:12px;padding:20px;border:1px solid rgba(184,255,221,.14);border-radius:16px;background:linear-gradient(125deg,rgba(184,255,221,.035),rgba(108,117,221,.025))}.comm-evo-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.comm-evo-head b{font-size:.62rem;color:#777f8a;font-weight:500}.comm-evo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.comm-evo-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.018)}.comm-evo-item span{display:block;font-size:.5rem;letter-spacing:.12em;color:var(--muted)}.comm-evo-values{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:.72rem}.comm-evo-values i{font-style:normal;color:#68707c}.comm-evo-values strong{font-weight:600;color:var(--soft)}.comm-evo-values strong.up{color:var(--accent)}.comm-evo-values strong.down{color:#d99797}.comm-evolution>p{font-size:.7rem;color:#8e96a1;line-height:1.6;margin-top:14px}.awareness{position:fixed;inset:0;z-index:70;background:rgba(5,7,11,.82);backdrop-filter:blur(18px);display:grid;place-items:center;padding:20px}.awareness-card{width:min(610px,100%);padding:clamp(28px,5vw,48px);border:1px solid rgba(184,255,221,.16);border-radius:24px;background:linear-gradient(145deg,#121721,#0b0f16);box-shadow:0 40px 120px rgba(0,0,0,.58)}.awareness-card h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:430;letter-spacing:-.045em;line-height:1.08;margin:12px 0 18px}.awareness-card p{font-size:.84rem;line-height:1.7;color:#969eaa}.awareness-actions{display:flex;align-items:center;gap:18px;margin-top:28px}@media(max-width:800px){.comm-evo-grid{grid-template-columns:repeat(2,1fr)}.comm-evo-head{align-items:flex-start;flex-direction:column;gap:5px}.awareness-actions{align-items:stretch;flex-direction:column;gap:4px}.awareness-card{border-radius:20px}}

/* V12 — Le Basculement : communiquer ≠ prompter */
.prompt-chip{border-color:rgba(123,154,255,.22);background:rgba(123,154,255,.055);color:#b7c5f4}.prompt-shell{width:min(1080px,100%)}.switch-lesson{display:grid;grid-template-columns:1fr 50px 1fr;gap:12px;align-items:stretch;margin:28px 0}.human-side,.ai-side{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}.human-side>span,.ai-side>span{font-size:.53rem;letter-spacing:.17em;color:var(--muted);font-weight:700}.human-side strong,.ai-side strong{display:block;font-size:1.15rem;margin:10px 0 8px;font-weight:520}.human-side p,.ai-side p{font-size:.7rem;line-height:1.6;color:#8d95a0}.ai-side{border-color:rgba(123,154,255,.2);background:rgba(123,154,255,.035)}.switch-arrow{display:grid;place-items:center;color:#6f7f9d;font-size:1.4rem}.lesson-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.lesson-tags i{font-style:normal;font-size:.54rem;padding:6px 9px;border:1px solid var(--line);border-radius:99px;color:#818996}.prompt-lab{padding:22px;border:1px solid rgba(123,154,255,.18);border-radius:20px;background:linear-gradient(145deg,rgba(123,154,255,.035),rgba(184,255,221,.018))}.prompt-lab-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.prompt-lab h3{font-size:1.35rem;font-weight:500;margin-top:6px}.local-badge{font-size:.52rem;color:#737d8c;border:1px solid var(--line);padding:6px 9px;border-radius:99px}.prompt-lab textarea{width:100%;min-height:115px;resize:vertical;margin-top:16px;border:1px solid var(--line);border-radius:14px;background:#0b0f16;color:var(--text);padding:16px;font:400 .82rem/1.6 Inter,system-ui;outline:none}.prompt-lab textarea:focus{border-color:rgba(123,154,255,.4)}.prompt-actions{display:flex;align-items:center;gap:18px;margin-top:12px}.prompt-result{display:grid;grid-template-columns:180px 1fr;gap:12px;margin-top:18px}.prompt-score,.prompt-feedback,.prompt-rewrite{border:1px solid var(--line);border-radius:15px;padding:18px;background:rgba(255,255,255,.018)}.prompt-score{grid-row:span 2;display:flex;flex-direction:column}.prompt-score span{font-size:.5rem;letter-spacing:.15em;color:var(--muted)}.prompt-score strong{font-size:2.8rem;font-weight:350;letter-spacing:-.06em;margin:12px 0 4px;color:#c9d4ff}.prompt-score small{color:#737c88;line-height:1.5}.prompt-axes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prompt-axis{padding:12px;border:1px solid var(--line);border-radius:12px}.prompt-axis div{display:flex;justify-content:space-between;font-size:.55rem;color:#8d95a1}.prompt-axis b{color:#c7ced9;font-weight:500}.prompt-axis-track{height:4px;background:#252a33;border-radius:8px;margin-top:9px;overflow:hidden}.prompt-axis-track i{display:block;height:100%;background:linear-gradient(90deg,#788de8,var(--accent));border-radius:8px}.prompt-feedback,.prompt-rewrite{grid-column:2}.prompt-feedback p,.prompt-rewrite p{font-size:.7rem;line-height:1.65;color:#9ba3ae;margin-top:8px}.prompt-rewrite p{color:#c7cdd5}.prompt-manifesto{display:flex;gap:8px;margin-top:18px;padding:16px 18px;border-top:1px solid var(--line);font-size:.7rem;line-height:1.55}.prompt-manifesto strong{color:#b9c7f4;white-space:nowrap}.prompt-manifesto span{color:#7c8490}@media(max-width:800px){.switch-lesson{grid-template-columns:1fr}.switch-arrow{transform:rotate(90deg);height:24px}.prompt-result{grid-template-columns:1fr}.prompt-score{grid-row:auto}.prompt-axes{grid-template-columns:1fr 1fr}.prompt-feedback,.prompt-rewrite{grid-column:1}.prompt-actions{flex-direction:column;align-items:stretch;gap:3px}.prompt-manifesto{flex-direction:column}.prompt-manifesto strong{white-space:normal}.prompt-chip{display:inline-flex}}

/* V13 — apprentissage guidé du prompt */
.coach-shell{width:min(1120px,100%)}.prompt-path{display:flex;align-items:center;margin:26px 0 30px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.015)}.path-step{display:flex;align-items:center;gap:8px;opacity:.42;transition:.25s}.path-step b{display:grid;place-items:center;width:24px;height:24px;border:1px solid #526078;border-radius:50%;font-size:.6rem}.path-step span{font-size:.52rem;letter-spacing:.13em}.path-step.active,.path-step.done{opacity:1}.path-step.active b{border-color:#91a8ff;color:#c9d4ff;box-shadow:0 0 20px rgba(123,154,255,.16)}.path-step.done b{border-color:rgba(184,255,221,.35);color:var(--accent)}.prompt-path>i{height:1px;flex:1;background:var(--line);margin:0 10px}.coach-step{animation:revealIn .32s ease}.coach-step h3{font-size:clamp(1.5rem,3vw,2.15rem);font-weight:450;letter-spacing:-.035em;margin:8px 0 10px}.coach-lead{color:#939ba7;font-size:.78rem;line-height:1.65;max-width:760px}.intent-grid,.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.intent-grid label,.builder-grid label{font-size:.56rem;letter-spacing:.1em;color:#7f8895}.intent-grid textarea,.builder-grid textarea,.builder-grid input,.final-prompt{display:block;width:100%;margin-top:8px;border:1px solid var(--line);border-radius:13px;background:#0b0f16;color:var(--text);padding:14px;font:400 .76rem/1.55 Inter,system-ui;outline:none;resize:vertical}.intent-grid textarea{min-height:105px}.builder-grid textarea{min-height:82px}.builder-grid input{height:48px}.builder-grid label.wide{grid-column:1/-1}.builder-grid em{font-style:normal;color:#555e6b;margin-left:5px}.coach-tip{display:flex;gap:12px;margin:14px 0 20px;padding:15px 17px;border-left:2px solid #7189df;background:rgba(123,154,255,.035);font-size:.68rem;line-height:1.55}.coach-tip strong{color:#b9c7f4;white-space:nowrap}.coach-tip span{color:#858e9a}.coach-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px}.final-prompt{min-height:180px;margin-top:20px;border-color:rgba(123,154,255,.2)}.mastery{text-align:center}.mastery>h3{font-size:clamp(1.8rem,4vw,2.7rem)}.mastery-rule{max-width:720px;margin:22px auto 0;padding:18px;border:1px solid var(--line);border-radius:16px;text-align:left;background:rgba(255,255,255,.015)}.mastery-rule>span{display:block;font-size:.52rem;letter-spacing:.16em;color:#68717e;margin-bottom:8px}.mastery-rule q{quotes:none;color:#818995}.mastery-rule.good{border-color:rgba(184,255,221,.18)}.mastery-rule.good p{color:#bdc5cd;line-height:1.6}.mastery-rule.good b{color:var(--accent);font-weight:550}.mastery-arrow{color:#68758a;margin:10px}.prompt-checklist{max-width:720px;margin:18px auto;padding:22px;text-align:left;border:1px solid var(--line);border-radius:16px}.prompt-checklist strong{font-size:.55rem;letter-spacing:.16em;color:#8993a1}.prompt-checklist ol{margin:14px 0 0 20px;color:#b2bac4;font-size:.75rem;line-height:1.9}.final-manifesto{max-width:780px;margin:24px auto 8px;padding:22px;border-left:1px solid var(--accent);color:#d8dce2;font-size:1rem;line-height:1.65;text-align:left}.mastery .coach-actions{max-width:720px;margin:24px auto 0}.course-complete .prompt-chip{border-color:rgba(184,255,221,.3)}
@media(max-width:800px){.prompt-path{padding:11px}.path-step span{display:none}.prompt-path>i{margin:0 5px}.intent-grid,.builder-grid{grid-template-columns:1fr}.builder-grid label.wide{grid-column:auto}.coach-actions{align-items:stretch;flex-direction:column-reverse}.coach-actions .meet-btn,.coach-actions .skip-btn{width:100%}.coach-tip{flex-direction:column;gap:4px}.mastery .coach-actions{flex-direction:column}.final-manifesto{font-size:.88rem}}

/* RC4.1 — conversation scroll fix */
.layout{overflow:hidden}
.chat-area{height:100%;min-height:0;overflow:hidden}
.chat-messages{min-height:0;overscroll-behavior:contain}
@media(max-width:800px){.chat-area{height:calc(100dvh - 66px);min-height:0;overflow:hidden}.chat-messages{min-height:0}}

/* RC4.3 — téléphone en paysage : la page entière reste accessible.
   Le chat conserve son propre défilement, mais aucun bloc ne peut être
   coupé par la faible hauteur d'un écran mobile horizontal. */
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  body{overscroll-behavior-y:auto}
  .app{height:auto;min-height:100dvh;overflow:visible}
  .topbar{position:relative;min-height:66px;height:auto;flex:0 0 auto}
  .layout{min-height:calc(100dvh - 66px);height:auto;overflow:visible;align-items:stretch}
  .presence-panel{min-height:520px;height:auto;overflow:visible;padding-top:26px;padding-bottom:24px}
  .orb-wrap{min-height:220px}
  .chat-area{height:auto;min-height:520px;overflow:visible;padding-top:24px;padding-bottom:16px}
  .chat-messages{flex:0 1 auto;min-height:250px;max-height:58dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .chat-input{flex:0 0 auto}
  .dashboard{height:100dvh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}
