/* Ali Gator — « Verre & lumière » (v145 : onglets instantanés, mobile allégé). Couche additive, clair uniquement.
   Rien n'est déplacé : mêmes boutons, mêmes places. Annulable en retirant ce fichier et verre-v144.js. */
@property --agv-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{
  --agv-ink:#0c1d13;--agv-ink2:#2f3f35;--agv-ink3:#4e5d53;
  --agv-g9:#0a2418;--agv-g8:#0f3323;--agv-g7:#16452f;--agv-g6:#1f5a3d;
  --agv-lime:#b6ec5c;--agv-lime2:#8fd03a;--agv-lime-soft:#e7f7d0;
  --agv-ease:cubic-bezier(.22,1,.36,1);--agv-spring:cubic-bezier(.34,1.56,.64,1);
  --agv-glass:linear-gradient(140deg,rgba(255,255,255,.86),rgba(255,255,255,.58));
  --agv-glass-strong:linear-gradient(150deg,rgba(255,255,255,.94),rgba(255,255,255,.8));
  --agv-edge:rgba(255,255,255,.92);
  --agv-ring:rgba(12,29,19,.07);
  --agv-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(12,29,19,.035),0 1px 2px rgba(12,29,19,.05),0 18px 44px -22px rgba(12,29,19,.26);
  --agv-shadow-lg:inset 0 1px 0 #fff,0 2px 6px rgba(12,29,19,.05),0 40px 90px -36px rgba(12,29,19,.4);
  --agv-blur:blur(24px) saturate(1.7);
  --agv-btn-dark:linear-gradient(180deg,#25683f,#0f3323);
  --agv-btn-lime:linear-gradient(180deg,#d4f792,#a8e04e)
}

/* ---------- Lumière : fond vivant derrière toute l'application ---------- */
html:root{background:#eef3ec;--studio-bg:transparent}
html:root body,html:root .app-shell{background:transparent!important}
.agv-field{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:linear-gradient(180deg,#f3f7f0 0%,#eaf1e6 100%)}
.agv-field i{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform}
.agv-field .l1{width:64vmax;height:64vmax;left:-16vmax;top:-32vmax;background:radial-gradient(circle,#d6f4a4 0%,rgba(214,244,164,0) 64%);animation:agv-d1 26s ease-in-out infinite alternate}
.agv-field .l2{width:58vmax;height:58vmax;right:-20vmax;top:-8vmax;background:radial-gradient(circle,#c3ead8 0%,rgba(195,234,216,0) 62%);animation:agv-d2 32s ease-in-out infinite alternate}
.agv-field .l3{width:50vmax;height:50vmax;left:20vmax;bottom:-32vmax;background:radial-gradient(circle,#fbfdf2 0%,rgba(251,253,242,0) 60%);animation:agv-d3 28s ease-in-out infinite alternate}
.agv-field .beam{inset:-30%;border-radius:0;filter:none;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.55) 50%,transparent 58%);animation:agv-beam 13s ease-in-out infinite}
@keyframes agv-d1{to{transform:translate3d(10vmax,8vmax,0) scale(1.12)}}
@keyframes agv-d2{to{transform:translate3d(-9vmax,10vmax,0) scale(.9)}}
@keyframes agv-d3{to{transform:translate3d(-6vmax,-8vmax,0) scale(1.15)}}
@keyframes agv-beam{0%,55%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
/* Pendant le travail (éditeur, tableur, présentation) la lumière se fige : zéro coût pendant l'édition. */
html.agv-work .agv-field i{animation-play-state:paused}
html.agv-work .agv-field .beam{opacity:0}

/* ---------- En-tête : barre de verre flottante ---------- */
html:root body .app-header{background:transparent!important;border-bottom-color:transparent!important;box-shadow:none!important;isolation:isolate}
html:root body .app-header::after{opacity:0}
html:root body .app-header::before{content:"";position:absolute;z-index:-1;inset:8px clamp(8px,1.6vw,24px);border-radius:22px;pointer-events:none;
  background:var(--agv-glass);-webkit-backdrop-filter:var(--agv-blur);backdrop-filter:var(--agv-blur);border:1px solid var(--agv-edge);box-shadow:var(--agv-shadow);animation:agv-bar-in .9s var(--agv-ease) both}
@keyframes agv-bar-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
html:root body .app-header .home-brand{position:relative}
html:root body .app-header .home-brand img{animation:agv-logo-in 1.2s .15s var(--agv-ease) backwards}
html:root body .app-header .home-brand:hover img{animation:agv-wiggle .8s var(--agv-ease)}
@keyframes agv-logo-in{from{opacity:0;transform:translateY(-6px) scale(.94);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes agv-wiggle{0%,100%{rotate:0deg}25%{rotate:-3deg}55%{rotate:2deg}80%{rotate:-1deg}}
/* Reflet de lumière qui traverse le logo (calque posé par verre-v144.js, découpé à la forme du logo) */
.agv-sheen{position:absolute;pointer-events:none;-webkit-mask:var(--agv-logo) center/contain no-repeat;mask:var(--agv-logo) center/contain no-repeat;
  background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%);background-size:260% 100%;background-position:150% 0;animation:agv-sheen 7s 1.6s var(--agv-ease) infinite}
@keyframes agv-sheen{0%{background-position:150% 0}20%,100%{background-position:-60% 0}}
html:root body .app-header .local-badge{display:inline-flex;align-items:center;gap:8px}
html:root body .app-header .local-badge::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--agv-lime2);box-shadow:0 0 0 4px rgba(143,208,58,.18);animation:agv-pulse 2.6s ease-in-out infinite}
@keyframes agv-pulse{50%{box-shadow:0 0 0 7px rgba(143,208,58,0)}}
html:root body .app-header .button.quiet{background:rgba(255,255,255,.6);border-color:rgba(12,29,19,.08);border-radius:13px;box-shadow:0 6px 16px -12px rgba(12,29,19,.35)}
html:root body .app-header .button.quiet:hover:not(:disabled){background:#fff;box-shadow:0 10px 22px -12px rgba(12,29,19,.4)}

/* Bouton sons (ajouté dans l'en-tête) */
.agv-sound{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border-radius:13px;border:1px solid rgba(12,29,19,.08);background:rgba(255,255,255,.6);color:var(--agv-ink2);box-shadow:0 6px 16px -12px rgba(12,29,19,.35);cursor:pointer;transition:background .25s,box-shadow .3s,translate .5s var(--agv-ease),transform .25s var(--agv-ease)}
.agv-sound:hover{background:#fff}
.agv-sound:active{transform:scale(.94)}
.agv-sound svg{width:18px;height:18px}
.agv-sound .agv-off,.agv-sound[aria-pressed="false"] .agv-on{display:none}
.agv-sound[aria-pressed="false"] .agv-off{display:block}
.agv-sound[aria-pressed="false"]{color:var(--agv-ink3)}

/* ---------- Boutons ---------- */
html:root body .button{border-radius:12px;transition:background .25s,border-color .25s,box-shadow .3s,color .2s,transform .25s var(--agv-ease),translate .5s var(--agv-ease)}
html:root body .button:active:not(:disabled){transform:scale(.97)}
html:root body .button.primary{background:var(--agv-btn-dark);border-color:transparent;color:#f2faea;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 26px -12px rgba(15,51,35,.75)}
html:root body .button.primary:hover:not(:disabled){background:linear-gradient(180deg,#2b7449,#123d2a);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 16px 32px -12px rgba(15,51,35,.8)}
html:root body .button.secondary{background:rgba(255,255,255,.7);border-color:rgba(12,29,19,.09);box-shadow:0 6px 16px -11px rgba(12,29,19,.32)}
html:root body .button.secondary:hover:not(:disabled){background:#fff;box-shadow:0 10px 24px -12px rgba(12,29,19,.38)}
html:root body .icon-button{border-radius:11px;transition:background .2s,color .2s,transform .25s var(--agv-ease)}
html:root body .icon-button:active:not(:disabled){transform:scale(.92)}
html:root body :is(button,a,[role=button],summary,input,select,textarea):focus-visible{outline:2px solid var(--agv-lime2)!important;outline-offset:2px;box-shadow:0 0 0 5px rgba(143,208,58,.22)}

/* ---------- Accueil ---------- */
html:root body .atelier-home{background:transparent!important}
html:root body .home-introduction h1{letter-spacing:-.05em}
html:root body .home-introduction h1 em,html:root body .home-introduction h1 em.ag-shine{font-weight:300;letter-spacing:-.04em;
  background:linear-gradient(100deg,#2f6b3f 0%,#2f6b3f 38%,#9fdc45 50%,#2f6b3f 62%,#2f6b3f 100%)!important;background-size:260% 100%!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent;
  animation:agv-shine 8s 1.8s var(--agv-ease) infinite!important}
@keyframes agv-shine{0%{background-position:100% 0}22%,100%{background-position:0 0}}
html:root body .studio-home-note{box-sizing:content-box;padding:12px 16px;margin:-13px -17px;border-radius:18px;background:var(--agv-glass);border:1px solid var(--agv-edge);box-shadow:var(--agv-shadow)}
html:root body .studio-home-note svg{color:var(--agv-g6)}

/* Onglets PDF / Tableur / PowerPoint : verre + pastille vert profond */
html:root body .document-mode-tabs{padding:5px;border-radius:18px;background:linear-gradient(140deg,rgba(255,255,255,.93),rgba(255,255,255,.74))!important;border:1px solid var(--agv-edge);box-shadow:var(--agv-shadow)}
html:root body .document-mode-tabs>button{border-radius:13px;color:var(--agv-ink2);transition:color .3s}
html:root body .document-mode-tabs>button[aria-selected="true"]{color:#f2faea!important}
html:root body .document-mode-tabs .ag-tab-pill{border-radius:13px;background:var(--agv-btn-dark)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 22px -10px rgba(15,51,35,.7)!important;will-change:transform;transition:transform .42s var(--agv-spring),width .36s var(--agv-ease),height .36s var(--agv-ease)!important}

/* Cartes d'entrée */
html:root body .entry-card{border-radius:28px;transition:transform .55s var(--agv-ease),box-shadow .55s var(--agv-ease),translate .55s var(--agv-ease),background .4s}
html:root body .entry-card.entry-single{overflow:hidden;background:radial-gradient(120% 140% at 0% 0%,#24643f 0%,#0f3323 46%,#081c12 100%);border-color:transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.05),0 30px 60px -30px rgba(10,36,24,.75)}
html:root body .entry-card.entry-single::before{content:"";position:absolute;right:-90px;top:-110px;width:380px;height:380px;border-radius:50%;border:1px solid rgba(185,220,140,.14);
  box-shadow:0 0 0 46px rgba(185,220,140,.035),0 0 0 92px rgba(185,220,140,.025);pointer-events:none}
html:root body .entry-card.entry-single:hover:not(:disabled){box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 0 1px rgba(255,255,255,.06),0 40px 70px -30px rgba(10,36,24,.85)}
html:root body .entry-card.entry-multi{background:linear-gradient(140deg,rgba(255,255,255,.92),rgba(255,255,255,.7));border-color:var(--agv-edge);box-shadow:var(--agv-shadow)}
html:root body .entry-card.entry-multi:hover:not(:disabled){box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(12,29,19,.05),0 34px 60px -30px rgba(12,29,19,.38)}
html:root body .entry-card .entry-art::after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;background:radial-gradient(circle,rgba(182,236,92,.32),transparent 68%);filter:blur(4px);pointer-events:none}
html:root body .entry-card :is(.entry-paper,.home-office-paper){box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 22px 40px -18px rgba(0,0,0,.42);border-radius:12px}
html:root body .entry-card .entry-spark{background:var(--agv-btn-lime)!important;color:var(--agv-g9)!important;box-shadow:0 10px 22px -10px rgba(110,170,40,.9)!important;animation:agv-spin-in 1.2s .7s var(--agv-spring) backwards}
@keyframes agv-spin-in{from{opacity:0;transform:rotate(-120deg) scale(.4)}to{opacity:1;transform:none}}
html:root body .entry-card .entry-cta svg{box-sizing:content-box;width:15px;height:15px;padding:7px;border-radius:50%;box-shadow:inset 0 0 0 1px currentColor;transition:transform .5s var(--agv-spring),background .3s}
html:root body .entry-card:hover .entry-cta svg{transform:rotate(45deg) scale(1.06)}
html:root body .entry-card.entry-single:hover .entry-cta svg{background:rgba(214,247,166,.14)}
html:root body .entry-card .ag-spot{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(214,247,166,.5),transparent 58%)!important}
html:root body .entry-card.entry-single .ag-spot{background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(182,236,92,.22),transparent 60%)!important}

/* Drive */
html:root body .drive-tile{border-radius:26px;background:linear-gradient(140deg,rgba(255,255,255,.92),rgba(255,255,255,.7));border-color:var(--agv-edge);box-shadow:var(--agv-shadow);transition:translate .5s var(--agv-ease),transform .5s var(--agv-ease),box-shadow .45s var(--agv-ease)}
html:root body .drive-tile:hover:not(:disabled){box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(12,29,19,.05),0 30px 56px -30px rgba(12,29,19,.36)}
html:root body .drive-tile .drive-symbol{background:linear-gradient(180deg,#f7fbf2,#e2eed9)!important;color:var(--agv-g7);box-shadow:inset 0 0 0 1px rgba(12,29,19,.06),0 10px 22px -14px rgba(12,29,19,.38)}
html:root body .drive-tile .drive-tile-cta svg{transition:transform .5s var(--agv-spring)}
html:root body .drive-tile:hover .drive-tile-cta svg{transform:translate(3px,-3px)}

/* Bibliothèque */
html:root body .library-search{border-radius:15px;background:var(--agv-glass);border-color:var(--agv-edge);box-shadow:var(--agv-shadow);transition:box-shadow .3s}
html:root body .library-search:focus-within{box-shadow:0 0 0 3px rgba(143,208,58,.32),var(--agv-shadow)}
html:root body .library-search input{background:transparent}
html:root body .library-selection{background:rgba(255,255,255,.58);border-color:var(--agv-edge);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
html:root body .document-grid{background:var(--agv-glass);border:1px solid var(--agv-edge);border-radius:22px;overflow:hidden;box-shadow:var(--agv-shadow)}
html:root body .document-tile{transition:background .3s,box-shadow .3s}
html:root body .document-tile:hover{background:rgba(255,255,255,.78)!important;box-shadow:inset 3px 0 0 var(--agv-lime2)}
html:root body .document-tile.is-selected{background:rgba(231,247,208,.7)!important}
html:root body .document-glyph{background:linear-gradient(180deg,#fff,#edf5e5)!important;box-shadow:inset 0 0 0 1px rgba(12,29,19,.07),0 8px 16px -12px rgba(12,29,19,.4)}
html:root body .document-tile-footer svg{transition:transform .5s var(--agv-spring)}
html:root body .document-tile:hover .document-tile-footer svg{transform:translateX(4px)}
html:root body .library-empty{background:var(--agv-glass);border-color:var(--agv-edge);border-radius:22px}
html:root body .home-companion a{border-radius:16px;transition:background .3s,box-shadow .3s,translate .5s var(--agv-ease)}
html:root body .home-companion a:hover{background:rgba(255,255,255,.6);box-shadow:var(--agv-shadow)}

/* ---------- Éditeur ---------- */
html:root body .editor-main{background:rgba(244,248,241,.42)}
html:root body .project-sidebar,html:root body .assistant-panel{background:linear-gradient(165deg,rgba(255,255,255,.9),rgba(255,255,255,.66))}
@media (min-width:851px){
  html:root body .workspace{gap:12px;padding:2px 14px 14px}
  html:root body .sidebar-collapsed .sidebar-frame{margin-right:-12px}
  html:root body .sidebar-frame{border-radius:24px}
  html:root body .project-sidebar{border:1px solid var(--agv-edge)!important;border-radius:24px;box-shadow:var(--agv-shadow)}
  html:root body .assistant-panel{border:1px solid var(--agv-edge)!important;border-radius:24px;box-shadow:var(--agv-shadow)}
  html:root body .editor-main{border-radius:24px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 18px 44px -30px rgba(12,29,19,.28)}
  html:root body .document-heading{border-radius:24px 24px 0 0}
  html:root body .document-footer{border-radius:0 0 24px 24px}
  html:root body :is(.project-sidebar,.assistant-panel,.editor-main){animation:agv-panel-in .8s var(--agv-ease) backwards}
  html:root body .editor-main{animation-delay:.05s}
  html:root body .assistant-panel{animation-delay:.1s}
}
@keyframes agv-panel-in{from{opacity:0;transform:translateY(16px) scale(.988)}to{opacity:1;transform:none}}
html:root body .document-heading{background:rgba(255,255,255,.62)!important;border-bottom:1px solid rgba(12,29,19,.06)}
html:root body .document-toolbar{background:rgba(255,255,255,.34)!important;border-bottom:1px solid rgba(12,29,19,.05)}
html:root body .document-footer{background:rgba(255,255,255,.5)!important;border-top:1px solid rgba(12,29,19,.05)}
html:root body .document-name>span>i{background:var(--agv-lime2);box-shadow:0 0 0 3px rgba(143,208,58,.2)}
html:root body .view-switch{background:rgba(12,29,19,.05)!important;border-radius:12px;padding:4px}
html:root body .view-switch button{border-radius:9px;transition:background .3s,box-shadow .3s,color .2s}
html:root body .view-switch button.active{background:#fff!important;box-shadow:0 4px 12px -6px rgba(12,29,19,.35)!important}
html:root body .eraser-launch{border-radius:12px;background:rgba(255,255,255,.7)!important;border-color:rgba(12,29,19,.09)!important}
html:root body .zoom-value{font-family:"Geist Mono",ui-monospace,monospace}
html:root body .pdf-stage{background:radial-gradient(rgba(12,29,19,.07) 1px,transparent 1px) 0 0/22px 22px,transparent!important}
html:root body .pdf-sheet{box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 2px 4px rgba(12,29,19,.06),0 30px 70px -30px rgba(12,29,19,.45)!important;border-radius:4px}
html:root body .type-badge{font-family:"Geist Mono",ui-monospace,monospace;letter-spacing:.03em;border-radius:8px;background:var(--agv-lime-soft)!important;color:#2c5a1f!important}

/* Barre latérale */
html:root body .project-sidebar .new-document{background:var(--agv-btn-dark)!important;color:#f2faea!important;border-color:transparent!important;border-radius:13px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 12px 24px -14px rgba(15,51,35,.7)}
html:root body .project-sidebar .new-document:hover{background:linear-gradient(180deg,#2b7449,#123d2a)!important}
html:root body .project-item{border-radius:12px;transition:background .25s,box-shadow .3s}
html:root body .project-item.active{background:#fff!important;box-shadow:inset 3px 0 0 var(--agv-lime2),0 8px 18px -12px rgba(12,29,19,.35)!important}
html:root body .project-item:hover:not(.active){background:rgba(255,255,255,.7)!important}

/* ---------- Assistant ---------- */
html:root body .assistant-tabs,html:root body .composer-area{background:transparent!important}
html:root body .assistant-tabs{border-bottom:1px solid rgba(12,29,19,.06)}
html:root body .ai-icon{background:linear-gradient(180deg,#f1fbe2,#dff3c4)!important;color:var(--agv-g7)!important;box-shadow:0 10px 22px -14px rgba(110,170,40,.8);animation:agv-glow 3.2s ease-in-out infinite}
@keyframes agv-glow{50%{box-shadow:0 0 0 6px rgba(182,236,92,.14),0 10px 22px -14px rgba(110,170,40,.8)}}
html:root body .assistant-intro>*{animation:agv-fade-up .7s var(--agv-ease) backwards}
html:root body .assistant-intro>:nth-child(2){animation-delay:.05s}
html:root body .assistant-intro>:nth-child(3){animation-delay:.1s}
html:root body .assistant-intro>:nth-child(4){animation-delay:.15s}
@keyframes agv-fade-up{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
html:root body .document-ready{background:var(--agv-lime-soft)!important;border-radius:12px}
html:root body .suggestions>button{border-radius:14px;background:rgba(255,255,255,.72);border-color:transparent;box-shadow:inset 0 0 0 1px rgba(12,29,19,.07);animation:agv-fade-up .7s var(--agv-ease) backwards;transition:translate .45s var(--agv-ease),box-shadow .3s,background .3s}
html:root body .suggestions>button:nth-child(2){animation-delay:.07s}
html:root body .suggestions>button:nth-child(3){animation-delay:.14s}
html:root body .suggestions>button:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(143,208,58,.6),0 10px 22px -16px rgba(12,29,19,.4);translate:4px 0}
html:root body .single-smart{border-radius:14px;background:linear-gradient(180deg,#f0fae2,#e3f4cd)!important}
html:root body form.composer{border-radius:18px;background:#fff!important;box-shadow:inset 0 0 0 1px rgba(12,29,19,.1),0 14px 30px -22px rgba(12,29,19,.35)!important;transition:box-shadow .3s;position:relative}
html:root body form.composer:focus-within{box-shadow:inset 0 0 0 1px rgba(143,208,58,.7),0 0 0 4px rgba(182,236,92,.25),0 14px 30px -22px rgba(12,29,19,.35)!important}
html:root body form.composer textarea{background:transparent}
html:root body .chat-entry{animation:agv-fade-up .6s var(--agv-ease) backwards}
html:root body .chat-entry.user p{background:var(--agv-btn-dark)!important;border:0!important;color:#eef7e6!important;border-radius:16px 16px 4px 16px!important;box-shadow:0 12px 24px -16px rgba(15,51,35,.7)}
html:root body .chat-entry .small-ai{background:var(--agv-lime-soft);color:var(--agv-g7)}
html:root body .proposal-card{border-radius:20px!important;border-color:transparent!important;background:#fff!important;box-shadow:0 0 0 1px rgba(143,208,58,.55),0 24px 50px -28px rgba(12,29,19,.45)!important;animation:agv-prop-in .7s var(--agv-spring) backwards}
@keyframes agv-prop-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
html:root body .proposal-icon{background:var(--agv-btn-lime)!important;color:var(--agv-g9)!important;border-radius:10px}
html:root body .success-box{border-radius:16px;animation:agv-prop-in .6s var(--agv-spring) backwards}

/* L'IA réfléchit : orbe vivante, texte qui scintille */
html:root body .thinking{position:relative;gap:14px;margin-top:18px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px rgba(12,29,19,.06),0 14px 30px -24px rgba(12,29,19,.4);animation:agv-fade-up .6s var(--agv-ease) backwards}
html:root body .thinking>svg.spin{display:none}
html:root body .thinking::before{content:"";flex:none;width:40px;height:40px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 22%,#eaf6d8 38%,rgba(205,233,166,0) 60%),conic-gradient(from var(--agv-ang),#1f5a3d,#8fd03a,#d8f5a8,#1f5a3d);
  box-shadow:0 0 22px rgba(143,208,58,.6);animation:agv-spin 1.6s linear infinite,agv-breathe 1.6s ease-in-out infinite}
@keyframes agv-spin{to{--agv-ang:360deg}}
@keyframes agv-breathe{50%{transform:scale(.88)}}
html:root body .thinking>span{font-size:14.5px;font-weight:600;color:var(--agv-ink2)}
@supports (-webkit-background-clip:text) or (background-clip:text){
  html:root body .thinking>span{background:linear-gradient(90deg,#334338 0%,#334338 40%,#8fd03a 50%,#334338 60%,#334338 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:agv-shim 1.6s linear infinite}
  html:root body .thinking>span small{-webkit-text-fill-color:#5f6c63;color:#5f6c63!important}
}
@keyframes agv-shim{from{background-position:100% 0}to{background-position:-50% 0}}
html:root body :is(.single-smart-progress,.office-thinking)>svg.spin{animation:agv-rot 1.1s linear infinite;color:var(--agv-lime2)}
@keyframes agv-rot{to{transform:rotate(360deg)}}
/* Pendant le calcul : anneau lumineux autour de la zone de saisie + balayage sur la page */
html.agv-ai-busy body form.composer::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;z-index:2;pointer-events:none;
  background:conic-gradient(from var(--agv-ang),#1f5a3d,#8fd03a,#e6f8c8,#8fd03a,#1f5a3d);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:agv-spin 2s linear infinite}
html.agv-ai-busy body .pdf-sheet::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:linear-gradient(180deg,transparent,rgba(182,236,92,.16) 70%,rgba(143,208,58,.75) 98%,transparent) no-repeat;background-size:100% 110px;animation:agv-scan 1.8s cubic-bezier(.45,0,.55,1) infinite}
@keyframes agv-scan{from{background-position:0 -110px}to{background-position:0 calc(100% + 110px)}}

/* ---------- Fenêtres ---------- */
html:root body dialog.app-modal,html:root body :is(.drive-dialog,.eraser-dialog,.account-dialog,.home-office-create,.save-file-dialog,.scan-preview-dialog,.library-delete-dialog,.page-delete-dialog,.delete-project-dialog,.drive-confirm){
  border-radius:28px;border:1px solid rgba(255,255,255,.95)!important;box-shadow:var(--agv-shadow-lg)!important}
html:root body dialog.app-modal{background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(250,252,248,.88))!important;-webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6)}
html:root body dialog::backdrop{background:rgba(226,236,222,.42)!important;-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2)}
html:root body dialog[open]{animation:agv-modal-in .55s var(--agv-spring) backwards}
@keyframes agv-modal-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
html:root body .toast{border-radius:16px!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 50px -20px rgba(10,36,24,.6)!important;animation:agv-toast-in .6s var(--agv-spring) backwards}
@keyframes agv-toast-in{from{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}

/* ---------- Écrans secondaires (lot, tableur, présentation, connexion) ---------- */
html:root body :is(.batch-page,.empty-main){background:transparent!important}
html:root body .office-workspace{--office-bg:rgba(244,248,241,.4)}
html:root body .login-page{background:transparent!important}
html:root body .login-card{position:relative;border-radius:30px;background:var(--agv-glass-strong)!important;border:1px solid var(--agv-edge)!important;box-shadow:var(--agv-shadow-lg)!important;
  -webkit-backdrop-filter:var(--agv-blur);backdrop-filter:var(--agv-blur);animation:agv-modal-in .9s var(--agv-ease) backwards}
html:root body .upload-zone{background:var(--agv-glass)!important;border-radius:22px}

/* ---------- Curseur ---------- */
html.agv-cur,html.agv-cur body,
html.agv-cur body *:not(input,textarea,select,option,[contenteditable],[contenteditable] *,dialog,dialog *,[popover],[popover] *,.pdf-stage,.pdf-stage *,.eraser-stage,.eraser-stage *,.office-grid-scroll,.office-grid-scroll *,.office-slide-stage,.office-slide-stage *,:disabled){cursor:none!important}
/* Zones de travail : curseur natif (valeur déclarée pour ne pas hériter du « none » des parents) */
:where(html.agv-cur) :where(input,textarea,select,[contenteditable],dialog,[popover],.pdf-stage,.eraser-stage,.office-grid-scroll,.office-slide-stage,:disabled){cursor:auto}
.agv-cur-dot,.agv-cur-ring{position:fixed;left:0;top:0;z-index:2147483600;pointer-events:none;opacity:0;transition:opacity .25s,width .35s var(--agv-ease),height .35s var(--agv-ease),margin .35s var(--agv-ease),background .3s,border-color .3s}
.agv-cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#0c1d13}
.agv-cur-ring{width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1px solid rgba(12,29,19,.35);display:grid;place-items:center}
.agv-cur-ring span{font:600 10px/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#0a2418;opacity:0;transition:opacity .25s;white-space:nowrap}
html.agv-cur.agv-cur-on .agv-cur-dot,html.agv-cur.agv-cur-on .agv-cur-ring{opacity:1}
html.agv-cur-hover .agv-cur-ring{width:62px;height:62px;margin:-31px 0 0 -31px;border-color:rgba(143,208,58,.9);background:rgba(182,236,92,.3);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
html.agv-cur-hover.agv-cur-label .agv-cur-ring span{opacity:1}
html.agv-cur-hover .agv-cur-dot{opacity:0!important}
html.agv-cur-press .agv-cur-ring{width:28px;height:28px;margin:-14px 0 0 -14px}
html.agv-cur-native .agv-cur-dot,html.agv-cur-native .agv-cur-ring{opacity:0!important}

/* Boutons aimantés */
.agv-mag{transition:translate .5s var(--agv-ease),transform .25s var(--agv-ease),background .25s,box-shadow .3s,color .2s}
.agv-mag.agv-mag-on{transition:translate .12s linear,transform .25s var(--agv-ease),background .25s,box-shadow .3s,color .2s}

/* ---------- Transitions cinéma (View Transitions) ---------- */
::view-transition-group(*){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
html[data-agv-vt="screen"]::view-transition-old(root){animation:agv-vt-out .45s cubic-bezier(.65,0,.35,1) both}
html[data-agv-vt="screen"]::view-transition-new(root){animation:agv-vt-in .8s cubic-bezier(.22,1,.36,1) both}
html[data-agv-vt="tab"]::view-transition-old(root){animation:agv-vt-fade-out .22s ease both}
html[data-agv-vt="tab"]::view-transition-new(root){animation:agv-vt-fade-in .38s ease both}
@keyframes agv-vt-out{to{opacity:0;transform:scale(1.025);filter:blur(10px)}}
@keyframes agv-vt-in{from{opacity:0;transform:scale(.975);filter:blur(14px)}}
@keyframes agv-vt-fade-out{to{opacity:0}}
@keyframes agv-vt-fade-in{from{opacity:0}}
html[data-agv-vt] .app-header{view-transition-name:agv-bar}

/* ---------- Mobile & accessibilité ---------- */
@media (max-width:850px){
  html:root body .app-header::before{inset:6px 8px;border-radius:18px}
  html:root body :is(.project-sidebar,.assistant-panel){border-radius:0}
}
@media (prefers-reduced-motion:reduce){
  .agv-field i,.agv-sheen,html:root body .app-header .local-badge::before{animation:none!important}
  .agv-field .beam{display:none}
  html:root body .home-introduction h1 em{animation:none!important;background-position:0 0!important}
  html.agv-ai-busy body .pdf-sheet::after{animation:none;opacity:0}
}
@media (hover:none),(pointer:coarse){
  .agv-cur-dot,.agv-cur-ring{display:none!important}
  /* Mobile : lumière figée et apparitions sans flou, pour garder chaque toucher instantané */
  .agv-field i{animation:none!important;will-change:auto}
  .agv-field .beam{display:none}
  html:root body :is(.ag-page,.ag-in){animation-name:agv-rise-lite!important}
  html:root body .home-mode-panel.is-active>*{animation-duration:.35s!important}
}
@keyframes agv-rise-lite{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
