/* Interface mobile v3 (18/10/2026) : deuxième passe sur TOUTES les fenêtres du jeu, chargée après mobile-v2.css.
   Téléphone seulement (≤ 600 px de large, ou paysage ≤ 500 px de haut) : au-dessus, rien ne change.
   Un seul système pour toutes les fenêtres :
   - « pages » plein écran (personnage, sac, grimoire, activités, HDV, boutique, guilde, codex, bestiaire, classement, nouveautés…)
     avec en-tête collant de 56 px, bouton retour ‹ à gauche (44 px), titre 17 px ;
   - « feuilles » du bas (menu, communauté, bugs & idées, sondages, pseudo…) : poignée, coins arrondis en haut, × à droite ;
   - onglets en une rangée de pastilles de 40 px qui défile ; listes en cartes ; texte ≥ 12 px ; cibles ≥ 40 px.
   Fenêtres chargées à la demande (rvLazy : guilde, HDV, codex, bestiaire, classement) : leur feuille est insérée à la place
   de son <template>, donc AVANT celle-ci, et ces règles (ids doublés + !important) gardent la main. */
@media (max-width:600px),(max-width:1000px) and (max-height:500px){
:root{
 --m3-safe-t:env(safe-area-inset-top,0px);--m3-safe-b:env(safe-area-inset-bottom,0px);
 --m3-head-h:56px;--m3-gap:12px;--m3-r:14px;--m3-r-sm:11px;--m3-tap:40px;
 --m3-head:linear-gradient(180deg,#4a3f2b 0%,#2f2719 100%);--m3-head-line:#c9a35a;--m3-head-text:#fff4d8;
 --m3-paper:var(--window-paper,#ddd6b4);--m3-paper-deep:var(--window-paper-deep,#cbc39c);--m3-ink:var(--window-ink,#2f2a1e);
 --m3-line:color-mix(in srgb,var(--window-line,#7d7559) 70%,transparent);--m3-card:#f4eed6;--m3-card-line:#b9ad83;
 --m3-accent:linear-gradient(180deg,#f0a33a 0%,#cf6f12 100%);--m3-accent-line:#a8560f;--m3-accent-ink:#fff;
 --m3-chip:rgba(255,255,255,.5);
 --m3-back:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E");--m3-shadow:0 1px 0 #fff8 inset,0 2px 6px #3a2a1022}:root:where([data-theme="nuit"]){--m3-line:color-mix(in srgb,var(--window-line,#516485) 70%,transparent)}

/* ================= 1. Cadres ================= */
/* 1a. Pages plein écran */
html:not(#m3) body:not(#m3) :is(dialog#player-dialog,dialog#player-dialog-char,dialog#class-dialog,dialog#adventure-panel,dialog#player-market,dialog#astrub-shop,dialog#guild-window,dialog#codex-dialog,dialog#bestiary-dialog,dialog#leaderboard-dialog,dialog#patchnotes,dialog#keybinds-dialog,dialog#companions-dialog):is([open],[open])[open]{
 position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;min-height:0!important;
 border:0!important;border-radius:0!important;padding:0!important;box-sizing:border-box!important;transform:none!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;background:var(--m3-paper)!important;box-shadow:none!important}
/* fenêtres à cadre intérieur (div.*-window) : il prend toute la page */
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog)[open]>div{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
/* corps : seul à défiler */
html:not(#m3) body:not(#m3) :is(#player-dialog-content,#player-dialog-char-content,#book-content,#adventure-content,#market-content,#shop-content,#guild-window .gw-body,#codex-dialog .cx-body,#bestiary-dialog .bs-body,#leaderboard-dialog .lb-body,#patchnotes .patchnotes-body,#keybinds-dialog .kb-body){flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(16px + var(--m3-safe-b))!important}
html:not(#m3) body:not(#m3) #astrub-shop#astrub-shop[open]{overflow-y:auto!important;display:block!important}
html:not(#m3) body:not(#m3) #astrub-shop#astrub-shop #shop-content{overflow:visible!important;flex:none!important}

/* 1b. Feuilles du bas */
html:not(#m3) body:not(#m3) :is(dialog#mobile-menu-sheet,dialog#community-dialog,dialog#feedback-dialog,dialog#polls-dialog,dialog#name-style-dialog,dialog#report-dialog):is([open],[open])[open]{
 position:fixed!important;inset:auto 0 0 0!important;top:auto!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:auto!important;max-height:calc(100dvh - 40px - var(--m3-safe-t))!important;min-height:0!important;
 border:0!important;border-top:1px solid var(--m3-head-line)!important;border-radius:20px 20px 0 0!important;padding:0!important;box-sizing:border-box!important;transform:none!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;background:var(--m3-paper)!important;box-shadow:0 -10px 34px #000a!important;animation:m3-sheet .22s ease-out}
html:not(#m3) body:not(#m3) :is(#community-dialog,#feedback-dialog,#name-style-dialog,#report-dialog)[open]>div{flex:1 1 auto!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;max-height:none!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:none!important}
html:not(#m3) body:not(#m3) :is(#mobile-menu-sheet .mobile-sheet-scroll,#community-dialog .cc-body,#feedback-dialog .fb-list,#polls-dialog .polls-body,#name-style-dialog .ns-body){flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
html:not(#m3) body:not(#m3) #feedback-dialog#feedback-dialog .fb-window{overflow-y:auto!important}
html:not(#m3) body:not(#m3) :is(#community-dialog .cc-body,#polls-dialog .polls-body,#name-style-dialog .ns-body,#feedback-dialog .fb-window){padding-bottom:calc(14px + var(--m3-safe-b))!important}
/* poignée */
html:not(#m3) body:not(#m3) :is(#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#report-dialog)[open]::before{content:'';position:absolute;z-index:3;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:#fff6;pointer-events:none}
@keyframes m3-sheet{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
html:not(#m3) body:not(#m3) :is(#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#report-dialog)::backdrop{background:#0008!important;backdrop-filter:none!important}

/* ================= 2. En-têtes ================= */
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#mobile-menu-sheet,#polls-dialog)[open]>header,
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#community-dialog,#feedback-dialog,#name-style-dialog)[open]>div>header,
html:not(#m3) body:not(#m3) #worldmap#worldmap>header.worldmap-head{
 position:sticky!important;top:0!important;z-index:5!important;flex:none!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 10px!important;
 min-height:var(--m3-head-h)!important;height:auto!important;margin:0!important;padding:6px 12px 6px 6px!important;box-sizing:border-box!important;
 background:var(--m3-head)!important;color:var(--m3-head-text)!important;border:0!important;border-bottom:2px solid var(--m3-head-line)!important;border-radius:0!important;box-shadow:0 3px 10px #0004!important;inset:auto!important}
/* pages : marge du haut de l'encoche */
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window)[open]>header,
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog)[open]>div>header,html:not(#m3) body:not(#m3) #worldmap#worldmap>header.worldmap-head{padding-top:calc(6px + var(--m3-safe-t))!important}
/* feuilles : place pour la poignée, × à droite */
html:not(#m3) body:not(#m3) :is(#mobile-menu-sheet,#polls-dialog)[open]>header,html:not(#m3) body:not(#m3) :is(#community-dialog,#feedback-dialog,#name-style-dialog)[open]>div>header{padding:14px 8px 8px 16px!important;border-radius:20px 20px 0 0!important}
/* titre */
html:not(#m3) body:not(#m3) :is(#player-dialog-title,#player-dialog-char-title,#dialog-title,#adventure-title,#market-title,#astrub-shop-title,#guild-window .gw-head h2,#cx-title,#bs-title,#lb-title,#kb-title,#ns-title,#feedback-title,#polls-title,#mobile-menu-title,#patchnotes .pn-title,#community-dialog .cc-window>header h2,#worldmap .worldmap-titles){
 flex:1 1 0!important;min-width:0!important;margin:0!important;padding:0!important;font-size:17px!important;line-height:1.2!important;font-weight:800!important;color:var(--m3-head-text)!important;letter-spacing:.01em!important;text-shadow:0 1px 2px #0008!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none!important}
html:not(#m3) body:not(#m3) #patchnotes .pn-title *{color:inherit!important}
html:not(#m3) body:not(#m3) #patchnotes .pn-title :is(h2,b,strong){font-size:17px!important}
html:not(#m3) body:not(#m3) :is(#patchnotes .pn-title small,#patchnotes .pn-title span,.shop-eyebrow,.adventure-eyebrow,#mobile-menu-context,#worldmap .worldmap-titles small,#worldmap .worldmap-titles span){font-size:12px!important;font-weight:700!important;color:#e9cf93!important;opacity:.9;text-shadow:none!important;letter-spacing:.04em!important}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#mobile-menu-sheet,#polls-dialog)[open]>header>div,
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#community-dialog,#feedback-dialog,#name-style-dialog)[open]>div>header>div:not([class*=tabs]){flex:1 1 0;min-width:0}
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#keybinds-dialog,#name-style-dialog,#patchnotes)[open]>div>header>img{width:24px!important;height:24px!important;flex:none}
/* paragraphe sous le titre des feuilles (communauté, bugs & idées) : pleine largeur */
html:not(#m3) body:not(#m3) :is(#community-dialog,#feedback-dialog)[open]>div>header>p{flex:1 1 100%!important;order:3;margin:0 40px 0 0!important;font-size:12.5px!important;line-height:1.35!important;color:#efe2c0!important}

/* bouton retour (pages) / fermer (feuilles) : 44 px, même dessin partout */
html:not(#m3) body:not(#m3) :is(#player-dialog-close,#player-dialog-char-close,#close-book,#adventure-close,#market-close,#shop-close,#worldmap-close,#mobile-menu-close,#guild-window .gw-close,#polls-dialog .polls-close,#leaderboard-dialog .lb-close,#community-dialog .cc-close,#feedback-dialog .fb-close,#codex-dialog .cx-window>header>button:last-child,#bestiary-dialog .bs-window>header>button:last-child,#keybinds-dialog .kb-window>header>button:last-child,#name-style-dialog .ns-window>header>button:last-child,#patchnotes .patchnotes-window>header>button:last-child){
 position:relative!important;inset:auto!important;flex:none!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;
 display:grid!important;place-items:center!important;border-radius:12px!important;border:1px solid #c9a35a88!important;background:#ffffff14!important;color:var(--m3-head-text)!important;box-shadow:none!important;transform:none!important;
 font-size:20px!important;line-height:1!important;color:transparent!important;text-shadow:none!important;overflow:hidden!important;cursor:pointer}
html:not(#m3) body:not(#m3) :is(#player-dialog-close,#player-dialog-char-close,#close-book,#adventure-close,#market-close,#shop-close,#worldmap-close,#mobile-menu-close,#guild-window .gw-close,#polls-dialog .polls-close,#leaderboard-dialog .lb-close,#community-dialog .cc-close,#feedback-dialog .fb-close,#codex-dialog .cx-window>header>button:last-child,#bestiary-dialog .bs-window>header>button:last-child,#keybinds-dialog .kb-window>header>button:last-child,#name-style-dialog .ns-window>header>button:last-child,#patchnotes .patchnotes-window>header>button:last-child)>*{display:none!important}
html:not(#m3) body:not(#m3) :is(#player-dialog-close,#player-dialog-char-close,#close-book,#adventure-close,#market-close,#shop-close,#worldmap-close,#mobile-menu-close,#guild-window .gw-close,#polls-dialog .polls-close,#leaderboard-dialog .lb-close,#community-dialog .cc-close,#feedback-dialog .fb-close,#codex-dialog .cx-window>header>button:last-child,#bestiary-dialog .bs-window>header>button:last-child,#keybinds-dialog .kb-window>header>button:last-child,#name-style-dialog .ns-window>header>button:last-child,#patchnotes .patchnotes-window>header>button:last-child)::after{content:'';position:absolute;inset:0;margin:auto;width:20px;height:20px;background:var(--m3-head-text);-webkit-mask:var(--m3-ico) center/contain no-repeat;mask:var(--m3-ico) center/contain no-repeat}
html:not(#m3) body:not(#m3) :is(#player-dialog-close,#player-dialog-char-close,#close-book,#adventure-close,#market-close,#shop-close,#worldmap-close,#mobile-menu-close,#guild-window .gw-close,#polls-dialog .polls-close,#leaderboard-dialog .lb-close,#community-dialog .cc-close,#feedback-dialog .fb-close,#codex-dialog .cx-window>header>button:last-child,#bestiary-dialog .bs-window>header>button:last-child,#keybinds-dialog .kb-window>header>button:last-child,#name-style-dialog .ns-window>header>button:last-child,#patchnotes .patchnotes-window>header>button:last-child):active{background:#ffffff2e!important}
/* pages : flèche retour, à gauche */
html:not(#m3) body:not(#m3) :is(#player-dialog-close,#player-dialog-char-close,#close-book,#adventure-close,#market-close,#shop-close,#worldmap-close,#guild-window .gw-close,#leaderboard-dialog .lb-close,#codex-dialog .cx-window>header>button:last-child,#bestiary-dialog .bs-window>header>button:last-child,#keybinds-dialog .kb-window>header>button:last-child,#patchnotes .patchnotes-window>header>button:last-child){order:-1!important;--m3-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")}
/* feuilles : croix, à droite */
html:not(#m3) body:not(#m3) :is(#mobile-menu-close,#polls-dialog .polls-close,#community-dialog .cc-close,#feedback-dialog .fb-close,#name-style-dialog .ns-window>header>button:last-child){order:9!important;--m3-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
html:not(#m3) body:not(#m3) :is(#community-dialog#community-dialog .cc-close,#feedback-dialog#feedback-dialog .fb-close){position:absolute!important;top:10px!important;right:8px!important}

/* ================= 3. Onglets : une rangée de pastilles qui défile ================= */
html:not(#m3) body:not(#m3) :is(#player-dialog-char nav.pd-char-tabs,#class-dialog nav.pd-char-tabs){flex:1 1 100%!important;order:4;display:flex!important;gap:6px!important;margin:2px 0 0 50px!important;padding:0!important;background:none!important;border:0!important}
html:not(#m3) body:not(#m3) :is(#player-dialog-char nav.pd-char-tabs,#class-dialog nav.pd-char-tabs) button{flex:1 1 0!important;min-height:40px!important;height:40px!important;padding:0 12px!important;border-radius:999px!important;font:800 13px/1 var(--font-ui,sans-serif)!important;border:1px solid #c9a35a77!important;background:#ffffff12!important;color:#f1e3bf!important;box-shadow:none!important;transform:none!important}
html:not(#m3) body:not(#m3) :is(#player-dialog-char nav.pd-char-tabs,#class-dialog nav.pd-char-tabs) :is(button.is-on,button[aria-selected=true],button[aria-pressed=true]){background:var(--m3-accent)!important;border-color:var(--m3-accent-line)!important;color:#fff!important}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav){
 display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
 grid-template-columns:none!important;height:auto!important;max-height:none!important;box-sizing:border-box!important}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav)::-webkit-scrollbar{display:none}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav)>:is(button,a,[role=tab]){
 flex:none!important;scroll-snap-align:start;width:auto!important;min-width:0!important;max-width:none!important;min-height:var(--m3-tap)!important;height:var(--m3-tap)!important;margin:0!important;padding:0 14px!important;box-sizing:border-box!important;
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;white-space:nowrap!important;
 border-radius:999px!important;border:1px solid var(--m3-card-line)!important;background:var(--m3-chip)!important;color:var(--m3-ink)!important;box-shadow:none!important;transform:none!important;
 font:800 13px/1 var(--font-ui,sans-serif)!important;letter-spacing:0!important;text-transform:none!important}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav)>:is(button,a,[role=tab]) *{font-size:13px!important;line-height:1!important}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav)>:is(button,a,[role=tab]):is(.is-selected,.is-on,.is-active,.active,.on,[aria-selected=true],[aria-pressed=true],[aria-current=page],[aria-current=true]){
 background:var(--m3-accent)!important;border-color:var(--m3-accent-line)!important;color:var(--m3-accent-ink)!important;box-shadow:0 2px 6px #a8560f44!important}
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#codex-dialog nav.cx-tabs,#astrub-shop nav.shop-tabs,#mobile-menu-sheet nav.menu-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-panel .chat-tabs,#chat-social nav.social-tabs,#guild-window [role=tablist],#guild-window nav,#player-market nav,#bestiary-dialog nav)>:is(button,a,[role=tab]) img{width:18px!important;height:18px!important}
/* rangées d'onglets directement sous l'en-tête : bande collante */
html:not(#m3) body:not(#m3) :is(#adventure-panel>nav,#codex-dialog nav.cx-tabs,#mobile-menu-sheet nav.menu-tabs){flex:none!important;position:sticky;top:0;z-index:4;margin:0!important;padding:8px 12px!important;background:var(--m3-paper-deep)!important;border:0!important;border-bottom:1px solid var(--m3-line)!important;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent)}
/* rangées dans le contenu : sans fond, bord estompé */
html:not(#m3) body:not(#m3) :is(#player-dialog nav.bag-tabs,#class-dialog nav.spell-filters,#astrub-shop nav.shop-tabs,#polls-dialog nav.polls-tabs,#player-dialog nav.guide-tabs,#leaderboard-dialog nav,#feedback-dialog .fb-seg,#chat-social nav.social-tabs){margin:0 0 10px!important;padding:2px 0!important;background:none!important;border:0!important;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);padding-right:18px!important}

/* ================= 4. Contenu commun : marges, cartes, boutons ================= */
html:not(#m3) body:not(#m3) :is(#player-dialog-content,#player-dialog-char-content,#book-content,#adventure-content,#market-content,#codex-dialog .cx-body,#bestiary-dialog .bs-body,#leaderboard-dialog .lb-body,#patchnotes .patchnotes-body,#keybinds-dialog .kb-body,#guild-window .gw-body){padding-left:var(--m3-gap)!important;padding-right:var(--m3-gap)!important;padding-top:var(--m3-gap)!important;box-sizing:border-box!important}

/* ================= 5. Plancher commun : texte ≥ 12 px (mobile-v3.js pose .m3-fs), cibles ≥ 40 px, champs à 16 px (pas de zoom iOS) ================= */
html:not(#m3):not(#m3a):not(#m3b) body:not(#m3):not(#m3a):not(#m3b) .m3-fs.m3-fs.m3-fs{font-size:12px!important}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#companions-dialog,#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#trade-window,#rv-fight-result,#retroverse-chat #chat-panel,#worldmap>header,#worldmap .worldmap-search,#worldmap-legend) :is(button,select,[role=button],a.ytv-btn,a.shop-bar-earn,summary){min-height:var(--m3-tap)!important}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#companions-dialog,#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#trade-window,#rv-fight-result,#retroverse-chat #chat-panel,#worldmap>header,#worldmap .worldmap-search,#worldmap-legend) button{min-width:var(--m3-tap)!important}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#companions-dialog,#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#trade-window,#rv-fight-result,#retroverse-chat #chat-panel,#worldmap>header,#worldmap .worldmap-search,#worldmap-legend) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea){min-height:var(--m3-tap)!important;font-size:16px!important;border-radius:var(--m3-r-sm)!important;box-sizing:border-box!important}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#companions-dialog,#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#trade-window,#rv-fight-result,#retroverse-chat #chat-panel,#worldmap>header,#worldmap .worldmap-search,#worldmap-legend) :is(input[type=checkbox],input[type=radio]){width:20px!important;height:20px!important}
/* boutons d'action : même rayon partout */
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window,#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog,#companions-dialog,#mobile-menu-sheet,#community-dialog,#feedback-dialog,#polls-dialog,#name-style-dialog,#trade-window,#rv-fight-result,#retroverse-chat #chat-panel,#worldmap>header,#worldmap .worldmap-search,#worldmap-legend) button:not([role=tab]):not(.m3-keep){border-radius:var(--m3-r-sm)}

/* ================= 6. Pages hors <dialog> : échange, chat complet ; fin de combat en feuille ================= */
html:not(#m3) body:not(#m3) #trade-window#trade-window:not([hidden]){z-index:90!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;background:var(--m3-paper)!important;color:var(--m3-ink)}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel#chat-panel:not([hidden]){position:fixed!important;inset:0!important;z-index:90!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;pointer-events:auto;box-shadow:none!important}
html:not(#m3) body:not(#m3) :is(#trade-window>header.trade-bar,#retroverse-chat #chat-panel>header.chat-header){position:sticky!important;top:0;z-index:5;flex:none!important;display:flex!important;align-items:center!important;gap:8px!important;min-height:var(--m3-head-h)!important;height:auto!important;margin:0!important;padding:calc(6px + var(--m3-safe-t)) 8px 6px 6px!important;box-sizing:border-box!important;background:var(--m3-head)!important;color:var(--m3-head-text)!important;border:0!important;border-bottom:2px solid var(--m3-head-line)!important;border-radius:0!important;box-shadow:0 3px 10px #0004!important}
html:not(#m3) body:not(#m3) :is(#trade-window #trade-title,#retroverse-chat #chat-heading){font-size:17px!important;font-weight:800!important;color:var(--m3-head-text)!important;line-height:1.2!important}
html:not(#m3) body:not(#m3) :is(#trade-window .trade-with,#retroverse-chat #chat-identity){font-size:12.5px!important;color:#e9cf93!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel>header.chat-header>div{flex:1 1 0;min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-header-icon{display:none!important}
html:not(#m3) body:not(#m3) :is(#trade-window .trade-close,#retroverse-chat #chat-close){order:-1!important;position:relative!important;inset:auto!important;flex:none!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:12px!important;border:1px solid #c9a35a88!important;background:#ffffff14!important;font-size:20px!important;color:transparent!important;overflow:hidden!important;box-shadow:none!important}
html:not(#m3) body:not(#m3) :is(#trade-window .trade-close,#retroverse-chat #chat-close)::after{content:'';position:absolute;inset:0;margin:auto;width:20px;height:20px;background:var(--m3-head-text);-webkit-mask:var(--m3-back) center/contain no-repeat;mask:var(--m3-back) center/contain no-repeat}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel>header :is(#chat-filters,#chat-settings){flex:none;width:44px!important;height:44px!important;min-width:44px!important;border-radius:12px!important;border:1px solid #c9a35a66!important;background:#ffffff10!important;color:var(--m3-head-text)!important;font-size:18px!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel .chat-tabs{flex:none!important;margin:0!important;padding:8px 10px!important;background:#00000022!important;border:0!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel .chat-channels{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;scrollbar-width:none;padding:6px 10px calc(6px + var(--m3-safe-b))!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel .chat-channels>button{flex:none!important;min-height:40px!important;height:40px!important;padding:0 12px!important;border-radius:999px!important;font-size:12.5px!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel :is(.chat-feed,#chat-messages){font-size:14px!important;line-height:1.45!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel #chat-access a{min-height:var(--m3-tap)!important;display:flex!important;align-items:center;justify-content:center;border-radius:var(--m3-r-sm)!important;font-size:14px!important}
/* fin de combat : feuille du bas */
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .tc-v2{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;z-index:95;width:100vw!important;max-width:none!important;max-height:calc(100dvh - 48px)!important;margin:0!important;overflow-y:auto!important;box-sizing:border-box!important;border-radius:20px 20px 0 0!important;transform:none!important;padding-bottom:calc(12px + var(--m3-safe-b))!important;box-shadow:0 -10px 34px #000a!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .tc-shrink{width:44px!important;height:44px!important;min-width:44px!important;font-size:18px!important;top:6px!important;right:8px!important;border-radius:12px!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .rt-title{font-size:12.5px!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .tc-main{min-height:48px!important;font-size:16px!important;border-radius:14px!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .rt-table tr{padding:8px 12px!important;border-radius:12px!important}

/* ================= 7. Fenêtres une à une ================= */
/* guilde : onglets sous le titre ; membres en cartes */
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-head>nav{flex:1 1 100%!important;order:4;margin:2px -12px 0 -6px!important;padding:2px 12px 4px!important;width:auto!important;max-width:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-head>nav>button{border-color:#c9a35a66!important;background:#ffffff12!important;color:#f1e3bf!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-head>nav>button:is(.is-on,[aria-selected=true]){background:var(--m3-accent)!important;color:#fff!important;border-color:var(--m3-accent-line)!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap{overflow:visible!important;max-height:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap table{display:block!important;width:100%!important;border:0!important;background:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap thead{display:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap tbody{display:grid!important;gap:6px}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap tr{display:grid!important;grid-template-columns:1fr auto auto;align-items:center;gap:2px 12px;min-height:48px;padding:8px 12px;border-radius:12px;background:var(--m3-card)!important;border:1px solid var(--m3-card-line);box-sizing:border-box}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td{display:block!important;padding:0!important;border:0!important;background:none!important;font-size:13px!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(1){font-weight:800;font-size:14px!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(2)::before{content:'Niv. ';opacity:.65;font-weight:600}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(3)::before{content:'XP ';opacity:.65;font-weight:600}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(n+4){grid-column:1/-1;font-size:12.5px!important;opacity:.8}
html:not(#m3) body:not(#m3) #guild-window#guild-window :is(.gw-hero,.gw-recruit,.gw-req,article){border-radius:var(--m3-r)!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-bar{flex-wrap:wrap;gap:8px!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-bar>button{flex:1 1 auto}
/* HDV : catégories en rangée qui défile, objets et lots en cartes */
html:not(#m3) body:not(#m3) #player-market#player-market nav.hdv-tabs{margin:0 0 8px!important;padding:2px 0!important;background:none!important;border:0!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-types .hdv-type b{font-size:12px!important;min-width:20px;padding:1px 6px;border-radius:999px}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail){max-height:none!important;overflow:visible!important;border-radius:var(--m3-r)!important}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) table{width:100%!important;border-collapse:separate!important;border-spacing:0 6px!important}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) :is(td,th){padding:10px 8px!important;font-size:13px!important}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) tbody tr td{background:var(--m3-card)!important;border-top:1px solid var(--m3-card-line)!important;border-bottom:1px solid var(--m3-card-line)!important}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) tbody tr td:first-child{border-left:1px solid var(--m3-card-line)!important;border-radius:12px 0 0 12px}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) tbody tr td:last-child{border-right:1px solid var(--m3-card-line)!important;border-radius:0 12px 12px 0}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-items,.hdv-detail) tbody tr{height:48px}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-dir{gap:8px!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-diritem{border-radius:var(--m3-r)!important;padding:12px!important}
/* banque : outils sur une ligne, cases plus grandes */
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-bank-tools{flex-wrap:wrap!important;gap:8px!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-bank-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))!important;gap:6px!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-bank-cell{min-height:52px!important;border-radius:10px!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-bank-side>header{flex-wrap:wrap;gap:6px!important}
/* activités / donjon : cartes, bouton d'entrée collant */
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel :is(.rv-list>*,.rv-dg-steps>li){border-radius:var(--m3-r)!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-dg-actions{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(6px + var(--m3-safe-b))!important;background:linear-gradient(transparent,var(--m3-paper) 30%)!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-dg-actions button{min-height:48px!important;font-size:15px!important;border-radius:14px!important;width:100%}
/* classement : filtres groupés sous l'en-tête */
html:not(#m3) body:not(#m3) #leaderboard-dialog#leaderboard-dialog .lb-filters{flex:none!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:8px 12px!important;background:var(--m3-paper-deep)!important;border-bottom:1px solid var(--m3-line)!important}
html:not(#m3) body:not(#m3) #leaderboard-dialog#leaderboard-dialog .lb-filters nav{margin:0!important}
html:not(#m3) body:not(#m3) #leaderboard-dialog#leaderboard-dialog nav.lb-classes>button{width:var(--m3-tap)!important;padding:0!important}
html:not(#m3) body:not(#m3) #leaderboard-dialog#leaderboard-dialog nav.lb-classes>button:first-child{width:auto!important;padding:0 14px!important}
/* nouveautés : bouton de pied plein, collant */
html:not(#m3) body:not(#m3) #patchnotes#patchnotes .patchnotes-window>footer{flex:none!important;padding:10px 12px calc(10px + var(--m3-safe-b))!important;background:var(--m3-paper-deep)!important;border-top:1px solid var(--m3-line)!important}
html:not(#m3) body:not(#m3) #patchnotes#patchnotes .patchnotes-ok{flex:1 1 auto;min-height:48px!important;font-size:15px!important;border-radius:14px!important}
/* sondages */
html:not(#m3) body:not(#m3) #polls-dialog#polls-dialog .polls-body{padding:10px 12px!important;gap:10px!important}
html:not(#m3) body:not(#m3) #polls-dialog#polls-dialog .poll-opt{min-height:44px!important;border-radius:12px!important}
/* menu : bouton de pied */
html:not(#m3) body:not(#m3) #mobile-menu-sheet#mobile-menu-sheet .hud-reset{min-height:44px!important;margin:8px 12px calc(8px + var(--m3-safe-b))!important;width:auto!important;border-radius:12px!important}
html:not(#m3) body:not(#m3) #mobile-menu-sheet#mobile-menu-sheet nav.menu-tabs>button{flex:1 0 auto!important}
/* touches */
html:not(#m3) body:not(#m3) #keybinds-dialog#keybinds-dialog .kb-cap{min-width:56px!important;font-size:14px!important;border-radius:10px!important}
/* chat complet : son conteneur passe au-dessus du HUD (pastilles, colonne de droite) */
html:not(#m3) body:not(#m3) #retroverse-chat#retroverse-chat:has(#chat-panel:not([hidden])){z-index:90!important;pointer-events:auto}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel .chat-tabs>button{flex:1 1 0!important;min-width:0!important;padding:0 8px!important}
html:not(#m3) body:not(#m3) #retroverse-chat #chat-panel .chat-tabs>button img{display:none!important}
/* personnage : chaque bloc sur toute la largeur */
html:not(#m3) body:not(#m3) #player-dialog-char#player-dialog-char .character-layout{flex-direction:column!important;gap:10px!important}
html:not(#m3) body:not(#m3) #player-dialog-char#player-dialog-char .character-layout>*,html:not(#m3) body:not(#m3) #player-dialog-char#player-dialog-char .character-alloc>*{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;margin-left:0!important;margin-right:0!important}
html:not(#m3) body:not(#m3) #player-dialog-char#player-dialog-char .character-layout>*{border-radius:var(--m3-r)!important}
/* grimoire : filtres à largeur égale, rangs sans débord */
html:not(#m3) body:not(#m3) #class-dialog#class-dialog nav.spell-filters>button{flex:1 0 auto!important;padding:0 10px!important}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog .book-ranks-wrap{overflow-x:hidden!important}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog .book-ranks-wrap>*{max-width:100%!important;min-width:0!important}
/* guilde : membre = carte 3 × 3 (visage · nom · rang / niveau · part · apport / position) */
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-members{display:block!important;height:auto!important;max-height:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap{height:auto!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap tr{grid-template-columns:auto 1fr auto!important;gap:4px 10px!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(1){font-size:13px!important;font-weight:400}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td.gw-name{font-weight:800;font-size:14px!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(3){font-size:12.5px!important;font-weight:700;opacity:.85;justify-self:end}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(2)::before,html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(3)::before{content:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td.gw-num{grid-column:auto!important;font-size:12.5px!important;opacity:1!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(4)::before{content:'Niv. ';opacity:.6}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(5)::before{content:'Part ';opacity:.6}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(5){justify-self:center}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(6){justify-self:end}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td:nth-child(6)::after{content:' XP';opacity:.6}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td.gw-state{grid-column:1/-1!important;font-size:12.5px!important;opacity:.8}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap td.gw-state:empty{display:none!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-table-wrap tr:is(.is-online){border-left:4px solid #3fa34d!important}
/* HDV : plus de hauteurs fixes, la page défile d'un bloc */
html:not(#m3) body:not(#m3) #player-market#player-market #market-content>*{flex:none!important}
html:not(#m3) body:not(#m3) #player-market#player-market :is(.hdv-buy,.hdv-sell,.hdv-items,.hdv-detail,.hdv-col){height:auto!important;max-height:none!important;min-height:0!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-search{padding:0!important;margin:0 0 4px!important;background:none!important;border:0!important}
/* carte du monde : effacer la recherche au doigt */
html:not(#m3) body:not(#m3) #worldmap#worldmap #worldmap-q-clear{width:40px!important;height:40px!important;min-width:40px!important}
html:not(#m3) body:not(#m3) #polls-dialog#polls-dialog nav.polls-tabs{position:sticky!important;top:-10px;z-index:3;margin:-10px -12px 0!important;padding:10px 12px 8px!important;background:var(--m3-paper)!important}
html:not(#m3) body:not(#m3) #trade-window#trade-window:not([hidden]){transform:none!important;left:0!important;top:0!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result{z-index:120!important}
/* rangées courtes : à largeur égale, sans défilement */
html:not(#m3) body:not(#m3) #mobile-menu-sheet#mobile-menu-sheet nav.menu-tabs>button{flex:1 1 0!important;min-width:0!important;padding:0 6px!important}
html:not(#m3) body:not(#m3) #astrub-shop#astrub-shop nav.shop-tabs>button{flex:1 1 auto!important;padding:0 10px!important}
html:not(#m3) body:not(#m3) #codex-dialog#codex-dialog nav.cx-tabs>button{flex:1 1 auto!important;padding:0 10px!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-bar{position:sticky!important;bottom:0!important;z-index:3;margin:8px calc(-1 * var(--m3-gap)) 0!important;padding:10px var(--m3-gap) calc(12px + var(--m3-safe-b))!important;background:var(--m3-paper-deep)!important;border-top:1px solid var(--m3-line)!important;box-shadow:0 -6px 14px #3a2a1022!important}html:not(#m3):where([data-theme="nuit"]) body:not(#m3) #guild-window#guild-window .gw-bar{box-shadow:0 -6px 14px #18223222!important}
html:not(#m3) body:not(#m3) #guild-window#guild-window .gw-body:has(>.gw-bar){padding-bottom:0!important}
/* zaap : page, même en-tête */
html:not(#m3) body:not(#m3) :is(dialog#zaap-panel,dialog#weekend-event):is([open],[open])[open]{position:fixed!important;inset:0!important;margin:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;padding:0!important;box-sizing:border-box!important;transform:none!important;box-shadow:none!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel[open]{display:flex!important;flex-direction:column!important;overflow:hidden!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel>header{position:sticky!important;top:0;z-index:5;flex:none!important;display:flex!important;align-items:center!important;gap:10px!important;min-height:var(--m3-head-h)!important;height:auto!important;margin:0!important;padding:calc(6px + var(--m3-safe-t)) 12px 6px 6px!important;box-sizing:border-box!important;background:var(--m3-head)!important;color:var(--m3-head-text)!important;border:0!important;border-bottom:2px solid var(--m3-head-line)!important;border-radius:0!important;box-shadow:0 3px 10px #0004!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-logo{width:28px!important;height:28px!important;font-size:18px!important;flex:none}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-title{flex:1 1 0;min-width:0}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel #zaap-title{font-size:17px!important;font-weight:800!important;color:var(--m3-head-text)!important;line-height:1.2!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-title small{font-size:12px!important;color:#e9cf93!important}
html:not(#m3) body:not(#m3) :is(#zaap-panel#zaap-panel .zaap-x,#weekend-event#weekend-event .wk-x){order:-1!important;position:relative!important;inset:auto!important;flex:none!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:12px!important;border:1px solid #c9a35a88!important;background:#ffffff14!important;font-size:20px!important;color:transparent!important;overflow:hidden!important;box-shadow:none!important}
html:not(#m3) body:not(#m3) :is(#zaap-panel#zaap-panel .zaap-x,#weekend-event#weekend-event .wk-x)::after{content:'';position:absolute;inset:0;margin:auto;width:20px;height:20px;background:var(--m3-head-text);-webkit-mask:var(--m3-back) center/contain no-repeat;mask:var(--m3-back) center/contain no-repeat}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-tools{flex:none!important;padding:10px 12px!important;gap:10px!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-search{flex:1 1 auto;min-height:var(--m3-tap)!important;font-size:16px!important;border-radius:var(--m3-r-sm)!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;padding:0 12px!important;gap:6px!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-list button{min-height:52px!important;border-radius:var(--m3-r)!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel :is(.zaap-message,.zaap-hint){flex:none;margin:6px 12px!important}
html:not(#m3) body:not(#m3) #zaap-panel#zaap-panel .zaap-hint{margin-bottom:calc(10px + var(--m3-safe-b))!important}
/* week-end bonus : page qui défile, bandeau de titre collant (la fenêtre n'a pas d'en-tête) */
html:not(#m3) body:not(#m3) #weekend-event#weekend-event[open]{display:block!important;overflow-y:auto!important;overscroll-behavior:contain}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event[open]::before{content:'Week-end Bonus';position:sticky;top:0;z-index:4;display:flex;align-items:center;height:calc(var(--m3-head-h) + var(--m3-safe-t));padding:var(--m3-safe-t) 12px 0 62px;box-sizing:border-box;background:var(--m3-head);color:var(--m3-head-text);border-bottom:2px solid var(--m3-head-line);box-shadow:0 3px 10px #0004;font:800 17px/1.2 var(--font-ui,sans-serif);text-shadow:0 1px 2px #0008}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wk-x{position:fixed!important;top:calc(6px + var(--m3-safe-t))!important;left:6px!important;z-index:6}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wk-body{padding:12px!important;width:auto!important;max-width:none!important}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wk-views{display:flex!important;width:100%!important;gap:6px!important}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wk-views>button{flex:1 1 auto!important;min-height:var(--m3-tap)!important;border-radius:999px!important;font-size:13px!important}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event :is(button,a[class*=btn]){min-height:var(--m3-tap)!important}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wke-how-body{overflow-x:hidden!important;overflow-wrap:anywhere}
/* grimoire : filtres qui tiennent sur la largeur, table des rangs sans débord */
html:not(#m3) body:not(#m3) #class-dialog#class-dialog nav.spell-filters{gap:4px!important;padding-right:0!important;-webkit-mask-image:none!important;mask-image:none!important}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog nav.spell-filters>button{flex:1 1 auto!important;padding:0 8px!important;font-size:12.5px!important}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog nav.spell-filters>.book-help{flex:none!important;padding:0 8px!important}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog .book-ranks-wrap table{width:100%!important;min-width:0!important;table-layout:fixed}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog .book-ranks-wrap :is(td,th){padding:6px 4px!important;font-size:12px!important;overflow-wrap:anywhere}
html:not(#m3) body:not(#m3) #class-dialog#class-dialog .book-ranks-wrap :is(td,th):first-child{width:36px}
html:not(#m3) body:not(#m3) #weekend-event#weekend-event a:not([class]){display:inline-block;padding:13px 12px;margin:-13px -8px}
/* week-end : la fenêtre se redessine en continu (la classe m3-fs ne tient pas) ; plancher en CSS */
html:not(#m3) body:not(#m3) #weekend-event#weekend-event :is(small,i.wke-live,.wke-live,em,time,sup,sub){font-size:12px!important}
}

/* ================= Paysage (téléphone couché) : en-têtes plus bas, feuilles centrées ================= */
@media (max-width:1000px) and (max-height:500px){
:root{--m3-head-h:48px}
html:not(#m3) body:not(#m3) :is(dialog#mobile-menu-sheet,dialog#community-dialog,dialog#feedback-dialog,dialog#polls-dialog,dialog#name-style-dialog,dialog#report-dialog):is([open],[open])[open]{left:50%!important;right:auto!important;width:min(600px,100vw)!important;transform:translateX(-50%)!important;max-height:calc(100dvh - 8px)!important;animation:none}
html:not(#m3) body:not(#m3) :is(#player-dialog,#player-dialog-char,#class-dialog,#adventure-panel,#player-market,#astrub-shop,#guild-window)[open]>header,
html:not(#m3) body:not(#m3) :is(#codex-dialog,#bestiary-dialog,#leaderboard-dialog,#patchnotes,#keybinds-dialog)[open]>div>header,html:not(#m3) body:not(#m3) #worldmap#worldmap>header.worldmap-head{padding-left:calc(6px + env(safe-area-inset-left,0px))!important;padding-right:calc(12px + env(safe-area-inset-right,0px))!important}
html:not(#m3) body:not(#m3) #rv-fight-result#rv-fight-result .tc-v2{left:50%!important;right:auto!important;width:min(600px,100vw)!important;transform:translateX(-50%)!important;max-height:calc(100dvh - 8px)!important}
html:not(#m3) body:not(#m3) :is(#player-dialog-char nav.pd-char-tabs,#class-dialog nav.pd-char-tabs){flex:0 1 auto!important;order:0;margin:0!important}
}

/* ================= Portrait seulement : HDV (en paysage, la colonne des catégories d'origine reste à gauche) ================= */
@media (max-width:600px){
html:not(#m3) body:not(#m3) #weekend-event#weekend-event .wke2-grid{grid-template-columns:1fr!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-buy{display:flex!important;flex-direction:column!important;gap:8px!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-types{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;max-height:none!important;height:auto!important;scrollbar-width:none;padding:2px 18px 4px 0!important;background:none!important;border:0!important;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent)}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-types>*{flex:none!important;white-space:nowrap}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-types .hdv-type{display:inline-flex!important;align-items:center;gap:6px;padding:0 14px!important;border-radius:999px!important;font-size:13px!important;border:1px solid var(--m3-card-line)!important;background:var(--m3-chip)!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-types .hdv-type:is(.is-on,.is-active,[aria-pressed=true],[aria-selected=true]){background:var(--m3-accent)!important;color:#fff!important;border-color:var(--m3-accent-line)!important}
html:not(#m3) body:not(#m3) #player-market#player-market .hdv-coltitle{align-self:center;font-size:12px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
}
/* ≤ 400 px : onglets du codex sans icône (tiennent sans défiler) */
@media (max-width:400px){html:not(#m3) body:not(#m3) #codex-dialog#codex-dialog nav.cx-tabs>button img{display:none!important}}
/* fenêtre d'un lieu (donjon, PNJ…) : la rangée d'onglets porte [hidden], que le display:flex!important des onglets écrasait (18/10/2026) */
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel>nav[hidden]{display:none!important}
@media (max-width:600px),(max-width:1000px) and (max-height:500px){
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel:has(>nav[hidden])>header .adventure-eyebrow{display:none!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-dg-premium .rv-dg-actions{margin-top:4px}
}
@media (max-width:1000px) and (max-height:500px){
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-dg-premium .rv-dg-actions{padding-top:6px!important}
html:not(#m3) body:not(#m3) #adventure-panel#adventure-panel .rv-dg-premium .rv-dg-actions button{min-height:42px!important}
}
