body{margin:0;background:#F6F1FF}
*{box-sizing:border-box}
a{color:#5B3DF5;text-decoration:none}a:hover{color:#3F24D6}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes drop{0%{transform:translate(-50%,-140%);opacity:0}70%{transform:translate(-50%,-92%)}100%{transform:translate(-50%,-100%);opacity:1}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(18,184,134,.55)}70%{box-shadow:0 0 0 10px rgba(18,184,134,0)}100%{box-shadow:0 0 0 0 rgba(18,184,134,0)}}
@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.4);opacity:.6}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.in{animation:fadeUp .55s cubic-bezier(.2,.7,.2,1) both}
.pin{animation:drop .6s cubic-bezier(.2,.7,.2,1) both}
.live{animation:pulse 2s infinite}
.ripple{animation:ripple 1.8s ease-out infinite}
.fchip{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #E3DEF5;background:#FFFFFF;color:#1A1530;font:700 14.5px 'Plus Jakarta Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:all .2s}
.fchip:hover{border-color:#5B3DF5}
.fchip.on{background:#1E1446;border-color:#1E1446;color:#FFFFFF}
.res{background:#FFFFFF;border:1.5px solid #ECE8F3;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.res:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(30,20,70,.1)}
.res.on{border-color:#5B3DF5;box-shadow:0 0 0 4px rgba(91,61,245,.12)}
.res .bgi{transition:transform .5s,opacity .3s}
.res:hover .bgi{transform:rotate(-10deg) scale(1.1);opacity:.35}
.slot{min-height:42px;padding:0 12px;border-radius:12px;border:1.5px solid #E3DEF5;background:#FFFFFF;color:#1A1530;font:800 14px 'Plus Jakarta Sans',sans-serif;display:inline-flex;align-items:center;gap:6px;transition:all .18s}
.slot:hover{background:#5B3DF5;border-color:#5B3DF5;color:#FFFFFF}
.slot.deal{background:#FFF1EF;border-color:#FFC9C1}
.vt{flex:1;min-height:42px;border:0;border-radius:10px;font:800 14px 'Plus Jakarta Sans',sans-serif;cursor:pointer;background:transparent;color:#5E5873}
.vt.on{background:#FFFFFF;color:#1E1446;box-shadow:0 4px 12px rgba(30,20,70,.1)}
.mobview{display:none}
@media (max-width: 960px){
  .mobview{display:flex !important}
  .h1m{font-size:30px !important}
  .hide-m{display:none !important}
  .maphide{display:none !important}
  .listhide{display:none !important}
  .mapbox{position:relative !important;top:0 !important;height:520px !important}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}
@media (max-width: 960px){
  .maphide-m{display:none}
  .showmap .maphide-m{display:block !important;flex-basis:100% !important;position:relative !important;top:0 !important}
  .showmap #resList{display:none !important}
}
.res.hl{border-color:#5B3DF5;box-shadow:0 0 0 4px rgba(91,61,245,.12)}
[hidden]{display:none !important}
