/* Volledig scherm / installeren (js/pwa). */
.pwa-fsbtn{position:absolute;right:calc(10px + env(safe-area-inset-right));top:calc(66px + env(safe-area-inset-top));z-index:6;min-height:56px;min-width:56px;display:flex;align-items:center;gap:8px;font-size:16px;padding:6px 14px;touch-action:manipulation}
.pwa-fsbtn[hidden]{display:none}
.pwa-fsbtn .ic{font-size:28px;line-height:1}
#screen-map:not(.active) .pwa-fsbtn{display:none}
.pwa-help{position:fixed;inset:0;z-index:3100;display:flex;align-items:center;justify-content:center;background:#0b123399;padding:10px calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));touch-action:manipulation;overflow:auto}
.pwa-box{width:min(460px,100%);max-height:100%;overflow:auto;padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px;font-weight:800}
.pwa-head{display:flex;align-items:center;gap:8px}
.pwa-head h2{margin:0;flex:1;font-size:22px;line-height:1.15;text-align:center}
.pwa-x{flex:none;width:48px;height:48px;font:inherit;font-size:22px;color:var(--navy);background:#fff;border:3px solid var(--navy);border-radius:14px;cursor:pointer;touch-action:manipulation}
.pwa-main{display:flex;flex-direction:column;gap:10px;align-items:center}
.pwa-stage{width:100%;display:flex;justify-content:center;align-items:center;min-height:120px}
.pwa-tx{width:100%;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}
.pwa-tx p{margin:0}
.pwa-count{font-size:15px;opacity:.75}
.pwa-dots{display:flex;gap:8px}
.pwa-dots i{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--navy)}
.pwa-dots i.on{background:var(--pink)}
.pwa-dots i.past{background:var(--yellow)}
.pwa-big{font-size:24px;line-height:1.2;display:flex;align-items:center;gap:10px;justify-content:center;text-align:left}
.pwa-num{flex:none;width:40px;height:40px;border-radius:50%;background:var(--pink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;border:3px solid var(--navy)}
.pwa-hint{font-size:17px;line-height:1.25;opacity:.85}
.pwa-warn{color:#9c2b00;opacity:1}
.pwa-ol{margin:0;padding-left:26px;text-align:left;font-size:17px;line-height:1.3}
.pwa-ol li{margin:4px 0}
.pwa-nav{display:flex;gap:8px}
.pwa-more{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.pwa-btn{flex:1 1 130px;min-height:56px;font:inherit;font-size:19px;color:var(--navy);background:#fff;border:3px solid var(--navy);border-radius:14px;box-shadow:0 4px 0 var(--navy);cursor:pointer;touch-action:manipulation;padding:6px 12px}
.pwa-btn.ok{background:var(--yellow)}
.pwa-btn.link{flex:0 1 auto;min-height:48px;font-size:16px;background:none;border:0;box-shadow:none;text-decoration:underline}
.pwa-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--navy)}
.pwa-btn.link:active{transform:none}
.pwa-btn:focus-visible,.pwa-x:focus-visible{outline:4px solid var(--blue);outline-offset:2px}
.pwa-instbtn{width:100%;flex:none}
/* rustig schermvullend scherm na het inloggen */
.pwa-gate{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:linear-gradient(#bfe4ff,#eaf7ff);color:var(--navy);padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));overflow:auto;touch-action:manipulation;font-weight:800}
.pwa-gate[hidden]{display:none}
.pwa-gwrap{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;margin:auto}
.pwa-gart{width:min(220px,60%)}
.pwa-gwrap h1{margin:0;font-size:30px;line-height:1.15}
.pwa-gsub{margin:0;font-size:19px;line-height:1.3}
.pwa-gwrap .pwa-btn:not(.link){flex:none;width:100%}
.pwa-gbig{min-height:68px;font-size:24px}
.pwa-url{word-break:break-all}
@media(max-height:420px){
  .pwa-gwrap{width:min(720px,100%);display:grid;grid-template-columns:150px 1fr;grid-template-areas:"art h" "art s" "art b" "art l" "art m";text-align:left;gap:6px 18px;align-items:center}
  .pwa-gart{grid-area:art;width:150px}.pwa-gwrap h1{font-size:22px}.pwa-gsub{font-size:15px}.pwa-gbig{min-height:52px;font-size:19px}
  .pwa-gwrap .pwa-more{justify-content:flex-start;grid-area:m}.pwa-gwrap h1{grid-area:h}.pwa-gsub{grid-area:s}.pwa-gbig{grid-area:b}.pwa-glater{grid-area:l}
  .pwa-box{gap:6px;padding:6px 12px 8px;display:grid;grid-template-columns:1.15fr 1fr;grid-template-areas:"head head" "main main" "nav more";gap:4px 8px}
  .pwa-head{grid-area:head}.pwa-head h2{font-size:17px;text-align:left}.pwa-x{width:40px;height:40px;font-size:18px}.pwa-head{min-height:40px}
  .pwa-main{grid-area:main;flex-direction:row;align-items:center;gap:12px}
  .pwa-stage{flex:0 0 40%;min-height:0}.pwa-art{max-width:150px;max-height:104px}.pwa-menu{max-width:230px;padding:8px 8px 8px 46px;gap:5px}.pwa-hot{font-size:16px;padding:5px 8px}.pwa-gr{height:12px}
  .pwa-tx{flex:1;gap:3px}.pwa-big{font-size:19px}.pwa-num{width:32px;height:32px;font-size:19px}.pwa-hint{font-size:14px}.pwa-count{font-size:13px}.pwa-dots i{width:10px;height:10px}.pwa-ol{font-size:14px}
  .pwa-box.parent .pwa-stage{display:none}.pwa-box.parent .pwa-main{align-items:flex-start}.pwa-box.parent .pwa-tx{text-align:left;align-items:flex-start}
  .pwa-nav{grid-area:nav;position:sticky;bottom:0;background:var(--card);z-index:1}.pwa-more{position:sticky;bottom:0;background:var(--card);z-index:1}
  .pwa-nav{grid-area:nav}.pwa-more{grid-area:more;align-self:center;flex-wrap:nowrap;gap:0;justify-content:flex-end}.pwa-more .pwa-btn.link{padding:4px 5px;white-space:normal;line-height:1.1}
  .pwa-btn{min-height:44px;font-size:16px}.pwa-btn.link{min-height:44px;font-size:13px}.pwa-pill{padding:8px 16px;font-size:18px}
}
/* Layout in standalone/fullscreen: dynamische hoogte, veilige randen, geen overscroll/pull-to-refresh/dubbeltik-zoom */
html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-webkit-touch-callout:none}
@supports(height:100dvh){html,body{height:100dvh}}
button,.btn,.sticker,select,[role=button]{touch-action:manipulation}
.hud{padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right))}
