:root{--primary-color: #3f51b5;--primary-font: "Arial", sans-serif;--sidebar-width: 350px}body{margin:0;padding:0;font-family:var(--primary-font),sans-serif;overflow:hidden}.layout{display:flex;height:100dvh;width:100vw;flex-direction:row}.sidebar{width:var(--sidebar-width);height:100%;overflow-y:auto;background:#fff;box-shadow:2px 0 5px #0000001a;z-index:1000;display:flex;flex-direction:column;padding:1rem;box-sizing:border-box;transition:transform .3s ease}.sidebar h2{margin:0 0 .5rem;font-size:1.5rem}.sidebar p{margin:0 0 1rem;color:#666;font-size:.9rem}.sidebar-list{display:flex;flex-direction:column;gap:.75rem}.sidebar-search{margin-bottom:1rem;position:relative}.sidebar-search input{width:100%;padding:.75rem;border-radius:8px;border:1px solid #ddd;box-sizing:border-box;font-size:.9rem}.sidebar-search input:focus{outline:none;border-color:var(--primary-color)}.sidebar-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;font-size:1.2rem;color:#999}.sidebar-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:8px;background:#f9f9f9;transition:background .2s;cursor:pointer}.sidebar-item:hover{background:#f0f0f0}.sidebar-item-score{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex-shrink:0;border:2px solid rgba(0,0,0,.1)}.sidebar-item-score.sponsored-gold{background:linear-gradient(135deg,gold,#daa520);border-color:#0003;box-shadow:0 2px 4px #0000001a}.sidebar-section.sponsored{background:#ffd7000d;border-radius:8px;padding:.35rem;margin-bottom:.75rem;border:1px solid rgba(255,215,0,.2)}.sidebar-section h3{font-size:.65rem;color:#b8860b;margin:0 0 .35rem .25rem;text-transform:uppercase;letter-spacing:1px}.section-divider{border:0;border-top:1px solid rgba(0,0,0,.05);margin:1rem 0 .5rem}.sidebar-item-info{display:flex;flex-direction:column;min-width:0}.sidebar-item-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.sidebar-item-stats{font-size:.8rem;color:#666;margin:2px 0}.sidebar-toggle{display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:2000;padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:25px;font-weight:700;box-shadow:0 4px 10px #0003;cursor:pointer}.main-menu-toggle{position:fixed;top:20px;right:20px;z-index:3000;width:50px;height:50px;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #0003;cursor:pointer;display:flex;align-items:center;justify-content:center}.burger-icon{width:24px;height:2px;background:#333;position:relative}.burger-icon:before,.burger-icon:after{content:"";position:absolute;width:24px;height:2px;background:#333;left:0}.burger-icon:before{top:-8px}.burger-icon:after{bottom:-8px}.main-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100dvh;background:#00000080;z-index:4000;display:flex;align-items:center;justify-content:center}.main-menu-content{background:#fff;padding:2rem;border-radius:12px;width:90%;max-width:400px;position:relative;box-shadow:0 10px 30px #0000004d}.main-menu-close{position:absolute;top:1rem;right:1.5rem;font-size:2rem;border:none;background:none;cursor:pointer;color:#666}.main-menu-content h2{margin-top:0;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.main-menu-content ul{list-style:none;padding:0;margin:2rem 0}.main-menu-content li{margin:1rem 0}.main-menu-content a{text-decoration:none;color:#333;font-size:1.2rem;font-weight:700}.main-menu-content a:hover{color:var(--primary-color)}.main-menu-footer{font-size:.8rem;color:#999;text-align:center;margin-top:2rem}.qr-container{display:flex;flex-direction:column;align-items:center;margin:2rem 0;gap:1rem}.qr-container img{border:1px solid #ddd;padding:10px;background:#fff;border-radius:8px}.share-url{font-size:.8rem;color:#666;word-break:break-all;text-align:center}.btn-primary{width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:1rem}.btn-primary:hover{filter:brightness(1.1)}.map-wrapper{flex:1;height:100%;position:relative}.popup-content{min-width:200px;font-family:var(--primary-font)}.popup-content h3{margin:0 0 .5rem;font-size:1.1rem;color:#333}.popup-score{font-size:.9rem;margin-bottom:.5rem}.popup-address{font-size:.85rem;color:#666;margin-bottom:.5rem}.popup-stats{display:flex;flex-direction:column;gap:4px;font-size:.85rem}.popup-links{display:flex;flex-direction:column;gap:8px;margin-top:.5rem}.popup-links a{color:var(--primary-color);text-decoration:none;font-weight:700;font-size:.9rem}.popup-links a:hover{text-decoration:underline}.popup-container{position:relative;margin:0;min-width:240px;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px}.popup-container.sponsored-border{border:4px solid #ffd700}.leaflet-popup-content{margin:0!important;width:auto!important}.leaflet-popup-content-wrapper{padding:0!important;overflow:hidden}.popup-main-content{padding:1.25rem 2.5rem}.popup-nav-btn{position:absolute;top:0;bottom:0;width:35px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#ccc;transition:all .2s;z-index:10}.popup-nav-btn:hover{background:#0000000d;color:var(--primary-color)}.popup-nav-btn.prev{left:0}.popup-nav-btn.next{right:0}.popup-counter{position:absolute;top:5px;left:50%;transform:translate(-50%);font-size:.7rem;color:#aaa;font-weight:700;pointer-events:none}.popup-content hr{border:0;border-top:1px solid #eee;margin:8px 0}@media(max-width:768px){.layout{flex-direction:column-reverse}.sidebar-toggle{display:block}.sidebar{width:100%;height:30%;box-shadow:0 -2px 10px #0003;position:fixed;bottom:0;left:0;padding:.75rem}.sidebar h2,.sidebar p:not(.share-url){display:none}.sidebar-search{margin-bottom:.5rem}.sidebar-item{padding:.5rem;gap:.75rem}.sidebar-item-score{width:32px;height:32px;font-size:.85rem}.sidebar-item-name{font-size:.85rem}.sidebar-item-stats{font-size:.75rem}.sidebar.closed{transform:translateY(100%)}.sidebar.open{transform:translateY(0)}.map-wrapper{height:100%}}
