:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#192d38;background:#f4f7f8}*{box-sizing:border-box}body{margin:0}header{padding:18px 26px;background:#fff;border-bottom:1px solid #dde5e8}h1{font-size:1.35rem;margin:0 0 4px}header p{margin:0;color:#60747d;font-size:.9rem}main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);height:calc(100dvh - 135px);min-height:520px}#map{min-height:400px;background:#eaf1f4}#panel{background:white;border-left:1px solid #dce5e9;overflow-y:auto;padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.panel-head h2{margin:0;font-size:1.5rem}.panel-head p{color:#667984;font-size:.9rem}button{background:white;border:1px solid #cbd8dd;border-radius:7px;padding:9px 12px;cursor:pointer;color:#193746}button:hover,button:focus-visible{background:#e7f3f4}#close{font-size:1.5rem;border:0;padding:0 8px}.empty{padding:50px 15px;text-align:center;color:#78909b;border:1px dashed #ccdadd;border-radius:10px;margin-top:24px}.viewer{height:290px;background:#172b34;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.viewer img,.viewer video{width:100%;height:100%;object-fit:contain}.controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.controls button{font-size:.85rem}.controls span{font-size:.85rem;color:#5a6d77}#caption{line-height:1.5;min-height:44px}.thumbs{display:flex;gap:9px;overflow-x:auto;padding:8px 0 16px}.thumbs button{width:84px;height:64px;flex:none;padding:0;overflow:hidden;border:2px solid transparent;position:relative;background:#edf2f4}.thumbs button.active{border-color:#147e86}.thumbs img{width:100%;height:100%;object-fit:cover}.thumbs .video-tile{font-size:1.4rem}.thumbs button span{position:absolute;bottom:0;left:0;right:0;background:#0008;color:white;font-size:10px}footer{padding:10px 24px;color:#6d818a;font-size:.8rem}@media(max-width:760px){main{display:flex;flex-direction:column;height:auto}#map{height:52vh;min-height:330px}#panel{border-left:0;border-top:1px solid #dce5e9;min-height:320px;padding:18px}.viewer{height:260px}}
