/* L’Îlot · v381.262 — charte commune, dans la continuité des espaces de jeu.
   Sans police distante. Aucun changement des états, des gestes ou des scènes 3D. */
:root,body,body[data-theme=boudoir]{
 --ui-font:Arial,Helvetica,sans-serif;--ui-bg:#19121c;--ui-panel:#281d29;--ui-raised:#322532;--ui-line:#684c60;--ui-soft:#3b2938;
 --ui-text:#f8edf3;--ui-muted:#cfbac8;--ui-accent:#ecc98f;--ui-on-accent:#2a2026;--ui-rose:#e7a5bd;--ui-green:#9bdcc0;--ui-red:#f1a3ad;--ui-focus:#a9d9f0;
 --bg:var(--ui-bg);--bg2:#211823;--surface:var(--ui-panel);--surface2:var(--ui-raised);--line:var(--ui-line);--ink:var(--ui-text);--ink2:var(--ui-muted);--gold:var(--ui-accent);--rose:var(--ui-rose);--rose-soft:#f1c1d4;--ok:var(--ui-green);--plum:#a983a4;--serif:var(--ui-font);--r:10px;--shadow:0 8px 26px #0003;color-scheme:dark;
}
body[data-theme=nuit]{--ui-bg:#131b29;--ui-panel:#1d2a3c;--ui-raised:#26364b;--ui-line:#526b84;--ui-soft:#2e4159;--ui-text:#eef4fc;--ui-muted:#bdcde0;--ui-accent:#dfc994;--ui-rose:#a7c9ed;--bg2:#1a2536;--plum:#899fc5}
body[data-theme=velours]{--ui-bg:#161517;--ui-panel:#242126;--ui-raised:#302a31;--ui-line:#65545f;--ui-soft:#3a2e38;--ui-text:#f6eef2;--ui-muted:#cbbdc5;--ui-accent:#dec08b;--ui-rose:#e3a0ae;--bg2:#211d23;--plum:#ad879e}
body[data-theme=aurore]{--ui-bg:#31212d;--ui-panel:#43313e;--ui-raised:#503d49;--ui-line:#957487;--ui-soft:#624456;--ui-text:#fff3f7;--ui-muted:#e2ced9;--ui-accent:#f0cdac;--ui-rose:#f0b8ce;--bg2:#3a2935;--plum:#c99bb7}
html{scroll-padding-top:110px;scrollbar-color:#806578 #211823}
body,body.ambiance-feu{min-height:100dvh;background:radial-gradient(ellipse at 8% 0,#b37d9610,transparent 46%),var(--ui-bg)!important;color:var(--ui-text);font:14px/1.55 var(--ui-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.ambiance-feu::before,body.ambiance-feu::after,.petals,.lp-petals{display:none!important}
button,input,select,textarea{font-family:var(--ui-font)}
:where(button,a,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px}
:where(button,a,summary){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:where(button):disabled{cursor:not-allowed}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap,.gd,.lp-main,.policy) :is(h1,h2,h3,h4,h5){font-family:var(--ui-font);letter-spacing:-.015em;text-wrap:pretty}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap,.gd) h1{font-size:22px;line-height:1.25}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap,.gd) h2{font-size:19px;line-height:1.3}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap,.gd) h3{font-size:16px;line-height:1.35}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap) :is(p,li){line-height:1.6}
:where(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap) small{font-size:12px;line-height:1.5}
:where(:is(.main,.wj-body),.modal) .muted{color:var(--ui-muted)}
:is(.main,.wj-body){max-width:820px;padding:18px 18px calc(94px + env(safe-area-inset-bottom,0px));min-width:0}
:is(.main,.wj-body)>*{min-width:0}
:is(.main,.wj-body) :is(.hero-title,.page-title){font:700 22px/1.25 var(--ui-font);letter-spacing:-.025em;color:var(--ui-text);text-shadow:none}
:is(.main,.wj-body) :is(.hero-sub,.hero-desc){font:13px/1.5 var(--ui-font);letter-spacing:0;color:var(--ui-muted)}
:is(.main,.wj-body) .hero{padding:8px 0 14px}:is(.main,.wj-body) .hero-hearts{font-size:30px;margin-bottom:8px;filter:none;animation:none}
:is(.main,.wj-body) .card,.modal,.auth-panel,.sec-wrap .card,.rec-wrap .card,.delete-wrap .card{background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 6px 20px #0002;color:var(--ui-text)}
:is(.main,.wj-body) .card{padding:18px;margin-bottom:14px}:is(.main,.wj-body) .card-soft{background:var(--ui-raised)}
:is(.main,.wj-body) .card::before{display:none}:is(.main,.wj-body) .card h2{font:700 18px/1.3 var(--ui-font);color:var(--ui-text);margin-bottom:14px}
:is(.main,.wj-body) .sec-title,.modal .sec-title{font:700 14px/1.4 var(--ui-font);color:var(--ui-text);letter-spacing:0;gap:8px;margin:0 0 13px}
:is(.main,.wj-body) .small,.modal .small{font-size:12px}:is(.main,.wj-body) .hint,.modal .hint{font-size:12px;font-style:normal;line-height:1.55}
:is(.main,.wj-body) :is(hr,.profile-subsection){border-color:var(--ui-line)}
:is(.main,.wj-body) .profile-subsection{padding-top:20px;margin-top:22px;border-top:1px solid var(--ui-line);font-size:13px}
/* Un même langage de commandes : primaire or, secondaire discret, danger explicite. */
:is(.btn-main,.btn-soft,.btn-ghost,.btn-danger,.btn-ok,.lp-btn,.lp-auth-btn,.g-btn,.scene-return){min-height:44px;border-radius:7px;font:600 13px/1.35 var(--ui-font);letter-spacing:0;padding:11px 15px;box-shadow:none;text-shadow:none;transition:background-color .15s,border-color .15s,opacity .15s}
:is(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap) .btn-main,.lp-btn:not(.lp-btn-ghost),.lp-auth-btn{background:var(--ui-accent);color:var(--ui-on-accent);border:1px solid var(--ui-accent)}
:is(:is(.main,.wj-body),.modal,.auth-panel,.sec-wrap,.rec-wrap,.delete-wrap) :is(.btn-soft,.btn-ghost),.lp-btn-ghost{background:var(--ui-soft);color:var(--ui-text);border:1px solid var(--ui-line)}
:is(:is(.main,.wj-body),.modal) :is(.btn-danger,.btn-del){background:#64313f;color:#ffe4e8;border:1px solid #b96e80}
:is(:is(.main,.wj-body),.modal,.auth-panel) .btn-main:hover:not(:disabled){filter:brightness(1.06)}
:is(:is(.main,.wj-body),.modal) .btn-tiny{font-size:12px;min-height:44px;padding:8px 12px}
:is(.link-btn,.btn-link){font:600 12px/1.4 var(--ui-font);color:var(--ui-accent);text-underline-offset:3px;min-height:40px}
:is(:is(.main,.wj-body),.modal,.sec-wrap,.rec-wrap,.auth-panel) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){min-height:44px;min-width:0;max-width:100%;font:14px/1.45 var(--ui-font);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-bg);padding:11px 12px;box-shadow:none}
:is(:is(.main,.wj-body),.modal,.sec-wrap,.rec-wrap,.auth-panel) textarea{min-height:98px;resize:vertical}
:is(:is(.main,.wj-body),.modal,.sec-wrap,.rec-wrap,.auth-panel) label{font-size:12px;line-height:1.5;color:var(--ui-muted)}
:is(:is(.main,.wj-body),.modal,.sec-wrap,.rec-wrap,.auth-panel) input::placeholder,:is(:is(.main,.wj-body),.modal) textarea::placeholder{color:#b79fae;opacity:1}
:is(:is(.main,.wj-body),.modal,.sec-wrap,.rec-wrap,.auth-panel) :is(input[type=checkbox],input[type=radio]){accent-color:var(--ui-accent);width:18px;height:18px}
:is(:is(.main,.wj-body),.modal) :is(.chip,.tab,.m-tab,.alb-tab,.tal-tab,.meeting-tab){min-height:44px;padding:9px 12px;border:1px solid var(--ui-line);border-radius:6px;background:var(--ui-raised);color:var(--ui-muted);font:600 12px/1.35 var(--ui-font);text-shadow:none;box-shadow:none}
:is(:is(.main,.wj-body),.modal) :is(.chip.on,.tab-on,.m-tab.on,.alb-tab.on,.tal-tab.on,.meeting-tab.on){background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent)}
:is(:is(.main,.wj-body),.modal) .av-chip{font-size:22px;width:46px;height:46px;padding:6px}
:is(.main,.wj-body) .chips{gap:7px}:is(.main,.wj-body) .tabs{gap:5px;padding:4px;background:var(--ui-bg);border:1px solid var(--ui-line);border-radius:9px}
:is(:is(.main,.wj-body),.modal) :is(.pill,.badge-live,.diff-badge,.sec-badge){border-radius:4px;font:600 10px/1.45 var(--ui-font);letter-spacing:.015em;padding:3px 6px;box-shadow:none}
/* Cadre de navigation : libellés stables, séparateurs visibles, pas de halos. */
.topbar{background:var(--ui-bg);border-bottom:1px solid var(--ui-line);box-shadow:0 2px 14px #0002;backdrop-filter:blur(10px)}
.topbar-in{max-width:820px;min-height:68px;padding:9px 16px;gap:10px}.topbar .tb-title{font:700 15px/1.3 var(--ui-font);letter-spacing:0}.topbar .tb-sub{font:12px/1.4 var(--ui-font);color:var(--ui-muted)}
.topbar :is(.ui-tab,.tb-context,.tb-duo){border-radius:8px;box-shadow:none}.topbar .tb-license{border-radius:5px;background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-accent);font:11px/1.35 var(--ui-font)}
.menu-pop{background:var(--ui-panel);border-color:var(--ui-line);border-radius:10px;box-shadow:0 16px 40px #0006}
.menu-pop>button,.menu-pop>a{min-height:46px;padding:12px 15px;font:13px/1.45 var(--ui-font);border-bottom:1px solid var(--ui-line);color:var(--ui-text)}
.menu-pop>button:hover,.menu-pop>a:hover{background:var(--ui-soft)}.menu-ver{font:10px/1.5 var(--ui-font);padding:10px 15px;color:var(--ui-muted)}
.tabbar{background:var(--ui-bg);border-top:1px solid var(--ui-line);box-shadow:0 -4px 20px #0002;padding:6px max(8px,env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom));gap:4px}
.tabbar button{min-height:52px;border-radius:7px;color:var(--ui-muted);font:11px/1.3 var(--ui-font);gap:5px;padding:5px 2px;position:relative}
.tabbar button>span{font-size:19px;filter:none!important;transform:none!important}.tabbar .tb-lbl{font:11px/1.3 var(--ui-font)}
.tabbar button.on{color:var(--ui-accent);background:var(--ui-soft);text-shadow:none}.tabbar button.on::before,.tabbar button.on::after{display:none!important}
.tabbar button.glow{color:var(--ui-accent);text-shadow:none}.tabbar button.glow span{animation:none}
.live-bar{background:var(--ui-raised);border-bottom:1px solid var(--ui-line);color:var(--ui-text);font:12px/1.45 var(--ui-font);box-shadow:none}
.live-bar :is(button,a){border-radius:6px;font:600 12px/1.35 var(--ui-font);min-height:40px}
/* Sections et données : panneaux plats, lignes nettes, chiffres alignés. */
:is(.main,.wj-body) :is(.stat-box,.season-card,.duo-card,.talisman-page-card,.profile-inline-license,.profile-talisman-summary,.profile-priority-section,.license-example-note){border-radius:8px;border:1px solid var(--ui-line);background:var(--ui-raised);box-shadow:none}
:is(.main,.wj-body) .stat-grid{gap:9px}:is(.main,.wj-body) .stat-box{padding:14px 12px;min-width:0}:is(.main,.wj-body) .stat-box b{font:700 23px/1.25 var(--ui-font);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--ui-accent)}:is(.main,.wj-body) .stat-box span{font:12px/1.45 var(--ui-font);color:var(--ui-muted)}
:is(.main,.wj-body) :is(.season-card,.duo-card){padding:14px;margin-bottom:10px;gap:12px}:is(.main,.wj-body) :is(.season-card.on,.duo-card.on){border-color:#b29671;background:var(--ui-soft)}
:is(.main,.wj-body) :is(.sc-title,.dc-body>b){font:600 14px/1.4 var(--ui-font)}
:is(.main,.wj-body) :is(.talisman-page-card,.profile-talisman-summary){padding:14px;border-bottom:1px solid var(--ui-line)}
:is(.main,.wj-body) :is(.talisman-page-head b,.profile-talisman-summary b){font:600 13px/1.4 var(--ui-font)}:is(.main,.wj-body) .talisman-page-main p{font:13px/1.55 var(--ui-font)}
:is(.main,.wj-body) :is(.talisman-page-icon,.pts-glyph){font-size:25px;filter:none}:is(.main,.wj-body) :is(.talisman-info,.wish-reservoir-help,.journal-traversee){border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);box-shadow:none}
:is(.main,.wj-body) :is(.talisman-info,.wish-reservoir-help,.journal-traversee)>summary{min-height:48px;padding:12px;font:600 13px/1.5 var(--ui-font)}
:is(.main,.wj-body) :is(.talisman-info,.wish-reservoir-help,.journal-traversee)[open]>summary{border-bottom:1px solid var(--ui-line)}
:is(.main,.wj-body) :is(.profile-inline-license,.profile-priority-section){padding:14px}:is(.main,.wj-body) .profile-priority-section{margin-top:18px}
:is(.main,.wj-body) :is(.island-style-profile,.language-select-shell){border-radius:8px;border-color:var(--ui-line);background:var(--ui-raised);box-shadow:none}:is(.main,.wj-body) .language-select-control{border:0!important;background:transparent!important}
:is(.main,.wj-body) :is(.wish-reservoir-card,.home-now-v272,.home-horizon-v272,.home-requests-v272,.meet-state,.meet-wait,.gathering-card){border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-panel);box-shadow:none}
:is(.main,.wj-body) .home-now-v272{padding:14px;margin-bottom:14px}:is(.main,.wj-body) .home-now-label{font:700 10px/1.5 var(--ui-font);letter-spacing:.1em;text-transform:uppercase;color:var(--ui-accent);margin-bottom:12px}
:is(.main,.wj-body) :is(.alert,.wish-reservoir-help){border-radius:8px;background:var(--ui-raised);box-shadow:none;padding:14px;border-color:var(--ui-line)}
:is(.main,.wj-body) .alert>b{font:600 14px/1.45 var(--ui-font)}:is(.main,.wj-body) :is(.alert-good,.alert-ok){border-color:#537d6b;background:#253c33;color:#d8f5e8}:is(.main,.wj-body) :is(.alert-todo,.alert-live){border-color:#ae8e62;background:#403529;color:#ffedce}
:is(.main,.wj-body) :is(.alert-danger,.alert-error){border-color:#ad667b;background:#492a37;color:#ffe4eb}
:is(.main,.wj-body) :is(.wish-reservoir-head h2,.wish-section-title){font:700 18px/1.35 var(--ui-font)}
:is(.main,.wj-body) :is(.wish-item,.wish-row,.attention-row,.journal-row,.log-row){border-radius:7px;border-color:var(--ui-line)}
:is(.main,.wj-body) :is(.wish-reservoir-metrics,.wish-theme-tile){border-radius:8px;background:var(--ui-raised);border-color:var(--ui-line)}
:is(.main,.wj-body) :is(.wish-reservoir-meter,.progress,.gauge){border-radius:4px;box-shadow:none;overflow:hidden}:is(.main,.wj-body) :is(.wish-reservoir-meter i,.progress i){border-radius:3px}
/* Veillée et débat : aucune couleur de verdict ni logique de sélection supprimée. */
:is(.main,.wj-body) :is(.question,.question-card,.q-card,.brief,.waiting-card,.debat-card){background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:10px;box-shadow:none}
:is(.main,.wj-body) :is(.q-label,.question-text,.question-title){font:600 19px/1.5 var(--ui-font);letter-spacing:-.02em;color:var(--ui-text)}
:is(.main,.wj-body) :is(.opt,.option){border-radius:8px;min-height:50px;font:14px/1.45 var(--ui-font);padding:13px 14px;box-shadow:none;border-color:var(--ui-line)}
:is(.main,.wj-body) :is(.opt.on,.opt.sel,.option.on){border-color:var(--ui-accent);background:var(--ui-soft);color:var(--ui-text)}
:is(.main,.wj-body) :is(.q-arrow,.q-nav button){min-width:44px;min-height:44px;border-radius:7px}
:is(.main,.wj-body) :is(.meet-tabs,.tal-tabs,.album-tabs){gap:5px;border-color:var(--ui-line)}
.film :is(.film-title,.film-q),#debat-plein :is(.dbt-q,.dbt-rappel,.dbt-acte){font-family:var(--ui-font);text-shadow:none;line-height:1.45}.film .film-title{font-size:24px}.film .film-q{font-size:21px}.film :is(.film-sc b,.film-score b){font-family:var(--ui-font);font-variant-numeric:tabular-nums}
#debat-plein :is(button,.btn-main,.btn-soft){font-family:var(--ui-font);border-radius:7px;min-height:44px}
/* Album, bilan et administration : lisibilité des filtres, cartes et tableaux. */
:is(.main,.wj-body) :is(.alb-pager,.alb-barre,.album-nav,.duo-dashboard,.db-card,.adm-box,.adm-tile,.license-plan-card,.license-pack,.license-pack-row,.license-section,.license-summary){border-radius:9px;border-color:var(--ui-line);background:var(--ui-panel);box-shadow:none}
:is(.main,.wj-body) :is(.alb-pager button,.alb-barre button,.album-nav button){min-height:44px;border-radius:6px;font-family:var(--ui-font)}
:is(.main,.wj-body) .photo-grid{gap:9px}:is(.main,.wj-body) .ph{border-radius:8px;overflow:hidden}:is(.main,.wj-body) :is(.ph img,.alb-photo img){object-fit:cover}
:is(.main,.wj-body) :is(.adm-tile-title,.license-plan-card h3,.license-store-hero h2,.db-title,.db-head h2){font:700 17px/1.35 var(--ui-font)}
:is(.main,.wj-body) :is(.adm-tile-sub,.license-plan-card p,.license-plan-card li){font:12px/1.6 var(--ui-font);color:var(--ui-muted)}
:is(.main,.wj-body) :is(.license-plan-card.on,.license-plan-card.current){border-color:var(--ui-accent)}
:is(.main,.wj-body) :is(.license-pack-buy,.license-pack-card .btn-main){border-radius:6px;min-height:44px;font:600 12px var(--ui-font)}
:is(.main,.wj-body) table,.modal table{width:100%;border-collapse:collapse;font:12px/1.5 var(--ui-font)}
:is(.main,.wj-body) :is(th,td),.modal :is(th,td){padding:10px 8px;border-bottom:1px solid var(--ui-line);text-align:left;vertical-align:top}:is(.main,.wj-body) th{color:var(--ui-muted);font-weight:600}:is(.main,.wj-body) td{font-variant-numeric:tabular-nums}
:is(.main,.wj-body) :is(.table-wrap,.adm-table-wrap,.stats-table-wrap){overflow:auto;border:1px solid var(--ui-line);border-radius:8px}
:is(.main,.wj-body) :is(pre,code),.modal :is(pre,code){font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}:is(.main,.wj-body) pre{max-width:100%;overflow:auto;background:var(--ui-bg);border-radius:7px;padding:12px}
/* Fenêtres, aides, outils des lieux : conserver la géométrie des scènes. */
.modal-back{background:#0d0a12bc;backdrop-filter:blur(5px)}.modal{padding:22px;width:min(560px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto}.modal h2{font:700 20px/1.3 var(--ui-font);margin-right:30px}
.modal :is(.modal-close,.close){min-width:44px;min-height:44px;border-radius:7px}.toast{font:13px/1.45 var(--ui-font);border-radius:8px;background:var(--ui-raised);color:var(--ui-text);border:1px solid var(--ui-line);box-shadow:0 8px 26px #0004}
:is(.place-sheet,.scene-sheet,.island-style-menu){font-family:var(--ui-font);border-radius:10px;border-color:var(--ui-line)}
:is(.place-sheet,.scene-sheet) :is(h2,h3,h4){font-family:var(--ui-font);font-size:18px}
:is(.place-sheet,.scene-sheet,.island-explore-top,.place-explore-top) :is(button,a){font-family:var(--ui-font);border-radius:7px;min-height:44px}
:is(.place-sheet,.scene-sheet) p{font-size:13px;line-height:1.6}
/* Accueil public, connexion, inscription et récupération. */
body.landing{background:var(--ui-bg)!important}.lp-hero{background:radial-gradient(ellipse at 50% 0,#b9897a20,transparent 70%),var(--ui-bg)!important;border-bottom:1px solid var(--ui-line)}
.lp-wrap{max-width:900px}.lp-brand{font:700 42px/1.15 var(--ui-font);letter-spacing:-.04em;text-shadow:none}.lp-brand .lp-i{font-family:inherit}.lp-h1{font:600 clamp(19px,3vw,28px)/1.4 var(--ui-font);letter-spacing:-.02em;text-shadow:none}.lp-pitch{font:14px/1.65 var(--ui-font);color:var(--ui-muted)}.lp-pitch b{color:var(--ui-text)}
.lp-isle{font-size:44px;filter:none}.lp-btn{border-radius:7px!important;font:600 13px/1.35 var(--ui-font)!important;min-height:46px;box-shadow:none!important}.lp-public-language{border-radius:7px;border-color:var(--ui-line);background:var(--ui-panel)}.lp-public-language select{font:12px var(--ui-font);min-height:40px;color:var(--ui-text)}
:is(.lp-card,.lp-step,.lp-feature,.lp-faq details,.lp-auth-card,.lp-auth-box){border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-panel);box-shadow:none}
:is(.lp-card,.lp-step,.lp-feature) h3{font:700 16px/1.4 var(--ui-font)}.lp-section-title{font:700 22px/1.3 var(--ui-font)}.lp-section p{font-size:13px;line-height:1.65}
:is(.auth-panel,.auth-box,.lp-auth-panel,.lp-auth-sheet){border-radius:12px!important;background:var(--ui-panel)!important;border:1px solid var(--ui-line);color:var(--ui-text)}
:is(.auth-panel,.auth-box,.lp-auth-panel,.lp-auth-sheet) :is(input,select,textarea){min-height:46px;border-radius:7px;background:var(--ui-bg);color:var(--ui-text);border:1px solid var(--ui-line);font:14px var(--ui-font)}
:is(.sec-wrap,.rec-wrap,.delete-wrap){font:13px/1.6 var(--ui-font)}:is(.sec-wrap,.rec-wrap,.delete-wrap) :is(h1,.delete-title){font:700 22px/1.3 var(--ui-font)}:is(.sec-logo,.rec-logo,.delete-logo){font-size:32px}
:is(.sec-choice,.sec-mail-unavailable,.sec-policy-note,.delete-bill){border-radius:8px;border-color:var(--ui-line);background:var(--ui-raised)}.sec-code{border-radius:7px;font-size:14px}.sec-wrap .card{padding:18px}
body:has(.delete-wrap){background:var(--ui-bg)!important;color:var(--ui-text)}.delete-danger b,.delete-msg.err{color:var(--ui-red)}.delete-msg.ok{color:var(--ui-green)}
/* Guide : la même grille typographique, sommaire et chapitres bien séparés. */
.gd{width:min(860px,calc(100% - 32px));font:13px/1.65 var(--ui-font)}.g-bar{background:var(--ui-bg);border-bottom:1px solid var(--ui-line);padding:10px 0;gap:8px}.g-bar a,.g-lang{border-radius:7px;background:var(--ui-panel);border-color:var(--ui-line);font:12px/1.4 var(--ui-font);min-height:44px}.g-lang select{font-family:var(--ui-font);border-radius:5px}
.gd-hero{border-radius:10px;background:var(--ui-panel);padding:24px 20px}.gd-hero h1{font:700 23px/1.3 var(--ui-font)}.gd-hero p{font-size:13px}.gd-hero .sub{font-size:12px;letter-spacing:.04em}
.gd :is(.g-sec,.g-card,.g-step,.g-toc,.gd-nav,.gd-section,details){border-color:var(--ui-line);border-radius:8px;box-shadow:none}.gd :is(h2,h3,h4){font-family:var(--ui-font);letter-spacing:-.015em}.gd h2{font-size:19px;line-height:1.4}.gd h3{font-size:15px;line-height:1.45}.gd summary{min-height:44px;cursor:pointer}.gd p,.gd li{font-size:13px;line-height:1.65}.gd .g-note{border-radius:7px}
/* Confidentialité : document sobre sur fond clair, contrastes de lecture conservés. */
body.policy-body{--ui-focus:#276e91;background:#f3f1f4!important;color:#302b34;font:13px/1.65 var(--ui-font);color-scheme:light}.policy{max-width:840px}.policy :is(h1,h2,h3){font-family:var(--ui-font);color:#302536}.policy h1{font-size:24px}.policy h2{font-size:16px}.policy :is(p,li){font:13px/1.7 var(--ui-font);color:#413a46}.policy a{color:#70445e}.policy section{border-color:#d4c9d2}.policy :is(.policy-head,.policy-meta){border-radius:8px}.policy-nav a{min-height:40px;border-radius:6px}
/* Plateau : habiller les commandes, conserver cartes, pions et zones de jeu. */
body:has(#world){font-family:var(--ui-font)}#dashboard{border-radius:10px;background:#281d29ed;border-color:#786070;box-shadow:0 10px 26px #0004}#dashboardTitle{font:700 14px/1.35 var(--ui-font)}
#dashboard :is(button,.board-mode-chip){font-family:var(--ui-font);border-radius:6px}#dashboard :is(.board-mode-chip,small){font-size:11px}#roll{font:600 13px/1.4 var(--ui-font);min-height:44px;border-radius:7px;box-shadow:none}#dashboard .wish-flask{filter:none}
:is(.board-view-tools button,.board-topbar button,.dbg-roll,.dbg-reset){font-family:var(--ui-font);border-radius:7px;min-height:44px}.dbg-panel{border-radius:9px;font-family:var(--ui-font)}
/* Petits écrans : du texte compact, des zones tactiles confortables. */
@media(max-width:600px){:is(.main,.wj-body){padding:12px 12px calc(90px + env(safe-area-inset-bottom))}:is(.main,.wj-body) .card{padding:15px;margin-bottom:12px}:is(.main,.wj-body) .hero-title{font-size:21px}:is(.main,.wj-body) .hero-hearts{font-size:27px}:is(.main,.wj-body) .sec-title{font-size:14px}.topbar-in{padding:8px 12px;gap:8px}.topbar .tb-title{font-size:14px}.topbar .tb-sub{font-size:11px}:is(.main,.wj-body) .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.main,.wj-body) .stat-box b{font-size:22px}.modal{padding:18px}:is(.main,.wj-body) .chips{gap:6px}.lp-brand{font-size:36px}.lp-h1{font-size:21px}.gd{width:calc(100% - 24px)}.gd-hero{padding:20px 16px}:is(.main,.wj-body) :is(.q-label,.question-text,.question-title){font-size:18px}.tabbar .tb-lbl{font-size:10px}}
@media(max-width:360px){:is(.main,.wj-body){padding-inline:10px}:is(.main,.wj-body) .card{padding:13px}.topbar-in{gap:6px}.topbar .tb-license{font-size:10px}:is(.main,.wj-body) :is(.chip,.tab,.m-tab){padding-inline:9px}:is(.main,.wj-body) .hero-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:is(.main,.wj-body)>*,.lp-isle,.brand-ico{animation:none!important}:is(.btn-main,.btn-soft,.btn-ghost,.chip,.tab){transition:none}}
/* Les alias suivent aussi les trois ambiances alternatives. */
body[data-theme]{--bg:var(--ui-bg);--surface:var(--ui-panel);--surface2:var(--ui-raised);--line:var(--ui-line);--ink:var(--ui-text);--ink2:var(--ui-muted);--gold:var(--ui-accent);--rose:var(--ui-rose);--ok:var(--ui-green);--serif:var(--ui-font);--r:10px;--shadow:0 8px 26px #0003}
:is(.main,.wj-body) .qlabel{font:600 19px/1.5 var(--ui-font);letter-spacing:-.015em;text-shadow:none}:is(.main,.wj-body) .qsplit{border-radius:8px;border-color:var(--ui-line);background:var(--ui-raised);padding:14px}:is(.main,.wj-body) .qsplit h4{font:600 13px/1.4 var(--ui-font)}
:is(.main,.wj-body) .opt{background:var(--ui-bg);color:var(--ui-text)}:is(.main,.wj-body) .opt.sel-self,:is(.main,.wj-body) .opt.sel-pred{background:var(--ui-soft);border-color:var(--ui-accent);color:var(--ui-text);box-shadow:inset 3px 0 var(--ui-accent)}
:is(.main,.wj-body) .scale{gap:6px}:is(.main,.wj-body) .scale button{min-height:48px;min-width:0;border-radius:7px;font:600 16px var(--ui-font);box-shadow:none}:is(.main,.wj-body) .scale :is(.sel-self,.sel-pred){background:var(--ui-accent);color:var(--ui-on-accent)}
#auth-modal .lp-card{border:1px solid var(--ui-line);border-radius:12px;background:var(--ui-panel);box-shadow:0 24px 80px #0006;color:var(--ui-text);padding:24px}#auth-modal h2{font:700 21px/1.3 var(--ui-font);margin:0 44px 20px 0}#auth-modal label{font:12px/1.5 var(--ui-font);color:var(--ui-muted)}
#auth-modal :is(input:not([type=checkbox]),select){min-height:46px;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-bg);color:var(--ui-text);font:14px/1.45 var(--ui-font);padding:11px 12px}#auth-modal input[type=password],#auth-modal .pw-eye-wrap>input{padding-right:48px}
#auth-modal :is(.lp-go,.lp-tab){min-height:44px;border-radius:7px;font:600 13px/1.4 var(--ui-font);box-shadow:none}.lp-go{background:var(--ui-accent)!important;color:var(--ui-on-accent)!important}#auth-modal .lp-tab{border:1px solid var(--ui-line);color:var(--ui-muted);background:var(--ui-bg)}#auth-modal .lp-tab.on{background:var(--ui-accent);color:var(--ui-on-accent);border-color:var(--ui-accent)}#auth-modal .lp-x{width:44px;height:44px;border-radius:7px;font:18px Arial;border:1px solid var(--ui-line);background:var(--ui-soft);color:var(--ui-text)}#auth-modal .lp-note{font:12px/1.55 var(--ui-font);color:var(--ui-muted)}#auth-modal .lp-remember input{width:18px;height:18px;accent-color:var(--ui-accent)}
.policy-wrap{max-width:840px;border-color:#d9cdd6;box-shadow:none}.policy-wrap h1{font:700 24px/1.3 var(--ui-font)}.policy-wrap h2{font:700 16px/1.4 var(--ui-font)}.policy-wrap p,.policy-wrap li{font:13px/1.7 var(--ui-font)}.policy-wrap section{border-color:#ded4db}.policy-tools a{border-radius:6px;min-height:40px;font:12px var(--ui-font)}
#pico-dialog:not([data-mode=mission]){--ink:#f8edf3;--ink2:#cfbac8;--mute:#cfbac8;--bg:#281d29;--gold:#ecc98f;--plum:#493044;--line:#684c60;--card:#322532;--sand:#322532;--paper:#322532;font-family:var(--ui-font)!important;border-radius:10px!important;border:1px solid #806174!important;background:#281d29!important;box-shadow:0 12px 36px #0005!important;color:#f8edf3!important}
#pico-dialog:not([data-mode=mission]) :is(p,li,textarea,input,button){font-family:var(--ui-font)!important}#pico-dialog:not([data-mode=mission]) :is(p,li){font-size:13px;line-height:1.55}#pico-dialog:not([data-mode=mission]) :is(h3,h4){font:700 16px/1.4 var(--ui-font)}#pico-dialog:not([data-mode=mission]) .pico-panel-head{background:#322532;border-bottom:1px solid #684c60}#pico-dialog:not([data-mode=mission]) [data-pico-close]{border-radius:6px;min-width:40px;min-height:40px}#pico-dialog:not([data-mode=mission]) :is(.btn-main,.btn-soft,.btn-ghost){border-radius:6px;min-height:44px;font-size:12px;box-shadow:none}
:is(.kiff-compose,.ksv,.kiff-sheet,.memory-nudge-card) :is(h2,h3,p,button){font-family:var(--ui-font)}
@media(max-width:600px){:is(.main,.wj-body) .qlabel{font-size:18px}:is(.main,.wj-body) .qsplit{padding:12px}#auth-modal .lp-card{padding:20px 18px}.policy-wrap h1{font-size:22px}}

/* Le réservoir rejoint les autres espaces de travail ; son niveau reste dans la jauge. */
dialog#ilot-wish{position:fixed;inset:0;width:min(760px,calc(100vw - 28px));height:min(860px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--ui-line)!important;border-radius:12px!important;background:var(--ui-bg)!important;color:var(--ui-text);overflow:hidden;box-shadow:0 24px 90px #0008;transform:none;animation:none}
#ilot-wish::backdrop{background:#100b14bd;backdrop-filter:blur(5px)}
#ilot-wish :is(.wj-cork,.wj-rim,.wj-liquid,.wj-shine){display:none!important}
#ilot-wish .wj-glass{height:100%;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
#ilot-wish .wj-body{height:100%;max-width:none;padding:24px 24px 88px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#ilot-wish .card{background:var(--ui-panel)!important;border:1px solid var(--ui-line)!important;box-shadow:none!important;backdrop-filter:none}
#ilot-wish .wish-reservoir-head{padding-top:28px}#ilot-wish .hero-hearts{display:none}#ilot-wish .hero-title{font-size:21px}
#ilot-wish .wj-x{position:absolute;z-index:10;right:12px;top:12px;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:7px;border:1px solid var(--ui-line);background:var(--ui-raised);color:var(--ui-text);box-shadow:none;font:24px Arial}
#ilot-wish .wj-return{position:absolute;bottom:0;left:0;transform:none;width:100%;min-height:52px;padding:12px 16px;margin:0;border:0;border-top:1px solid var(--ui-line);border-radius:0;background:var(--ui-panel);color:var(--ui-text);font:600 13px var(--ui-font);box-shadow:0 -6px 20px #0003}
#ilot-wish .wish-reservoir-count b{font:700 28px/1.3 var(--ui-font);color:var(--ui-accent)}#ilot-wish .wish-reservoir-count span{font:12px/1.5 var(--ui-font)}#ilot-wish .gauge-bar{height:6px;border-radius:3px;background:var(--ui-soft)}#ilot-wish .gauge-fill{background:var(--ui-accent)!important;box-shadow:none;border-radius:3px}
#ilot-wish .wish-reservoir-help{padding:0}#ilot-wish .wish-reservoir-help :is(ol,p){margin:12px 16px}#ilot-wish .wish-reservoir-help summary{padding:12px}
.home-now-v272 .veillee-go.btn-main,.home-now-v272 .alert>.btn-main,.home-now-v272>.btn-main{background:var(--ui-accent)!important;border:1px solid var(--ui-accent);color:var(--ui-on-accent)!important;box-shadow:none!important;border-radius:7px;min-height:46px;font:600 13px/1.4 var(--ui-font)}
.main .ux-tabs{border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);padding:4px}.main .ux-tabs button{min-height:44px;border-radius:5px;background:transparent;font:600 12px/1.4 var(--ui-font);box-shadow:none}.main .ux-tabs button.on{background:var(--ui-soft);color:var(--ui-accent);border-color:var(--ui-line)}
.tabbar svg{display:block;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){#ilot-wish .wj-body{padding:16px 16px 76px}#ilot-wish .wish-reservoir-head{padding-top:38px}#ilot-wish .hero-title{font-size:20px}}
#auth-modal .lp-card{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
/* Les longues pages et leurs en-têtes restent consultables en orientation paysage. */
@media(max-height:500px){.topbar-in{min-height:56px}.tabbar{padding-top:3px}.tabbar button{min-height:44px}.modal{max-height:calc(100dvh - 24px)}dialog#ilot-wish{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}}
/* Volets des pages : une barre segmentée stable sur tous les écrans. */
.main .ux-pager-nav{padding:4px;gap:4px;border:1px solid var(--ui-line);border-radius:9px;background:var(--ui-bg);box-shadow:none}
.main .ux-pager-tab{min-height:52px;padding:8px 6px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ui-muted);font:600 12px/1.35 var(--ui-font);box-shadow:none;text-shadow:none}
.main .ux-pager-tab span{font-size:17px;filter:none}.main .ux-pager-tab.on{border-color:var(--ui-accent);background:var(--ui-accent);color:var(--ui-on-accent);box-shadow:none}
.main .ux-pager-caption{font:11px/1.4 var(--ui-font);color:var(--ui-muted)}.main .ux-pager-dot{border-radius:3px;box-shadow:none}
.main :is(.place-mini,.living-island){border-radius:11px}.main .living-island-scene{border-radius:8px}
.main .talisman-info>summary{border:0;border-radius:0;background:transparent;color:var(--ui-muted)}
#live-bar{background:var(--ui-raised)!important;color:var(--ui-text)!important;border-bottom:1px solid var(--ui-line);border-radius:0;box-shadow:none}
.topbar .av-btn{border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-raised);box-shadow:none}.topbar #tb-name{font:700 15px/1.3 var(--ui-font);letter-spacing:0}
@media(max-width:360px){.main .ux-pager-tab{font-size:11px;padding-inline:4px}}
/* En-tête du questionnaire : largeur liée au contenu, même à 320 px. */
.main .vm-barre{margin:0 0 14px;padding:10px 8px;gap:7px;width:100%;max-width:100%;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel)}
.main .vm-barre .vm-retour{max-width:100px;min-height:44px;height:auto;padding:8px 10px;font:600 12px/1.35 var(--ui-font);border-radius:6px;flex:none}
.main .vm-mode{font:700 10px/1.35 var(--ui-font);letter-spacing:.06em}.main .vm-quoi{font:11px/1.4 var(--ui-font)}.main .vm-n{padding:6px 9px;border-radius:5px;font:600 12px/1.4 var(--ui-font);min-width:36px}
.main .page-close{min-width:44px;min-height:44px;width:44px;height:44px;border-radius:7px;background:var(--ui-raised);border-color:var(--ui-line)}
.main .card-hero:has(>.page-close) .hero{padding-inline:25px}
.main .profile-plan-compact{background:var(--ui-raised);border:1px solid var(--ui-line);border-radius:8px;padding:12px}.main .profile-plan-compact .ppc-upgrade{min-height:44px;border-radius:6px;background:var(--ui-soft);color:var(--ui-text);box-shadow:none;font:600 12px/1.35 var(--ui-font);border:1px solid var(--ui-line)}
.main .duo-kpis{gap:8px;margin-block:14px}.main .duo-kpis>div{min-width:0;padding:13px 9px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-raised)}.main .duo-kpis b{font:700 24px/1.2 var(--ui-font);font-variant-numeric:tabular-nums;color:var(--ui-accent)}.main .duo-kpis span{font:12px/1.5 var(--ui-font);color:var(--ui-muted)}
.main .duo-jumps{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;padding:4px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);scrollbar-width:thin}.main .duo-jumps a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:5px;flex:none;white-space:nowrap;color:var(--ui-text);background:var(--ui-raised);font:600 12px var(--ui-font)}
.main :is(.duo-pie-card,.duo-ring-card,.duo-compare){border-radius:8px;border-color:var(--ui-line)}.main svg text{font-family:var(--ui-font)}
body:has(.gd){font:13px/1.65 var(--ui-font)!important}.gd .gd-hero h1{font:700 22px/1.3 var(--ui-font)!important}.gd .gd-hero .sub{font:600 11px/1.5 var(--ui-font)!important}
.gd .gd-card{border:1px solid var(--ui-line);border-top:3px solid var(--ui-accent);border-radius:9px;background:var(--ui-panel);padding:18px}.gd .gd-lead{font:14px/1.65 var(--ui-font)!important}
.gd :is(.gd-card h2,.gd-r h2,.gd-h3,.gd-elems b,.gd-toc b,.gd-toc-g,.gd-list dt,.gd-table th){font-family:var(--ui-font)!important}.gd .gd-rule li{padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-raised)}.gd .gd-rule li::before{border-radius:4px;font-family:var(--ui-font)!important;background:var(--ui-accent)}.gd .gd-r{border-radius:9px;background:var(--ui-panel);border-color:var(--ui-line)}
.lp-modal{animation:lpFade .18s ease-out}.lp-modal .lp-card{animation:lpPop .18s ease-out}
@media(prefers-reduced-motion:reduce){.lp-modal,.lp-modal .lp-card{animation:none!important}}
/* v381.263 · Le détour par le plateau reste une option du parcours. */
.optional-prep-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:12px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel)}.optional-prep-actions button{flex:1 1 210px}.optional-prep-actions small{display:block;flex-basis:100%;font:12px/1.5 var(--ui-font);color:var(--ui-muted)}
#world .board-bottom{display:block!important;left:12px!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
#world .board-bottom>.info{display:none!important}
#world .board-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;max-width:760px!important;margin:0 auto!important;gap:8px!important;position:relative;align-items:stretch!important}
#world .board-actions :is(#roll,#prepareVeillee){position:relative!important;inset:auto!important;transform:none!important;animation:none!important;display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:none!important;min-width:0!important;min-height:56px!important;height:auto!important;padding:12px!important;border-radius:8px!important;white-space:normal!important;font:600 12px/1.45 Arial,Helvetica,sans-serif!important;text-align:center;box-shadow:0 4px 16px #0003!important}
#world .board-actions #roll{background:#ecc98f!important;color:#2a2026!important;border:1px solid #ecc98f!important}
#world .board-actions #prepareVeillee{background:#281d29f5!important;color:#f8edf3!important;border:1px solid #96768c!important}
#world .board-actions #roll .board-control-icon{display:none}
#world .board-actions button:disabled{opacity:.55!important;cursor:default}
#world .board-actions #showCase{position:absolute!important;right:0!important;bottom:calc(100% + 8px)!important;width:44px!important;height:44px!important;min-height:44px!important;max-width:44px!important;border-radius:8px!important;padding:8px!important}
#world .board-actions #showCase span{display:none!important}#world .board-actions #showCase .board-control-icon{width:20px;height:20px}
#world[data-debug="1"] .board-actions{grid-template-columns:1fr}#world[data-debug="1"] #prepareVeillee{display:none!important}
#world.simple-mode #dashboard{display:block!important}
@media(max-width:360px){#world .board-actions :is(#roll,#prepareVeillee){font-size:11.5px!important;padding:10px 8px!important;min-height:76px!important}}

#world:is(.cine,.cinema) .board-actions{visibility:hidden;pointer-events:none}

#pico-dialog[data-preparation-route] .pico-say-actions>[data-say-act]{white-space:normal!important;overflow-wrap:break-word;min-width:0;max-width:100%;height:auto;min-height:48px;padding:11px 12px!important;font:600 12px/1.45 Arial,Helvetica,sans-serif!important;text-align:left;border-radius:7px!important;box-shadow:none}
#pico-dialog[data-preparation-route] .pico-say-actions>[data-say-act="0"]{background:#ecc98f;color:#2a2026}
#pico-dialog[data-preparation-route] .pico-say-actions>[data-say-act="1"]{background:#322532;color:#f8edf3;border:1px solid #96768c}
#pico-dialog[data-preparation-route] .pico-spoken{font:13px/1.55 Arial,Helvetica,sans-serif!important}

/* v381.264 · Statut lisible immédiatement, sans bandeau rogné sur l’illustration. */
#arrival.flow-card #arrivalArt .arr-ribbon{left:12px!important;top:12px!important;width:max-content;max-width:calc(100% - 24px);padding:10px 13px;transform:none!important;animation:none!important;text-align:left;border-radius:6px;border-left:4px solid #c0ffdb;background:#205b42;color:#fff;box-shadow:0 3px 16px #0006;text-shadow:none;box-sizing:border-box}
#arrival.flow-card #arrivalArt .arr-ribbon b{font:700 13px/1.35 Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important;text-transform:uppercase}
#arrival.flow-card #arrivalArt .arr-ribbon small{font:500 11.5px/1.45 Arial,Helvetica,sans-serif!important;display:block;margin-top:3px;color:#effff5;opacity:1;white-space:normal}
#arrival.flow-card #arrivalArt .arr-ribbon.had{background:#393984;border-left-color:#cec9ff}
#arrival.flow-card #arrivalArt .arr-ribbon.locked{background:#87323e;border-left-color:#ffc1b9}
#filmStatus{top:auto!important;right:auto!important;font:600 12px/1.4 Arial,Helvetica,sans-serif;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:9px 14px;background:#281d29f5;border:1px solid #ecc98f;border-radius:7px;z-index:30;pointer-events:none}
/* v381.268 · Légende à gauche, talismans à droite sur les mêmes lignes. */
.main .li-home-map .li-home-map-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 12px;background:#281d29;isolation:isolate}
.main .li-home-map .li-mini-chap{grid-column:1;grid-row:1;min-width:0;white-space:normal;line-height:1.4}
.main .li-home-map .li-mini-pouls{grid-column:1;grid-row:2;min-width:0;white-space:normal;line-height:1.45}
.main .li-home-map .li-mini-acts{display:flex;grid-column:2;grid-row:1/3;position:static;margin:0;align-self:center;justify-self:end;justify-content:flex-end;min-width:0}
.main .li-home-map .li-mini-acts .li-tal-link{position:static;display:inline-flex;min-height:44px;gap:6px;padding:8px 10px;border-radius:7px;background:#322532;border:1px solid #806174;color:#f8edf3;opacity:1;filter:none;box-shadow:none;white-space:nowrap;font:600 11px/1.4 Arial,Helvetica,sans-serif}
.main .li-home-map .li-tal-link b{display:inline;font:inherit}.main .li-home-map .li-tal-link small{font:700 12px Arial,Helvetica,sans-serif;color:#ecc98f}
.main .li-home-map .li-mini-acts .li-tal-link.empty{color:#cfbac8}
@media(max-width:360px){.main .li-home-map .li-home-map-foot{padding:9px 10px;gap:3px 8px}.main .li-home-map .li-mini-acts .li-tal-link{padding:8px;gap:5px}}
#arrival[data-browse="locked"] .card-nav{display:none!important}

/* v381.269 · Annonce de talisman dans Pico : titres courts et rythme compact. */
#pico-dialog .pico-relayed-modal.talisman-notice h3{font:700 14px/1.35 var(--ui-font)!important;letter-spacing:0;margin:0 0 6px!important}
#pico-dialog .pico-relayed-modal.talisman-notice .tn-h{font:600 12px/1.35 var(--ui-font)!important;letter-spacing:0;margin:6px 0 3px!important}
#pico-dialog .pico-relayed-modal.talisman-notice>p{margin:4px 0 6px;line-height:1.45}
/* Les effets reçus restent lisibles sans ouvrir une autre page. */
#pico-dialog .talisman-notice .trouvaille-grotte>div>b{font:600 13px/1.4 var(--ui-font)}
#pico-dialog .talisman-notice .trouvaille-grotte small{font:400 12px/1.45 var(--ui-font)}
#pico-dialog .talisman-notice .trouvaille-grotte em{font:400 11.5px/1.4 var(--ui-font)}

/* v381.272 · L’accueil garde la prochaine étape et son geste dans la même bulle. */
#pico-dialog .pico-connection-next{margin:10px 0 8px;padding:10px 0 0;border-top:1px solid #80617466}
#pico-dialog .pico-connection-next>b{font:600 11px/1.4 var(--ui-font);color:var(--accent,#ecc98f)}
#pico-dialog .pico-connection-next p{margin:5px 0 8px;font:400 12px/1.45 var(--ui-font)}
#pico-dialog .pico-connection-next button{width:100%;min-height:40px;font:600 12px/1.35 var(--ui-font);border-radius:6px}

/* v381.273 · Encadrement continu des cartes en grand, accordé à leur catégorie. */
.cv-slide .cv-card{border:3px solid transparent;border-radius:9px;padding:3px;background:linear-gradient(#281d2c,#281d2c) padding-box,linear-gradient(135deg,#f7dfb6,var(--cc,#d6ab71) 23%,#72526d 55%,var(--cc,#d6ab71) 80%,#f5d6c4) border-box;box-shadow:0 0 0 1px #2b1c30,0 10px 28px #0007,inset 0 0 0 1px #f9e8d044}
.cv-slide .cv-card .cv-art{border-radius:4px;overflow:hidden}
.cv-slide.missing .cv-card{border-top-color:transparent;background:linear-gradient(#281d2c,#281d2c) padding-box,linear-gradient(135deg,#c1b5c3,#796d83 55%,#b4a5bb) border-box}

/* v381.292 — compact footer below the home island image; retain the cave touch target. */
.main .li-home-map .li-home-map-foot{padding-top:4px;padding-bottom:4px;row-gap:2px}
.main .li-home-map .li-mini-chap{line-height:1.25}
.main .li-home-map .li-mini-pouls{line-height:1.3}
.main .li-home-map .li-mini-acts .li-tal-link{min-height:44px;padding-top:4px;padding-bottom:4px}
.main .li-home-map .living-island-foot{padding-top:4px;padding-bottom:4px}

/* v381.293 — reduce the Talismans button itself, including the SVG fallback. */
#living-island.li-home-map .li-tal-link{box-sizing:border-box;height:30px;min-height:30px;max-height:30px;padding:3px 8px;gap:5px;align-items:center;line-height:1.2}
#living-island.li-home-map .li-tal-link>span{font-size:13px;line-height:1}
#living-island.li-home-map .li-tal-link small{line-height:1}

/* v381.294 — le cœur global et sa lecture restent accessibles au-dessus de la vue 3D. */
body.ilot-board-open #kiff-global-heart{z-index:2147483647!important;top:calc(env(safe-area-inset-top,0px) + 74px)!important;right:calc(env(safe-area-inset-right,0px) + 12px)!important}
body.ilot-board-open :is(.kiff-coeur-back,.kiff-souv-large){z-index:2147483647!important}
body.ilot-board-open.memory-nudge-card-open :is(.lb,.cp){z-index:2147483647!important}

/* v381.295 — information sur le souvenir en cours et accès aux veillées passées. */
.memory-pending{margin:12px 0;padding:13px 14px;border:1px solid #a57b9c66;border-left:3px solid #b786aa;border-radius:8px;background:var(--card,#241e28);color:var(--ink)}
.memory-pending b{display:block;font-size:14px;line-height:1.4}.memory-pending p,.memory-history-help{font-size:13px;line-height:1.55;margin:7px 0 0}.memory-history-help{color:var(--ink2);margin:12px 0}
.scene-chapter-host{z-index:10019}.scene-chapter-host.scene-nested{z-index:10030}

/* v381.296 — accès au bilan de l'îlot, hors du souvenir et du menu. */
.home-overview-button{display:grid;grid-template-columns:32px minmax(0,1fr) 14px;align-items:center;gap:10px;width:100%;box-sizing:border-box;min-height:52px;margin:10px 0 12px;padding:9px 12px;border:1px solid var(--ui-line);border-radius:8px;background:var(--card,#241e28);color:var(--ink);text-align:left;cursor:pointer}
.home-overview-button .home-overview-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#b18eb11c;color:#c6a3c2}
.home-overview-icon svg{width:22px;height:22px}.home-overview-button b{display:block;font:600 13px/1.35 var(--ui-font)}.home-overview-button small{display:block;margin-top:2px;color:var(--ink2);font:400 11px/1.35 var(--ui-font)}.home-overview-arrow{font-size:22px;line-height:1;color:var(--ink2)}
.home-overview-button:hover{border-color:#ba91b5;background:#b18eb115}.home-overview-button:focus-visible{outline:2px solid #c9a4c3;outline-offset:3px}
#duo-missions .mission-metrics{margin:12px 0 16px}#duo-missions .mission-metrics .pulse-cell{border-radius:8px;padding:10px;min-width:0}#duo-missions .mission-metrics b{font-size:20px;line-height:1.2}#duo-missions .mission-metrics span{font-size:12px;line-height:1.4}

.archive-actions>.home-overview-button{grid-column:1/-1}

/* v381.296 — inventaire de la grotte lisible dès l'entrée. */
.place-explore-top>.cave-inventory-counter{display:grid;grid-template-columns:auto minmax(0,70px);align-items:center;gap:8px;min-width:106px;max-width:146px;min-height:56px;box-sizing:border-box;padding:9px 11px;border:1px solid #c6a37f;border-radius:8px;background:#302437f5;color:#faefd9;box-shadow:0 4px 18px #100a1855;text-align:left;font-style:normal}
.cave-inventory-counter strong{font:700 24px/1 var(--ui-font);font-variant-numeric:tabular-nums;color:#f5d28f}.cave-inventory-counter span{font:500 11px/1.3 var(--ui-font);color:#f3e8ed;overflow-wrap:normal}
@media(max-width:600px){.place-explore:has(#place-cave-full-world)>.place-explore-top{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.place-explore:has(#place-cave-full-world)>.place-explore-top>.scene-return{grid-column:1;grid-row:1;justify-self:start;max-width:100%}.place-explore:has(#place-cave-full-world)>.place-explore-top>div{grid-column:1;grid-row:2;min-width:0}.place-explore:has(#place-cave-full-world)>.place-explore-top>.cave-inventory-counter{grid-column:2;grid-row:1/3;align-self:center;min-width:102px;padding:8px 10px}.cave-inventory-counter strong{font-size:23px}}
@media(max-width:600px){.place-explore:has(#place-cave-full-world)>.place-explore-top>.scene-return{min-width:0}.place-explore:has(#place-cave-full-world)>.place-explore-top>.scene-return span{white-space:normal;min-width:0;line-height:1.3}}

/* v381.299 — bilan prune, liseré rose cuivré et texte ivoire. */
.home-overview-button{min-height:56px;border-color:#c58b91;border-left:3px solid #dfa2a0;background:linear-gradient(115deg,#704455,#553649);color:#fff1e6;box-shadow:0 4px 12px #120c1938,inset 0 1px 0 #ffffff0a}
.home-overview-button .home-overview-icon{background:#492b40;color:#f7c9b3}
.home-overview-button b{font-weight:700;color:#fff1e6}
.home-overview-button small{color:#ebcdd2}
.home-overview-button .home-overview-arrow{color:#f7c9b3;font-weight:700}
.home-overview-button:hover{border-color:#edb8b1;background:linear-gradient(115deg,#7c4b5e,#634055)}
.home-overview-button:focus-visible{outline:3px solid #edb8b1;outline-offset:3px}

/* v381.300 — catalogue des talismans, lisible même avec une réserve vide. */
#talismans-pager .tal-library-group{padding:16px;border:1px solid var(--line);border-radius:12px}
.tal-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tal-library-heading h3{margin:0;font:650 15px/1.3 Arial,Helvetica,sans-serif;color:var(--ink)}
.tal-library-heading>span{flex:none;padding:4px 7px;border:1px solid var(--line);border-radius:6px;color:var(--gold);font:600 11px/1.3 Arial,Helvetica,sans-serif}
#talismans-pager .tal-library-intro{margin:0 0 12px;color:var(--ink2);font:400 12px/1.55 Arial,Helvetica,sans-serif}
#talismans-pager .talisman-page-card{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:14px 0;align-items:start}
#talismans-pager .talisman-page-card.off{opacity:1;filter:none}
#talismans-pager .talisman-page-icon{width:36px;height:40px;border-radius:8px;font-size:22px}
#talismans-pager .talisman-page-card.off .talisman-page-icon{opacity:.65}
#talismans-pager .talisman-page-head{align-items:start;flex-wrap:wrap;gap:5px 8px}
#talismans-pager .talisman-page-head b{font:650 13px/1.4 Arial,Helvetica,sans-serif}
#talismans-pager .talisman-page-head span{font:600 11px/1.5 Arial,Helvetica,sans-serif;color:var(--gold)}
#talismans-pager .talisman-page-main small{font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.03em;margin:5px 0}
#talismans-pager .talisman-page-main p{font:400 12px/1.55 Arial,Helvetica,sans-serif}
#talismans-pager :is(.tal-obtain,.tal-library-body details){margin-top:8px;color:var(--ink2);font:400 12px/1.55 Arial,Helvetica,sans-serif}
#talismans-pager summary{cursor:pointer;min-height:32px;align-content:center;color:var(--gold);font-size:12px}
#talismans-pager details p{margin:4px 0 9px;font:400 12px/1.55 Arial,Helvetica,sans-serif}
.tal-library-item{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px;padding:14px 0;border-top:1px solid var(--line)}
.tal-library-icon{display:grid;place-items:center;width:36px;height:40px;border:1px solid var(--line);border-radius:8px;font-size:22px;background:color-mix(in srgb,var(--gold) 6%,transparent)}
.tal-library-item.has-stock .tal-library-icon{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}
.tal-library-title{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:5px 8px}
.tal-library-title h4{margin:0;font:650 13px/1.4 Arial,Helvetica,sans-serif;color:var(--ink)}
.tal-library-title span{color:var(--gold);font:600 11px/1.5 Arial,Helvetica,sans-serif}
.tal-library-body>p{margin:5px 0 0;font:400 12px/1.55 Arial,Helvetica,sans-serif;color:var(--ink2)}
#talismans-pager :is(.tal-library-use,.tal-library-forge){min-height:40px;font:600 12px/1.4 Arial,Helvetica,sans-serif;padding:9px 12px;border-radius:7px;margin-top:10px}
#talismans-pager .tal-library-forge{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center}
.tal-library-history{margin-top:12px;border-top:1px solid var(--line);padding-top:9px}
.tal-library-history>div{padding:9px 0;border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}
#talismans-pager .tal-mode{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:12px 0}
#talismans-pager .tal-mode b{font:650 13px/1.4 Arial,Helvetica,sans-serif}
#talismans-pager :is(.tal-mode p,.tal-shard-rule p,.talisman-page-rule p,.talisman-info-texte p){font:400 12px/1.55 Arial,Helvetica,sans-serif;margin:5px 0 0}
#talismans-pager .tal-personal-main span{font-size:11px}
#talismans-pager .tal-personal-main small{font-size:10px}
@media(max-width:360px){#talismans-pager .tal-library-group{padding:12px}.tal-library-heading h3{font-size:14px}}

#talismans-pager .talisman-page-card{background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0}
#talismans-pager .tal-library-intro+.talisman-page-card{border-top:0}

/* Native focus scrolling must not shift the horizontal tab track. */
#talismans-pager-viewport{overflow:clip}

/* v381.304 — ajout manuel et crédits : champs verrouillés lisibles. */
.wish-manual-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.wish-manual-fields{border:0;padding:0;margin:0;min-width:0}
:is(.main,#ilot-wish .wj-body) .wish-manual-fields:disabled :is(input,select,button){background:#34343b!important;color:#b6b6bd!important;border-color:#65656f!important;opacity:.65;cursor:not-allowed;box-shadow:none!important}
:is(.main,#ilot-wish .wj-body) .wish-manual-fields:disabled input::placeholder{color:#b6b6bd;opacity:1}

/* v381.304 — listes d’envies compactes, sans tronquer leur texte. */
:is(.main,#ilot-wish .wj-body) :is(#wish-available,#wish-write,#wish-ideas,#wish-chosen){padding:12px;margin-bottom:10px}
:is(.main,#ilot-wish .wj-body) :is(#wish-available,#wish-write,#wish-ideas) .sec-title{margin-bottom:7px}
:is(.main,#ilot-wish .wj-body) :is(#wish-available,#wish-write,#wish-ideas,#wish-chosen) :is(p.hint,p.small){margin:5px 0 8px;line-height:1.4}
:is(.main,#ilot-wish .wj-body) .wish-reservoir-row{display:flex;align-items:center;gap:8px;min-height:38px;padding:5px 0;margin:0;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;background:transparent;box-shadow:none}
:is(.main,#ilot-wish .wj-body) .wish-reservoir-row:last-child{border-bottom:0}
:is(.main,#ilot-wish .wj-body) .wish-reservoir-label{display:flex;flex:1;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;font:13px/1.35 var(--ui-font)}
:is(.main,#ilot-wish .wj-body) .wish-reservoir-label>span{min-width:0;overflow-wrap:anywhere}
:is(.main,#ilot-wish .wj-body) .wish-reservoir-label>small{display:inline;font:11px/1.3 var(--ui-font);margin:0;color:var(--ui-muted)}
:is(.main,#ilot-wish .wj-body) .wish-remove{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:0;margin:0;display:grid;place-items:center;border-radius:6px;font:16px/1 var(--ui-font)}
:is(.main,#ilot-wish .wj-body) #wish-write .wish-manual-fields>label{display:block;margin:5px 0 3px}
:is(.main,#ilot-wish .wj-body) #wish-write .idea-jump{margin-top:7px;padding:5px 0;min-height:32px;font-size:12px}
:is(.main,#ilot-wish .wj-body) #wish-ideas .theme-spread{display:flex;flex-wrap:wrap;gap:4px;margin:7px 0}
:is(.main,#ilot-wish .wj-body) #wish-ideas .tsp{margin:0;min-height:32px;padding:5px 7px;font:11px/1.3 var(--ui-font)}
:is(.main,#ilot-wish .wj-body) #wish-ideas .sep{margin:9px 0 7px}
:is(.main,#ilot-wish .wj-body) #wish-ideas .idea-head{margin:5px 0 7px;font:600 13px/1.35 var(--ui-font)}
:is(.main,#ilot-wish .wj-body) #wish-ideas .chips{display:flex;flex-wrap:wrap;gap:5px;margin:0}
:is(.main,#ilot-wish .wj-body) #wish-ideas .chip{min-height:36px;max-width:100%;padding:6px 9px;font:12px/1.3 var(--ui-font);white-space:normal;overflow-wrap:anywhere;text-align:left}
:is(.main,#ilot-wish .wj-body) #wish-chosen>summary{padding:5px 0;min-height:32px;font-size:13px}

/* v381.304 — hauteur bornée : aperçu courant et thèmes en accordéon. */
:is(.main,#ilot-wish .wj-body) .wish-more{margin:6px 0 0;border-top:1px solid var(--ui-line)}
:is(.main,#ilot-wish .wj-body) .wish-more>summary{min-height:40px;padding:8px 0;cursor:pointer;color:var(--ui-accent);font:600 12px/1.4 var(--ui-font)}
.wish-more:not([open])>summary .wish-when-open,.wish-more[open]>summary .wish-when-closed{display:none}
:is(.main,#ilot-wish .wj-body) .wish-more-list{max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
:is(.main,#ilot-wish .wj-body) #wish-ideas .wish-idea-group{margin:6px 0;border:1px solid var(--ui-line);border-radius:7px;background:var(--ui-raised);overflow:hidden}
:is(.main,#ilot-wish .wj-body) #wish-ideas .wish-idea-group>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 10px;list-style:none;cursor:pointer;box-sizing:border-box}
.wish-idea-group>summary::-webkit-details-marker{display:none}
.wish-idea-group>summary::marker{content:''}
.wish-theme-name{flex:1;min-width:0;font:600 13px/1.3 var(--ui-font);overflow-wrap:anywhere}
.wish-theme-name>small{display:block;margin-top:2px;font:11px/1.3 var(--ui-font);color:var(--ui-muted)}
.wish-theme-count{font:11px/1.3 var(--ui-font);color:var(--ui-muted);text-align:right;flex-shrink:0}
.wish-theme-count.is-empty{color:var(--ui-accent)}
.wish-accordion-arrow{font:24px/1 var(--ui-font);color:var(--ui-accent);transition:transform .15s}
.wish-idea-group[open]>summary .wish-accordion-arrow{transform:rotate(90deg)}
:is(.main,#ilot-wish .wj-body) #wish-ideas .wish-idea-options{max-height:min(300px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:10px;border-top:1px solid var(--ui-line)}
:is(.main,#ilot-wish .wj-body) #wish-ideas .wish-idea-kind{margin:8px 0 6px;font:600 12px/1.3 var(--ui-font);color:var(--ui-muted)}
:is(.main,#ilot-wish .wj-body) #wish-ideas .wish-idea-kind:first-child{margin-top:0}
@media(prefers-reduced-motion:reduce){.wish-accordion-arrow{transition:none}}

/* v381.307 — tour doré-cuivré autour du bloc du bilan général de l'îlot (page de l'îlot, et îlot archivé) */
.home-overview-button{border:2px solid transparent!important;border-radius:11px;background:linear-gradient(115deg,#704455,#553649) padding-box,linear-gradient(135deg,#f6d487 0%,#c8803f 46%,#f2c66d 100%) border-box!important;box-shadow:0 0 0 1px #f2c66d2e,0 6px 16px #120c1950,inset 0 1px 0 #ffffff12}
.home-overview-button:hover{background:linear-gradient(115deg,#7c4b5e,#634055) padding-box,linear-gradient(135deg,#ffe3a0 0%,#d68c48 46%,#f6d487 100%) border-box!important}
.home-overview-button:focus-visible{outline:3px solid #f6d487;outline-offset:3px}


/* ===== v381.308 — LE BILAN GÉNÉRAL, ENTRÉE PRINCIPALE DE L'ÎLOT : plus grand, avec ses chiffres, et un halo doré qui respire lentement. ===== */
.home-overview-button{grid-template-columns:40px minmax(0,1fr) 14px;min-height:92px;padding:12px 14px;gap:8px 10px;animation:hoGlow 4.2s ease-in-out infinite}
.home-overview-button .home-overview-icon{width:40px;height:40px}.home-overview-button .home-overview-icon svg{width:26px;height:26px}
.home-overview-button b{font-size:15px;line-height:1.3}
.ho-stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ho-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:999px;background:#2a1a28b3;border:1px solid #f2c66d59;color:#fff1e6}
.ho-chip svg{width:14px;height:14px;fill:none;stroke:#f2c66d;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ho-chip b{font:800 12.5px/1.2 var(--ui-font);color:#fff7ea}.ho-chip small{margin:0;font:500 10.5px/1.2 var(--ui-font);color:#ebcdd2}
@keyframes hoGlow{0%,100%{box-shadow:0 0 0 1px #f2c66d2e,0 6px 16px #120c1950,0 0 0 0 #f2c66d00}50%{box-shadow:0 0 0 1px #f2c66d52,0 6px 16px #120c1950,0 0 18px 2px #f2c66d38}}
@media(prefers-reduced-motion:reduce){.home-overview-button{animation:none}}

/* ===== v381.308 — PASTILLES DE THÈME (profil, « Ambiance ») : la charte commune les rendait toutes grises, comme désactivées. Chacune
   montre maintenant sa propre palette, avec un texte pleinement lisible et une coche sur le thème choisi. ===== */
#th-pick{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#th-pick .chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:62px;padding:10px 34px 10px 12px;text-align:left;border:2px solid var(--sw-line,#684c60);border-radius:10px;background:linear-gradient(135deg,var(--sw-a,#281d29),var(--sw-b,#322532));color:var(--sw-ink,#f8edf3);opacity:1;font:700 13px/1.3 var(--ui-font)}
#th-pick .chip .muted{color:var(--sw-ink2,#cfbac8)!important;font:500 11px/1.3 var(--ui-font)!important;opacity:1}
#th-pick .chip[data-t=boudoir]{--sw-a:#3a2438;--sw-b:#5a3550;--sw-line:#9a6a86;--sw-ink:#fff1f6;--sw-ink2:#ecd2dc;--sw-acc:#ecc98f}
#th-pick .chip[data-t=nuit]{--sw-a:#17243a;--sw-b:#2a4263;--sw-line:#5f83aa;--sw-ink:#eef4fc;--sw-ink2:#c9d9ec;--sw-acc:#dfc994}
#th-pick .chip[data-t=velours]{--sw-a:#141214;--sw-b:#3a2230;--sw-line:#8a5a6a;--sw-ink:#f8eef1;--sw-ink2:#dac6cd;--sw-acc:#dec08b}
#th-pick .chip[data-t=aurore]{--sw-a:#f1b9c8;--sw-b:#f6d2b0;--sw-line:#d89aaa;--sw-ink:#3a2030;--sw-ink2:#5a3a48;--sw-acc:#b9627f}
#th-pick .chip::after{content:'';position:absolute;right:10px;top:10px;width:18px;height:18px;border-radius:50%;background:var(--sw-acc);box-shadow:inset 0 0 0 3px #0000002e}
#th-pick .chip.on{border-color:var(--sw-acc);box-shadow:0 0 0 2px var(--sw-acc),0 6px 14px #0006}
#th-pick .chip.on::after{content:'✓';display:grid;place-items:center;font:800 12px var(--ui-font);color:#1d1418;box-shadow:none}
#th-pick .chip:focus-visible{outline:3px solid var(--sw-acc);outline-offset:2px}

/* ===== v381.313 — PORTE-CARTES : plus sobre, plus moderne, moins régulier. Couleurs sourdines (une teinte discrète par type, plus de bordures
   saturées), tuiles où l'illustration prend toute la place et le nom se lit dessus, tailles variées (les lieux et les nouveautés
   passent en grand), sections par type. Portée : la collection seule (#ilot-cards.eq-cards) ; la forge garde son style. ===== */
#ilot-cards.eq-cards{--cm-ink:#f1e8e4;--cm-mut:#b8a8b3;--cm-line:#ffffff1c;--cm-gold:#d6b779;--cm-panel:#ffffff0a}
#ilot-cards.eq-cards .cards-head{align-items:center;gap:12px;padding-bottom:4px}
#ilot-cards.eq-cards .cards-head-ic{width:38px;height:38px;border-radius:12px;background:#ffffff0d;border:1px solid var(--cm-line);font-size:19px}
#ilot-cards.eq-cards .cards-head small{color:var(--cm-gold);letter-spacing:.14em;font:700 10px/1.2 var(--ui-font)}
#ilot-cards.eq-cards .cards-head h2{margin:2px 0 0;font:650 21px/1.15 var(--ui-font);letter-spacing:-.01em}
#ilot-cards.eq-cards .cards-head p{display:none}
/* progression : un anneau */
#ilot-cards.eq-cards .cards-progress{display:flex;align-items:center;gap:14px;margin:10px 0 12px;padding:12px 14px;border:1px solid var(--cm-line);border-radius:16px;background:linear-gradient(135deg,#ffffff0e,#ffffff04)}
#ilot-cards.eq-cards .cp-ring{position:relative;flex:none;display:grid;place-items:center;align-content:center;width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--cm-gold) calc(var(--p)*1%),#ffffff16 0)}
#ilot-cards.eq-cards .cp-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:#1d1521}
#ilot-cards.eq-cards .cp-ring b,#ilot-cards.eq-cards .cp-ring .cp-of{position:relative;line-height:1}
#ilot-cards.eq-cards .cp-ring b{font:700 17px var(--ui-font);color:#fff}#ilot-cards.eq-cards .cp-ring .cp-of{margin-top:2px;font:500 9.5px var(--ui-font);color:var(--cm-mut)}
#ilot-cards.eq-cards .cp-tx b{display:block;font:650 15px/1.3 var(--ui-font);color:var(--cm-ink)}
#ilot-cards.eq-cards .cp-tx small{display:block;margin-top:2px;color:var(--cm-mut);font:400 12px/1.4 var(--ui-font)}
#ilot-cards.eq-cards .cp-tx em{color:var(--cm-gold);font-style:normal;font-weight:700}
/* « utiliser les cartes pour… » : deux entrées sobres */
#ilot-cards.eq-cards .cards-use{margin:0 0 12px}
#ilot-cards.eq-cards .cards-use>b{display:block;margin:0 0 6px;color:var(--cm-mut);font:700 10px var(--ui-font);letter-spacing:.12em;text-transform:uppercase}
#ilot-cards.eq-cards .cards-use-row{gap:8px}
#ilot-cards.eq-cards .cards-use-btn{border:1px solid var(--cm-line);border-radius:14px;background:var(--cm-panel);color:var(--cm-ink);padding:10px 12px;gap:10px}
#ilot-cards.eq-cards .cards-use-btn>span:first-child{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#d6b77922;color:var(--cm-gold)}
#ilot-cards.eq-cards .cards-use-btn b{font:600 13px/1.3 var(--ui-font)}#ilot-cards.eq-cards .cards-use-btn small{color:var(--cm-mut);font-size:11px}
/* recherche, disponibilité, types : une barre d'outils discrète */
#ilot-cards.eq-cards .eq-search{border:1px solid var(--cm-line);border-radius:12px;background:var(--cm-panel);min-height:40px}
#ilot-cards.eq-cards .eq-segments{border:0;background:#ffffff0a;border-radius:999px;padding:3px;gap:2px}
#ilot-cards.eq-cards .eq-segments button{min-height:32px;border-radius:999px;font:600 12px var(--ui-font);color:var(--cm-mut);background:none;border:0}
#ilot-cards.eq-cards .eq-segments button[aria-pressed=true]{background:#ffffff1c;color:#fff}
#ilot-cards.eq-cards .cards-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}
#ilot-cards.eq-cards .cards-filters::-webkit-scrollbar{display:none}
#ilot-cards.eq-cards .cards-filter{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--cm-line)!important;border-radius:999px;background:none;color:var(--cm-mut);font:600 12px var(--ui-font)}
#ilot-cards.eq-cards .cards-filter[data-f]:not([data-f=all])::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--cc)}
#ilot-cards.eq-cards .cards-filter.on{background:#ffffff1a;color:#fff;border-color:#ffffff3a!important}
#ilot-cards.eq-cards .eq-legend{margin:2px 0 8px}#ilot-cards.eq-cards .eq-legend summary{color:var(--cm-mut);font:12px var(--ui-font)}
/* sections par type */
#ilot-cards.eq-cards .cards-sec{margin:14px 0 6px}
#ilot-cards.eq-cards .cards-sec h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:650 13px/1.2 var(--ui-font);color:var(--cm-ink);letter-spacing:.02em}
#ilot-cards.eq-cards .cards-sec h4 i{width:18px;height:3px;border-radius:2px;background:var(--cc)}
#ilot-cards.eq-cards .cards-sec h4 small{margin-left:auto;color:var(--cm-mut);font:600 11px var(--ui-font)}
/* grille irrégulière : 2 colonnes, les lieux et les nouveautés prennent la largeur */
#ilot-cards.eq-cards .cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:10px}
#ilot-cards.eq-cards .card-slot{position:relative;display:block;padding:0;min-height:0;aspect-ratio:4/5;border:1px solid var(--cm-line)!important;border-radius:18px 18px 18px 6px;background:#241a29;overflow:hidden;text-align:left;box-shadow:0 10px 22px #0000004d}
#ilot-cards.eq-cards .card-slot:nth-child(4n+2){border-radius:18px 6px 18px 18px;aspect-ratio:1/1.08}
#ilot-cards.eq-cards .card-slot:nth-child(4n+3){border-radius:6px 18px 18px 18px;aspect-ratio:1/1.14}
#ilot-cards.eq-cards .card-slot.feat{grid-column:span 2;aspect-ratio:16/9;border-radius:22px 22px 6px 22px}
#ilot-cards.eq-cards .card-slot .card-art{position:absolute;inset:0;display:block;margin:0;border:0;border-radius:0}
#ilot-cards.eq-cards .card-slot .card-art img,#ilot-cards.eq-cards .card-slot .card-art svg{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
#ilot-cards.eq-cards .card-slot::after{content:'';position:absolute;left:0;bottom:0;width:34px;height:3px;background:var(--cc);border-radius:0 3px 0 0;z-index:3}
#ilot-cards.eq-cards .card-name{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;padding:34px 12px 11px;background:linear-gradient(to top,#140d18f2 18%,#140d1800);color:#fff;font:650 12.5px/1.25 var(--ui-font);text-shadow:0 1px 6px #0009}
#ilot-cards.eq-cards .card-name .card-cat{display:block;margin:0 0 2px;color:color-mix(in srgb,var(--cc) 70%,#fff);font:700 9px/1.2 var(--ui-font);font-style:normal;letter-spacing:.12em;text-transform:uppercase}
#ilot-cards.eq-cards .card-fx{display:block;margin-top:4px;color:#ece0e6;font:400 11.5px/1.4 var(--ui-font);text-shadow:none;opacity:.9}
#ilot-cards.eq-cards .card-slot.feat .card-name{font-size:15px;padding:44px 14px 13px}
#ilot-cards.eq-cards .card-new,#ilot-cards.eq-cards .card-qty{position:absolute;top:9px;z-index:3;padding:2px 9px;border-radius:999px;font:700 10px/1.5 var(--ui-font);letter-spacing:.04em}
#ilot-cards.eq-cards .card-new{left:9px;background:var(--cm-gold);color:#2a1d10}
#ilot-cards.eq-cards .card-qty{right:9px;background:#140d18cc;color:#fff;border:1px solid #ffffff30}
/* cartes à gagner : silhouettes discrètes */
#ilot-cards.eq-cards .card-slot.missing{background:#1f1724;border-style:dashed!important;border-color:#ffffff26!important;box-shadow:none}
#ilot-cards.eq-cards .card-slot.missing .card-art{filter:grayscale(1) brightness(.5) contrast(.9);opacity:.8}
#ilot-cards.eq-cards .card-slot.missing .card-name{color:#cdbfc9}
#ilot-cards.eq-cards .card-miss{position:absolute;top:9px;left:9px;z-index:3;padding:2px 9px;border-radius:999px;background:#140d18cc;color:#e8dde4;border:1px solid #ffffff26;font:600 10px/1.5 var(--ui-font)}
#ilot-cards.eq-cards .card-miss.used{color:#e8c9a0}
#ilot-cards.eq-cards .cards-tease{margin:16px 2px 4px;color:var(--cm-mut);font:12px/1.5 var(--ui-font)}
@media (min-width:560px){#ilot-cards.eq-cards .cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#ilot-cards.eq-cards .card-slot.feat{grid-column:span 2}}

/* réglages : l'illustration déborde un peu (on ne voit plus son propre cadre), texte des grandes tuiles limité, rythme plus serré */
#ilot-cards.eq-cards .card-slot .card-art img,#ilot-cards.eq-cards .card-slot .card-art svg{transform:scale(1.09)}
#ilot-cards.eq-cards .card-slot.feat{aspect-ratio:16/10}
#ilot-cards.eq-cards .card-fx{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#ilot-cards.eq-cards .card-slot.feat .card-name{padding:56px 14px 12px}
#ilot-cards.eq-cards .cards-sec:nth-of-type(even) .card-slot.feat{border-radius:22px 6px 22px 22px}
#ilot-cards.eq-cards .cards-progress{margin:8px 0 10px;padding:10px 14px}
#ilot-cards.eq-cards .cards-use{margin:0 0 10px}
#ilot-cards.eq-cards .eq-collection-tools{display:grid;gap:8px;margin:0 0 8px}
#ilot-cards.eq-cards .eq-results{margin:6px 2px;color:var(--cm-mut);font:12px var(--ui-font)}
#ilot-cards.eq-cards .cards-sec{margin:12px 0 4px}
/* l'ancienne règle de la grille (hauteur fixe, 2 lignes, marge) écrasait le nom : on la neutralise pour la collection */
#ilot-cards.eq-cards .card-slot .card-name{display:block!important;height:auto!important;min-height:0!important;margin:0!important;box-sizing:border-box!important;overflow:visible!important;-webkit-line-clamp:unset!important;padding:34px 12px 11px!important}
#ilot-cards.eq-cards .card-slot.feat .card-name{padding:56px 14px 12px!important;font-size:15px}

/* l'illustration remplit toute la tuile, quelle que soit sa proportion */
#ilot-cards.eq-cards .card-slot .card-art img,#ilot-cards.eq-cards .card-slot .card-art svg,#ilot-cards.eq-cards .card-slot .card-art .bc-art-img{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 40%}
/* le cadre de l'illustration occupe toute la tuile (l'ancien rapport 440/280 la laissait courte sur les tuiles hautes) */
#ilot-cards.eq-cards .card-slot .card-art{width:100%!important;height:100%!important;aspect-ratio:auto!important;border:0!important;background:#1d1521}
#ilot-cards.eq-cards .cp-ring .cp-of{font-size:10.5px}

/* ===== v381.314 — SAC À MISSIONS : des sections tranchées et colorées. Chaque groupe a sa couleur (À jouer : corail ; À préparer :
   ambre ; Envoyées : turquoise), un bandeau d'en-tête net avec pictogramme et compteur plein, des cartes teintées à la couleur du
   groupe, des pastilles d'état lisibles, et des onglets d'état dont la pastille de nombre reprend la couleur. ===== */
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-list{gap:22px}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group{--g:#c9b3d0;--gbg:#c9b3d029;--gic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324121e' d='M12 3l2.6 5.6 6.1.7-4.5 4.2 1.2 6L12 16.6 6.6 19.5l1.2-6L3.3 9.3l6.1-.7z'/%3E%3C/svg%3E")}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group[data-pouch-group=received]{--g:#f08672;--gbg:#f0867229;--gic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324121e' d='M8 5v14l11-7z'/%3E%3C/svg%3E")}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group[data-pouch-group=prepare]{--g:#f3bd55;--gbg:#f3bd5526;--gic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324121e' d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75L3 17.25zM20.7 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E")}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group[data-pouch-group=sent]{--g:#5dc9ba;--gbg:#5dc9ba24;--gic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324121e' d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E")}
/* bandeau d'en-tête de groupe */
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group-head{display:flex;align-items:center;gap:11px;margin:0 0 12px!important;padding:9px 12px 9px 10px!important;border:0!important;border-left:5px solid var(--g)!important;border-radius:4px 14px 14px 4px!important;background:linear-gradient(90deg,var(--gbg),#ffffff05 88%)!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group-head::before{content:'';flex:none;width:28px;height:28px;border-radius:9px;background:var(--g) var(--gic) center/17px no-repeat}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group-head h5{flex:1;margin:0;color:var(--g)!important;font:800 13.5px/1.25 var(--eq-font,system-ui)!important;letter-spacing:.07em;text-transform:uppercase}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group-count{flex:none;min-width:28px;height:28px;padding:0 8px;border-radius:999px!important;background:var(--g)!important;color:#24121e!important;font:800 14px/28px var(--eq-font,system-ui)!important;text-align:center}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group[data-empty="1"]{opacity:.62}
/* cartes de mission teintées à la couleur de leur groupe */
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group .pico-pouch-item{border:1px solid color-mix(in srgb,var(--g) 40%,#ffffff12)!important;border-left:5px solid var(--g)!important;border-radius:14px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--g) 11%,#2b1c28),#231620 62%)!important;box-shadow:0 8px 18px #0000003d;margin:0 0 12px!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group .pico-item-head{border-bottom:1px solid color-mix(in srgb,var(--g) 28%,#ffffff12)!important;padding-bottom:8px!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group .pico-pouch-item b{font:700 14.5px/1.35 var(--eq-font,system-ui)!important;color:#fff!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group .pico-pouch-item>.pico-tiny{color:#d9cbd5!important;font-size:12.5px!important}
/* pastille d'état : à la couleur du groupe */
#pico-layer #pico-dialog[data-mode=mission] .pico-pouch-group .pico-pill{border-radius:999px!important;border:1px solid color-mix(in srgb,var(--g) 65%,transparent)!important;background:color-mix(in srgb,var(--g) 24%,transparent)!important;color:#fff!important;font:700 10.5px/1.3 var(--eq-font,system-ui)!important;padding:3px 9px!important}
/* type de mission : une teinte par type */
#pico-layer #pico-dialog[data-mode=mission] .pico-mission-type{--tc:#c4806d;border-radius:999px!important;border:1px solid color-mix(in srgb,var(--tc) 60%,transparent)!important;background:color-mix(in srgb,var(--tc) 22%,transparent)!important;color:color-mix(in srgb,var(--tc) 55%,#fff)!important;padding:3px 10px!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-type-culture{--tc:#86ad98}
#pico-layer #pico-dialog[data-mode=mission] .pico-type-complicity{--tc:#d796ad}
#pico-layer #pico-dialog[data-mode=mission] .pico-type-memory{--tc:#a891c4}
/* action principale : à la couleur du groupe */
#pico-layer #pico-dialog.ct-bag[data-mode=mission] .pico-pouch-group .pico-pouch-item .btn-main{background:var(--g)!important;border:0!important;color:#24121e!important;border-radius:999px!important;font-weight:800!important}
/* onglets d'état : pastilles de nombre colorées, onglet actif net */
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages{border:1px solid #ffffff22;border-radius:16px;background:#ffffff0a;padding:4px;gap:4px}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages button{--tab:#d8b77d;border-radius:12px!important;color:#eadde6;font-weight:700;position:relative}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages button[data-mission-stage=received]{--tab:#f08672}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages button[data-mission-stage=prepare]{--tab:#f3bd55}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages button[data-mission-stage=sent]{--tab:#5dc9ba}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages b{background:var(--tab)!important;color:#24121e!important;border-radius:999px!important;padding:2px 8px!important;font-size:11px!important;font-weight:800}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-stages [aria-pressed=true]{background:color-mix(in srgb,var(--tab) 24%,transparent)!important;color:#fff!important;box-shadow:inset 0 -3px 0 var(--tab)}
#pico-layer #pico-dialog[data-mode=mission] .eq-type-filters button[aria-pressed=true]{background:#d8b77d!important;border-color:#d8b77d!important;color:#24121e!important;font-weight:800;border-radius:999px!important}
#pico-layer #pico-dialog[data-mode=mission] .eq-type-filters button{border-radius:999px!important}
#pico-layer #pico-dialog[data-mode=mission] .eq-type-filters button{padding-inline:15px!important}
#pico-layer #pico-dialog[data-mode=mission] .pico-history-link small{background:#ffffff1f!important;color:#fff!important;border-radius:999px;padding:1px 10px;font:800 12px/1.5 var(--eq-font,system-ui)}

/* ===== v381.315 — pages de règles du sac à missions : énumérations lisibles ===== */
#pico-layer #pico-dialog[data-mode=mission] .pico-meta{gap:8px}
#pico-layer #pico-dialog[data-mode=mission] .pico-meta li{padding-left:16px;font-size:13px;line-height:1.55;color:#e4d6df}
#pico-layer #pico-dialog[data-mode=mission] .pico-meta li::before{width:6px;height:6px;top:.62em;left:2px;background:#d8b77d}
#pico-layer #pico-dialog[data-mode=mission] ol.pico-meta{counter-reset:pm}
#pico-layer #pico-dialog[data-mode=mission] ol.pico-meta li{counter-increment:pm;padding-left:30px}
#pico-layer #pico-dialog[data-mode=mission] ol.pico-meta li::before{content:counter(pm);display:grid;place-items:center;left:0;top:.1em;width:20px;height:20px;border-radius:50%;background:#d8b77d;color:#24121e;font:800 11px/1 var(--eq-font,system-ui)}
#pico-layer #pico-dialog[data-mode=mission] .pico-lead{color:#fff;font-weight:750}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-section li{font-size:13px;line-height:1.55}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-section h5{font:800 13.5px/1.3 var(--eq-font,system-ui);color:#f3bd55;letter-spacing:.02em}
#pico-layer #pico-dialog[data-mode=mission] .comp-wheel-rule{margin:0 0 8px;font-size:13px;line-height:1.55;color:#e4d6df}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-help>p{margin:10px 0;font-size:13px;line-height:1.55;color:#e4d6df}
#pico-layer #pico-dialog[data-mode=mission] .eq-mission-help ul{margin:6px 0 10px}

/* ===== v381.318 — SAC À MISSIONS : lien « Aide et règles » en haut ; le bas de page réunit l'aide et les règles des trois types de missions
   dans une seule section (Mot à deviner et Pass Culture, Pass Complicité, nouvelles missions) ===== */
#pico-layer #pico-dialog[data-mode=mission] .eq-guide-link{display:inline-flex;align-items:center;gap:7px;margin:2px 0 4px;padding:7px 14px;border:1px solid #d8b77d70;border-radius:999px;background:#d8b77d1f;color:#f6dfae;font:700 12.5px/1.2 var(--eq-font,system-ui);cursor:pointer}
#pico-layer #pico-dialog[data-mode=mission] .eq-guide-link:hover,#pico-layer #pico-dialog[data-mode=mission] .eq-guide-link:focus-visible{background:#d8b77d38;border-color:#d8b77d}
#pico-layer #pico-dialog[data-mode=mission] .pico-guide{margin-top:26px;scroll-margin-top:8px}
#pico-layer #pico-dialog[data-mode=mission] .pico-guide-title{display:flex;align-items:center;gap:11px;margin:0 0 12px;padding:9px 12px 9px 10px;border-left:5px solid #d8b77d;border-radius:4px 14px 14px 4px;background:linear-gradient(90deg,#d8b77d29,#ffffff05 88%);color:#d8b77d;font:800 13.5px/1.25 var(--eq-font,system-ui);letter-spacing:.07em;text-transform:uppercase}
#pico-layer #pico-dialog[data-mode=mission] .pico-guide-title::before{content:'';flex:none;width:28px;height:28px;border-radius:9px;background:#d8b77d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324121e' d='M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3zm3 3v2h8V7zm0 4v2h8v-2z'/%3E%3C/svg%3E") center/17px no-repeat}
/* trois blocs de règles, une couleur par type */
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block{--rb:#c4806d;margin:0 0 14px;padding:10px 12px 12px;border-left:4px solid var(--rb);border-radius:4px 14px 14px 4px;background:color-mix(in srgb,var(--rb) 8%,#ffffff06)}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block[data-rb=complicity]{--rb:#d796ad}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block[data-rb=new]{--rb:#8ea2b8}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block>h4{margin:0 0 8px;color:var(--rb);font:800 13.5px/1.3 var(--eq-font,system-ui);letter-spacing:.05em;text-transform:uppercase}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block .pico-rules-guide>.pico-rule-section:first-child{padding-top:2px}
#pico-layer #pico-dialog[data-mode=mission] .pico-rule-block>h4{color:var(--rb)!important}

/* ===== v381.326 — introduction d'un jeu de lieu : phrases, intertitres et puces ===== */
#mg-sheet .mg-lead{margin:14px 0 6px}
#mg-sheet .mg-lead b{color:#f6dfae;font:800 13px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.03em}
#mg-sheet .mg-ul{margin:0 0 10px;padding:0;list-style:none;display:grid;gap:7px}
#mg-sheet .mg-ul li{position:relative;padding-left:18px;font:13px/1.55 Arial,Helvetica,sans-serif;color:#decfe6}
#mg-sheet .mg-ul li::before{content:'';position:absolute;left:4px;top:.62em;width:6px;height:6px;border-radius:50%;background:#d8b77d}

/* ===== v381.327 — porte-cartes : les titres plus longs (« Thématique profonde · Éclat personnel ») ne passent plus sous les flèches de navigation ===== */
#ilot-cards .cv-info h3{margin-left:42px;margin-right:42px}

/* ===== v381.328 — rappel translucide à la fermeture d'une carte à thème (disparaît tout seul) ===== */
#board-hint{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);transform:translate(-50%,10px);z-index:60;width:max-content;max-width:min(88vw,380px);padding:12px 18px;border-radius:16px;background:rgba(20,13,24,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#fff;text-align:center;font:13px/1.5 Arial,Helvetica,sans-serif;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease;box-shadow:0 10px 30px rgba(0,0,0,.35)}
#board-hint.on{opacity:1;transform:translate(-50%,0)}
#board-hint b{display:block;margin-bottom:3px;color:#f6dfae;font:800 14px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.02em}
@media (prefers-reduced-motion:reduce){#board-hint{transition:none}}

/* ===== v381.329 — carte d'arrivée : la phrase d'orientation d'une carte à thème, au-dessus de son bonus ou de sa pénalité ===== */
#arrivalEffect .arr-orient{display:block;margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.16);font-size:14px;line-height:1.4;font-weight:700}
#arrivalEffect .arr-orient::before{content:'🎨 '}

/* ===== v381.340 — page Traversée : section unique des envies, rangées compactes ===== */
.season-envies .env-total{margin-left:8px;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#d8b77d;color:#24121e;font:800 12px/1 Arial,Helvetica,sans-serif}
.season-envies .env-sec{margin:10px 0 2px;padding:10px 12px;border-radius:14px;background:#ffffff0a;border-left:4px solid #d8b77d}
.season-envies .env-sec h4{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:800 12.5px/1.3 var(--ui-font,Arial);letter-spacing:.05em;text-transform:uppercase;color:#f3d59c}
.season-envies .env-sec h4 small{margin-left:auto;min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#ffffff1a;color:#fff;font:800 12px/1 var(--ui-font,Arial)}
.season-envies .env-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #ffffff14}
.season-envies .env-row:first-of-type{border-top:0}
.season-envies .env-row-main{min-width:0}.season-envies .env-row-main b{display:block;font:600 13.5px/1.35 var(--ui-font,Arial);color:#fff}.season-envies .env-row-main small{display:block;color:#c3b1bd;font-size:11.5px}
.season-envies .env-row-act{flex:none;max-width:48%;text-align:right}.season-envies .env-row-act .hint{display:block;margin:0;font-size:11.5px;color:#dccbd6;text-align:right}
.season-envies .gift-none{margin:4px 0 0;color:#c3b1bd;font-size:13px}
.season-progress-v340 .pulse-grid{margin-top:6px}

/* ===== v381.341 — envies sur la page Îlot : même section que sur la Traversée, sans carte dans la carte ===== */
.home-envies-v341 .season-envies.card{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:10px 0 0!important;border-radius:0!important}
.home-envies-v341 .season-envies .env-row-main small i{font-style:normal;color:#dccbd6;opacity:.85}

/* ===== v381.346 — bandeau discret : le plateau se montera (ou a été démonté) ===== */
.board-teaser{display:flex;align-items:center;gap:10px;width:100%;margin:8px 0 10px;padding:8px 10px 8px 8px;border:1px dashed #d8b77d59;border-radius:14px;background:linear-gradient(90deg,#d8b77d14,#ffffff05);color:#eadde6;text-align:left;cursor:pointer;font:inherit}
.board-teaser:hover,.board-teaser:focus-visible{border-style:solid;border-color:#d8b77d99;outline:none}
.board-teaser .bt-art{flex:none;width:54px;height:30px;overflow:visible}
.board-teaser .bt-ring{fill:none;stroke:#d8b77d;stroke-width:.8;stroke-dasharray:1.5 2.5;opacity:.7}
.board-teaser .bt-tile{fill:#d8b77d;opacity:.25;transform-box:fill-box;transform-origin:center;animation:bt-rise 3.6s ease-in-out infinite;animation-delay:calc(var(--n)*.3s)}
.board-teaser .bt-isle{fill:#5b9a73}.board-teaser .bt-palm{fill:none;stroke:#8a6a46;stroke-width:1.2;stroke-linecap:round}.board-teaser .bt-leaf{fill:#4f9a74}
.board-teaser .bt-text{min-width:0;flex:1}
.board-teaser .bt-text b{display:block;font:700 12px/1.3 var(--ui-font,Arial);color:#f3d59c}
.board-teaser .bt-text p{margin:1px 0 0;font:400 11px/1.35 var(--ui-font,Arial);color:#d9cbd5}
.board-teaser .bt-text ul{margin:2px 0;padding:0;list-style:none}
.board-teaser .bt-text li{position:relative;padding-left:10px;font:400 11px/1.35 var(--ui-font,Arial);color:#d9cbd5}
.board-teaser .bt-text li::before{content:'';position:absolute;left:1px;top:.55em;width:4px;height:4px;border-radius:50%;background:#d8b77d}
.board-teaser .bt-arrow{flex:none;color:#d8b77d;font-size:18px;opacity:.8}
.board-teaser.bt-sealed{border-color:#8ea2b866;background:linear-gradient(90deg,#8ea2b814,#ffffff05)}
.board-teaser.bt-sealed .bt-arrow{color:#c9d6e4}
.board-teaser.bt-sealed .bt-tile{animation-name:bt-sink;fill:#8ea2b8}.board-teaser.bt-sealed .bt-ring{stroke:#8ea2b8}
.board-teaser.bt-up{border-style:solid;border-color:#5dc9ba66;background:linear-gradient(90deg,#5dc9ba14,#ffffff05)}.board-teaser.bt-up .bt-text b,.board-teaser.bt-up .bt-arrow{color:#9fe3d8}.board-teaser.bt-up .bt-tile{animation:none;opacity:.95;fill:#5dc9ba}.board-teaser.bt-up .bt-ring{stroke:#5dc9ba;stroke-dasharray:none;opacity:.5}
@keyframes bt-rise{0%,100%{opacity:.18;transform:translateY(2px) scale(.9)}50%{opacity:.95;transform:translateY(-1px) scale(1.05)}}
@keyframes bt-sink{0%,100%{opacity:.6;transform:none}50%{opacity:.1;transform:translateY(2px) scale(.85)}}
@media(prefers-reduced-motion:reduce){.board-teaser .bt-tile{animation:none;opacity:.5}}

#ilot-demarrage .demarrage-actions-solo{justify-content:flex-end}#ilot-demarrage .demarrage-actions-solo button{margin-left:auto}

/* ===== v381.352 — invitation : consigne + champ libre, sans messages prédéfinis ===== */
.inv-compose{margin:8px 0 10px}
.inv-compose .inv-how{margin:0 0 8px;font:400 13px/1.5 var(--ui-font,Arial);color:#e6d9e1}
.inv-compose .inv-label{display:block;margin:0 0 4px;font:700 11px/1.3 var(--ui-font,Arial);letter-spacing:.08em;text-transform:uppercase;color:#f3d59c}
.inv-compose .inv-note{display:block;width:100%;box-sizing:border-box;min-height:76px;padding:10px 12px;border:1px solid #ffffff2e;border-radius:12px;background:#ffffff0d;color:#fff;font:400 14px/1.45 var(--ui-font,Arial);resize:vertical}
.inv-compose .inv-note::placeholder{color:#b9a9b4;font-style:italic}
.inv-compose .inv-note:focus{outline:none;border-color:#d8b77d}

/* ===== v381.360 — jeux de l'arbre (feuilles d'or) et du ponton (ricochets) ===== */
#mg-sheet .gl-arena{position:relative;height:230px;margin:8px 0 10px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#2c4a3a 0%,#1d2a3a 55%,#3a2f22 100%)}
#mg-sheet .gl-canopy{position:absolute;left:-10%;right:-10%;top:-40px;height:90px;border-radius:50%;background:radial-gradient(ellipse at 50% 60%,#4f9a6c,#2f6d4c 70%,transparent 72%)}
#mg-sheet .gl-ground{position:absolute;left:0;right:0;bottom:0;height:18px;background:linear-gradient(180deg,#6b4a2e,#4a3320)}
#mg-sheet .gl-leaf{position:absolute;top:-36px;left:var(--x);width:44px;height:44px;margin:0;padding:0;border:0;background:none;font-size:30px;line-height:44px;text-align:center;cursor:pointer;animation:gl-fall var(--dur) linear both;touch-action:manipulation;filter:drop-shadow(0 2px 2px #0007)}
#mg-sheet .gl-leaf.gold{font-size:30px;filter:drop-shadow(0 0 5px #ffd27a);z-index:2}
#mg-sheet .gl-leaf.caught{animation:gl-caught .6s ease-out forwards!important}
@keyframes gl-fall{0%{transform:translate(0,0) rotate(var(--rot))}30%{transform:translate(var(--sway),70px) rotate(calc(var(--rot) + 110deg))}60%{transform:translate(calc(var(--sway) * -.7),140px) rotate(calc(var(--rot) + 220deg))}100%{transform:translate(calc(var(--sway) * .4),230px) rotate(calc(var(--rot) + 340deg))}}
@keyframes gl-caught{0%{opacity:1;filter:drop-shadow(0 0 10px #fff)}100%{opacity:0;transform:translateY(-30px) scale(1.8);filter:drop-shadow(0 0 20px #ffd27a)}}
#mg-sheet .rc-water{position:relative;height:84px;margin:12px 0 10px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#2d6f8a,#17405c);box-shadow:inset 0 6px 14px #0004}
#mg-sheet .rc-zone{position:absolute;top:0;bottom:0;background:#5dc9ba44;border-left:2px solid #9fe3d8;border-right:2px solid #9fe3d8}
#mg-sheet .rc-cur{position:absolute;top:8px;bottom:8px;width:4px;margin-left:-2px;border-radius:2px;background:#fff;box-shadow:0 0 8px #fff}
#mg-sheet .rc-stone{position:absolute;bottom:14px;width:12px;height:9px;margin-left:-6px;border-radius:50%;background:#bfb7ad;opacity:0}
#mg-sheet .rc-stone.skip{animation:rc-skip 1.3s ease-out forwards}
#mg-sheet .rc-stone.plouf{animation:rc-plouf .8s ease-in forwards}
@keyframes rc-skip{0%{opacity:1;transform:translate(0,0)}20%{transform:translate(28px,-26px)}40%{transform:translate(56px,0)}55%{transform:translate(78px,-16px)}70%{transform:translate(100px,0)}82%{transform:translate(114px,-8px)}100%{opacity:0;transform:translate(130px,4px)}}
@keyframes rc-plouf{0%{opacity:1;transform:translate(0,-10px)}60%{opacity:1;transform:translate(6px,6px) scale(1)}100%{opacity:0;transform:translate(8px,30px) scale(.4)}}
@media(prefers-reduced-motion:reduce){#mg-sheet .gl-leaf{animation-duration:6s}}

/* ===== v381.366 — photo jointe à un kiff ===== */
.kiff-compose .kiff-illustre{margin:-2px 0 6px;color:#dccbd6}
.kiff-illus-btns{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.kiff-illus-btns .kiff-souv-add{flex:1 1 46%;min-height:40px}
.kiff-photo-ok{display:flex;align-items:center;gap:12px;margin:6px 0 4px}
.kiff-photo-ok img{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid #ffffff2e;box-shadow:0 6px 16px #0005}
.kiff-photo-feuille{max-height:80vh;overflow:auto;padding:14px}
.kiff-photo-head{margin:4px 32px 10px 0}.kiff-photo-head b{display:block;font:700 15px/1.3 var(--ui-font,Arial);color:#fff}.kiff-photo-head small{display:block;margin-top:3px;color:#c3b1bd;font-size:12px}
.kiff-photo-upload{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin:0 0 10px;cursor:pointer}
.kiff-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kiff-photo-cell{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#ffffff0d;aspect-ratio:1;cursor:pointer}
.kiff-photo-cell:focus-visible,.kiff-photo-cell:hover{border-color:#d8b77d}
.kiff-photo-cell img{width:100%;height:100%;object-fit:cover;display:block}
.kiff-photo-view{display:block;margin:0 0 8px}.kiff-photo-view img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:12px;border:1px solid #ffffff22}

/* ===== v381.367 — fiche de jeu : texte lisible (plus de colonne d'un mot par ligne), plateau garé invisible ===== */
#mg-sheet.flow-game{min-width:min(340px,calc(100vw - 24px))}
#mg-sheet.flow-game .mg-p,#mg-sheet.flow-game .mg-body p,#mg-sheet.flow-game .bf-msg,#mg-sheet.flow-game .flow-required{text-align:left;word-break:normal;overflow-wrap:break-word;hyphens:none;white-space:normal;width:auto;max-width:none;display:block}
#board-overlay.board-parked{display:none!important}

/* ===== v381.370 — pendant l'écriture du kiff du jeu des lueurs, la fiche des lueurs et son décor s'effacent : seule l'écriture compte ===== */
body.master-kiff-writing #island-chapter,body.master-kiff-writing .board-place-host>*:not(.modal):not(#modal-root){visibility:hidden}
body.master-kiff-writing .board-place-host,body.master-kiff-writing #island-chapter{background:#0f0b12!important;pointer-events:none}
body.master-kiff-writing::before{content:'';position:fixed;inset:0;z-index:5;background:radial-gradient(ellipse at 50% 30%,#2a1e30,#0f0b12 70%);pointer-events:none}

/* ===== v381.372 — mot de Pico sur la carte d'arrivée rouverte (jeu obligatoire en suspens) ===== */
#arrival .flow-pico-note{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid #f3d59c66;background:linear-gradient(135deg,#f3d59c1f,#ffffff08)}
#arrival .flow-pico-note .flow-pico-ico{flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f3d59c;font-size:18px}
#arrival .flow-pico-note b{display:block;font:800 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#f3d59c}
#arrival .flow-pico-note p{margin:3px 0 0;font:13px/1.5 Arial,Helvetica,sans-serif;color:#f1e6ec;text-align:left}

/* ===== v381.373 — kiff du jeu des lueurs : les sélecteurs (souvenir, photo) passent devant l'écriture ; gains expliqués ===== */
body.master-kiff-writing .kiff-souv-back,body.master-kiff-writing #kiff-photo-back{z-index:2147483647!important}
body.master-kiff-writing #kiff-souv-large{z-index:2147483647!important}
.kiff-compose .kiff-master-gains{margin:4px 0 10px;padding:8px 10px;border-radius:12px;border:1px solid #f3d59c55;background:#f3d59c14;text-align:left}
.kiff-compose .kiff-master-gains p{margin:0 0 5px;font:12.5px/1.4 var(--ui-font,Arial);color:#f1e6ec}
.kiff-compose .kiff-master-gains ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.kiff-compose .kiff-master-gains li{position:relative;padding-left:14px;font:12px/1.4 var(--ui-font,Arial);color:#e6d9e1}
.kiff-compose .kiff-master-gains li::before{content:'';position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:#f3d59c}

.kiff-compose .kiff-master-gains small{display:block;margin-top:4px;color:#d9cbd4;font:11.5px/1.4 var(--ui-font,Arial)}

/* v381.378 — pièces jointes multiples du kiff. */
.kiff-selected-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}
.kiff-selected-photos>div{position:relative;aspect-ratio:1}
.kiff-selected-photos img{display:block;width:100%;height:100%;object-fit:cover;border-radius:9px;border:1px solid #ffffff35}
.kiff-selected-photos button{position:absolute!important;top:-5px;right:-5px;min-width:26px;height:26px;padding:0;border:1px solid #f5d1df66;border-radius:50%;background:#352030;color:#fff;font:700 18px/1 Arial}
.kiff-photo-cell{position:relative}
.kiff-photo-cell>span{position:absolute;top:5px;right:5px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #fff9;background:#1b122dcc;color:transparent;font:700 15px Arial}
.kiff-photo-cell.selected{border-color:#f4c479;box-shadow:0 0 0 1px #f4c479}
.kiff-photo-cell.selected>span{background:#f4c479;color:#302031;border-color:#f4c479}
.kiff-photo-feedback{min-height:1em;margin:0 0 8px;font-size:12px;line-height:1.4;color:#e8d2df}
.kiff-photo-feedback.error{color:#ffc6d4}
.kiff-photo-actions{position:sticky;bottom:-14px;margin:10px -2px -2px;padding:10px 0 4px;background:#2a1525;z-index:2}
.kiff-photo-actions>button{width:100%}
.kiff-photos-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 12px}
.kiff-photos-view.n1{grid-template-columns:1fr}
.kiff-photos-view .kiff-photo-view{margin:0;min-width:0}
.kiff-photos-view .kiff-photo-view img{width:100%;aspect-ratio:1;max-height:none;object-fit:cover}
.kiff-photos-view.n1 .kiff-photo-view img{aspect-ratio:auto;max-height:320px}

/* v381.382 — l’écriture ordinaire des Lueurs et ses pièces jointes passent devant la scène, sans quitter le lieu. */
#modal-root.kiff-writing{position:relative;z-index:2147483647!important}
#modal-root.kiff-writing>.modal-back{z-index:1!important;pointer-events:auto}
#modal-root.kiff-writing>.kiff-souv-back{z-index:2!important;pointer-events:auto}
#modal-root.kiff-writing>.kiff-souv-back .kiff-souv-feuille{pointer-events:auto}

/* v381.385 — destination et îlot dans le contrôle de retour existant. */
:is(.scene-return,#return,.obs-chip,.hb-chip)[data-scene-context]{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-width:0;min-height:44px!important;height:auto!important;max-width:min(100%,320px);padding:7px 11px!important;text-align:left!important;white-space:normal!important;flex-shrink:1;border-radius:12px!important}
:is(.scene-return,#return,.obs-chip,.hb-chip)[data-scene-context]>svg{width:18px!important;height:18px!important;flex:0 0 18px}
[data-scene-context]>.scene-return-copy{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:2px;min-width:0;white-space:normal!important}
.scene-return-copy>.scene-return-destination{display:block!important;font:500 10.5px/1.3 var(--ui-font,system-ui)!important;color:#e3cbb8!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important}
.scene-return-copy>.scene-return-island{display:block!important;max-width:100%;font:650 12px/1.3 var(--ui-font,system-ui)!important;color:#fff1d8!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere}
#world .board-menu-tools{align-items:flex-start}
#world #return[data-scene-context]{max-width:calc(100% - 112px);flex:0 1 auto}
#world #dashboard{top:calc(var(--scene-nav-bottom,66px) + 10px)!important}
#place-explore[data-scene-context]>.place-explore-top>div>small{display:none}
#place-explore[data-scene-context]>.place-explore-top>div{min-width:0}
#place-explore[data-scene-context]>.place-explore-top>.pico-scene-help{justify-self:end;min-width:0}
#place-explore[data-scene-context]>.fire-saison{top:calc(var(--scene-header-bottom,80px) + 8px)}
#place-explore[data-scene-context]>.light-cartouche{top:max(17vh,calc(var(--scene-header-bottom,80px) + 12px))}
#place-explore.place-fire[data-scene-context]>.light-cartouche{top:max(18vh,calc(var(--scene-header-bottom,80px) + 64px))}
#obs-scene[data-scene-context] .obs-top{align-items:center}
@media(min-width:761px){#place-explore[data-scene-context]>.place-explore-top{grid-template-columns:minmax(160px,280px) minmax(0,1fr) auto auto}}
@media(max-width:760px){
 #place-explore[data-scene-context]>.place-explore-top{grid-template-columns:minmax(0,1fr) auto!important;gap:7px 10px!important;align-items:center}
 #place-explore[data-scene-context]>.place-explore-top>.scene-return{grid-column:1!important;grid-row:1!important;justify-self:start;max-width:100%}
 #place-explore[data-scene-context]>.place-explore-top>em{grid-column:2!important;grid-row:1!important;align-self:center;max-width:146px}
 #place-explore[data-scene-context]>.place-explore-top>div{grid-column:1!important;grid-row:2!important;text-align:left}
 #place-explore[data-scene-context]>.place-explore-top>.pico-scene-help{grid-column:2!important;grid-row:2!important}
 #obs-scene[data-scene-context] .obs-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
 #obs-scene[data-scene-context] .obs-top>[data-obs-back]{grid-column:1;grid-row:1;justify-self:start;max-width:100%}
 #obs-scene[data-scene-context] .obs-top>[data-obs-sound]{grid-column:2;grid-row:1}
 #obs-scene[data-scene-context] .obs-top>h2{grid-column:1/-1;grid-row:2;margin:0}
 .island-chapter-top>[data-scene-context]{flex:1 1 180px;max-width:100%}
 .island-chapter-top>.island-chapter-ttl{flex:1 1 120px}
 .hb-rocket .hb-scene-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .hb-rocket .hb-scene-top>[data-hunt-mode="box"]{grid-column:1;grid-row:1;max-width:100%}
 .hb-rocket .hb-scene-top>h3{grid-column:1/-1;grid-row:2;margin:0}
}
/* Le nom reste dans le titre des jeux qui ne permettent pas encore un retour. */
.scene-island-name{display:block;min-width:0;max-width:100%;font:500 11px/1.35 var(--ui-font,system-ui)!important;letter-spacing:0!important;text-transform:none!important;color:#dfc8ab!important;overflow-wrap:anywhere;white-space:normal!important}
#mg-sheet header .scene-island-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#modal-root .master-kiff-compose>.scene-island-name{margin:0 0 8px;text-align:center}
#lights-game-stage .lights-stage-caption>.scene-island-name{margin-bottom:5px}

/* v381.386 — Une pénalité se reconnaît par son intitulé et sa couleur. */
.flow-card[data-negative="1"] #arrivalEffect{border-color:#d8887c;background:linear-gradient(135deg,#a53f3330,#2d1c2d)}
.flow-card[data-negative="1"] #arrivalEffect>small{color:#ffb3a3;font-weight:900;letter-spacing:.07em}
.flow-card[data-negative="1"] #arrivalTag{background:#8c302b55;color:#ffc2b5;border-color:#df8a7b}

/* v381.397 — a symmetric pair, including replay and the scrolling debate. */
.film .film-pair,#debat-plein .film-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:26rem;margin-inline:auto;align-self:center}
#debat-plein .film-stage{position:relative;inset:auto;margin-inline:auto;flex-shrink:0}
.film .film-env,#debat-plein .film-env{width:auto;min-width:0;overflow-wrap:anywhere}

/* v381.398 — explicit island exit and the observatory's two destinations. */
.place-explore-actions>.place-sortie{background:linear-gradient(135deg,#263e39,#182b2b)!important;border-color:#b5d9cd!important;color:#e8fff3!important;min-height:44px}
#obs-scene .obs-navigation{position:absolute;z-index:6;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;display:flex;justify-content:center;gap:8px}
#obs-scene .obs-navigation>button{min-height:44px;white-space:normal;font:600 12px/1.3 var(--ui-font,system-ui);max-width:48%;padding:8px 14px}
#obs-scene .obs-navigation>[data-obs-island]{border-color:#b5d9cd;color:#e8fff3}
#obs-scene .obs-bottom{bottom:calc(72px + env(safe-area-inset-bottom))}
@media(max-height:540px){#obs-scene .obs-hint{display:none}#obs-scene .obs-bottom{bottom:calc(65px + env(safe-area-inset-bottom))}}

/* v381.399 — hidden duplicates stay hidden despite the shared button styles. */
:is(#place-explore,#obs-scene) .scene-nav-duplicate[hidden]{display:none!important}

/* v381.415 — Les Lueurs : une valse sobre, y compris sans carte souvenir. */
.kfil{padding:.35rem 12px .65rem}
.kfil .kfil-it{--w:var(--kfil-width,90%);margin:var(--kfil-gap,1.65rem) 0;isolation:isolate}
.kfil .kfil-it:not(.kfil-g)+.kfil-it:not(.kfil-g){margin-top:var(--kfil-gap,1.65rem)}
.kfil .kfil-it::before{display:none}
.kfil .kfil-it>.kfil-carte,.kfil .kfil-it>.ikiff.ikiff-msg{
 flex:0 0 var(--w);width:var(--w);min-width:0;margin:0;box-sizing:border-box;
 transform:rotate(var(--tilt,0deg));transform-origin:50% 50%;
 border:1px solid #e2bf7352;border-radius:16px;background:linear-gradient(155deg,#292e31,#1d2427);
 box-shadow:0 9px 24px #0004;transition:transform .22s ease,box-shadow .22s ease;
}
.kfil .kfil-it>.ikiff.ikiff-msg{padding:.7rem .75rem .65rem;overflow-wrap:anywhere}
.kfil .kfil-it.attente>.ikiff.ikiff-msg{border-style:dashed;border-color:#dcbf839e}
.kfil .kfil-it>.kfil-carte:active{transform:rotate(var(--tilt,0deg)) scale(.99)}
.kfil .kfil-lueur{top:-.6rem;width:6px;height:6px;margin:-3px 0 0 -3px;z-index:0;animation-delay:-1.6s}
.kfil .droite>.kfil-lueur{animation-delay:-3.2s}
.kfil .kfil-mois{margin:.8rem 0 1.1rem}
.kfil .kfil-it .kiff-photos-view{gap:6px;margin:.6rem 0 .65rem}
.kfil .kfil-carte>.kiff-photos-view{padding:0 .65rem}
.kfil .kiff-photo-view img{border-radius:9px}
.kfil .ikiff-msg>b{font-size:.74rem}
.kfil .ikiff-msg>.ikiff-quand{font-size:.63rem;margin-top:.12rem}
.kfil .ikiff-msg>p{font-size:.79rem;line-height:1.55}
.kfil .ikiff-msg>.ikiff-attente{margin:.4rem 0 0;padding:0}
@media(hover:hover) and (pointer:fine){
 .kfil .kfil-it>.kfil-carte:hover{transform:rotate(calc(var(--tilt,0deg) * .45));box-shadow:0 12px 28px #0005}
}
@media(max-width:360px){.kfil{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){
 .kfil .kfil-it>.kfil-carte,.kfil .kfil-it>.ikiff.ikiff-msg{transition:none}
 .kfil .kfil-it>.kfil-carte:hover,.kfil .kfil-it>.kfil-carte:active{transform:rotate(var(--tilt,0deg))}
}

/* v381.417 — En-tête compact des Lueurs, indépendant des autres lieux. */
.kiff-lueurs-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;margin:0 0 .65rem;padding:9px 12px;border:1px solid #e6c77829;border-radius:12px;background:linear-gradient(150deg,#e2bf7312,#ffffff06)}
.kiff-lueurs-count{grid-column:1;grid-row:1;min-width:0;margin:0;color:#f2e4c7;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.kiff-lueurs-count b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.kiff-lueurs-count small{display:block;margin-top:2px;font-size:10px;line-height:1.3;color:#cbbdb1}
.kiff-lueurs-summary>.kiff-lueurs-send{grid-column:2;grid-row:1;width:auto;min-height:44px;margin:0;padding:8px 10px;border-radius:9px;font-size:12px;line-height:1.25;white-space:nowrap}
.kiff-lueurs-help{grid-column:1/-1;margin:0;color:#cbbdb1;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:360px){.kiff-lueurs-summary{padding:8px 10px;column-gap:8px}.kiff-lueurs-summary>.kiff-lueurs-send{padding-inline:8px;font-size:11px}}

/* v381.417 — Photos d’un seul kiff, dans une visionneuse tactile. */
dialog.kiff-photo-viewer{width:min(100vw,1100px);height:100dvh;max-width:none;max-height:none;margin:auto;padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#10151c;color:#f6eef3;overflow:hidden;box-sizing:border-box}
dialog.kiff-photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}
.kiff-photo-viewer::backdrop{background:#070a10ed}
.kiff-viewer-top{display:flex;align-items:center;gap:12px;min-width:0;font-size:12px;line-height:1.3}
.kiff-viewer-top>span{flex:1;min-width:0;overflow-wrap:anywhere}
.kiff-viewer-count{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;color:#e4c695}
.kiff-photo-viewer button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:8px;border:1px solid #ffffff32;border-radius:10px;background:#ffffff0c;color:#f6eef3;font:600 16px/1 var(--ui-font,Arial,sans-serif);cursor:pointer}
.kiff-photo-viewer button:disabled{opacity:.3;cursor:default}
.kiff-viewer-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.kiff-viewer-stage>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none}
.kiff-viewer-bottom{min-width:0}
.kiff-viewer-feedback{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;color:#c8c0c9;font-size:11px;line-height:1.4}
.kiff-viewer-feedback>span:empty{display:none}
.kiff-viewer-feedback>.kiff-viewer-retry{min-height:36px;font-size:12px}
.kiff-viewer-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px}
.kiff-viewer-nav>small{font-size:11px;line-height:1.35;text-align:center;color:#bfb3c0}
.kiff-photo-viewer [hidden]{display:none!important}
@media(min-width:720px){dialog.kiff-photo-viewer{height:min(96dvh,940px);border:1px solid #ffffff26;border-radius:16px;padding:14px 18px}.kiff-viewer-top{font-size:13px}}
