html,body{height:100%;overflow:hidden;overscroll-behavior:none;background:#2c3a30}
#stage{position:fixed;inset:0}#gl{width:100%;height:100%;display:block;touch-action:none}
.fab{position:absolute;z-index:30;display:flex;gap:6px}
.fab-tl{top:calc(10px + var(--sat));left:calc(10px + var(--sal));flex-direction:column;align-items:flex-start}
.fab-tl .row{display:flex;gap:6px;flex-wrap:wrap}
.fab-tr{top:calc(10px + var(--sat));right:calc(10px + var(--sar))}
.fbtn{width:44px;height:44px;border:0;border-radius:12px;background:#fff;color:var(--forest);box-shadow:var(--sh);display:inline-grid;place-items:center;padding:0;cursor:pointer;text-decoration:none;font:700 22px Figtree,sans-serif}
.fbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fbtn[aria-pressed="true"],.fbtn[aria-expanded="true"]{background:var(--forest);color:#fff}
.hud .fbtn{background:rgba(255,255,255,.94)}
.compass svg{width:34px;height:34px;stroke:none}
#labels{position:absolute;inset:0;pointer-events:none;z-index:10}
.lbl{position:absolute;transform:translate(-50%,-100%);background:rgba(19,48,32,.86);color:#fff;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;white-space:nowrap}
html.nolabels #labels{display:none}
.card{position:absolute;z-index:35;left:calc(10px + var(--sal));right:calc(10px + var(--sar));bottom:calc(12px + var(--sab));background:#fff;border-radius:18px;box-shadow:0 6px 24px rgba(0,0,0,.28);padding:14px 16px 14px;max-width:520px;margin:0 auto}
.card[hidden]{display:none}
.card .hd{display:flex;align-items:center;gap:12px}.card .hd svg{width:44px;height:44px;flex:none}
.card h3{margin:0;font-size:18px}.card .sub{font-size:13px;color:var(--muted);margin-top:2px}
.card .x{margin-left:auto;border:0;background:#eef0ea;width:38px;height:38px;border-radius:50%;font-size:22px;color:var(--forest);cursor:pointer;flex:none}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:12px 0 0;font-size:14px}.card dt{color:var(--muted)}.card dd{margin:0;font-weight:600}
.card .note{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.4}
.menu{position:absolute;z-index:40;top:0;left:0;bottom:0;width:min(86vw,340px);background:#fff;box-shadow:4px 0 24px rgba(0,0,0,.25);padding:calc(14px + var(--sat)) 14px 16px;overflow:auto}
.menu[hidden]{display:none}
.menu .mhd{display:flex;align-items:center;gap:10px;margin-bottom:8px}.menu .mhd svg{width:40px;height:40px}.menu .mhd b{font-size:17px;color:var(--forest)}.menu .mhd small{display:block;color:var(--muted);font-size:12px}
.menu .mhd .x{margin-left:auto;border:0;background:#eef0ea;width:38px;height:38px;border-radius:50%;font-size:22px;color:var(--forest)}
.menu h4{margin:14px 4px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.menu button.obj{display:flex;width:100%;align-items:center;gap:12px;min-height:50px;border:0;background:none;border-radius:12px;font:600 15px Figtree,sans-serif;color:var(--ink);text-align:left;padding:0 6px;cursor:pointer}
.menu button.obj:active{background:#f1efe8}.menu button.obj svg{width:32px;height:32px;flex:none}
.menu p{font-size:13px;color:var(--muted);line-height:1.45;margin:6px 4px}
#map2d{position:absolute;inset:0;z-index:5;background:#2c3a30}#map2d[hidden]{display:none}
html[data-mode="2d"] .only3d,html:not([data-mode="2d"]) .only2d{display:none!important}
#modeBtn .i3d{display:none}#modeBtn .i2d{display:block}html[data-mode="2d"] #modeBtn .i2d{display:none}html[data-mode="2d"] #modeBtn .i3d{display:block}
.basenote{position:absolute;z-index:20;left:calc(10px + var(--sal));bottom:calc(10px + var(--sab));background:rgba(255,255,255,.86);color:var(--muted);font-size:11px;padding:3px 8px;border-radius:6px;max-width:80%}
html[data-mode="2d"] #labels{display:none}
/* v3 – linki „Inne miejsca” w menu strony miejsca */
.menu a.obj{display:flex;width:100%;align-items:center;gap:12px;min-height:50px;border-radius:12px;font:600 15px Figtree,sans-serif;color:var(--ink);text-decoration:none;padding:0 6px}
.menu a.obj:active{background:#f1efe8}.menu a.obj svg{width:32px;height:32px;flex:none}
