/*
 * Pixi V2, coque de la page (lot F1) : racine, rail de 60 px, colonne d'historique de 268 px, barre du haut, zone defilante, squelettes,
 * barre basse et tiroir du telephone, fenetres de verre, menu, infobulle verte, etat ferme, socle du fil.
 * Source : les styles des planches Main et S01-* (balise <helmet> et styles en ligne), transposes sous #pxip-app.
 * Specificite : toute regle part de l'identifiant #pxip-app (1,x,x), au-dessus de `.elementor-kit-1489 button` (0,1,1) et des regles
 * `button:focus-visible` de BuddyX (0,1,1) : pas de !important sauf `[hidden]` et le mouvement reduit. Les cinq etats (repos, survol, focus,
 * focus clavier, appui) de chaque element interactif sont declares, meme quand ils ressemblent au repos (conflicts.md P1, P3, P21).
 * Une regle par ligne, aucune chaine CSS sur plusieurs lignes (LiteSpeed combine et minifie).
 */
/* Seule regle hors de #pxip-app : le <body> n'est pas dans la racine, elle ne peut donc pas s'y imbriquer. Elle est bornee par la classe `pxip-v2`,
 * posee sur <body> par le seul gabarit pixi-page-v2.php (body_class) : ni le rendu actuel, ni le panneau, ni aucune autre page ne la portent.
 * Elle retire la marge du navigateur et donne a la page la couleur de fond avant le premier rendu de #pxip-app. */
body.pxip-v2{margin:0;background:#f7f9f8;}
#pxip-app{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;background:var(--pxip2-bg);color:var(--pxip2-ink);font-family:'Urbanist',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;font-weight:500;line-height:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:left;}
.admin-bar #pxip-app{top:32px;}
@media (max-width:782px){.admin-bar #pxip-app{top:46px;}}
/* Remise a zero locale a specificite NULLE (:where) : toute classe de la V2, d'un lot ou d'un tiers l'emporte, jamais l'inverse */
:where(#pxip-app) *,:where(#pxip-app) *::before,:where(#pxip-app) *::after{box-sizing:border-box;}
:where(#pxip-app) :where(h1,h2,h3,h4,h5,h6,p,figure,ul,ol){margin:0;}
:where(#pxip-app) :where(ul,ol){padding:0;list-style:none;}
:where(#pxip-app) :where(button,input,textarea,select){font:inherit;color:inherit;letter-spacing:inherit;}
:where(#pxip-app) :where(button){margin:0;text-transform:none;}
:where(#pxip-app) :where(a){color:var(--pxip2-acc);}
:where(#pxip-app) :where(a:hover){color:var(--pxip2-ink);}
/* !important : regle adverse = nos propres `display:` de 11-accueil.css (`.pxip-send` grid, `.pxip-iconbtn` grid, `.pxip-chip` inline-flex,
 * `.pxip-composer__listening` flex, specificite 1,1,0 comme celle-ci, feuille chargee APRES celle-ci) : sans lui, l'attribut hidden du bouton
 * d'envoi, du micro ou de la ligne d'ecoute ne cacherait rien. Les regles `display` d'un lot posees plus tard sont dans le meme cas. */
#pxip-app [hidden]{display:none!important;}
#pxip-app .pxip-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
#pxip-app .pxip-icon{flex:none;display:block;}
#pxip-app ::-webkit-scrollbar{width:8px;}
#pxip-app ::-webkit-scrollbar-thumb{background:rgba(120,150,145,.3);border-radius:9999px;}
/* Anneau clavier commun : toute cible interactive (liens du texte compris) garde un focus visible, vert Pixidia. */
#pxip-app :focus-visible{outline:2px solid var(--pxip2-focus);outline-offset:2px;}
#pxip-app button:focus,#pxip-app a:focus{outline:none;}
#pxip-app button:focus-visible,#pxip-app a:focus-visible,#pxip-app [tabindex]:focus-visible,#pxip-app summary:focus-visible{outline:2px solid var(--pxip2-focus);outline-offset:2px;}
/* L'anneau apparait a l'appui sur Tab, sans fondu : les boutons du rail, de l'historique et des puces declarent `transition:all .3s` (ressort), qui animait
 * l'epaisseur et le decalage du contour (0 puis 3 px, decalage a 0 puis 2 px) : une capture prise juste apres Tab montrait un contour a demi dessine, voire absent.
 * Specificite (1,2,0) : au-dessus de `#pxip-app .pxip-xxx{transition:all}` (1,1,0). La sortie du focus garde, elle, le fondu de l'element. */
#pxip-app :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible{transition-duration:0s;transition-delay:0s;}
/* Squelette de la page : rail | historique | conversation (| carte) */
#pxip-app .pxip-shell{position:relative;flex:1;min-height:0;display:flex;width:100%;height:100%;}
#pxip-app .pxip-shell[data-rail="collapsed"] .pxip-history{display:none;}
#pxip-app .pxip-shell:not([data-rail]) .pxip-history{display:none;}
@media (min-width:1100px){#pxip-app .pxip-shell:not([data-rail]) .pxip-history{display:flex;}}
/* Rail de 60 px : logo, nouvelle conversation, conversations, mes voyages, tes donnees, avatar */
#pxip-app .pxip-nav{flex:none;width:60px;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;background:var(--pxip2-rail);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:inset -1px 0 0 var(--pxip2-line);}
/* R29a (2) : les infobulles du rail (a droite des boutons, z-index 50) passaient DERRIERE la colonne des conversations ou du fil, qui la suit dans le document : le flou d'arriere-plan du rail (backdrop-filter)
   en fait une pile fermee au niveau auto, donc ses infobulles ne depassaient jamais le rang de leurs voisines (rangees apres lui). Le rail prend le niveau des infobulles (--pxip2-z-tip, 00-tokens.css) : au-dessus de
   l'historique (30 en superposition), du fil et de la carte (30), sous les fenetres, le tiroir et les menus (100 et 120), que ce niveau ne depasse pas. Le rail est masque au telephone (plus bas) : le tiroir n'est pas touche. */
#pxip-app .pxip-nav{position:relative;z-index:var(--pxip2-z-tip);}
#pxip-app .pxip-nav__logo{display:block;margin-bottom:10px;border-radius:12px;}
#pxip-app .pxip-nav__logo img{display:block;object-fit:contain;}
#pxip-app .pxip-nav__spacer{flex:1;}
#pxip-app .pxip-nav__btn{width:38px;height:38px;padding:0;border-radius:var(--pxip2-r);border:1px solid transparent;background:transparent;color:var(--pxip2-mut);display:grid;place-items:center;cursor:pointer;text-decoration:none;box-shadow:none;transition:all .3s var(--pxip2-spring);}
#pxip-app .pxip-nav__btn:hover{background:var(--pxip2-tint);color:var(--pxip2-acc-ink);transform:translateY(-2px);}
#pxip-app .pxip-nav__btn:focus,#pxip-app .pxip-nav__btn:focus-visible{background:var(--pxip2-tint);color:var(--pxip2-acc-ink);}
#pxip-app .pxip-nav__btn:active{transform:scale(.96);}
#pxip-app .pxip-nav__btn--new{border:0;background:var(--pxip2-grad);color:#fff;box-shadow:0 6px 16px rgba(30,155,82,.28);}
#pxip-app .pxip-nav__btn--new:hover{background:var(--pxip2-grad);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,155,82,.4);}
#pxip-app .pxip-nav__btn--new:focus,#pxip-app .pxip-nav__btn--new:focus-visible{background:var(--pxip2-grad);color:#fff;box-shadow:0 10px 24px rgba(30,155,82,.4);}
#pxip-app .pxip-nav__btn--new:active{transform:scale(.96);box-shadow:0 6px 16px rgba(30,155,82,.28);}
#pxip-app .pxip-nav__btn--conv{margin-top:8px;}
#pxip-app .pxip-nav__btn.pxip-is-on{border-color:var(--pxip2-tint-bd);background:var(--pxip2-tint);color:var(--pxip2-acc-ink);}
#pxip-app .pxip-avatar{flex:none;width:36px;height:36px;border-radius:9999px;background:linear-gradient(135deg,#3DBE73,#1E9B52);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;box-shadow:0 0 0 2px var(--pxip2-surf2),0 0 0 3px rgba(30,155,82,.3);}
/* Infobulle verte : data-tooltip + aria-label, jamais title (composant du design system, forme a : survol et focus clavier) */
#pxip-app [data-tooltip]{position:relative;}
#pxip-app [data-tooltip]::after{content:attr(data-tooltip);position:absolute;z-index:50;left:calc(100% + 10px);top:50%;transform:translate(-4px,-50%);padding:6px 14px;border-radius:8px;background:linear-gradient(135deg,#0fa36b 25%,#38c19c);color:#fff;font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.35;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;box-shadow:0 10px 24px -10px rgba(15,163,107,.5);}
#pxip-app [data-tooltip]::before{content:"";position:absolute;z-index:50;left:calc(100% + 5px);top:50%;transform:translate(-4px,-50%);border:5px solid transparent;border-right-color:#0fa36b;border-left-width:0;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;}
#pxip-app [data-tooltip]:hover::after,#pxip-app [data-tooltip]:focus-visible::after{opacity:1;transform:translate(0,-50%);}
#pxip-app [data-tooltip]:hover::before,#pxip-app [data-tooltip]:focus-visible::before{opacity:1;transform:translate(0,-50%);}
#pxip-app [data-tooltip][data-tooltip-placement="top"]::after{left:50%;top:auto;bottom:calc(100% + 10px);transform:translate(-50%,4px);}
#pxip-app [data-tooltip][data-tooltip-placement="top"]::before{left:50%;top:auto;bottom:calc(100% + 5px);transform:translate(-50%,4px);border:5px solid transparent;border-top-color:#0fa36b;border-bottom-width:0;}
#pxip-app [data-tooltip][data-tooltip-placement="top"]:hover::after,#pxip-app [data-tooltip][data-tooltip-placement="top"]:focus-visible::after,#pxip-app [data-tooltip][data-tooltip-placement="top"]:hover::before,#pxip-app [data-tooltip][data-tooltip-placement="top"]:focus-visible::before{transform:translate(-50%,0);}
/* Colonne d'historique de 268 px */
#pxip-app .pxip-history{flex:none;width:268px;height:100%;display:flex;flex-direction:column;background:var(--pxip2-surf);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset -1px 0 0 var(--pxip2-line);}
#pxip-app .pxip-history__head{display:flex;align-items:center;gap:10px;padding:16px 16px 8px;}
#pxip-app .pxip-history__title{flex:1;min-width:0;font-size:17px;font-weight:800;letter-spacing:-.01em;}
#pxip-app .pxip-history__close{display:none;flex:none;width:34px;height:34px;padding:0;border-radius:9999px;border:1px solid var(--pxip2-line);background:var(--pxip2-hover);color:var(--pxip2-mut);cursor:pointer;place-items:center;transition:all .2s;}
#pxip-app .pxip-history__close:hover,#pxip-app .pxip-history__close:focus,#pxip-app .pxip-history__close:focus-visible{background:var(--pxip2-hover);color:var(--pxip2-ink);}
#pxip-app .pxip-history__close:active{transform:scale(.94);}
#pxip-app .pxip-history__search{position:relative;padding:0 12px 6px;}
/* Le glyphe de la loupe est l'enfant DIRECT du bloc de recherche : la regle ne vise plus les icones qu'un lot y ajoute (croix d'effacement, bouton rond). */
#pxip-app .pxip-history__search > .pxip-icon{position:absolute;left:25px;top:11px;color:#8a9c9c;}
#pxip-app .pxip-history__input{width:100%;height:36px;margin:0;border-radius:var(--pxip2-r);border:1px solid var(--pxip2-line);background:var(--pxip2-surf2);padding:0 12px 0 34px;font-size:14px;font-weight:500;outline:none;box-shadow:none;}
#pxip-app .pxip-history__input:hover{border-color:var(--pxip2-line);}
/* Couleur par defaut de Chromium (planches), fixee ici : Safari et Firefox grisent beaucoup plus (Firefox : opacite .54). Mesure sur le fond reel du champ : 4,56:1 au moins. */
#pxip-app .pxip-history__input::placeholder{color:#757575;opacity:1;}
#pxip-app .pxip-history__input:focus,#pxip-app .pxip-history__input:focus-visible{border-color:#1E9B52;box-shadow:0 0 0 3px rgba(30,155,82,.15);outline:none;}
#pxip-app .pxip-history__list{flex:1;min-height:0;overflow-y:auto;padding:2px 8px 14px;}
#pxip-app .pxip-history__new{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--pxip2-r);background:var(--pxip2-tint);border:1px solid var(--pxip2-tint-bd);font-weight:800;font-size:14px;margin-top:4px;color:inherit;text-align:left;cursor:pointer;}
#pxip-app .pxip-history__new:hover,#pxip-app .pxip-history__new:focus,#pxip-app .pxip-history__new:focus-visible,#pxip-app .pxip-history__new:active{background:var(--pxip2-tint);color:inherit;}
#pxip-app .pxip-history__dot{flex:none;width:7px;height:7px;border-radius:9999px;background:#1E9B52;box-shadow:0 0 0 3px rgba(30,155,82,.2);}
#pxip-app .pxip-history__group{padding:14px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pxip2-mut);}
#pxip-app .pxip-history__items{display:block;}
#pxip-app .pxip-hitem{position:relative;display:block;}
#pxip-app .pxip-hitem__link{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:var(--pxip2-r);text-decoration:none;color:var(--pxip2-ink);transition:background .2s;}
#pxip-app .pxip-hitem__link:hover,#pxip-app .pxip-hitem__link:focus,#pxip-app .pxip-hitem__link:focus-visible{background:var(--pxip2-hover);color:var(--pxip2-ink);}
#pxip-app .pxip-hitem__link:active{background:var(--pxip2-hover);}
#pxip-app .pxip-hitem.pxip-is-active .pxip-hitem__link{background:var(--pxip2-tint);box-shadow:inset 0 0 0 1px var(--pxip2-tint-bd);}
#pxip-app .pxip-hitem__title{font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#pxip-app .pxip-hitem__meta{font-size:11.5px;font-weight:500;color:var(--pxip2-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Point d'accroche F4 : bouton « ... » d'une ligne (menu de gestion), pose par historique.js ; masque tant qu'aucun lot ne le fournit */
#pxip-app .pxip-hitem__menu{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--pxip2-mut);display:none;place-items:center;cursor:pointer;}
#pxip-app .pxip-hitem:hover .pxip-hitem__menu,#pxip-app .pxip-hitem:focus-within .pxip-hitem__menu{display:grid;}
#pxip-app .pxip-hitem__menu:hover,#pxip-app .pxip-hitem__menu:focus,#pxip-app .pxip-hitem__menu:focus-visible{background:var(--pxip2-hover);color:var(--pxip2-ink);}
#pxip-app .pxip-history__empty{margin:40px 18px 0;display:flex;flex-direction:column;align-items:center;text-align:center;}
#pxip-app .pxip-history__empty-icon{width:40px;height:40px;border-radius:12px;background:var(--pxip2-hover);color:var(--pxip2-mut);display:grid;place-items:center;}
#pxip-app .pxip-history__empty-title{margin:12px 0 0;font-size:14px;font-weight:800;}
#pxip-app .pxip-history__empty-text{margin:4px 0 0;max-width:24ch;font-size:12.5px;font-weight:500;line-height:1.5;color:var(--pxip2-mut);text-wrap:pretty;}
#pxip-app .pxip-history__more{display:block;width:calc(100% - 20px);margin:10px;height:34px;border-radius:var(--pxip2-r);border:1px solid var(--pxip2-tint-bd);background:var(--pxip2-btn2);color:var(--pxip2-acc-ink);font-size:13px;font-weight:700;cursor:pointer;}
#pxip-app .pxip-history__more:hover,#pxip-app .pxip-history__more:focus,#pxip-app .pxip-history__more:focus-visible{background:var(--pxip2-tint);}
#pxip-app .pxip-history__status{padding:0 16px;font-size:12px;font-weight:600;color:var(--pxip2-mut);}
/* Vide, la region d'etat (role=status) reste dans l'arbre d'accessibilite : un `display:none` la retirerait, et un texte qui arrive ensuite dans un noeud
   fraichement affiche n'est pas annonce. Elle est reduite a un point invisible, jamais cachee. */
#pxip-app .pxip-history__status:empty{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
/* Squelettes a la geometrie exacte de l'accueil (S01-08) : meme degrade balaye, coupe par prefers-reduced-motion */
#pxip-app .pxip-skel{flex:none;background:linear-gradient(90deg,rgba(10,61,58,.06) 30%,rgba(255,255,255,.7) 50%,rgba(10,61,58,.06) 70%);background-size:480px 100%;animation:pxip2Sh 1.8s ease-in-out infinite;}
#pxip-app .pxip-history--booting .pxip-history__skel-title{padding:18px 16px 8px;}
#pxip-app .pxip-history--booting .pxip-history__skel-search{padding:0 12px 6px;}
#pxip-app .pxip-history--booting .pxip-history__skel-list{flex:1;min-height:0;overflow-y:auto;padding:2px 8px 14px;}
#pxip-app .pxip-history--booting .pxip-history__skel-inner{padding:8px 10px 0;display:flex;flex-direction:column;gap:0;}
#pxip-app .pxip-history--booting .pxip-history__skel-row{padding:6px 0;display:flex;flex-direction:column;gap:6px;}
#pxip-app .pxip-shell:not([data-rail]) .pxip-history--booting{display:none;}
@media (min-width:1100px){#pxip-app .pxip-shell:not([data-rail]) .pxip-history--booting{display:flex;}}
@media (min-width:1100px){#pxip-app .pxip-shell:not([data-rail]) .pxip-nav__btn--conv{border-color:var(--pxip2-tint-bd);background:var(--pxip2-tint);color:var(--pxip2-acc-ink);}}
/* Conversation : barre du haut, zone defilante, accueil, composer ancre */
#pxip-app .pxip-main{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;}
#pxip-app .pxip-topbar{flex:none;height:52px;display:flex;align-items:center;gap:10px;padding:0 20px;}
#pxip-app .pxip-topbar__logo{display:none;flex:none;border-radius:9px;object-fit:contain;}
#pxip-app .pxip-topbar__title{flex:1;min-width:0;font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#pxip-app .pxip-scroll{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden;padding:4px 32px 20px;}
@media (min-width:1100px){#pxip-app .pxip-scroll{padding:4px 28px 20px;}}
#pxip-app .pxip-scroll--booting{overflow:hidden;}
#pxip-app .pxip-main[aria-busy="true"] .pxip-topbar{align-items:center;}
#pxip-app .pxip-dock{flex:none;display:none;padding:0 28px 12px;}
#pxip-app .pxip-dock__inner{width:100%;max-width:760px;margin:0 auto;}
#pxip-app .pxip-dock .pxip-ailine{margin:8px 0 8px;text-wrap:wrap;}
/* Fil de conversation : SOCLE minimal, remplace par 20-fil.css (lot F2) quand il existe */
#pxip-app[data-mode="thread"] .pxip-scroll{display:block;justify-content:flex-start;padding:0;}
#pxip-app[data-dock="1"] .pxip-dock{display:block;}
/* Composer du fil (planches S02) : colonne de 760 moins 2 x 28 de marge = 704 de champ, 14 px sous la mention IA, mention a 10 px du champ.
 * A partir de 768 px SEULEMENT : sous 768 px la geometrie du dock et du composer du fil est a F10 (planches S05-01, S05-06, S03-08, 60-telephone.css), le socle
 * n'en impose aucune. Accroches fournies a F10 : la classe `pxip-dock--thread` du dock, `pxip-composer--thread` du formulaire, `data-mode="thread"` de la racine
 * et la variable `--pxip2-dock-h` (hauteur mesuree du dock, posee sur `.pxip-main` par core/app.js). */
@media (min-width:768px){
#pxip-app[data-mode="thread"] .pxip-dock{padding:0 28px 14px;}
#pxip-app[data-mode="thread"] .pxip-dock__inner{max-width:704px;}
#pxip-app[data-mode="thread"] .pxip-dock .pxip-ailine{margin:10px 0 0;}
}
/* Accueil (planches Main et S01) : ni menu de la conversation dans la barre du haut, ni bandeau du voyage rattache (le voyage est la puce du composer). Ces deux
 * elements viennent du lot F2, qui les pose quel que soit le mode : le socle les masque a l'accueil, ou aucune planche S01 ne les dessine.
 * Il ne s'agit pas du masquage d'un controle utile : la conversation de l'accueil n'existe pas encore (rien a renommer, a epingler, a supprimer). */
#pxip-app[data-mode="welcome"] .pxip-topbar__more,#pxip-app[data-mode="welcome"] .pxip-tripzone{display:none;}
/* Interview (point de montage, plugin pixidia-interview) : meme raison, la conversation n'existe pas (le parcours ne se renomme ni ne s'epingle). Mode jamais pose sans la cle PXIP.v2.interview. */
#pxip-app[data-mode="interview"] .pxip-topbar__more,#pxip-app[data-mode="interview"] .pxip-tripzone{display:none;}
#pxip-app[data-kb="open"]{bottom:auto;top:var(--pxip2-vv-top,0px);height:var(--pxip2-vv-h,100%);background-repeat:no-repeat;background-size:100% var(--pxip2-full-h,100%);background-position:0 calc(-1 * var(--pxip2-vv-top,0px));}
#pxip-app[data-kb="open"] .pxip-scroll{padding:0 16px;}
#pxip-app .pxip-thread{max-width:760px;margin:0 auto;padding:12px 28px 20px;display:flex;flex-direction:column;gap:22px;}
#pxip-app .pxip-log{display:flex;flex-direction:column;gap:22px;}
#pxip-app .pxip-msg--user{align-self:flex-end;max-width:80%;}
#pxip-app .pxip-bubble{background:#0A3D3A;color:#fff;border-radius:22px 22px 6px 22px;padding:12px 16px;font-size:15.5px;font-weight:500;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;}
#pxip-app .pxip-msg--pixi{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:10px;}
#pxip-app .pxip-msg__avatar{grid-row:1;grid-column:1;width:28px;height:28px;border-radius:9999px;overflow:hidden;display:block;}
#pxip-app .pxip-avatar-img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
#pxip-app .pxip-msg__name{grid-row:1;grid-column:2;display:flex;align-items:center;gap:8px;min-height:28px;font-size:13.5px;font-weight:800;}
#pxip-app .pxip-msg__name time{font-size:12px;font-weight:500;color:var(--pxip2-mut);}
#pxip-app .pxip-msg__body{grid-column:2;grid-row:1;min-width:0;}
#pxip-app .pxip-rich{font-size:16px;font-weight:500;line-height:1.65;text-wrap:pretty;}
#pxip-app .pxip-rich p{margin:0 0 12px;}
#pxip-app .pxip-rich ul,#pxip-app .pxip-rich ol{margin:0 0 12px;padding-left:20px;list-style:revert;}
#pxip-app .pxip-rich strong{font-weight:700;}
#pxip-app .pxip-rich a{color:var(--pxip2-acc-ink);text-decoration:underline;text-decoration-color:rgba(15,107,58,.45);text-underline-offset:2px;}
#pxip-app .pxip-arts{display:flex;flex-direction:column;gap:12px;margin-top:8px;}
#pxip-app .pxip-daysep{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;color:var(--pxip2-mut);text-align:center;}
#pxip-app .pxip-daysep::before,#pxip-app .pxip-daysep::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--pxip2-line),transparent);}
#pxip-app .pxip-sysline{text-align:center;font-size:12.5px;font-weight:600;color:var(--pxip2-mut);}
#pxip-app .pxip-erased{font-size:13px;font-weight:500;font-style:italic;color:var(--pxip2-mut);}
#pxip-app .pxip-older,#pxip-app .pxip-jump{align-self:center;height:32px;padding:0 14px;border-radius:9999px;border:1px solid var(--pxip2-tint-bd);background:var(--pxip2-btn2);color:var(--pxip2-acc-ink);font-size:13px;font-weight:700;cursor:pointer;}
#pxip-app .pxip-jump{position:absolute;left:50%;bottom:150px;transform:translateX(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;}
#pxip-app .pxip-older:hover,#pxip-app .pxip-older:focus,#pxip-app .pxip-older:focus-visible,#pxip-app .pxip-jump:hover,#pxip-app .pxip-jump:focus,#pxip-app .pxip-jump:focus-visible{background:var(--pxip2-tint);}
#pxip-app .pxip-wait{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--pxip2-mut);}
#pxip-app .pxip-draft{margin-top:6px;}
#pxip-app .pxip-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(211,47,47,.07);color:var(--pxip2-danger-ink);font-size:14px;font-weight:600;}
#pxip-app .pxip-error__actions{display:flex;gap:8px;margin-top:8px;}
#pxip-app .pxip-error button,#pxip-app .pxip-pending button{height:32px;padding:0 14px;border-radius:9999px;border:1px solid var(--pxip2-tint-bd);background:var(--pxip2-btn2);color:var(--pxip2-acc-ink);font-size:13px;font-weight:700;cursor:pointer;}
#pxip-app .pxip-pending{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--pxip2-mut);}
#pxip-app .pxip-card--unavailable{padding:12px 14px;border-radius:16px;background:var(--pxip2-hover);color:var(--pxip2-mut);font-size:13px;font-weight:600;}
/* Barre basse et tiroir du telephone (S01-12, S01-13) */
#pxip-app .pxip-tabbar{display:none;}
@media (max-width:767px){
#pxip-app .pxip-nav{display:none;}
#pxip-app .pxip-shell{display:block;}
#pxip-app .pxip-shell[data-rail] .pxip-history,#pxip-app .pxip-shell:not([data-rail]) .pxip-history,#pxip-app .pxip-shell .pxip-history--booting{display:none;}
#pxip-app .pxip-main{position:absolute;left:0;right:0;top:0;bottom:calc(56px + var(--pxip2-safe-b));height:auto;}
#pxip-app[data-kb="open"] .pxip-main{bottom:0;}
#pxip-app[data-kb="open"] .pxip-tabbar{display:none;}
#pxip-app .pxip-topbar{padding:0 16px;}
#pxip-app .pxip-topbar__logo{display:block;width:30px;height:30px;}
#pxip-app .pxip-scroll{padding:4px 16px 12px;}
#pxip-app .pxip-tabbar{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:flex-start;padding:0 6px var(--pxip2-safe-b);background:var(--pxip2-rail);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 1px 0 var(--pxip2-line);}
#pxip-app .pxip-tabbar__cell{flex:1;height:56px;display:grid;place-items:center;}
#pxip-app .pxip-tabbar__btn{width:44px;height:44px;padding:0;border-radius:var(--pxip2-r);border:1px solid transparent;background:transparent;color:var(--pxip2-mut);display:grid;place-items:center;cursor:pointer;text-decoration:none;box-shadow:none;}
#pxip-app .pxip-tabbar__btn:hover,#pxip-app .pxip-tabbar__btn:focus,#pxip-app .pxip-tabbar__btn:focus-visible{background:transparent;color:var(--pxip2-acc-ink);}
#pxip-app .pxip-tabbar__btn:active{transform:scale(.94);}
#pxip-app .pxip-tabbar__btn.pxip-is-on{border-color:var(--pxip2-tint-bd);background:var(--pxip2-tint);color:var(--pxip2-acc-ink);}
#pxip-app .pxip-tabbar__new{width:46px;height:46px;padding:0;border-radius:15px;border:0;background:var(--pxip2-grad);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(30,155,82,.32);cursor:pointer;}
#pxip-app .pxip-tabbar__new:hover,#pxip-app .pxip-tabbar__new:focus,#pxip-app .pxip-tabbar__new:focus-visible{background:var(--pxip2-grad);color:#fff;}
#pxip-app .pxip-tabbar__new:active{transform:scale(.94);}
#pxip-app .pxip-avatar--small{width:32px;height:32px;}
#pxip-app a.pxip-avatar{text-decoration:none;color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;}
#pxip-app a.pxip-avatar:hover{color:#fff;text-decoration:none;transform:translateY(-1px);}
#pxip-app a.pxip-avatar:focus,#pxip-app a.pxip-avatar:focus-visible{color:#fff;text-decoration:none;outline:2px solid var(--pxip2-focus);outline-offset:2px;}
#pxip-app a.pxip-avatar:active{color:#fff;text-decoration:none;transform:scale(.95);}
#pxip-app .pxip-dock{padding:0 12px 4px;}
}
#pxip-app .pxip-drawer{position:absolute;inset:0;z-index:100;background:rgba(1,40,39,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:stretch;justify-content:flex-start;padding:0;}
#pxip-app .pxip-drawer__panel{display:flex;flex-direction:column;width:328px;max-width:86%;height:100%;background:var(--pxip2-modal);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:0 20px 20px 0;box-shadow:0 16px 48px rgba(1,40,39,.28);overflow:hidden;animation:pxip2In .25s var(--pxip2-std);}
#pxip-app .pxip-drawer .pxip-history{display:flex;flex:1;width:100%;min-height:0;height:auto;}
#pxip-app .pxip-drawer .pxip-history__head{padding:14px 12px 8px 16px;}
#pxip-app .pxip-drawer .pxip-history__close{display:grid;}
#pxip-app .pxip-drawer__foot{flex:none;padding:10px 12px 22px;border-top:1px solid var(--pxip2-line);}
#pxip-app .pxip-drawer__data{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--pxip2-r);border:0;background:transparent;color:var(--pxip2-ink);font-size:14px;font-weight:700;cursor:pointer;text-align:left;}
#pxip-app .pxip-drawer__data:hover,#pxip-app .pxip-drawer__data:focus,#pxip-app .pxip-drawer__data:focus-visible{background:var(--pxip2-hover);color:var(--pxip2-ink);}
#pxip-app .pxip-drawer__data .pxip-icon{color:var(--pxip2-mut);}
/* Fenetres de verre (norme Aurore et verre) : rattachement, voyageurs, conversations par voyage ; feuille du bas au telephone */
#pxip-app .pxip-dlg{position:fixed;inset:0;z-index:100;background:rgba(11,43,40,.26);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:pxip2Fade .3s ease;overflow:hidden;}
#pxip-app .pxip-dlg__panel:focus,#pxip-app .pxip-dlg__panel:focus-visible{outline:none;}
#pxip-app .pxip-dlg__aura{position:absolute;left:50%;top:50%;width:860px;height:720px;transform:translate(-50%,-50%);pointer-events:none;}
#pxip-app .pxip-dlg__aura i{position:absolute;display:block;border-radius:50%;filter:blur(80px);}
#pxip-app .pxip-dlg__aura i:nth-child(1){left:0;top:40px;width:400px;height:400px;background:radial-gradient(circle,rgba(110,231,183,.9),transparent 66%);opacity:.55;}
#pxip-app .pxip-dlg__aura i:nth-child(2){right:20px;top:0;width:360px;height:360px;background:radial-gradient(circle,rgba(147,197,253,.75),transparent 66%);opacity:.55;}
#pxip-app .pxip-dlg__aura i:nth-child(3){left:280px;bottom:0;width:340px;height:340px;background:radial-gradient(circle,rgba(94,234,212,.8),transparent 66%);opacity:.5;}
#pxip-app .pxip-dlg--wide .pxip-dlg__aura{width:900px;height:760px;}
#pxip-app .pxip-dlg--wide .pxip-dlg__aura i:nth-child(1){width:420px;height:420px;}
#pxip-app .pxip-dlg--wide .pxip-dlg__aura i:nth-child(2){width:380px;height:380px;}
#pxip-app .pxip-dlg--wide .pxip-dlg__aura i:nth-child(3){left:300px;width:360px;height:360px;}
/* biome-ignore lint/suspicious/noDuplicateProperties: repli vh pour les navigateurs sans dvh, dvh ensuite */
#pxip-app .pxip-dlg__panel{position:relative;isolation:isolate;width:100%;max-width:500px;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;border-radius:28px;background:var(--pxip2-glass);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.85);box-shadow:var(--pxip2-glass-shadow);color:var(--pxip2-ink2);animation:pxip2In .45s var(--pxip2-out);}
#pxip-app .pxip-dlg--wide .pxip-dlg__panel{max-width:600px;}
#pxip-app .pxip-dlg__panel::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(120% 70% at 0% 0%,rgba(255,255,255,.7),transparent 50%);opacity:.7;}
#pxip-app .pxip-dlg__head{display:flex;align-items:flex-start;gap:14px;padding:24px 22px 2px 28px;}
#pxip-app .pxip-dlg__head--back{gap:12px;padding:22px 22px 2px 20px;}
#pxip-app .pxip-dlg__titles{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;}
#pxip-app .pxip-dlg__head--back .pxip-dlg__titles{padding-top:2px;}
#pxip-app .pxip-dlg__title{font-size:30px;font-weight:800;line-height:1.02;letter-spacing:-.04em;color:var(--pxip2-ink2);}
#pxip-app .pxip-dlg__sub{font-size:15px;font-weight:500;line-height:1.5;color:var(--pxip2-mut2);}
#pxip-app .pxip-dlg__x{flex:none;width:44px;height:44px;padding:0;border-radius:999px;border:0;background:rgba(255,255,255,.62);box-shadow:var(--pxip2-chip-shadow);color:var(--pxip2-mut2);cursor:pointer;display:grid;place-items:center;transition:transform .45s var(--pxip2-spring),color .3s;}
#pxip-app .pxip-dlg__x:hover{background:rgba(255,255,255,.62);color:var(--pxip2-ink2);transform:rotate(90deg);}
#pxip-app .pxip-dlg__x:focus,#pxip-app .pxip-dlg__x:focus-visible{background:rgba(255,255,255,.62);color:var(--pxip2-ink2);}
#pxip-app .pxip-dlg__x:active{transform:rotate(90deg) scale(.94);}
#pxip-app .pxip-dlg__back{color:var(--pxip2-teal);}
#pxip-app .pxip-dlg__back:hover{color:var(--pxip2-teal);transform:translateX(-3px);}
#pxip-app .pxip-dlg__back:focus,#pxip-app .pxip-dlg__back:focus-visible{color:var(--pxip2-teal);}
#pxip-app .pxip-dlg__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 22px 18px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none;}
#pxip-app .pxip-dlg__body::-webkit-scrollbar{display:none;}
#pxip-app .pxip-dlg__foot{display:flex;align-items:center;gap:10px;padding:14px 22px 22px;border-top:1px solid rgba(11,43,40,.06);}
#pxip-app .pxip-dlg__grow{flex:1;}
#pxip-app .pxip-dlg__count{flex:1;font-size:13.5px;font-weight:700;color:var(--pxip2-mut2);text-align:right;padding-right:4px;}
#pxip-app .pxip-dlg__msg{margin:0;font-size:13px;font-weight:600;line-height:1.4;color:var(--pxip2-mut2);}
#pxip-app .pxip-dlg__msg[data-kind="error"]{color:var(--pxip2-danger-ink);}
#pxip-app .pxip-pill{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border:0;border-radius:999px;font-size:15px;font-weight:700;color:var(--pxip2-ink2);cursor:pointer;text-decoration:none;background:linear-gradient(140deg,rgba(255,255,255,.8),rgba(255,255,255,.5));box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -1px 0 rgba(13,82,74,.06),0 12px 28px -16px rgba(13,82,74,.4);transition:transform .45s var(--pxip2-spring),box-shadow .4s;}
#pxip-app .pxip-pill:hover{color:var(--pxip2-ink2);transform:translateY(-2px);box-shadow:inset 0 0 0 1px #fff,0 18px 34px -16px rgba(14,151,132,.5);}
#pxip-app .pxip-pill:focus,#pxip-app .pxip-pill:focus-visible{color:var(--pxip2-ink2);box-shadow:inset 0 0 0 1px #fff,0 18px 34px -16px rgba(14,151,132,.5);}
#pxip-app .pxip-pill:active{transform:scale(.97);}
#pxip-app .pxip-pill__ico{color:var(--pxip2-teal);display:grid;}
#pxip-app .pxip-pill--danger{color:#b71c1c;}
#pxip-app .pxip-pill--danger:hover,#pxip-app .pxip-pill--danger:focus,#pxip-app .pxip-pill--danger:focus-visible{color:#b71c1c;}
#pxip-app .pxip-pill--danger .pxip-pill__ico{color:var(--pxip2-danger);}
#pxip-app .pxip-go{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 6px 0 24px;border:0;border-radius:999px;font-size:16px;font-weight:700;letter-spacing:-.012em;color:#fff;text-decoration:none;cursor:pointer;background:var(--pxip2-go);box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(0,0,0,.08),0 16px 34px -14px rgba(14,151,132,.75),0 0 0 1px rgba(14,151,132,.2);transition:transform .45s var(--pxip2-spring),box-shadow .4s;}
#pxip-app .pxip-go::before{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:inherit;background:conic-gradient(from 0deg,rgba(110,231,183,0),rgba(110,231,183,.55),rgba(94,234,212,.5),rgba(147,197,253,.45),rgba(110,231,183,0));filter:blur(16px);opacity:.55;animation:pxip2Halo 6s linear infinite;}
#pxip-app .pxip-go:hover{color:#fff;transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 22px 40px -14px rgba(14,151,132,.85),0 0 0 1px rgba(14,151,132,.25);}
#pxip-app .pxip-go:focus,#pxip-app .pxip-go:focus-visible{color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 22px 40px -14px rgba(14,151,132,.85),0 0 0 1px rgba(14,151,132,.25);}
#pxip-app .pxip-go:active{transform:scale(.97);}
#pxip-app .pxip-go[disabled]{opacity:.5;cursor:not-allowed;transform:none;}
#pxip-app .pxip-go__dot{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#16a05a;background:#fff;box-shadow:0 6px 14px -6px rgba(5,60,50,.45);}
/* Ligne a choix (voyage, voyageur) : tuile, titre, detail, case ronde ou carree */
#pxip-app .pxip-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:10px 14px 10px 10px;border:0;border-radius:20px;cursor:pointer;color:var(--pxip2-ink2);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 8px 20px -16px rgba(13,82,74,.35);transition:transform .45s var(--pxip2-spring),box-shadow .3s,background .3s;}
#pxip-app .pxip-row:hover{color:var(--pxip2-ink2);transform:translateY(-2px);}
#pxip-app .pxip-row:focus,#pxip-app .pxip-row:focus-visible{color:var(--pxip2-ink2);}
#pxip-app .pxip-row:active{transform:translateY(0) scale(.99);}
#pxip-app .pxip-row.pxip-is-on,#pxip-app .pxip-row[aria-pressed="true"]{background:linear-gradient(150deg,rgba(236,253,245,.95),rgba(239,246,255,.82));box-shadow:inset 0 0 0 1.5px rgba(14,151,132,.45),0 14px 30px -18px rgba(14,151,132,.55);}
#pxip-app .pxip-row__tile{width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;}
#pxip-app .pxip-row__tile--none{color:#5f716e;background:rgba(11,43,40,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.9);}
#pxip-app .pxip-row__who{width:44px;height:44px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;flex:none;box-shadow:0 0 0 3px rgba(255,255,255,.95),0 8px 16px -8px rgba(13,82,74,.5);}
#pxip-app .pxip-row__text{flex:1;min-width:0;}
#pxip-app .pxip-row__name{display:block;font-size:16px;font-weight:800;letter-spacing:-.02em;}
#pxip-app .pxip-row__name--clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#pxip-app .pxip-row__meta{display:block;margin-top:2px;font-size:13.5px;font-weight:500;color:var(--pxip2-mut2);}
#pxip-app .pxip-row__check{flex:none;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1.5px rgba(88,110,107,.35);display:grid;place-items:center;color:#fff;transition:background .3s;}
#pxip-app .pxip-row__check--square{border-radius:9px;}
#pxip-app .pxip-row.pxip-is-on .pxip-row__check,#pxip-app .pxip-row[aria-pressed="true"] .pxip-row__check{background:var(--pxip2-go);box-shadow:0 6px 12px -6px rgba(14,151,132,.7);}
/* Menu d'actions ancre a un bouton (point d'accroche F4 : menus de conversation) */
#pxip-app .pxip-menu{position:fixed;z-index:120;min-width:200px;padding:6px;border-radius:16px;background:var(--pxip2-modal);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--pxip2-modal-line);box-shadow:0 16px 48px rgba(1,40,39,.28);animation:pxip2In .2s var(--pxip2-std);}
#pxip-app .pxip-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:0;border-radius:11px;background:transparent;color:var(--pxip2-ink);font-size:14px;font-weight:700;text-align:left;cursor:pointer;}
#pxip-app .pxip-menu__item:hover,#pxip-app .pxip-menu__item:focus,#pxip-app .pxip-menu__item:focus-visible{background:var(--pxip2-hover);color:var(--pxip2-ink);}
#pxip-app .pxip-menu__item--danger{color:var(--pxip2-danger-ink);}
#pxip-app .pxip-menu__item--danger:hover,#pxip-app .pxip-menu__item--danger:focus,#pxip-app .pxip-menu__item--danger:focus-visible{background:rgba(211,47,47,.08);color:var(--pxip2-danger-ink);}
/* Colonne carte (lot F11) : fermee par defaut, sa place est reservee par le gabarit */
#pxip-app .pxip-map-pane{display:none;}
/* Etat ferme (hors cohorte llm_native, D23) : aucun champ de saisie, aucun appel */
#pxip-app .pxip-closed{max-width:560px;margin:8vh auto 0;padding:32px 24px;text-align:center;background:#fff;border:1px solid var(--pxip2-line);border-radius:20px;box-shadow:var(--pxip2-shadow);}
#pxip-app .pxip-closed__mascot{width:96px;height:96px;object-fit:contain;}
#pxip-app .pxip-closed h1{margin:10px 0 8px;font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.25;}
#pxip-app .pxip-closed p{font-size:15.5px;font-weight:500;}
#pxip-app .pxip-closed .pxip-ailine{margin-top:14px;font-size:13px;color:var(--pxip2-mut);}
#pxip-app .pxip-noscript{margin:12vh auto 0;text-align:center;color:var(--pxip2-mut);font-weight:600;}
/* Palettes decoratives : voyages (t) et personnes (p), choisies par rang, jamais par donnee */
#pxip-app .pxip-t0{color:#fff;background:linear-gradient(115deg,#128f50,#16a05a 42%,#0e9784);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 16px -8px rgba(14,151,132,.7);}
#pxip-app .pxip-t1{color:#fff;background:linear-gradient(135deg,#2a87d0,#5aa9f0);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 16px -8px rgba(42,135,208,.7);}
#pxip-app .pxip-t2{color:#fff;background:linear-gradient(135deg,#8a52d6,#b48cf0);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 16px -8px rgba(138,82,214,.7);}
#pxip-app .pxip-t3{color:#fff;background:linear-gradient(135deg,#e0702a,#f2a24e);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 16px -8px rgba(224,112,42,.7);}
#pxip-app .pxip-p0{background:linear-gradient(115deg,#128f50,#16a05a 42%,#0e9784);}
#pxip-app .pxip-p1{background:linear-gradient(135deg,#2a7fd4,#5aa9f0);}
#pxip-app .pxip-p2{background:linear-gradient(135deg,#e0702a,#f2a24e);}
#pxip-app .pxip-p3{background:linear-gradient(135deg,#9a4fd0,#b48cf0);}
#pxip-app .pxip-dlg__body--roomy{padding-bottom:22px;}
