/* The Verbarium AI: the floating button and its chat panel. Loaded only on pages where the assistant shows. */
.vai{--vai-blue:var(--fdw-accent,#087d78);font-family:var(--font-body)}

/* The button (since 10 October 2026): a pale pill with the assistant's mark and "Verbarium AI". Its edge is glass: a dark green
   line on which two bright arcs with a lime fringe travel round. The arcs are one conic gradient on a square behind the pill, and
   only that square's transform is animated. Nothing outside the pill takes a click. */
.vai-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;display:block;padding:2px;border:0;border-radius:999px;background:#0c3b39;cursor:pointer;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent;box-shadow:0 12px 30px rgba(5,43,46,.2),0 2px 6px rgba(5,43,46,.16);transition:box-shadow .25s ease,filter .25s ease}
.vai-fab:hover{box-shadow:0 16px 36px rgba(5,43,46,.26),0 3px 8px rgba(5,43,46,.18)}
.vai-fab:active{filter:brightness(.97)}
.vai-fab:focus-visible{outline:3px solid var(--vai-blue);outline-offset:4px}
.vai-fab__edge{position:absolute;left:50%;top:50%;width:125%;aspect-ratio:1;z-index:-1;pointer-events:none;transform:translate(-50%,-50%) rotate(0deg);background:conic-gradient(from 0deg,#0c3b39 0deg 28deg,#14897c 44deg,#d9f78f 56deg,#fff 64deg,#e8f3ec 78deg,#9be0cf 90deg,#0c3b39 106deg 208deg,#14897c 224deg,#d9f78f 236deg,#fff 244deg,#e8f3ec 258deg,#9be0cf 270deg,#0c3b39 286deg 360deg);animation:vaiEdge 7s linear infinite;will-change:transform}
@keyframes vaiEdge{to{transform:translate(-50%,-50%) rotate(360deg)}}
.vai-fab__in{position:relative;display:flex;align-items:center;gap:11px;padding:11px 24px 11px 18px;border-radius:999px;background:linear-gradient(180deg,#fcfdf9 0%,#f2f6ef 100%);box-shadow:inset 0 1px 0 #fff,inset 0 -8px 14px rgba(12,59,57,.05);color:#0c3b39}
.vai-fab .vai-fab__mark{height:26px;width:auto;flex:none}
.vai-fab__name{font-family:var(--font-display,inherit);font-weight:700;font-size:16.5px;letter-spacing:-.2px;line-height:1;white-space:nowrap}
@media (max-width:639px){.vai--centre .vai-fab{right:auto;left:50%;transform:translateX(-50%)}}
/* The mark as a small picture: the panel's header and the question field of the "Ask The Verbarium" box. */
.vai-mark{display:inline-block;width:auto;height:1em;flex:none}
.vai-mark--mini{height:22px}
.vai-mark--tiny{height:16px}
/* With the button in the middle of a phone screen, the last lines of the footer (the copyright line and "Privacy and cookie settings") need room to clear it. */
@media (max-width:639px){body:has(.vai) .fdw-footer-bar{padding-bottom:6rem}}
/* On wider screens the button is at the right, where the footer's last line ends: the line stops short of it until the screen is wide enough for both. */
@media (min-width:640px){body:has(.vai) .fdw-footer-bar{padding-right:clamp(1.5rem,calc(835px - 50vw),15.5rem)}}

/* On an article: a button above the text, and a short invitation beside the round button, both for "Key points of this article".
   The invitation comes in after a moment and goes away by itself. */


/* "Ask The Verbarium": the box inside an article. A summary cut to three lines, two to four questions, and a field.
   It sits in the article text, so it sets its own type and uses no paragraph or list elements of the article's. */
.vai-ask{--vai-blue:var(--fdw-accent,#087d78);--vai-tint:#eef6f3;clear:both;margin:2.1em 0;padding:1.15rem 1.2rem 1rem;border:1px solid #cfe0da;border-radius:0;background:var(--vai-tint);color:#101a19;font-family:var(--font-body);font-size:1rem;line-height:1.5}
.vai-ask__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .65rem}
.vai-ask__title{font-family:var(--font-display);font-weight:700;font-size:1.32rem;line-height:1.15;letter-spacing:-.01em}
.vai-ask__by{flex:none;font-size:.68rem;font-weight:600;line-height:1.2;color:#5c6b68;white-space:nowrap}
.vai-ask__sum{position:relative;margin:0 0 .55rem}
.vai-ask__teaser{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.65em;overflow:hidden;font-size:1.02rem;line-height:1.55}
.vai-ask__more{position:absolute;right:0;bottom:0;padding:0 0 0 3.4rem;border:0;background:linear-gradient(90deg,rgba(238,240,250,0),var(--vai-tint) 2.6rem);color:var(--vai-blue);font:inherit;font-size:1rem;font-weight:700;line-height:1.58;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.vai-ask__more[hidden]{display:none}
.vai-ask__more:hover{color:var(--fdw-accent-ink,#065f5b)}
.vai-ask__qs{margin:0 0 .8rem;border-top:1px solid rgba(8,125,120,.2)}
.vai-ask__qs:empty{display:none}
.vai-ask__q{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin:0;padding:.68rem 1.4rem;border:0;border-bottom:1px solid rgba(8,125,120,.2);border-radius:0;background:none;color:#101a19;font:inherit;font-size:.92rem;line-height:1.4;text-align:left;cursor:pointer;transition:color .15s ease}
.vai-ask__go{flex:none;color:var(--vai-blue);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:1.05rem;line-height:1;transition:transform .15s ease}
.vai-ask__q:hover{color:var(--vai-blue)}
.vai-ask__q:hover .vai-ask__go{transform:translateX(3px)}
.vai-ask__form{display:flex;align-items:flex-end;gap:.5rem;margin:0;padding:.3rem .3rem .3rem .7rem;border:1px solid #b9d2ca;border-radius:23px;background:#fff}
.vai-ask__form:focus-within{border-color:var(--vai-blue);box-shadow:0 0 0 3px rgba(8,125,120,.15)}
.vai-ask__form .vai-mark{flex:none;margin-bottom:12px}
.vai-ask__input{flex:1;min-width:0;height:40px;max-height:96px;margin:0;padding:.52rem .15rem;border:0;border-radius:0;background:none;box-shadow:none;color:#101a19;font:inherit;font-size:1rem;line-height:1.45;resize:none;outline:none}
.vai-ask__input::placeholder{color:#6f6a80;opacity:1}
.vai-ask__send{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--vai-blue);color:#fff;cursor:pointer}
.vai-ask__send:hover{background:var(--fdw-accent-ink,#065f5b)}
.vai-ask__q:focus-visible,.vai-ask__more:focus-visible,.vai-ask__send:focus-visible{outline:2px solid var(--vai-blue);outline-offset:2px}
.vai-ask__note{margin:.6rem .1rem 0;font-size:.74rem;line-height:1.45;color:#5c6b68}
.vai-ask__note a{color:inherit}
/* The first visitor of an article sees the frame while the texts are written; if none come, the field alone stays. */
.vai-ask--wait .vai-ask__teaser{display:block;max-height:none}
.vai-ask--wait .vai-ask__teaser i{display:block;height:.82em;margin:.52em 0;border-radius:4px;background:linear-gradient(90deg,#d8eee7 0,#e6f2ee 50%,#d8eee7 100%);background-size:200% 100%;animation:vai-shimmer 1.5s linear infinite}
.vai-ask--wait .vai-ask__teaser i:last-child{width:62%}
.vai-ask--bare .vai-ask__sum,.vai-ask--bare .vai-ask__qs,.vai-ask--bare .vai-ask__stored,.vai-ask--wait .vai-ask__stored{display:none}
@keyframes vai-shimmer{from{background-position:200% 0}to{background-position:0 0}}
@media (max-width:479px){.vai-ask{margin:1.8em 0;padding:1rem .95rem .9rem}.vai-ask__title{font-size:1.18rem}.vai-ask__by{font-size:.64rem}.vai-ask__teaser,.vai-ask__more{font-size:.98rem}.vai-ask__q{padding:.62rem .9rem;font-size:.9rem}}
/* The panel. */
.vai-panel{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(98px + env(safe-area-inset-bottom));z-index:71;display:flex;flex-direction:column;width:min(384px,calc(100vw - 24px));height:min(580px,calc(100vh - 130px));height:min(580px,calc(100dvh - 130px));background:#ffffff;color:#101a19;border:1px solid #d9dfdd;border-radius:18px;box-shadow:0 28px 70px rgba(16,26,25,.3),0 4px 14px rgba(16,26,25,.12);overflow:hidden;animation:vai-in .22s ease}
.vai-panel[hidden]{display:none}
@keyframes vai-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:639px){.vai-panel{left:10px;right:10px;width:auto;height:min(600px,calc(100vh - 118px));height:min(600px,calc(100dvh - 118px))}}
.vai-head{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;background:#fff;border-bottom:1px solid #d9dfdd}
.vai-head__name{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}
.vai-head__name strong{font-family:var(--font-display);font-weight:700;font-size:1.04rem;letter-spacing:-.01em}
.vai-head__name small{font-size:.74rem;color:#65716e}
.vai-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#101a19;cursor:pointer}
.vai-close:hover{background:#edf0e9}
.vai-log{flex:1;display:flex;flex-direction:column;gap:.7rem;overflow-y:auto;padding:1rem .9rem .7rem;overscroll-behavior:contain}
/* Nothing in the log is ever squeezed to make room: each message keeps its full height and the log scrolls. */
.vai-log>*{flex:none}
.vai-msg{max-width:92%;font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}
.vai-msg p{margin:0 0 .6em;white-space:pre-line}
.vai-msg p:last-of-type{margin-bottom:0}
.vai-msg--bot{align-self:flex-start;padding:.7rem .85rem;background:#fff;border:1px solid #d9dfdd;border-radius:4px 14px 14px 14px}
.vai-msg--wide{align-self:stretch;max-width:100%}
.vai-msg--wide p{font-size:.92rem}
.vai-msg--me{align-self:flex-end;padding:.55rem .8rem;background:var(--vai-blue);color:#fff;border-radius:14px 14px 4px 14px;white-space:pre-wrap}
/* A text written for the visitor to use: on "paper", with its line breaks, and a button that copies it. */
.vai-draft{margin:0 0 .75rem;border:1px solid #cad4d0;border-radius:8px;background:#ffffff;overflow:hidden}
.vai-draft__text{padding:.8rem .85rem .2rem;font-size:.9rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.vai-draft__copy{display:block;margin:.5rem .6rem .6rem auto;padding:.3rem .85rem;border:1px solid var(--vai-blue);border-radius:999px;background:#fff;color:var(--vai-blue);font:inherit;font-size:.8rem;font-weight:600;line-height:1.3;cursor:pointer}
.vai-draft__copy:hover{background:var(--vai-blue);color:#fff}
.vai-tag{display:block;margin:0 0 .45rem;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#65716e}
.vai-cards{display:flex;flex-direction:column;gap:.45rem;margin-top:.75rem}
.vai-card{display:grid;grid-template-columns:56px 1fr;gap:.7rem;align-items:center;padding:.45rem;border:1px solid #cad4d0;border-radius:10px;background:#ffffff;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.vai-card:hover{border-color:var(--vai-blue);transform:translateY(-1px)}
.vai-card img,.vai-card__ph{display:block;width:56px;height:56px;border-radius:7px;object-fit:cover;background:#e5eae7}
.vai-card__ph{display:flex;align-items:center;justify-content:center;font:750 1.25rem "Manrope",system-ui,sans-serif;color:var(--vai-blue)}
.vai-card__cat{display:block;margin-bottom:.15rem;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--vai-blue)}
.vai-card__title{display:block;font-family:var(--font-display);font-weight:600;font-size:.92rem;line-height:1.25}
.vai-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.vai-chip{padding:.36rem .78rem;border:1px solid var(--vai-blue);border-radius:999px;background:transparent;color:var(--vai-blue);font:inherit;font-size:.84rem;font-weight:600;line-height:1.3;text-align:left;cursor:pointer}
.vai-chip:hover{background:var(--vai-blue);color:#fff}
.vai-chip--points{background:var(--vai-blue);color:#fff}
.vai-chip--points:hover{background:var(--fdw-accent-ink,#065f5b)}
/* The parts of the article, each a link to that part. */
.vai-points__label{display:block;margin:.8rem 0 0;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#65716e}
.vai-points{display:flex;flex-direction:column;gap:.35rem;margin-top:.45rem}
.vai-point{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.5rem .7rem;border:1px solid #cad4d0;border-radius:10px;background:#ffffff;color:inherit;text-decoration:none;font-family:var(--font-display);font-weight:600;font-size:.875rem;line-height:1.25;transition:border-color .15s ease,transform .15s ease}
.vai-point:hover{border-color:var(--vai-blue);transform:translateY(-1px)}
.vai-point__go{flex:none;color:var(--vai-blue);font-family:var(--font-body);font-size:1.05rem;line-height:1}
.vai-wait{align-self:flex-start;display:inline-flex;gap:5px;padding:.85rem .9rem;background:#fff;border:1px solid #d9dfdd;border-radius:4px 14px 14px 14px}
.vai-wait i{width:7px;height:7px;border-radius:50%;background:var(--vai-blue);animation:vai-dot 1.2s ease-in-out infinite}
.vai-wait i:nth-child(2){animation-delay:.15s}
.vai-wait i:nth-child(3){animation-delay:.3s}
@keyframes vai-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.vai-form{display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .7rem;background:#fff;border-top:1px solid #d9dfdd}
.vai-input{flex:1;min-height:42px;max-height:164px;padding:.55rem .75rem;border:1px solid #d9dfdd;border-radius:12px;background:#ffffff;color:#101a19;font:inherit;font-size:1rem;line-height:1.4;resize:none}
.vai-input:focus{outline:2px solid var(--vai-blue);outline-offset:1px}
.vai-input::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vai-send{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--vai-blue);color:#fff;cursor:pointer}
.vai-send:disabled{opacity:.45;cursor:default}
.vai-kbd{display:inline-flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;padding:0;border:1px solid #d9dfdd;border-radius:50%;background:#ffffff;color:#213c36;cursor:pointer}
.vai-kbd:hover{border-color:var(--vai-blue);color:var(--vai-blue)}
.vai-panel:focus{outline:none}
@media (max-width:359px){.vai-form{gap:.35rem;padding:.6rem .55rem}.vai-input{padding:.55rem .6rem}.vai-kbd,.vai-send{width:40px;height:40px}}
.vai-note{margin:0;padding:.45rem .9rem .7rem;background:#fff;font-size:.68rem;line-height:1.4;color:#65716e}
.vai-note a{color:var(--vai-blue)}

@media (prefers-reduced-motion:reduce){.vai-fab__edge,.vai-wait i,.vai-panel,.vai-ask__teaser i{animation:none}.vai-fab,.vai-card,.vai-point,.vai-ask__q,.vai-ask__go{transition:none}}
@media print{.vai,.vai-ask{display:none}}
