:root{--ai-navy:#061b2b;--ai-blue:#0e3b57;--ai-cyan:#74d7e8;--ai-gold:#d5aa46;--ai-cream:#fff9e9;--ai-white:#f7fbff}
*{box-sizing:border-box}.azou-ai-page{margin:0;background:var(--ai-navy);color:var(--ai-white);font-family:Inter,system-ui,sans-serif;overflow:hidden}.azou-ai-page::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 75% 10%,rgba(116,215,232,.13),transparent 35%),radial-gradient(circle at 8% 85%,rgba(213,170,70,.11),transparent 30%);pointer-events:none}.azou-ai{height:100dvh;display:grid;grid-template-rows:auto 1fr;position:relative}.azou-ai__topbar{height:82px;padding:0 clamp(18px,4vw,70px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(5,23,37,.84);backdrop-filter:blur(18px);z-index:5}.azou-ai__back{color:#bfd0da;text-decoration:none;font-weight:700}.azou-ai__back:hover{color:#fff}.azou-ai__logo{display:flex;align-items:center;gap:12px}.azou-ai__logo-mark,.azou-ai__avatar{display:grid;place-items:center;border-radius:50%;font-family:"Playfair Display",serif;font-weight:800;background:linear-gradient(145deg,#f5df9c,#c28c26 45%,#54c7e3);color:#082237;box-shadow:0 0 0 3px rgba(213,170,70,.16),0 0 28px rgba(99,209,232,.2)}.azou-ai__logo-mark{width:46px;height:46px;font-size:25px}.azou-ai__logo>span:last-child{display:grid;grid-template-columns:auto auto;column-gap:7px;line-height:1}.azou-ai__logo strong{font-family:"Playfair Display",serif;font-size:25px}.azou-ai__logo em{font-size:13px;font-style:normal;color:#072033;background:linear-gradient(135deg,var(--ai-gold),var(--ai-cyan));padding:5px 7px;border-radius:7px;font-weight:900;align-self:center}.azou-ai__logo small{grid-column:1/3;margin-top:5px;color:#9fb5c1;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.azou-ai__new{justify-self:end;border:1px solid rgba(213,170,70,.55);border-radius:999px;background:transparent;color:#f7df9a;padding:11px 17px;font-weight:700;cursor:pointer}.azou-ai__new:hover{background:rgba(213,170,70,.1)}
.azou-ai__stage{min-height:0;width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:clamp(20px,4vw,64px);padding:clamp(20px,3vw,48px) clamp(18px,5vw,82px)}.azou-ai__presence{position:relative;display:flex;min-height:0;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:36px;background:linear-gradient(160deg,rgba(16,58,82,.62),rgba(5,24,38,.86));padding:28px}.azou-ai__presence img{position:relative;z-index:2;max-height:62vh;max-width:76%;width:auto;object-fit:contain;filter:drop-shadow(0 20px 35px rgba(0,0,0,.4))}.azou-ai__halo{position:absolute;top:12%;width:68%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(116,215,232,.42);box-shadow:0 0 60px rgba(116,215,232,.16),inset 0 0 50px rgba(213,170,70,.1);animation:aiPulse 3s ease-in-out infinite}.azou-ai__presence p{position:relative;z-index:3;color:#a9bdc8;line-height:1.6;margin:15px 0 0;max-width:390px}.azou-ai__state{position:absolute;z-index:4;top:22px;left:22px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:rgba(3,19,31,.72);border:1px solid rgba(116,215,232,.2);font-size:12px;font-weight:700}.azou-ai__state i,.azou-ai__connected i{width:8px;height:8px;border-radius:50%;background:#efbd59;box-shadow:0 0 12px #efbd59}.azou-ai__state.is-ready i,.azou-ai__connected.is-ready i{background:#58e2a1;box-shadow:0 0 12px #58e2a1}.azou-ai__state.is-thinking i{background:var(--ai-cyan);animation:aiPulse 1s infinite}
.azou-ai__console{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;border:1px solid rgba(255,255,255,.1);border-radius:36px;background:rgba(7,29,45,.78);box-shadow:0 35px 90px rgba(0,0,0,.28);overflow:hidden}.azou-ai__heading{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid rgba(255,255,255,.08)}.azou-ai__eyebrow{color:var(--ai-gold);font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:800}.azou-ai__heading h1{margin:6px 0 0;font:700 clamp(24px,3vw,38px)/1.1 "Playfair Display",serif}.azou-ai__heading h1 strong{color:#75d4e5}.azou-ai__connected{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 11px;color:#c6d5dc;font-size:11px;white-space:nowrap}.azou-ai__messages{min-height:180px;overflow-y:auto;padding:26px 28px;scroll-behavior:smooth}.azou-ai__message{display:flex;gap:12px;margin-bottom:19px;align-items:flex-end}.azou-ai__message--user{justify-content:flex-end}.azou-ai__message>div{max-width:min(76%,720px);border:1px solid rgba(255,255,255,.08);background:#102f44;border-radius:22px 22px 22px 6px;padding:14px 17px;color:#e8f1f5;line-height:1.55}.azou-ai__message--user>div{background:linear-gradient(135deg,#c79a3a,#75d4e5);color:#071d2c;border-radius:22px 22px 6px 22px;font-weight:600}.azou-ai__message p{margin:0;white-space:pre-wrap}.azou-ai__avatar{width:34px;height:34px;flex:0 0 34px;font-size:18px}.azou-ai__thinking span{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:#82dceb;animation:aiDots 1s infinite}.azou-ai__thinking span:nth-child(2){animation-delay:.15s}.azou-ai__thinking span:nth-child(3){animation-delay:.3s}.azou-ai__suggestions{display:flex;gap:8px;overflow-x:auto;padding:0 28px 14px}.azou-ai__suggestions button{flex:0 0 auto;border:1px solid rgba(116,215,232,.26);border-radius:999px;background:rgba(116,215,232,.06);color:#c7dce5;padding:9px 12px;font-size:12px;cursor:pointer}.azou-ai__suggestions button:hover{border-color:var(--ai-gold);color:#fff}.azou-ai__compose{padding:17px 28px 20px;border-top:1px solid rgba(255,255,255,.08);background:rgba(3,19,30,.7)}.azou-ai__compose label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#93abb7;font-weight:800;margin-bottom:8px}.azou-ai__compose>div{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:8px;background:#f5f8fa;border-radius:20px;padding:7px 7px 7px 16px;box-shadow:0 0 0 3px rgba(116,215,232,.04)}.azou-ai__compose textarea{resize:none;border:0;outline:0;background:transparent;color:#082033;font:500 15px/1.5 Inter,sans-serif;max-height:120px;padding:8px 0}.azou-ai__mic,.azou-ai__send{width:42px;height:42px;border-radius:14px;border:0;cursor:pointer;font-size:18px}.azou-ai__mic{background:#e4edf1}.azou-ai__mic.is-listening{background:#e95454;animation:aiPulse 1s infinite}.azou-ai__send{background:linear-gradient(135deg,var(--ai-gold),var(--ai-cyan));color:#082033;font-weight:900}.azou-ai__compose>p{font-size:10px;color:#8097a3;margin:8px 4px 0}
.azou-x__primary--ai{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;text-decoration:none;box-shadow:0 10px 30px rgba(76,194,219,.18),0 0 0 1px rgba(255,255,255,.16) inset}.azou-x__primary--ai span{font-weight:700}.azou-x__primary--ai b{font-size:20px;transition:transform .2s}.azou-x__primary--ai:hover b{transform:translateX(4px)}

/* V10.9.1 : contrôles vocaux, personnage de réflexion et accents éditoriaux. */
.azou-ai__heading-tools{display:flex;align-items:center;gap:9px}
.azou-ai__voice-controls{display:flex;align-items:center;gap:5px}
.azou-ai__voice-controls button{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(213,170,70,.34);border-radius:50%;color:#f6dfa0;background:rgba(255,255,255,.045);cursor:pointer;transition:transform .2s,background .2s,color .2s,opacity .2s}
.azou-ai__voice-controls button:hover:not(:disabled){transform:translateY(-2px);color:#071d2c;background:linear-gradient(135deg,var(--ai-gold),var(--ai-cyan))}
.azou-ai__voice-controls button:disabled{opacity:.3;cursor:not-allowed}
.azou-ai__voice-controls svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.azou-ai__accent{font-weight:750}
.azou-ai__accent--gold{color:#f0c96f;text-shadow:0 0 18px rgba(213,170,70,.16)}
.azou-ai__accent--gradient{color:#f0c96f;background:linear-gradient(100deg,#f4d889 5%,#d5aa46 45%,#74d7e8 92%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.azou-ai__accent--strong{color:#fff;font-weight:900}
.azou-ai__thinking-character{width:38px;height:42px;display:flex!important;align-items:flex-end;justify-content:center;flex:0 0 38px;overflow:visible!important;border-radius:0!important;background:none!important;animation:aiCharacterThink 1.15s ease-in-out infinite!important}
.azou-ai__thinking-character img{display:block;width:auto;height:42px;max-width:none;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(0,0,0,.32))}
.azou-ai__thinking>div span{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:#82dceb;animation:aiDots 1s infinite}
.azou-ai__thinking>div span:nth-child(2){animation-delay:.15s}
.azou-ai__thinking>div span:nth-child(3){animation-delay:.3s}

/* V10.8.2 : la scène reste fixe ; seule la conversation défile. */
.azou-ai__stage{height:100%;overflow:hidden}
.azou-ai__presence,.azou-ai__console{height:100%;min-height:0}
.azou-ai__messages{min-height:0;overscroll-behavior:contain;scrollbar-color:rgba(116,215,232,.48) transparent;scrollbar-width:thin}
.azou-ai__messages::-webkit-scrollbar{width:8px}
.azou-ai__messages::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(var(--ai-gold),var(--ai-cyan))}
.azou-ai__mic,.azou-ai__send{width:42px;height:42px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;transition:transform .2s,filter .2s,box-shadow .2s}
.azou-ai__mic svg,.azou-ai__send svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.azou-ai__mic{color:#082033;background:linear-gradient(145deg,#fff,#e6edf2);box-shadow:inset 1px 1px 2px #fff,0 4px 10px rgba(6,27,43,.16)}
.azou-ai__mic:hover,.azou-ai__send:hover{transform:translateY(-2px)}
.azou-ai__mic.is-listening{color:#fff;background:linear-gradient(145deg,#f1d47c,var(--ai-gold),#2f9fbd);box-shadow:0 0 0 5px rgba(116,215,232,.14),0 5px 14px rgba(6,27,43,.25)}
.azou-ai__send{color:#fff;background:linear-gradient(145deg,#f1d47c,var(--ai-gold) 45%,#269fbd);box-shadow:inset 2px 2px 4px rgba(255,255,255,.35),0 5px 12px rgba(6,27,43,.24)}
.azou-ai__send svg{width:19px;height:19px}
@keyframes aiPulse{50%{transform:scale(1.04);opacity:.72}}@keyframes aiDots{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}@keyframes aiCharacterThink{0%,100%{transform:translateY(1px) rotate(-1deg)}45%{transform:translateY(-5px) rotate(1.5deg)}70%{transform:translateY(-2px) rotate(-.5deg)}}
@media(max-width:850px){.azou-ai-page{overflow:hidden}.azou-ai{height:100dvh;min-height:0}.azou-ai__topbar{height:70px;grid-template-columns:auto 1fr auto;padding:0 14px}.azou-ai__logo{justify-self:center}.azou-ai__logo small,.azou-ai__back span{display:none}.azou-ai__new{font-size:0;padding:10px}.azou-ai__new::after{content:"Nouveau";font-size:11px}.azou-ai__stage{height:100%;grid-template-columns:1fr;padding:14px}.azou-ai__presence{min-height:210px;border-radius:25px;justify-content:center;display:none}.azou-ai__console{height:100%;border-radius:25px}.azou-ai__heading{padding:18px}.azou-ai__heading h1{font-size:24px}.azou-ai__connected{font-size:0}.azou-ai__connected::after{content:"CORE";font-size:10px}.azou-ai__messages{padding:20px 16px}.azou-ai__message>div{max-width:86%}.azou-ai__suggestions{padding:0 16px 12px}.azou-ai__compose{padding:14px 16px 16px}}
@media(max-width:520px){.azou-ai__heading-tools{gap:5px}.azou-ai__connected{display:none}.azou-ai__voice-controls button{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* V10.8.3 : neutralise le min-height global des <header> du site. */
.azou-ai{height:100vh;height:100dvh;min-height:0;grid-template-rows:82px minmax(0,1fr);overflow:hidden}
.azou-ai__topbar{height:82px;min-height:82px!important;overflow:visible!important}
.azou-ai__topbar::before,.azou-ai__topbar::after{content:none!important;display:none!important}
.azou-ai__stage{height:100%;max-height:100%;min-height:0;overflow:hidden}
@media(max-width:850px){.azou-ai{height:100vh;height:100dvh;grid-template-rows:70px minmax(0,1fr)}.azou-ai__topbar{height:70px;min-height:70px!important}}

/* V10.9.2 : personnage officiel dans la marque et slogan visible sur mobile. */
.azou-ai__logo-mark{overflow:hidden;position:relative}
.azou-ai__logo-mark img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:3px;filter:drop-shadow(0 2px 4px rgba(2,20,33,.35))}
@media(max-width:850px){
  .azou-ai{grid-template-rows:76px minmax(0,1fr)}
  .azou-ai__topbar{height:76px;min-height:76px!important}
  .azou-ai__logo{gap:8px}
  .azou-ai__logo-mark{width:44px;height:44px}
  .azou-ai__logo strong{font-size:23px}
  .azou-ai__logo em{font-size:11px;padding:4px 6px}
  .azou-ai__logo small{display:block;margin-top:4px;font-size:7px;letter-spacing:.16em;white-space:nowrap}
}

/* V10.10 — bouton Retour premium sur ordinateur seulement. */
@media(min-width:851px){
  .azou-ai__back{justify-self:start;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(213,170,70,.55);border-radius:999px;background:transparent;color:#f7df9a;padding:11px 17px;text-decoration:none;font-weight:700;transition:background .22s ease,transform .22s ease,border-color .22s ease}
  .azou-ai__back-arrow{font-size:1.08em;line-height:1}
  .azou-ai__back:hover{color:#fff;background:rgba(213,170,70,.1);border-color:rgba(213,170,70,.78);transform:translateY(-1px)}
}

/* V10.11.0 — import et état d'un document réel. */
.azou-ai__compose>div:not(.azou-ai__document):not(.azou-ai__document-options){grid-template-columns:1fr auto auto auto auto}
.azou-ai__attach,.azou-ai__camera{width:42px;height:42px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;color:#705315;background:#f3e7c4;transition:transform .2s,filter .2s,box-shadow .2s}
.azou-ai__camera{color:#062238;background:linear-gradient(135deg,#f1c75b 0%,#d89d2b 42%,#39b9d2 100%);border:1px solid rgba(247,223,154,.9);box-shadow:0 5px 15px rgba(12,105,137,.3),inset 0 1px 0 rgba(255,255,255,.45)}
.azou-ai__camera:hover:not(:disabled){filter:saturate(1.15) brightness(1.06);box-shadow:0 7px 19px rgba(12,105,137,.4),0 0 0 3px rgba(240,201,111,.14)}
.azou-ai__attach:hover:not(:disabled),.azou-ai__camera:hover:not(:disabled){transform:translateY(-2px)}
.azou-ai__attach:disabled,.azou-ai__camera:disabled{opacity:.45;cursor:wait}
.azou-ai__attach.is-active{color:#082033;background:linear-gradient(135deg,var(--ai-gold),var(--ai-cyan));box-shadow:0 0 0 4px rgba(116,215,232,.1)}
.azou-ai__attach svg,.azou-ai__camera svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.azou-ai__document{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 9px;padding:8px 12px!important;border:1px solid rgba(116,215,232,.22);border-radius:12px;background:rgba(116,215,232,.07)!important;color:#d9edf4;font-size:12px}
.azou-ai__document[hidden]{display:none!important}
.azou-ai__document span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.azou-ai__document small{flex:none;color:#f0c96f;font-weight:800}
.azou-ai__document-actions{display:flex;align-items:center;gap:9px;flex:none}
.azou-ai__document-actions button{width:25px;height:25px;border:1px solid rgba(240,201,111,.35);border-radius:50%;background:transparent;color:#f0c96f;font-size:18px;line-height:1;cursor:pointer}
.azou-ai__document-options{display:flex!important;align-items:center;gap:9px;margin:0 2px 7px;padding:0 2px!important;background:transparent!important;font-size:11px;color:#adc4cc}
.azou-ai__document-options label{position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:nowrap}
.azou-ai__document-options label{font-size:10px;line-height:1;letter-spacing:.11em;color:#9db7c2}
.azou-ai__document-options select{max-width:120px;border:1px solid rgba(213,170,70,.35);border-radius:999px;background:#102c40;color:#f7df9a;padding:5px 22px 5px 9px;font:inherit}
.azou-ai__document-options span{margin-left:auto;color:#8fc4b7;white-space:nowrap}
@media(max-width:520px){.azou-ai__compose>div:not(.azou-ai__document):not(.azou-ai__document-options){gap:5px;padding-left:8px}.azou-ai__attach,.azou-ai__camera,.azou-ai__mic,.azou-ai__send{width:36px;height:36px}.azou-ai__document-options{flex-wrap:wrap;row-gap:6px}.azou-ai__document-options span{width:100%;margin-left:0}.azou-ai__document-options label{font-size:9px;letter-spacing:.08em}}

/* V11.0 — cartes de sources vérifiées. */
.azou-ai__knowledge-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 8px;padding:4px 8px;border:1px solid rgba(213,170,70,.35);border-radius:999px;background:linear-gradient(110deg,rgba(213,170,70,.16),rgba(71,191,220,.14));color:#f0c96f;font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.azou-ai__sources{margin-top:14px;padding-top:12px;border-top:1px solid rgba(116,215,232,.18)}
.azou-ai__sources>strong{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#f0c96f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.azou-ai__sources>strong i{width:8px;height:8px;border-radius:50%;background:#58e2a1;box-shadow:0 0 10px rgba(88,226,161,.65)}
.azou-ai__sources>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.azou-ai__sources a{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid rgba(213,170,70,.24);border-radius:12px;background:rgba(4,22,35,.38);color:#eaf4f7;text-decoration:none;transition:border-color .2s,transform .2s}
.azou-ai__sources a:hover{border-color:#d5aa46;transform:translateY(-1px)}
.azou-ai__sources small{overflow:hidden;text-overflow:ellipsis;color:#75d4e5;font-size:9px;text-transform:uppercase;white-space:nowrap}
.azou-ai__sources span{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.azou-ai__sources b{color:#f0c96f;font-size:9px}
@media(max-width:520px){.azou-ai__sources>div{grid-template-columns:1fr}}
