/* Schermvullend, getekend decor. De bediening blijft echte HTML. */
body.startpagina{position:fixed;inset:0;overflow:hidden;background:#233e48}
.startpagina .app-shell{padding:0}.startpagina .site-header{position:fixed;inset:0 0 auto;z-index:30;min-height:0;padding:22px 28px;pointer-events:none;background:linear-gradient(#10232bdd,transparent);align-items:flex-start}
.startpagina .site-header>*{pointer-events:auto}.startpagina .brand small{display:none}.startpagina .brand strong{font-size:1.65rem}.startpagina .brand-mark{width:36px;height:36px;background:#10242ebf}.startpagina .brand{gap:10px;text-shadow:0 2px 8px #10232b}
.startpagina .menu-schakelaar{display:flex;margin-left:auto;align-items:center;gap:12px;min-height:44px;background:#132d36e8;border:1px solid #b3cdc26b;border-radius:6px;padding:10px 15px;color:#f4eddc;font:550 .85rem system-ui}
.startpagina .site-header .top-nav{display:none;position:absolute;right:28px;top:76px;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 160px);overflow:auto;flex-direction:column;align-items:stretch;background:#112b34f5;border:1px solid #a5bdbd66;border-radius:10px;padding:10px;gap:0}
.menu-open .startpagina .site-header .top-nav{display:flex}.startpagina .top-nav a{padding:12px 14px;min-height:44px;border-bottom:1px solid #e7e0c822;font-size:.88rem;color:#f1edde}.startpagina .top-nav .telegram-link{border:0;border-radius:0;background:transparent;max-width:none}.startpagina .site-footer{position:fixed;bottom:14px;right:24px;margin:0;padding:0;z-index:20;color:#f7f0de;font-size:.68rem;text-shadow:0 1px 6px #0b252d;gap:10px}.startpagina .site-footer>a{display:none}.startpagina .site-footer>div{gap:14px}.startpagina .site-footer a,.startpagina .wereld-bewegingsknop{color:#fff4dc;min-height:44px;background:#102c35c9;border-radius:5px;padding:8px 10px;border:1px solid #c1d1c13d}
.stad{position:relative;width:100%;height:100svh;height:100dvh;overflow:hidden;background:#294855}.stad-zicht{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;touch-action:pan-y;overscroll-behavior-x:contain;outline-offset:-5px}.stad-zicht:focus-visible{outline:3px solid #ffe0a1}.stad-zicht.stad-klaar{overflow:hidden}.stad-schilderij{position:relative;height:100%;width:max(190vw,300svh);width:max(190vw,300dvh);will-change:transform;transform:none}
.stad-panorama{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;transform:none!important;max-width:none;pointer-events:none;user-select:none}
.stad-voorgrond{position:absolute;left:-60px;bottom:0;width:calc(100% + 120px);height:28%;object-fit:fill;pointer-events:none;z-index:5;will-change:transform;opacity:.92}.stad-nevel{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#14344235 0%,transparent 24%,transparent 78%,#102d39c9 100%);z-index:6}.stad-damp{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 52% 40%,#dbe9d211,transparent 55%);animation:stad-adem 12s ease-in-out infinite alternate}
.stad-ingang{position:absolute;left:var(--plek-x);top:var(--plek-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:190px;min-height:120px;text-decoration:none;z-index:8;color:#fff3d6;outline-offset:5px;touch-action:pan-y}.stad-deur{width:75px;height:62px;display:block;border-radius:50%;background:radial-gradient(ellipse,#ffd69818,transparent 68%);transition:background .2s}
.stad-bord{display:block;text-align:center;background:#102d38ed;border:1px solid #e4cda86e;border-radius:4px;padding:9px 13px;box-shadow:0 5px 14px #15343c33;max-width:100%}.stad-bord strong{font:550 .9rem/1.3 system-ui;letter-spacing:.01em}.stad-bord small{display:block;font:.74rem/1.45 system-ui;max-height:0;overflow:hidden;opacity:0;transition:opacity .15s,max-height .15s}.stad-ingang:hover .stad-bord,.stad-ingang:focus .stad-bord{background:#17323b;border-color:#ffe6ad}.stad-ingang:hover small,.stad-ingang:focus small{max-height:80px;opacity:1;margin-top:5px}.stad-ingang:hover .stad-deur{background:radial-gradient(ellipse,#ffe3a049,transparent 70%)}
.stad-welkom{position:absolute;top:112px;left:30px;z-index:9;pointer-events:none;color:#fff4df;text-shadow:0 2px 12px #173c48,0 0 35px #153443}.stad-welkom p{font:.68rem/1.4 system-ui;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}.stad-welkom h1{font:500 clamp(1.5rem,2.4vw,2.4rem)/1.15 system-ui;letter-spacing:-.035em;margin:0 0 15px}.stad-welkom a{pointer-events:auto;color:#fff2cf;display:inline-flex;min-height:44px;align-items:center;font:.84rem/1.4 system-ui;text-underline-offset:5px}
.stad-bediening{position:absolute;bottom:18px;left:28px;max-width:460px;z-index:10;color:#fff3db;display:flex;align-items:center;gap:16px}.stad-bediening p{font:.72rem/1.65 system-ui;margin:0;text-shadow:0 1px 8px #071b22}.stad-richting{display:flex;gap:8px;flex-shrink:0}.stad-richting button{width:44px;height:44px;border:1px solid #c5d0b985;background:#15323dd9;color:#fff3d4;border-radius:50%;font-size:1.25rem;cursor:pointer}.stad-richting button:disabled{opacity:.4;cursor:default}.stad-licht{position:absolute;width:20px;height:12px;background:#fbd188;filter:blur(7px);pointer-events:none;animation:stad-licht 7s ease-in-out infinite alternate}.stad-licht-een{left:14%;top:60%}.stad-licht-twee{left:63%;top:43%;animation-delay:-3s}
.stad-betreden{animation:stad-binnen .24s ease-in forwards}.stad-zonder-js{position:absolute;bottom:90px;left:24px;right:24px;background:#142b36;color:#fff1d4;padding:10px;z-index:20}.startpagina .drone-metgezel{position:fixed;right:26px;top:96px;z-index:12;max-width:180px;background:#153642bf;border-color:#a7bebe55;font-size:.65rem}.startpagina .drone-metgezel svg{width:52px;height:48px}.startpagina .drone-metgezel small{display:none}
/* Elke bestaande werkruimte blijft functioneel in een eigen uitsnede van de stad. */
.inhoudpagina{--kamer-blik:50%}.inhoudpagina:has([data-decor=ontwerpstudio]){--kamer-blik:13%}.inhoudpagina:has([data-decor=forum]){--kamer-blik:32%}.inhoudpagina:has([data-decor=denktank]){--kamer-blik:64%}.inhoudpagina:has([data-fase=parked]){--kamer-blik:78%}.inhoudpagina:has([data-stad-fase=done]){--kamer-blik:91%}
body.inhoudpagina::before{content:"";display:block;position:fixed;inset:0;background:linear-gradient(90deg,#122c3440,#10252bab),url('/beelden/stad/uitvindersstad.webp?v=stad-20260926-1') var(--kamer-blik) center/auto 100vh no-repeat;z-index:-1;pointer-events:none}.inhoudpagina .app-shell{min-height:100svh;background:transparent}.inhoudpagina .site-header{background:linear-gradient(#0e2830db,transparent)}.inhoudpagina .set-plaat>img{display:none}.inhoudpagina .set-plaat{background:transparent;border:0;height:280px;aspect-ratio:auto}.inhoudpagina .set-verkenner{background:transparent;border-color:transparent;box-shadow:none}.inhoudpagina .set-bordje{filter:drop-shadow(0 2px 5px #102932);bottom:24px}.inhoudpagina .set-links{background:#122b34e8;border:1px solid #b8c6b453;border-radius:8px}.inhoudpagina .portal-card,.inhoudpagina .panel-frame,.inhoudpagina .idea-card{background:#112934f2;border-color:#a9bca845;backdrop-filter:blur(6px)}.inhoudpagina .wereld-route{color:#f5ecd6}.inhoudpagina .wereld-route a{color:#f5ecd6}.inhoudpagina .site-footer{color:#e2dcca}.inhoudpagina .set-en-inhoud{padding-bottom:28px}.inhoudpagina main{animation:stad-ruimte .3s ease-out}
@keyframes stad-adem{from{opacity:.3;transform:translateX(-12px)}to{opacity:.85;transform:translateX(12px)}}@keyframes stad-licht{from{opacity:.35}to{opacity:.8}}@keyframes stad-binnen{to{opacity:.35;scale:1.045}}@keyframes stad-ruimte{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.beweging-uit .stad *{animation:none!important;transition:none!important}.beweging-uit .inhoudpagina main{animation:none}
@media(max-width:760px){.startpagina .site-header{padding:16px;flex-wrap:nowrap}.startpagina .brand strong{font-size:1.45rem}.startpagina .brand-mark{width:32px;height:32px}.startpagina .site-header .top-nav{top:70px;right:16px;width:calc(100vw - 32px)}.stad-welkom{top:96px;left:18px;max-width:245px}.stad-welkom p{font-size:.55rem}.stad-welkom h1{font-size:1.6rem}.stad-bediening{left:16px;right:16px;bottom:78px;max-width:none;gap:10px;justify-content:space-between}.stad-bediening p{max-width:220px;font-size:.65rem}.stad-bord strong{font-size:.87rem}.stad-ingang{width:172px}.stad-voorgrond{height:22%}.startpagina .site-footer{right:16px;bottom:max(12px,env(safe-area-inset-bottom));font-size:.6rem}.startpagina .site-footer>div{gap:8px}.startpagina .drone-metgezel{right:16px;top:180px;max-width:140px;padding:4px 8px}.inhoudpagina .set-plaat{height:105px}.inhoudpagina .set-bordje{bottom:15px}.inhoudpagina .set-links{margin-top:0}.inhoudpagina .set-verkenner{margin-bottom:18px}}
@media(max-height:500px){.stad-welkom{top:78px}.stad-welkom p{display:none}.stad-welkom h1{font-size:1.5rem}.stad-bediening{bottom:12px;max-width:50%}.stad-bord strong{font-size:.75rem}.stad-ingang{min-height:80px;width:150px}.stad-deur{height:35px}.startpagina .site-footer{bottom:10px}}
/* Dezelfde kleine ingang naar navigatie in de binnenruimtes. Zonder JS blijven links zichtbaar. */
.stad-zicht.stad-klaar{overflow:clip}.stad-voorgrond{height:auto;max-height:55vh;object-fit:contain;object-position:bottom}.stad-pauze .stad *{animation-play-state:paused!important}
.inhoudpagina .site-header{position:relative;z-index:30;flex-wrap:nowrap;align-items:center}.inhoudpagina .menu-schakelaar{display:flex;align-items:center;gap:12px;margin-left:auto;min-height:44px;background:#142c36;border:1px solid #a3b6ae66;border-radius:6px;padding:10px 15px;color:#f4eddc;font:550 .85rem system-ui}.inhoudpagina .site-header .top-nav{position:absolute;right:0;top:80px;width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 110px);overflow:auto;flex-direction:column;align-items:stretch;background:#112b34fa;border:1px solid #a5bdbd66;border-radius:10px;padding:10px;gap:0}.inhoudpagina .top-nav a{padding:12px;min-height:44px}.inhoudpagina .top-nav .telegram-link{max-width:none}
.startpagina .site-header .top-nav{display:flex}.menu-actief .site-header .top-nav{display:none}.menu-open .site-header .top-nav{display:flex}
@media(prefers-reduced-motion:reduce){.stad *,.inhoudpagina main{animation:none!important;transition:none!important}}
