/* 2D Blocks v10.12.19 — shared install + installed-app viewport layer */
:root{
  --app-visual-height:100dvh;
  --app-safe-top:env(safe-area-inset-top,0px);
  --app-safe-right:env(safe-area-inset-right,0px);
  --app-safe-bottom:env(safe-area-inset-bottom,0px);
  --app-safe-left:env(safe-area-inset-left,0px);
}
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
html.app-standalone{height:var(--app-visual-height,100dvh);overscroll-behavior:none;background:#03122f}
html.app-standalone body{min-height:var(--app-visual-height,100dvh);overscroll-behavior:none}
html.app-standalone img,html.app-standalone canvas,html.app-standalone video,html.app-standalone svg{max-width:100%}
html.app-standalone .sitewide-copyright{padding-bottom:max(10px,calc(var(--app-safe-bottom) + 8px))!important}

/* Install entry point. When a page has a navigation/header, JS mounts this inside it. */
.app-install-chip{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;
  min-height:36px;max-width:190px;padding:8px 11px;border:2px solid #06142f;border-radius:999px;
  background:linear-gradient(180deg,#8df7ff,#2cbbef 58%,#1380c6);color:#04152f!important;
  box-shadow:0 3px 0 #07558b,0 7px 18px rgba(27,190,244,.22);font:1000 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.02em;text-decoration:none!important;white-space:nowrap;cursor:pointer;touch-action:manipulation;z-index:2147481000;
}
.app-install-chip .app-install-icon{font-size:15px;line-height:1}.app-install-chip:hover{filter:brightness(1.08)}
.app-install-chip:active{transform:translateY(2px);box-shadow:0 1px 0 #07558b,0 4px 10px rgba(27,190,244,.18)}
.app-install-chip:focus-visible{outline:3px solid #fff45b;outline-offset:2px}
.app-install-chip.app-install-ready{background:linear-gradient(180deg,#c3ff82,#45d858 58%,#22a53c);box-shadow:0 3px 0 #176f2e,0 7px 18px rgba(62,220,85,.24)}
.app-install-chip.app-install-fixed{position:fixed;right:max(10px,calc(var(--app-safe-right) + 8px));bottom:max(10px,calc(var(--app-safe-bottom) + 8px))}
.app-install-chip.app-install-compact{width:38px;min-width:38px;max-width:38px;min-height:34px;padding:5px;border-radius:10px}
.app-install-chip.app-install-compact .app-install-label{display:none}
html.app-standalone .app-install-chip,html.app-standalone .home-app-promo,html.app-standalone #installAppHelp{display:none!important}

.app-install-help-global[hidden]{display:none!important}
.app-install-help-global{position:fixed;z-index:2147482000;inset:0;display:grid;place-items:center;padding:max(18px,var(--app-safe-top)) max(18px,var(--app-safe-right)) max(18px,var(--app-safe-bottom)) max(18px,var(--app-safe-left));background:rgba(1,8,27,.72);backdrop-filter:blur(6px)}
.app-install-help-card{position:relative;width:min(92vw,440px);padding:20px;border:2px solid #53dfff;border-radius:20px;background:linear-gradient(180deg,#0a2b62,#051534);box-shadow:0 22px 80px rgba(0,0,0,.5);color:#fff;text-align:center;font-family:Arial,Helvetica,sans-serif}
.app-install-help-card strong{display:block;color:#ffe45a;font:1000 22px/1 Arial Black,Arial,sans-serif}.app-install-help-card p{margin:12px 0 0;color:#d9f5ff;font:800 14px/1.45 Arial,sans-serif}.app-install-help-card button{margin-top:16px;min-height:44px;padding:9px 18px;border:2px solid #07152f;border-radius:12px;background:linear-gradient(#9cff75,#37cc4c);color:#062715;font:1000 12px Arial,sans-serif}

/* Installed-app safety: visualViewport, safe areas and common full-screen game shells. */
html.app-standalone .cr-shell{height:calc(var(--app-visual-height,100dvh) - 54px - var(--app-safe-bottom))!important;min-height:0!important}
html.app-standalone .hr-shell{height:calc(var(--app-visual-height,100dvh) - 54px - var(--app-safe-bottom))!important;min-height:0!important}
html.app-standalone .ht-shell{max-height:calc(var(--app-visual-height,100dvh) - var(--app-safe-bottom))!important}
html.app-standalone .sw-game{max-height:calc(var(--app-visual-height,100dvh) - 52px - var(--app-safe-bottom))!important}
html.app-standalone .ff-stage{max-height:calc(var(--app-visual-height,100dvh) - 58px - var(--app-safe-top) - var(--app-safe-bottom))!important}
html.app-standalone .par1-shell{height:calc(var(--app-visual-height,100dvh) - var(--par1-header-height,66px) - var(--par1-app-bottom,max(28px,var(--app-safe-bottom))))!important;max-height:calc(var(--app-visual-height,100dvh) - var(--par1-header-height,66px) - var(--par1-app-bottom,max(28px,var(--app-safe-bottom))))!important;min-height:0!important}
html.app-standalone .par1-live-aim-arrow{display:block!important;visibility:visible!important;opacity:1!important;z-index:80!important;filter:drop-shadow(0 0 10px rgba(255,224,61,1))!important}
html.app-standalone .par1-aim-needle{display:block!important;visibility:visible!important;opacity:1!important;z-index:10!important}

@media(max-width:720px){
  .app-install-chip:not(.app-install-fixed){min-height:34px;padding:6px 8px;font-size:8px}
  .app-install-chip:not(.app-install-ready) .app-install-label{max-width:74px;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:520px){
  .app-install-chip:not(.app-install-fixed){width:36px;min-width:36px;max-width:36px;padding:5px;border-radius:10px}
  .app-install-chip:not(.app-install-fixed) .app-install-label{display:none}
}
@media(min-width:651px) and (max-width:1366px) and (pointer:coarse){
  html.app-standalone .par1-live-aim-arrow{bottom:max(110px,calc(var(--app-safe-bottom) + 104px))!important;height:82px!important}
  html.app-standalone .par1-live-aim-arrow:before{height:62px!important}
}
@media(orientation:landscape) and (max-height:560px){
  html.app-standalone .par1-live-aim-arrow{bottom:max(70px,calc(var(--app-safe-bottom) + 64px))!important;height:52px!important}
}
