@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#2d2140;--teal:#f28a36;--ink:#31263a;--muted:#746579;--line:#e6d6b7;--paper:#fffaf0;--mist:#f7edda;--purple:#362342;--pumpkin:#ee7835;--gold:#f4c86a;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:12px;top:-80px;padding:10px 16px;background:white;z-index:1000}.skip-link:focus{top:12px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1240px)/2),5.3vw);border-bottom:1px solid #edf0f0;background:#fff}.brand{display:flex;align-items:center;gap:16px;color:var(--navy);font-family:var(--display);font-size:16px;font-weight:800;letter-spacing:-.4px}.brand img{width:122px;height:auto}.brand i{font-style:normal;color:#66727c;font-weight:500}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px;color:#55616b}.site-header nav a{transition:color .2s}.site-header nav a:hover,.footer-links a:hover{color:var(--teal)}.site-header .nav-action{padding:11px 17px;border:1px solid #cbd7d9;color:var(--navy);font-weight:600}.music-toggle{display:inline-flex;align-items:center;gap:9px;border:1px solid #d2dddd;background:#fff;color:var(--navy);padding:9px 11px;font:10px var(--mono);cursor:pointer;white-space:nowrap}.music-toggle:hover{border-color:var(--teal)}.music-bars{height:15px;display:flex;align-items:center;gap:2px}.music-bars i{display:block;width:2px;height:5px;background:var(--teal)}.music-toggle[aria-pressed=true] .music-bars i{animation:music-wave .65s ease-in-out infinite alternate}.music-bars i:nth-child(2){animation-delay:.12s}.music-bars i:nth-child(3){animation-delay:.25s}.music-bars i:nth-child(4){animation-delay:.37s}@keyframes music-wave{to{height:14px}}.hero{position:relative;min-height:630px;max-width:1440px;margin:auto;padding:95px max(calc((100vw - 1240px)/2),5.3vw) 95px;overflow:hidden;background:#f4f8f8}.hero-copy{position:relative;z-index:2;max-width:565px}.eyebrow{margin:0 0 18px;font:500 10px/1.4 var(--mono);letter-spacing:1.8px;color:#517078}.pulse,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin:0 9px 1px 0;box-shadow:0 0 0 4px #20b7a81b}.hero h1,.section-heading h2,.join-copy h2{font:600 clamp(43px,5.5vw,72px)/1.1 var(--display);letter-spacing:-3.8px;color:var(--navy);margin:0}.hero h1 em,.section-heading h2 em,.join-copy h2 em{color:var(--teal);font-weight:500;font-style:normal}.hero-lead{max-width:435px;margin:23px 0 26px;color:#596873;font-size:16px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;padding:0 19px;border:1px solid transparent;cursor:pointer;font-weight:600;font-size:13px;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--navy);color:white}.button.primary:hover{background:#0c477f}.button.outline{border-color:#bdcccf;background:white;color:var(--navy)}.text-link{font-size:13px;font-weight:600;color:var(--navy)}.hero-note{display:flex;align-items:center;gap:13px;margin-top:45px;font-size:12px;color:#65727c;line-height:1.55}.hero-note strong{color:var(--ink);font-size:13px}.note-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c7d6d5;color:var(--teal);font:500 19px var(--mono)}.hero-art{position:absolute;width:52%;height:100%;right:0;top:0;overflow:hidden;background:#e8f2f1}.moon{position:absolute;width:440px;height:440px;border-radius:50%;background:#d7ecea;top:40px;right:95px}.orbit{position:absolute;border:1px solid #badbd8;border-radius:50%;transform:rotate(-25deg)}.orbit-one{width:700px;height:240px;top:180px;right:-30px}.orbit-two{width:560px;height:180px;top:210px;right:35px}.art-card{position:absolute;top:127px;right:230px;width:245px;height:300px;background:#fff;box-shadow:0 24px 70px #0d3d5520;padding:24px;transform:rotate(-7deg);border:1px solid #eef2f2}.art-label,.art-caption,.card-index,.hero-bottom,.merchant-card-bottom{font:10px var(--mono);letter-spacing:1.1px;color:#75858c}.art-line{height:1px;background:#e3ebeb;margin-top:25px}.art-line.short{width:68%;margin-top:12px}.art-pin{display:grid;place-items:center;position:absolute;top:102px;left:91px;width:54px;height:54px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--teal);color:white;font-size:22px;box-shadow:0 10px 24px #20b7a844}.art-pin:first-letter{transform:rotate(45deg)}.art-tag{position:absolute;bottom:32px;left:32px;color:var(--navy);font:700 23px/1.2 var(--display);letter-spacing:-1px}.art-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 7px #20b7a81a}.dot-a{top:152px;right:160px}.dot-b{bottom:126px;right:118px;background:var(--navy);box-shadow:0 0 0 7px #052d5b18}.dot-c{top:380px;right:430px;width:7px;height:7px}.art-caption{position:absolute;bottom:64px;right:14%;color:#74918f}.hero-bottom{position:absolute;bottom:28px;left:max(calc((100vw - 1240px)/2),5.3vw);right:max(calc((100vw - 1240px)/2),5.3vw);display:flex;justify-content:space-between;font-size:9px}.hero-bottom b{color:var(--navy)}.spark{color:var(--teal);font-size:16px;margin-left:5px}.section{max-width:1240px;margin:auto;padding:110px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading .eyebrow,.join-copy .eyebrow{margin-bottom:14px}.section-heading h2,.join-copy h2{font-size:48px;letter-spacing:-2.4px}.section-intro{max-width:340px;color:#65737b;line-height:1.75;margin:0 0 5px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.map-frame{position:relative;min-height:485px;border:1px solid var(--line);background:#eaf0eb}.map-frame #map{position:absolute;inset:0;z-index:1}.map-chip{position:absolute;top:16px;left:16px;z-index:400;background:white;padding:9px 12px;font:10px var(--mono);letter-spacing:.8px;color:#395566;box-shadow:0 3px 14px #17304419}.map-chip .live-dot{width:6px;height:6px;margin-right:8px}.map-legend{position:absolute;bottom:16px;left:16px;z-index:400;background:white;padding:11px 13px;display:flex;gap:16px;box-shadow:0 3px 14px #17304419;font:10px var(--mono);color:#5c6970}.map-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--navy)}.legend-dot.event{background:var(--teal)}.legend-dot.crowd{background:#efa85b}.map-tools{display:flex;flex-direction:column;gap:12px}.tool-card{border:1px solid var(--line);padding:22px 20px;background:white}.tool-icon{display:grid;place-items:center;width:33px;height:33px;background:#e5f4f2;color:#079b90;font-size:21px}.tool-card h3{font:700 16px var(--display);color:var(--navy);margin:15px 0 6px}.tool-card p{font-size:12px;line-height:1.65;color:#6a7880;margin:0 0 13px}.tool-card .button{min-height:39px;width:100%}.tool-status{padding-top:10px;margin-bottom:0!important;font-size:10px!important}.traffic-card{padding-top:19px;padding-bottom:16px}.traffic-card h3{margin-top:12px}.traffic-icon{font-size:18px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;color:var(--navy);font-size:11px;font-weight:600}.switch-row input{position:absolute;opacity:0;width:1px;height:1px}.switch{position:relative;flex:none;width:37px;height:21px;border-radius:12px;background:#cbd2d4;transition:background .2s}.switch:after{content:'';position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:white;transition:transform .2s}.switch-row input:checked+.switch{background:var(--teal)}.switch-row input:checked+.switch:after{transform:translateX(16px)}.switch-row input:focus-visible+.switch{outline:3px solid #20b7a866}.privacy-note{font:9px var(--mono)!important;color:#829198!important;margin:11px 0 0!important}.crowd-count{display:flex;gap:12px;align-items:center;background:#f3f8f7;padding:14px 16px}.crowd-symbol{font-size:22px;color:var(--teal)}.crowd-count strong,.crowd-count small{display:block}.crowd-count strong{font:600 11px var(--display);color:var(--navy)}.crowd-count small{font-size:10px;color:#73818a}.promo-section{padding-top:80px}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.empty-state{grid-column:1/-1;text-align:center;padding:55px 15px;border:1px dashed #cbd7d7;background:#fafcfc}.empty-mark{color:var(--teal);font-size:24px}.empty-state h3{font:700 18px var(--display);color:var(--navy);margin:8px 0}.empty-state p{font-size:13px;color:#718087;margin:0}.promo-card{border:1px solid var(--line);padding:22px;background:white;display:flex;flex-direction:column;min-height:250px}.promo-card .promo-kicker{font:10px var(--mono);letter-spacing:1px;color:#71838a}.promo-card h3{font:700 20px/1.25 var(--display);color:var(--navy);margin:20px 0 6px}.promo-card .discount{color:var(--teal);font:700 14px var(--display)}.promo-card p{font-size:12px;color:#687780}.promo-card button{margin-top:auto}.event-band{padding:58px max(calc((100vw - 1240px)/2),5.3vw);display:grid;grid-template-columns:92px minmax(250px,1fr) minmax(300px,430px);gap:30px;align-items:center;background:var(--navy);color:white}.band-mark{width:78px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #52708c;color:white;font:500 34px/.95 var(--display)}.band-mark span{font:10px var(--mono);letter-spacing:1.5px;color:#71d9ce;margin-top:7px}.event-band .eyebrow{color:#74cfc6;margin-bottom:7px}.event-band h2{font:600 31px var(--display);margin:0;letter-spacing:-1px}.event-band>div:nth-child(2)>p:last-child{color:#c3d2df;font-size:12px;max-width:430px;margin:8px 0 0}.event-list{border-left:1px solid #526b82;padding-left:24px}.event-empty{color:#c3d2df;font-size:12px}.event-item{margin:8px 0 13px}.event-item time{font:10px var(--mono);color:#71d9ce}.event-item strong{display:block;font:600 13px var(--display);color:white}.event-item p{font-size:11px;color:#c3d2df;margin:3px 0}.join-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-top:115px;padding-bottom:110px}.join-copy h2{font-size:46px}.join-copy>p:not(.eyebrow){max-width:465px;color:#64727a;font-size:14px;line-height:1.8;margin:20px 0}.join-list{list-style:none;margin:24px 0 27px;padding:0}.join-list li{padding:10px 0;border-bottom:1px solid #e6ebec;font-size:12px;color:#344955}.join-list span{font:10px var(--mono);color:var(--teal);margin-right:14px}.merchant-card{min-height:340px;background:#eaf4f2;padding:24px 27px;position:relative;overflow:hidden}.merchant-card-top,.merchant-card-bottom{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.mini-brand{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.7px;color:var(--navy)}.mini-brand img{width:69px}.card-index{font-size:8px}.merchant-graphic{height:220px;position:relative}.graphic-ring{position:absolute;width:220px;height:220px;top:4px;left:50%;transform:translateX(-50%);border:1px solid #9bc9c4;border-radius:50%}.graphic-ring:before,.graphic-ring:after{content:'';position:absolute;inset:26px;border:1px solid #b1d8d3;border-radius:50%}.graphic-ring:after{inset:58px;background:var(--teal);border:none}.graphic-plus{position:absolute;top:91px;left:calc(50% - 14px);z-index:1;color:white;font:500 36px var(--display)}.graphic-word{position:absolute;top:74px;right:22px;color:var(--navy);font:700 19px/1.1 var(--display);letter-spacing:-1px}.graphic-dot{position:absolute;width:10px;height:10px;border:2px solid var(--teal);border-radius:50%;left:calc(50% - 145px);top:52px}.merchant-card>p{position:relative;z-index:1;margin:-2px 0 12px;color:#52706e;font-size:12px}.merchant-card-bottom{border-top:1px solid #cde1de;padding-top:12px;font-size:8px;color:#718b88}.notification-strip{display:flex;align-items:center;gap:19px;padding:25px max(calc((100vw - 1240px)/2),5.3vw);background:#e9f3f2}.notification-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b8d5d1;color:var(--teal);font-size:20px}.notification-strip>div:nth-child(2){flex:1}.notification-strip strong{font:700 14px var(--display);color:var(--navy)}.notification-strip p{margin:3px 0 0;font-size:11px;color:#64767a}.button.light{background:white;border-color:#ccdada;color:var(--navy)}.notification-status{font-size:10px;color:#47676c}.site-footer{max-width:1240px;margin:auto;padding:38px 0 30px;display:grid;grid-template-columns:1fr auto;gap:20px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:105px}.footer-brand span{font-size:11px;color:#63717a}.footer-links{display:flex;gap:23px;font-size:11px;color:#56656d}.site-footer>small{grid-column:1/-1;border-top:1px solid #e6ebeb;padding-top:15px;color:#879298;font:9px var(--mono);letter-spacing:.2px}.merchant-dialog,.game-dialog{width:min(620px,calc(100% - 28px));max-height:90dvh;padding:32px;border:0;box-shadow:0 25px 100px #081e3240;color:var(--ink)}dialog::backdrop{background:#071a2dc2;backdrop-filter:blur(4px)}.merchant-dialog form,.game-dialog form{position:relative}.dialog-close{position:absolute;right:-13px;top:-18px;border:0;background:none;color:#66777d;font-size:30px;cursor:pointer}.merchant-dialog h2,.game-dialog h2{margin:0 0 21px;color:var(--navy);font:700 28px var(--display);letter-spacing:-1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:11px;color:#50616a}.form-grid input,.game-input{width:100%;height:42px;border:1px solid #d7e0e0;padding:0 11px;margin-top:5px;outline-color:var(--teal);color:var(--ink);background:white}.span-two{grid-column:span 2}.form-help,.picked-coordinates{font-size:10px;color:#718087}.merchant-map{height:220px;margin:12px 0;border:1px solid #dbe4e4}.full{width:100%}.form-message{font-size:11px;color:#a24538;min-height:18px}.game-discount{font-weight:700;color:var(--teal)}.game-terms{font-size:10px;color:#748087}.game-options{display:grid;gap:8px;margin:14px 0}.game-options label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #e0e8e8;font-size:12px;cursor:pointer}.game-options input{accent-color:var(--teal)}.code-reveal{padding:18px;background:#e8f5f2;text-align:center;color:var(--navy);font:700 23px var(--mono);letter-spacing:2px}.leaflet-container{font-family:var(--sans)}.shop-marker,.event-marker,.traffic-marker{border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #0d32434a}.shop-marker{background:var(--navy)}.event-marker{background:var(--teal)}.traffic-marker{background:#efa85b;opacity:.75}.leaflet-popup-content-wrapper{border-radius:0}.leaflet-popup-content{font:12px/1.5 var(--sans)}.merchant-dialog[open],.game-dialog[open]{animation:dialog-in .18s ease-out}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1320px){.section,.site-footer{margin-left:5.3vw;margin-right:5.3vw}}@media(max-width:900px){.site-header{height:72px}.site-header nav{gap:15px}.site-header nav>a:not(.nav-action){display:none}.hero{min-height:620px}.hero-art{width:45%;opacity:.72}.art-card{right:80px}.section{padding-top:82px;padding-bottom:82px}.section-heading h2,.join-copy h2{font-size:42px}.map-layout{grid-template-columns:1fr 260px}.map-frame{min-height:450px}.event-band{grid-template-columns:70px 1fr;gap:22px}.event-list{grid-column:2;border-left:0;border-top:1px solid #526b82;padding:14px 0 0}.join-section{gap:35px}.notification-strip{flex-wrap:wrap}.notification-status{width:100%;padding-left:61px}}@media(max-width:650px){.site-header{padding:0 19px;height:66px}.brand{gap:9px;font-size:13px}.brand img{width:88px}.site-header .nav-action{font-size:10px;padding:8px 9px}.hero{padding:67px 22px 88px;min-height:740px}.hero-copy{max-width:100%}.hero h1{font-size:49px;letter-spacing:-2.8px}.hero-lead{font-size:14px;max-width:370px}.hero-actions{gap:16px}.button{font-size:11px;padding:0 13px;min-height:43px}.text-link{font-size:11px}.hero-note{margin-top:25px}.hero-art{top:auto;bottom:0;right:0;width:100%;height:270px;opacity:1}.moon{width:280px;height:280px;top:0;right:40px}.orbit-one{width:460px;height:150px;top:70px;right:-100px}.orbit-two{width:390px;height:125px;top:88px;right:-40px}.art-card{width:150px;height:186px;top:32px;right:calc(50% - 67px);padding:14px}.art-label{font-size:7px}.art-line{margin-top:16px}.art-line.short{margin-top:8px}.art-pin{width:37px;height:37px;top:67px;left:56px;font-size:16px}.art-tag{font-size:16px;bottom:19px;left:20px}.dot-a{top:60px;right:23%}.dot-b{bottom:32px;right:17%}.dot-c{top:172px;right:65%}.art-caption{bottom:22px;right:7%;font-size:8px}.hero-bottom{left:22px;right:22px;bottom:16px;font-size:7px}.section{margin:0;padding:72px 20px}.section-heading{display:block;margin-bottom:25px}.section-heading h2,.join-copy h2{font-size:39px;letter-spacing:-2px}.section-intro{font-size:12px;margin-top:13px}.map-layout{grid-template-columns:1fr;gap:12px}.map-frame{min-height:430px}.map-legend{left:9px;bottom:9px;gap:9px;padding:9px;font-size:8px}.map-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-card{padding:16px 13px}.tool-card h3{font-size:13px}.tool-card p{font-size:10px}.tool-status{font-size:9px!important}.traffic-card .tool-icon{width:29px;height:29px}.switch-row{font-size:9px}.privacy-note{font-size:8px!important}.crowd-count{grid-column:1/-1;padding:10px 12px}.promo-section{padding-top:30px}.promo-grid{grid-template-columns:1fr}.promo-card{min-height:220px}.event-band{padding:38px 22px;grid-template-columns:56px 1fr;gap:14px}.band-mark{width:52px;height:58px;font-size:27px}.band-mark span{font-size:8px}.event-band h2{font-size:25px}.event-band>div:nth-child(2)>p:last-child{font-size:10px}.event-list{grid-column:1/-1;padding-left:0}.join-section{display:block}.merchant-card{margin-top:42px;min-height:310px;padding:18px}.merchant-graphic{height:205px}.notification-strip{padding:21px 20px;gap:12px}.notification-icon{width:35px;height:35px}.notification-strip>div:nth-child(2){flex:1 1 calc(100% - 55px)}.notification-strip strong{font-size:12px}.notification-strip p{font-size:10px}.notification-strip .button{margin-left:47px}.notification-status{padding-left:0}.site-footer{margin:0;padding:30px 20px 20px;grid-template-columns:1fr}.footer-brand{gap:10px}.footer-brand img{width:85px}.footer-links{flex-wrap:wrap;gap:14px}.site-footer>small{grid-column:1}.merchant-dialog,.game-dialog{padding:25px 19px}.merchant-dialog h2,.game-dialog h2{font-size:24px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.merchant-map{height:200px}}
.account-dialog{width:min(760px,calc(100% - 28px));max-height:90dvh;padding:30px;border:0;box-shadow:0 25px 100px #081e3240}.account-dialog h2{margin:0 0 18px;color:var(--navy);font:700 28px var(--display)}.account-auth label,.dashboard-form label{display:block;margin:12px 0;font-size:11px;color:#50616a}.account-auth input,.dashboard-form input,.dashboard-form textarea,.dashboard-form select{width:100%;height:40px;padding:8px 10px;border:1px solid #d7e0e0;background:white;color:var(--ink);margin-top:4px}.dashboard-form textarea{height:70px;resize:vertical}.account-switch{display:block;margin:12px auto;border:0;background:none}.account-panel{max-height:68vh;overflow:auto}.account-panel h3{margin:20px 0 7px;padding-top:12px;border-top:1px solid var(--line);font:700 15px var(--display);color:var(--navy)}.panel-help,.status-row{font-size:11px;color:#65747a}.dashboard-form{padding:14px;border:1px solid var(--line);margin:10px 0 18px}.dashboard-form .form-message{margin-bottom:0}.review-card{border:1px solid var(--line);padding:13px;margin:9px 0}.review-card strong{color:var(--navy);font:700 13px var(--display)}.review-card p{font-size:11px;color:#63727a}.review-card .button{margin-right:8px;min-height:35px}.status-row{padding:8px;border-bottom:1px solid #edf0f0}

@media(max-width:900px){.site-header{gap:10px}.site-header nav{margin-left:auto}.music-toggle{padding:8px}.music-toggle #music-label{display:none}}
@media(max-width:650px){.site-header nav{display:none}.music-toggle{margin-left:auto}.music-toggle #music-label{display:inline}}.scroll-witch{position:fixed;left:0;top:0;width:96px;opacity:0;z-index:8;pointer-events:none;transform:translate3d(var(--witch-x,0px),var(--witch-y,0px),0) rotate(var(--witch-tilt,0deg));transition:opacity .25s;will-change:transform}.scroll-witch[hidden]{display:none}.witch-character img{display:block;width:100%;height:auto;transition:transform .3s ease}.scroll-witch.is-curious .witch-character img{transform:rotate(-7deg)}.witch-character{animation:witch-hover 7.3s ease-in-out infinite}@keyframes witch-hover{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}23%{transform:translate3d(-3px,-7px,0) rotate(1.5deg)}57%{transform:translate3d(2px,-3px,0) rotate(-.5deg)}81%{transform:translate3d(-1px,-9px,0) rotate(2deg)}}@media(max-width:760px){.scroll-witch{width:62px}}@media(prefers-reduced-motion:reduce){.scroll-witch{display:none}.scroll-witch.is-touch{display:block;transition:none}.scroll-witch.is-touch .witch-character{animation:none}.scroll-witch.is-touch .witch-character img{transition:none}}/* Ambientación de Halloween y protección de controles del mapa */
body{background:#fff9ed;color:#33273c}.site-header{background:#261a35;border-bottom:3px solid #f3bb55;color:#fff}.brand,.brand i{color:#fff}.site-header nav{color:#f6dfb8}.site-header .nav-action{border-color:#bd7841;color:#ffe0a1}.music-toggle{background:#3a2945;color:#ffe3a7;border-color:#815342}.hero{background:#21172f;min-height:590px}.hero-copy{color:#fff}.hero .eyebrow,.hero-note,.hero-note strong{color:#f8dcaa}.hero h1{color:#fff}.hero h1 em{color:#ffb54b}.hero-art{width:58%;height:100%;background:#302044}.town-illustration{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.town-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#21172f 0%,#21172f60 28%,transparent 65%),linear-gradient(0deg,#21172f9c,transparent 40%)}.hero-sign{position:absolute;top:18%;left:39%;transform:translateX(-50%) rotate(-2deg);display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 24px;background:#e9bd54;border:4px solid #fff0bb;box-shadow:0 5px 0 #8b4b38;color:#342242;text-align:center}.sign-small,.sign-date{font:10px var(--mono);letter-spacing:1.6px}.hero-sign strong{font:800 clamp(22px,3vw,42px)/1 var(--display);letter-spacing:1px}.sign-date{color:#a34d37}.hero-tagline{position:absolute;right:8%;bottom:16%;padding:10px 14px;background:#fff0ca;color:#392444;font:700 15px/1.3 var(--display);transform:rotate(3deg);box-shadow:3px 4px 0 #6f3f3e}.hero-bottom{color:#eed5ad}.hero-bottom b{color:#ffc15b}.section{position:relative}.section-heading h2,.join-copy h2{color:#362342}.section-heading h2 em,.join-copy h2 em{color:#e56f34}.eyebrow{color:#9a563b}.map-section{background:#fff9ed}.map-frame{border:4px solid #e7b95c;background:#e8e7d1}.map-tools{position:relative;z-index:450}.tool-card{position:relative;z-index:450;background:#fffdf7;border:2px solid #e8d2a8;box-shadow:3px 4px 0 #c8794930}.tool-icon{background:#fce2b7;color:#aa4c38}.tool-card h3{color:#432b48}.tool-card p{color:#706474}.button.primary{background:#733b52;color:#fff2d5;border-color:#3d263e;box-shadow:0 3px 0 #382540}.button.primary:hover{background:#8c4550}.button.outline{border-color:#c7864e;background:#fff7e6;color:#542f48}.map-chip,.map-legend{border:1px solid #ddb663;background:#fff5d8;color:#51354a}.live-dot,.pulse{background:#ed7134;box-shadow:0 0 0 4px #ed713425}.legend-dot{background:#78405a}.legend-dot.event{background:#ee7835}.legend-dot.crowd{background:#f3bd49}.traffic-card{background:#fff3df}.switch-row{color:#50324b}.switch-row input:checked+.switch{background:#ed7834}.privacy-note{color:#856d61!important}.crowd-count{border:1px solid #e6c47c;background:#f7e8bc}.crowd-symbol{color:#e97835}.crowd-count strong{color:#452c49}.empty-state{border:2px dashed #d69b53;background:#fff3db}.empty-mark{color:#e97835}.empty-state h3{color:#4c3048}.promo-card{border:2px solid #e8d3ad;background:#fffdf7;box-shadow:3px 4px 0 #8b4b3820}.promo-card .promo-kicker{color:#996746}.promo-card h3{color:#432c49}.promo-card .discount{color:#e66d31}.event-band{background:#392541;border-top:6px solid #f2bd53;border-bottom:6px solid #f2bd53}.band-mark{border-color:#eab75a;color:#ffdc8e}.band-mark span,.event-band .eyebrow,.event-item time{color:#ffb248}.join-section{background:#fff9ed}.join-list li{border-color:#ead9b8;color:#493a4e}.join-list span{color:#e97835}.merchant-card{background:#e7d7aa;border:3px solid #6c4050;box-shadow:7px 8px 0 #a8583830}.graphic-ring{border-color:#7f5261}.graphic-ring:before{border-color:#9d6870}.graphic-ring:after{background:#e67835}.graphic-word{color:#492d4a}.graphic-dot{border-color:#ea7335}.merchant-card-bottom{border-color:#b69361;color:#725a55}.notification-strip{background:#3b2946;color:#fff0ce;border-top:3px solid #edae4c}.notification-strip strong{color:#ffe2a0}.notification-strip p{color:#e7d2bd}.button.light{background:#fff0c9;border-color:#e5a246;color:#492d48}.site-footer{color:#533750}.footer-links{color:#71596c}.footer-brand img{background:#fff;padding:4px;border-radius:3px}.tool-card #locate-me,.switch-row,.map-tools button,.map-tools input{position:relative;z-index:451}.scroll-witch{z-index:20;width:74px;filter:drop-shadow(0 4px 5px #21172f75);pointer-events:none}.witch-character img{max-height:100px}.scroll-witch.is-curious .witch-character img{transform:rotate(-5deg) scale(1.04)}.merchant-dialog,.game-dialog,.account-dialog{background:#fff8e9;border:3px solid #e7b75c;color:#3e2b45}.merchant-dialog h2,.game-dialog h2,.account-dialog h2{color:#472a48}.code-reveal{background:#f9e5bd;color:#632f43;border:2px dashed #df8a37}.notification-icon{border-color:#b77843;color:#ffba51}.leaflet-popup-content-wrapper{background:#fff4d6;color:#452f47}
@media(max-width:900px){.site-header{background:#261a35}.hero-art{width:56%}.hero-sign{left:52%}}
@media(max-width:650px){.site-header{background:#261a35}.brand{color:#fff}.hero{background:#21172f}.hero-art{width:100%;height:310px}.town-overlay{background:linear-gradient(0deg,#21172f80,transparent 75%)}.hero-sign{top:12%;left:50%;padding:9px 16px}.hero-tagline{right:6%;bottom:13%;font-size:12px}.hero-copy{z-index:3}.hero-bottom{z-index:3}.map-layout{position:relative}.map-tools{z-index:450}.scroll-witch{width:52px}.switch-row{z-index:451}.tool-card{overflow:hidden}}/* Brujita 3D de referencia: mantiene un área pequeña y evita tapar el contenido. */
.scroll-witch{width:112px;z-index:20;filter:drop-shadow(0 5px 8px #20162866);pointer-events:none;transition:opacity .22s;will-change:transform}
.witch-character{position:relative;animation:witch-hover 7.3s ease-in-out infinite}
.witch-character img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transition:transform .26s ease}
.scroll-witch.is-curious .witch-character img{transform:rotate(-3deg) scale(1.025)}
.witch-curious-face{position:absolute;left:48%;top:30%;width:19%;height:9%;border-radius:50%;background:radial-gradient(ellipse at center,#fff9ef 0 26%,#5a2b39 31% 40%,transparent 44%);transform:rotate(-8deg);filter:drop-shadow(0 0 2px #8b4d47);opacity:.82}
.witch-curious-face[hidden]{display:none}
@media(max-width:760px){.scroll-witch{width:68px}}
@media(max-width:650px){.scroll-witch{width:58px}}
@media(prefers-reduced-motion:reduce){.scroll-witch{transition:none}.witch-character{animation:none}.witch-character img{transition:none}}
/* En móvil, la portada fluye en columna para separar el texto de la ilustración. */
@media(max-width:650px){
  .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:34px 20px 16px;overflow:hidden}
  .hero-copy{position:relative;order:1;width:100%;max-width:none;z-index:2}
  .hero .eyebrow{font-size:8px;letter-spacing:1px;line-height:1.45;margin:0 0 13px}
  .hero h1{font-size:clamp(35px,10.5vw,39px);line-height:1.02;letter-spacing:-2px}
  .hero-lead{max-width:none;margin:14px 0 16px;font-size:13px;line-height:1.5;color:#e5d3c2}
  .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-width:250px}
  .hero-actions .button{width:100%;min-height:42px;justify-content:space-between}
  .hero-actions .text-link{padding:4px 0;text-align:left}
  .hero-note{margin-top:14px;font-size:10px}
  .note-mark{width:36px;height:36px}
  .hero-art{position:relative;inset:auto;order:2;flex:none;width:calc(100% + 40px);height:clamp(205px,68vw,250px);margin:19px -20px 0;opacity:1;overflow:hidden}
  .town-illustration{object-fit:cover;object-position:center 43%}
  .town-overlay{background:linear-gradient(0deg,#21172f35,transparent 68%)}
  .hero-sign{top:6%;left:50%;padding:7px 13px}
  .hero-sign strong{font-size:24px}
  .sign-small,.sign-date{font-size:8px}
  .hero-tagline{right:5%;bottom:8%;padding:7px 9px;font-size:10px}
  .hero-bottom{position:relative;inset:auto;order:3;width:100%;margin-top:13px;padding-top:11px;border-top:1px solid #ffe0a44a;display:flex;justify-content:space-between;gap:6px;font-size:7px;z-index:2}
}
/* La información en vivo ocupa el protagonismo desde el primer desplazamiento. */
.activity-stats{display:flex;gap:8px;margin:20px 0 12px;position:relative;z-index:3}.activity-stats a{display:flex;align-items:baseline;gap:6px;padding:6px 10px;background:#3b2948;border:1px solid #9b6b69;color:#ffe2a9;font:11px var(--sans)}.activity-stats strong{font:700 19px var(--display);color:#ffc05b}.activity-stats span{white-space:nowrap}.activity-stats a:hover{background:#513355}
#pick-location{margin:8px 0 0}#map.picking-location{cursor:crosshair}
.map-tools .tool-card{padding:20px;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0}.map-tools .tool-card h3{margin:12px 0 4px}.map-tools .tool-card p{margin:0 0 12px}.map-tools .tool-card .button{display:flex;box-sizing:border-box;width:100%;min-width:0;min-height:42px;margin:0 0 8px;padding-inline:12px;align-self:stretch}.map-tools .tool-card .tool-status{margin:2px 0 0;font-size:11px;line-height:1.5}@media(max-width:760px){.map-tools .tool-card{margin:12px 16px 0;padding:20px}.map-tools .tool-card .button{margin:0 0 9px}}
.music-controls{display:flex;align-items:center;justify-content:center;gap:5px;background:transparent}.music-skip{display:grid;place-items:center;align-self:center;width:32px;height:35px;min-width:32px;padding:0;border:1px solid #815342;background:transparent;color:#ffe3a7;font:10px var(--mono);line-height:1;cursor:pointer}.music-skip:hover{border-color:var(--teal);background:#ffffff0d}.music-controls .music-toggle{align-self:center}
.music-skip .ui-icon{width:17px;height:17px}
.demo-toggle{position:absolute;top:12px;right:12px;z-index:450;padding:8px 11px;border:2px solid #e7b95c;background:#fff7df;color:#4c2c48;font:700 11px var(--sans);cursor:pointer;box-shadow:2px 3px 0 #553e4050}.demo-toggle[aria-pressed=true]{background:#733b52;color:#fff4d8}.demo-toggle:hover{filter:brightness(1.07)}@media(max-width:650px){.demo-toggle{top:50px;right:8px;padding:6px 8px;font-size:10px}}
.demo-card{border-style:dashed}.demo-card .promo-kicker{color:#9b4c3d}.join-section{display:block;max-width:1240px;padding:65px max(24px,5vw)}.join-copy{max-width:760px}.join-copy>p:not(.eyebrow){max-width:660px}.join-section .merchant-card{display:none}.merchant-login{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:10px 0 0 10px;padding:0 18px;border:2px solid #c7864e;background:#fff7e6;color:#542f48;font:700 13px var(--sans);cursor:pointer;vertical-align:middle}.merchant-login:hover{background:#f8e6c0}.join-list{max-width:650px}@media(max-width:650px){.join-section{padding:44px 20px}.merchant-login{display:flex;width:100%;margin:10px 0 0}.join-copy>.button.primary{width:100%}}
.leaflet-tooltip.demo-tooltip,.demo-popup .leaflet-popup-content-wrapper{padding:0;border:2px solid #5a354c;border-radius:3px;background:#fff8e8;box-shadow:5px 6px 0 #30213d55}.leaflet-tooltip.demo-tooltip{white-space:normal}.leaflet-tooltip.demo-tooltip:before{border-top-color:#5a354c}.demo-tooltip .demo-poster,.demo-popup .demo-poster{width:225px;display:flex;min-height:112px;color:#3e2944;font-family:var(--sans)}.demo-popup .leaflet-popup-content{margin:0}.demo-poster-art{display:grid;place-items:center;width:78px;flex:none;font-size:42px;background:#f0bd54;text-shadow:2px 3px 0 #7c453c30}.demo-poster.coffee .demo-poster-art{background:#dcb47d}.demo-poster.candy .demo-poster-art{background:#db9fc2}.demo-poster.crowd .demo-poster-art{background:#a9b98d}.demo-poster-copy{display:flex;flex-direction:column;gap:3px;padding:10px 9px}.demo-poster-copy small{font:8px var(--mono);letter-spacing:.4px;color:#9a563b}.demo-poster-copy strong{font:700 13px/1.2 var(--display)}.demo-poster-copy span{font:10px/1.3 var(--sans);white-space:normal}.demo-poster-copy b{align-self:flex-start;margin-top:auto;color:#c7562f;font:800 14px var(--display)}.demo-card-art{display:grid;place-items:center;height:92px;margin:-22px -22px 17px;background:#f0bd54;font-size:56px}.demo-card-art.coffee{background:#dcb47d}.demo-card-art.candy{background:#db9fc2}.demo-card-art.pumpkin{background:#f0bd54}
.hero{min-height:390px;padding-top:48px;padding-bottom:48px}
@media(min-width:761px){.hero{width:100%;max-width:1440px;padding-left:clamp(28px,6vw,100px);padding-right:clamp(28px,6vw,100px)}.hero-copy{width:min(46%,565px);max-width:565px}.hero-art{width:58%}.hero h1{max-width:600px;overflow-wrap:normal}.hero-lead{max-width:435px}}
@media(max-width:760px){.hero-copy{width:100%;max-width:none}.hero-art{width:100%}.hero{width:100%;max-width:none;padding-left:20px;padding-right:20px}}
.hero h1{font-size:clamp(36px,4.3vw,56px)}
.hero-lead{margin:16px 0 20px}
.hero-art{height:100%}
@media(max-width:650px){
  .activity-stats{gap:5px;margin:11px 0 7px}.activity-stats a{flex:1;display:block;padding:5px 6px;font-size:9px;line-height:1.2}.activity-stats strong{display:block;font-size:17px}
  .hero{min-height:0;padding:18px 20px 12px}
  .hero .eyebrow{margin-bottom:8px}
  .hero h1{font-size:clamp(29px,8.7vw,34px);letter-spacing:-1.5px}
  .hero-lead{margin:9px 0 12px;font-size:12px}
  .hero-actions{flex-direction:row;align-items:center;gap:12px;max-width:none}
  .hero-actions .button{width:auto;min-height:38px;padding:0 10px;font-size:11px}
  .hero-actions .text-link{font-size:11px}
  .hero-note{margin-top:11px}
  .hero-art{height:120px;margin-top:12px}
  .hero-sign{top:8%;padding:4px 9px;border-width:2px}
  .hero-sign strong{font-size:18px}
  .sign-small,.sign-date{font-size:6px}
  .hero-tagline{display:none}
  .hero-bottom{margin-top:8px;padding-top:7px}
}
.hero-actions .text-link{color:#ffe5ad;text-decoration:underline;text-decoration-color:#f1b85d;text-underline-offset:4px}.hero-actions .text-link:hover,.hero-actions .text-link:focus-visible{color:#fff8e7;text-decoration-color:#fff8e7}.hero-actions .text-link:focus-visible{outline:2px solid #fff8e7;outline-offset:5px}
.map-directory{background:#fffaf0;border:2px solid #e4bc74;box-shadow:3px 4px 0 #c8794930;overflow:hidden}.map-directory-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px;padding:13px 13px 9px}.map-directory-head strong{font:700 15px var(--display);color:#432b48}.map-directory-head small{font:9px var(--mono);color:#8b674f}.map-directory-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:0 7px 8px}.map-directory-filters button{padding:6px 2px;border:1px solid #dfc7a2;background:#fff7e6;color:#563b51;font:700 9px var(--sans);cursor:pointer}.map-directory-filters button.is-active{background:#733b52;color:#fff5dc;border-color:#733b52}.map-directory-list{max-height:350px;overflow-y:auto;border-top:1px solid #ead9b8}.directory-item{display:flex;align-items:center;gap:9px;width:100%;min-height:64px;padding:10px 11px;border:0;border-bottom:1px solid #ead9b8;background:#fffdf7;text-align:left;cursor:pointer;color:#432b48}.directory-item:hover,.directory-item:focus-visible{background:#fff0d1}.directory-item>span:nth-child(2){min-width:0;flex:1}.directory-item small,.directory-item strong,.directory-item em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-item small{font:8px var(--mono);color:#a15437;letter-spacing:.4px}.directory-item strong{font:700 12px var(--display)}.directory-item em{font:10px var(--sans);color:#716276;font-style:normal}.directory-icon{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#74435c;color:#fff}.directory-icon.event{background:#e97835}.directory-icon.traffic{background:#edba4e;color:#422d47}.directory-arrow{color:#a75c3e}.directory-empty{margin:0;padding:16px;font-size:11px;color:#786879}@media(max-width:650px){.map-directory-list{max-height:265px}.map-directory-filters button{font-size:10px;padding:8px 3px}}
/* Vista cartográfica de ancho completo, con panel de resultados lateral. */
.map-section{max-width:none;width:100%;margin:0;padding:0;background:#fff9ed}
.map-section .section-heading{max-width:1240px;margin:0 auto;padding:24px 24px 18px;align-items:center}
.map-section .section-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.1}
.map-section .section-heading .eyebrow{margin-bottom:5px}
.map-section .section-intro{max-width:400px;font-size:13px}
.map-layout{display:grid;grid-template-columns:clamp(310px,27vw,390px) minmax(0,1fr);gap:0;width:100%;max-width:none;margin:0;align-items:stretch}
.map-tools{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:0;max-height:calc(100vh - 84px);min-height:590px;overflow-y:auto;overflow-x:hidden;background:#fffaf0;border-right:3px solid #e7b95c;z-index:2}
.map-frame{grid-column:2;grid-row:1;width:100%;height:calc(100vh - 84px);min-height:590px;border:0;box-shadow:none}
.map-directory{flex:none;border:0;border-bottom:2px solid #e4bc74;box-shadow:none}
.map-directory-list{max-height:none;overflow:visible}
.map-tools .tool-card{margin:10px 12px 0;box-shadow:none}
.map-tools .crowd-count{margin:10px 12px 15px}
@media(max-width:760px){
  .map-section .section-heading{display:block;padding:22px 20px 16px;margin:0}
  .map-section .section-heading h2{font-size:30px}
  .map-section .section-intro{margin:8px 0 0}
  .map-layout{display:flex;flex-direction:column;width:100%;gap:0}
  .map-frame{order:1;width:100%;height:65svh;min-height:430px;max-height:650px;border:0}
  .map-tools{order:2;display:flex;width:100%;max-height:none;min-height:0;overflow:visible;border-right:0;border-top:3px solid #e7b95c}
  .map-directory-list{max-height:320px;overflow-y:auto}
  .map-tools .tool-card{margin:10px 12px 0}
}
.map-news{background:#fff3d8;border-bottom:2px solid #e5bb74;padding:12px 14px}.map-news-head{display:flex;align-items:center;justify-content:space-between;color:#432b48}.map-news-head strong{font:700 14px var(--display)}.map-news-head .live-dot{margin:0}.news-empty{margin:7px 0 0;font-size:11px;color:#826b60}.news-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #e9d5ae}.news-item:first-child{margin-top:8px}.news-item span:nth-child(2){min-width:0}.news-item strong{display:block;font:700 11px/1.3 var(--sans);color:#4b3048}.news-item small{display:block;margin-top:2px;font:8px var(--mono);color:#9a654a;letter-spacing:.3px}.news-symbol{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#74435c;color:#fff;font-size:12px}.news-symbol.event{background:#e97835}.news-symbol.traffic{background:#edba4e;color:#422d47}
.map-reset-area{padding:8px 11px;border:2px solid #e7b95c;background:#fff8e8;color:#4b3048;font:700 11px var(--sans);cursor:pointer;box-shadow:2px 3px 0 #30213d40}.map-reset-area:hover,.map-reset-area:focus-visible{background:#f6dfae}.leaflet-container:focus-visible{outline:3px solid #e97835;outline-offset:-3px}
/* Iconografía vectorial compartida con la identidad visual de JPNatMed. */
.ui-icon{display:inline-block;flex:none;width:18px;height:18px;vertical-align:-.22em;color:currentColor;fill:none}
.hero-actions .ui-icon,.footer-links .ui-icon,.button .ui-icon{width:15px;height:15px}
.tool-icon .ui-icon{width:23px;height:23px}
.crowd-symbol .ui-icon{width:25px;height:25px}
.spark .ui-icon{width:15px;height:15px;vertical-align:middle}
.empty-mark .ui-icon{width:30px;height:30px}
.empty-mark:has(use[href$="#pumpkin"]){display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#f5c366;color:#713e4c}.empty-mark:has(use[href$="#pumpkin"]) .ui-icon{width:42px;height:42px;stroke-width:1.5}
.notification-icon .ui-icon{width:23px;height:23px}
.dialog-close .ui-icon{width:19px;height:19px;vertical-align:middle}
.directory-icon .ui-icon{width:16px;height:16px}
.directory-arrow .ui-icon{width:15px;height:15px}
.news-symbol .ui-icon{width:15px;height:15px}
.demo-poster-art .ui-icon{width:43px;height:43px}
.demo-poster.pumpkin .demo-poster-art,.demo-card-art.pumpkin{color:#7b3c36}.demo-poster.pumpkin .demo-poster-art .ui-icon{width:55px;height:55px}.demo-card-art.pumpkin .ui-icon{width:68px;height:68px;color:#7b3c36}
.sector-marker{display:grid;place-items:center;width:30px;height:30px;border:2px solid #fff5dc;border-radius:50%;background:#7b3656;color:#fff8e7;box-shadow:0 2px 7px #2d214080;cursor:pointer}.sector-marker span{font:800 12px/1 var(--display)}.sector-marker:hover{background:#e97835;transform:scale(1.12)}
.map-cluster{display:grid;place-items:center;width:40px!important;height:40px!important;border:3px solid #fff5dc;border-radius:50%;background:#733b52;color:#fff8e7;box-shadow:0 2px 8px #30213d70;font:800 14px var(--display)}.map-cluster span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e97835}
.demo-card-art .ui-icon{width:58px;height:58px}
.site-header .mobile-nav{display:none}
@media(max-width:650px){
  .site-header{height:auto;min-height:66px;display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:9px 16px 8px}
  .site-header .brand{min-width:0;gap:8px;font-size:12px}
  .site-header .brand img{width:88px;max-width:28vw}
  .site-header .music-toggle{margin-left:auto;padding:7px 8px;font-size:9px}
  .site-header .mobile-nav{display:flex;order:3;width:100%;justify-content:space-around;gap:4px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid #d0a66870;color:#ffe2aa}
  .site-header .mobile-nav a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:35px;flex:1;font:700 11px var(--sans)}
  .site-header .mobile-nav a:hover,.site-header .mobile-nav a:focus-visible{background:#43304c;color:#fff6df}
  .site-header .mobile-nav .ui-icon{width:16px;height:16px}
  .hero{padding-top:18px}
  .hero-actions{flex-wrap:wrap}
  .activity-stats{flex-wrap:wrap}
  .map-chip{max-width:53%;white-space:normal;line-height:1.35}
  .map-legend{max-width:calc(100% - 18px);flex-wrap:wrap}
  .demo-tooltip .demo-poster{max-width:205px}
}
@media(max-width:400px){.site-header .brand span{display:none}.site-header .music-toggle #music-label{display:none}.site-header .music-toggle{min-width:42px;justify-content:center}}
.site-header .brand img{background:#fffaf0;padding:4px;border-radius:4px}.site-header .mobile-nav{display:none}@media(max-width:650px){.site-header nav.mobile-nav{display:flex}.site-header nav.mobile-nav>a{display:inline-flex}.site-header .brand img{padding:3px}}

.site-header .brand img{background:transparent;padding:0;border-radius:0}.footer-brand img{background:transparent!important;padding:0!important;border-radius:0!important}
@media(max-width:760px){.hero{display:flex;flex-direction:column;width:100%;max-width:none;padding:20px 0 0;overflow:hidden}.hero-copy{width:100%;padding:0 20px}.hero-art{position:relative;inset:auto;order:2;width:100%;height:clamp(210px,48vw,310px);min-height:210px;margin:20px 0 0;overflow:hidden}.hero-art .town-illustration{width:100%;height:100%;object-fit:cover;object-position:center}.hero-bottom{order:3;width:100%;margin:0;padding:10px 20px 12px}}
@media(prefers-reduced-motion:no-preference){.hero-art .town-illustration{animation:town-drift 14s ease-in-out infinite alternate}.hero-sign{animation:sign-float 5s ease-in-out infinite alternate}@keyframes town-drift{from{transform:scale(1.03) translateX(-.5%)}to{transform:scale(1.08) translateX(.5%)}}@keyframes sign-float{from{translate:0 0}to{translate:0 -5px}}}
.site-header{position:sticky;top:0;z-index:1000}html{scroll-padding-top:90px}#inicio,#mapa,#promociones,#agenda,#comercios{scroll-margin-top:90px}@media(max-width:650px){html{scroll-padding-top:150px}#inicio,#mapa,#promociones,#agenda,#comercios{scroll-margin-top:150px}}
.account-dialog{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);overflow-x:hidden}.account-dialog form{position:relative;min-width:0}.account-dialog .dialog-close{top:-12px;right:-12px;display:grid;place-items:center;width:36px;height:36px;padding:0;color:#563b51;z-index:2}.account-dialog .account-auth,.account-dialog .account-panel{min-width:0;max-width:100%}@media(max-width:650px){.account-dialog{padding:28px 20px}.account-dialog .dialog-close{top:-10px;right:-10px}}
.merchant-map{display:block;position:relative;width:100%;height:240px;min-height:240px;background:#e9e6cf;border:1px solid #c7864e;isolation:isolate}.merchant-map .leaflet-pane,.merchant-map .leaflet-control-container{z-index:1}
.account-recovery{margin-top:12px}.account-recovery label{display:block;margin:12px 0;font-size:11px;color:#50616a}.account-recovery input{display:block;width:100%;height:40px;padding:8px 10px;border:1px solid #d7e0e0;background:#fff;margin-top:4px}.account-recovery .form-message{min-height:22px}
.account-recovery [hidden]{display:none!important}

/* Minijuegos de promociones: opciones táctiles y feedback con identidad Halloween. */
.game-instructions{margin:8px 0 14px;color:#766779;font-size:14px}.game-progress{position:relative;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:15px;color:#8b6048;font:10px var(--mono);letter-spacing:1px}.game-progress span:last-of-type{color:#60394f;font-size:12px}.game-progress i{font-style:normal;color:#9d8b91}.game-progress b{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#ead9bc}.game-progress b:before{content:"";display:block;width:100%;height:100%;background:#eb7935}.game-math{display:flex;align-items:center;justify-content:center;gap:13px;margin:7px 0 17px;color:#482c4a;font:700 28px var(--display)}.game-math b{color:#e67835}.game-math strong{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#f5dfb8;color:#763b52}.game-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.game-choice{position:relative;display:flex;min-height:86px;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:12px;border:1px solid #dec59d;background:#fffdf7;color:#492c4a;text-align:left;font:600 15px var(--display);cursor:pointer;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.game-choice:hover{transform:translateY(-3px);border-color:#e87936;box-shadow:0 5px 0 #e8d8bb}.game-choice.is-selected{border:2px solid #e87936;background:#fff0d2;box-shadow:0 4px 0 #743b53}.choice-index{color:#a57959;font:9px var(--mono);letter-spacing:1px}.choice-mark{position:absolute;right:10px;top:8px;color:#cf8753;font-size:13px;opacity:.55}.game-choice.is-selected .choice-mark{color:#743b53;opacity:1}.game-win{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;text-align:center}.game-win>span{color:#e87936;font-size:28px}.game-win strong{color:#492c4a;font:700 21px var(--display)}.game-win small{color:#756779}.game-win code{margin-top:7px;padding:7px 14px;background:#fff8e8;border:1px dashed #c9844d;color:#60394f;font:700 19px var(--mono);letter-spacing:2px}.game-shake{animation:game-shake .28s ease-in-out}@keyframes game-shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media(max-width:520px){.game-options{gap:7px}.game-choice{min-height:76px;padding:9px 7px;font-size:13px}.game-math{font-size:24px}.game-instructions{font-size:13px}}@media(prefers-reduced-motion:reduce){.game-choice{transition:none}.game-shake{animation:none}}

/* Panel de comercios organizado por tareas. */
.merchant-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.merchant-dashboard-heading h3{margin:0;color:#472a48;font:700 20px var(--display)}.merchant-dashboard-heading p{margin:4px 0 0;color:#766779;font-size:12px}.merchant-signout{flex:none;min-height:38px}.merchant-tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;margin:0 0 18px;border:1px solid #e3cfaa;background:#fff8e9}.merchant-tab{display:flex;min-height:48px;align-items:center;justify-content:center;gap:7px;padding:7px 10px;border:1px solid transparent;background:transparent;color:#695568;font:600 12px var(--sans);cursor:pointer;transition:background .18s,color .18s,border-color .18s}.merchant-tab .ui-icon{width:18px;height:18px;flex:none}.merchant-tab:hover{background:#f7ecd7;color:#4c3048}.merchant-tab[aria-selected=true]{border-color:#d89b55;background:#733b52;color:#fff3d7}.merchant-tab:focus-visible,.merchant-tab-panel:focus-visible{outline:2px solid #eb7935;outline-offset:2px}.merchant-tab-panel[hidden]{display:none!important}.merchant-tab-panel h3{margin:14px 0 4px;padding-top:12px;border-top:1px solid #ead9b8;color:#472a48;font:700 16px var(--display)}.merchant-tab-panel>.panel-help{margin:4px 0 12px}.merchant-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}.merchant-stat{display:flex;min-height:72px;flex-direction:column;justify-content:center;gap:2px;padding:11px;border:1px solid #e8d3ad;background:#fffdf7}.merchant-stat strong{color:#733b52;font:700 23px var(--display)}.merchant-stat span{color:#786a78;font-size:10px;line-height:1.3}.merchant-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:10px 2px;border-bottom:1px solid #eadfc9}.merchant-status-row>strong{overflow:hidden;color:#452e48;font-size:12px;text-overflow:ellipsis}.merchant-status-row>small{grid-row:2;color:#8b7169;font:9px var(--mono);letter-spacing:.6px;text-transform:uppercase}.status-pill{justify-self:end;padding:4px 8px;border:1px solid #e6c995;background:#fff1d1;color:#704c4e;font-size:10px}.status-pill.status-approved{border-color:#c4d5b3;background:#edf3dc;color:#4b633e}.status-pill.status-paused{border-color:#e6c995;background:#fff1d1;color:#704c4e}.status-pill.status-rejected{border-color:#e6b4a3;background:#fff0e8;color:#a24838}.merchant-publication-controls{grid-column:1/-1;justify-self:start}.merchant-publication-controls .button{min-height:32px;padding:0 10px;font-size:11px}.redeem-code{grid-column:1/-1;justify-self:start;min-height:34px;margin-top:3px;font-size:11px}.merchant-tab-panel .dashboard-form{margin:12px 0 0;padding:16px;border-color:#e6d2ad;background:#fffdf7}.merchant-tab-panel .dashboard-form label{margin:11px 0;font-size:11px}.merchant-tab-panel .dashboard-form .form-help{font-size:10px}.merchant-tab-panel .form-message.is-success{color:#54733f}.opening-hours{min-width:0;margin:18px 0;padding:12px;border:1px solid #e6d2ad}.opening-hours legend{padding:0 6px;color:#533750;font:700 13px var(--display)}.opening-hours-list{display:grid;gap:7px}.opening-hours-row{display:grid;grid-template-columns:minmax(82px,1fr) auto minmax(96px,.8fr) minmax(96px,.8fr);align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid #efe3ce}.opening-hours-row:last-child{border-bottom:0}.opening-hours-row>strong{color:#543b51;font-size:11px}.hours-open-label{display:flex;align-items:center;gap:5px;color:#725a6d;font-size:10px!important;white-space:nowrap}.hours-open-label input{width:16px;height:16px;margin:0;accent-color:#733b52}.opening-hours-row input[type=time]{width:100%;min-width:0;height:35px;padding:4px 6px;border:1px solid #ddcba8;background:#fff;color:#492f49;font:11px var(--sans)}.opening-hours-row input:disabled{background:#f3eee5;color:#a99e9e;opacity:.8}.merchant-tab-panel .button.full{margin-top:10px}@media(max-width:520px){.merchant-dashboard-heading{align-items:flex-start}.merchant-dashboard-heading h3{font-size:17px}.merchant-dashboard-heading p{max-width:220px;font-size:11px}.merchant-signout{padding:0 10px;font-size:11px}.merchant-tabs{gap:2px;padding:4px;margin-bottom:13px}.merchant-tab{min-height:46px;flex-direction:column;gap:2px;padding:5px 2px;font-size:10px}.merchant-tab .ui-icon{width:17px;height:17px}.merchant-stats{gap:6px}.merchant-stat{min-height:65px;padding:8px}.merchant-stat strong{font-size:20px}.merchant-stat span{font-size:9px}.opening-hours{padding:8px 5px}.opening-hours-row{grid-template-columns:minmax(65px,1fr) auto minmax(70px,.8fr) minmax(70px,.8fr);gap:5px;padding:6px 4px}.opening-hours-row>strong{font-size:10px}.hours-open-label{gap:3px;font-size:9px!important}.opening-hours-row input[type=time]{height:33px;padding:3px;font-size:10px}.merchant-tab-panel .dashboard-form{padding:12px}}

/* MicroModal para cargar publicaciones desde cada pestaña del panel. */
.merchant-list-toolbar{display:flex;justify-content:flex-end;margin:12px 0}.merchant-list-toolbar .ui-icon,.merchant-publication-controls .ui-icon,.redeem-code .ui-icon{width:16px;height:16px}.merchant-list-empty{margin:0;padding:18px;border:1px dashed #d7ba8c;background:#fffaf0;color:#786a78;font-size:12px;text-align:center}.merchant-managed-card{margin:10px 0;padding:14px;border:1px solid #e5d1ab;background:#fffdf7}.merchant-managed-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.merchant-managed-top h4{margin:0;color:#472a48;font:700 15px var(--display)}.merchant-managed-meta{margin:6px 0;color:#9a563b;font-size:11px;font-weight:600}.merchant-managed-description{margin:6px 0 0;color:#6d6071;font-size:12px;line-height:1.5}.merchant-row-feedback,.merchant-panel-feedback:empty{display:none}.merchant-row-feedback:not(:empty),.merchant-panel-feedback:not(:empty){display:block;margin:8px 0 0;color:#a44836;font-size:11px}.merchant-panel-feedback.is-success{color:#4e713e}.micromodal-slide{display:none;position:fixed;inset:0;z-index:30}.micromodal-slide.is-open{display:block}.modal__overlay{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:#17101dcc;overflow-y:auto}.modal__container{position:relative;width:min(600px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border:3px solid #e7b75c;background:#fff8e9;color:#3e2b45;box-shadow:0 22px 80px #07051280}.merchant-entry-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.merchant-entry-header .eyebrow{margin:0 0 8px}.merchant-entry-header h2{margin:0;color:#472a48;font:700 24px var(--display)}.merchant-entry-header #merchant-entry-description{margin:7px 0 0}.merchant-entry-header .dialog-close{position:static;display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid #dfc89f;background:transparent;color:#563b51}.merchant-entry-modal .dashboard-form{margin:10px 0 0}.merchant-entry-modal .dashboard-form .form-message:empty{display:none}@media(max-width:520px){.merchant-managed-card{padding:12px}.merchant-managed-top h4{font-size:13px}.merchant-managed-description{font-size:11px}.modal__overlay{padding:8px}.modal__container{max-height:calc(100dvh - 16px);padding:18px 14px}.merchant-entry-header h2{font-size:21px}}
.site-header .nav-action.is-authenticated{display:inline-flex;align-items:center;gap:7px;border-color:#da9b51;background:#733b52;color:#fff1d2}.site-header .nav-action.is-authenticated .ui-icon{width:17px;height:17px}.site-header .nav-action.is-authenticated::after{content:"";width:7px;height:7px;flex:none;border-radius:50%;background:#9ed28a;box-shadow:0 0 0 3px #9ed28a2e}
.site-header .mobile-nav a.is-authenticated{border:1px solid #da9b51;background:#733b52;color:#fff1d2}.site-header .mobile-nav a.is-authenticated .ui-icon{width:16px;height:16px}
.merchant-publication-controls{display:flex;flex-wrap:wrap;gap:8px}.merchant-publication-controls .delete-publication{border-color:#d29a7f;background:#fff8ef;color:#a44836}
.micromodal-slide.app-modal,#merchant-entry-modal{z-index:1100}.micromodal-slide.is-open .app-modal-container,.micromodal-slide.is-open .modal__container{animation:dialog-in .18s ease-out}.app-modal-container{width:min(620px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:32px;border:3px solid #e7b75c;background:#fff8e9;color:#3e2b45;box-shadow:0 25px 100px #081e3240}.app-modal-container h2{color:#472a48}.app-modal-container.account-dialog{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);overflow-x:hidden;padding:30px}.app-modal-container.account-dialog form{position:relative;min-width:0}.app-modal-container.account-dialog .dialog-close{top:-12px;right:-12px;display:grid;place-items:center;width:36px;height:36px;padding:0;color:#563b51;z-index:2}.app-modal-container.account-dialog .account-auth,.app-modal-container.account-dialog .account-panel{min-width:0;max-width:100%}.app-modal-container.merchant-dialog form,.app-modal-container.game-dialog form{position:relative}.app-modal-container.merchant-dialog h2,.app-modal-container.game-dialog h2{margin:0 0 21px;font:700 28px var(--display);letter-spacing:-1px}.delete-confirm-container{width:min(480px,calc(100vw - 28px))}.delete-confirm-container .merchant-entry-header h2{font-size:21px}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.delete-confirm-button{background:#8b3f48!important;border-color:#612c3a!important}.delete-confirm-button:hover{background:#a64e4d!important}@media(max-width:650px){.app-modal-container{padding:25px 19px}.app-modal-container.account-dialog{padding:28px 20px}.app-modal-container.account-dialog .dialog-close{top:-10px;right:-10px}}@media(max-width:520px){.app-modal-container.merchant-dialog h2,.app-modal-container.game-dialog h2{font-size:24px}.delete-confirm-container{padding:22px 16px}}
