.global-header{position:sticky;top:0;z-index:20000;width:100%;border-bottom:1px solid rgba(148,163,184,.2);background:rgba(8,17,31,.94);color:#e8edf5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.global-header *{box-sizing:border-box}
.global-header-inner{width:min(1240px,calc(100% - 36px));height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.global-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font:700 19px/1.1 "Space Grotesk","Plus Jakarta Sans",sans-serif;white-space:nowrap}
.global-brand img{width:42px;height:42px;border-radius:12px;object-fit:cover}
.global-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;font:600 13px/1.2 "DM Sans","Plus Jakarta Sans",sans-serif}
.global-nav>a,.global-nav button{border:0;background:none;color:#c3cede;text-decoration:none;white-space:nowrap;cursor:pointer;font:inherit;padding:0;transition:color .18s ease}
.global-nav>a:hover,.global-nav button:hover{color:#3173f1}
.global-nav form{display:inline;margin:0}
.global-nav .global-nav-cta{padding:9px 14px;border:1px solid rgba(183,243,74,.5);border-radius:11px;color:#dfffa4;background:rgba(183,243,74,.08)}
.global-languages{display:flex;align-items:center;gap:5px;margin-left:2px;padding-left:12px;border-left:1px solid rgba(148,163,184,.22)}
.global-languages a,.global-mobile-languages a{color:#8491a4;text-decoration:none;font-size:10px;font-weight:800}
.global-languages a.active,.global-mobile-languages a.active{color:#3173f1}
.global-header-actions{display:flex;align-items:center;gap:10px}
.global-language-switcher{position:relative}
.global-language-switcher summary{height:42px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(148,163,184,.3);border-radius:13px;background:rgba(15,28,46,.9);color:#e8edf5;cursor:pointer;list-style:none;font:800 11px/1 "DM Sans","Plus Jakarta Sans",sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.global-language-switcher summary::-webkit-details-marker{display:none}
.global-language-switcher summary:hover,.global-language-switcher[open] summary{border-color:rgba(183,243,74,.55);background:rgba(30,50,75,.95);color:#3173f1}
.global-language-switcher summary:focus-visible{outline:2px solid #3173f1;outline-offset:3px}
.global-language-dropdown{position:absolute;top:50px;right:0;z-index:10;width:90px;padding:7px;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:#0d1929;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.global-language-dropdown a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:9px;color:#d8e0eb;text-decoration:none;font:700 12px/1.1 "DM Sans","Plus Jakarta Sans",sans-serif}
.global-language-dropdown a:hover{background:rgba(183,243,74,.08);color:#3173f1}
.global-language-dropdown a.active{background:rgba(183,243,74,.12);color:#3173f1}
.global-language-flag{font-size:17px;line-height:1}
.global-language-code{font-weight:850;text-align:right}
.global-menu-trigger{display:none;width:44px;height:44px;place-content:center;gap:5px;border:1px solid rgba(148,163,184,.3);border-radius:13px;background:rgba(15,28,46,.9);color:#e8edf5;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .28s cubic-bezier(.2,.8,.2,1),background .18s ease}
.global-menu-trigger span{display:block;width:20px;height:2px;border-radius:99px;background:currentColor;transform-origin:center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.global-menu-open .global-menu-trigger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.global-menu-open .global-menu-trigger span:nth-child(2){opacity:0;transform:scaleX(.2)}
.global-menu-open .global-menu-trigger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.global-mobile-menu{display:none!important;position:relative}
.global-mobile-menu summary{width:42px;height:42px;display:grid;place-content:center;gap:5px;border:1px solid rgba(148,163,184,.3);border-radius:11px;cursor:pointer;list-style:none}
.global-mobile-menu summary::-webkit-details-marker{display:none}
.global-mobile-menu summary span{display:block;width:19px;height:2px;border-radius:4px;background:#e8edf5}
.global-mobile-menu>div{position:absolute;top:52px;right:0;width:min(310px,calc(100vw - 24px));padding:14px;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:#0d1929;box-shadow:0 22px 60px rgba(0,0,0,.45)}
.global-mobile-menu a,.global-mobile-menu button{display:block;width:100%;padding:11px 12px;border:0;border-radius:9px;background:none;color:#d8e0eb;text-align:left;text-decoration:none;font:600 14px/1.2 "DM Sans","Plus Jakarta Sans",sans-serif;cursor:pointer}
.global-mobile-menu a:hover,.global-mobile-menu button:hover{background:rgba(183,243,74,.08);color:#3173f1}
.global-mobile-menu form{margin:0}
.global-mobile-languages{display:flex;padding-top:9px;margin-top:6px;border-top:1px solid rgba(148,163,184,.2)}
.global-mobile-languages a{width:auto;padding:8px}
@media(max-width:1040px){.global-nav{display:none}.global-menu-trigger{display:grid}}
@media(max-width:600px){.global-header-inner{width:calc(100% - 24px);height:68px}.global-brand span{font-size:17px}.global-brand img{width:38px;height:38px}}
.global-menu-backdrop{position:fixed;inset:0;z-index:30000;opacity:0;visibility:hidden;background:radial-gradient(circle at 86% 16%,rgba(59,130,246,.24),transparent 38%),rgba(2,6,23,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .32s ease,visibility .32s}
.global-menu-backdrop.is-open{opacity:1;visibility:visible}
.global-offcanvas{position:fixed;top:0;right:0;z-index:30001;width:min(390px,calc(100vw - 18px));height:100dvh;padding:max(22px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden auto;border-left:1px solid rgba(71,85,105,.45);background:linear-gradient(145deg,rgba(37,99,235,.2),transparent 38%),#020617;color:#f1f5f9;box-shadow:-32px 0 90px rgba(2,6,23,.5);transform-origin:right center;transform:perspective(1400px) translate3d(112%,0,110px) rotateY(-25deg) scale(.92);opacity:.35;visibility:hidden;transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .3s ease,visibility .52s;will-change:transform}
.global-offcanvas.is-open{transform:perspective(1400px) translate3d(0,0,0) rotateY(0) scale(1);opacity:1;visibility:visible}
.global-offcanvas-glow{position:absolute;top:-120px;right:-80px;width:300px;height:300px;border-radius:50%;background:rgba(59,130,246,.2);filter:blur(65px);pointer-events:none}
.global-offcanvas-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px}
.global-offcanvas-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.global-offcanvas-brand img{width:48px;height:48px;border-radius:14px}
.global-offcanvas-brand span{display:flex;flex-direction:column}
.global-offcanvas-brand strong{font:800 18px/1.2 "Space Grotesk","Plus Jakarta Sans",sans-serif}
.global-offcanvas-brand small{margin-top:3px;color:#94a3b8;font-size:11px}
.global-menu-close{width:42px;height:42px;border:1px solid rgba(148,163,184,.25);border-radius:12px;background:rgba(15,23,42,.75);color:#e2e8f0;font-size:29px;line-height:1;cursor:pointer}
.global-offcanvas-languages{position:relative;display:flex;gap:7px;margin:25px 0 14px}
.global-offcanvas-languages a{min-width:44px;padding:8px 9px;border:1px solid rgba(148,163,184,.2);border-radius:9px;color:#94a3b8;text-align:center;text-decoration:none;font-size:11px;font-weight:800}
.global-offcanvas-languages a.active{border-color:rgba(183,243,74,.5);background:rgba(183,243,74,.09);color:#3173f1}
.global-offcanvas-nav{position:relative;display:flex;flex-direction:column;gap:7px}
.global-offcanvas-nav>a{display:flex;flex-direction:column;padding:13px 14px;border:1px solid transparent;border-radius:12px;color:#e2e8f0;text-decoration:none;background:rgba(15,23,42,.34);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.global-offcanvas-nav>a:hover{transform:translateX(-4px);border-color:rgba(96,165,250,.35);background:rgba(30,64,175,.18)}
.global-offcanvas-nav strong{font-size:14px}.global-offcanvas-nav small{margin-top:3px;color:#94a3b8;font-size:11px}
.global-offcanvas-nav .global-offcanvas-cta{border-color:rgba(183,243,74,.35);background:rgba(183,243,74,.08)}
.global-offcanvas-account{position:relative;margin-top:auto;padding-top:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border-top:1px solid rgba(148,163,184,.18)}
.global-account-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#1e3a5f;color:#3173f1;font-weight:800}
.global-offcanvas-account>span:nth-child(2){display:flex;flex-direction:column}.global-offcanvas-account small{color:#94a3b8;font-size:10px}
.global-offcanvas-account form{margin:0}.global-offcanvas-account button{padding:8px 10px;border:1px solid rgba(248,113,113,.3);border-radius:9px;background:rgba(127,29,29,.15);color:#fca5a5;cursor:pointer}
.global-menu-open{overflow:hidden}
.game-with-global-header .screen{top:76px}
.game-with-global-header>.quest-menu-trigger{display:none}
@media(max-width:600px){.game-with-global-header .screen{top:68px}}

.global-theme-toggle{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid rgba(148,163,184,.3);border-radius:13px;background:rgba(15,28,46,.9);color:#e8edf5;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.global-theme-toggle:hover{border-color:rgba(183,243,74,.55);color:#3173f1;transform:translateY(-1px)}
.global-theme-toggle:focus-visible{outline:2px solid #3173f1;outline-offset:3px}
.global-theme-icon{width:18px;height:18px}.global-theme-icon-moon{display:none}
html:not(.dark) .global-theme-icon-sun{display:none}html:not(.dark) .global-theme-icon-moon{display:block}
html:not(.dark) .global-header{border-bottom-color:rgba(148,163,184,.3);background:rgba(255,255,255,.94);color:#1e293b}
html:not(.dark) .global-brand{color:#0f172a}
html:not(.dark) .global-nav>a,html:not(.dark) .global-nav button{color:#475569}
html:not(.dark) .global-theme-toggle,html:not(.dark) .global-language-switcher summary,html:not(.dark) .global-menu-trigger{border-color:rgba(148,163,184,.38);background:rgba(248,250,252,.96);color:#334155;box-shadow:0 8px 24px rgba(15,23,42,.08)}
html:not(.dark) .global-language-dropdown{border-color:rgba(148,163,184,.35);background:#fff;box-shadow:0 20px 50px rgba(15,23,42,.16)}
html:not(.dark) .global-language-dropdown a{color:#334155}
html:not(.dark) .global-language-dropdown a:hover{background:#f1f5f9;color:#2563eb}
html:not(.dark) .global-language-dropdown a.active{background:#eff6ff;color:#2563eb}

/* Il navigatore sostituisce il body, ma solo il contenuto sfuma: l'header
   globale rimane stabile e visibile come nella shell di un'app. */
html.ajax-page-leaving :where(body>main,body>section,body>footer,body>.flash){
  opacity:0;
  transition:opacity .16s ease;
  pointer-events:none;
}
html.ajax-page-staged :where(body>main,body>section,body>footer,body>.flash){opacity:0}
html.ajax-page-entering :where(body>main,body>section,body>footer,body>.flash){animation:appContentFadeIn .32s ease-out both}
@keyframes appContentFadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  html.ajax-page-leaving :where(body>main,body>section,body>footer,body>.flash),
  html.ajax-page-staged :where(body>main,body>section,body>footer,body>.flash),
  html.ajax-page-entering :where(body>main,body>section,body>footer,body>.flash){animation:none!important;transition-duration:1ms!important}
}
