/* Généré par tools/publier.py à partir de : src/styles.css src/chief-comparison.css src/home.css src/furnace.css src/t11.css src/t12.css src/tooltip.css src/ads.css. Ne pas modifier : modifier les sources. */
/* ===== src/styles.css ===== */
@font-face{font-family:"Lilita One";src:url("../assets/fonts/lilita-one/LilitaOne-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
:root{--site-font:"Lilita One","Arial Rounded MT Bold",system-ui,sans-serif;--ink:#06162a;--navy:#0b2443;--ice:#74d7ff;--pale:#eaf9ff;--blue:#1976d2;--ember:#ff914d;--panel:rgba(249,253,255,.91);--muted:#617288;--line:#cfe5ef;--shadow:0 20px 55px rgba(2,20,42,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--site-font);font-synthesis:style;color:var(--ink);background:linear-gradient(#e8f8ff 0,#f8fcff 55%,#dff2fb 100%);min-height:100vh}.topbar{height:76px;display:flex;align-items:center;gap:28px;padding:0 max(20px,calc((100vw - 1240px)/2));background:rgba(5,22,43,.94);color:#fff;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}button,select,input,textarea{font:inherit}.brand{display:flex;align-items:center;gap:10px;color:#fff;background:none;border:0;cursor:pointer;padding:0}.brandmark{display:grid;place-items:center;width:38px;height:38px;background:linear-gradient(145deg,#baf0ff,#238dd4);clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);font-weight:950;color:#082240}.brand b,.brand small{display:block;line-height:1;text-align:left;letter-spacing:.08em}.brand small{font-size:9px;color:#8edfff;margin-top:4px}.topbar nav{display:flex;gap:8px;margin-left:auto}.topbar nav button,.language select{border:1px solid transparent;background:transparent;color:#cce9f8;padding:10px 12px;border-radius:12px;cursor:pointer}.topbar nav button:hover{background:#173757;color:#fff}.language span{position:absolute;clip:rect(0 0 0 0)}.language select{border-color:#33516c}.view{display:none;max-width:1240px;margin:auto;padding:42px 22px 80px;position:relative}.view.active{display:block}.home{min-height:calc(100vh - 76px);padding-top:82px}.aurora{position:absolute;inset:0 -15vw auto;height:450px;z-index:-1;background:radial-gradient(ellipse at 25% 30%,rgba(63,222,223,.25),transparent 42%),radial-gradient(ellipse at 70% 0,rgba(76,120,255,.28),transparent 40%);filter:blur(18px)}.hero-copy{max-width:750px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.17em;color:#1484b6;margin:0 0 12px}.hero-copy h1,.se
















/* Larger page-navigation labels, with compact spacing on narrow screens. */
.topbar nav button{font-size:20px}
@media(min-width:801px) and (max-width:1000px){
  .topbar nav{gap:4px}
  .topbar nav button{font-size:18px;padding-inline:6px}
}
@media(max-width:800px){
  .topbar nav{gap:2px}
  .topbar nav button{font-size:13px;padding-inline:2px}
}
































/* Wordmark de la barre supérieure. */
.brand-wordmark{display:block;width:124px;height:auto;max-height:46px;object-fit:contain}
@media(max-width:800px){.brand-wordmark{width:104px;max-height:42px}}
































/* Arbre de compétences T11 : même parcours ramifié pour les trois branches. */

/* Barre supérieure : navigation seule, sans logo. */
.topbar .brand{display:none}

/* Navigation : même colonne utile que le contenu des pages (hors rails publicitaires).
   Les six boutons se répartissent toujours toute la largeur disponible. */
.topbar{gap:0;padding-inline:max(22px,calc((100vw - 1196px)/2))}
.topbar nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));flex:1;min-width:0;width:100%;margin-left:0;gap:8px}
.topbar nav button{min-width:0;width:100%;text-align:center;white-space:nowrap}
@media(max-width:800px){
  .topbar{padding-inline:22px}
  .topbar nav{gap:2px}
  .topbar nav button{font-size:clamp(11px,3.2vw,14px);padding-inline:1px;white-space:normal;line-height:1.05}
}

/* Toutes les fenêtres (sélection, contact) utilisent la fermeture validée sur Talismans. */
#levelPicker,#furnacePicker{position:relative}
#levelPicker .dialog-close,#furnacePicker .dialog-close,#contactDialog .dialog-close,#legalDialog .dialog-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:2;
  color:#e9faff;
  background:#0b2d4e;
  border:1px solid #70c9e8;
  box-shadow:0 4px 10px rgba(0,21,48,.34);
}

/* Barre de navigation : séparateurs courts et bleus, inspirés du ruban de jeu. */
.topbar{background:linear-gradient(180deg,rgba(20,56,94,.97),rgba(12,39,70,.97))}
.topbar nav{gap:0}
.topbar nav button{position:relative}
.topbar nav button+button::before{
  content:"";
  position:absolute;
  left:0;
  top:20%;
  width:2px;
  height:60%;
  border-radius:2px;
  background:linear-gradient(90deg,rgba(4,23,48,.42),rgba(155,207,239,.35));
  box-shadow:1px 0 rgba(255,255,255,.08);
}

/* Navigation mobile : barre défilante horizontalement, page active surlignée et recentrée. */
@media(max-width:600px){
  .topbar{gap:8px;padding-inline:12px 10px}
  .topbar nav{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .topbar nav.at-end{-webkit-mask-image:none;mask-image:none}
  .topbar nav::-webkit-scrollbar{display:none}
  .topbar nav button{flex:0 0 auto;width:auto;padding:10px 12px;font-size:15px;line-height:1;white-space:nowrap;scroll-snap-align:center}
}
/* Page ouverte surlignée dans le menu, à toutes les tailles d'écran (pastille bleu glacier, séparateurs voisins effacés). */
.topbar nav button[aria-current="page"]{color:#fff;background:rgba(116,215,255,.2);box-shadow:inset 0 0 0 1px rgba(116,215,255,.5)}
.topbar nav button[aria-current="page"]::before,.topbar nav button[aria-current="page"]+button::before{opacity:0}

/* Arrière-plan du document : visible lors du rebond de défilement sur mobile (haut et bas de page). */
html,body{background-color:#123f66}

/* Fenêtres de sélection : même forme que celle de la Chaudière (coins arrondis 22 px, liseré bleu 2 px). */
dialog#levelPicker,dialog#levelPicker.charm-level-picker{border-radius:22px;border:2px solid rgba(131,203,240,.65)}

/* Mobile : fenêtres de sélection fixées à l'écran et limitées à la hauteur réellement visible (barres du navigateur
   déduites), avec défilement interne — le haut n'est plus coupé et le bas reste atteignable. */
@media(max-width:767px){
  dialog#levelPicker,dialog#levelPicker.charm-level-picker{position:fixed;inset:0;margin:auto;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
}

/* Fenêtres de sélection : page en arrière-plan floutée et voilée (même flou que la fenêtre T11). */
dialog#furnacePicker::backdrop,dialog#levelPicker::backdrop{background:rgba(2,15,29,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

/* Sélecteur de langue : plus discret que les boutons du menu, mais lisible */
.language select{font-size:13px;padding:5px 8px;border-radius:9px}

/* Pas de zoom au double appui (sélection rapide des niveaux) ; le zoom à deux doigts reste possible. */
html{touch-action:manipulation}

/* Menu des langues (src/lang-menu.js) : même famille que les boutons de la barre du haut */
.lang-menu{position:relative;flex:none}
.lang-menu .lang-current{display:flex;align-items:center;gap:6px;font:inherit;font-size:13px;line-height:1;color:#fff;background:linear-gradient(180deg,#124d81 0,#185e95 44%,#10466f 100%);border:1px solid rgba(116,215,255,.45);border-radius:9px;padding:6px 9px;cursor:pointer;text-shadow:0 1px 1px rgba(3,24,46,.45)}
.lang-menu .lang-current:hover,.lang-menu .lang-current[aria-expanded="true"]{background:linear-gradient(180deg,#165a96 0,#1d6cab 44%,#135282 100%);border-color:rgba(116,215,255,.7)}
.lang-menu .lang-current i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.lang-menu .lang-current[aria-expanded="true"] i{transform:translateY(1px) rotate(-135deg)}
.lang-menu .lang-list{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:150px;margin:0;padding:6px;list-style:none;background:linear-gradient(180deg,rgba(20,56,94,.98),rgba(12,39,70,.98));border:1px solid rgba(116,215,255,.32);border-radius:12px;box-shadow:0 12px 28px rgba(1,14,30,.45);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.lang-menu .lang-list[hidden]{display:none}
.lang-menu .lang-list li{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;color:#cce9f8;font-size:15px;line-height:1;cursor:pointer;outline:none;white-space:nowrap}
.lang-menu .lang-list li b{min-width:22px;font-weight:inherit;font-size:12px;color:#74d7ff}
.lang-menu .lang-list li:hover,.lang-menu .lang-list li:focus-visible{background:#173757;color:#fff}
.lang-menu .lang-list li[aria-selected="true"]{color:#fff;background:rgba(116,215,255,.2);box-shadow:inset 0 0 0 1px rgba(116,215,255,.5)}

/* Changement de langue (src/i18n.js) : la page en cours se floute, la page d'arrivée apparaît floutée puis redevient nette ;
   l'accueil (page par défaut au chargement) n'est jamais montré quand on revient sur une autre page. */
html.lang-leaving main{filter:blur(14px);transition:filter .15s ease}
html.lang-returning main{filter:blur(14px)}
html.lang-revealing main{transition:filter .3s ease}
/* bords de l'écran : un flou rend les bords du contenu semi-transparents ; un cadre sombre dégradé les recouvre */
body::after{content:"";position:fixed;inset:0;z-index:15;pointer-events:none;opacity:0;visibility:hidden;box-shadow:inset 0 0 36px 28px #0c2746}
html.lang-leaving body::after{opacity:1;visibility:visible;transition:opacity .15s ease}
html.lang-returning body::after{opacity:1;visibility:visible}
html.lang-revealing body::after{visibility:visible;transition:opacity .3s ease,visibility 0s .3s}
html.lang-returning-away #home{visibility:hidden}

/* Menu du haut défilant (mobile) : chevron discret à droite tant qu'il reste des onglets (src/ui-extras.js) */
.nav-more{display:none}
@media(max-width:600px){
  .nav-more{position:relative;z-index:1;flex:none;display:flex;align-items:center;justify-content:flex-end;width:24px;height:34px;margin-left:-24px;padding:0 3px 0 0;border:0;background:linear-gradient(90deg,rgba(16,47,82,0),rgba(16,47,82,.96) 55%);color:#cce9f8;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .nav-more.show{opacity:.85;pointer-events:auto}
  .nav-more i{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateX(-2px) rotate(-45deg);filter:drop-shadow(0 0 3px rgba(116,215,255,.55))}
}

/* Pages T11 et T12 : retour en haut, aux couleurs cuivrées de ces pages (src/ui-extras.js) */
.to-top{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:14;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid rgba(240,170,120,.55);border-radius:50%;background:rgba(42,14,12,.86);box-shadow:inset 0 1px rgba(255,220,190,.14),0 6px 16px rgba(20,4,4,.45);color:#ffc79c;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility 0s .2s}
.to-top.show{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease}
.to-top:hover{border-color:#ffc79c;background:linear-gradient(180deg,#d9804f,#a8502f);color:#fff}
.to-top i{width:11px;height:11px;border-left:2.5px solid currentColor;border-top:2.5px solid currentColor;transform:translateY(3px) rotate(45deg)}

/* « Nous contacter » (src/contact.js) : bouton en bas de l'accueil et fenêtre dans le style des fenêtres de sélection */
#home .disclaimer .contact-open{margin-left:10px;padding:4px 11px;border:1px solid rgba(116,215,255,.55);border-radius:999px;background:rgba(116,215,255,.14);color:#fff;font:inherit;font-size:12px;line-height:1.2;cursor:pointer;vertical-align:baseline;white-space:nowrap}
#home .disclaimer .contact-open:hover{background:rgba(116,215,255,.28)}
#contactDialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;overscroll-behavior:contain;color:#fff;border:2px solid rgba(131,203,240,.65);border-radius:22px;background:linear-gradient(180deg,#236b9b,#123f68);font-family:var(--site-font)}
#contactDialog::backdrop{background:rgba(2,15,29,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#contactDialog form{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 18px 18px}
#contactDialog .dialog-close{position:absolute;right:12px;top:12px;z-index:2}
#contactDialog h2{margin:0 40px 0 0;font-size:26px}
#contactDialog .contact-intro{margin:0;color:#d9f3ff;font-size:14px;line-height:1.3}
#contactDialog .contact-field{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#bdf4ff;letter-spacing:.02em}
#contactDialog input,#contactDialog textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid rgba(131,203,240,.5);border-radius:12px;background:rgba(6,30,56,.55);color:#fff;font:15px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;outline:none}
#contactDialog textarea{resize:vertical;min-height:110px}
#contactDialog input::placeholder,#contactDialog textarea::placeholder{color:rgba(204,233,248,.55)}
#contactDialog input:focus,#contactDialog textarea:focus{border-color:#74d7ff;box-shadow:0 0 0 3px rgba(116,215,255,.2)}
#contactDialog .contact-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#contactDialog .contact-note{margin:0;font-size:12px;color:#c8ebfc}
#contactDialog .contact-status{margin:0;min-height:1em;font-size:14px}
#contactDialog .contact-status:empty{display:none}
#contactDialog .contact-status[data-kind="ok"]{color:#8ef0a5}
#contactDialog .contact-status[data-kind="error"]{color:#ffb3a7}
/* Envoyer : même bleu et même liseré glacier que les cases des fenêtres de sélection */
#contactDialog .contact-send{align-self:stretch;padding:12px;border:1px solid #76c9e8;border-radius:14px;background:linear-gradient(145deg,#438fba 0,#2a739f 48%,#19547f 100%);color:#f2fbff;font:inherit;font-size:17px;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.18),0 5px 12px rgba(2,29,57,.28)}
#contactDialog .contact-send:hover{background:linear-gradient(145deg,#4c9ac6 0,#3180ad 48%,#1d5e8c 100%)}
#contactDialog .contact-send:disabled{opacity:.6;cursor:wait}
/* Téléphone : fenêtre calée en haut de l'écran, pour rester visible au-dessus du clavier */
@media(max-width:600px),(max-height:520px){#contactDialog{margin:max(10px,env(safe-area-inset-top)) auto auto}}
/* Liens Mentions légales · Confidentialité, à la suite de « Nous contacter » */
#home .disclaimer .legal-links{white-space:nowrap}
#home .disclaimer .legal-links button{margin-left:10px;padding:0;border:0;background:none;color:#c8ebfc;font:inherit;font-size:12px;text-decoration:underline;text-decoration-color:rgba(200,235,252,.45);text-underline-offset:2px;cursor:pointer}
#home .disclaimer .legal-links button:hover{color:#fff;text-decoration-color:#fff}
/* Fenêtre légale : même cadre que le formulaire de contact, texte qui défile */
#legalDialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:hidden;color:#fff;border:2px solid rgba(131,203,240,.65);border-radius:22px;background:linear-gradient(180deg,#236b9b,#123f68);font-family:var(--site-font)}
#legalDialog::backdrop{background:rgba(2,15,29,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#legalDialog .legal-body{position:relative;max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;padding:22px 18px 18px}
#legalDialog .dialog-close{position:sticky;float:right;top:0;margin:-10px -6px 0 8px;z-index:2}
#legalDialog h2{margin:0 0 10px;font-size:26px}
#legalDialog h3{margin:16px 0 4px;font-size:16px;color:#bdf4ff;letter-spacing:.02em;font-weight:400}
#legalDialog p{margin:0;color:#e3f5ff;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
#legalDialog .legal-date{margin-top:18px;font-size:12px;color:#9fd0ea}
@media(max-width:600px),(max-height:520px){#legalDialog{margin:max(10px,env(safe-area-inset-top)) auto auto}}

/* Avertissement si la sauvegarde automatique échoue (src/save.js) : rare, discret, disparaît seul */
.save-warning{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:60;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);margin:0;padding:10px 16px;border:1px solid #70c9e8;border-radius:14px;background:#0b2d4e;color:#e9faff;font-family:var(--site-font);font-size:14px;line-height:1.3;text-align:center;box-shadow:0 6px 18px rgba(0,21,48,.4);transition:opacity .4s}
.save-warning.hide{opacity:0}

/* Zones tactiles agrandies sans rien déplacer : un calque invisible autour des petits liens (bas de l'accueil, langue).
   Recommandation : au moins 24 px, idéalement 44 px de haut au doigt. */
#home .disclaimer .contact-open,#home .disclaimer .legal-links button,.lang-current{position:relative}
#home .disclaimer .contact-open::before,#home .disclaimer .legal-links button::before,.lang-current::before{content:"";position:absolute}
#home .disclaimer .legal-links button::before{inset:-14px -5px}
#home .disclaimer .contact-open::before{inset:-10px -5px}
.lang-current::before{inset:-8px -4px}
/* ===== src/chief-comparison.css ===== */
.gear-name{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.gear-name small{font-size:9px;text-transform:uppercase;letter-spacing:.08em}.gear-comparison{display:grid;grid-template-columns:1fr 18px 1fr;gap:3px;align-items:center}.gear-state{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:3px 6px;align-items:center;padding:6px;border:1px solid #d0e4ed;border-radius:12px;background:#f2f7fa}.gear-state.target{background:#e6f8ff;border-color:#79cae8}.gear-state>small{grid-column:1/-1;font-size:8px;font-weight:900;letter-spacing:.1em;color:#6b8193}.gear-state>b{font-size:9px;line-height:1.15}.gear-state .gear-icon{width:40px;height:40px;font-size:19px}.gear-arrow{text-align:center;color:#1487b6;font-weight:950}.charm-wrap{display:flex;align-items:center;gap:3px}.charm-wrap small{font-size:9px}.charm-wrap .charm{display:block;width:14px;height:14px}
@media(max-width:1000px){.gear-state{grid-template-columns:1fr;text-align:center}.gear-state>small{grid-column:1}.gear-state .gear-icon{margin:auto}}
@media(max-width:800px){.chief-layout{display:grid;grid-template-columns:minmax(105px,1fr) minmax(125px,180px) minmax(105px,1fr);align-items:center;min-height:470px;padding:8px}.chief-figure{order:initial;width:auto;height:430px}.gear-column{width:auto;grid-template-columns:1fr;gap:10px}}
@media(max-width:620px){.chief-layout{grid-template-columns:minmax(92px,1fr) 120px minmax(92px,1fr);min-height:390px}.chief-figure{height:350px}.gear-column{grid-template-columns:1fr}.gear-state{grid-template-columns:40px 1fr;text-align:left}.gear-state>small{grid-column:1/-1}.gear-state .gear-icon{margin:0}}

/* Écran principal épuré : une seule case actuelle, la comparaison reste dans la fenêtre. */.gear-current small,.gear-current strong,.gear-current b{display:block}.gear-current small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#74889a}.gear-current strong{font-size:13px}.gear-current b{font-size:10px;color:#147ca7;margin-top:2px}.edit-hint{grid-column:1/-1;text-align:center;font-size:8px;color:#6e8293;border-top:1px solid #dbe9ef;padding-top:6px}.edit-hint b{color:#1485b4}
@media(max-width:620px){.gear-current small{display:none}.edit-hint{font-size:0}.edit-hint b{font-size:7px}}
.dialog-compare{display:grid;grid-template-columns:1fr 28px 1fr;gap:8px;align-items:center;margin:20px 0}.dialog-compare label{display:grid;gap:8px;text-align:center;padding:12px;background:#eef6f9;border:1px solid #d2e5ed;border-radius:18px}.dialog-compare label:last-child{background:#e5f8ff;border-color:#81d1ec}.dialog-compare label>small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#667e91}.dialog-compare .gear-preview{margin:0 auto;width:76px;height:76px;font-size:38px}.dialog-compare select{width:100%;padding:10px 7px;border:1px solid #b8d7e4;border-radius:10px;background:#fff}.dialog-arrow{text-align:center;font-size:24px;color:#1688b7;font-weight:950}

/* Composition WOS : personnage dominant, cases d'items sans libellé. */
.chief-layout{grid-template-columns:minmax(120px,1fr) minmax(400px,500px) minmax(120px,1fr)}.chief-figure{height:650px}.chief-figure img{max-height:640px}
@media(max-width:900px){.chief-layout{grid-template-columns:minmax(92px,1fr) minmax(260px,390px) minmax(92px,1fr)}.chief-figure{height:560px}.chief-figure img{max-height:550px}}
@media(max-width:620px){.chief-layout{grid-template-columns:82px minmax(150px,1fr) 82px;min-height:470px}.chief-figure{height:470px}.chief-figure img{max-height:460px}}

/* Couronne d'équipements inspirée de la composition du profil en jeu. */
.chief-layout{position:relative;display:flex;justify-content:center;align-items:center}.chief-layout .gear-column{position:absolute;inset:0;display:block;z-index:3;pointer-events:none}.chief-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.chief-tool-tab{display:grid;grid-template-columns:45px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;padding:17px;border:1px solid #c8e0ea;border-radius:18px;background:rgba(255,255,255,.78);color:#244c63;cursor:pointer}.chief-tool-tab>span{grid-row:1/3;font-size:27px}.chief-tool-tab b,.chief-tool-tab small{display:block}.chief-tool-tab small{color:#718698}.chief-tool-tab.active{background:#0d6f9f;color:#fff;border-color:#0d6f9f}.chief-tool-tab.active small{color:#c9edfa}.chief-tool-panel{display:none}.chief-tool-panel.active{display:block}.upgrade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.upgrade-icon{width:50px;height:50px;display:grid;place-items:center;font-size:25px;border-radius:13px;background:linear-gradient(145deg,#fa775f,#8b1645);border:2px solid #ffd6aa}.charm-goals{grid-template-columns:55px 1fr repeat(3,minmax(75px,1fr))}.charm-goals label span{display:flex;align-items:center;gap:5px}.charm-goals .charm{width:13px;height:13px}.profile-dialog-note{color:#62788a}
@media(max-width:800px){.upgrade-grid{grid-template-columns:1fr}.charm-goals{grid-template-columns:48px 1fr repeat(3,minmax(60px,1fr))}}
@media(max-width:560px){.chief-tools{grid-template-columns:1fr}.charm-goals{grid-template-columns:42px 1fr;gap:7px}.charm-goals label{grid-column:span 1}}

.chief-dedicated{max-width:1080px}.dedicated-summary{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;padding:17px 20px;margin-bottom:14px;background:linear-gradient(110deg,rgba(237,250,255,.96),rgba(216,241,250,.92))}.dedicated-summary>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#fff;font-size:25px}.dedicated-summary small,.dedicated-summary b{display:block}.dedicated-summary small{font-size:9px;letter-spacing:.11em;color:#688092}.dedicated-summary button{border:1px solid #9dcbdc;background:#fff;color:#117aa7;border-radius:11px;padding:10px 13px;cursor:pointer}.chief-dedicated .upgrade-grid{margin-top:0}.chief-dedicated .result{position:static;z-index:auto;box-shadow:var(--shadow);margin-top:18px}
@media(max-width:620px){.dedicated-summary{grid-template-columns:45px 1fr}.dedicated-summary button{grid-column:1/-1}.chief-dedicated .charm-goals{grid-template-columns:40px 1fr}.chief-dedicated .result{position:static}}

/* Pages d'amélioration en couronne avec sélection centrale. */
.chief-dedicated .upgrade-grid{display:block}.upgrade-orbit{position:relative;height:680px;max-width:820px;margin:18px auto;border-radius:34px;background:radial-gradient(circle at center,#fafdff 0 24%,#e1f5fb 25% 43%,#c7e4ef 44% 60%,transparent 61%);border:1px solid #c7e1ec;box-shadow:var(--shadow);overflow:hidden}.orbit-node{position:absolute;left:calc(50% - 47px);top:calc(50% - 47px);width:94px;height:94px;border:3px solid #fff;border-radius:22px;background:#eff8fb;box-shadow:0 8px 22px rgba(5,38,64,.2);cursor:pointer;z-index:2;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-260px) rotate(calc(-360deg / var(--count) * var(--i)));transition:border-color .2s,box-shadow .2s,scale .2s}.orbit-node:hover,.orbit-node.selected{border-color:#20aeda;box-shadow:0 0 0 5px rgba(32,174,218,.18),0 10px 25px rgba(5,38,64,.2);scale:1.08}.orbit-node>span{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:14px;background:linear-gradient(145deg,#fa775f,#8b1645);font-size:28px;border:2px solid #ffd6aa}.orbit-node>small{display:block;margin-top:4px;font-size:8px;color:#5f7485}.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:310px;min-height:320px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.96);border:2px solid #c5e2ed;border-radius:50%;box-shadow:0 18px 55px rgba(7,46,73,.2);z-index:1}.orbit-center h2{margin:8px 0 16px}.center-item{display:grid;place-items:center;width:90px;height:90px;border-radius:24px;background:linear-gradient(145deg,#fa775f,#8b1645);border:4px solid #ffd6aa;font-size:44px}.center-levels{display:grid;grid-template-columns:1fr 20px 1fr;align-items:end;gap:8px;width:100%}.center-levels>div,.center-levels>label{padding:9px;background:#edf6fa;border-radius:12px}.center-levels small,.center-levels b{display:block}.center-levels small{font-size:8px;color:#6d8293;letter-spacing:.09em}.center-levels select,.center-levels input{width:100%;margin-top:5px;padding:8px 5px;border:1px solid #afd4e2;border-radius:8px;background:#fff}.charm-node .charm{display:block;width:27px;height:27px;margin:2px auto 5px;background:var(--node-color);border-width:3px}.charm-node>small{font-weight:900;font-size:9px}.charm-center{background:#eef8fb;border-color:#fff}.charm-center .charm{display:block;width:45px;height:45px;background:var(--node-color);border-width:4px}
@media(max-width:760px){.upgrade-orbit{height:540px;border-radius:24px}.orbit-node{left:calc(50% - 36px);top:calc(50% - 36px);width:72px;height:72px;border-radius:17px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-205px) rotate(calc(-360deg / var(--count) * var(--i)))}.orbit-node>span{width:42px;height:42px;font-size:22px}.orbit-center{width:245px;min-height:265px;padding:17px 13px}.center-item{width:67px;height:67px;font-size:33px}.orbit-center h2{font-size:20px}.charm-node .charm{width:20px;height:20px;margin-bottom:2px}}
@media(max-width:520px){.upgrade-orbit{height:470px;margin-inline:-5px}.orbit-node{left:calc(50% - 31px);top:calc(50% - 31px);width:62px;height:62px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-180px) rotate(calc(-360deg / var(--count) * var(--i)))}.orbit-node>span{width:36px;height:36px;font-size:19px}.orbit-node>small{display:none}.orbit-center{width:210px;min-height:230px}.center-levels{font-size:11px}.charm-node .charm{width:17px;height:17px}.charm-node>small{font-size:7px}}

/* Chaque position affiche l'état actuel puis sa propre case + pour l'objectif. */
.orbit-pair{position:absolute;left:calc(50% - 80px);top:calc(50% - 47px);width:160px;height:94px;display:flex;align-items:center;justify-content:center;gap:5px;z-index:2;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-265px) rotate(calc(-360deg / var(--count) * var(--i)))}.orbit-pair .orbit-node{position:static;left:auto;top:auto;width:92px;height:92px;transform:none;cursor:default}.orbit-pair .orbit-node:hover{scale:1;border-color:#fff;box-shadow:0 8px 22px rgba(5,38,64,.2)}.orbit-add{width:58px;height:76px;border:2px dashed #5cc4e6;border-radius:17px;background:rgba(236,250,255,.96);color:#1285b4;cursor:pointer;box-shadow:0 6px 16px rgba(6,53,81,.14)}.orbit-add>span{display:block;font-size:28px;font-weight:700;line-height:1}.orbit-add>small{display:block;margin-top:6px;font-size:7px;color:#58798a}.orbit-add:hover,.orbit-pair.selected .orbit-add{border-style:solid;background:#fff;box-shadow:0 0 0 5px rgba(32,174,218,.18)}.charm-pair{left:calc(50% - 48px);top:calc(50% - 30px);width:96px;height:60px;gap:3px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-335px) rotate(calc(-360deg / var(--count) * var(--i)))}.charm-pair .orbit-node{position:static;left:auto;top:auto;width:58px;height:58px;transform:none}.charm-add{width:34px;height:48px;border-radius:12px}.charm-add>span{font-size:20px}.charm-add>small{font-size:7px;margin-top:2px}
@media(max-width:760px){.orbit-pair{left:calc(50% - 61px);top:calc(50% - 36px);width:122px;height:72px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-210px) rotate(calc(-360deg / var(--count) * var(--i)))}.orbit-pair .orbit-node{width:70px;height:70px}.orbit-add{width:45px;height:61px}.charm-pair{left:calc(50% - 39px);top:calc(50% - 24px);width:78px;height:48px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-275px) rotate(calc(-360deg / var(--count) * var(--i)))}.charm-pair .orbit-node{width:46px;height:46px}.charm-add{width:28px;height:40px}}
@media(max-width:520px){.orbit-pair{left:calc(50% - 52px);top:calc(50% - 31px);width:104px;height:62px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-183px) rotate(calc(-360deg / var(--count) * var(--i)))}.orbit-pair .orbit-node{width:60px;height:60px}.orbit-add{width:38px;height:51px;padding:1px}.orbit-add>span{font-size:22px}.charm-pair{left:calc(50% - 32px);top:calc(50% - 20px);width:64px;height:40px;transform:rotate(calc(360deg / var(--count) * var(--i))) translateY(-238px) rotate(calc(-360deg / var(--count) * var(--i)))}.charm-pair .orbit-node{width:38px;height:38px}.charm-add{width:23px;height:34px;border-radius:9px}.charm-add>span{font-size:17px}.charm-add>small{font-size:6px}}

.direct-target{position:relative;display:grid;place-items:center}.direct-target select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.direct-target:focus-within{border-style:solid;background:#fff;box-shadow:0 0 0 5px rgba(32,174,218,.2)}.orbit-current{font:inherit}.current-center{min-width:170px;padding:12px 16px;background:#edf6fa;border:1px solid #cce3ec;border-radius:14px}.current-center small,.current-center b{display:block}.current-center small{font-size:8px;letter-spacing:.1em;color:#708596}.current-center b{margin-top:4px;color:#174f6a}.center-help{max-width:220px;margin:14px 0 0;color:#698091;font-size:11px;line-height:1.4}.center-help b{color:#1184b3}

.orbit-pair{left:calc(50% - 95px);width:190px;gap:4px}.orbit-chevron{font-style:normal;font-size:25px;font-weight:900;color:#1a87b4}.target-item{width:72px;height:86px;border-style:solid}.target-item>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;font-size:25px}.skin-epic{--skin-a:#9565db;--skin-b:#54238e}.skin-mythic{--skin-a:#ffc554;--skin-b:#aa5d0c}.skin-red{--skin-a:#ff7764;--skin-b:#8c1737}.skin-gold{--skin-a:#ffe77a;--skin-b:#b77812}.skin-frost{--skin-a:#8fe9ff;--skin-b:#217abb}.orbit-current[class*="skin-"],.target-item[class*="skin-"],.center-item[class*="skin-"]{border-color:var(--skin-a);background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 28%,white),var(--skin-b))}.target-item[class*="skin-"]>span{background:linear-gradient(145deg,var(--skin-a),var(--skin-b));border:2px solid rgba(255,255,255,.75)}.charm-pair{left:calc(50% - 54px);width:108px;gap:2px}.charm-pair .orbit-chevron{font-size:15px}.target-charm{border-style:solid}.target-charm .charm{display:block;width:24px;height:24px;background:var(--node-color)}.charm-skin{filter:saturate(calc(.7 + var(--skin-level,1)*.03));box-shadow:0 0 calc(3px + var(--skin-level,1)*.35px) color-mix(in srgb,var(--node-color) 70%,white)}
@media(max-width:760px){.orbit-pair{left:calc(50% - 72px);width:144px}.target-item{width:54px;height:65px}.target-item>span{width:36px;height:36px;font-size:20px}.charm-pair{left:calc(50% - 43px);width:86px}}
@media(max-width:520px){.orbit-pair{left:calc(50% - 61px);width:122px}.target-item{width:45px;height:55px}.target-item>span{width:31px;height:31px;font-size:17px}.orbit-chevron{font-size:18px}.charm-pair{left:calc(50% - 36px);width:72px}.target-charm .charm{width:16px;height:16px}}
.home .module-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.home .module-grid{grid-template-columns:1fr}}

/* Disposition fidèle au jeu : chaque paire de troupe se fait face. */
.gear-orbit{height:700px}.gear-orbit .orbit-pair{transform:none;left:auto;top:auto}.gear-orbit .orbit-pair:nth-child(1){left:6%;top:8%}.gear-orbit .orbit-pair:nth-child(4){right:6%;top:8%}.gear-orbit .orbit-pair:nth-child(2){left:1%;top:39%}.gear-orbit .orbit-pair:nth-child(5){right:1%;top:39%}.gear-orbit .orbit-pair:nth-child(3){left:8%;top:70%}.gear-orbit .orbit-pair:nth-child(6){right:8%;top:70%}.level-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;max-height:55vh;overflow:auto}.level-choice{border:1px solid #c4dce6;background:#eef7fa;color:#385b6e;padding:11px 8px;border-radius:11px;cursor:pointer}.level-choice:hover,.level-choice.active{background:#1588b8;color:#fff;border-color:#1588b8}
@media(max-width:760px){.gear-orbit{height:580px}.gear-orbit .orbit-pair:nth-child(1){left:1%;top:7%}.gear-orbit .orbit-pair:nth-child(4){right:1%;top:7%}.gear-orbit .orbit-pair:nth-child(2){left:-2%;top:39%}.gear-orbit .orbit-pair:nth-child(5){right:-2%;top:39%}.gear-orbit .orbit-pair:nth-child(3){left:2%;top:71%}.gear-orbit .orbit-pair:nth-child(6){right:2%;top:71%}}
@media(max-width:520px){.gear-orbit{height:500px}.gear-orbit .orbit-pair:nth-child(1){left:-3%;top:5%}.gear-orbit .orbit-pair:nth-child(4){right:-3%;top:5%}.gear-orbit .orbit-pair:nth-child(2){left:-7%;top:39%}.gear-orbit .orbit-pair:nth-child(5){right:-7%;top:39%}.gear-orbit .orbit-pair:nth-child(3){left:-2%;top:73%}.gear-orbit .orbit-pair:nth-child(6){right:-2%;top:73%}.level-picker-grid{grid-template-columns:repeat(2,1fr)}}

/* Sélecteur visuel des niveaux et sous-étapes de talismans. */
#levelPicker.charm-level-picker{max-width:720px;background:linear-gradient(180deg,#f4fcff,#d9eef7)}
.charm-level-picker .level-picker-grid{grid-template-columns:repeat(5,minmax(92px,1fr));gap:10px;padding:3px;max-height:65vh}
.charm-level-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:138px;padding:8px 7px 10px;background:linear-gradient(145deg,#fff,#dcecf3);border:2px solid #b7d6e3;box-shadow:0 5px 12px rgba(5,47,76,.13)}
.charm-level-choice .picker-charm-visual{display:block;width:78px;height:78px;background-repeat:no-repeat;background-position:center;background-size:contain;filter:drop-shadow(0 5px 5px rgba(3,35,61,.28))}
.charm-level-choice b{margin:2px 0 6px;font-size:11px;color:#174c69}
.charm-level-choice .charm-progress{width:64px;height:6px;margin:0}
.charm-level-choice:hover,.charm-level-choice.active{background:linear-gradient(145deg,#fff,#c9f2ff);border-color:#24b8e6;color:inherit;box-shadow:0 0 0 3px rgba(36,184,230,.2),0 7px 16px rgba(5,47,76,.2)}
.charm-level-choice.active b{color:#08759f}
.select-all-charms{display:flex;align-items:center;gap:9px;width:max-content;margin:14px 0 2px;padding:9px 13px;border:1px solid #acd4e4;border-radius:11px;background:#e8f7fc;color:#174c69;font-weight:800;cursor:pointer}
.select-all-charms[hidden]{display:none}.select-all-charms input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.charm-level-choice:disabled{opacity:.35;filter:grayscale(.55);cursor:not-allowed;box-shadow:none}
.charm-bulk-select{
  position:relative;
  margin:18px 0 10px max(0px,calc((100% - 900px)/2));
  background:rgba(22,71,111,.88);
  border-color:rgba(131,203,240,.42);
  color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 14px rgba(1,22,48,.22);
}
.charm-bulk-select .bulk-toggle{position:relative;display:inline-block;width:48px;height:27px;flex:0 0 48px;border:1px solid rgba(153,220,249,.48);border-radius:999px;background:linear-gradient(180deg,#315f82,#234767);box-shadow:inset 0 2px 5px rgba(1,24,48,.42),0 1px rgba(255,255,255,.14);transition:background .2s,border-color .2s,box-shadow .2s}
.charm-bulk-select .bulk-toggle i{position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:linear-gradient(180deg,#fff,#d9eff8);box-shadow:0 2px 5px rgba(1,23,45,.42);transition:transform .2s}
.charm-bulk-select input:checked+.bulk-toggle{border-color:#8fe5ff;background:linear-gradient(180deg,#5bc7e9,#2d91bd);box-shadow:inset 0 1px rgba(255,255,255,.4),0 0 9px rgba(89,207,246,.45)}
.charm-bulk-select input:checked+.bulk-toggle i{transform:translateX(21px)}
.charm-bulk-select input:focus-visible+.bulk-toggle{outline:2px solid #fff4a8;outline-offset:3px}
@media(max-width:600px){.charm-level-picker .level-picker-grid{grid-template-columns:repeat(3,minmax(82px,1fr));gap:7px}.charm-level-choice{min-height:122px}.charm-level-choice .picker-charm-visual{width:66px;height:66px}}

/* L'objectif domine visuellement et l'item remplit directement son cadre. */
.gear-orbit .orbit-pair{height:104px;align-items:center}.gear-orbit .orbit-current{width:76px;height:76px;opacity:.82;border-width:2px}.gear-orbit .target-item{width:100px;height:100px;border-width:4px;opacity:1}.gear-orbit .orbit-node>span,.gear-orbit .target-item>span{width:100%;height:calc(100% - 18px);margin:0;background:transparent;border:0;border-radius:0;font-size:44px;display:grid;place-items:center;filter:drop-shadow(0 5px 5px rgba(20,25,35,.28))}.gear-orbit .orbit-node>small,.gear-orbit .target-item>small{height:18px;margin:0;font-size:8px;font-weight:900;color:#fff;text-shadow:0 1px 3px #123}.gear-orbit .target-item:hover,.gear-orbit .target-item:focus{scale:1.06;box-shadow:0 0 0 5px rgba(43,196,239,.2),0 12px 28px rgba(4,38,62,.28)}.charm-pair .orbit-current{width:46px;height:46px;opacity:.82}.charm-pair .target-charm{width:58px;height:58px;border-width:3px}.charm-pair .target-charm .charm{width:31px;height:31px}
@media(max-width:760px){.gear-orbit .orbit-pair{height:82px}.gear-orbit .orbit-current{width:60px;height:60px}.gear-orbit .target-item{width:78px;height:78px}.gear-orbit .orbit-node>span,.gear-orbit .target-item>span{height:calc(100% - 15px);font-size:34px}.gear-orbit .orbit-node>small,.gear-orbit .target-item>small{height:15px;font-size:7px}.charm-pair .orbit-current{width:38px;height:38px}.charm-pair .target-charm{width:48px;height:48px}.charm-pair .target-charm .charm{width:25px;height:25px}}
@media(max-width:520px){.gear-orbit .orbit-pair{height:68px}.gear-orbit .orbit-current{width:50px;height:50px}.gear-orbit .target-item{width:64px;height:64px}.gear-orbit .orbit-node>span,.gear-orbit .target-item>span{height:calc(100% - 13px);font-size:28px}.gear-orbit .orbit-node>small,.gear-orbit .target-item>small{height:13px;font-size:6px}.charm-pair .orbit-current{width:32px;height:32px}.charm-pair .target-charm{width:40px;height:40px}.charm-pair .target-charm .charm{width:21px;height:21px}}
.gear-orbit .orbit-pair{left:calc(50% - 108px);width:216px}.charm-pair{left:calc(50% - 62px);width:124px}
@media(max-width:760px){.gear-orbit .orbit-pair{left:calc(50% - 84px);width:168px}.charm-pair{left:calc(50% - 51px);width:102px}}
@media(max-width:520px){.gear-orbit .orbit-pair{left:calc(50% - 70px);width:140px}.charm-pair{left:calc(50% - 43px);width:86px}}

/* Les véritables skins porteront le rang : cadres volontairement neutres. */
.gear-orbit .orbit-current[class*="skin-"],.gear-orbit .target-item[class*="skin-"],.gear-orbit .center-item[class*="skin-"]{background:linear-gradient(145deg,#f8fcfe,#dbeaf1);border-color:#fff;color:#173f56}.gear-orbit .target-item[class*="skin-"]{border-color:#65c8e8;background:linear-gradient(145deg,#fff,#dff6fd)}.gear-orbit .target-item[class*="skin-"]>span{background:transparent;border:0}.gear-orbit .orbit-node>small,.gear-orbit .target-item>small{color:#385c70;text-shadow:none}

/* Les deux cases de chaque paire sont modifiables : le curseur et le survol
   doivent donc communiquer la même affordance de clic. */
.orbit-pair .orbit-current,
.orbit-pair .orbit-add{
  cursor:pointer;
}
.orbit-pair .orbit-current:hover,
.orbit-pair .orbit-current:focus-visible{
  scale:1.05;
  border-color:#42bfe7;
  box-shadow:0 0 0 4px rgba(32,174,218,.18),0 10px 24px rgba(5,38,64,.24);
  outline:none;
}

/* Variante visuelle inspirée de l'écran d'équipement du jeu. */
#chief-gear{
  max-width:none;
  background:
    radial-gradient(ellipse 58% 58% at 50% 43%,rgba(142,229,255,.38) 0,rgba(79,180,222,.22) 42%,transparent 78%),
    linear-gradient(180deg,#184d7d 0,#236b9b 38%,#16476f 100%);
  color:#fff;
}
#chief-gear h1,
#chief-gear h2,
#chief-gear button,
#chief-gear strong,
#chief-gear .orbit-node small,
#chief-gear .target-item small{
  font-family:var(--site-font);
  letter-spacing:.01em;
}
#chief-gear .section-head{position:relative;max-width:1240px;margin-inline:auto;justify-content:center;text-align:center;padding-inline:64px}
#chief-gear .section-head>.back{position:absolute;left:0;top:4px}
#chief-gear .section-head>div{max-width:760px;margin-inline:auto}
#chief-gear .section-head p:last-child{color:#d4efff}
#chief-gear .section-head .eyebrow{color:#80dcff}
#chief-gear .back{background:#8edfff;border-color:#d8f7ff;color:#15557e;box-shadow:0 5px 0 #397faa}
#chief-gear .gear-orbit{
  max-width:1120px;
  margin-inline:auto;
  border-color:rgba(183,232,255,.34);
  background:radial-gradient(ellipse 58% 62% at 50% 48%,rgba(197,246,255,.34),rgba(78,174,215,.14) 45%,rgba(7,39,78,.28) 82%);
  box-shadow:inset 0 0 105px rgba(2,35,72,.3),0 18px 50px rgba(3,27,56,.25);
}
#chief-gear .orbit-center{background:transparent;border-color:transparent;box-shadow:none;color:#eefaff;text-shadow:0 2px 4px rgba(4,42,72,.55)}
#chief-gear .orbit-center .center-item{box-shadow:0 12px 30px rgba(5,48,77,.3),0 0 28px rgba(185,242,255,.32)}
#chief-gear .orbit-center .current-center{background:rgba(227,248,255,.88);border-color:rgba(255,255,255,.72);text-shadow:none}
#chief-gear #chiefResult{
  max-width:900px;
  margin:18px auto 0;
  padding:14px 18px 20px;
  background:rgba(8,43,79,.9);
  border:2px solid rgba(131,203,240,.46);
  border-radius:26px;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 14px 35px rgba(1,22,48,.36);
}
#chief-gear #chiefResult h2{margin:0 0 14px;padding:9px;text-align:center;border-radius:16px;background:linear-gradient(#4b8dc3,#3977ae);color:#fff;font-size:20px;text-shadow:0 2px 2px #16466d}
.upgrade-cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.upgrade-resource{text-align:center;min-width:0}
.resource-item{display:grid;place-items:center;width:76px;height:76px;margin:auto;border:3px solid #86c9f3;border-radius:17px;background:linear-gradient(145deg,#eafaff,#3995cf);box-shadow:inset 0 0 0 3px rgba(255,255,255,.25),0 6px 12px rgba(0,15,39,.35);font-size:36px;color:#fff;text-shadow:0 2px 3px #173b61}
.upgrade-resource-polish .resource-item{border-color:#c59bf4;background:linear-gradient(145deg,#f0dcff,#7250b9)}
.upgrade-resource-plans .resource-item,.upgrade-resource-amber .resource-item{border-color:#f4a56e;background:linear-gradient(145deg,#ffe2ad,#a95724)}
.upgrade-resource strong{display:block;margin-top:8px;color:#fff;font-size:18px}
.upgrade-resource small{display:block;margin-top:3px;color:#a9d7ef;font-size:10px}
.upgrade-resource small{display:none}
@media(max-width:600px){.upgrade-cost-grid{gap:8px}.resource-item{width:58px;height:58px;border-radius:13px;font-size:27px}.upgrade-resource strong{font-size:13px}.upgrade-resource small{font-size:8px}}

/* Règle finale et unique pour l'écran Équipement, calée sur la capture WOS. */
.gear-orbit{height:720px;overflow:hidden}.gear-orbit .orbit-center{width:270px;min-height:300px}.gear-orbit .orbit-pair{position:absolute;transform:none!important;width:210px;height:104px;top:auto;right:auto;bottom:auto;left:auto;display:flex;gap:5px;align-items:center;justify-content:center;transition:left .25s,right .25s,top .25s}.gear-orbit .orbit-pair:nth-child(1){left:68px;right:auto;top:48px}.gear-orbit .orbit-pair:nth-child(4){left:auto;right:68px;top:48px}.gear-orbit .orbit-pair:nth-child(2){left:18px;right:auto;top:292px}.gear-orbit .orbit-pair:nth-child(5){left:auto;right:18px;top:292px}.gear-orbit .orbit-pair:nth-child(3){left:68px;right:auto;top:536px}.gear-orbit .orbit-pair:nth-child(6){left:auto;right:68px;top:536px}
@media(max-width:760px){.gear-orbit{height:610px}.gear-orbit .orbit-center{width:220px;min-height:260px}.gear-orbit .orbit-pair{width:164px;height:82px}.gear-orbit .orbit-pair:nth-child(1){left:28px;right:auto;top:36px}.gear-orbit .orbit-pair:nth-child(4){left:auto;right:28px;top:36px}.gear-orbit .orbit-pair:nth-child(2){left:0;right:auto;top:264px}.gear-orbit .orbit-pair:nth-child(5){left:auto;right:0;top:264px}.gear-orbit .orbit-pair:nth-child(3){left:28px;right:auto;top:492px}.gear-orbit .orbit-pair:nth-child(6){left:auto;right:28px;top:492px}}
@media(max-width:520px){.gear-orbit{height:520px}.gear-orbit .orbit-center{width:150px;min-height:210px;padding:12px 8px}.gear-orbit .orbit-center .center-item{width:56px;height:56px;font-size:28px}.gear-orbit .orbit-center h2{font-size:16px;margin:5px}.gear-orbit .center-help{display:none}.gear-orbit .current-center{min-width:125px;padding:8px}.gear-orbit .orbit-pair{width:132px;height:68px;gap:2px}.gear-orbit .orbit-pair:nth-child(1){left:8px;right:auto;top:24px}.gear-orbit .orbit-pair:nth-child(4){left:auto;right:8px;top:24px}.gear-orbit .orbit-pair:nth-child(2){left:-8px;right:auto;top:226px}.gear-orbit .orbit-pair:nth-child(5){left:auto;right:-8px;top:226px}.gear-orbit .orbit-pair:nth-child(3){left:8px;right:auto;top:428px}.gear-orbit .orbit-pair:nth-child(6){left:auto;right:8px;top:428px}}

/* Contraste du contenu central sur la DA bleue. Placé en fin de fichier pour
   primer sur les couleurs historiques prévues pour le thème clair. */
#chief-gear .gear-orbit .orbit-center>.eyebrow{
  color:#fff!important;
  font-size:14px;
  font-weight:950;
  text-shadow:0 2px 5px rgba(2,35,65,.95);
}

/* Centre Équipement : visuel détouré seul, sans libellé ni case. */
#chief-gear .gear-orbit .orbit-center{
  width:340px;
  min-height:340px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  pointer-events:none;
}
#chief-gear .gear-orbit .gear-center-item[class*="skin-"]{
  display:grid;
  place-items:center;
  width:300px;
  height:300px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  animation:gear-center-float 3.6s ease-in-out infinite;
  will-change:transform;
}
#chief-gear .gear-orbit .gear-center-item .gear-skin-p6{
  width:100%;
  height:100%;
  margin:0;
  object-fit:contain;
  filter:drop-shadow(0 16px 12px rgba(2,25,55,.42)) drop-shadow(0 0 18px rgba(154,231,255,.32));
}
@keyframes gear-center-float{
  0%,100%{transform:translateY(-7px) rotate(-1deg)}
  50%{transform:translateY(9px) rotate(1deg)}
}
@media(max-width:760px){
  #chief-gear .gear-orbit .orbit-center{width:270px;min-height:270px}
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{width:240px;height:240px}
}
@media(max-width:520px){
  #chief-gear .gear-orbit .orbit-center{width:210px;min-height:210px;padding:0}
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{width:190px;height:190px}
}
@media(prefers-reduced-motion:reduce){
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"],#chief-gear .gear-orbit .gear-center-item .gear-level-skin{animation:none}
}
#chief-gear .gear-orbit .center-help{
  color:#fff!important;
  padding:7px 11px;
  border-radius:12px;
  background:rgba(5,48,82,.42);
  font-weight:700;
  text-shadow:0 1px 4px rgba(2,25,50,.95);
}
#chief-gear .gear-orbit .center-help b{color:#fff!important}

/* Talismans : sélection d'une pièce puis édition de ses trois talismans. */
#chief-charms .charm-upgrade-grid{display:block}
.charm-workspace{position:relative;max-width:1120px;height:720px;margin:auto;border:1px solid #b8ddeb;border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 46%,#c6f4ff 0,#80cce8 30%,#2875a5 72%,#164b78 100%);box-shadow:inset 0 0 90px rgba(4,39,73,.3),0 18px 50px rgba(4,42,71,.2)}
.charm-gear-selector{position:absolute;width:112px;height:130px;padding:8px;border:3px solid rgba(255,255,255,.8);border-radius:24px;background:linear-gradient(145deg,#f7fcff,#c8e0ec);color:#174c69;cursor:pointer;box-shadow:0 8px 20px rgba(4,39,70,.22);z-index:3;transition:transform .2s,border-color .2s,box-shadow .2s}
.charm-gear-selector:hover,.charm-gear-selector.selected{transform:scale(1.06);border-color:var(--troop-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--troop-color) 28%,transparent),0 10px 25px rgba(4,39,70,.3)}
.charm-gear-selector>span{display:grid;place-items:center;height:72px;font-size:43px;filter:drop-shadow(0 5px 5px rgba(18,37,57,.24))}
.charm-gear-selector>small{display:block;font-weight:900;font-size:10px}
.charm-gear-selector>i{display:flex;justify-content:center;gap:4px;margin-top:7px;font-style:normal}
.charm-gear-selector>i b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--troop-color);border:2px solid #fff;color:#123;font-size:8px}
.charm-gear-selector:nth-child(1){left:65px;top:55px}.charm-gear-selector:nth-child(4){right:65px;top:49px}.charm-gear-selector:nth-child(2){left:20px;top:295px}.charm-gear-selector:nth-child(5){right:20px;top:289px}.charm-gear-selector:nth-child(3){left:65px;top:535px}.charm-gear-selector:nth-child(6){right:65px;top:529px}
.charm-triad{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:510px;height:520px;color:#fff;text-align:center}
.charm-triad:before{content:"";position:absolute;inset:92px 52px 48px;border:3px solid rgba(224,250,255,.48);border-radius:50%;clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 2px 3px rgba(6,66,98,.35))}
.charm-triad>.eyebrow{margin:0;color:#eaffff;text-shadow:0 2px 4px #155579}.charm-triad>h2{margin:3px 0;text-shadow:0 2px 4px #155579}
.triad-charm{position:absolute;width:184px}.triad-charm-1{left:163px;top:78px}.triad-charm-2{left:38px;top:336px}.triad-charm-3{right:38px;top:336px}
.triad-charm>small{display:block;margin-bottom:6px;font-size:10px;font-weight:950;letter-spacing:.08em;text-shadow:0 2px 3px #155579}
.triad-pair{display:flex;align-items:center;justify-content:center;gap:6px}.triad-pair>span{font-size:28px;font-weight:950;color:#eaffff;text-shadow:0 2px 3px #155579}
.triad-level{display:grid;place-items:center;width:64px;height:70px;padding:6px;border:3px solid rgba(255,255,255,.8);border-radius:17px;background:linear-gradient(145deg,#f7fcff,#c6e5ef);cursor:pointer;box-shadow:0 6px 15px rgba(5,45,72,.24);transition:transform .2s,box-shadow .2s}
.triad-level.target{width:77px;height:82px;border-color:var(--node-color);background:linear-gradient(145deg,#fff,#d9f6fd)}
.triad-level:hover{transform:scale(1.07);box-shadow:0 0 0 5px rgba(255,255,255,.22),0 9px 22px rgba(5,45,72,.35)}
.triad-level .charm{display:block;width:31px;height:31px;margin:0 0 4px;background:var(--node-color);border-width:3px}
.triad-level.target .charm{width:38px;height:38px}.triad-level b{font-size:9px;color:#174c69}
.charm-triad .triad-level{width:62px;height:74px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.charm-triad .triad-level.target{width:72px;height:84px;background:transparent;border:0}
.charm-triad .triad-level .charm{width:51px;height:51px;margin:0 auto 5px;transform:none;border-radius:50%;border:3px solid rgba(231,250,255,.95);outline:2px solid rgba(12,68,98,.62);background:radial-gradient(circle at 34% 27%,rgba(255,255,255,.82) 0 7%,rgba(255,255,255,.18) 8% 22%,transparent 23%),radial-gradient(circle at 50% 58%,hsl(calc(205deg + var(--level) * 13deg) 88% 66%),hsl(calc(205deg + var(--level) * 13deg) 76% 42%) 72%);box-shadow:inset 0 0 0 5px rgba(255,255,255,.14),inset 0 -7px 10px rgba(2,35,62,.2),0 5px 13px rgba(3,39,66,.34)}
.charm-triad .triad-level.target .charm{width:62px;height:62px}
.charm-triad .triad-level b{color:#fff;text-shadow:0 2px 3px rgba(3,39,66,.75)}
.charm-triad .triad-level:hover{transform:scale(1.08);box-shadow:none}
.charm-workspace .charm-gear-selector{height:142px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.charm-workspace .charm-gear-selector:hover,.charm-workspace .charm-gear-selector.selected{transform:scale(1.04);border:0;box-shadow:none}
.charm-workspace .charm-gear-selector>span{position:relative;width:94px;height:94px;margin:auto;border:3px solid rgba(255,255,255,.88);border-radius:22px;background:linear-gradient(145deg,#f8fcff,#cbdfe9);box-shadow:0 8px 20px rgba(4,39,70,.25);transition:border-color .2s,box-shadow .2s}
.charm-workspace .charm-gear-selector:hover>span,.charm-workspace .charm-gear-selector.selected>span{border-color:var(--troop-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--troop-color) 30%,transparent),0 10px 24px rgba(4,39,70,.32)}
.charm-workspace .charm-gear-selector>span>small{position:absolute;left:4px;right:4px;bottom:5px;display:block;font-size:8px;font-weight:950;color:#174c69}
.charm-workspace .charm-gear-selector>i{height:29px;margin-top:7px;align-items:center}
.charm-workspace .charm-gear-selector>i b{width:23px;height:23px;border:2px solid rgba(242,253,255,.95);outline:1px solid rgba(9,62,92,.55);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.72) 0 8%,transparent 10%),hsl(calc(205deg + var(--level) * 13deg) 76% 52%);color:#fff;text-shadow:0 1px 2px rgba(2,29,51,.8);box-shadow:0 3px 7px rgba(3,35,61,.3)}
.mini-charm{display:flex;flex-direction:column;align-items:center;gap:3px}
.charm-progress{display:flex;width:54px;height:5px;gap:2px;margin-top:3px;font-style:normal}
.charm-progress>span{flex:1;min-width:2px;border-radius:2px;background:rgba(8,56,84,.38);border:1px solid rgba(230,251,255,.55);box-shadow:inset 0 1px rgba(255,255,255,.16)}
.charm-progress>span.filled{background:linear-gradient(#bdf66c,#55bd31);border-color:#eaffc8;box-shadow:0 0 5px rgba(116,237,73,.55)}
.charm-progress.compact{width:24px;height:3px;gap:1px;margin-top:1px}
.charm-progress.compact>span{min-width:1px;border-width:0}
.charm-triad .triad-level{height:82px}
.charm-triad .triad-level.target{height:92px}
@media(max-width:760px){.charm-workspace{height:620px}.charm-gear-selector{width:86px;height:104px;border-radius:19px}.charm-gear-selector>span{height:55px;font-size:34px}.charm-gear-selector:nth-child(1){left:18px;top:35px}.charm-gear-selector:nth-child(4){right:18px;top:29px}.charm-gear-selector:nth-child(2){left:2px;top:258px}.charm-gear-selector:nth-child(5){right:2px;top:252px}.charm-gear-selector:nth-child(3){left:18px;top:481px}.charm-gear-selector:nth-child(6){right:18px;top:475px}.charm-triad{width:410px;height:470px}.triad-charm-1{left:100px;top:58px}.triad-charm-2{left:0;top:300px}.triad-charm-3{right:0;top:300px}.charm-triad:before{inset:80px 42px 42px}}
@media(max-width:520px){.charm-workspace{height:560px;margin-inline:-5px}.charm-gear-selector{width:67px;height:84px;padding:5px;border-radius:16px}.charm-gear-selector>span{height:43px;font-size:27px}.charm-gear-selector>small{font-size:8px}.charm-gear-selector>i{gap:1px;margin-top:3px}.charm-gear-selector>i b{width:14px;height:14px;font-size:6px}.charm-gear-selector:nth-child(1){left:5px;top:25px}.charm-gear-selector:nth-child(4){right:5px;top:19px}.charm-gear-selector:nth-child(2){left:-2px;top:238px}.charm-gear-selector:nth-child(5){right:-2px;top:232px}.charm-gear-selector:nth-child(3){left:5px;top:451px}.charm-gear-selector:nth-child(6){right:5px;top:445px}.charm-triad{width:300px;height:430px}.charm-triad:before{inset:80px 27px 48px}.triad-charm{width:140px}.triad-charm-1{left:80px;top:60px}.triad-charm-2{left:-10px;top:278px}.triad-charm-3{right:-10px;top:278px}.triad-level{width:57px;height:64px;border-radius:15px}.triad-level.target{width:68px;height:74px}.triad-level .charm{width:27px;height:27px}.triad-level.target .charm{width:33px;height:33px}.triad-level b{font-size:8px}}
@media(max-width:760px){.charm-workspace .charm-gear-selector{height:116px}.charm-workspace .charm-gear-selector>span{width:74px;height:74px;font-size:34px;border-radius:18px}.charm-workspace .charm-gear-selector>i b{width:19px;height:19px;font-size:7px}}
@media(max-width:520px){.charm-workspace .charm-gear-selector{height:94px;padding:0}.charm-workspace .charm-gear-selector>span{width:58px;height:58px;font-size:27px;border-radius:14px}.charm-workspace .charm-gear-selector>span>small{font-size:6px;bottom:2px}.charm-workspace .charm-gear-selector>i{margin-top:5px}.charm-workspace .charm-gear-selector>i b{width:16px;height:16px;font-size:6px}}

/* La page Talismans reprend la DA validée de l'Équipement. */
.charm-triad:before{display:none}
#chief-charms .charm-triad:before{
  display:block;
  inset:10px -18px -18px;
  border:0;
  border-radius:0;
  clip-path:none;
  background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0ODAgNDgwIiBmaWxsPSJub25lIj4KICA8ZGVmcz4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibm9kZS1mYWRlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQyIiBzdG9wLWNvbG9yPSIjMDIwNDA1Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjYzIiBzdG9wLWNvbG9yPSIjMkUzOTNEIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjQTBCMEI1Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxtYXNrIGlkPSJmYWRlLWJlaGluZC1ub2RlcyIgc3R5bGU9Im1hc2stdHlwZTpsdW1pbmFuY2UiPgogICAgICA8cmVjdCB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgZmlsbD0iI0ZGRiIvPgogICAgICA8ZWxsaXBzZSBjeD0iMjI0IiBjeT0iOTAiIHJ4PSIxMzIiIHJ5PSI4NiIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICAgIDxlbGxpcHNlIGN4PSIxMTYiIGN5PSIzNDQiIHJ4PSIxMzIiIHJ5PSI4NiIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICAgIDxlbGxpcHNlIGN4PSIzNjAiIGN5PSIzNDQiIHJ4PSIxMzIiIHJ5PSI4NiIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgoKICA8ZyBtYXNrPSJ1cmwoI2ZhZGUtYmVoaW5kLW5vZGVzKSIgc3Ryb2tlPSIjRTdGQUZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPGNpcmNsZSBjeD0iMjQwIiBjeT0iMjQyIiByPSIxODQiIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjM0Ii8+CiAgICA8cGF0aCBkPSJNODcuNzI4IDE2OC42OTBBMTY5IDE2OSAwIDAgMSAzOTIuMjcyIDE2OC42OTBRMzkzLjc3NCAxNzEuODk1IDM5Mi43MzEgMTc0LjQ4MEwzODYuMzkwIDE5MC4yMDJRMzg1LjA4NyAxOTMuNDMyIDM4OC4wNzIgMTk1LjIyN0w0MDIuNjAxIDIwMy45NjNRNDA0Ljk4OSAyMDUuMzk4IDQwNS43MTkgMjA4Ljg2MkExNjkgMTY5IDAgMCAxIDI2MS4xODEgNDA5LjY2N1EyNTcuNjY1IDQxMC4wNzQgMjU1LjU0NSA0MDguMjY1TDI0Mi42NTAgMzk3LjI2MVEyNDAgMzk1IDIzNy4zNTAgMzk3LjI2MUwyMjQuNDU1IDQwOC4yNjVRMjIyLjMzNSA0MTAuMDc0IDIxOC44MTkgNDA5LjY2N0ExNjkgMTY5IDAgMCAxIDc0LjI4MSAyMDguODYyUTc1LjAxMSAyMDUuMzk4IDc3LjM5OSAyMDMuOTYzTDkxLjkyOCAxOTUuMjI3UTk0LjkxMyAxOTMuNDMyIDkzLjYxMCAxOTAuMjAyTDg3LjI2OSAxNzQuNDgwUTg2LjIyNiAxNzEuODk1IDg3LjcyOCAxNjguNjkwWiIgc3Ryb2tlLXdpZHRoPSI0IiBvcGFjaXR5PSIuNTYiLz4KICA8L2c+CiAgPHBhdGggZD0iTTg3LjMyNyAxOTAuODkyIDgzLjg1NyAxODMuOTMxIDc2Ljg5NiAxODcuNDAxIDgwLjM2NiAxOTQuMzYyWk0zOTIuNjczIDE5MC44OTIgMzk2LjE0MyAxODMuOTMxIDQwMy4xMDQgMTg3LjQwMSAzOTkuNjM0IDE5NC4zNjJaTTI0MCA0MDMgMjM0LjUwMCA0MDguNTAwIDI0MCA0MTQgMjQ1LjUwMCA0MDguNTAwWiIgZmlsbD0iI0Y0RkRGRiIgb3BhY2l0eT0iLjkwIi8+Cjwvc3ZnPgo=") center/contain no-repeat;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0ODAgNDgwIiBmaWxsPSJub25lIj4KICA8ZGVmcz4KICAgIDxyYWRpYWxHcmFkaWVudCBpZD0ibm9kZS1mYWRlIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMDAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjQyIiBzdG9wLWNvbG9yPSIjMDIwNDA1Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjYzIiBzdG9wLWNvbG9yPSIjMkUzOTNEIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iLjgyIiBzdG9wLWNvbG9yPSIjQTBCMEI1Ii8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZGRiIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxtYXNrIGlkPSJmYWRlLWJlaGluZC1ub2RlcyIgc3R5bGU9Im1hc2stdHlwZTpsdW1pbmFuY2UiPgogICAgICA8cmVjdCB3aWR0aD0iNDgwIiBoZWlnaHQ9IjQ4MCIgZmlsbD0iI0ZGRiIvPgogICAgICA8ZWxsaXBzZSBjeD0iMjI0IiBjeT0iOTAiIHJ4PSIxMzIiIHJ5PSI4NiIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICAgIDxlbGxpcHNlIGN4PSIxMTYiIGN5PSIzNjIiIHJ4PSIxNDgiIHJ5PSI5NCIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICAgIDxlbGxpcHNlIGN4PSIzNjAiIGN5PSIzNjIiIHJ4PSIxNDgiIHJ5PSI5NCIgZmlsbD0idXJsKCNub2RlLWZhZGUpIi8+CiAgICA8L21hc2s+CiAgPC9kZWZzPgoKICA8ZyBtYXNrPSJ1cmwoI2ZhZGUtYmVoaW5kLW5vZGVzKSIgc3Ryb2tlPSIjRTdGQUZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgPGNpcmNsZSBjeD0iMjQwIiBjeT0iMjQyIiByPSIxODQiIHN0cm9rZS13aWR0aD0iMyIgb3BhY2l0eT0iLjM0Ii8+CiAgICA8cGF0aCBkPSJNODcuNzI4IDE2OC42OTBBMTY5IDE2OSAwIDAgMSAzOTIuMjcyIDE2OC42OTBRMzkzLjc3NCAxNzEuODk1IDM5Mi43MzEgMTc0LjQ4MEwzODYuMzkwIDE5MC4yMDJRMzg1LjA4NyAxOTMuNDMyIDM4OC4wNzIgMTk1LjIyN0w0MDIuNjAxIDIwMy45NjNRNDA0Ljk4OSAyMDUuMzk4IDQwNS43MTkgMjA4Ljg2MkExNjkgMTY5IDAgMCAxIDI2MS4xODEgNDA5LjY2N1EyNTcuNjY1IDQxMC4wNzQgMjU1LjU0NSA0MDguMjY1TDI0Mi42NTAgMzk3LjI2MVEyNDAgMzk1IDIzNy4zNTAgMzk3LjI2MUwyMjQuNDU1IDQwOC4yNjVRMjIyLjMzNSA0MTAuMDc0IDIxOC44MTkgNDA5LjY2N0ExNjkgMTY5IDAgMCAxIDc0LjI4MSAyMDguODYyUTc1LjAxMSAyMDUuMzk4IDc3LjM5OSAyMDMuOTYzTDkxLjkyOCAxOTUuMjI3UTk0LjkxMyAxOTMuNDMyIDkzLjYxMCAxOTAuMjAyTDg3LjI2OSAxNzQuNDgwUTg2LjIyNiAxNzEuODk1IDg3LjcyOCAxNjguNjkwWiIgc3Ryb2tlLXdpZHRoPSI0IiBvcGFjaXR5PSIuNTYiLz4KICA8L2c+CiAgPHBhdGggZD0iTTg3LjMyNyAxOTAuODkyIDgzLjg1NyAxODMuOTMxIDc2Ljg5NiAxODcuNDAxIDgwLjM2NiAxOTQuMzYyWk0zOTIuNjczIDE5MC44OTIgMzk2LjE0MyAxODMuOTMxIDQwMy4xMDQgMTg3LjQwMSAzOTkuNjM0IDE5NC4zNjJaTTI0MCA0MDMgMjM0LjUwMCA0MDguNTAwIDI0MCA0MTQgMjQ1LjUwMCA0MDguNTAwWiIgZmlsbD0iI0Y0RkRGRiIgb3BhY2l0eT0iLjkwIi8+Cjwvc3ZnPgo=");
  opacity:.78;
  filter:drop-shadow(0 0 5px rgba(221,249,255,.24));
  pointer-events:none;
}
#chief-charms{max-width:none;background:radial-gradient(ellipse 58% 58% at 50% 43%,rgba(142,229,255,.38) 0,rgba(79,180,222,.22) 42%,transparent 78%),linear-gradient(180deg,#184d7d 0,#236b9b 38%,#16476f 100%);color:#fff}
#chief-charms .section-head{position:relative;max-width:1240px;margin-inline:auto;justify-content:center;text-align:center;padding-inline:64px}
#chief-charms .section-head>.back{position:absolute;left:0;top:4px;background:#8edfff;border-color:#d8f7ff;color:#15557e;box-shadow:0 5px 0 #397faa}
#chief-charms .section-head>div{max-width:760px;margin-inline:auto}
#chief-charms .section-head p:last-child{color:#d4efff}
#chief-charms .section-head .eyebrow{color:#80dcff}
#chief-charms h1,#chief-charms h2,#chief-charms button,#chief-charms strong,#chief-charms small{font-family:var(--site-font);letter-spacing:.01em}
#chief-charms .charm-workspace{border-color:rgba(183,232,255,.34);background:radial-gradient(ellipse 58% 62% at 50% 48%,rgba(197,246,255,.34),rgba(78,174,215,.14) 45%,rgba(7,39,78,.28) 82%);box-shadow:inset 0 0 105px rgba(2,35,72,.3),0 18px 50px rgba(3,27,56,.25)}
#chief-charms #charmResult{max-width:900px;margin:18px auto 0;padding:14px 18px 20px;background:rgba(8,43,79,.9);border:2px solid rgba(131,203,240,.46);border-radius:26px;box-shadow:inset 0 1px rgba(255,255,255,.18),0 14px 35px rgba(1,22,48,.36)}
#chief-charms #charmResult h2{margin:0 0 14px;padding:9px;text-align:center;border-radius:16px;background:linear-gradient(#4b8dc3,#3977ae);color:#fff;font-size:20px;text-shadow:0 2px 2px #16466d}
.charm-cost-grid{grid-template-columns:repeat(3,minmax(120px,180px));justify-content:center}
.upgrade-resource-guides .resource-item{border-color:#79c8ef;background:linear-gradient(145deg,#e8f8ff,#368bc5)}
.upgrade-resource-designs .resource-item{border-color:#c59bf4;background:linear-gradient(145deg,#f0dcff,#7250b9)}
.upgrade-resource-secrets .resource-item{border-color:#ffe38b;background:linear-gradient(145deg,#fff4b9,#bf711c)}
.resource-item.material-skin{
  background:
    radial-gradient(circle at 34% 24%,rgba(255,233,180,.7),transparent 36%),
    linear-gradient(145deg,#e9ac69 0,#c9793e 52%,#9c5128 100%);
  border-color:#f5b873;
  box-shadow:
    inset 0 0 0 3px rgba(255,218,164,.38),
    inset 0 -8px 14px rgba(111,48,18,.2),
    0 6px 12px rgba(0,15,39,.35);
  overflow:visible;
}
.resource-item.material-skin img{display:block;width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(3,35,61,.32))}

/* Skins P6 des six pièces d'équipement du Chef. */
.gear-skin-p6{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(23,35,45,.3))}
.gear-orbit .orbit-node>span .gear-skin-p6,.gear-orbit .target-item>span .gear-skin-p6{height:calc(100% - 2px)}
.gear-orbit .center-item .gear-skin-p6{width:86%;height:86%;margin:auto}
.charm-gear-selector>span .gear-skin-p6{width:72px;height:72px;margin:auto}
#chief-charms .charm-gear-selector[data-charm-gear="cane"]>span .gear-skin-p6{transform:scale(1.2)}
#chief-charms .charm-gear-selector[data-charm-gear="ring"]>span .gear-skin-p6{transform:scale(1.68)}
#chief-charms .charm-gear-selector[data-charm-gear="pants"]>span .gear-skin-p6{transform:scale(1.3)}
@media(max-width:760px){.charm-gear-selector>span .gear-skin-p6{width:57px;height:57px}}
@media(max-width:520px){.charm-gear-selector>span .gear-skin-p6{width:44px;height:44px}}
@media(max-width:520px){.charm-cost-grid{grid-template-columns:repeat(3,1fr)}}

/* Couronne d'équipements : visuels seuls dans des cases rouges façon WOS. */
#chief-gear .gear-orbit .orbit-pair:nth-child(1){left:92px;right:auto;top:54px}
#chief-gear .gear-orbit .orbit-pair:nth-child(4){left:auto;right:92px;top:54px}
#chief-gear .gear-orbit .orbit-pair:nth-child(2){left:22px;right:auto;top:308px}
#chief-gear .gear-orbit .orbit-pair:nth-child(5){left:auto;right:22px;top:308px}
#chief-gear .gear-orbit .orbit-pair:nth-child(3){left:92px;right:auto;top:562px}
#chief-gear .gear-orbit .orbit-pair:nth-child(6){left:auto;right:92px;top:562px}
#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"],
#chief-gear .gear-orbit .center-item[class*="skin-"]{
  background:
    radial-gradient(circle at 34% 24%,rgba(255,154,143,.48),transparent 38%),
    linear-gradient(145deg,#b46463 0,#a54c48 55%,#902d26 100%);
  border-color:#e17373;
  color:#fff;
  box-shadow:inset 0 0 0 3px rgba(255,190,174,.24),inset 0 -9px 15px rgba(75,5,24,.3),0 7px 17px rgba(3,27,56,.32);
}
#chief-gear .gear-orbit .target-item[class*="skin-"]{border-color:#e17373;background:radial-gradient(circle at 34% 24%,rgba(255,190,153,.55),transparent 38%),linear-gradient(145deg,#b46463,#a54c48 55%,#902d26)}
#chief-gear .gear-orbit .orbit-current>span,
#chief-gear .gear-orbit .target-item>span{background:transparent;border:0}
#chief-gear .gear-orbit .orbit-center h2,
#chief-charms .charm-triad>h2,
#chief-charms .charm-gear-selector>span>small{display:none}

#chief-charms .charm-workspace .charm-gear-selector>span{
  background:
    radial-gradient(circle at 34% 24%,rgba(255,154,143,.5),transparent 38%),
    linear-gradient(145deg,#b46463 0,#a54c48 55%,#902d26 100%);
  border-color:#e17373;
  box-shadow:inset 0 0 0 3px rgba(255,190,174,.22),0 8px 20px rgba(4,39,70,.3);
}
#chief-charms .charm-workspace .charm-gear-selector:hover>span,
#chief-charms .charm-workspace .charm-gear-selector.selected>span{border-color:#ffd0aa;box-shadow:0 0 0 5px rgba(255,126,104,.28),0 10px 25px rgba(4,39,70,.34)}

@media(max-width:760px){
  #chief-gear .gear-orbit .orbit-pair:nth-child(1){left:38px;top:38px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(4){right:38px;top:38px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(2){left:0;top:264px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){right:0;top:264px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3){left:38px;top:490px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){right:38px;top:490px}
}
@media(max-width:520px){
  #chief-gear .gear-orbit .orbit-pair:nth-child(1){left:6px;top:24px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(4){right:6px;top:24px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(2){left:-9px;top:226px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){right:-9px;top:226px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3){left:6px;top:428px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){right:6px;top:428px}
}

/* Profondeur et lumière des cases, calées sur la référence corail P2. */
#chief-gear .gear-orbit{
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 47%,rgba(239,246,255,.82) 0,rgba(154,220,247,.4) 24%,rgba(68,153,203,.17) 48%,transparent 70%),
    radial-gradient(ellipse at 50% 50%,rgba(136,222,255,.24),transparent 74%);
  box-shadow:inset 0 0 120px rgba(1,30,70,.38),inset 0 0 40px rgba(168,235,255,.24),0 22px 55px rgba(2,25,57,.32);
}
#chief-gear .gear-orbit:before,
#chief-gear .gear-orbit:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  transform:translate(-50%,-50%);
}
#chief-gear .gear-orbit:before{width:72%;height:82%;border:2px solid rgba(190,240,255,.28);box-shadow:0 0 34px rgba(131,222,255,.18),inset 0 0 34px rgba(131,222,255,.12)}
#chief-gear .gear-orbit:after{width:49%;height:60%;border:1px solid rgba(231,251,255,.26);box-shadow:0 0 50px rgba(197,241,255,.22)}
#chief-gear .gear-orbit .orbit-pair,
#chief-gear .gear-orbit .orbit-center{z-index:2}

#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"],
#chief-gear .gear-orbit .center-item[class*="skin-"]{
  position:relative;
  background:
    linear-gradient(160deg,rgba(255,255,255,.42) 0 8%,transparent 29%),
    radial-gradient(circle at 50% 72%,#ffd4d2 0,#ef8d8c 38%,#d95058 70%,#9f283b 100%);
  border:4px solid #ef6e6c;
  border-radius:19px;
  box-shadow:
    inset 0 0 0 3px rgba(255,190,187,.66),
    inset 0 -14px 19px rgba(123,24,44,.26),
    0 0 0 2px rgba(131,27,46,.22),
    0 8px 13px rgba(31,20,45,.3),
    0 0 22px rgba(255,102,108,.34);
  transition:transform .2s,filter .2s,box-shadow .2s;
}
#chief-gear .gear-orbit .orbit-current[class*="skin-"]{width:72px;height:72px}
#chief-gear .gear-orbit .target-item[class*="skin-"]{width:82px;height:82px;border-color:#ff8176;box-shadow:inset 0 0 0 3px rgba(255,205,194,.74),inset 0 -14px 19px rgba(123,24,44,.22),0 0 0 2px rgba(134,26,43,.2),0 10px 17px rgba(31,20,45,.34),0 0 30px rgba(255,112,101,.48)}
#chief-gear .gear-orbit .center-item[class*="skin-"]{border-color:#ff9b84;box-shadow:inset 0 0 0 4px rgba(255,211,196,.75),inset 0 -17px 22px rgba(123,24,44,.24),0 12px 24px rgba(17,25,51,.36),0 0 42px rgba(255,129,108,.55)}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current,
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item{transform:translateY(-4px) scale(1.08);filter:saturate(1.12) brightness(1.06);box-shadow:inset 0 0 0 3px rgba(255,222,207,.8),0 13px 22px rgba(31,20,45,.38),0 0 38px rgba(255,121,105,.68)}
#chief-gear .gear-orbit .orbit-chevron{color:#e9fbff;font-size:30px;text-shadow:0 0 10px #82dcff,0 3px 4px rgba(4,35,67,.65)}
#chief-gear .gear-orbit .gear-skin-p6{filter:drop-shadow(0 7px 6px rgba(43,10,18,.42)) saturate(1.08) contrast(1.04)}

#chief-charms .charm-workspace .charm-gear-selector>span{
  background:
    linear-gradient(160deg,rgba(255,255,255,.42) 0 8%,transparent 29%),
    radial-gradient(circle at 50% 72%,#ffd4d2 0,#ef8d8c 38%,#d95058 70%,#9f283b 100%);
  border:4px solid #ef6e6c;
  box-shadow:inset 0 0 0 3px rgba(255,190,187,.65),inset 0 -13px 18px rgba(123,24,44,.24),0 8px 14px rgba(31,20,45,.3),0 0 24px rgba(255,102,108,.34);
}
#chief-charms .charm-workspace .charm-gear-selector.selected>span{transform:translateY(-3px) scale(1.08);border-color:#ff9c83;box-shadow:inset 0 0 0 3px rgba(255,220,204,.8),0 12px 21px rgba(31,20,45,.36),0 0 38px rgba(255,124,104,.66)}

@media(max-width:520px){
  #chief-gear .gear-orbit .orbit-current[class*="skin-"]{width:52px;height:52px}
  #chief-gear .gear-orbit .target-item[class*="skin-"]{width:60px;height:60px}
  #chief-gear .gear-orbit:before{width:83%;height:82%}
  #chief-gear .gear-orbit:after{width:54%;height:58%}
}

/* Palette WOS : rouge corail et fondu rose pâle dans le coin inférieur gauche. */
#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"],
#chief-gear .gear-orbit .center-item[class*="skin-"],
#chief-charms .charm-workspace .charm-gear-selector>span{
  background:
    radial-gradient(ellipse 108% 66% at 8% 100%,rgba(255,229,235,.96) 0,rgba(255,218,226,.9) 18%,rgba(255,204,213,.78) 36%,rgba(250,177,187,.56) 55%,rgba(238,120,133,.28) 73%,transparent 92%),
    linear-gradient(180deg,#902d26 0,#a95250 44%,#d79b9b 69%,#f3c3c3 100%);
  border-color:#e17373;
  box-shadow:
    inset 10px -14px 22px rgba(255,241,243,.3),
    inset 0 10px 17px rgba(103,12,25,.22),
    0 0 0 2px rgba(112,18,29,.24),
    0 9px 15px rgba(31,10,25,.34),
    0 0 24px rgba(220,55,63,.38);
}
#chief-gear .gear-orbit .target-item[class*="skin-"],
#chief-gear .gear-orbit .center-item[class*="skin-"],
#chief-charms .charm-workspace .charm-gear-selector.selected>span{
  border-color:#e17373;
  box-shadow:
    inset 11px -16px 24px rgba(255,244,245,.34),
    inset 0 10px 17px rgba(103,12,25,.2),
    0 0 0 2px rgba(112,18,29,.22),
    0 11px 19px rgba(31,10,25,.38),
    0 0 32px rgba(224,62,68,.48);
}

/* Skins de talismans extraits des planches de référence. */

/* Sélection d'équipement : cadre plus fin et mise en avant dorée. */
#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"],
#chief-gear .gear-orbit .center-item[class*="skin-"]{
  border-width:1px;
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current{
  border-color:#ffe36f;
  filter:saturate(1.06) brightness(1.1);
  box-shadow:
    inset 0 0 0 1px rgba(255,249,205,.8),
    inset 0 -10px 16px rgba(255,190,45,.12),
    0 12px 22px rgba(31,20,45,.36),
    0 0 5px 2px #fff2a0,
    0 0 14px 6px rgba(255,215,70,.92),
    0 0 30px 12px rgba(255,174,24,.58);
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item{
  border-color:#ff765f;
  filter:saturate(1.05) brightness(1.04);
  box-shadow:
    inset 0 0 0 1px rgba(255,178,151,.65),
    0 10px 18px rgba(31,20,45,.34),
    0 0 18px rgba(239,29,38,.45);
}

/* Gear actif dans l'écran Talismans. */
#chief-charms .charm-workspace .charm-gear-selector>span,
#chief-charms .charm-workspace .charm-gear-selector:hover>span,
#chief-charms .charm-workspace .charm-gear-selector:focus-visible>span,
#chief-charms .charm-workspace .charm-gear-selector.selected>span{
  border-width:3px !important;
  border-style:solid;
  border-color:#e17373;
}
#chief-charms .charm-workspace .charm-gear-selector.selected>span{
  border-width:3.5px !important;
  border-color:#e17373;
  box-shadow:
    0 10px 20px rgba(31,20,45,.34),
    0 0 6px 2px rgba(255,244,170,.95),
    0 0 16px 7px rgba(255,211,55,.82),
    0 0 34px 13px rgba(255,169,22,.46);
}
.charm-triad .triad-level .charm-skin{width:58px;height:58px;margin:0 auto 3px;transform:none;border:0;outline:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:none;filter:drop-shadow(0 5px 5px rgba(3,35,61,.32))}
.charm-triad .triad-level.target .charm-skin{width:68px;height:68px}
.charm-workspace .charm-gear-selector>i .charm-thumb{display:block;width:27px;height:27px;border:0;outline:0;border-radius:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:none;filter:drop-shadow(0 2px 2px rgba(3,35,61,.35))}
.charm-triad .triad-level.selected .charm-skin{
  filter:
    drop-shadow(1px 0 0 #ffe36f)
    drop-shadow(-1px 0 0 #ffe36f)
    drop-shadow(0 1px 0 #ffe36f)
    drop-shadow(0 -1px 0 #ffe36f)
    drop-shadow(0 0 5px rgba(255,226,85,.95))
    drop-shadow(0 0 11px rgba(255,174,24,.62))
    drop-shadow(0 5px 5px rgba(3,35,61,.32));
}
@media(max-width:520px){.charm-triad .triad-level .charm-skin{width:45px;height:45px}.charm-triad .triad-level.target .charm-skin{width:53px;height:53px}.charm-workspace .charm-gear-selector>i .charm-thumb{width:20px;height:20px}}

/* Sélecteur de niveaux : palette bleue accordée à l'écran principal. */
#levelPicker,
#levelPicker.charm-level-picker{
  color:#fff;
  background:
    radial-gradient(ellipse 78% 58% at 50% 38%,rgba(105,211,246,.28),transparent 72%),
    linear-gradient(180deg,#236b9b 0,#1b5c89 48%,#123f68 100%);
  border:1px solid rgba(151,225,250,.58);
  box-shadow:0 30px 100px rgba(0,15,35,.72),inset 0 0 48px rgba(4,38,72,.28);
}
#levelPicker .eyebrow{color:#91e3ff;text-shadow:0 2px 4px rgba(4,39,70,.7)}
#levelPicker h2{color:#fff;text-shadow:0 2px 4px rgba(4,39,70,.72)}
#levelPicker .dialog-close{
  color:#e9faff;
  background:#0b2d4e;
  border:1px solid #70c9e8;
  box-shadow:0 4px 10px rgba(0,21,48,.34);
}
#levelPicker .level-choice{
  color:#f2fbff;
  background:linear-gradient(145deg,#438fba 0,#2a739f 48%,#19547f 100%);
  border-color:#76c9e8;
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 5px 12px rgba(2,29,57,.28);
}
#levelPicker .level-choice:hover{
  color:#fff;
  background:linear-gradient(145deg,#58acd2 0,#3387b3 52%,#1d6592 100%);
  border-color:#b1ecff;
  box-shadow:0 0 12px rgba(126,222,255,.48),0 7px 16px rgba(2,29,57,.34);
}
#levelPicker .level-choice.active{
  color:#fff;
  background:linear-gradient(145deg,#4aa2cb 0,#287ba8 52%,#185b87 100%);
  border-color:#ffe36f;
  box-shadow:0 0 5px 2px rgba(255,244,170,.9),0 0 15px 6px rgba(255,201,45,.54),0 7px 16px rgba(2,29,57,.34);
}
#levelPicker .charm-level-choice b{color:#fff;text-shadow:0 2px 3px rgba(2,29,57,.72)}
#levelPicker .charm-level-choice.active b{color:#fff7c2}

/* Sous-niveaux WOS : cadre doré, segments bruns et progression verte. */
#chief-charms .charm-progress,
#levelPicker .charm-progress{
  height:13px;
  gap:2px;
  padding:1px;
  border:2px solid #e9bd5b;
  border-radius:5px;
  background:#8b5d30;
  box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);
}
#chief-charms .charm-progress>span,
#levelPicker .charm-progress>span{
  min-width:2px;
  border:0;
  border-radius:2px;
  background:linear-gradient(180deg,#9b713d 0,#875d30 52%,#70451f 100%);
  box-shadow:inset 0 1px rgba(224,169,90,.38),inset 0 -1px rgba(69,35,13,.32);
}
#chief-charms .charm-progress>span.filled,
#levelPicker .charm-progress>span.filled{
  border:0;
  background:linear-gradient(180deg,#8ed14b 0,#65b637 58%,#4c942b 100%);
  box-shadow:inset 0 1px rgba(205,246,126,.58),inset 0 -1px rgba(47,105,24,.28),0 0 4px rgba(113,205,61,.42);
}
#chief-charms .charm-progress.compact{
  height:7px;
  gap:1px;
  padding:0;
  border-width:1.5px;
  border-radius:3px;
}

/* Matériaux : dégradé cuivre vers pêche pâle de la référence WOS. */
#chief-charms #charmResult .resource-item.material-skin{
  border-color:#eba16e;
  background:linear-gradient(180deg,#935b2d,#f2ceaf);
  box-shadow:0 6px 12px rgba(0,15,39,.35);
}

/* Un seul talisman par niveau, avec sélection directe du sous-niveau. */
#levelPicker .charm-level-group{cursor:default}
#levelPicker .charm-level-group.disabled{opacity:.35;filter:grayscale(.55)}
#levelPicker .picker-substep-panel{
  display:block;
  width:100%;
  margin-top:2px;
  padding:5px 6px 6px;
  border:1px solid rgba(125,207,237,.5);
  border-radius:8px;
  background:rgba(129,207,235,.24);
  box-shadow:inset 0 1px rgba(226,248,255,.18),0 2px 5px rgba(1,20,43,.16);
}
#levelPicker .picker-substep-panel>small{display:none}
#levelPicker .picker-substeps{
  display:flex;
  width:100%;
  height:13px;
  gap:2px;
  padding:1px;
  border:2px solid #e9bd5b;
  border-radius:5px;
  background:#8b5d30;
  box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);
  font-style:normal;
}
#levelPicker .picker-substep{
  flex:1;
  min-width:4px;
  padding:0;
  border:0;
  border-radius:2px;
  background:linear-gradient(180deg,#9b713d 0,#875d30 52%,#70451f 100%);
  box-shadow:inset 0 1px rgba(224,169,90,.38),inset 0 -1px rgba(69,35,13,.32);
  cursor:pointer;
}
#levelPicker .picker-substep.filled{background:linear-gradient(180deg,#8ed14b 0,#65b637 58%,#4c942b 100%);box-shadow:inset 0 1px rgba(205,246,126,.58),0 0 4px rgba(113,205,61,.42)}
#levelPicker .picker-substep.preview-filled:not(:disabled){background:linear-gradient(180deg,#b8eb67 0,#7dcc47 58%,#59a632 100%);box-shadow:inset 0 1px rgba(226,255,164,.72),0 0 6px rgba(166,239,93,.64)}
#levelPicker .picker-substep.preview-target:not(:disabled){outline:2px solid #fff4a8;outline-offset:1px}
#levelPicker .picker-substep.active{outline:2px solid #fff4a8;outline-offset:1px}
#levelPicker .picker-substep:hover:not(:disabled){background:linear-gradient(180deg,#b8eb67,#78c944);box-shadow:0 0 6px rgba(166,239,93,.72)}
#levelPicker .picker-substep:disabled{opacity:.28;cursor:not-allowed}

/* Défilement global accordé à la page Talismans, sans débordement horizontal. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body,.view,main,section,.panel,dialog,form{min-width:0}
img,svg,canvas,video{max-width:100%}
.timeline{flex-wrap:wrap;justify-content:center;overflow-x:hidden}
.level-picker-grid{overflow-x:hidden;overflow-y:auto}
*{scrollbar-width:thin;scrollbar-color:#69c8e9 #0a2949}
*::-webkit-scrollbar{width:11px;height:0}
*::-webkit-scrollbar-track{background:linear-gradient(180deg,#071d36,#0d3558);border-left:1px solid rgba(142,221,249,.14)}
*::-webkit-scrollbar-thumb{border:2px solid #0a2949;border-radius:10px;background:linear-gradient(180deg,#91e3ff 0,#4eb4de 48%,#287eae 100%);box-shadow:inset 0 1px rgba(255,255,255,.42),0 0 6px rgba(99,205,240,.34)}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b9efff 0,#68caec 48%,#3494c2 100%)}
*::-webkit-scrollbar-corner{background:#0a2949}

/* DA verrouillée Talismans, déclinée uniquement sur Équipement et Chaudière. */
#furnace,
#chief-gear{
  max-width:none;
  color:#fff;
  background:
    radial-gradient(ellipse 58% 58% at 50% 43%,rgba(142,229,255,.38) 0,rgba(79,180,222,.22) 42%,transparent 78%),
    linear-gradient(180deg,#184d7d 0,#236b9b 38%,#16476f 100%);
}
#furnace h1,#furnace h2,#furnace button,#furnace strong,#furnace small,#furnace label,
#chief-gear h1,#chief-gear h2,#chief-gear button,#chief-gear strong,#chief-gear small{
  font-family:var(--site-font);
  letter-spacing:.01em;
}
#furnace .section-head,
#chief-gear .section-head{position:relative;max-width:1240px;margin-inline:auto;justify-content:center;text-align:center;padding-inline:64px}
#furnace .section-head>.back,
#chief-gear .section-head>.back{position:absolute;left:0;top:4px;background:#8edfff;border-color:#d8f7ff;color:#15557e;box-shadow:0 5px 0 #397faa}
#furnace .section-head>div,
#chief-gear .section-head>div{max-width:760px;margin-inline:auto}
#furnace .section-head p:last-child,
#chief-gear .section-head p:last-child{color:#d4efff}
#furnace .section-head .eyebrow,
#chief-gear .section-head .eyebrow{color:#80dcff}

#furnace .furnace-stage,
#furnace .timeline,
#furnace #stockMode,
#furnace #furnaceResult{
  border:2px solid rgba(131,203,240,.46);
  background:rgba(8,43,79,.88);
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 14px 35px rgba(1,22,48,.34);
}
#furnace .furnace-stage{
  background:
    radial-gradient(circle at 50% 46%,rgba(197,246,255,.38),rgba(78,174,215,.15) 44%,rgba(7,39,78,.32) 80%),
    rgba(8,43,79,.78);
}
#furnace .furnace-art{background:linear-gradient(145deg,#397fa7,#102f50);border-color:#8edfff;box-shadow:0 0 24px rgba(110,220,255,.72),0 12px 28px rgba(1,23,49,.42)}
#furnace .furnace-art:after{border-color:#69afd0}
#furnace .chimney{background:#285f82;border-color:#8ed5ee}
#furnace .furnace-art span{background:#0b3157;border-color:#8edfff;color:#fff;box-shadow:0 4px 12px rgba(1,20,43,.36)}
#furnace .before-after{padding:9px 15px;border:1px solid rgba(148,215,246,.35);border-radius:16px;background:rgba(8,40,76,.58);box-shadow:inset 0 1px rgba(255,255,255,.12)}
#furnace .before-after small{color:#9eddf7}
#furnace .before-after strong{color:#fff;text-shadow:0 2px 3px rgba(1,24,49,.8)}
#furnace .before-after>span{color:#e9fbff;font-size:26px;text-shadow:0 0 10px #82dcff}

#furnace .mode-switch{border:1px solid rgba(131,203,240,.4);background:rgba(8,43,79,.88);box-shadow:inset 0 1px rgba(255,255,255,.13),0 7px 18px rgba(1,22,48,.28)}
#furnace .mode-switch button{color:#cfeeff;font-weight:850}
#furnace .mode-switch button:hover{background:rgba(91,177,220,.24);color:#fff}
#furnace .mode-switch button.active{color:#fff;background:linear-gradient(180deg,#4b9fd0,#287cac);box-shadow:0 0 0 1px rgba(168,226,252,.42),0 4px 12px rgba(1,26,54,.34)}
#furnace .level-node{color:#d9f4ff;border-color:rgba(134,207,241,.46);background:linear-gradient(145deg,#245f8d,#17466e);box-shadow:inset 0 1px rgba(255,255,255,.12),0 6px 14px rgba(1,23,49,.28)}
#furnace .level-node small{color:#9eddf7}
#furnace .level-node:hover{border-color:#8edfff;background:linear-gradient(145deg,#347dab,#1d5882)}
#furnace .level-node.in-range{border-color:#63cff3;background:linear-gradient(145deg,#348dbc,#21658f)}
#furnace .level-node.active{border-color:#ffe36f;background:linear-gradient(145deg,#4aa2cb,#287ba8);box-shadow:0 0 5px 2px rgba(255,244,170,.88),0 0 15px 6px rgba(255,201,45,.46),0 7px 16px rgba(2,29,57,.34)}
#furnace .data-note{color:#b9def0;text-align:center}
#furnace #furnaceResult{max-width:900px;margin:18px auto 0;padding:14px 18px 20px;border-radius:26px}
#furnace #furnaceResult h2{margin:0 0 14px;padding:9px;text-align:center;border-radius:16px;background:linear-gradient(#4b8dc3,#3977ae);color:#fff;font-size:20px;text-shadow:0 2px 2px #16466d}
#furnace #furnaceResult .eyebrow{color:#80dcff;text-align:center}
#furnace .resource{border-color:rgba(131,203,240,.42);background:linear-gradient(145deg,rgba(51,119,169,.82),rgba(16,60,99,.92));box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 12px rgba(1,22,48,.22)}
#furnace .resource span{color:#aee2f7}
#furnace .resource strong{color:#fff}
#furnace .steps{border-color:rgba(139,207,237,.3)}
#furnace .steps summary{color:#8edfff}
#furnace .step{color:#d8effa;border-color:rgba(139,207,237,.2)}
#furnace .stock-panel label{color:#cfeeff}
#furnace .stock-panel input{color:#fff;border-color:rgba(142,215,246,.5);background:rgba(7,36,69,.72)}
#furnace .primary{background:linear-gradient(180deg,#58b9e3,#267eb4);box-shadow:0 5px 0 #185b87,0 8px 18px rgba(1,22,48,.28)}

#chief-gear .gear-orbit{border-width:2px;border-color:rgba(183,232,255,.34)}
#chief-gear #chiefResult{border-color:rgba(131,203,240,.46);background:rgba(8,43,79,.9)}
#chief-gear #chiefResult .upgrade-resource strong{color:#fff}
#chief-gear #chiefResult .upgrade-resource small{color:#b9def0}

@media(max-width:600px){
  #furnace .section-head,#chief-gear .section-head{padding-inline:52px}
  #furnace .section-head>.back,#chief-gear .section-head>.back{left:4px}
}

#t12 .t12-page-panel{margin-top:0}

/* Verrou final du visuel central Équipement : détouré, sans aucune case. */
#chief-gear .gear-orbit .gear-center-item[class*="skin-"]{
  width:150px!important;
  height:150px!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
}
#chief-gear .gear-orbit .gear-center-item .gear-skin-p6{
  width:100%!important;
  height:100%!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{width:120px!important;height:120px!important}
}
@media(max-width:520px){
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{width:96px!important;height:96px!important}
}

/* Aucun ovale décoratif derrière le visuel central Équipement. */
#chief-gear .gear-orbit::before,
#chief-gear .gear-orbit::after{
  content:none!important;
  display:none!important;
}

/* Cases Équipement alignées sur les cases de gear validées dans Talismans. */
#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"]{
  width:94px;
  height:94px;
  padding:0;
  border:3px solid #e17373;
  border-radius:22px;
  color:#fff;
  background:
    radial-gradient(ellipse 108% 66% at 8% 100%,rgba(255,229,235,.96) 0,rgba(255,218,226,.9) 18%,rgba(255,204,213,.78) 36%,rgba(250,177,187,.56) 55%,rgba(238,120,133,.28) 73%,transparent 92%),
    linear-gradient(180deg,#902d26 0,#a95250 44%,#d79b9b 69%,#f3c3c3 100%);
  box-shadow:
    inset 10px -14px 22px rgba(255,241,243,.3),
    inset 0 10px 17px rgba(103,12,25,.22),
    0 0 0 2px rgba(112,18,29,.24),
    0 9px 15px rgba(31,10,25,.34),
    0 0 24px rgba(220,55,63,.38);
}
#chief-gear .gear-orbit .orbit-current>span,
#chief-gear .gear-orbit .target-item>span{
  display:grid;
  place-items:center;
  width:100%;
  height:72px;
  margin:0;
  background:transparent;
  border:0;
}
#chief-gear .gear-orbit .orbit-current .gear-skin-p6,
#chief-gear .gear-orbit .target-item .gear-skin-p6{
  width:72px;
  height:72px;
  margin:auto;
}
#chief-gear .gear-orbit .orbit-current>small,
#chief-gear .gear-orbit .target-item>small{
  display:block;
  height:16px;
  margin:0;
  color:#fff;
  font-size:8px;
  font-weight:900;
  line-height:16px;
  text-shadow:0 2px 3px rgba(76,12,24,.72);
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current{
  border-color:#e17373;
  box-shadow:
    0 10px 20px rgba(31,20,45,.34),
    0 0 6px 2px rgba(255,244,170,.95),
    0 0 16px 7px rgba(255,211,55,.82),
    0 0 30px 12px rgba(255,174,24,.48);
}
@media(max-width:760px){
  #chief-gear .gear-orbit .orbit-current[class*="skin-"],
  #chief-gear .gear-orbit .target-item[class*="skin-"]{width:74px;height:74px;border-radius:18px}
  #chief-gear .gear-orbit .orbit-current>span,
  #chief-gear .gear-orbit .target-item>span{height:57px}
  #chief-gear .gear-orbit .orbit-current .gear-skin-p6,
  #chief-gear .gear-orbit .target-item .gear-skin-p6{width:57px;height:57px}
  #chief-gear .gear-orbit .orbit-current>small,
  #chief-gear .gear-orbit .target-item>small{height:13px;line-height:13px;font-size:7px}
}
@media(max-width:520px){
  #chief-gear .gear-orbit .orbit-current[class*="skin-"],
  #chief-gear .gear-orbit .target-item[class*="skin-"]{width:58px;height:58px;border-radius:14px}
  #chief-gear .gear-orbit .orbit-current>span,
  #chief-gear .gear-orbit .target-item>span{height:44px}
  #chief-gear .gear-orbit .orbit-current .gear-skin-p6,
  #chief-gear .gear-orbit .target-item .gear-skin-p6{width:44px;height:44px}
  #chief-gear .gear-orbit .orbit-current>small,
  #chief-gear .gear-orbit .target-item>small{height:10px;line-height:10px;font-size:6px}
}

/* Marqueurs de rang WOS : palier en haut à gauche, étoiles en bas à gauche. */
#chief-gear .gear-orbit .orbit-current>small.gear-level-markers,
#chief-gear .gear-orbit .target-item>small.gear-level-markers{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  color:#ffe641;
  font-family:inherit;
  line-height:1;
  text-align:left;
  text-shadow:0 2px 2px rgba(80,24,10,.95),0 0 4px rgba(0,0,0,.72);
  pointer-events:none;
  z-index:3;
}
#chief-gear .gear-orbit .gear-rank{
  position:absolute;
  top:6px;
  left:7px;
  font-size:15px;
  font-weight:950;
  letter-spacing:-.03em;
}
#chief-gear .gear-orbit .gear-stars{
  position:absolute;
  left:7px;
  bottom:6px;
  color:#ffe641;
  font-size:13px;
  font-style:normal;
  font-weight:950;
  letter-spacing:-1px;
}
@media(max-width:760px){
  #chief-gear .gear-orbit .gear-rank{top:5px;left:5px;font-size:12px}
  #chief-gear .gear-orbit .gear-stars{left:5px;bottom:5px;font-size:11px}
}
@media(max-width:520px){
  #chief-gear .gear-orbit .gear-rank{top:4px;left:4px;font-size:10px}
  #chief-gear .gear-orbit .gear-stars{left:4px;bottom:4px;font-size:9px}
}

/* Sélecteur visuel Actuel / Objectif de la page Équipement. */
.skin-green{--skin-a:#64cf62;--skin-b:#175722}
.skin-blue{--skin-a:#68b9ff;--skin-b:#173f75}
.gear-level-skin{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(15,22,34,.34))}
#chief-gear .gear-orbit .orbit-current .gear-level-skin,
#chief-gear .gear-orbit .target-item .gear-level-skin{width:72px;height:72px;margin:auto}
#chief-gear .gear-orbit .gear-center-item .gear-level-skin{width:100%;height:100%;margin:0;object-fit:contain;filter:drop-shadow(0 8px 9px rgba(7,24,40,.35));animation:gear-center-float 3.6s ease-in-out infinite}

#levelPicker.gear-level-picker{max-width:820px;background:linear-gradient(180deg,#effbff,#cde5f1)}
#levelPicker.gear-level-picker .level-picker-grid{grid-template-columns:repeat(6,minmax(92px,1fr));gap:10px;padding:4px;max-height:65vh}
#levelPicker.gear-level-picker .gear-level-choice{
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1;
  min-height:0;
  padding:7px;
  overflow:hidden;
  border:3px solid var(--skin-a);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 38%,#fff),var(--skin-b));
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),0 6px 13px rgba(4,31,52,.24);
}
#levelPicker.gear-level-picker .gear-level-choice:hover{
  color:#fff;
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 52%,#fff),var(--skin-b));
  border-color:color-mix(in srgb,var(--skin-a) 64%,#fff);
  transform:translateY(-2px);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 9px 17px rgba(4,31,52,.32);
}
#levelPicker.gear-level-picker .gear-level-choice.active{
  color:#fff;
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 50%,#fff),var(--skin-b));
  border-color:#ffe66d;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 0 8px 3px rgba(255,230,109,.82),0 8px 17px rgba(4,31,52,.3);
}
.gear-choice-visual{display:grid;place-items:center;width:90%;height:90%}
.gear-choice-visual .gear-level-skin{width:100%;height:100%;object-fit:contain}
.gear-choice-markers{position:absolute;inset:0;pointer-events:none;text-shadow:0 2px 2px rgba(38,20,0,.92),0 0 3px rgba(38,20,0,.7)}
.gear-choice-rank{position:absolute;top:5px;left:7px;color:#ffe22d;font-size:17px;font-weight:950;letter-spacing:-.04em}
.gear-choice-stars{position:absolute;left:6px;bottom:5px;color:#ffd532;font-size:14px;font-style:normal;font-weight:950;letter-spacing:-1px}
@media(max-width:760px){
  #levelPicker.gear-level-picker .level-picker-grid{grid-template-columns:repeat(4,minmax(76px,1fr));gap:8px}
  #chief-gear .gear-orbit .orbit-current .gear-level-skin,
  #chief-gear .gear-orbit .target-item .gear-level-skin{width:57px;height:57px}
}
@media(max-width:520px){
  #levelPicker.gear-level-picker .level-picker-grid{grid-template-columns:repeat(3,minmax(72px,1fr));gap:7px}
  .gear-choice-rank{top:4px;left:5px;font-size:14px}
  .gear-choice-stars{left:5px;bottom:4px;font-size:11px}
  #chief-gear .gear-orbit .orbit-current .gear-level-skin,
  #chief-gear .gear-orbit .target-item .gear-level-skin{width:44px;height:44px}
}

/* Palettes plus franches et fonds dynamiques pour toutes les cases Équipement. */
.skin-green{--skin-a:#4fd45a;--skin-b:#12652b}
.skin-blue{--skin-a:#43aaff;--skin-b:#174b98}
.skin-epic{--skin-a:#a557f2;--skin-b:#571c9e}
.skin-mythic{--skin-a:#ffb32f;--skin-b:#a84c08}
.skin-red{--skin-a:#e17373;--skin-b:#902d26}

#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"]{
  opacity:1;
  border-color:color-mix(in srgb,var(--skin-a) 78%,#fff)!important;
  background:
    radial-gradient(circle at 48% 30%,color-mix(in srgb,var(--skin-a) 78%,#fff) 0,color-mix(in srgb,var(--skin-a) 66%,var(--skin-b)) 48%,var(--skin-b) 100%)!important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.3),
    inset 0 -12px 18px color-mix(in srgb,var(--skin-b) 62%,transparent),
    0 8px 17px rgba(3,27,49,.32)!important;
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  filter:saturate(1.1) contrast(1.05);
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.4),
    0 13px 22px rgba(18,25,43,.36),
    0 0 31px color-mix(in srgb,var(--skin-a) 72%,transparent)!important;
}

#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"]{
  border-color:color-mix(in srgb,var(--skin-a) 80%,#fff);
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 76%,#fff),var(--skin-b) 88%);
  filter:saturate(1.06) contrast(1.03);
}
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"]:hover{
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 88%,#fff),color-mix(in srgb,var(--skin-b) 88%,#071522));
}
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"].active{
  border-color:#ffe45f;
  background:linear-gradient(145deg,color-mix(in srgb,var(--skin-a) 84%,#fff),var(--skin-b));
}
#levelPicker.gear-level-picker .gear-level-max{grid-column:1/-1;margin:12px 0;padding:22px;border:1px solid #79cbe7;border-radius:15px;background:#dff5fc;color:#155b79;text-align:center;font-weight:900}

/* Cases originales des quatre matériaux d'amélioration d'équipement. */
#chief-gear .gear-material-skin{
  width:84px;
  height:84px;
  padding:0;
  border:0;
  border-radius:18px;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#chief-gear .gear-material-skin img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,15,39,.35))}
@media(max-width:600px){#chief-gear .gear-material-skin{width:64px;height:64px}}

/* Les sprites HD sont déjà éclairés : on conserve uniquement les ombres de relief. */
#chief-gear .gear-orbit .gear-level-skin,
#chief-charms .charm-gear-selector .gear-level-skin,
#levelPicker.gear-level-picker .gear-level-skin{
  filter:drop-shadow(0 5px 5px rgba(15,22,34,.34))!important;
}
#chief-gear .gear-orbit .gear-center-item .gear-level-skin{
  opacity:.78;
  filter:drop-shadow(0 8px 9px rgba(7,24,40,.35))!important;
}

/* Passe mobile dédiée à l'Équipement du Chef.
   Ces règles n'interviennent jamais sur la composition desktop validée. */
@media(max-width:540px){
  #chief-gear .upgrade-grid,
  #chief-gear .gear-orbit{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  #chief-gear .gear-orbit{
    height:clamp(416px,126vw,480px);
    min-height:0;
    margin-top:10px;
    overflow:hidden;
  }
  #chief-gear .gear-orbit .orbit-center{
    width:min(45vw,168px);
    min-height:min(45vw,168px);
  }
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{
    width:min(45vw,168px)!important;
    height:min(45vw,168px)!important;
    opacity:.78;
    z-index:1;
  }
  #chief-gear .gear-orbit .orbit-pair{
    width:min(46vw,150px);
    height:70px;
    gap:1px;
    z-index:3;
  }
  #chief-gear .gear-orbit .orbit-current[class*="skin-"]{width:68px;height:68px;border-radius:14px}
  #chief-gear .gear-orbit .target-item[class*="skin-"]{width:68px;height:68px;border-radius:14px}
  #chief-gear .gear-orbit .orbit-current>span,
  #chief-gear .gear-orbit .target-item>span{height:45px}
  #chief-gear .gear-orbit .orbit-current .gear-skin-p6,
  #chief-gear .gear-orbit .target-item .gear-skin-p6,
  #chief-gear .gear-orbit .orbit-current .gear-level-skin,
  #chief-gear .gear-orbit .target-item .gear-level-skin{width:45px;height:45px}
  #chief-gear .gear-orbit .orbit-current>small,
  #chief-gear .gear-orbit .target-item>small{height:10px;line-height:10px;font-size:6px}
  #chief-gear .gear-orbit .orbit-chevron{flex:0 0 11px;width:11px;font-size:19px;line-height:1;text-align:center}
  #chief-gear .gear-orbit .gear-rank{top:3px;left:4px;font-size:9px}
  #chief-gear .gear-orbit .gear-stars{left:4px;bottom:3px;font-size:8px}

  /* Les six paires restent intégralement dans le viewport, sans espace vide excessif. */
  #chief-gear .gear-orbit .orbit-pair:nth-child(1){left:max(2px,env(safe-area-inset-left));top:16px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(4){right:max(2px,env(safe-area-inset-right));top:16px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(2){left:max(0px,env(safe-area-inset-left));top:calc(50% - 30px)}
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){right:max(0px,env(safe-area-inset-right));top:calc(50% - 30px)}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3){left:max(2px,env(safe-area-inset-left));top:auto;bottom:16px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){right:max(2px,env(safe-area-inset-right));top:auto;bottom:16px}

  /* Vraie modale mobile : deux grandes cartes et un seul défilement vertical interne. */
  #levelPicker.gear-level-picker{
    width:calc(100% - 20px);
    max-width:none;
    max-height:calc(100dvh - 20px);
    margin:auto;
    border-radius:22px;
    overflow:hidden;
  }
  #levelPicker.gear-level-picker form{
    display:flex;
    flex-direction:column;
    max-height:calc(100dvh - 20px);
    min-height:0;
    padding:18px 13px calc(14px + env(safe-area-inset-bottom));
  }
  #levelPicker.gear-level-picker h2{padding-right:38px;margin:3px 0 12px;font-size:clamp(22px,7vw,28px)}
  #levelPicker.gear-level-picker .dialog-close{top:12px;right:12px;z-index:2}
  #levelPicker.gear-level-picker .level-picker-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    gap:8px;
    padding:2px 2px 6px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  #levelPicker.gear-level-picker .gear-level-choice{
    width:100%;
    min-width:0;
    aspect-ratio:1.16;
    padding:5px;
    border-width:3px;
    border-radius:15px;
  }
  #levelPicker.gear-level-picker .gear-choice-visual{width:86%;height:86%}
  #levelPicker.gear-level-picker .gear-choice-rank{top:4px;left:5px;font-size:14px}
  #levelPicker.gear-level-picker .gear-choice-stars{left:5px;bottom:4px;font-size:11px}
  #levelPicker.gear-level-picker .gear-level-max{margin:6px 0;padding:16px}
}

@media(max-width:360px){
  #chief-gear .gear-orbit{height:416px}
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{width:54px!important;height:54px!important}
  #chief-gear .gear-orbit .orbit-pair{width:min(46vw,150px)}
  #chief-gear .gear-orbit .orbit-current[class*="skin-"]{width:68px;height:68px}
  #chief-gear .gear-orbit .target-item[class*="skin-"]{width:68px;height:68px}
  #chief-gear .gear-orbit .orbit-current>span,
  #chief-gear .gear-orbit .target-item>span{height:45px}
  #chief-gear .gear-orbit .orbit-current .gear-skin-p6,
  #chief-gear .gear-orbit .target-item .gear-skin-p6,
  #chief-gear .gear-orbit .orbit-current .gear-level-skin,
  #chief-gear .gear-orbit .target-item .gear-level-skin{width:45px;height:45px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(1),
  #chief-gear .gear-orbit .orbit-pair:nth-child(4){top:12px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3),
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){bottom:12px}
}

/* Le sélecteur Gear reprend exactement le gabarit de sélection des Talismans.
   Les skins, rangs et étoiles restent ceux des équipements. */
#levelPicker.gear-level-picker{
  max-width:720px;
  background:
    radial-gradient(ellipse 78% 58% at 50% 38%,rgba(105,211,246,.28),transparent 72%),
    linear-gradient(180deg,#236b9b 0,#1b5c89 48%,#123f68 100%);
}
#levelPicker.gear-level-picker .level-picker-grid{
  grid-template-columns:repeat(5,minmax(92px,1fr));
  gap:10px;
  padding:3px;
  max-height:65vh;
}
#levelPicker.gear-level-picker .gear-level-choice{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:138px;
  aspect-ratio:auto;
  padding:8px 7px 10px;
  border-radius:11px;
}
#levelPicker.gear-level-picker .gear-choice-visual{width:78px;height:78px}

@media(max-width:600px){
  #levelPicker.gear-level-picker{
    width:calc(100% - 30px);
    max-height:none;
    overflow:visible;
  }
  #levelPicker.gear-level-picker form{
    display:block;
    max-height:none;
    padding:28px;
  }
  #levelPicker.gear-level-picker h2{padding-right:0;margin-block:.83em;font-size:1.5em}
  #levelPicker.gear-level-picker .dialog-close{top:15px;right:15px}
  #levelPicker.gear-level-picker .level-picker-grid{
    grid-template-columns:repeat(3,minmax(82px,1fr));
    gap:7px;
    padding:3px;
    /* 65vh, mais jamais plus que la hauteur visible (Safari : barres du navigateur déduites),
       moins l'en-tête et les marges de la fenêtre (~175 px) : la fenêtre entière reste à l'écran. */
    max-height:min(65vh,calc(100dvh - 205px));
    overflow-x:hidden;
    overflow-y:auto;
  }
  #levelPicker.gear-level-picker .gear-level-choice{min-height:122px}
  #levelPicker.gear-level-picker .gear-choice-visual{width:66px;height:66px}
  #levelPicker.gear-level-picker .gear-choice-rank{top:5px;left:7px;font-size:17px}
  #levelPicker.gear-level-picker .gear-choice-stars{left:6px;bottom:5px;font-size:14px}
}

/* Les deux sélecteurs de niveaux gardent leur page en arrière-plan immobile. */
body.level-picker-open{
  position:fixed;
  top:var(--level-picker-page-offset,0);
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
  overscroll-behavior:none;
}

/* La gouttière et le retrait droit empêchent la scrollbar de recouvrir les cartes. */
#levelPicker .level-picker-grid{
  scrollbar-gutter:stable;
  margin-right:-10px;
  padding-right:14px;
  overscroll-behavior:contain;
}

/* Talismans mobile : paires actuel/objectif compactes et de taille homogène. */
@media(max-width:540px){
  #chief-charms .charm-triad .triad-pair{gap:1px}
  #chief-charms .charm-triad .triad-pair>span{width:12px;font-size:22px}
  #chief-charms .charm-triad .triad-level.current,
  #chief-charms .charm-triad .triad-level.target{width:60px;height:92px}
  #chief-charms .charm-triad .triad-level.current .charm-skin,
  #chief-charms .charm-triad .triad-level.target .charm-skin{width:53px;height:53px}

  /* Les deux équipements médians restent entièrement dans la zone visible. */
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2){left:4px;top:220px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){right:4px;top:214px}
}

/* Essai mobile : équipement flottant derrière les cases et gouttière du sélecteur. */
@media(max-width:540px){
  #chief-gear .gear-orbit .orbit-center{
    width:76%;
    min-height:0;
    aspect-ratio:1;
    z-index:1;
    opacity:.25;
  }
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"]{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1;
    opacity:1!important;
  }
  #chief-gear .gear-orbit .gear-center-item .gear-level-skin{opacity:1!important}
}
@media(max-width:600px){
  #levelPicker.gear-level-picker .level-picker-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-right:-10px;
    padding:3px 14px 3px 3px;
    scrollbar-gutter:stable;
  }
  #levelPicker.gear-level-picker .gear-level-choice{min-width:0}
  #levelPicker.gear-level-picker .gear-choice-visual{max-width:100%}
}

/* Harmonisation avec la présentation Talismans. */
#chief-charms .charm-triad .triad-level.current{width:72px;height:92px}
#chief-charms .charm-triad .triad-level.current .charm-skin{width:68px;height:68px}
@media(max-width:540px){
  #chief-charms .charm-triad .triad-level.current .charm-skin{width:53px;height:53px}
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  box-shadow:
    0 10px 20px rgba(31,20,45,.34),
    0 0 6px 2px rgba(255,244,170,.95),
    0 0 16px 7px rgba(255,211,55,.82),
    0 0 34px 13px rgba(255,169,22,.46)!important;
}

/* Desktop : mêmes ancrages que les cases Équipement de Talismans.
   Les sélecteurs Talismans mesurent 112 × 142 px ; leur case est centrée
   avec 9 px de retrait horizontal et 6 px au-dessus. */
@media(min-width:761px){
  #chief-gear .gear-orbit .orbit-pair{
    width:225px;
    height:142px;
    padding:6px 0 0 9px;
    gap:5px;
    justify-content:flex-start;
    align-items:flex-start;
    bottom:auto;
  }
  #chief-gear .gear-orbit .orbit-pair .orbit-current,
  #chief-gear .gear-orbit .orbit-pair .target-item{flex:0 0 94px}
  #chief-gear .gear-orbit .orbit-pair .orbit-chevron{
    flex:0 0 18px;
    width:18px;
    height:94px;
    display:grid;
    place-items:center;
  }
  #chief-gear .gear-orbit .orbit-pair:nth-child(1){left:65px;right:auto;top:55px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(2){left:20px;right:auto;top:295px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3){left:65px;right:auto;top:535px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(4){left:auto;right:65px;top:49px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){left:auto;right:20px;top:289px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){left:auto;right:65px;top:529px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(n+4){
    flex-direction:row;
    padding:6px 9px 0 0;
  }
  #chief-gear .gear-orbit .orbit-pair:nth-child(n+4) .orbit-chevron{transform:none}
}

/* Retrait du contour pour les deux paires médianes, comme dans Talismans.
   Les règles tablet/mobile antérieures les plaçaient au ras du cadre. */
@media(max-width:760px){
  #chief-gear .gear-orbit .orbit-pair:nth-child(2){left:max(9px,env(safe-area-inset-left));right:auto}
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){right:max(9px,env(safe-area-inset-right));left:auto}
}

@media(max-width:360px){
  #chief-gear .gear-orbit .orbit-pair:nth-child(2),
  #chief-gear .gear-orbit .orbit-pair:nth-child(5){width:calc((100% - 18px)/2);gap:0}
  #chief-gear .gear-orbit .orbit-pair:nth-child(2) .orbit-chevron,
  #chief-gear .gear-orbit .orbit-pair:nth-child(5) .orbit-chevron{flex-basis:8px;width:8px}
}

/* Taille du dessin mesurée sur la capture P5, sans dépendre du padding PNG.
   Ces enveloppes suivent la case complète, y compris son contour. */
#chief-gear .gear-orbit .orbit-current>span,
#chief-gear .gear-orbit .target-item>span{
  position:absolute;
  inset:-3px;
  width:auto!important;
  height:auto!important;
  margin:0;
  display:block;
}
#chief-charms .charm-gear-selector>span .gear-art-frame{
  position:absolute;
  inset:-3px;
  display:block;
  pointer-events:none;
}
#chief-charms .charm-gear-selector.selected>span .gear-art-frame{inset:-3.5px}
#levelPicker.gear-level-picker .gear-choice-visual{position:relative}
#chief-gear .gear-orbit .orbit-current>span .gear-level-skin,
#chief-gear .gear-orbit .target-item>span .gear-level-skin,
#chief-charms .charm-gear-selector>span .gear-art-frame .gear-skin-p6,
#chief-charms .charm-gear-selector>span .gear-art-frame .gear-level-skin,
#levelPicker.gear-level-picker .gear-choice-visual .gear-level-skin{
  position:absolute;
  width:var(--gear-art-width)!important;
  height:var(--gear-art-height)!important;
  left:var(--gear-art-left);
  top:var(--gear-art-top);
  margin:0!important;
  transform:translate(var(--gear-art-offset-x),var(--gear-art-offset-y))!important;
  object-fit:contain;
  pointer-events:none;
}

/* Desktop : colonne centrale uniforme pour réserver les côtés aux publicités. */
@media(min-width:761px){
  #chief-gear .gear-orbit,
  #chief-charms .charm-workspace,
  #chief-gear #chiefResult,
  #chief-charms #charmResult{
    width:100%;
    max-width:900px;
    margin-inline:auto;
  }
}

/* Same segmented sub-level selection as Talismans, inside each gear card. */
#levelPicker.gear-level-picker .gear-choice-art{position:relative;display:grid;place-items:center;width:100%;min-width:0;flex:1;min-height:78px}
#levelPicker.gear-level-picker .gear-level-group{cursor:default;overflow:visible}
#levelPicker.gear-level-picker .gear-level-group.disabled{opacity:.35;filter:grayscale(.55)}
#levelPicker.gear-level-picker .gear-level-group .picker-substep-panel{flex:none;margin-top:4px}
@media(max-width:600px){#levelPicker.gear-level-picker .gear-choice-art{min-height:66px}}

/* Current and target gear show the selected sub-level below their card. */
#chief-gear .gear-orbit .gear-progress{
  position:absolute;left:3px;right:3px;bottom:-17px;
  display:flex;height:13px;gap:2px;padding:1px;
  border:2px solid #e9bd5b;border-radius:5px;background:#8b5d30;
  box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);
  font-style:normal;
}
#chief-gear .gear-orbit .gear-progress>span{
  flex:1;min-width:0;border-radius:2px;
  background:linear-gradient(180deg,#9b713d 0,#875d30 52%,#70451f 100%);
  box-shadow:inset 0 1px rgba(224,169,90,.38),inset 0 -1px rgba(69,35,13,.32);
}
#chief-gear .gear-orbit .gear-progress>span.filled{
  background:linear-gradient(180deg,#8ed14b 0,#65b637 58%,#4c942b 100%);
  box-shadow:inset 0 1px rgba(205,246,126,.58),inset 0 -1px rgba(47,105,24,.28),0 0 4px rgba(113,205,61,.42);
}
@media(max-width:540px){
  #chief-gear .gear-orbit .gear-progress{height:10px;bottom:-14px;border-width:1.5px;gap:1px}
  #chief-gear .gear-orbit .orbit-pair:nth-child(3),
  #chief-gear .gear-orbit .orbit-pair:nth-child(6){bottom:20px}
}

/* Clicking the gear chooses stage zero; the track contains only stages 1+. */
#levelPicker.gear-level-picker .gear-zero-choice{
  display:grid;place-items:center;flex:1;align-self:stretch;min-width:0;
  margin:0;padding:0;border:0;border-radius:7px;background:transparent;
  color:inherit;font:inherit;cursor:pointer;
}
#levelPicker.gear-level-picker .gear-zero-choice:focus-visible{
  outline:2px solid #fff4a8;outline-offset:2px;
}
#levelPicker.gear-level-picker .gear-zero-choice:disabled{opacity:.35;cursor:not-allowed}
/* Talismans : même principe, le talisman choisit le niveau jauge vide ; l'image et le niveau gardent leur place. */
#levelPicker .charm-zero-choice{
  display:flex;flex-direction:column;align-items:center;margin:0;padding:0;border:0;border-radius:7px;
  background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer;
}
#levelPicker .charm-zero-choice:focus-visible{outline:2px solid #fff4a8;outline-offset:2px}
#levelPicker .charm-zero-choice:disabled{opacity:.35;cursor:not-allowed}
#levelPicker .charm-zero-choice:not(:disabled):hover{background:rgba(255,255,255,.08)}
#levelPicker.gear-level-picker .gear-zero-choice:not(:disabled):hover{
  background:rgba(255,255,255,.08);
}


/* Visuel central Équipement : la transparence dépend du périphérique.
   Exception : une fenêtre desktop de 540 px ou moins prend la mise en page mobile
   (visuel derrière les cases) et donc la même transparence que sur mobile. */
@media(hover:hover) and (pointer:fine) and (min-width:541px){
  #chief-gear .gear-orbit .orbit-center,
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"],
  #chief-gear .gear-orbit .gear-center-item .gear-level-skin{opacity:1!important}
}
@media(hover:none), (pointer:coarse){
  #chief-gear .gear-orbit .orbit-center{opacity:.25!important}
  #chief-gear .gear-orbit .gear-center-item[class*="skin-"],
  #chief-gear .gear-orbit .gear-center-item .gear-level-skin{opacity:1!important}
}
@media(min-width:541px) and (max-width:760px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2){top:240px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:234px}
  #chief-charms .charm-triad .triad-charm{width:160px}
  #chief-charms .charm-triad .triad-charm-1{left:125px}
  #chief-charms .charm-triad .triad-charm-2{left:-5px}
  #chief-charms .charm-triad .triad-charm-3{right:-5px}
}


/* Les deux équipements latéraux du milieu restent exactement sur le même axe. */
@media(max-width:540px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:220px}
}
@media(min-width:541px) and (max-width:760px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:240px}
}

/* Cases Équipement : même relief WOS que les cases Talismans.
   Le rouge conserve strictement sa palette validée ; les autres paliers
   reprennent leur couleur propre, avec une lumière blanche interne et un
   contour porté par la nuance la plus sombre de la case. */
#chief-gear .gear-orbit .orbit-current.skin-green,
#chief-gear .gear-orbit .target-item.skin-green{--gear-case-light:#4fd45a;--gear-case-mid:#2d9b43;--gear-case-dark:#12652b}
#chief-gear .gear-orbit .orbit-current.skin-blue,
#chief-gear .gear-orbit .target-item.skin-blue{--gear-case-light:#43aaff;--gear-case-mid:#287bc9;--gear-case-dark:#174b98}
#chief-gear .gear-orbit .orbit-current.skin-epic,
#chief-gear .gear-orbit .target-item.skin-epic{--gear-case-light:#a557f2;--gear-case-mid:#7937bd;--gear-case-dark:#571c9e}
#chief-gear .gear-orbit .orbit-current.skin-mythic,
#chief-gear .gear-orbit .target-item.skin-mythic{--gear-case-light:#ffb32f;--gear-case-mid:#d77b14;--gear-case-dark:#a84c08}

#chief-gear .gear-orbit .orbit-current.skin-green,
#chief-gear .gear-orbit .target-item.skin-green,
#chief-gear .gear-orbit .orbit-current.skin-blue,
#chief-gear .gear-orbit .target-item.skin-blue,
#chief-gear .gear-orbit .orbit-current.skin-epic,
#chief-gear .gear-orbit .target-item.skin-epic,
#chief-gear .gear-orbit .orbit-current.skin-mythic,
#chief-gear .gear-orbit .target-item.skin-mythic{
  border-color:var(--gear-case-dark)!important;
  background:
    radial-gradient(circle at 34% 24%,rgba(255,255,255,.48),transparent 38%),
    linear-gradient(145deg,var(--gear-case-light) 0,var(--gear-case-mid) 55%,var(--gear-case-dark) 100%)!important;
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.24),
    inset 0 -9px 15px color-mix(in srgb,var(--gear-case-dark) 72%,transparent),
    0 7px 17px rgba(3,27,56,.32)!important;
}
#chief-gear .gear-orbit .orbit-current.skin-red,
#chief-gear .gear-orbit .target-item.skin-red{
  border-color:#e17373!important;
  background:
    radial-gradient(circle at 34% 24%,rgba(255,154,143,.48),transparent 38%),
    linear-gradient(145deg,#b46463 0,#a54c48 55%,#902d26 100%)!important;
  box-shadow:inset 0 0 0 3px rgba(255,190,174,.24),inset 0 -9px 15px rgba(75,5,24,.3),0 7px 17px rgba(3,27,56,.32)!important;
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.4),
    0 13px 22px rgba(18,25,43,.36),
    0 0 31px color-mix(in srgb,var(--skin-a) 72%,transparent)!important;
}


/* Dégradé diagonal validé pour les cases Équipement : blanc bas-gauche,
   couleur profonde haut-droite, avec le contour sur la nuance finale. */
#chief-gear .gear-orbit .orbit-current.skin-green,
#chief-gear .gear-orbit .target-item.skin-green{--gear-case-pale:#dfffe0;--gear-case-base:#65d66a;--gear-case-dark:#12652b}
#chief-gear .gear-orbit .orbit-current.skin-blue,
#chief-gear .gear-orbit .target-item.skin-blue{--gear-case-pale:#dcefff;--gear-case-base:#5db2ff;--gear-case-dark:#174b98}
#chief-gear .gear-orbit .orbit-current.skin-epic,
#chief-gear .gear-orbit .target-item.skin-epic{--gear-case-pale:#f1dfff;--gear-case-base:#b268f3;--gear-case-dark:#571c9e}
#chief-gear .gear-orbit .orbit-current.skin-mythic,
#chief-gear .gear-orbit .target-item.skin-mythic{--gear-case-pale:#fff1ce;--gear-case-base:#ffc456;--gear-case-dark:#a84c08}
#chief-gear .gear-orbit .orbit-current.skin-red,
#chief-gear .gear-orbit .target-item.skin-red{--gear-case-pale:#f3c3c3;--gear-case-base:#b46463;--gear-case-dark:#902d26}

#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"]{
  border-color:var(--gear-case-dark)!important;
  background:linear-gradient(to top right,#fff 0%,var(--gear-case-pale) 22%,var(--gear-case-base) 58%,var(--gear-case-dark) 100%)!important;
  box-shadow:0 7px 17px rgba(3,27,56,.32)!important;
}
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  box-shadow:
    0 13px 22px rgba(18,25,43,.36),
    0 0 31px color-mix(in srgb,var(--skin-a) 72%,transparent)!important;
}


/* Ajustement validé : reflet blanc concentré dans le seul coin bas-gauche. */
#chief-gear .gear-orbit .orbit-current.skin-green,
#chief-gear .gear-orbit .target-item.skin-green{--gear-case-border:#27883c}
#chief-gear .gear-orbit .orbit-current.skin-blue,
#chief-gear .gear-orbit .target-item.skin-blue{--gear-case-border:#2869b4}
#chief-gear .gear-orbit .orbit-current.skin-epic,
#chief-gear .gear-orbit .target-item.skin-epic{--gear-case-border:#571c9e}
#chief-gear .gear-orbit .orbit-current.skin-mythic,
#chief-gear .gear-orbit .target-item.skin-mythic{--gear-case-border:#c76a12}
#chief-gear .gear-orbit .orbit-current.skin-red,
#chief-gear .gear-orbit .target-item.skin-red{--gear-case-border:#e17373}

#chief-gear .gear-orbit .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .target-item[class*="skin-"]{
  border-color:var(--gear-case-border)!important;
  background:linear-gradient(to top right,#fff 0%,var(--gear-case-pale) 10%,var(--gear-case-base) 36%,var(--gear-case-dark) 100%)!important;
}


/* Modale Équipement uniquement : les choix de niveau reprennent
   exactement le dégradé des cases de la page Équipement. */
#levelPicker.gear-level-picker .gear-level-choice.skin-green{--picker-case-pale:#dfffe0;--picker-case-base:#65d66a;--picker-case-dark:#12652b;--picker-case-border:#27883c}
#levelPicker.gear-level-picker .gear-level-choice.skin-blue{--picker-case-pale:#dcefff;--picker-case-base:#5db2ff;--picker-case-dark:#174b98;--picker-case-border:#2869b4}
#levelPicker.gear-level-picker .gear-level-choice.skin-epic{--picker-case-pale:#f1dfff;--picker-case-base:#b268f3;--picker-case-dark:#571c9e;--picker-case-border:#571c9e}
#levelPicker.gear-level-picker .gear-level-choice.skin-mythic{--picker-case-pale:#fff1ce;--picker-case-base:#ffc456;--picker-case-dark:#a84c08;--picker-case-border:#c76a12}
#levelPicker.gear-level-picker .gear-level-choice.skin-red{--picker-case-pale:#f3c3c3;--picker-case-base:#b46463;--picker-case-dark:#902d26;--picker-case-border:#e17373}

#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"]{
  border-color:var(--picker-case-border)!important;
  background:linear-gradient(to top right,#fff 0%,var(--picker-case-pale) 10%,var(--picker-case-base) 36%,var(--picker-case-dark) 100%)!important;
  box-shadow:0 7px 17px rgba(3,27,56,.32)!important;
}
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"].active{
  border-color:#ffe45f!important;
  box-shadow:0 0 8px 3px rgba(255,230,109,.82),0 8px 17px rgba(4,31,52,.3)!important;
}


/* Équipement : halo de sélection identique à celui du gear actif Talisman. */
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  border-width:3.5px!important;
  border-color:#e17373!important;
  filter:none!important;
  box-shadow:
    0 10px 20px rgba(31,20,45,.34),
    0 0 6px 2px rgba(255,244,170,.95),
    0 0 16px 7px rgba(255,211,55,.82),
    0 0 34px 13px rgba(255,169,22,.46)!important;
}

/* Modale Équipement : l’encadrement des sous-niveaux suit la couleur
   de la carte parente, au lieu de la palette bleue générique. */
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"] .picker-substep-panel{
  border-color:color-mix(in srgb,var(--picker-case-border) 78%,#fff)!important;
  background:color-mix(in srgb,var(--picker-case-base) 24%,transparent)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.24),0 2px 5px rgba(1,20,43,.16)!important;
}
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"] .picker-substeps{
  border-color:var(--picker-case-border)!important;
  background:color-mix(in srgb,var(--picker-case-dark) 72%,#352014)!important;
}


/* Équipement : le halo n’altère jamais la couleur du contour de rareté. */
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="from"] .orbit-current[class*="skin-"],
#chief-gear .gear-orbit .orbit-pair.selected[data-selected-direction="to"] .target-item[class*="skin-"]{
  border-color:var(--gear-case-border)!important;
}

/* Modale Équipement : la boîte de fond reste colorée par palier ;
   la barre segmentée conserve le style doré/brun de Talisman. */
#levelPicker.gear-level-picker .gear-level-choice[class*="skin-"] .picker-substeps{
  border-color:#e9bd5b!important;
  background:#8b5d30!important;
  box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42)!important;
}


/* Talismans mobile : les deux sélecteurs inférieurs se rapprochent légèrement du centre. */
@media(max-width:540px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(3){left:13px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){right:13px}
}


/* Talismans mobile : le cadre global descend sous les sous-niveaux inférieurs,
   sans déplacer les deux blocs du bas. */
@media(max-width:520px){
  #chief-charms .charm-workspace{height:584px}
}


/* Talismans mobile : chaque paire gauche/droite partage strictement le même axe horizontal. */
@media(max-width:520px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(4){top:25px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:220px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){top:451px}
}
@media(min-width:521px) and (max-width:540px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(4){top:35px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:220px}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){top:481px}
}


/* Verrouillage mobile : une même ordonnée est imposée aux deux colonnes. */
@media(max-width:520px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(1),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(4){top:25px!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:220px!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(3),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){top:451px!important}
}
@media(min-width:521px) and (max-width:540px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(1),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(4){top:35px!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){top:220px!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(3),
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){top:481px!important}
}


/* Talismans mobile : les quatre visuels de la rangée basse partagent une grille stricte.
   La cible ne change plus la taille ni l'axe du visuel, du niveau ou de la jauge. */
@media(max-width:520px){
  #chief-charms .charm-triad .triad-pair{
    height:74px;
    align-items:flex-start;
  }
  #chief-charms .charm-triad .triad-level,
  #chief-charms .charm-triad .triad-level.target{
    box-sizing:border-box;
    display:grid;
    grid-template-rows:45px 12px 5px;
    align-content:start;
    justify-items:center;
    width:62px;
    height:74px;
    padding:0;
  }
  #chief-charms .charm-triad .triad-level .charm-skin,
  #chief-charms .charm-triad .triad-level.target .charm-skin{
    width:45px;
    height:45px;
    margin:0;
  }
  #chief-charms .charm-triad .triad-level b{
    display:block;
    height:12px;
    margin:0;
    line-height:12px;
  }
  #chief-charms .charm-triad .triad-level .charm-progress{
    align-self:start;
    width:54px;
    height:5px;
    margin:0;
  }
  #chief-charms .charm-triad .triad-pair>span{
    align-self:center;
  }
}


/* Talismans mobile : alignement optique du récapitulatif et des projections.
   Chaque miniature réserve la même hauteur, y compris sans sous-niveau. */
@media(max-width:520px){
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm{
    display:grid;
    grid-template-rows:20px 4px;
    align-content:start;
    justify-items:center;
    height:25px;
    gap:1px;
  }
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm .charm-thumb{
    width:20px;
    height:20px;
  }
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm .charm-progress.compact{
    width:24px;
    height:3px;
    margin:1px 0 0;
  }

  /* Actuel et objectif utilisent le gabarit de l'actuel, sans exception. */
  #chief-charms .charm-triad .triad-level,
  #chief-charms .charm-triad .triad-level.target{
    grid-template-rows:45px 12px 13px;
    width:62px;
    height:74px;
  }
  #chief-charms .charm-triad .triad-level .charm-skin,
  #chief-charms .charm-triad .triad-level.target .charm-skin{
    width:45px;
    height:45px;
  }

  /* La jauge conserve le cadre doré et les segments réels du sélecteur. */
  #chief-charms .charm-triad .triad-level .charm-progress{
    box-sizing:border-box;
    align-self:start;
    width:54px;
    height:13px;
    margin:0;
    padding:1px;
    gap:2px;
    border:2px solid #e9bd5b;
    border-radius:5px;
    background:#8b5d30;
    box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);
  }
}


/* Talismans mobile : une jauge vide conserve la ligne des miniatures ;
   la projection cible reprend exactement le gabarit de l'actuel. */
#chief-charms .charm-progress.compact.empty{visibility:hidden}
@media(max-width:520px){
  #chief-charms .charm-triad .triad-level.current,
  #chief-charms .charm-triad .triad-level.target{
    width:62px!important;
    height:74px!important;
    grid-template-rows:45px 12px 13px!important;
  }
  #chief-charms .charm-triad .triad-level.current .charm-skin,
  #chief-charms .charm-triad .triad-level.target .charm-skin{
    display:block;
    width:45px!important;
    height:45px!important;
    margin:0!important;
    transform:none!important;
  }
  #chief-charms .charm-triad .triad-level .charm-progress{
    box-sizing:border-box;
    width:54px!important;
    height:13px!important;
    min-height:13px;
    padding:1px!important;
    gap:2px!important;
    margin:0!important;
    border:2px solid #e9bd5b!important;
    border-radius:5px!important;
    background:#8b5d30!important;
  }
}

/* Talismans mobile : positions miroir explicites et jauges compactes restaurées. */
@media(max-width:540px){
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(2){left:4px!important;right:auto!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(5){right:4px!important;left:auto!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(3){left:13px!important;right:auto!important}
  #chief-charms .charm-workspace .charm-gear-selector:nth-child(6){right:13px!important;left:auto!important}
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm{
    display:grid;grid-template-rows:20px 7px;justify-items:center;
    align-content:start;height:28px;gap:1px;
  }
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm .charm-progress.compact{
    box-sizing:border-box;display:flex;width:24px;height:7px!important;
    min-height:7px;margin:0!important;padding:0;gap:1px;
    border:1.5px solid #e9bd5b;border-radius:3px;
    background:#8b5d30;
    box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);
  }
  #chief-charms .charm-workspace .charm-gear-selector>i .mini-charm .charm-progress.compact>span{
    flex:1;min-width:0;border:0;border-radius:2px;
  }
}

/* Only the enlarged mobile control is styled; compact bars remain unchanged. */
#sublevelZoom{padding:8px;background:transparent;border:0;border-radius:0;box-shadow:none;width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);overflow:visible}
#sublevelZoom::backdrop{background:rgba(2,15,29,.38);backdrop-filter:none}
#sublevelZoom .zoom-substeps{display:flex;gap:6px;padding:6px;border:3px solid #e9bd5b;border-radius:12px;background:#8b5d30;box-shadow:inset 0 1px rgba(255,239,166,.48),0 3px 12px #0018}
#sublevelZoom .picker-substep{flex:1;min-width:44px;min-height:52px;padding:0;border:0;border-radius:5px;color:#fff;font-size:18px;background:linear-gradient(180deg,#9b713d,#875d30 52%,#70451f);box-shadow:inset 0 1px rgba(224,169,90,.38);touch-action:manipulation}
#sublevelZoom .picker-substep.filled{background:linear-gradient(180deg,#8ed14b,#65b637 58%,#4c942b)}
#sublevelZoom .picker-substep.active{outline:3px solid #fff4a8;outline-offset:1px}
#sublevelZoom .picker-substep:disabled{opacity:.28}

#sublevelZoom .zoom-substeps{touch-action:none;user-select:none;-webkit-user-select:none}

@keyframes sublevelPending{0%,100%{filter:brightness(1)}50%{filter:brightness(.5)}}
#sublevelZoom .picker-substep.pending{background:linear-gradient(180deg,#8ed14b,#65b637 58%,#4c942b);animation:sublevelPending 1.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){#sublevelZoom .picker-substep.pending{animation:none;filter:brightness(.65)}}

/* Nine-step talismans use the available mobile width without overflowing. */
#sublevelZoom:has(.picker-substep:nth-child(9)){width:min(600px,calc(100vw - 16px));max-width:calc(100vw - 16px);padding:4px}
#sublevelZoom .zoom-substeps:has(.picker-substep:nth-child(9)){gap:3px}
#sublevelZoom .zoom-substeps:has(.picker-substep:nth-child(9)) .picker-substep{flex:1 1 0;min-width:0;min-height:64px}
/* ===== src/home.css ===== */
/* Accueil : menu inspiré de l'interface Whiteout Survival. */
#home{
  max-width:none;
  min-height:calc(100svh - 76px);
  padding:clamp(16px,2.7vh,30px) max(22px,calc((100% - 1240px)/2)) clamp(18px,2.8vh,32px);
  color:#fff;
  background:linear-gradient(180deg,#124d81 0,#185e95 44%,#10466f 100%);
}
#home .home-shell{width:100%;max-width:900px;margin-inline:auto}
#home .home-welcome{--home-header-height:clamp(205px,16vw,220px);display:grid;grid-template-columns:calc(37.5% + 2.25px) minmax(0,calc(62.5% - 16.25px));gap:14px;margin-bottom:clamp(42px,6vh,52px)}
#home .home-brand-banner{
  min-height:0;
  height:var(--home-header-height);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:visible;
}
#home .home-brand-banner img{
  width:auto;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 4px rgba(7,27,53,.38));
  transform:translateY(0);
}
#home .home-intro{
  grid-column:2;
  box-sizing:border-box;
  min-height:0;
  height:var(--home-header-height);
  container-type:inline-size;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2.57cqi;
  padding:2.77cqi 3.95cqi;
  text-align:center;
  border:2px solid rgba(107,194,241,.48);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(7,45,81,.96),rgba(9,61,105,.91));
  box-shadow:inset 0 2px rgba(255,255,255,.12),0 9px 0 rgba(6,42,76,.5),0 17px 25px rgba(3,29,57,.26);
  overflow:hidden;
}
#home .home-intro h1{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;font-size:0;line-height:0;margin:0}
#home .mobile-copy-break{display:none}
#home .home-title-mark{display:block;width:min(94%,460px);max-width:100%;max-height:clamp(76px,10vw,132px);height:auto;object-fit:contain;flex:0 1 auto;filter:drop-shadow(0 3px 2px rgba(1,23,49,.5))}
#home .home-tagline{font-size:5.15cqi;line-height:1.06;margin:0;color:#fff;white-space:nowrap}
#home .home-tagline em{margin-left:.28em;font-style:normal;color:#bdf4ff}
#home .home-intro>p:last-child{font-family:var(--site-font);font-size:clamp(8px,3cqi,17px);line-height:1.28;margin:0;color:#d9f3ff;max-width:100%;white-space:nowrap}
#home .home-banner{
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  padding:20px;
  border:2px solid #9cecff;
  border-radius:26px;
  color:#fff;
  background:linear-gradient(135deg,#23cce9 0 42%,#3996d8 42% 100%);
  box-shadow:inset 0 2px rgba(255,255,255,.5),0 9px 0 #0b548c,0 17px 25px rgba(3,29,57,.26);
}
#home .home-banner-mark{
  display:grid;place-items:center;flex:0 0 66px;width:66px;height:66px;
  clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);
  background:linear-gradient(145deg,#efffff,#70d8ff 55%,#1e79bd);
  color:#0b4c7e;font-size:42px;text-shadow:0 1px #fff;
}
#home .home-banner b,#home .home-banner small{display:block;line-height:.92;letter-spacing:.035em;text-shadow:0 3px 2px rgba(7,53,92,.45)}
#home .home-banner b{font-size:clamp(24px,3.5vw,39px)}
#home .home-banner small{font-size:clamp(14px,2vw,21px);color:#e8fbff;margin-top:8px}
#home .module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,2vh,20px) 26px;margin:0}
#home .module-card{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:clamp(54px,9.8vh,82px) minmax(0,1fr);
  align-items:center;
  min-width:0;
  min-height:clamp(74px,11.2vh,104px);
  padding:clamp(6px,1.3vh,12px) clamp(10px,2.1vh,20px) clamp(6px,1.3vh,12px) clamp(7px,1.6vh,15px);
  overflow:hidden;
  text-align:left;
  border:2px solid #21c8ef;
  border-radius:11px;
  color:#fff;
  cursor:pointer;
  background:linear-gradient(180deg,#4b9adc 0%,#428fd4 52%,#3f89ce 100%);
  box-shadow:inset 0 2px rgba(255,255,255,.33),inset 0 -2px rgba(16,91,161,.38),0 5px 0 #075482,0 8px 11px rgba(2,38,70,.32);
  transition:transform .18s,filter .18s;
}
#home .module-card::before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:linear-gradient(180deg,#18ddf5,#08c9e9 58%,#04bddf);
  clip-path:polygon(0 0,40% 0,34% 55%,30% 55%,24% 100%,0 100%);
}
#home .module-card::after{display:none}
#home .module-card:hover{transform:translateY(-2px);filter:brightness(1.06);border-color:#a4f5ff}
#home .module-card:focus-visible{outline:3px solid #ffe09b;outline-offset:4px}
#home .card-icon{
  position:relative;z-index:1;
  display:grid;place-items:center;
  width:clamp(46px,8.5vh,72px);height:clamp(46px,8.5vh,72px);
  margin:0;
  color:#fff;font-size:clamp(25px,4.3vh,40px);
  background:transparent;border:0;box-shadow:none;
  filter:drop-shadow(0 3px 1px rgba(4,45,80,.32));
}
#home .home-item-icon{overflow:visible;border-radius:0;aspect-ratio:auto}
#home .home-item-icon img{display:block;width:100%;height:100%;object-fit:contain}
#home .home-card-copy{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:100%;
  padding:0;
  text-align:center;
  position:absolute;
  inset:0 0 0 34%;
  transform:none;
}
#home .home-card-copy b{
  display:block;
  color:#fff;
  font-size:clamp(12px,2.9vh,21px);
  line-height:1;
  white-space:nowrap;
  text-shadow:0 3px 2px rgba(6,41,77,.62);
}
#home .home-card-copy small{display:block;margin-top:7px;color:#e7f8ff;font-family:var(--site-font);font-size:13px;line-height:1.22}
#home .card-arrow{font-family:Arial,sans-serif;font-size:38px;font-weight:700;line-height:1;color:#d8faff;text-shadow:0 2px #16608f}
#home .coming-card{cursor:default;opacity:.82;background:linear-gradient(180deg,#4b9adc 0%,#428fd4 52%,#3f89ce 100%)}
#home .coming-card:hover{transform:none;filter:none;border-color:#21c8ef}
#home .coming-card:disabled{color:#fff}
#home .disclaimer{margin:clamp(12px,2vh,22px) 0 0;text-align:center;color:#c8ebfc;font-family:var(--site-font);font-size:12px}
@media(min-width:1000px){
  #home .home-intro{gap:12px;padding:14px 28px}
  #home .home-title-mark{max-height:110px}
}
@media(max-width:600px){
  #home{padding:18px 14px 22px}
  #home .home-welcome{--home-header-height:clamp(136px,38vw,160px);grid-template-columns:calc(37.5% + 2px) minmax(0,calc(62.5% - 10px));gap:8px;margin-bottom:30px}
  #home .home-brand-banner{min-height:0;height:100%;justify-content:center}
  #home .home-brand-banner img{width:auto;height:100%;transform:translateY(0)}
  #home .home-intro{grid-column:2;min-height:0;justify-content:flex-start;gap:9px;padding:9px 10px 7px;border-radius:18px}
  #home .home-intro h1{flex:0 0 auto}
  #home .home-title-mark{width:min(78%,230px);max-height:64px}
  #home .home-tagline{align-self:center;max-width:none;font-size:6.5cqi;text-align:center;white-space:nowrap}
  #home .home-tagline em{margin-left:0}
  #home .home-intro>p:last-child{font-size:clamp(11px,4.7cqi,14px);line-height:1.1;white-space:normal}
  #home .mobile-copy-break{display:inline}
  #home .home-intro,#home .home-banner{min-height:0}
  #home .home-banner{padding:17px}
  #home .module-grid{gap:16px}
  #home .module-card{grid-template-columns:76px minmax(0,1fr);min-height:92px;padding:8px 15px 8px 10px;border-radius:11px}
  #home .card-icon{width:64px;height:64px;font-size:36px}
  #home .home-card-copy{inset:0 0 0 34%;transform:none}
  #home .home-card-copy b{font-size:clamp(10px,2.85vw,21px)}
  #home .home-card-copy small{font-size:12px}
  #home .card-arrow{font-size:30px}
}
@media(max-width:390px){
  #home .module-grid{gap:13px}
  #home .module-card{grid-template-columns:61px minmax(0,1fr);min-height:84px;padding:7px 12px 7px 7px}
  #home .card-icon{width:54px;height:54px;font-size:31px}
  #home .card-arrow{display:none}
  #home .home-card-copy small{display:none}
}
@media(prefers-reduced-motion:reduce){#home .module-card{transition:none}}


/* Le texte communautaire occupe le bas de l'accueil, sous les boutons. */
#home .home-shell{
  display:flex;
  flex-direction:column;
  min-height:calc(100svh - 76px - clamp(16px,2.7vh,30px) - clamp(18px,2.8vh,32px));
}
#home .disclaimer{
  margin-top:auto;
  padding-top:clamp(18px,3vh,30px);
}

/* Slightly enlarge the furnace artwork around its existing center. */
#home .furnace-card .home-item-icon img{transform:scale(1.12);transform-origin:center}

/* Mobile: center artwork inside the cyan section, clear of the cutout. */
@media(max-width:600px){
  #home .module-card .card-icon{position:absolute;left:2%;top:50%;width:24%;height:calc(100% - 18px);transform:translateY(-50%);margin:0}
}

#home .coming-card{overflow:visible;opacity:1}
#home .coming-card::before{border-radius:inherit}

/* Tampon encreur circulaire, légèrement de biais, apposé sur le bouton (rouge des casques T11/T12).
   Ordinateur : à gauche, déborde de 12 px en haut/bas (espace entre cartes : 18 px) et de 8 px à gauche (26 px).
   Mobile : centré à gauche du titre (lui-même centré à 2/3 de la carte), dont il recouvre le début. */
#home .coming-card .wip-stamp{position:absolute;left:54px;top:50%;z-index:2;height:calc(100% + 24px);aspect-ratio:1;color:#cf3e47;opacity:.93;transform:translate(-50%,-50%) rotate(-14deg);pointer-events:none;filter:drop-shadow(0 1px 0 rgba(120,22,30,.35))}
#home .coming-card .wip-stamp svg{display:block;width:100%;height:100%;overflow:visible;font-family:var(--site-font)}
@media(max-width:600px){#home .coming-card .wip-stamp{left:calc(66.7% - 9.4vw - 31px);height:100%}}

/* Accueil sur une seule hauteur d'écran (barre Safari affichée) : body ne dépasse pas l'accueil,
   donc ni défilement superflu ni bande claire sous la page. */
body:has(#home.active){min-height:100svh}
@media(max-width:600px){#home .home-shell{min-height:calc(100svh - 76px - 18px - 22px)}}

/* Mobile : les boutons suivent l'en-tête, avec un peu d'air en plus sur les écrans hauts (web app : jusqu'à 44 px) ; la hauteur d'écran restante
   (web app sans barres de navigateur, grands téléphones) passe entre les boutons et le texte
   communautaire, qui reste en bas de l'écran. */
@media(max-width:767px){#home .module-grid{margin-top:clamp(0px,calc((100svh - 700px) * .3),44px)}#home .disclaimer{margin-top:auto;margin-bottom:0}}
/* ===== src/furnace.css ===== */
/* Chaudière uniquement : les pages verrouillées ne sont pas concernées. */
#furnace{background:linear-gradient(180deg,#184d7d 0,#236b9b 38%,#16476f 100%)}
#furnace .furnace-comparison{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:12px;width:100%;max-width:900px;height:clamp(390px,calc(100dvh - 250px),500px);min-height:0;margin:18px auto 0;padding:26px 32px;border-radius:30px;background:rgba(8,43,79,.38);overflow:hidden}
#furnace .furnace-comparison::before,#furnace .furnace-comparison::after{content:"";position:absolute;z-index:0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(235,252,255,.56) 0,rgba(112,217,255,.34) 36%,rgba(72,166,221,.12) 57%,transparent 72%);filter:blur(7px);pointer-events:none}
#furnace .furnace-comparison::before{left:5%;top:50%;transform:translateY(-50%)}
#furnace .furnace-comparison::after{right:5%;top:50%;transform:translateY(-50%)}
#furnace .furnace-comparison>*{position:relative;z-index:1}
#furnace .furnace-pick{display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:12px;min-width:0;width:100%;height:100%;min-height:0;padding:8px;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:20px}
#furnace .furnace-pick:hover{background:rgba(156,223,255,.08)}
#furnace .furnace-pick:focus-visible{outline:3px solid #ffe36f;outline-offset:3px}
#furnace .furnace-pick small{font-size:15px;letter-spacing:.1em;color:#c9edff}
#furnace .furnace-pick strong{font-size:24px}
#furnace .furnace-pick strong{display:grid;justify-items:center;align-content:end;gap:6px;min-height:43px;line-height:1}
/* Même barre de sous-niveaux que les Talismans/Équipement : brun vide,
   vert pour les étapes déjà franchies. */
#furnace .furnace-progress{display:flex;width:100%;height:13px;gap:2px;padding:1px;border:2px solid #e9bd5b;border-radius:5px;background:#8b5d30;box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);font-style:normal}
#furnace .furnace-progress{width:68px}
#furnace .furnace-progress>span{flex:1;min-width:0;border:0;border-radius:2px;background:linear-gradient(180deg,#9b713d 0,#875d30 52%,#70451f 100%);box-shadow:inset 0 1px rgba(224,169,90,.38),inset 0 -1px rgba(69,35,13,.32)}
#furnace .furnace-progress>span.filled{background:linear-gradient(180deg,#8ed14b 0,#65b637 58%,#4c942b 100%);box-shadow:inset 0 1px rgba(205,246,126,.58),inset 0 -1px rgba(47,105,24,.28),0 0 4px rgba(113,205,61,.42)}
#furnace .furnace-visual{display:grid;place-items:center;align-self:stretch;width:100%;min-height:0;height:100%;overflow:visible}
#furnace .furnace-visual img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(1,22,48,.35))}
#furnace .furnace-comparison-arrow{font-size:48px;text-align:center;color:#e9fbff;text-shadow:0 2px 5px #103b61}
#furnace .furnace-scope-toggles{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:900px;margin:18px auto 0;padding:8px 16px;border:1px solid rgba(131,203,240,.46);border-radius:18px;background:rgba(8,43,79,.88);box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 24px rgba(1,22,48,.24)}
#furnace .furnace-scope-toggle{margin:0;width:100%;max-width:100%;color:#fff;background:transparent;border:0;border-radius:0;padding:10px 2px}
#furnace .furnace-scope-toggle+.furnace-scope-toggle{border-top:1px solid rgba(131,203,240,.28)}
#furnace #furnaceResult{width:100%}
#furnace .furnace-cost-grid{grid-template-columns:repeat(7,1fr);gap:13px}
#furnace .furnace-material-fire{border-color:#f4a56e;background:linear-gradient(145deg,#ffe2ad,#a95724)}
#furnace .furnace-material-refined{border-color:#c59bf4;background:linear-gradient(145deg,#f0dcff,#7250b9)}
#furnace .furnace-material-food{border-color:#e5a66d;background:linear-gradient(145deg,#ffe0be,#a9542e)}
#furnace .furnace-material-wood{border-color:#b99566;background:linear-gradient(145deg,#eed09a,#8c542d)}
#furnace .furnace-material-coal{border-color:#9eafc4;background:linear-gradient(145deg,#dce8f1,#52687e)}
#furnace .furnace-material-iron{border-color:#86c9f3;background:linear-gradient(145deg,#eafaff,#3995cf)}
#furnace .furnace-material-time{border-color:#ffe38b;background:linear-gradient(145deg,#fff4b9,#bf711c)}
#furnace .furnace-material img{display:block;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(3,35,61,.32))}
/* Palette unifiée des ressources Chaudière. */
#furnace .furnace-material-food,#furnace .furnace-material-wood,#furnace .furnace-material-coal,#furnace .furnace-material-iron{border-color:#6fc96a;background:linear-gradient(180deg,#2c7a2a,#a9e09c);box-shadow:0 6px 12px rgba(0,15,39,.35)}
#furnace .furnace-material-refined{border-color:#f4a56e;background:linear-gradient(145deg,#ffe2ad,#a95724)}
#furnace .furnace-material-time{border-color:#86c9f3;background:linear-gradient(145deg,#eafaff,#3995cf)}
/* Cases de coûts alignées sur les références Équipement et Talismans. */
#furnace .furnace-material-fire,#furnace .furnace-material-refined{border:3px solid #eba16e;border-radius:17px;background:linear-gradient(180deg,#935b2d,#f2ceaf);box-shadow:0 6px 12px rgba(0,15,39,.35)}
#furnace .furnace-material-time{border:3px solid #76afee;border-radius:17px;background:linear-gradient(180deg,#365894,#a7d4f2);box-shadow:0 6px 12px rgba(0,15,39,.35)}
@media(max-width:600px){#furnace .furnace-material-fire,#furnace .furnace-material-refined,#furnace .furnace-material-time{border-radius:13px}}
#furnace .furnace-stock-tools{max-width:900px;margin:24px auto;color:#d4efff}
#furnace .furnace-stock-tools summary{cursor:pointer}
#furnace .furnace-stock-tools #stockMode{margin-top:12px}
#furnace .furnace-placeholder,#furnacePicker .furnace-placeholder{position:relative;display:block;width:65%;height:78%;max-width:165px;max-height:195px;border:4px solid #0b2443;border-radius:25% 25% 12% 12%;background:linear-gradient(135deg,#aad7ed,#5d9abc 65%,#347497);box-shadow:inset 0 0 0 5px rgba(232,250,255,.3),0 8px 12px #0015}
#furnace .furnace-placeholder-stack,#furnacePicker .furnace-placeholder-stack{position:absolute;width:36%;height:28%;top:-22%;left:32%;border:4px solid #0b2443;background:linear-gradient(90deg,#8ebbd3,#406d8a);border-radius:5px}
#furnace .furnace-placeholder-door,#furnacePicker .furnace-placeholder-door{position:absolute;display:grid;place-items:center;left:22%;bottom:12%;width:56%;height:43%;border:4px solid #0b2443;border-radius:50% 50% 12% 12%;background:#123c5b;font-size:38px}
#furnacePicker{width:min(720px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:hidden;color:#fff;border:2px solid rgba(131,203,240,.65);border-radius:22px;background:linear-gradient(180deg,#236b9b,#123f68);font-family:var(--site-font)}
#furnacePicker::backdrop{background:rgba(2,15,29,.55)}
#furnacePicker form{display:flex;flex-direction:column;max-height:calc(100dvh - 28px);padding:22px 18px 18px;min-height:0}
#furnacePicker h2{font-size:26px;margin:0 40px 20px 0}
#furnacePicker .dialog-close{position:absolute;right:12px;top:12px;z-index:2}
#furnacePicker .furnace-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;overflow-y:auto;overflow-x:hidden;min-height:0;padding:5px 14px 8px 4px;scrollbar-gutter:stable;overscroll-behavior:contain}
#furnacePicker .furnace-level-group{display:flex;flex-direction:column;min-width:0;gap:5px;padding:3px;border:2px solid transparent;border-radius:17px}
#furnacePicker .furnace-level-group.active{border-color:#ffe36f;box-shadow:0 0 5px 2px #ffe36f99}
#furnacePicker .furnace-level-choice{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:2px;min-width:0;height:130px;padding:8px 7px 4px;border:2px solid #6aa1c1;border-radius:14px;background:linear-gradient(145deg,#347dab,#17466e);color:#fff;font-family:var(--site-font);cursor:pointer}
#furnacePicker .furnace-level-choice:disabled{opacity:.3;cursor:not-allowed}
#furnacePicker .picker-substep-panel{display:block;width:100%;margin-top:2px;padding:5px 6px 6px;border:1px solid rgba(125,207,237,.5);border-radius:8px;background:rgba(129,207,235,.24);box-shadow:inset 0 1px rgba(226,248,255,.18),0 2px 5px rgba(1,20,43,.16)}
#furnacePicker .picker-substep-panel>small{display:none}
#furnacePicker .picker-substeps{display:flex;width:100%;height:13px;gap:2px;padding:1px;border:2px solid #e9bd5b;border-radius:5px;background:#8b5d30;box-shadow:inset 0 1px rgba(255,239,166,.48),0 1px 3px rgba(54,28,11,.42);font-style:normal}
#furnacePicker .picker-substep{flex:1;min-width:4px;padding:0;border:0;border-radius:2px;background:linear-gradient(180deg,#9b713d 0,#875d30 52%,#70451f 100%);box-shadow:inset 0 1px rgba(224,169,90,.38),inset 0 -1px rgba(69,35,13,.32);cursor:pointer}
#furnacePicker .picker-substep.filled{background:linear-gradient(180deg,#8ed14b 0,#65b637 58%,#4c942b 100%);box-shadow:inset 0 1px rgba(205,246,126,.58),0 0 4px rgba(113,205,61,.42)}
#furnacePicker .picker-substep.preview-filled:not(:disabled){background:linear-gradient(180deg,#b8eb67 0,#7dcc47 58%,#59a632 100%);box-shadow:inset 0 1px rgba(226,255,164,.72),0 0 6px rgba(166,239,93,.64)}
#furnacePicker .picker-substep.preview-target:not(:disabled),#furnacePicker .picker-substep.active{outline:2px solid #fff4a8;outline-offset:1px}
#furnacePicker .picker-substep:hover:not(:disabled){background:linear-gradient(180deg,#b8eb67,#78c944);box-shadow:0 0 6px rgba(166,239,93,.72)}
#furnacePicker .picker-substep:disabled{opacity:.28;cursor:not-allowed}
#furnacePicker .furnace-choice-visual{display:grid;place-items:center;align-self:stretch;width:100%;min-height:0}#furnace .furnace-cost-grid .furnace-material.furnace-material-time img{width:92%!important;height:92%!important}
/* Taille ajustée des ressources Chaudière. */
#furnace .furnace-cost-grid .furnace-material img{width:96%!important;height:96%!important}
#furnace .furnace-cost-grid .furnace-material-refined{overflow:hidden}
#furnace .furnace-cost-grid .furnace-material-refined img{width:80%!important;height:80%!important}


/* Responsive furnace card layout. */
#furnace .furnace-pick{display:flex;flex-direction:column;align-items:center}
#furnace .furnace-pick small,#furnace .furnace-pick strong{flex:0 0 auto}
#furnace .furnace-visual{display:flex;flex:1 1 0;align-items:center;justify-content:center;min-width:0;min-height:0;height:auto}
#furnace .furnace-visual img{min-width:0;min-height:0}
@media(max-width:600px){#furnace .furnace-visual{height:auto}}
#furnacePicker .furnace-choice-visual img{display:block;width:86%;height:86%;object-fit:contain}
#furnacePicker .furnace-placeholder{border-width:2px;border-radius:16%}
#furnacePicker .furnace-placeholder-stack,#furnacePicker .furnace-placeholder-door{border-width:2px}
#furnacePicker .furnace-placeholder-door{font-size:18px}
@media(max-width:600px){
 #furnace .furnace-comparison{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:4px;height:auto;min-height:400px;padding:20px 8px;border-radius:24px}
 #furnace .furnace-comparison::before,#furnace .furnace-comparison::after{width:230px;height:260px;filter:blur(5px)}
 #furnace .furnace-comparison::before{left:-18%}
 #furnace .furnace-comparison::after{right:-18%}
 #furnace .furnace-pick{min-height:340px;padding:6px;gap:10px}
 #furnace .furnace-visual{height:250px}
 #furnace .furnace-pick small{font-size:12px}
 #furnace .furnace-pick strong{font-size:19px}
 #furnace .furnace-progress{height:10px;width:56px;border-width:1.5px;gap:1px}
 #furnace .furnace-cost-grid{grid-template-columns:repeat(4,1fr);gap:10px}
 #furnace .furnace-comparison-arrow{font-size:32px}
 #furnace .furnace-scope-toggles{margin-top:14px;padding:6px 12px}
 #furnace .furnace-scope-toggle{padding:9px 2px}
 #furnace .furnace-placeholder{border-width:3px}
 #furnace .furnace-placeholder-stack,#furnace .furnace-placeholder-door{border-width:3px}
 #furnace .furnace-placeholder-door{font-size:28px}
 #furnacePicker .furnace-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 #furnacePicker .furnace-level-group{gap:4px;padding:2px}
 #furnacePicker form{padding:18px 10px 12px}
 #furnacePicker h2{font-size:23px}
}



/* Toggles Chaudière : même palette que les sélecteurs Équipement et Talismans. */


/* Alignement du groupe de toggles sur la colonne de contenu. */


/* Même occupation que les ressources Équipement et Talismans. */
#furnace .furnace-material img{width:92%!important;height:92%!important;object-fit:contain}
#furnace .furnace-scope-toggles{margin:18px 0 0 max(0px,calc((100% - 900px)/2))!important}
@media(max-width:600px){#furnace .furnace-scope-toggles{margin:14px 0 0!important}}#furnace .furnace-scope-toggles{width:max-content;max-width:calc(100% - 24px);margin:18px auto 0;padding:9px 13px;border:1px solid rgba(131,203,240,.42);border-radius:11px;background:rgba(22,71,111,.88);box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 14px rgba(1,22,48,.22)}
#furnace .furnace-scope-toggle{width:auto;max-width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0}
#furnace .furnace-scope-toggle+.furnace-scope-toggle{border-top:0}
@media(max-width:600px){#furnace .furnace-scope-toggles{margin-top:14px;padding:9px 13px}#furnace .furnace-scope-toggle{padding:0}}
@media(max-width:600px){#furnace .furnace-visual{height:auto!important}}
#furnace #furnaceResult{position:static;z-index:auto}

#furnacePicker .furnace-picker-grid{flex:1 1 auto}

/* Pictogrammes des ressources : dessin visible à 73 % de la case, comme sur la page Talismans
   (tailles calculées d'après les marges transparentes de chaque image ; léger recentrage du dessin). */
#furnace .furnace-cost-grid .furnace-material.furnace-material-fire img{width:100.9%!important;height:100.9%!important;max-width:none;transform:translate(-0.6%,-1.7%)}
#furnace .furnace-cost-grid .furnace-material.furnace-material-refined img{width:82.8%!important;height:82.8%!important;max-width:none}
#furnace .furnace-cost-grid .furnace-material.furnace-material-food img{width:107.1%!important;height:107.1%!important;max-width:none;transform:translate(-2.1%,-0.2%)}
#furnace .furnace-cost-grid .furnace-material.furnace-material-wood img{width:118%!important;height:118%!important;max-width:none;transform:translate(-0.4%,-0.8%)}
#furnace .furnace-cost-grid .furnace-material.furnace-material-coal img{width:124.5%!important;height:124.5%!important;max-width:none;transform:translate(-2.1%,-1.4%)}
#furnace .furnace-cost-grid .furnace-material.furnace-material-iron img{width:114.3%!important;height:114.3%!important;max-width:none;transform:translate(-3.4%,0.8%)}
#furnace .furnace-cost-grid .furnace-material.furnace-material-time img{width:112.1%!important;height:112.1%!important;max-width:none;transform:translate(-0.8%,0.2%)}

/* Cases de ressources sur 2 lignes centrées (4 puis 3), comme la page T11. */
#furnace .furnace-cost-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;max-width:calc(4 * 76px + 3 * 28px);margin-inline:auto}
#furnace .furnace-cost-grid .upgrade-resource{width:76px}
@media(max-width:600px){
  #furnace .furnace-cost-grid{gap:14px 16px;max-width:calc(4 * 58px + 3 * 16px)}
  #furnace .furnace-cost-grid .upgrade-resource{width:58px}
}

/* Ressources : une seule ligne quand le cadre de coût est assez large (7 cases), sinon disposition 4 + 3 */
#furnaceResult{container-type:inline-size}
@container (min-width:740px){#furnace .furnace-cost-grid{max-width:none;flex-wrap:nowrap}}
/* ===== src/t11.css ===== */
/* Recherche T11 — styles propres à la page #t11 (référence : arbre de l'Académie de guerre). */

/* Page : même fond, même titre centré que les autres modules. */
/* Fond de page : brun-rouge de l'Académie, éclairé par une lumière chaude placée derrière la case Hélios
   (voir .t11-tree::before) qui s'assombrit jusqu'aux bords de la page. */
#t11{position:relative;isolation:isolate;overflow:hidden;padding:42px 22px 80px;color:#fff;background:#381726}
/* Fond sur toute la largeur et la hauteur de l'écran ; le contenu reste dans la colonne centrale de 1240 px
   (les côtés accueilleront les bandeaux publicitaires verticaux). */
#t11.view{max-width:none;margin:0;min-height:calc(100svh - 76px);padding-inline:max(22px,calc((100% - 1240px) / 2 + 22px))}
#t11 .section-head{max-width:900px;margin:0 auto 22px;text-align:center}
#t11 .section-head>div{max-width:760px;margin-inline:auto}
#t11 .section-head h1{margin:0 0 12px;font-size:32px;color:#fff}
#t11 .section-head p{margin:0;font-size:16px;color:#d4efff}

/* Onglets de troupe. */
#t11 .t11-tabs{display:flex;justify-content:center;gap:6px;max-width:420px;margin:0 auto 18px;padding:5px;border:2px solid rgba(240,170,120,.42);border-radius:18px;background:rgba(42,14,12,.55)}
#t11 .t11-tabs button{flex:1;padding:10px 8px;border:0;border-radius:13px;background:transparent;color:#f3d2bb;font:inherit;font-size:16px;cursor:pointer}
#t11 .t11-tabs button:hover{color:#fff;background:rgba(255,190,140,.12)}
#t11 .t11-tabs button.active{color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129);box-shadow:inset 0 1px rgba(255,220,190,.3),0 3px 8px rgba(30,6,6,.4)}

/* Panneau de l'arbre : fond brun-rouge chaud de l'Académie. */
#t11 .t11-board{max-width:900px;margin:0 auto 22px;padding:22px 16px 30px;background:transparent}
#t11 .t11-tree{position:relative;width:min(100%,520px);aspect-ratio:1000/1400;margin:0 auto;container-type:inline-size}
/* Lumière chaude centrée sur la case Hélios (x 50 %, y 870/1400 de l'arbre), étalée sur toute la page. */
#t11 .t11-tree::before{content:"";position:absolute;left:50%;top:62.14%;z-index:-1;width:560cqi;height:560cqi;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,#b9573f 0,#ad4f3e 8cqi,#a74c3d 18cqi,#8c4139 30cqi,#70322f 44cqi,#60313b 56cqi,#502735 70cqi,#45202f 86cqi,#3d1b2b 105cqi,#381726 135cqi)}  /* teintes relevées sur la capture du jeu */

/* Couleur des chemins de lumière (liaisons + liseré des nœuds) selon la troupe :
   bleu pour Lancier, vert pour Infanterie, rouge pour Tireur. */
#t11 .t11-tree{--t11-glow:rgba(64,160,255,.5);--t11-core:#2f8cf0;--t11-light:#9fdcff;--t11-rim:#7fd6ff;--t11-rim-dark:#1c5fc4;--t11-halo:rgba(72,170,255,.75);--t11-rim-on:#b9f0ff;--t11-rim-on-dark:#1c7fe0;--t11-halo-on:rgba(120,210,255,.85)}
#t11 .t11-tree[data-troop="infantry"]{--t11-glow:rgba(95,230,35,.58);--t11-core:#4ee01a;--t11-light:#d4f7b4;--t11-rim:#96ea62;--t11-rim-dark:#27860b;--t11-halo:rgba(105,235,45,.78);--t11-rim-on:#e0fbc8;--t11-rim-on-dark:#37ad12;--t11-halo-on:rgba(145,240,80,.88)}
#t11 .t11-tree[data-troop="marksman"]{--t11-glow:rgba(245,110,45,.6);--t11-core:#eb7835;--t11-light:#ffd0a0;--t11-rim:#f2ae72;--t11-rim-dark:#91341a;--t11-halo:rgba(245,120,55,.75);--t11-rim-on:#ffdab6;--t11-rim-on-dark:#b24c24;--t11-halo-on:rgba(255,150,90,.85)}

/* Liaisons lumineuses. */
#t11 .t11-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#t11 .t11-links path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
#t11 .t11-link-off path{stroke:rgba(28,8,8,.6);stroke-width:5px}
#t11 .t11-link-glow path{stroke:var(--t11-glow);stroke-width:14px;filter:blur(5px)}
#t11 .t11-link-core path{stroke:var(--t11-core);stroke-width:6px}
#t11 .t11-link-light path{stroke:var(--t11-light);stroke-width:1.6px}

/* Nœuds : case rouge, liseré bleu lumineux, pictogramme blanc. */
#t11 .t11-node{position:absolute;z-index:1;aspect-ratio:1;padding:0;transform:translate(-50%,-50%);border:2px solid var(--t11-light);border-radius:18%;background:#3a0e0d;box-shadow:inset 0 0 0 2px var(--t11-core),0 0 6px 1px var(--t11-glow),0 0 14px 3px var(--t11-glow);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
#t11 .t11-node:hover{transform:translate(-50%,-50%) scale(1.05)}
#t11 .t11-node:focus-visible{outline:3px solid #fff;outline-offset:4px}
#t11 .t11-ico{position:absolute;inset:calc(2px + 3%);width:calc(94% - 4px);height:calc(94% - 4px);object-fit:cover;border-radius:12%;pointer-events:none;user-select:none}
#t11 .t11-badge{position:absolute;right:5%;bottom:3%;font-size:clamp(9px,3.5cqi,18px);line-height:1;color:#fff;-webkit-text-stroke:3px #2a1410;paint-order:stroke fill}
#t11 .t11-target{position:absolute;top:-12%;right:-16%;padding:2px 5px;border-radius:8px;font-size:clamp(8px,2.7cqi,13px);line-height:1.1;color:#2a1410;background:var(--t11-rim-on);box-shadow:0 2px 4px rgba(20,4,4,.5),0 0 8px var(--t11-halo-on)}
#t11 .t11-node.planned{border-color:var(--t11-rim-on);box-shadow:inset 0 0 0 2px var(--t11-core),0 0 8px 2px var(--t11-halo-on),0 0 18px 5px var(--t11-glow)}
/* Recherche verrouillée (prérequis non remplis) : éteinte, sans halo. */
#t11 .t11-node.locked{border-color:#8d7b78;box-shadow:inset 0 0 0 2px #5a4644;filter:grayscale(.7) brightness(.6)}
#t11 .t11-label{position:absolute;z-index:1;width:34%;transform:translateX(-50%);text-align:center;font-size:clamp(10px,3.4cqi,17px);line-height:1.15;color:#ecdcdc;-webkit-text-stroke:3px #3a1712;paint-order:stroke fill;pointer-events:none}

/* Interrupteur « Remettre à zéro » : même composant que les autres pages, en tons bruns. */
#t11 .t11-actions{max-width:900px;margin:-8px auto 18px}
#t11 .t11-actions .charm-bulk-select{margin:0;border-color:rgba(240,170,120,.42);background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.12),0 5px 14px rgba(20,4,4,.3);color:#fff}
#t11 .t11-actions .bulk-toggle{border-color:rgba(240,180,140,.5);background:linear-gradient(180deg,#6a3326,#4a2119);box-shadow:inset 0 2px 5px rgba(20,4,4,.45),0 1px rgba(255,220,190,.14)}
#t11 .t11-actions .bulk-toggle i{background:linear-gradient(180deg,#fff,#f3dccd)}
#t11 .t11-actions input:checked+.bulk-toggle{border-color:#ffc79c;background:linear-gradient(180deg,#d9804f,#a8502f);box-shadow:inset 0 1px rgba(255,255,255,.35),0 0 9px rgba(240,140,80,.45)}

/* Coût de recherche : mêmes cases que la page Chaudière. */
#t11 .t11-result{max-width:900px;margin:0 auto;padding:14px 18px 20px;border:2px solid rgba(240,170,120,.42);border-radius:26px;background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.14),0 14px 35px rgba(20,4,4,.4)}
#t11 .t11-result h2{margin:0 0 16px;padding:9px;border-radius:16px;font-size:20px;text-align:center;color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129)}
/* Coûts sur 2 lignes centrées : 4 puis 3. */
#t11 .t11-cost-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;max-width:calc(4 * 76px + 3 * 28px);margin:0 auto}
#t11 .t11-cost{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;width:76px;outline:none}
#t11 .t11-cost-tile{display:grid;place-items:center;width:76px;height:76px;border:3px solid #76afee;border-radius:17px;background:linear-gradient(180deg,#365894,#a7d4f2);box-shadow:0 6px 12px rgba(0,15,39,.35)}
#t11 .t11-cost-shard .t11-cost-tile{border-color:#eba16e;background:linear-gradient(180deg,#935b2d,#f2ceaf)}
/* Ressources de base : cases vertes, comme sur la page Chaudière. */
#t11 :is(.t11-cost-meat,.t11-cost-wood,.t11-cost-coal,.t11-cost-iron) .t11-cost-tile{border-color:#6fc96a;background:linear-gradient(180deg,#2c7a2a,#a9e09c)}
/* Accélérateurs : même case bleue et même taille de pictogramme que la page Chaudière. */
#t11 .t11-cost-time .t11-cost-tile{border-color:#76afee;background:linear-gradient(180deg,#365894,#a7d4f2)}
#t11 .t11-cost-time .t11-cost-tile img{width:92%;height:92%}
/* Acier : pictogramme agrandi (l'image comporte des marges transparentes). */
#t11 .t11-cost-steel .t11-cost-tile img{width:100%;height:100%}
#t11 .t11-cost-tile img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(3,35,61,.32))}
#t11 .t11-cost strong{font-size:18px;color:#fff}

/* Fenêtre de réglage d'une recherche : couleurs des fenêtres d'information du jeu
   (fond rose pâle, rebord rosé, titre bordeaux, zone grisée, voile sombre flouté). */
#t11Picker{width:min(92vw,440px);padding:0;border:0;border-radius:22px;color:#665454;background:#f6e2e2;box-shadow:0 5px 0 #e4a2a2,0 24px 60px rgba(0,0,0,.55)}
#t11Picker::backdrop{background:rgba(24,12,15,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#t11Picker form{position:relative;display:grid;gap:14px;padding:20px 20px 22px;font-family:var(--site-font)}
#t11Picker .t11-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid #dec6c0;border-radius:50%;color:#843030;background:#fbeeee;font:inherit;font-size:20px;line-height:1;cursor:pointer}
#t11Picker .t11-picker-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:0 34px 14px 0;border-bottom:2px solid #dec6c0}
#t11Picker .t11-eyebrow{margin:0 0 2px;font-size:12px;letter-spacing:.12em;color:#b47e7e}
#t11Picker h2{margin:0 0 4px;font-size:22px;line-height:1.1;color:#843030}
#t11Picker .t11-picker-desc{margin:0;font-size:13px;line-height:1.3;color:#b47e7e}
#t11Picker .t11-node.t11-node-preview{position:relative;display:block;width:78px;transform:none;cursor:default;border-color:#ffc08a;box-shadow:inset 0 0 0 2px #f08a4a,0 3px 0 #b5602e}
#t11Picker .t11-node.t11-node-preview:hover{transform:none}
#t11Picker .t11-steppers{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 12px;border-radius:12px;background:#e0c5c5}
#t11Picker .t11-stepper{display:grid;justify-items:center;gap:7px}
#t11Picker .t11-stepper small{font-size:13px;letter-spacing:.08em;color:#a84e4e}
#t11Picker .t11-stepper>div{display:flex;align-items:center;gap:6px}
#t11Picker .t11-stepper output{min-width:54px;text-align:center;font-size:22px;color:#665454}
#t11Picker .t11-stepper button,#t11Picker .t11-max{border:1px solid #c99a9a;color:#843030;background:#fbeeee;font:inherit;cursor:pointer;box-shadow:0 2px 0 #c99a9a}
#t11Picker .t11-stepper [data-t11-step]{width:36px;height:36px;border-radius:11px;font-size:20px;line-height:1}
#t11Picker .t11-max{padding:5px 14px;border-radius:10px;font-size:13px}
#t11Picker button:disabled{opacity:.4;cursor:default}
#t11Picker .t11-stepper-arrow{font-size:30px;color:#c09090}
#t11Picker .t11-reqs{display:grid;gap:4px;margin:0;padding:10px 12px;border-radius:12px;background:#efd6d4;font-size:14px}
#t11Picker .t11-reqs[hidden]{display:none}
#t11Picker .t11-reqs small{font-size:12px;letter-spacing:.08em;color:#a84e4e}
#t11Picker .t11-reqs .ok{color:#3f7a3a}
#t11Picker .t11-reqs .missing{color:#a83a32}
#t11Picker .t11-apply{justify-self:center;margin-top:2px;padding:11px 34px;border:0;border-radius:14px;color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129);font:inherit;font-size:17px;cursor:pointer;box-shadow:0 4px 0 #6a2e1d}

@media(max-width:600px){
  #t11.view{padding:26px 6px 60px}
  #t11 .t11-tree{width:100%;--t11-node-scale:1.14}
  #t11 .section-head h1{font-size:28px}
  #t11 .section-head p{font-size:14px}
  #t11 .t11-board{padding:14px 0 20px}
  #t11 .t11-tabs,#t11 .t11-actions,#t11 .t11-result,#t11 .section-head{margin-inline:8px}
  #t11 .t11-node{box-shadow:inset 0 0 0 2px var(--t11-core),0 0 5px 1px var(--t11-glow),0 0 10px 2px var(--t11-glow)}
  #t11 .t11-node.locked{box-shadow:inset 0 0 0 2px #5a4644}
  #t11 .t11-node.planned{box-shadow:inset 0 0 0 2px var(--t11-core),0 0 6px 2px var(--t11-halo-on),0 0 12px 3px var(--t11-glow)}
  #t11 .t11-badge{-webkit-text-stroke:2px #2a1410}
  #t11 .t11-label{-webkit-text-stroke:2px #3a1712}
  #t11 .t11-cost-tile{width:58px;height:58px;border-radius:13px}
  #t11 .t11-cost{width:58px}
  #t11 .t11-cost-grid{gap:14px 16px;max-width:calc(4 * 58px + 3 * 16px)}
  #t11 .t11-cost strong{font-size:15px}
}

@media(max-width:600px){
  #t11Picker form{padding:18px 14px 20px}
  #t11Picker .t11-picker-head{gap:12px}
  #t11Picker .t11-node.t11-node-preview{width:68px}
  #t11Picker h2{font-size:19px}
  #t11Picker .t11-steppers{gap:4px;padding:12px 6px}
  #t11Picker .t11-stepper>div{gap:4px}
  #t11Picker .t11-stepper [data-t11-step]{width:30px;height:30px;border-radius:9px;font-size:18px}
  #t11Picker .t11-stepper output{min-width:46px;font-size:19px}
  #t11Picker .t11-stepper-arrow{font-size:22px}
}

/* Pictogrammes des ressources : dessin visible à 73 % de la case, comme sur la page Talismans
   (tailles calculées d'après les marges transparentes de chaque image ; léger recentrage du dessin). */
#t11 .t11-cost-shard .t11-cost-tile img{width:80.2%!important;height:80.2%!important;max-width:none}
#t11 .t11-cost-steel .t11-cost-tile img{width:106.5%!important;height:106.5%!important;max-width:none;transform:translate(-2.8%,-0.5%)}
#t11 .t11-cost-meat .t11-cost-tile img{width:107.1%!important;height:107.1%!important;max-width:none;transform:translate(-2.1%,-0.2%)}
#t11 .t11-cost-wood .t11-cost-tile img{width:118%!important;height:118%!important;max-width:none;transform:translate(-0.4%,-0.8%)}
#t11 .t11-cost-coal .t11-cost-tile img{width:124.5%!important;height:124.5%!important;max-width:none;transform:translate(-2.1%,-1.4%)}
#t11 .t11-cost-iron .t11-cost-tile img{width:114.3%!important;height:114.3%!important;max-width:none;transform:translate(-3.4%,0.8%)}
#t11 .t11-cost-time .t11-cost-tile img{width:112.1%!important;height:112.1%!important;max-width:none;transform:translate(-0.8%,0.2%)}

/* Encadrement de l'arbre, aussi large que le cadre de coût (l'arbre garde sa taille, centré) */
#t11 .t11-board{max-width:900px;box-sizing:border-box;border:2px solid rgba(240,170,120,.42);border-radius:26px;background:rgba(42,14,12,.45);box-shadow:inset 0 1px rgba(255,220,190,.14),0 14px 35px rgba(20,4,4,.4)}
@media(max-width:600px){#t11 .t11-board{margin-inline:8px;padding-inline:6px}}
/* Fond de l'arbre (comme dans le jeu) : lueur chaude au centre et quadrillage en losanges qui suit cette lumière
   (mélange doux, fondu vers les bords) ; un losange ≈ les deux tiers d'un petit médaillon */
#t11 .t11-board{position:relative;background:radial-gradient(ellipse 70% 55% at 50% 35%,rgba(150,62,52,.42),transparent 75%),rgba(42,14,12,.45)}
#t11 .t11-board::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='62'%3E%3Cpath d='M27.0 0L54 31.0L27.0 62L0 31.0Z' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 0 0/54px 62px;opacity:.11;mix-blend-mode:soft-light;
  -webkit-mask:radial-gradient(ellipse 75% 65% at 50% 38%,#000 20%,transparent 85%);mask:radial-gradient(ellipse 75% 65% at 50% 38%,#000 20%,transparent 85%)}
@media(max-width:600px){#t11 .t11-board::before{background-size:36px 41px}}

/* Ressources : une seule ligne quand le cadre de coût est assez large (7 cases), sinon disposition actuelle */
#t11 .t11-result{container-type:inline-size}
@container (min-width:740px){#t11 .t11-cost-grid{max-width:none;flex-wrap:nowrap}}
/* niveau sur l'icône de la fenêtre de réglage */
#t11Picker .t11-node-preview{position:relative}
#t11Picker .t11-node-preview .t11-badge{position:absolute;right:6%;bottom:4%;font-size:15px;line-height:1;color:#fff;-webkit-text-stroke:3px #2a1410;paint-order:stroke fill}
/* bas de l'icône assombri derrière le niveau : fond la zone retouchée où était le badge du jeu */
#t11Picker .t11-node-preview::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(40,10,6,.55) 72%,rgba(30,6,4,.85) 100%)}
#t11Picker .t11-node-preview .t11-badge{z-index:1}

/* Liens comme dans le jeu : trait fin et plein, avec un halo doux qui éclaire le fond autour (plus d'effet « tuyau ») */
#t11 .t11-link-off path{stroke:rgba(28,8,8,.42);stroke-width:3px}
#t11 .t11-link-glow{filter:drop-shadow(0 0 10px var(--t11-glow)) drop-shadow(0 0 26px var(--t11-glow))}
#t11 .t11-link-glow path{stroke:var(--t11-glow);stroke-width:9px;filter:blur(3px)}
#t11 .t11-link-core path{stroke:color-mix(in srgb,var(--t11-core) 70%,var(--t11-light));stroke-width:3.4px}
#t11 .t11-link-light path{stroke:var(--t11-light);stroke-width:1px;opacity:.55}
/* lumière de la page visible dans l'encadrement : voile allégé */
#t11 .t11-board{background:radial-gradient(ellipse 70% 55% at 50% 35%,rgba(150,62,52,.18),transparent 75%),rgba(42,14,12,.16)}

/* Interrupteurs de l'arbre : même encadré que ceux de la Chaudière (cadre unique, deux interrupteurs empilés), couleurs de la page */
#t11 .t11-toggles{display:flex;flex-direction:column;align-items:stretch;gap:0;width:max-content;max-width:calc(100% - 24px);padding:9px 13px;border:1px solid rgba(240,170,120,.42);border-radius:11px;background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.12),0 5px 14px rgba(20,4,4,.3)}
#t11 .t11-toggles .charm-bulk-select{width:auto;max-width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
/* ===== src/t12.css ===== */
/* Recherche T11 — styles propres à la page #t12 (référence : arbre de l'Académie de guerre). */

/* Page : même fond, même titre centré que les autres modules. */
/* Fond de page : brun-rouge de l'Académie, éclairé par une lumière chaude placée derrière la case Hélios
#t12{position:relative;isolation:isolate;overflow:hidden;padding:42px 22px 80px;color:#fff;background:#331b26}
/* Fond sur toute la largeur et la hauteur de l'écran ; le contenu reste dans la colonne centrale de 1240 px
   (les côtés accueilleront les bandeaux publicitaires verticaux). */
#t12.view{max-width:none;margin:0;min-height:calc(100svh - 76px);padding-inline:max(22px,calc((100% - 1240px) / 2 + 22px))}
#t12 .section-head{max-width:900px;margin:0 auto 22px;text-align:center}
#t12 .section-head>div{max-width:760px;margin-inline:auto}
#t12 .section-head h1{margin:0 0 12px;font-size:32px;color:#fff}
#t12 .section-head p{margin:0;font-size:16px;color:#d4efff}

/* Onglets de troupe. */
#t12 .t12-tabs{display:flex;justify-content:center;gap:6px;max-width:420px;margin:0 auto 18px;padding:5px;border:2px solid rgba(240,170,120,.42);border-radius:18px;background:rgba(42,14,12,.55)}
#t12 .t12-tabs button{flex:1;padding:10px 8px;border:0;border-radius:13px;background:transparent;color:#f3d2bb;font:inherit;font-size:16px;cursor:pointer}
#t12 .t12-tabs button:hover{color:#fff;background:rgba(255,190,140,.12)}
#t12 .t12-tabs button.active{color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129);box-shadow:inset 0 1px rgba(255,220,190,.3),0 3px 8px rgba(30,6,6,.4)}

#t12 .t12-board{max-width:900px;margin:0 auto 22px;padding:22px 16px 30px;background:transparent}

/* Interrupteur « Remettre à zéro » : même composant que les autres pages, en tons bruns. */
#t12 .t12-actions{display:flex;justify-content:flex-start;max-width:900px;margin:-6px auto 18px}
#t12 .t12-actions .charm-bulk-select{margin:0;border-color:rgba(240,170,120,.42);background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.12),0 5px 14px rgba(20,4,4,.3);color:#fff}
#t12 .t12-actions .bulk-toggle{border-color:rgba(240,180,140,.5);background:linear-gradient(180deg,#6a3326,#4a2119);box-shadow:inset 0 2px 5px rgba(20,4,4,.45),0 1px rgba(255,220,190,.14)}
#t12 .t12-actions .bulk-toggle i{background:linear-gradient(180deg,#fff,#f3dccd)}
#t12 .t12-actions input:checked+.bulk-toggle{border-color:#ffc79c;background:linear-gradient(180deg,#d9804f,#a8502f);box-shadow:inset 0 1px rgba(255,255,255,.35),0 0 9px rgba(240,140,80,.45)}

/* Coût de recherche : mêmes cases que la page Chaudière. */
#t12 .t12-result{max-width:900px;margin:0 auto;padding:14px 18px 20px;border:2px solid rgba(240,170,120,.42);border-radius:26px;background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.14),0 14px 35px rgba(20,4,4,.4)}
#t12 .t12-result h2{margin:0 0 16px;padding:9px;border-radius:16px;font-size:20px;text-align:center;color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129)}
/* Coûts sur 2 lignes centrées : 4 puis 3. */
#t12 .t12-cost-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;max-width:calc(4 * 76px + 3 * 28px);margin:0 auto}
#t12 .t12-cost{position:relative;display:grid;justify-items:center;align-content:start;gap:6px;width:76px;outline:none}
#t12 .t12-cost-tile{display:grid;place-items:center;width:76px;height:76px;border:3px solid #76afee;border-radius:17px;background:linear-gradient(180deg,#365894,#a7d4f2);box-shadow:0 6px 12px rgba(0,15,39,.35)}
#t12 .t12-cost-shard .t12-cost-tile{border-color:#eba16e;background:linear-gradient(180deg,#935b2d,#f2ceaf)}
/* Ressources de base : cases vertes, comme sur la page Chaudière. */
#t12 :is(.t12-cost-meat,.t12-cost-wood,.t12-cost-coal,.t12-cost-iron) .t12-cost-tile{border-color:#6fc96a;background:linear-gradient(180deg,#2c7a2a,#a9e09c)}
/* Accélérateurs : même case bleue et même taille de pictogramme que la page Chaudière. */
#t12 .t12-cost-time .t12-cost-tile{border-color:#76afee;background:linear-gradient(180deg,#365894,#a7d4f2)}
#t12 .t12-cost-time .t12-cost-tile img{width:92%;height:92%}
/* Acier : pictogramme agrandi (l'image comporte des marges transparentes). */
#t12 .t12-cost-steel .t12-cost-tile img{width:100%;height:100%}
#t12 .t12-cost-tile img{width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(3,35,61,.32))}
#t12 .t12-cost strong{font-size:18px;color:#fff}

/* Fenêtre de réglage d'une recherche : couleurs des fenêtres d'information du jeu
   (fond rose pâle, rebord rosé, titre bordeaux, zone grisée, voile sombre flouté). */
#t12Picker{width:min(92vw,440px);padding:0;border:0;border-radius:22px;color:#665454;background:#f6e2e2;box-shadow:0 5px 0 #e4a2a2,0 24px 60px rgba(0,0,0,.55)}
#t12Picker::backdrop{background:rgba(24,12,15,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#t12Picker form{position:relative;display:grid;gap:14px;padding:20px 20px 22px;font-family:var(--site-font)}
#t12Picker .t12-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid #dec6c0;border-radius:50%;color:#843030;background:#fbeeee;font:inherit;font-size:20px;line-height:1;cursor:pointer}
#t12Picker .t12-picker-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:0 34px 14px 0;border-bottom:2px solid #dec6c0}
#t12Picker .t12-eyebrow{margin:0 0 2px;font-size:12px;letter-spacing:.12em;color:#b47e7e}
#t12Picker h2{margin:0 0 4px;font-size:22px;line-height:1.1;color:#843030}
#t12Picker .t12-picker-desc{margin:0;font-size:13px;line-height:1.3;color:#b47e7e}
#t12Picker .t12-steppers{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 12px;border-radius:12px;background:#e0c5c5}
#t12Picker .t12-stepper{display:grid;justify-items:center;gap:7px}
#t12Picker .t12-stepper small{font-size:13px;letter-spacing:.08em;color:#a84e4e}
#t12Picker .t12-stepper>div{display:flex;align-items:center;gap:6px}
#t12Picker .t12-stepper output{min-width:54px;text-align:center;font-size:22px;color:#665454}
#t12Picker .t12-stepper button,#t12Picker .t12-max{border:1px solid #c99a9a;color:#843030;background:#fbeeee;font:inherit;cursor:pointer;box-shadow:0 2px 0 #c99a9a}
#t12Picker .t12-stepper [data-t12-step]{width:36px;height:36px;border-radius:11px;font-size:20px;line-height:1}
#t12Picker .t12-max{padding:5px 14px;border-radius:10px;font-size:13px}
#t12Picker button:disabled{opacity:.4;cursor:default}
#t12Picker .t12-reqs{display:grid;gap:4px;margin:0;padding:10px 12px;border-radius:12px;background:#efd6d4;font-size:14px}
#t12Picker .t12-reqs[hidden]{display:none}
#t12Picker .t12-reqs small{font-size:12px;letter-spacing:.08em;color:#a84e4e}
#t12Picker .t12-reqs .ok{color:#3f7a3a}
#t12Picker .t12-reqs .missing{color:#a83a32}
#t12Picker .t12-apply{justify-self:center;margin-top:2px;padding:11px 34px;border:0;border-radius:14px;color:#fff;background:linear-gradient(180deg,#b5603d,#8c4129);font:inherit;font-size:17px;cursor:pointer;box-shadow:0 4px 0 #6a2e1d}

@media(max-width:600px){
  #t12.view{padding:26px 6px 60px}
  #t12 .section-head h1{font-size:28px}
  #t12 .section-head p{font-size:14px}
  #t12 .t12-board{padding:14px 0 20px}
  #t12 .t12-tabs,#t12 .t12-actions,#t12 .t12-result,#t12 .section-head{margin-inline:8px}
  #t12 .t12-cost-tile{width:58px;height:58px;border-radius:13px}
  #t12 .t12-cost{width:58px}
  #t12 .t12-cost-grid{gap:14px 16px;max-width:calc(4 * 58px + 3 * 16px)}
  #t12 .t12-cost strong{font-size:15px}
}

@media(max-width:600px){
  #t12Picker form{padding:18px 14px 20px}
  #t12Picker .t12-picker-head{gap:12px}
  #t12Picker h2{font-size:19px}
  #t12Picker .t12-steppers{gap:4px;padding:12px 6px}
  #t12Picker .t12-stepper>div{gap:4px}
  #t12Picker .t12-stepper [data-t12-step]{width:30px;height:30px;border-radius:9px;font-size:18px}
  #t12Picker .t12-stepper output{min-width:46px;font-size:19px}
}

/* Pictogrammes des ressources : dessin visible à 73 % de la case, comme sur la page Talismans
   (tailles calculées d'après les marges transparentes de chaque image ; léger recentrage du dessin). */
#t12 .t12-cost-shard .t12-cost-tile img{width:80.2%!important;height:80.2%!important;max-width:none}
#t12 .t12-cost-steel .t12-cost-tile img{width:106.5%!important;height:106.5%!important;max-width:none;transform:translate(-2.8%,-0.5%)}
#t12 .t12-cost-meat .t12-cost-tile img{width:107.1%!important;height:107.1%!important;max-width:none;transform:translate(-2.1%,-0.2%)}
#t12 .t12-cost-wood .t12-cost-tile img{width:118%!important;height:118%!important;max-width:none;transform:translate(-0.4%,-0.8%)}
#t12 .t12-cost-coal .t12-cost-tile img{width:124.5%!important;height:124.5%!important;max-width:none;transform:translate(-2.1%,-1.4%)}
#t12 .t12-cost-iron .t12-cost-tile img{width:114.3%!important;height:114.3%!important;max-width:none;transform:translate(-3.4%,0.8%)}
#t12 .t12-cost-time .t12-cost-tile img{width:112.1%!important;height:112.1%!important;max-width:none;transform:translate(-0.8%,0.2%)}

/* ---------- Propre au T12 ---------- */
/* Fond : bordeaux de l'Académie, lumière chaude en haut de l'arbre (unité glorifiée). */
#t12{background:radial-gradient(ellipse 90% 60% at 50% 22%,#8f4a3d 0,#6e3934 30%,#4a2830 62%,#331b26 100%)}
#t12 .t12-board{max-width:900px;margin:0 auto 22px;padding:10px 16px 26px;background:transparent}
#t12 .t12-tree{position:relative;width:min(100%,520px);aspect-ratio:1000/1300;margin:0 auto;container-type:inline-size}

/* Sous-onglets Déblocage / Arbre : plus discrets que les onglets de troupe (soulignés). */
#t12 .t12-subtabs{display:flex;justify-content:center;gap:28px;max-width:420px;margin:0 auto 14px;border-bottom:2px solid rgba(240,170,120,.25)}
#t12 .t12-subtabs button{position:relative;padding:8px 6px 10px;border:0;background:transparent;color:#e3bfa6;font:inherit;font-size:16px;cursor:pointer}
#t12 .t12-subtabs button::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:3px;background:transparent}
#t12 .t12-subtabs button.active{color:#fff}
#t12 .t12-subtabs button.active::after{background:linear-gradient(90deg,#f7c766,#e08a3a)}
#t12 .t12-subtab-state{margin-left:4px;padding:1px 6px;border-radius:8px;font-size:12px;color:#2a1410;background:#f2c06b}
#t12 .t12-banner{max-width:520px;margin:0 auto 10px;padding:8px 14px;border:1px solid rgba(240,170,120,.42);border-radius:12px;background:rgba(42,14,12,.72);text-align:center;font-size:14px;color:#f6dcc8}
#t12 .t12-banner[hidden]{display:none}

/* Chemins dorés (toutes les troupes), à angles droits comme dans le jeu. */
#t12 .t12-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#t12 .t12-links path{fill:none;stroke-linejoin:miter;stroke-linecap:square;vector-effect:non-scaling-stroke}
#t12 .t12-link-off path{stroke:#2a1311;stroke-width:7px}
#t12 .t12-link-glow path{stroke:rgba(255,186,64,.6);stroke-width:14px;filter:blur(5px)}
#t12 .t12-link-core path{stroke:#f6b23c;stroke-width:6px}
#t12 .t12-link-light path{stroke:#fff1b8;stroke-width:1.8px}

/* Médaillons : bordure dorée vissée, anneau de la couleur de la troupe, illustration ronde. */
#t12 .t12-tree,#t12Picker .t12-node-preview{--t12-ring:#3fbf3a;--t12-ring-dark:#1d6e19}
#t12 .t12-tree[data-troop="lancer"],#t12Picker .t12-node-preview[data-troop="lancer"]{--t12-ring:#3a7fe0;--t12-ring-dark:#1b3f8a}
#t12 .t12-tree[data-troop="marksman"],#t12Picker .t12-node-preview[data-troop="marksman"]{--t12-ring:#f0a024;--t12-ring-dark:#9a5410}
/* Médaillons de l'arbre : cadres du jeu (assets/visuals/t12/frames, tools/make-t12-frames.py) posés sur l'icône.
   Recherches : anneau extérieur de la couleur de la troupe et 4 plots ; unité et élite : anneau doré à 8 rivets. */
:is(#t12,#t12Picker) .t12-node{position:absolute;z-index:1;aspect-ratio:1;padding:0;border:0;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;
  background:radial-gradient(circle closest-side,var(--t12-ring-dark) 0 70%,transparent 71%);filter:drop-shadow(0 4px 4px rgba(20,4,4,.55));transition:transform .15s ease}
:is(#t12,#t12Picker) .t12-node::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--frame) center/100% 100% no-repeat}
:is(#t12 .t12-tree,#t12Picker .t12-node-preview)[data-troop="infantry"]{--frame:url(../assets/visuals/t12/frames/small-infantry.webp);--frame-big:url(../assets/visuals/t12/frames/big-infantry.webp)}
:is(#t12 .t12-tree,#t12Picker .t12-node-preview)[data-troop="lancer"]{--frame:url(../assets/visuals/t12/frames/small-lancer.webp);--frame-big:url(../assets/visuals/t12/frames/big-lancer.webp)}
:is(#t12 .t12-tree,#t12Picker .t12-node-preview)[data-troop="marksman"]{--frame:url(../assets/visuals/t12/frames/small-marksman.webp);--frame-big:url(../assets/visuals/t12/frames/big-marksman.webp)}
:is(#t12,#t12Picker) .t12-node.t12-big::after{background-image:var(--frame-big)}
#t12 .t12-node:hover{transform:translate(-50%,-50%) scale(1.05)}
#t12 .t12-node:focus-visible{outline:3px solid #fff;outline-offset:4px}
:is(#t12,#t12Picker) .t12-ico{position:absolute;inset:14.5%;width:71%;height:71%;border-radius:50%;object-fit:cover;pointer-events:none;user-select:none}
#t12 .t12-badge{position:absolute;z-index:2;left:50%;bottom:16%;transform:translateX(-50%);font-size:clamp(9px,3.6cqi,19px);line-height:1;color:#fff;white-space:nowrap;-webkit-text-stroke:3px #2a1410;paint-order:stroke fill}
#t12 .t12-target{position:absolute;z-index:2;top:-4%;right:-14%;padding:2px 5px;border-radius:8px;font-size:clamp(8px,2.7cqi,13px);line-height:1.1;color:#2a1410;background:#ffd98a;box-shadow:0 2px 4px rgba(20,4,4,.5),0 0 8px rgba(255,190,80,.8)}
#t12 .t12-node.planned{box-shadow:0 4px 8px rgba(20,4,4,.55),0 0 14px 4px rgba(255,190,80,.6)}
#t12 .t12-node.locked{filter:grayscale(.6) brightness(.55) drop-shadow(0 4px 4px rgba(20,4,4,.55))}
#t12 .t12-unit{cursor:default}
#t12 .t12-unit:hover{transform:translate(-50%,-50%)}
#t12 .t12-label{position:absolute;z-index:1;width:40%;transform:translateX(-50%);text-align:center;font-size:clamp(10px,3.4cqi,17px);line-height:1.15;color:#ecdcdc;-webkit-text-stroke:3px #3a1712;paint-order:stroke fill;pointer-events:none}

/* Coût : cristaux en orange (comme la Chaudière). */
#t12 :is(.t12-cost-fc,.t12-cost-rfc,.t12-cost-shard) .t12-cost-tile{border-color:#eba16e;background:linear-gradient(180deg,#935b2d,#f2ceaf)}
#t12 .t12-cost-fc .t12-cost-tile img{width:100.9%!important;height:100.9%!important;max-width:none;transform:translate(-0.6%,-1.7%)}
#t12 .t12-cost-rfc .t12-cost-tile img{width:82.8%!important;height:82.8%!important;max-width:none}

/* Fenêtre : ±10 pour les recherches longues (20 à 50 niveaux) ; réglages l'un sous l'autre. */
#t12Picker .t12-steppers{display:grid;gap:12px}
#t12Picker .t12-stepper{grid-template-columns:76px 1fr auto;align-items:center;justify-items:stretch}
#t12Picker .t12-stepper small{text-align:right}
#t12Picker .t12-stepper>div{justify-content:center}
#t12Picker .t12-step10{display:none}
#t12Picker.t12-long .t12-step10{display:inline-block;width:auto!important;padding:0 8px;font-size:14px!important}
#t12Picker .t12-node.t12-node-preview{position:relative;display:block;width:82px;transform:none;cursor:default}

/* ---------- Déblocage : écran de forge (même mise en forme que le jeu) ---------- */
/* Écran de forge plus large que l'arbre : les médaillons gardent leur taille, le tuyau prend de la place entre eux. */
#t12 .t12-tree.t12-forge-host{aspect-ratio:auto!important;width:min(100%,680px)}
#t12 .t12-forge{--copper:#c07a45;--copper-dark:#5a2a16;overflow:hidden;border:2px solid #6b3523;border-radius:22px;background:#3a1916;box-shadow:0 14px 35px rgba(20,4,4,.45)}
/* Pièce détourée sur le fond de l'atelier : nuit bleutée, faisceau et halo bleus sous la pièce. */
#t12 .t12-forge-stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;box-sizing:border-box;aspect-ratio:720/486;padding-bottom:40px;overflow:hidden;
  background:radial-gradient(ellipse 34% 12% at 50% 86%,rgba(120,140,255,.55),transparent 70%),radial-gradient(ellipse 60% 70% at 50% 55%,#2a2a5c 0,#16163a 55%,#0b0b20 100%)}
#t12 .t12-forge-stage::before{content:"";position:absolute;left:50%;top:0;bottom:12%;width:30%;transform:translateX(-50%);background:linear-gradient(180deg,rgba(110,130,255,.0),rgba(110,130,255,.16) 60%,rgba(130,150,255,.3));filter:blur(8px)}
/* Pièce un peu en retrait, avec une lueur rouge douce qui en émane (respiration lente). */
#t12 .t12-forge-art{position:relative;max-width:58%;max-height:66%;object-fit:contain;
  filter:drop-shadow(0 0 5px rgba(255,60,35,.55)) drop-shadow(0 0 18px rgba(255,40,20,.4)) drop-shadow(0 10px 12px rgba(0,0,0,.5));animation:t12-glow 3.2s ease-in-out infinite alternate}
@keyframes t12-glow{to{filter:drop-shadow(0 0 7px rgba(255,70,40,.7)) drop-shadow(0 0 26px rgba(255,45,20,.55)) drop-shadow(0 10px 12px rgba(0,0,0,.5))}}
@media (prefers-reduced-motion:reduce){#t12 .t12-forge-art{animation:none}}
#t12 .t12-forge-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 78%,rgba(58,25,22,.9))}
#t12 .t12-forge-unit{position:absolute;z-index:1;left:12px;top:10px;padding:4px 10px;border:1px solid rgba(240,170,120,.45);border-radius:10px;font-size:13px;color:#f6dcc8;background:rgba(42,14,12,.78)}

/* Rangée des 5 pièces reliées par un tuyau épais (comme dans le jeu) : orange à cœur jaune une fois la pièce
   précédente terminée, bleu nuit sinon ; bague de cuivre à chaque raccord ; coudes qui sortent du panneau aux extrémités. */
#t12 .t12-forge-row{position:relative;display:flex;align-items:center;margin-top:-40px;padding:44px 2% 26px;border-bottom:2px solid rgba(240,170,120,.16)}
#t12 .t12-forge-pipe{position:relative;flex:1;height:min(4.4cqi,23px);margin:0 -1px;
  background:linear-gradient(180deg,#0e1528 0,#1f2c4a 18%,#2e4068 34%,#45598a 50%,#2e4068 66%,#1f2c4a 82%,#0e1528 100%)}
#t12 .t12-forge-pipe.lit{background:linear-gradient(180deg,#a03a10 0,#f07228 18%,#ffb840 34%,#ffe680 50%,#ffb840 66%,#f07228 82%,#a03a10 100%);box-shadow:0 0 10px 2px rgba(255,140,30,.7),0 0 22px 4px rgba(255,110,20,.35)}
/* bagues de cuivre aux deux raccords */
#t12 .t12-forge-pipe::before,#t12 .t12-forge-pipe::after{content:"";position:absolute;top:max(-.5cqi,-3px);bottom:max(-.5cqi,-3px);width:min(1.1cqi,6px);border-radius:2px;
  background:linear-gradient(180deg,#4a2414 0,#9a5634 30%,#c98258 50%,#9a5634 70%,#4a2414 100%);box-shadow:0 1px 2px rgba(0,0,0,.5)}
#t12 .t12-forge-pipe::before{left:0}
#t12 .t12-forge-pipe::after{right:0}
#t12 .t12-forge-elbow{position:relative;flex:0 0 min(6cqi,31px);align-self:stretch}
#t12 .t12-forge-elbow svg{position:absolute;left:0;top:calc(50% - min(2.2cqi,11.5px));width:min(6cqi,31px);height:min(10cqi,52px);overflow:visible}
#t12 .t12-forge-elbow g{filter:blur(.35px)}
#t12 .t12-forge-elbow.lit g{filter:blur(.35px) drop-shadow(0 0 5px rgba(255,140,30,.75)) drop-shadow(0 0 12px rgba(255,110,20,.4))}
#t12 .t12-socket{fill:#1a0b08;stroke:#5a2c1a;stroke-width:4}
#t12 .t12-forge-inlet{margin-right:-1px}
#t12 .t12-forge-outlet{margin-left:-1px}
/* Médaillon en hublot (capture du jeu) : large anneau de cuivre en 4 segments, 4 rivets, liseré clair autour de la vitre. */
#t12 .t12-forge-piece{position:relative;z-index:2;flex:none;width:min(13.2cqi,68px);aspect-ratio:1;padding:0;border:0;border-radius:50%;cursor:pointer;--ring-d:#5e2e14;--ring:#a0592e;--ring-hi:#c87a46;
  background:radial-gradient(circle closest-side,transparent 0 69%,#140806 70% 71.5%,var(--ring-line,#d8955e) 72.5% 74%,#2a1008 75% 76%,var(--ring) 78%,var(--ring-hi) 86%,var(--ring) 94%,var(--ring-d) 98.5%,transparent 100%);
  box-shadow:0 3px 7px rgba(10,2,2,.6);transition:transform .15s}
#t12 .t12-forge-piece::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 30.0% 12.5%,#e2a070 0 2%,#7a3e1c 3%,transparent 3.6%),radial-gradient(circle at 70.0% 12.5%,#e2a070 0 2%,#7a3e1c 3%,transparent 3.6%),radial-gradient(circle at 70.0% 87.5%,#e2a070 0 2%,#7a3e1c 3%,transparent 3.6%),radial-gradient(circle at 30.0% 87.5%,#e2a070 0 2%,#7a3e1c 3%,transparent 3.6%),repeating-conic-gradient(from 44deg,#2a1008 0 2.5deg,transparent 2.5deg 90deg);
  -webkit-mask:radial-gradient(circle closest-side,transparent 76%,#000 77% 99%,transparent 100%);mask:radial-gradient(circle closest-side,transparent 76%,#000 77% 99%,transparent 100%)}
/* simple ombre intérieure au bord de la vitre (plus de reflet blanc : il voilait l'icône) */
#t12 .t12-forge-disc::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle closest-side,transparent 86%,rgba(0,0,0,.4) 100%)}
#t12 .t12-forge-piece:hover{transform:scale(1.05)}
#t12 .t12-forge-piece:focus-visible{outline:3px solid #fff;outline-offset:3px}
#t12 .t12-forge-piece.sel{width:min(20.5cqi,106px)}
/* médaillons non sélectionnés : bord cuivré un peu plus sombre que celui de la pièce choisie */
#t12 .t12-forge-piece:not(.sel){--ring-d:#3d1d0c;--ring:#6e3c1f;--ring-hi:#8a5430;--ring-line:#9a6842}
#t12 .t12-forge-piece:not(.sel)::before{filter:brightness(.78)}
/* Fond du médaillon : icône détourée sur bleu nuit tant que la pièce n'est pas terminée (tools/cutout-t12-piece-icons.py),
   icône d'origine du jeu (fond rouge et jaune) une fois terminée. */
#t12 .t12-forge-disc{position:absolute;inset:15%;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 40%,#2e3358,#171a33 72%,#10122a)}
#t12 .t12-forge-disc img{width:100%;height:100%;object-fit:cover;pointer-events:none;image-rendering:-webkit-optimize-contrast}
#t12 .t12-forge-piece.locked .t12-forge-disc img{filter:grayscale(.7) brightness(.32)}
#t12 .t12-forge-lock{position:absolute;inset:0;display:grid;place-items:center}
#t12 .t12-forge-lock .t12-lock{width:46%;height:auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
#t12 .t12-lock .l-shackle-o{fill:none;stroke:#3a2418;stroke-width:5;stroke-linecap:round}
#t12 .t12-lock .l-shackle{fill:none;stroke:#f3e6cf;stroke-width:3;stroke-linecap:round}
#t12 .t12-lock .l-body{fill:#f6ecd8;stroke:#3a2418;stroke-width:1.2}
#t12 .t12-lock .l-hole{fill:#3a2418}
#t12 .t12-forge-unit .t12-lock{width:12px;height:auto;vertical-align:-2px}
#t12 .t12-forge-piece .t12-target{top:-12%;right:-22%}
#t12 .t12-forge-piece.sel .t12-target{display:none}
/* Jauge des 5 niveaux : arc cuivré de 5 cases jointives qui se remplit (orange = atteint, clair = objectif). */
#t12 .t12-forge-gauge{position:absolute;left:-50%;top:-50%;width:200%;max-width:none;height:200%;overflow:visible;pointer-events:none}
/* Jauge (capture du jeu) : cadre orange lumineux, cases sombres translucides, cases atteintes jaune vif, sans halo autour du cadre. */
#t12 .t12-gauge-frame{fill:url(#t12Frame);stroke:#d8955e;stroke-width:1.5;stroke-linejoin:round}
#t12 .t12-gauge-cell{fill:#3a2410;fill-opacity:.85;stroke:#d9ac6c;stroke-width:2.2}
#t12 .t12-gauge-cell.plan{fill:#7d5428}
/* remplissage = fond rouge-orangé des médaillons terminés (capture du jeu) ; la dernière case remplie, plus jaune et lumineuse */
#t12 .t12-gauge-cell.on{fill:url(#t12Lava);fill-opacity:1;stroke:#2a1208;stroke-width:1.2}
#t12 .t12-gauge-cell.on.front{fill:url(#t12LavaFront)}
#t12 .t12-gauge-lava{filter:drop-shadow(0 0 calc(var(--lava) * 4px) rgba(255,96,24,calc(var(--lava) * .7)))}
#t12 .t12-gauge-cell.front{animation:t12-lava 1.6s ease-in-out infinite alternate}
@keyframes t12-lava{to{fill-opacity:.8}}
#t12 .t12-gauge-shine path{fill:url(#t12Shine);mix-blend-mode:screen;pointer-events:none}
/* Pièce en cours : vraie surbrillance dorée (anneau doré, halo or qui respire, jauge cerclée d'or) ;
   les autres médaillons sont légèrement atténués pour la faire ressortir. */
/* pièce choisie : pas de surbrillance, seulement plus grande que les autres */
/* pas de halo sous l'arc : vide net entre la jauge et le médaillon */
#t12 .t12-forge-gauge{-webkit-mask:radial-gradient(circle closest-side,transparent 52.2%,#000 52.5%);mask:radial-gradient(circle closest-side,transparent 52.2%,#000 52.5%)}
#t12 .t12-gauge-frame{stroke:#d8955e;stroke-width:2.2}  /* liseré clair des médaillons */
@media (prefers-reduced-motion:reduce){#t12 .t12-gauge-cell.front,#t12 .t12-forge-piece.sel{animation:none}#t12 .t12-gauge-shine{display:none}}
/* Panneau de la pièce : nom, niveau, bonus, ressources requises, réglage. */
#t12 .t12-forge-panel{padding:12px 4% 16px}
#t12 .t12-forge-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
#t12 .t12-forge-head h3{margin:0;font-size:clamp(17px,4.4cqi,22px);color:#fff}
#t12 .t12-forge-lv{flex:none;font-size:clamp(16px,4.2cqi,21px);color:#fff}
#t12 .t12-forge-lv i{margin:0 6px;font-style:normal;color:#4cd64c}
/* aucun objectif choisi : le passage affiché (et les gains en vert) est un aperçu du niveau suivant */
#t12 .t12-forge-next{display:block;margin-bottom:1px;font-size:.58em;letter-spacing:.06em;text-transform:uppercase;text-align:right;color:#bfe3f5;line-height:1.1}
#t12 .t12-forge-stats{display:grid;gap:2px;padding:6px 12px;border-radius:12px;background:#2a110f}
#t12 .t12-forge-stats div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px;color:#d8c2bd}
#t12 .t12-forge-stats b{font-weight:inherit;color:#fff;white-space:nowrap}
#t12 .t12-forge-stats em{font-style:normal;color:#4cd64c}
#t12 .t12-forge-set{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
#t12 .t12-forge-box{display:grid;justify-items:center;gap:9px;padding:10px 8px 12px;border:1px solid rgba(240,170,120,.28);border-radius:14px;background:#2a110f}
#t12 .t12-forge-box>small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#e3bfa6}
#t12 .t12-forge-step{display:flex;align-items:center;gap:6px}
#t12 .t12-forge-step output{min-width:22px;text-align:center;font-size:20px;color:#fff}
/* boutons au style cuivré de la page (onglets, titres) */
#t12 .t12-forge-step button{min-width:36px;height:36px;padding:0 8px;border:1px solid #e3a06e;border-radius:11px;font:inherit;font-size:18px;color:#fff;cursor:pointer;
  background:linear-gradient(180deg,#c26a3e,#8c4129);box-shadow:inset 0 1px rgba(255,230,190,.45),0 3px 0 #4e1d10;text-shadow:0 1px 0 rgba(60,15,5,.6);transition:filter .15s,transform .1s}
#t12 .t12-forge-step button:not(:disabled):hover{filter:brightness(1.12)}
#t12 .t12-forge-step button:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 1px rgba(255,230,190,.45),0 1px 0 #4e1d10}
#t12 .t12-forge-step .t12-forge-max{border-color:#ffd27a;background:linear-gradient(180deg,#d98a3e,#a0521f)}
#t12 .t12-forge-step .t12-forge-max{font-size:14px;letter-spacing:.03em}
#t12 .t12-forge-step button:disabled{opacity:.35;filter:saturate(.5);cursor:default}
@media (max-width:520px){
  #t12 .t12-forge-set{gap:8px}
  #t12 .t12-forge-box{padding:8px 4px 10px;gap:7px}
  #t12 .t12-forge-step{gap:4px}
  #t12 .t12-forge-step button{min-width:28px;height:30px;padding:0 5px;border-radius:9px;font-size:16px}
  #t12 .t12-forge-step .t12-forge-max{font-size:12px}
  #t12 .t12-forge-step output{min-width:16px;font-size:18px}
  #t12 .t12-forge-all{padding:5px 8px;font-size:12px;gap:6px}
}

/* Unité débloquée : le personnage glorifié remplace la pièce, avec un liseré rouge et des éclairs. */
/* fondu du bas du personnage vers les médaillons (calque, pas de masque : la lueur n'est pas coupée en rectangle) */
#t12 .t12-forge-stage.unit::after{z-index:1;background:linear-gradient(180deg,transparent 66%,rgba(58,25,22,.75) 84%,#3a1916 96%)}
#t12 .t12-forge-stage.unit::before{display:none}
/* éclairs (captures du jeu) : rouge-orange, cœur jaune, lueur rouge ; visibles par éclats brefs */
/* éclairs calés sur l'image du personnage (points de départ sur sa silhouette), débordant librement autour */
#t12 .t12-unit-bolts{position:absolute;inset:0;width:100%;max-width:none;height:100%;overflow:visible;pointer-events:none}
#t12 .t12-unit-bolts g{opacity:0;animation:t12-bolt 2s steps(1,end) infinite}
#t12 .t12-unit-bolts path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:miter;stroke-miterlimit:8;stroke-linecap:round}
#t12 .t12-unit-bolts .b-glow{stroke:#ff2a10;stroke-width:7;opacity:.55;filter:blur(4px)}
#t12 .t12-unit-bolts .b-mid{stroke:#ff6a1a;stroke-width:3.4}
#t12 .t12-unit-bolts .b-core{stroke:#ffe46a;stroke-width:1.3}
@keyframes t12-bolt{0%{opacity:0}8%{opacity:1}12%{opacity:.25}16%{opacity:1}24%,100%{opacity:0}}
/* même hauteur pour les 3 personnages (référence : le Tireur), posés bas derrière les médaillons ; liseré rouge comme les éclairs */
/* Personnage : posé par les pieds au même niveau pour les 3 troupes (enfoncé derrière les médaillons),
   hauteur commune (référence : le Tireur) corrigée par --unit-scale ; liseré rouge comme les éclairs */
#t12 .t12-unit-figure{--zone:calc(100cqi / 1.4815 - var(--unit-top,70px));position:absolute;left:50%;bottom:calc(var(--zone) * var(--unit-sink,.1) * -1);
  height:calc(var(--zone) * .95 * var(--unit-scale,1) * var(--unit-zoom,1));transform:translateX(-50%)}
#t12 .t12-forge-art.t12-unit-art{position:relative;display:block;height:100%;width:auto;max-width:none;max-height:none;
  animation:t12-unit-in .9s ease-out both,t12-unit-glow 2.6s ease-in-out .9s infinite alternate;
  filter:drop-shadow(0 0 3px rgba(255,50,20,.95)) drop-shadow(0 0 12px rgba(255,40,16,.55)) drop-shadow(0 10px 12px rgba(0,0,0,.5))}
@keyframes t12-unit-in{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
@keyframes t12-unit-glow{to{filter:drop-shadow(0 0 5px rgba(255,70,30,1)) drop-shadow(0 0 20px rgba(255,40,16,.7)) drop-shadow(0 10px 12px rgba(0,0,0,.5))}}
/* bandeau de déblocage, au style des titres de la page */
#t12 .t12-unit-banner{position:absolute;z-index:2;left:50%;top:12px;display:grid;justify-items:center;gap:0;min-width:56%;padding:4px 18px 5px;transform:translateX(-50%);
  border:2px solid #ffd27a;border-radius:16px;background:linear-gradient(180deg,#c26a3e,#8c4129);box-shadow:0 0 0 3px rgba(60,20,10,.55),0 0 18px rgba(255,190,70,.6),inset 0 1px rgba(255,230,190,.45);
  text-align:center;animation:t12-banner-in .7s cubic-bezier(.2,1.4,.4,1) .2s both}
#t12 .t12-unit-banner b{display:flex;align-items:center;gap:8px;font-size:clamp(16px,3.6cqi,22px);font-weight:inherit;color:#fff;text-shadow:0 2px 0 rgba(60,15,5,.6)}
/* cadenas ouvert doré : l'anse se relève à l'apparition, puis il brille doucement */
#t12 .t12-unit-banner .t12-lock{width:1.15em;height:auto;overflow:visible;filter:drop-shadow(0 0 4px rgba(255,220,110,.9)) drop-shadow(0 2px 0 rgba(60,15,5,.6));animation:t12-lock-glow 1.8s ease-in-out 1.4s infinite alternate}
#t12 .t12-unit-banner .t12-lock .l-body{fill:#ffd65e;stroke:#7a4a10}
#t12 .t12-unit-banner .t12-lock .l-shackle{stroke:#ffe48a}
#t12 .t12-unit-banner .t12-lock .l-shackle-o{stroke:#7a4a10}
#t12 .t12-unit-banner .t12-lock .l-hole{fill:#7a4a10}
#t12 .t12-unit-banner .t12-lock :is(.l-shackle,.l-shackle-o){animation:t12-unlock .5s cubic-bezier(.3,1.6,.5,1) .8s both}
@keyframes t12-unlock{from{transform:translateY(4px)}to{transform:none}}
@keyframes t12-lock-glow{to{filter:drop-shadow(0 0 9px rgba(255,225,120,1)) drop-shadow(0 2px 0 rgba(60,15,5,.6))}}
#t12 .t12-unit-banner small{font-size:12px;color:#ffe2b8}
@keyframes t12-banner-in{from{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.8)}to{opacity:1;transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){#t12 .t12-unit-banner .t12-lock,#t12 .t12-unit-banner .t12-lock :is(.l-shackle,.l-shackle-o),#t12 .t12-unit-bolts g,#t12 .t12-forge-art.t12-unit-art,#t12 .t12-unit-banner{animation:none}#t12 .t12-unit-bolts g{opacity:.6}}

/* même place visuelle pour les 3 personnages : l'Infanterie (trapue) un peu réduite, le Lancier (fin) un peu agrandi */
#t12 .t12-tree[data-troop="infantry"] .t12-unit-figure{--unit-scale:.84}
#t12 .t12-tree[data-troop="lancer"] .t12-unit-figure{--unit-scale:1.2}
/* « Tout au max » de chaque encadré : même interrupteur que la page */
#t12 .t12-forge-all{margin:0;border-color:rgba(240,170,120,.42);background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.12);color:#fff}
#t12 .t12-forge-all .bulk-toggle{border-color:rgba(240,180,140,.5);background:linear-gradient(180deg,#6a3326,#4a2119);box-shadow:inset 0 2px 5px rgba(20,4,4,.45),0 1px rgba(255,220,190,.14)}
#t12 .t12-forge-all .bulk-toggle i{background:linear-gradient(180deg,#fff,#f3dccd)}
#t12 .t12-forge-all input:checked+.bulk-toggle{border-color:#ffc79c;background:linear-gradient(180deg,#d9804f,#a8502f);box-shadow:inset 0 1px rgba(255,255,255,.35),0 0 9px rgba(240,140,80,.45)}
#t12 .t12-actions[hidden]{display:none}

/* Mobile : bandeau élargi (2 lignes), personnage plus grand qui descend davantage derrière les médaillons */
@media (max-width:600px){
  #t12 .t12-forge-stage.unit{padding-top:58px}
  #t12 .t12-unit-banner{top:8px;width:calc(100% - 20px);min-width:0;padding:4px 10px 5px;box-sizing:border-box}
  #t12 .t12-unit-banner b{white-space:nowrap;font-size:17px}
  #t12 .t12-unit-banner small{white-space:nowrap;font-size:11px}
  #t12 .t12-unit-figure{--unit-top:58px;--unit-zoom:1.3;--unit-sink:.22}
  #t12 .t12-tree[data-troop="marksman"] .t12-unit-figure{--unit-sink:.3}
  /* pièce rouge : la rangée ne masque presque rien sur mobile, on recentre dans la zone sombre */
  #t12 .t12-forge-stage:not(.unit){padding:26px 0 0}
}

/* Coût total intégré à l'encadrement de la forge : même titre sur fond cuivré, sans second cadre */
#t12 .t12-forge .t12-result{max-width:none;margin:0;padding:6px 4% 18px;border:0;border-radius:0;background:transparent;box-shadow:none}

/* pas d'ancrage de défilement automatique : la forge est redessinée à chaque réglage */
#t12{overflow-anchor:none}

/* Encadrement de l'arbre, aussi large que le cadre de coût (l'arbre garde sa taille, centré) */
#t12 .t12-board:not(:has(.t12-forge-host)){max-width:900px;box-sizing:border-box;border:2px solid rgba(240,170,120,.42);border-radius:26px;background:rgba(42,14,12,.45);box-shadow:inset 0 1px rgba(255,220,190,.14),0 14px 35px rgba(20,4,4,.4)}
@media(max-width:600px){#t12 .t12-board:not(:has(.t12-forge-host)){margin-inline:8px;padding-inline:6px}}
/* Fond de l'arbre (comme dans le jeu) : lueur chaude au centre et quadrillage en losanges qui suit cette lumière
   (mélange doux, fondu vers les bords) ; un losange ≈ les deux tiers d'un petit médaillon */
#t12 .t12-board:not(:has(.t12-forge-host)){position:relative;background:radial-gradient(ellipse 70% 55% at 50% 35%,rgba(150,62,52,.42),transparent 75%),rgba(42,14,12,.45)}
#t12 .t12-board:not(:has(.t12-forge-host))::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='62'%3E%3Cpath d='M27.0 0L54 31.0L27.0 62L0 31.0Z' fill='none' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 0 0/54px 62px;opacity:.11;mix-blend-mode:soft-light;
  -webkit-mask:radial-gradient(ellipse 75% 65% at 50% 38%,#000 20%,transparent 85%);mask:radial-gradient(ellipse 75% 65% at 50% 38%,#000 20%,transparent 85%)}
@media(max-width:600px){#t12 .t12-board:not(:has(.t12-forge-host))::before{background-size:36px 41px}}
#t12 .t12-board>.t12-tree{z-index:1}  /* l'arbre au-dessus du quadrillage */

/* Fenêtre de réglage de l'arbre : cadre à engrenages du jeu (3 morceaux : haut, milieu étirable, bas).
   Le haut et le bas gardent leurs proportions (engrenages non déformés), le milieu suit la hauteur du contenu.
   Repères en % de la largeur d'origine (1077 px) : haut 365, bas 110, intérieur 154 / 55 / 109. */
#t12Picker{width:min(96vw,500px);overflow:visible;background:transparent;box-shadow:none;border-radius:0;container-type:inline-size;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}
#t12Picker form{z-index:0;padding:calc(14.3cqi + 16px) calc(5.1cqi + 12px) calc(10.1cqi + 18px)}
#t12Picker form>*{min-width:0}
#t12Picker form::before,#t12Picker form::after{content:"";position:absolute;pointer-events:none}
/* panneau rose intérieur */
#t12Picker form::after{z-index:-2;inset:calc(14.3cqi - 2px) calc(5.1cqi - 2px) calc(10.1cqi - 2px);border-radius:12px;background:#f6e2e2}
/* cadre */
#t12Picker form::before{z-index:-1;inset:0;
  background:url(../assets/visuals/t12/picker/top.webp) top center/100% auto no-repeat,
    url(../assets/visuals/t12/picker/bottom.webp) bottom center/100% auto no-repeat,
    url(../assets/visuals/t12/picker/middle.webp) 0 33.89cqi/100% calc(100% - 33.89cqi - 10.21cqi) no-repeat}
#t12Picker .t12-close{top:calc(14.3cqi + 10px);right:calc(5.1cqi + 10px)}
@media(max-width:600px){#t12Picker form{padding-inline:calc(5.1cqi + 8px)}
  /* libellé au-dessus des boutons : la ligne complète ne tient pas dans le cadre */
  #t12Picker .t12-stepper{grid-template-columns:1fr auto;row-gap:6px}
  #t12Picker .t12-stepper small{grid-column:1/-1;text-align:center}}

/* Ressources : une seule ligne quand le cadre de coût est assez large (8 cases), sinon disposition actuelle */
#t12 .t12-result{container-type:inline-size}
@container (min-width:844px){#t12 .t12-cost-grid{max-width:none;flex-wrap:nowrap}}

/* Tireur : le fusil élargit l'image vers la droite ; on centre sur le corps (≈ 37 % de la largeur), éclairs compris */
#t12 .t12-tree[data-troop="marksman"] .t12-unit-figure{transform:translateX(-37%)}
/* Ordinateur : Infanterie et Lancier un peu moins enfoncés derrière les médaillons */
@media(min-width:601px){#t12 .t12-tree:is([data-troop="infantry"],[data-troop="lancer"]) .t12-unit-figure{--unit-sink:.03}}
/* haut du casque aligné sur celui du Tireur (mesuré à l'écran) */
#t12 .t12-tree[data-troop="infantry"] .t12-unit-figure{translate:0 -26px}
#t12 .t12-tree[data-troop="lancer"] .t12-unit-figure{translate:0 -13px}
@media(max-width:600px){
  #t12 .t12-tree[data-troop="infantry"] .t12-unit-figure{translate:0 -16px}
  #t12 .t12-tree[data-troop="lancer"] .t12-unit-figure{translate:0 -9px}
}
/* ordinateur : pièce d'armure un peu plus bas dans la zone sombre */
@media(min-width:601px){#t12 .t12-forge-stage:not(.unit) .t12-forge-art{translate:0 18px}}
/* niveau sur l'icône de la fenêtre de réglage */
#t12Picker .t12-node-preview .t12-badge{position:absolute;z-index:2;left:50%;bottom:16%;transform:translateX(-50%);font-size:14px;line-height:1;color:#fff;white-space:nowrap;-webkit-text-stroke:3px #2a1410;paint-order:stroke fill}
/* bas de l'icône assombri derrière le niveau : fond la zone retouchée où était le badge du jeu */
#t12Picker .t12-node-preview .t12-ico{-webkit-mask:none;mask:none}
#t12Picker .t12-node-preview::before{content:"";position:absolute;inset:14.5%;z-index:1;border-radius:50%;pointer-events:none;background:linear-gradient(180deg,transparent 45%,rgba(20,8,6,.55) 72%,rgba(15,5,4,.85) 100%)}

/* Chemins allumés de l'arbre (capture du jeu) : trait fin jaune or lumineux, halo orangé doux qui éclaire le fond */
#t12 .t12-link-glow{filter:drop-shadow(0 0 8px rgba(255,170,40,.75)) drop-shadow(0 0 20px rgba(255,140,30,.4))}
#t12 .t12-link-glow path{stroke:rgba(255,190,60,.7);stroke-width:9px;filter:blur(3px)}
#t12 .t12-link-core path{stroke:#ffd257;stroke-width:4px}
#t12 .t12-link-light path{stroke:#fff6c8;stroke-width:1.6px;opacity:.9}
/* chemins éteints de la même épaisseur que les chemins allumés */
#t12 .t12-link-off path{stroke-width:4px}
/* chemins encore affinés (gros plan du jeu), coins arrondis : jointures rondes */
#t12 .t12-links path{stroke-linejoin:round;stroke-linecap:round}
#t12 .t12-link-off path{stroke-width:3px}
#t12 .t12-link-glow path{stroke-width:7px}
#t12 .t12-link-core path{stroke-width:3px}
#t12 .t12-link-light path{stroke-width:1.2px}

/* Lave qui circule dans les chemins allumés (du parent vers l'enfant) : fond orange-rouge, traînées jaunes en mouvement,
   lueur discrète au lieu de la brillance */
#t12 .t12-link-glow{filter:none}
#t12 .t12-link-glow path{stroke:rgba(255,90,20,.55);stroke-width:6px;filter:blur(2.5px)}
#t12 .t12-link-core path{stroke:#e9531a;stroke-width:3px}
#t12 .t12-link-light path{stroke:#ffe04a;stroke-width:2px;opacity:1;stroke-dasharray:14 22;animation:t12-lava-flow 1.4s linear infinite}
@keyframes t12-lava-flow{to{stroke-dashoffset:-36}}
@media (prefers-reduced-motion:reduce){#t12 .t12-link-light path{animation:none}}
/* Lave jaune uniforme : de rares petites nuances orangées qui glissent lentement (plus de traînées « snake ») */
#t12 .t12-link-glow path{stroke:rgba(255,200,60,.45);stroke-width:6px;filter:blur(2.5px)}
#t12 .t12-link-core path{stroke:#ffcc33;stroke-width:3px}
#t12 .t12-link-light path{stroke:#ff9a2a;stroke-width:2px;opacity:.55;stroke-dasharray:3 90;animation:t12-lava-flow 4.5s linear infinite}
@keyframes t12-lava-flow{to{stroke-dashoffset:-93}}
/* Lave (gros plan du jeu) : jaune vif, filaments irréguliers orangés le long des bords (alternés haut/bas, gauche/droite)
   et filaments plus clairs au centre, fins, de longueurs variées, qui glissent lentement à des vitesses différentes */
#t12 .t12-link-core path{stroke:#ffcf2e;stroke-width:3.4px}
#t12 .t12-link-edge path{stroke:#ff8a1a;stroke-width:1px;opacity:.8;fill:none}
#t12 .t12-edge-a{transform:translate(-2px,-2px)}
#t12 .t12-edge-b{transform:translate(2px,2px)}
#t12 .t12-edge-a path{stroke-dasharray:7 13 22 9 3 31 14 6 5 24;animation:t12-lava-flow-a 7s linear infinite}
#t12 .t12-edge-b path{stroke-dasharray:11 27 4 8 18 15 6 34 9 12;animation:t12-lava-flow-b 9s linear infinite}
#t12 .t12-link-light path{stroke:#fff3a8;stroke-width:1px;opacity:.85;stroke-dasharray:16 9 5 21 28 7 3 14;animation:t12-lava-flow 6s linear infinite}
@keyframes t12-lava-flow-a{to{stroke-dashoffset:-134}}
@keyframes t12-lava-flow-b{to{stroke-dashoffset:-144}}
@keyframes t12-lava-flow{to{stroke-dashoffset:-103}}
@media (prefers-reduced-motion:reduce){#t12 .t12-link-edge path,#t12 .t12-link-light path{animation:none}}

/* lave texturée (capture du jeu) */
#t12 .t12-link-lava path{fill:none;stroke-width:3.4px;stroke-linecap:butt;vector-effect:non-scaling-stroke}
#t12 .t12-link-lava-corner path{fill:none;stroke:#f9d75a;stroke-width:3.4px;stroke-linecap:butt;vector-effect:non-scaling-stroke}

/* Interrupteurs de l'arbre : même encadré que ceux de la Chaudière (cadre unique, deux interrupteurs empilés), couleurs de la page */
#t12 .t12-toggles{display:flex;flex-direction:column;align-items:stretch;gap:0;width:max-content;max-width:calc(100% - 24px);padding:9px 13px;border:1px solid rgba(240,170,120,.42);border-radius:11px;background:rgba(42,14,12,.72);box-shadow:inset 0 1px rgba(255,220,190,.12),0 5px 14px rgba(20,4,4,.3)}
#t12 .t12-toggles .charm-bulk-select{width:auto;max-width:100%;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
/* ===== src/tooltip.css ===== */
/* Infobulles du site (src/tooltip.js) : même style partout, couleurs accordées au fond de la page. */
.site-tip{position:fixed;left:0;top:0;z-index:1000;max-width:260px;padding:6px 10px;border:1px solid;border-radius:9px;font-family:var(--site-font);font-size:13px;line-height:1.15;white-space:nowrap;box-shadow:0 6px 14px rgba(2,8,20,.45);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s,transform .15s}
.site-tip.visible{opacity:1;transform:none}
.site-tip[data-theme="blue"]{border-color:rgba(131,203,240,.55);background:#0b2d4e;color:#e9faff}
.site-tip[data-theme="t11"]{border-color:rgba(240,170,120,.5);background:#2a0f0c;color:#fbe3d2;box-shadow:0 6px 14px rgba(10,2,2,.45)}
/* ===== src/ads.css ===== */
/* Emplacements publicitaires (maquette avec annonces fictives) — insérés par src/ads.js.
   À partir de 1320 px : bandeaux verticaux centrés dans les marges latérales, de part et d'autre du contenu.
   En dessous : bannière en haut de chaque page (320×50 sur téléphone, 728×90 au-delà de 768 px)
   et pavé 300×250 sous le panneau Coût. */
.ad-slot{display:none;flex-direction:column;align-items:center;gap:4px;margin:0 auto}
.ad-slot small{font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(214,236,250,.62)}
.ad-slot img{display:block;max-width:100%;height:auto;border-radius:6px;box-shadow:0 6px 18px rgba(0,10,25,.35)}
/* Bandeaux posés dans la page, en haut à côté du contenu : ils défilent avec elle. */
.ad-rail{display:none;position:absolute;top:96px;z-index:5}

/* Bandeaux centrés dans l'espace libre entre le bord de l'écran et le contenu (900 px de large sur toutes les pages). */
@media(min-width:1320px){
  .ad-rail{display:block;width:160px}
  .ad-rail-left{left:calc((100% - 900px) / 4 - 80px)}
  .ad-rail-right{right:calc((100% - 900px) / 4 - 80px)}
  .ad-rail .ad-rail-narrow{display:flex}
}
@media(min-width:1640px){
  .ad-rail{width:300px}
  .ad-rail-left{left:calc((100% - 900px) / 4 - 150px)}
  .ad-rail-right{right:calc((100% - 900px) / 4 - 150px)}
  .ad-rail .ad-rail-narrow{display:none}
  .ad-rail .ad-rail-wide{display:flex}
}

/* Sans bandeaux latéraux (moins de 1320 px) : emplacements « mobiles » — bannière en haut de page, pavé sous le Coût. */
.ad-mobile-top .ad-top-wide{display:none}
@media(max-width:1319px){
  .ad-mobile-top{display:flex;margin:0 auto 14px}
  .ad-mobile-mrec{display:flex;margin:18px auto 0}
}
/* Écran large sans bandeaux : bannière 728×90 ; l'accueil garde sa hauteur d'écran.
   Les compensations de hauteur ne s'appliquent que si la bannière est réellement affichée (classe posée par src/ads.js) :
   avec un bloqueur de publicité, l'accueil garde sa mise en page normale, sans bande vide en bas. */
@media(min-width:768px) and (max-width:1319px){
  :root{--ad-top-h:118px}
  .ad-mobile-top .ad-top-small{display:none}
  .ad-mobile-top .ad-top-wide{display:block}
  html.ad-top-visible #home{min-height:calc(100svh - 76px - var(--ad-top-h))}
  html.ad-top-visible #home .home-shell{min-height:calc(100svh - 76px - clamp(16px,2.7vh,30px) - clamp(18px,2.8vh,32px) - var(--ad-top-h))}
}

@media(max-width:767px){
  :root{--ad-top-h:78px}
  /* L'accueil reste sur une hauteur d'écran malgré la bannière du haut. */
  /* Espacements de l'accueil resserrés pour compenser la bannière (34 px regagnés). */
  html.ad-top-visible #home{min-height:calc(100svh - 76px - var(--ad-top-h));padding-top:10px}
  html.ad-top-visible #home .home-shell{min-height:calc(100svh - 76px - 10px - 22px - var(--ad-top-h))}
  html.ad-top-visible #home .home-welcome{margin-bottom:16px}
  html.ad-top-visible #home .disclaimer{padding-top:8px}
}
