.app{position:relative;overflow:hidden;font-family:Arial,sans-serif;font-size:4mm;background:lightgray;box-sizing:border-box}.app *{box-sizing:border-box}.noselect{user-select:none}.text-shadow{text-shadow:0 .5mm 1.3mm rgba(0,0,0,0.7)}.maplibregl-marker,.maplibregl-popup-content button{cursor:pointer}.model-popup{width:100mm;height:60mm;padding:2mm;overflow:auto}.model-popup label{display:block;width:100%;margin-top:2mm}.model-popup input{width:100%}.model-popup label>span{display:block;font-weight:bold;cursor:pointer}.model-popup button{display:block;width:100%;margin-top:4mm;cursor:pointer}.model-popup input[type=range]{cursor:pointer}#models{width:48mm;min-width:48mm;max-width:100%;padding:4mm;resize:horizontal;overflow:auto;background:rgba(0,0,0,0.5)}.thumb{display:block;position:relative;width:100%;height:30mm;margin-bottom:4mm;border:none;border-radius:2mm;cursor:pointer;background:rgba(255,255,255,0.2);color:lightgray}.thumb:hover{background:rgba(0,148,255,0.4);color:white}.thumb>i{display:block;margin:2mm;font-size:8mm}.thumb input[type=checkbox]{position:absolute;bottom:2mm;left:2mm;margin:0}.thumb button[type=submit]{position:absolute;bottom:0;right:0;padding:2mm;cursor:pointer;background:none;border:none;color:white}.thumb span{position:absolute;top:6mm;left:3mm;right:3mm;bottom:7mm;text-align:center;word-wrap:break-word}#controls{position:fixed;right:6mm;bottom:12mm;background:rgba(0,0,0,0.4);border-radius:3mm}#controls button{display:block;position:relative;width:12mm;height:12mm;margin:2mm;font-size:5mm;cursor:pointer;background:rgba(0,0,0,0.4);color:white;border:none;border-radius:2mm}#controls button:hover{background:rgba(0,148,255,1.0);color:white}#controls button>div{display:none;position:absolute;width:80mm;height:12mm;right:12mm;top:0;padding:2mm;background:rgba(60,60,60,1.0);border-top-left-radius:2mm;border-bottom-left-radius:2mm}#controls button:hover>div{display:initial}#controls button>div input[type=range]{position:absolute;left:3mm;right:26mm;top:0;bottom:0;cursor:pointer}#controls button>div input[type=number]{position:absolute;width:20mm;right:3mm;top:3mm;bottom:3mm}#controls button>div input[type=radio]{display:none}#controls button>div label span{display:inline-block;min-width:8mm;min-height:8mm;cursor:pointer;background:lightgray;background-size:cover}#toggle{position:absolute;top:0;left:0;width:12mm;height:12mm;font-size:5mm;cursor:pointer;color:white;border:none;background:none}#toggle.hide{display:none}#loader{position:fixed;width:100%;height:100%;top:0;left:0;text-align:center;z-index:99990;background:rgba(0,0,0,0.66);cursor:progress;user-select:none}#loader>*{position:absolute;top:50%;left:50%;font-size:20mm;color:white;text-shadow:0 0 8mm steelblue;transform:translate(-50%,-50%);animation:grow 2s ease-in-out infinite}@keyframes grow{0%{transform:translate(-50%,-50%) scale(1.0)}50%{transform:translate(-50%,-50%) scale(1.33)}to{transform:translate(-50%,-50%) scale(1.0)}}.intro{padding:0;text-align:left}.intro>.content{position:absolute;left:6mm;right:6mm;top:6mm;bottom:6mm;width:auto;max-width:180mm;margin-left:auto;margin-right:auto;padding:0;overflow:hidden}.intro>.content button{margin:0}.intro>.content>.closer{position:absolute;right:0;top:0;min-width:24mm;height:24mm;line-height:24mm;font-size:1.5em;text-align:center;background:none}.intro>.content>.open-help{position:absolute;top:0;min-width:24mm;height:24mm;line-height:24mm;font-size:1.5em;text-align:center;background:none;right:24mm}.intro>.content>.open-help i{margin-left:3mm}.intro .accordion{position:absolute;left:0;right:0;top:24mm;bottom:0}.intro .accordion .head{height:12mm}.intro .accordion .head .icon{width:12mm;line-height:12mm;font-size:5mm}.intro .accordion .head .title{left:12mm}.intro .accordion .content{overflow-y:scroll}.intro .accordion .text{text-align:left;line-height:1.5em;padding:4mm 8mm}.intro .accordion .text li{margin-bottom:4mm;list-style-type:square}.intro .accordion table{width:100%}.intro .accordion table td,.intro .accordion table th{padding:2mm;text-align:left;vertical-align:top}.intro .qr{position:absolute;top:4mm;font-size:0;pointer-events:none!important}.intro .qr img{width:16mm!important;height:16mm!important;margin:0!important}.intro.modal{display:block}.intro .content{background:white}.intro .round{border-radius:2mm}.intro>.content button{border:none;cursor:pointer}.intro .text{position:absolute;top:24mm;bottom:0;left:0;right:0;padding:4mm;text-align:center;overflow:auto}.intro .text h3,.intro .text h4{text-align:center}.intro .text video{width:100%;height:30%;max-width:140mm;max-height:90mm}.intro .text ul{display:inline-block;padding:0;margin-top:0;list-style-type:none;text-align:left}.intro .text li{line-height:2em;white-space:nowrap}.intro .text li i{width:8mm;margin-right:4mm;font-size:5mm;text-align:center;opacity:.2}@media (max-width:600px){.intro .content .logo{height:10mm!important;margin:6mm!important}}.menu{position:absolute;height:12mm;top:0;left:0;right:0;font-size:0;background:rgba(100,0,0,0.5)}.menu>*{font-size:5mm}.menu .logo{height:100%}.menu .menu-intro{position:absolute;height:100%;top:0;right:0;cursor:pointer}.menu button{min-width:12mm;height:100%}.modal{display:none;position:absolute;width:100%;height:100%;left:0;top:0;z-index:10000;background:rgba(0,0,0,0.7)}.modal.show{display:block}.modal>*{display:block;position:absolute;left:24mm;right:24mm;top:24mm;bottom:24mm;text-align:center;background:white}.modal2{position:absolute;left:0;right:0;top:0;bottom:0;overflow:auto;background:rgba(0,0,0,0.7);z-index:99999}.modal2.hide{display:none}.modal2>.content{display:inline-block;background:white}.modal2 .content img{height:16mm;margin:4mm}.panel{position:absolute;width:100mm;max-width:100%;height:100%;left:0;top:0;z-index:1000;transform:translateX(-110%);transition:transform 150ms ease;background:lightsteelblue}.panel.show{transform:none}.panel>header{position:absolute;width:100%;height:12mm;top:0;background:steelblue}.panel>header button{display:block;width:100%;height:100%;line-height:12mm;cursor:pointer}.panel>header h2{position:absolute;left:0;right:12mm;height:100%;top:0;margin:0;padding-left:4mm;text-align:left;font-size:1.25em;background:lightcoral}.panel>header i{position:absolute;width:12mm;height:100%;right:0;top:0;line-height:12mm;text-align:center;background:lightgreen}.panel .closer{position:absolute;top:0;right:0;cursor:pointer;color:white;border:none;background:none}.viewer{width:100%;height:100%;background:#dfcda2}.viewer .maplibregl-ctrl-bottom-right{right:3mm}.viewer .maplibregl-ctrl-attrib{user-select:none;opacity:.5}.viewer .maplibregl-ctrl-attrib:hover{opacity:1}