/* Web shell only: replace existing chrome, never resize the game world. */
.site-header{position:relative;z-index:60;display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:4px 12px;border:1px solid #35375f;border-radius:16px;background:#080921;font:600 .875rem/1.3 var(--font-body);flex:none;container:site-chrome/inline-size;}
.site-header a,.site-header button{font:inherit;letter-spacing:0;text-transform:none;white-space:nowrap;touch-action:manipulation;}
.site-brand{display:flex;align-items:center;gap:8px;min-height:44px;color:#ffda64;text-decoration:none;flex-shrink:0;}
.site-brand img{width:28px;height:28px;object-fit:contain;}
.site-links{display:flex;align-items:center;justify-content:center;gap:4px;margin:auto;}
.site-links a,.site-links button,.site-menu-toggle{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;color:#c7cbe4;background:transparent;border:1px solid transparent;border-radius:10px;text-decoration:none;cursor:pointer;}
.site-links [aria-current="page"]{color:#fff;background:#222443;border-color:#3c426d;}
.site-links a:hover,.site-links button:hover,.site-menu-toggle:hover{color:#fff;background:#202642;}
.site-header :focus-visible{outline:2px solid #64e6ff;outline-offset:2px;}
.site-header .language-switch{position:static;z-index:auto;box-shadow:none;border:0;padding:0;background:transparent;font-size:inherit;letter-spacing:0;margin-left:auto;}
.site-header .language-switch a{min-width:44px;height:44px;padding:0 8px;border-radius:10px;}
.site-menu-toggle{display:none;border-color:#454d7b;}
.site-links[hidden]{display:none;}
/* These site-level entries have moved into the header. In-game entries stay. */
.hall-rail,.marquee .tagline{display:none!important;}
/* A first-visit suggestion must not cover the new navigation or document layers. */
body > .language-suggestion{top:auto;bottom:calc(env(safe-area-inset-bottom) + 12px);right:calc(env(safe-area-inset-right) + 12px);max-width:calc(100vw - 24px);z-index:59;}
.hall-active .site-header{visibility:hidden;}
.site-leave{position:fixed;inset:0;z-index:400;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:24px;border:1px solid #565484;border-radius:18px;background:#0b0a24;color:#f7f4ff;font:400 1rem/1.6 var(--font-body);box-shadow:0 20px 60px #0008;}
.site-leave::backdrop{background:#020218dc;}
.site-leave:not([open]){display:none;}
.site-leave[open]{display:block;}
.site-leave-fallback{box-shadow:0 0 0 100vmax #020218dc;}
.site-leave h2{font:700 1.25rem/1.4 var(--font-display);margin:0 0 12px;color:#ffda64;}
.site-leave p{margin:0 0 20px;}
.site-leave-actions{display:flex;flex-wrap:wrap;gap:10px;}
.site-leave button{min-height:44px;flex:1;padding:10px 14px;border:1px solid #515a86;border-radius:10px;background:#1d2345;color:#f7f4ff;font:600 .875rem/1.4 var(--font-body);cursor:pointer;}
.site-leave button:focus-visible{outline:2px solid #64e6ff;outline-offset:3px;}
#siteLeaveCancel{background:#ffda64;color:#211934;border-color:#ffda64;}
@container site-chrome (max-width:20em){
  .site-brand-label{display:none;}
}
@media (min-width:1120px) and (min-height:720px){
  .site-header{grid-column:1/-1;grid-row:1;align-self:stretch;min-height:52px;border-radius:14px;}
  .cabinet .marquee,.cabinet .hud{grid-row:2/4;}
  .cabinet .mission-strip{display:none;}
}
@media (max-width:1119px), (max-height:719px){
  .site-header{padding:4px 8px;gap:6px;}
  .site-brand{gap:6px;}
  .site-brand img{width:24px;height:24px;}
  .site-brand-extra{display:none;}
  .site-menu-toggle{display:flex;padding:8px;}
  .site-links{position:absolute;top:calc(100% + 8px);right:0;display:flex;flex-direction:column;align-items:stretch;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:8px;margin:0;border:1px solid #49507d;border-radius:14px;background:#0a0b25;box-shadow:0 16px 40px #0009;}
  .site-links a,.site-links button{justify-content:flex-start;white-space:normal;text-align:left;}
  .cabinet .marquee,body.in-game .cabinet .marquee{display:none!important;}
  /* Replace the former 84px brand row, retaining the established maze size. */
  .cabinet{min-height:0;}
}
@media (max-width:1119px) and (orientation:landscape) and (max-height:500px){
  /* Short landscape uses the unused left gutter, not the maze's height. */
  .site-header{position:fixed;top:max(4px,env(safe-area-inset-top));left:max(4px,env(safe-area-inset-left));width:calc((100vw - min(720px,calc((100dvh - 72px)*19/21 + 8px)))/2 - 12px);flex-direction:column;align-items:stretch;padding:4px;gap:2px;}
  .site-brand{justify-content:center;gap:4px;}
  .site-brand img{width:20px;height:20px;}
  .site-header .language-switch{margin:0;justify-content:center;}
  .site-links{position:fixed;top:max(4px,env(safe-area-inset-top));left:calc((100vw - min(720px,calc((100dvh - 72px)*19/21 + 8px)))/2);right:auto;max-height:calc(100dvh - 24px);}
}
