*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body,#app{width:100%;height:100%;overflow:hidden}body:not(.reading-mode) .text-only{display:none!important}body:not(.reading-mode) .fact-card{justify-content:center;padding:18px}body:not(.reading-mode) .fact-emoji{font-size:clamp(54px,11vw,76px);width:auto}body:not(.reading-mode) .fact-speak{font-size:22px;margin-left:12px}body:not(.reading-mode) .stamp-btn{font-size:32px;padding:14px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:linear-gradient(180deg,#0a3161,#1e40af 60%,#1e3a8a);touch-action:manipulation;overscroll-behavior:none;color:#fff}#app{display:flex;flex-direction:column;position:relative}.screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:18px;padding:20px 16px 32px;position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.title{font-size:clamp(28px,6.5vw,56px);font-weight:900;text-align:center;text-shadow:3px 3px 0 rgba(0,0,0,.35);line-height:1.05;letter-spacing:1px;color:#fde68a}.subtitle{font-size:clamp(16px,3vw,24px);font-weight:700;color:#fde68a;text-align:center;opacity:.9}.big-button{font-size:clamp(20px,4vw,32px);font-weight:900;padding:18px 40px;border:none;border-radius:28px;background:#b91c1c;color:#fff;box-shadow:0 8px #7f1d1d,0 14px 28px #00000059;cursor:pointer;transition:transform .08s,box-shadow .08s;min-width:200px;min-height:80px;letter-spacing:2px}.big-button:active{transform:translateY(4px);box-shadow:0 4px #7f1d1d,0 6px 12px #00000040}.big-button.secondary{background:#facc15;color:#422006;box-shadow:0 8px #a16207,0 14px 28px #00000059}.big-button.secondary:active{box-shadow:0 4px #a16207,0 6px 12px #00000040}.menu-extra-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.menu-extra-buttons .big-button{flex:1 1 140px;min-width:140px;max-width:220px;padding:14px 16px;font-size:clamp(15px,3.2vw,18px)}.route-button{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#0ea5e9,#0369a1);box-shadow:0 8px #075985,0 14px 28px #00000059}.route-button:active{box-shadow:0 4px #075985,0 6px 12px #00000040}.route-button-icon{font-size:26px}.album-button{display:inline-flex;align-items:center;gap:4px;position:relative;background:linear-gradient(135deg,#b91c1c,#7f1d1d);margin-top:8px}.album-button-icon{font-size:28px}.album-button-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;margin-left:8px;background:#facc15;color:#422006;border-radius:999px;font-size:16px;font-weight:900}.route-screen{background:radial-gradient(circle at 30% 10%,rgba(255,255,255,.18) 0%,transparent 40%),linear-gradient(180deg,#0ea5e9,#0369a1,#075985);padding:60px 14px 28px;align-items:stretch;gap:12px}.route-track{position:relative;width:100%;max-width:460px;height:78px;margin:0 auto 8px;padding:0 30px}.route-line{position:absolute;left:30px;right:30px;top:38px;height:4px;background:#ffffff40;border-radius:2px;border-top:2px dashed rgba(255,255,255,.35);border-bottom:none;border-left:none;border-right:none;background:transparent}.route-line-progress{position:absolute;left:30px;top:38px;height:4px;background:#facc15;border-radius:2px;width:0;transition:width 1.8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px #fccc1599}.route-node{position:absolute;top:6px;left:30px;width:60px;height:60px;transform:translate(-50%)}.route-node:nth-child(3){left:calc(30px + 0%*(100% - 60px))}.route-node:nth-child(4){left:calc(30px + (100% - 60px)/2)}.route-node:nth-child(5){left:calc(30px + (100% - 60px)*1)}.route-node-img{width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.4);filter:grayscale(.7) brightness(.7);transition:filter .3s,border-color .3s,box-shadow .3s}.route-node-img img{width:100%;height:100%;object-fit:cover}.route-node.visited .route-node-img{filter:grayscale(0) brightness(1);border-color:#fccc1599}.route-node.active .route-node-img{filter:grayscale(0) brightness(1);border-color:#facc15;box-shadow:0 0 0 4px #fccc1559,0 0 20px #fccc1580;animation:routeNodeBounce 1.4s cubic-bezier(.34,1.56,.64,1) infinite alternate}@keyframes routeNodeBounce{0%{transform:scale(1)}to{transform:scale(1.08)}}.route-plane{position:absolute;top:38px;left:30px;font-size:36px;transform:translate(-50%,-50%) rotate(0);transition:left 1.8s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5));z-index:2}.route-plane.flying{animation:planeWobble 1.8s ease-in-out}@keyframes planeWobble{0%,to{transform:translate(-50%,-50%) rotate(-4deg)}25%{transform:translate(-50%,-60%) rotate(2deg)}50%{transform:translate(-50%,-45%) rotate(-2deg)}75%{transform:translate(-50%,-55%) rotate(3deg)}}.route-stage{width:100%;max-width:480px;margin:0 auto}.route-card{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:22px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;overflow:hidden}.route-intro-emoji{font-size:clamp(70px,16vw,100px);animation:routeIntroBob 2.5s ease-in-out infinite}@keyframes routeIntroBob{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-6px)}}.route-intro-title{color:#fde68a;font-size:clamp(28px,6.5vw,38px);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3)}.route-intro-sub{color:#fff;text-align:center;font-size:clamp(15px,3vw,18px);margin:0}.route-start-btn{background:linear-gradient(135deg,#facc15,#f59e0b);color:#422006;box-shadow:0 8px #a16207,0 14px 28px #00000059}.route-flying{padding:36px 18px}.route-flying-emoji{font-size:clamp(70px,16vw,100px);animation:planeFly 1.6s ease-in-out infinite}@keyframes planeFly{0%,to{transform:translate(-20px) translateY(0) rotate(-8deg)}50%{transform:translate(20px) translateY(-6px) rotate(8deg)}}.route-flying-text{color:#fff;font-size:18px;font-weight:700;letter-spacing:1px;margin:8px 0 0}.route-stop{padding:0;background:transparent;border:none;gap:14px}.route-stop-hero{position:relative;width:100%;border-radius:22px;overflow:hidden;aspect-ratio:16 / 11}.route-stop-hero img{width:100%;height:100%;object-fit:cover;display:block}.route-stop-banner{position:absolute;left:12px;right:12px;bottom:12px;border-radius:16px;padding:10px 14px;text-align:center;color:#fff;font-weight:900}.route-stop-step{font-size:12px;letter-spacing:2px;opacity:.92}.route-stop-city{font-size:clamp(22px,5vw,30px);line-height:1.05;margin-top:2px}.route-fact{display:flex;align-items:center;gap:14px;width:100%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:18px;padding:14px;cursor:pointer;color:#fff;text-align:left;transition:transform .1s,background .2s}.route-fact:active{transform:scale(.97)}.route-fact-emoji{font-size:clamp(40px,9vw,56px);flex-shrink:0}.route-fact-text{flex:1;font-size:14px;line-height:1.3}.route-fact-speak{font-size:20px;opacity:.7}.route-next-btn{background:linear-gradient(135deg,#facc15,#f59e0b);color:#422006;box-shadow:0 8px #a16207,0 14px 28px #00000059;width:100%}.route-finale{padding:26px 18px}.route-finale-trophy{font-size:clamp(80px,18vw,120px);animation:trophyPop 1s cubic-bezier(.34,1.56,.64,1)}@keyframes trophyPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.route-finale-title{color:#fde68a;font-size:clamp(24px,5.5vw,32px);margin:0;text-align:center;text-shadow:2px 2px 0 rgba(0,0,0,.3)}.route-finale-sub{color:#fff;font-size:16px;margin:0;text-align:center}.route-finale-stamps{display:flex;gap:14px;justify-content:center;margin:8px 0}.route-finale-stamp{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fccc15f2,#f59e0bd9);border:3px solid rgba(180,83,9,.85);display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 4px 12px #00000080,inset 0 2px 4px #fff6;animation:stampSettle .6s cubic-bezier(.34,1.56,.64,1) backwards}.route-finale-stamp:nth-child(1){animation-delay:.1s}.route-finale-stamp:nth-child(2){animation-delay:.3s}.route-finale-stamp:nth-child(3){animation-delay:.5s}.route-finale-actions{display:flex;flex-direction:column;gap:10px;width:100%}.album-screen{background:radial-gradient(circle at 20% 10%,rgba(252,204,21,.12) 0%,transparent 40%),linear-gradient(180deg,#7f1d1d,#9a3412 60%,#7c2d12);padding:60px 12px 24px;align-items:stretch}.album-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:16px}.album-cover{display:flex;flex-direction:column;align-items:center;gap:4px}.album-cover-emoji{font-size:clamp(54px,13vw,80px);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));animation:albumCoverBob 3s ease-in-out infinite}@keyframes albumCoverBob{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-6px)}}.album-title{color:#fde68a;font-size:clamp(24px,5.5vw,34px);margin:0;text-shadow:2px 2px 0 rgba(0,0,0,.3)}.album-stats{display:inline-flex;align-items:baseline;gap:6px;background:#0006;padding:8px 22px;border-radius:999px;border:2px solid rgba(252,204,21,.5);color:#fff}.album-stats-num{font-size:32px;font-weight:900;color:#facc15}.album-stats-of{font-size:16px;font-weight:700;opacity:.85}.album-stats-label{font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-left:4px;opacity:.85}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;width:100%;max-width:720px;margin:0 auto}.album-empty{display:flex;flex-direction:column;align-items:center;gap:18px;padding:40px 20px;text-align:center}.album-empty-emoji{font-size:90px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));animation:albumCoverBob 3s ease-in-out infinite}.album-empty-text{color:#ffffffd9;font-size:16px;font-weight:600;line-height:1.4;max-width:320px}.menu-settings{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.menu-toggle,.menu-reset{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff14;color:#ffffffb3;border:1px solid rgba(255,255,255,.18);border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.menu-toggle:active,.menu-reset:active{background:#ffffff26;color:#fff}.menu-toggle[aria-pressed=true]{border-color:#facc15;color:#fde68a}.menu-toggle-icon{font-weight:900;font-size:15px;letter-spacing:1px}.back-btn{background:#fff;border:none;border-radius:50%;width:56px;height:56px;font-size:28px;font-weight:800;color:#0a3161;box-shadow:0 4px #94a3b8,0 6px 14px #0000004d;cursor:pointer;position:absolute;top:16px;left:16px;z-index:20;display:flex;align-items:center;justify-content:center}.back-btn:active{transform:translateY(2px);box-shadow:0 2px #94a3b8,0 3px 8px #0003}.menu-screen{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.12) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.08) 0%,transparent 40%),linear-gradient(180deg,#0a3161,#1e40af 60%,#1e3a8a)}.menu-hero{display:flex;flex-direction:column;align-items:center;margin:24px 0 8px}.menu-flag{font-size:clamp(60px,14vw,110px);line-height:1;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));animation:floaty 3s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}.menu-title{margin-top:8px}.menu-name{color:#fde68a;font-size:clamp(24px,5vw,40px);font-weight:900;letter-spacing:2px;text-shadow:2px 2px 0 rgba(0,0,0,.4)}.menu-subtitle{color:#fff;font-size:clamp(18px,4vw,28px);font-weight:800;text-align:center}.phases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;width:100%;max-width:520px;margin:16px 0 24px}.phase-card{background:#fff;color:#0a3161;border-radius:24px;padding:18px 14px;text-align:center;cursor:pointer;box-shadow:0 6px #00000040,0 10px 22px #00000059;transition:transform .08s,box-shadow .08s;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:150px;position:relative;overflow:hidden}.phase-card:active{transform:translateY(3px);box-shadow:0 3px #00000040,0 5px 10px #0000004d}.phase-card .phase-num{font-size:14px;font-weight:800;color:#b91c1c;letter-spacing:2px}.phase-card .phase-emoji{font-size:clamp(38px,8vw,56px);line-height:1}.phase-card .phase-name{font-size:clamp(13px,2.5vw,16px);font-weight:800;line-height:1.15}.phase-card.locked{background:#ffffff2e;color:#ffffff80;cursor:not-allowed}.phase-card.locked .phase-num{color:#fff6}.phase-card.locked .lock{position:absolute;font-size:50px;opacity:.55}.phase-card.done{background:linear-gradient(180deg,#facc15,#f59e0b);color:#422006}.phase-card.done:after{content:"✓";position:absolute;top:8px;right:12px;font-size:24px;font-weight:900;color:#14532d;background:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d}.explorer-screen{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.12) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.08) 0%,transparent 40%),linear-gradient(180deg,#0a3161,#1e40af 60%,#1e3a8a);padding:60px 12px 24px;align-items:stretch;min-height:100vh;display:flex;flex-direction:column}.explorer-header{text-align:center;margin-bottom:14px}.explorer-header .title{margin:0;color:#fde68a;font-size:clamp(24px,5.5vw,36px)}.explorer-header .subtitle{margin:4px 0 8px;color:#ffffffe6;font-size:clamp(14px,3vw,17px);font-weight:600}.explorer-progress{display:inline-flex;align-items:baseline;gap:4px;background:#00000059;padding:6px 16px;border-radius:16px;color:#fff;font-weight:800}.explorer-progress-count{font-size:22px;color:#facc15}.explorer-progress-total{font-size:18px;opacity:.7}.explorer-progress-label{font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-left:6px;opacity:.85}.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;width:100%;max-width:720px;margin:0 auto}@media (min-width: 600px){.states-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}}.state-card{display:flex;flex-direction:column;background:#ffffff0f;border:2px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden;cursor:pointer;padding:0;position:relative;transition:transform .1s,border-color .2s,background .2s;animation:cardPop .45s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:var(--card-delay, 0s)}@keyframes cardPop{0%{transform:scale(.7) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.state-card:active{transform:scale(.94)}.state-card.visited{border-color:#facc15;background:#fccc151f}.state-card-img{width:100%;aspect-ratio:4 / 3;overflow:hidden}.state-card-img img{width:100%;height:100%;object-fit:cover;display:block}.state-card-name{padding:8px 6px 10px;text-align:center;color:#fff;font-weight:800;font-size:clamp(12px,2.6vw,14px);line-height:1.15;min-height:32px;display:flex;align-items:center;justify-content:center}.state-card.visited .state-card-name{color:#fde68a}.state-card-img{position:relative}.state-card-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-14deg);width:60%;aspect-ratio:1 / 1;max-width:80px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fccc15f2,#f59e0bd9);border:3px solid rgba(180,83,9,.85);display:flex;align-items:center;justify-content:center;font-size:clamp(28px,7vw,40px);box-shadow:0 4px 12px #00000080,inset 0 2px 4px #fff6;pointer-events:none;animation:stampSettle .5s cubic-bezier(.34,1.56,.64,1)}@keyframes stampSettle{0%{transform:translate(-50%,-50%) rotate(-14deg) scale(2);opacity:0}60%{transform:translate(-50%,-50%) rotate(-14deg) scale(.92);opacity:1}to{transform:translate(-50%,-50%) rotate(-14deg) scale(1);opacity:1}}.state-card.visited .state-card-img img{filter:brightness(.85) saturate(.9)}.state-card.just-stamped{animation:justStampedPulse 1.6s ease-in-out;z-index:5}@keyframes justStampedPulse{0%{box-shadow:0 0 #fccc1500;transform:scale(1)}25%{box-shadow:0 0 0 14px #fccc158c;transform:scale(1.06)}60%{box-shadow:0 0 0 18px #fccc1500;transform:scale(1.02)}to{box-shadow:0 0 #fccc1500;transform:scale(1)}}.surprise-card{grid-column:1 / -1;border:3px solid #fbbf24;background:linear-gradient(135deg,#fccc152e,#f59e0b38);box-shadow:0 6px 20px #f59e0b59;animation:surprisePulse 2.4s ease-in-out infinite,cardPop .45s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:0s}@keyframes surprisePulse{0%,to{box-shadow:0 6px 20px #f59e0b59,0 0 #fccc1580}50%{box-shadow:0 6px 20px #f59e0b73,0 0 0 14px #fccc1500}}.surprise-card .state-card-img{aspect-ratio:16 / 6;background:linear-gradient(135deg,#fbbf24,#b45309)!important;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.surprise-card .state-card-img img{width:100%;height:100%;object-fit:cover}.surprise-q{font-size:clamp(56px,14vw,88px);font-weight:900;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.35);animation:surpriseBob 1.6s ease-in-out infinite;line-height:1;z-index:2}.surprise-sparkles{position:absolute;top:8px;right:12px;font-size:28px;animation:surpriseSparkle 1.8s ease-in-out infinite}@keyframes surpriseBob{0%,to{transform:scale(1) rotate(-4deg)}50%{transform:scale(1.18) rotate(4deg)}}@keyframes surpriseSparkle{0%,to{transform:scale(1) rotate(0);opacity:.9}50%{transform:scale(1.3) rotate(20deg);opacity:1}}.surprise-card .state-card-name{background:#00000040;color:#fff;font-size:clamp(15px,3.5vw,18px);letter-spacing:1px}.surprise-card.spinning .surprise-q,.surprise-card.spinning .surprise-sparkles{display:none}.surprise-card.spinning .state-card-img img{animation:spinFlash .18s ease-out}@keyframes spinFlash{0%{transform:scale(1.06) translateY(-4px);opacity:.4}to{transform:scale(1) translateY(0);opacity:1}}.surprise-card.spinning .state-card-name{background:#fccc158c;color:#422006;font-weight:900}.surprise-card.won{animation:surpriseWin .6s cubic-bezier(.34,1.56,.64,1)}@keyframes surpriseWin{0%{transform:scale(1);box-shadow:0 0 #fccc15cc}40%{transform:scale(1.04);box-shadow:0 0 0 16px #fccc1580}to{transform:scale(1);box-shadow:0 6px 20px #f59e0b59,0 0 #fccc1500}}.surprise-card.won .state-card-name{background:#facc15;color:#422006;font-weight:900}.surprise-card.won .state-card-img:after{content:"u{2728}";position:absolute;font-size:48px;animation:winSparkle .8s ease-out;pointer-events:none}@keyframes winSparkle{0%{transform:scale(.3);opacity:0}40%{transform:scale(1.4);opacity:1}to{transform:scale(1.8);opacity:0}}.passport-screen{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#0a3161,#1e40af)}.usa-map-wrapper{position:relative;width:100%;max-width:520px;aspect-ratio:16 / 10;margin:0 auto}.usa-map-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.4))}.dest-star{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);cursor:pointer;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;box-shadow:0 5px #0000004d,0 8px 16px #0006;font-size:22px;font-weight:900;color:#b91c1c;transition:transform .1s;z-index:5;border:3px solid #b91c1c;animation:starPop .55s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:var(--star-delay, 0s)}@keyframes starPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}60%{transform:translate(-50%,-50%) scale(1.18);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@media (min-width: 600px){.dest-star{width:64px;height:64px;font-size:28px}}.dest-star:active{transform:translate(-50%,-50%) scale(.92)}.dest-star.collected{background:#facc15;color:#fff}.dest-star.collected:after{content:"✓";font-size:26px;color:#14532d}.dest-star.collected .star-num{display:none}.dest-star.glowing{animation:glow 1.2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 6px #0000004d,0 0 #fcd34db3}50%{box-shadow:0 6px #0000004d,0 0 0 18px #fcd34d00}}.plane{position:absolute;font-size:38px;z-index:6;pointer-events:none;transition:left 1.8s ease-in-out,top 1.8s ease-in-out,transform 1.8s ease-in-out;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}.destinations-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:520px;margin-top:8px}.dest-pill{background:#fffffff2;color:#0a3161;border-radius:999px;padding:10px 16px;font-weight:800;font-size:clamp(13px,2.6vw,16px);display:flex;align-items:center;gap:10px}.dest-pill .pill-num{background:#b91c1c;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.dest-pill.collected{background:linear-gradient(90deg,#facc15,#f59e0b);color:#422006}.dest-pill.collected .pill-num{background:#14532d}.monument-screen{background:#0a3161;padding:0;align-items:stretch;justify-content:flex-start;min-height:100vh;display:flex;flex-direction:column;position:relative}.monument-screen>*{flex-shrink:0}.monument-screen .back-btn{z-index:10}.monument-screen .stamp-btn{margin:16px 14px 22px;width:calc(100% - 28px);max-width:460px;align-self:center}.monument-hero{position:relative;width:100%;height:62vh;min-height:360px;max-height:540px;overflow:hidden}.hero-img-stack{position:absolute;inset:0}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;transform:scale(1.05)}.hero-img.active{opacity:1;animation:kenBurns 18s ease-in-out infinite alternate}@keyframes kenBurns{0%{transform:scale(1.05) translate(0)}50%{transform:scale(1.15) translate(-2%,-1%)}to{transform:scale(1.1) translate(1%,2%)}}.hero-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0a316159,#0a316100 35% 55%,#0a3161d9);pointer-events:none}.hero-info{position:absolute;left:12px;right:12px;bottom:14px;border-radius:18px;padding:12px 16px 14px;text-align:center;color:#fff;font-weight:900;backdrop-filter:blur(2px);animation:heroSlide .5s cubic-bezier(.34,1.4,.64,1) backwards}@keyframes heroSlide{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.hero-info .step{font-size:13px;letter-spacing:3px;opacity:.92}.hero-info .city{font-size:clamp(24px,6vw,34px);line-height:1.05;margin-top:2px}.hero-info .mon-name{font-size:clamp(15px,3.2vw,20px);font-weight:700;margin-top:4px;opacity:.95}.hero-info .tagline{font-size:clamp(13px,2.6vw,16px);font-weight:600;margin-top:6px;font-style:italic;opacity:.92}.hero-thumbs{display:flex;gap:10px;padding:14px 14px 6px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-thumbs::-webkit-scrollbar{display:none}.thumb{flex:0 0 auto;width:78px;height:78px;border:3px solid rgba(255,255,255,.3);border-radius:14px;overflow:hidden;padding:0;background:#0003;cursor:pointer;scroll-snap-align:start;transition:transform .15s,border-color .2s}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.active{border-color:#facc15;transform:scale(1.06);box-shadow:0 4px 12px #0006}.thumb:active{transform:scale(.94)}.facts-stack{display:flex;flex-direction:column;gap:10px;padding:14px 14px 6px;width:100%;max-width:520px;margin:0 auto}.fact-card{display:flex;align-items:center;gap:14px;background:#ffffff12;border:2px solid rgba(255,255,255,.14);border-radius:16px;padding:12px 14px;color:#fff;text-align:left;cursor:pointer;width:100%;transition:transform .1s,background .25s,border-color .25s;animation:factSlide .4s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:var(--fact-delay, 0s)}@keyframes factSlide{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.fact-card:active{transform:scale(.97)}.fact-card.speaking{background:#fccc1538;border-color:#facc15;box-shadow:0 0 0 4px #fccc1540}.fact-emoji{font-size:38px;flex-shrink:0;width:52px;text-align:center;line-height:1}.fact-body{flex:1;min-width:0}.fact-label{font-size:10px;font-weight:900;letter-spacing:2px;color:#facc15;text-transform:uppercase;margin-bottom:2px}.fact-text{font-size:14px;line-height:1.3;color:#fffffff2}.fact-speak{font-size:18px;flex-shrink:0;opacity:.55;transition:opacity .2s,transform .2s}.fact-card.speaking .fact-speak{opacity:1;transform:scale(1.2)}.stamp-btn{background:#b91c1c;color:#fff;border:none;border-radius:24px;padding:16px 24px;font-size:clamp(18px,3.5vw,24px);font-weight:900;letter-spacing:1px;cursor:pointer;box-shadow:0 6px #7f1d1d,0 10px 20px #0000004d;width:100%}.stamp-btn:active{transform:translateY(3px);box-shadow:0 3px #7f1d1d,0 5px 10px #0000004d}.stamp-anim{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;background:#000000a6;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.stamp-shape{width:220px;height:220px;border:8px solid #b91c1c;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b91c1c;font-weight:900;background:#ffffffeb;font-family:Courier New,monospace;transform:rotate(-12deg) scale(0);animation:stampDrop .5s cubic-bezier(.18,1.45,.55,1.1) forwards;text-align:center;padding:10px}.stamp-shape .stamp-city{font-size:22px;letter-spacing:1px;line-height:1.1}.stamp-shape .stamp-icon{font-size:64px;margin:8px 0}.stamp-shape .stamp-date{font-size:12px;letter-spacing:2px}@keyframes stampDrop{0%{transform:rotate(-12deg) scale(2.5);opacity:0}50%{transform:rotate(-12deg) scale(.9);opacity:1}70%{transform:rotate(-12deg) scale(1.1)}to{transform:rotate(-12deg) scale(1);opacity:1}}.fireworks{position:fixed;inset:0;background:#0a3161f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;gap:18px;padding:20px}.fw-emoji{font-size:clamp(90px,22vw,180px);animation:pop 1.5s ease-in-out infinite}@keyframes pop{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(8deg)}}.fw-text{font-size:clamp(28px,6vw,44px);font-weight:900;text-align:center;color:#fde68a;text-shadow:3px 3px 0 rgba(0,0,0,.4);line-height:1.2}.fw-confetti{position:absolute;font-size:30px;animation:confetti-fall 3s linear infinite;pointer-events:none}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:.3}}.memory-screen{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#b91c1c,#7f1d1d);padding-top:70px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:460px;padding:0 4px}.mem-card{aspect-ratio:3 / 4;perspective:600px;cursor:pointer}.mem-card-inner{position:relative;width:100%;height:100%;transition:transform .4s;transform-style:preserve-3d}.mem-card.flipped .mem-card-inner,.mem-card.matched .mem-card-inner{transform:rotateY(180deg)}.mem-card-face{position:absolute;inset:0;border-radius:14px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 4px #00000059,0 6px 14px #0000004d}.mem-card-front{background:linear-gradient(135deg,#facc15,#f59e0b);color:#fff;font-size:38px;font-weight:900}.mem-card-back{background:#fff;transform:rotateY(180deg);flex-direction:column;padding:6px;text-align:center}.mem-card-back img{width:100%;height:100%;object-fit:cover;border-radius:8px}.mem-card-back .mem-label{color:#0a3161;font-weight:900;font-size:14px;line-height:1.1;padding:4px}.mem-card-emoji{background:linear-gradient(135deg,#facc15,#f59e0b)!important;display:flex;align-items:center;justify-content:center}.mem-emoji{font-size:clamp(48px,12vw,64px);line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}.mem-card.matched .mem-card-back{outline:4px solid #facc15;outline-offset:-2px}.mem-card.matched .mem-card-inner{animation:matchPulse .6s cubic-bezier(.34,1.56,.64,1)}@keyframes matchPulse{0%,to{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.08)}}.memory-status{display:inline-flex;align-items:baseline;gap:8px;background:#00000059;padding:8px 18px;border-radius:999px;font-weight:800;font-size:18px;color:#fff}.memory-status-icon{font-size:22px}.memory-status-count .matched{color:#facc15;font-size:22px}.guess-screen{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#0a3161,#1e40af 60%,#1e3a8a);padding:60px 14px 28px}.guess-progress{display:inline-flex;align-items:baseline;gap:8px;background:#00000059;padding:6px 18px;border-radius:999px;font-weight:800;font-size:18px;color:#fff}.guess-progress-icon{font-size:22px}.guess-progress-count #round{color:#facc15;font-size:22px}.guess-replay{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;background:#fccc152e;color:#fff;border:2px solid rgba(252,204,21,.45);border-radius:999px;font-size:15px;font-weight:800;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 4px 12px #0000004d}.guess-replay:active{transform:scale(.95);background:#fccc1559}.guess-replay-icon{font-size:22px}.guess-options{display:flex;flex-direction:column;gap:14px;width:100%;max-width:460px;margin:8px auto 0}@media (min-width: 600px){.guess-options{max-width:540px}}.guess-option{display:flex;flex-direction:column;background:#ffffff14;border:3px solid rgba(255,255,255,.15);border-radius:18px;overflow:hidden;padding:0;cursor:pointer;width:100%;transition:transform .1s,border-color .2s,background .2s;animation:guessOptIn .45s cubic-bezier(.34,1.4,.64,1) backwards;animation-delay:var(--opt-delay, 0s)}@keyframes guessOptIn{0%{transform:translateY(20px) scale(.92);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.guess-option:active{transform:scale(.97)}.guess-option-img{width:100%;aspect-ratio:16 / 8;overflow:hidden}.guess-option-img img{width:100%;height:100%;object-fit:cover;display:block}.guess-option-name{padding:8px;text-align:center;font-weight:800;color:#fff;font-size:15px}.guess-option.correct{border-color:#22c55e;background:#22c55e33;animation:guessCorrect .6s cubic-bezier(.34,1.56,.64,1)}@keyframes guessCorrect{0%,to{transform:scale(1);box-shadow:0 0 #22c55e99}50%{transform:scale(1.04);box-shadow:0 0 0 12px #22c55e00}}.guess-option.wrong{border-color:#fbbf24;background:#fbbf241f;animation:guessWrong .7s ease-in-out}@keyframes guessWrong{0%,to{transform:rotate(0)}20%{transform:rotate(-1.8deg)}40%{transform:rotate(1.8deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(1deg)}}.flying-star{position:fixed;font-size:64px;z-index:1000;pointer-events:none;user-select:none;transform:translate(-50%,-50%) scale(1.6);transition:transform .7s cubic-bezier(.34,1.56,.64,1),opacity .7s ease-out;filter:drop-shadow(0 6px 12px rgba(252,204,21,.7))}.star-arrived{animation:starArrived .55s cubic-bezier(.34,1.56,.64,1)}@keyframes starArrived{0%{transform:scale(1)}35%{transform:scale(1.25);box-shadow:0 0 0 6px #fccc1573}to{transform:scale(1);box-shadow:0 0 #fccc1500}}.quiz4-clue{display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(135deg,#facc15,#f59e0b);border-radius:24px;padding:18px 22px;margin:4px auto 8px;box-shadow:0 8px 20px #f59e0b66;animation:cluePop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes cluePop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.quiz4-clue-emoji{font-size:clamp(72px,18vw,110px);line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));animation:clueBob 2.4s ease-in-out infinite}@keyframes clueBob{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.06) rotate(3deg)}}.quiz4-clue-label{font-size:13px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#422006d9}.map-screen{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#0a3161,#1e40af);padding-top:70px}.map-question{background:#fff;color:#0a3161;padding:14px 22px;border-radius:999px;font-weight:900;font-size:clamp(16px,3vw,22px);text-align:center;box-shadow:0 6px 14px #0000004d;max-width:90%}.map-question .target-city{color:#b91c1c}.map-feedback{font-size:clamp(20px,4vw,28px);font-weight:900;text-align:center;min-height:36px}.map-feedback.correct{color:#facc15;animation:bounce .5s ease}.map-feedback.wrong{color:#fca5a5}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.quiz-screen{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#b91c1c,#0a3161);padding-top:70px;align-items:center}.quiz-modes{display:flex;gap:12px;margin:16px 0}.quiz-mode-btn{background:#ffffff2e;border:3px solid rgba(255,255,255,.4);color:#fff;padding:12px 20px;border-radius:18px;font-weight:800;font-size:16px;cursor:pointer}.quiz-mode-btn.active{background:#facc15;color:#422006;border-color:#facc15}.quiz-seal-wrap{background:#fff;border-radius:20px;padding:16px;box-shadow:0 8px 22px #0006;margin:6px 0}.quiz-seal-img{width:180px;height:180px;object-fit:contain;display:block}.quiz-options{display:flex;flex-direction:column;gap:10px;width:100%;max-width:360px;margin-top:12px}.quiz-option{background:#fff;color:#0a3161;border:none;border-radius:18px;padding:14px 16px;font-size:clamp(16px,3vw,20px);font-weight:800;cursor:pointer;box-shadow:0 4px #0003}.quiz-option:active{transform:translateY(2px);box-shadow:0 2px #0003}.quiz-option.correct{background:#22c55e;color:#fff;animation:bounce .4s ease}.quiz-option.wrong{background:#fca5a5;color:#7f1d1d}.quiz-score{background:#00000059;padding:8px 16px;border-radius:999px;font-weight:800;font-size:16px}
