.weekend-page{max-width:800px;margin:0 auto}.weekend-header{margin-bottom:1.5rem}.weekend-title{font-family:var(--font-body);color:var(--foam);margin:0 0 .3rem;font-size:1.4rem;font-weight:700}.weekend-count{color:var(--text-dim);margin:0;font-size:.85rem}.weekend-region-nav{flex-wrap:wrap;gap:.3rem;margin-bottom:1.5rem;display:flex}.weekend-region-chip{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:4px;align-items:center;gap:.2rem;padding:.2rem .5rem;font-size:.68rem;text-decoration:none;transition:all .2s;display:inline-flex}.weekend-region-chip:hover{border-color:var(--amber);color:var(--amber-light);text-decoration:none}.weekend-region-chip-count{color:var(--amber);font-size:.65rem;font-weight:600}.weekend-region-section{margin-bottom:2rem;scroll-margin-top:5rem}.weekend-region-title{font-family:var(--font-body);color:var(--amber-light);border-bottom:1px solid var(--border);align-items:baseline;gap:.5rem;margin:0 0 .8rem;padding:.6rem 0 .5rem;font-size:1.3rem;font-weight:700;display:flex}.weekend-region-count{color:var(--text-dim);font-size:.75rem;font-weight:400}.weekend-map-embed{border:1px solid var(--border);background:var(--surface);z-index:0;border-radius:8px;width:100%;height:200px;margin-bottom:.4rem;position:relative}.weekend-map-expand-btn{color:var(--amber-light);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.3rem 0;transition:color .2s;display:inline-flex}.weekend-map-expand-btn:hover{color:var(--amber-glow)}.weekend-pref-group{margin-bottom:1.2rem}.weekend-pref-title{color:var(--amber-light);margin:0 0 .5rem;padding-left:.2rem;font-size:.85rem;font-weight:600}.weekend-event-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.weekend-event-item{border:1px solid var(--border);background:var(--surface);border-radius:6px;transition:border-color .2s}.weekend-event-item:hover{border-color:var(--border-warm)}.weekend-event-link{color:var(--text);gap:.8rem;padding:.7rem;text-decoration:none;display:flex}.weekend-event-link:hover{text-decoration:none}.weekend-event-link:hover .weekend-event-title{color:var(--amber-light)}.weekend-event-img{object-fit:cover;background:var(--bg);border-radius:4px;flex-shrink:0;width:80px;height:60px}.weekend-event-img-empty{background:var(--border)}.weekend-event-info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.weekend-event-date{color:var(--amber);font-size:.7rem;font-weight:600}.weekend-event-title{color:var(--foam);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:600;line-height:1.35;transition:color .2s;display:-webkit-box;overflow:hidden}.weekend-event-source{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.weekend-event-top-row{justify-content:space-between;align-items:center;display:flex}.weekend-event-city{color:var(--foam);white-space:nowrap;background:#f5e6c81a;padding:.05rem .3rem;font-size:.6rem}.weekend-fullmap{z-index:9999;background:var(--bg-deep);flex-direction:column;transition:opacity .2s;display:flex;position:fixed;inset:0}.weekend-fullmap.hidden{display:none}.weekend-fullmap-header{background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;height:50px;padding:0 1rem;display:flex}.weekend-fullmap-close{color:var(--foam);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:.5rem;padding:.3rem 0;display:flex}#weekend-fullmap-container{flex:1;min-height:0}.weekend-fullmap-panel{z-index:1000;background:var(--bg,#1a1a2e);border-top:1px solid var(--border,#333);border-radius:16px 16px 0 0;padding:.8rem 1rem;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:translateY(0);box-shadow:0 -4px 20px #0006}.weekend-fullmap-panel.hidden{pointer-events:none;transform:translateY(100%)}.weekend-fullmap-panel-link{color:var(--text);gap:.8rem;text-decoration:none;display:flex}.weekend-fullmap-panel-link:hover{text-decoration:none}.weekend-fullmap-panel-img{object-fit:cover;border-radius:4px;flex-shrink:0;width:72px;height:54px}.weekend-fullmap-panel-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.weekend-fullmap-panel-date{color:var(--amber);font-size:.68rem;font-weight:600}.weekend-fullmap-panel-title{color:var(--foam);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.weekend-fullmap-panel-source{color:var(--text-dim);font-size:.68rem}@media (width<=768px){.weekend-title{font-size:1.15rem}.weekend-event-img{width:64px;height:48px}.weekend-event-title{font-size:.78rem}.weekend-map-embed{height:180px}}@media (width>=768px){.weekend-fullmap-panel{border:1px solid var(--border,#333);border-radius:12px;width:340px;bottom:1rem;left:1rem;right:auto}}.map-pin{background:0 0!important;border:none!important}.weekend-footer{border-top:1px solid var(--border);text-align:center;margin-top:2rem;padding-top:1.5rem}.weekend-archive-link{color:var(--amber-light);font-size:.85rem;font-weight:600}
