*{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #1a1a2e;--bg-card: #16213e;--accent: #f5c518;--accent-glow: rgba(245, 197, 24, .3);--text: #e8e8e8;--text-dim: #8888aa;--success: #4ecca3;--danger: #e74c3c;--radius: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-dark);color:var(--text);overflow:hidden;height:100dvh;width:100vw;-webkit-user-select:none;user-select:none}#app{position:relative;width:100%;height:100%}#map{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{display:none}#game-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}#status-bar{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 12px);background:#1a1a2ee6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(245,197,24,.15);pointer-events:none}#status-bar>*{pointer-events:auto}#status-left{display:flex;align-items:center}#xp-meter{display:flex;align-items:center;gap:8px}#xp-level{font-weight:800;font-size:12px;color:var(--success);letter-spacing:.5px;white-space:nowrap}#xp-bar{width:60px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}#xp-bar-fill{height:100%;width:0%;background:var(--success);border-radius:3px;transition:width .4s ease}#xp-count{font-size:11px;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}#status-right{display:flex;align-items:center;gap:10px}.wallet-notify{color:var(--accent)!important;animation:wallet-glow 1.5s ease-in-out infinite}@keyframes wallet-glow{0%,to{filter:drop-shadow(0 0 3px rgba(245,197,24,.4))}50%{filter:drop-shadow(0 0 8px rgba(245,197,24,.8))}}.dot-ok{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 6px var(--success)}#bottom-panel{position:absolute;bottom:0;left:0;right:0;z-index:10;background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;padding:0 20px 20px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 20px);max-height:60vh;overflow-y:auto;transition:transform .3s ease,visibility .3s;box-shadow:0 -4px 20px #00000080;visibility:visible}#bottom-panel.hidden{transform:translateY(100%);visibility:hidden}#bottom-panel.peek{transform:translateY(calc(100% - 28px - env(safe-area-inset-bottom,0px)));visibility:visible}#panel-handle{width:100%;cursor:pointer;padding:10px 0 14px;display:flex;justify-content:center}#panel-handle:before{content:"";display:block;width:40px;height:5px;background:#fff6;border-radius:3px}.panel-title{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--accent)}.welcome-legend{display:flex;flex-direction:column;gap:12px;margin-top:12px}.welcome-legend-item{display:flex;align-items:center;gap:12px}.welcome-legend-icon{flex-shrink:0;width:36px;display:flex;align-items:center;justify-content:center}.welcome-legend-label{font-size:14px;font-weight:700;color:var(--text)}.welcome-legend-desc{font-size:12px;color:var(--text-dim);line-height:1.4}.panel-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}.panel-row .label{color:var(--text-dim)}.panel-row .value{font-weight:600;font-variant-numeric:tabular-nums}.panel-progress{width:100%;height:6px;background:#ffffff1a;border-radius:3px;margin:12px 0;overflow:hidden}.panel-progress-bar{height:100%;background:var(--accent);border-radius:3px;transition:width .2s ease;width:0%}#action-btn-container{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:10;padding-bottom:env(safe-area-inset-bottom);transition:opacity .3s}#action-btn-container.hidden{opacity:0;pointer-events:none}#action-btn{background:var(--accent);color:var(--bg-dark);border:none;font-size:16px;font-weight:800;letter-spacing:1px;padding:16px 48px;border-radius:30px;cursor:pointer;box-shadow:0 4px 20px var(--accent-glow),0 0 40px var(--accent-glow);transition:all .2s}#action-btn:active{transform:scale(.95);box-shadow:0 2px 10px var(--accent-glow)}#action-btn.researching{background:var(--text-dim);box-shadow:none}#action-btn.claim{background:var(--success);box-shadow:0 4px 20px #4ecca34d}#loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:var(--bg-dark);display:flex;align-items:stretch;justify-content:stretch;transition:opacity .5s}#loading-overlay.fade-out{opacity:0;pointer-events:none}#loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100%}#loading-content.splash-wrap{display:block;min-height:unset;justify-content:unset;align-items:unset}#loading-content::-webkit-scrollbar{display:none}.splash-wrap{display:block;width:100%;height:100%;padding:0 24px;text-align:center;position:relative;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.splash-wrap::-webkit-scrollbar{display:none}.splash-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;padding-top:env(safe-area-inset-top,20px)}.splash-eyebrow{font-size:11px;letter-spacing:4px;color:var(--accent);font-weight:600;text-transform:uppercase;margin-top:5vh;margin-bottom:8px;opacity:0;animation:fadeSlideUp .8s ease .3s forwards}.splash-title{font-size:clamp(36px,10vw,56px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:8px;opacity:0;animation:fadeSlideUp .8s ease .5s forwards;position:relative;z-index:2}.splash-subtitle{font-size:clamp(13px,3.5vw,16px);color:var(--text-dim);max-width:320px;line-height:1.6;margin-bottom:40px;opacity:0;animation:fadeSlideUpHeavy .8s ease .7s forwards;position:relative;z-index:2}.splash-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:auto;margin-bottom:16px;opacity:0;animation:fadeSlideUpHeavy .8s ease .9s forwards;position:relative;z-index:2}.splash-stat-value{font-size:48px;font-weight:800}.splash-stat-label{font-size:12px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase}.splash-steps{display:flex;flex-direction:column;gap:10px;align-items:center;max-width:300px;width:100%;margin-bottom:48px;opacity:0;animation:fadeSlideUpHeavy .8s ease 1s forwards}.splash-step{display:flex;align-items:center;gap:12px;text-align:left;width:100%}.splash-step-num{width:36px;min-width:36px;height:36px;border-radius:50%;background:#f5c5181a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;font-variant-numeric:tabular-nums}.splash-step-text{font-size:13px;color:var(--text-dim);line-height:1.4}.splash-step-text b{color:var(--text)}.splash-cta{padding:18px 64px;font-size:18px;font-weight:700;background:var(--accent);color:var(--bg-dark);border:none;border-radius:12px;cursor:pointer;box-shadow:0 4px 24px #f5c51859;transition:all .2s;letter-spacing:.5px;opacity:0;animation:fadeSlideUpClean .8s ease 1.2s forwards}.splash-footer{font-size:10px;color:var(--text-dim);margin-top:12px;margin-bottom:40px;opacity:0;animation:fadeSlideUpClean .8s ease 1.4s forwards}@keyframes fadeSlideUpClean{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-scroll-hint{margin-top:1vh;padding-bottom:16px;display:flex;flex-direction:column;align-items:center;opacity:0;animation:fadeSlideUpClean .8s ease 1.2s forwards}.splash-scroll-text{font-size:11px;color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.splash-scroll-arrow{font-size:20px;color:var(--text-dim);animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.splash-section{width:100%;max-width:560px;margin:0 auto;padding:80px 24px;text-align:center;position:relative;z-index:2}.splash-section-eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:600;text-transform:uppercase;margin-bottom:16px}.splash-section-heading{font-size:clamp(24px,6vw,36px);font-weight:800;color:#fff;line-height:1.2;margin-bottom:20px}.splash-section-body{font-size:15px;color:var(--text-dim);line-height:1.7;margin-bottom:16px}.splash-section-highlight{background:linear-gradient(180deg,#f5c5180a,#1a1a2e00);border-top:1px solid rgba(245,197,24,.12);border-bottom:1px solid rgba(245,197,24,.06);max-width:100%;padding-left:24px;padding-right:24px;position:relative;overflow:hidden}.splash-section-highlight:before{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(245,197,24,.06) 0%,transparent 70%);pointer-events:none}.splash-section-highlight .splash-section-heading,.splash-section-highlight .splash-section-body{max-width:560px;margin-left:auto;margin-right:auto}.splash-steps-expanded{max-width:400px;margin:0 auto;opacity:1;animation:none;gap:16px;position:relative;z-index:1}.splash-step-card{display:flex;align-items:flex-start;gap:16px;text-align:left;background:#16213ed9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;transition:border-color .5s,box-shadow .5s,background .5s}.splash-step-card:hover{border-color:#f5c51840;box-shadow:0 0 20px #f5c51814}.splash-step-card.step-active{border-color:#4ecca366;box-shadow:0 0 20px #4ecca31a}.splash-step-card.step-found{border-color:#f5c51880;box-shadow:0 0 24px #f5c51826}.splash-step-card-content{flex:1}.splash-step-card-title{font-size:16px;font-weight:700;color:var(--accent);margin-bottom:6px}.splash-step-card-desc{font-size:13px;color:var(--text-dim);line-height:1.6}.splash-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;text-align:left}.splash-feature{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:20px;transition:border-color .3s,box-shadow .3s,transform .3s}.splash-feature:hover{border-color:#f5c51833;box-shadow:0 0 16px #f5c5180f;transform:translateY(-2px)}.splash-feature-icon{width:32px;height:32px;margin-bottom:10px;color:var(--accent)}.splash-feature-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:6px}.splash-feature-desc{font-size:12px;color:var(--text-dim);line-height:1.5}.splash-section-grid-bg{position:relative;overflow:visible;background-image:linear-gradient(rgba(245,197,24,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,197,24,.03) 1px,transparent 1px);background-size:40px 40px}.splash-grid-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(auto-fill,40px);grid-template-rows:repeat(auto-fill,40px);justify-content:center;pointer-events:none;z-index:0;overflow:visible}.grid-tile{width:40px;height:40px;transition:background .4s ease,box-shadow .4s ease}.grid-tile-green{background:#4ecca31f}.grid-tile-found.grid-tile-glow{background:#f5c51859;box-shadow:0 0 16px #f5c5184d;animation:tileFoundPulse 1.5s ease-in-out infinite;position:relative;overflow:visible}.grid-tile-reward{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:13px;font-weight:800;color:var(--accent);white-space:nowrap;opacity:0;transition:opacity .5s ease .3s}.grid-tile-reward img{filter:drop-shadow(0 0 .5px rgba(0,0,0,.8)) drop-shadow(0 0 .5px rgba(0,0,0,.8))}.grid-tile-glow .grid-tile-reward{opacity:1}@keyframes tileFoundPulse{0%,to{box-shadow:0 0 16px #f5c5184d}50%{box-shadow:0 0 28px #f5c51880}}.splash-section-final{padding-top:60px;padding-bottom:80px;background:radial-gradient(ellipse at center bottom,rgba(245,197,24,.06) 0%,transparent 60%)}.splash-final-buttons{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px}.splash-cta-small{padding:10px 32px;font-size:14px;margin-bottom:16px;position:relative;z-index:2}.splash-cta-secondary{padding:14px 48px;font-size:15px;font-weight:600;color:var(--text-dim);background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:12px;text-decoration:none;transition:all .2s;letter-spacing:.5px}.splash-cta-secondary:hover{border-color:var(--accent);color:var(--accent)}.splash-globe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.4;pointer-events:none;z-index:0}@media(max-width:480px){.splash-stats{flex-direction:row}.splash-feature-grid{grid-template-columns:1fr}}#loading-text{font-size:20px;font-weight:700;margin-top:24px;color:var(--accent)}#loading-sub{font-size:13px;color:var(--text-dim);margin-top:8px}.spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.player-marker{pointer-events:none;display:flex;flex-direction:column;align-items:center}.player-cone{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:24px solid rgba(78,204,163,.35);margin-bottom:-6px;filter:blur(1px)}.player-dot{width:18px;height:18px;background:var(--success);border:3px solid #fff;border-radius:50%;position:relative;box-shadow:0 2px 8px #4ecca380}.player-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#4ecca333;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.coin-marker{width:48px;height:48px;cursor:pointer;overflow:visible}.coin-marker:before{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:32px;height:10px;background:radial-gradient(ellipse,rgba(0,0,0,.35) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:shadow-pulse 2s ease-in-out infinite}@keyframes shadow-pulse{0%,to{transform:translate(-50%) scale(1);opacity:.7}50%{transform:translate(-50%) scale(.8);opacity:.4}}.coin-inner{width:48px;height:48px;position:relative;animation:coin-bob 2s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(245,197,24,.5));transition:filter .3s}.coin-inner img{width:48px;height:48px;display:block}.coin-marker:hover .coin-inner{filter:drop-shadow(0 6px 16px rgba(245,197,24,.8));animation-duration:1s}.coin-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,rgba(245,197,24,.15),transparent 70%);animation:glow-pulse 2s ease-in-out infinite}@keyframes coin-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0);filter:drop-shadow(0 0 20px #1a1a2e) drop-shadow(0 0 40px #1a1a2e) drop-shadow(0 0 60px #1a1a2e)}}@keyframes fadeSlideUpHeavy{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0);filter:drop-shadow(0 0 10px #1a1a2e) drop-shadow(0 0 18px #1a1a2e) drop-shadow(0 0 18px #1a1a2e) drop-shadow(0 0 30px #1a1a2e) drop-shadow(0 0 30px #1a1a2e)}}@keyframes glow-pulse{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}.coin-marker.decrypted .coin-inner{filter:drop-shadow(0 4px 16px rgba(78,204,163,.6))}.coin-marker.claimed .coin-inner{opacity:.3;filter:grayscale(1);animation:none}.coin-marker.claimed .coin-glow{display:none}.mystery-icon{width:44px;height:44px;border-radius:50%;background:#1e1e32d9;border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;box-shadow:0 2px 10px #00000080}.coin-marker.mystery .coin-inner{filter:drop-shadow(0 2px 8px rgba(255,255,255,.1));animation:mystery-pulse 3s ease-in-out infinite}.coin-marker.mystery.researched .mystery-icon{border-color:var(--accent);color:var(--accent);background:#1e1e32d9}.coin-marker.mystery.researched .coin-inner{filter:drop-shadow(0 2px 12px rgba(245,197,24,.2));animation:coin-bob 2s ease-in-out infinite}@keyframes mystery-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:1}}.coin-marker.found .coin-inner{animation:coin-bob 1.5s ease-in-out infinite;filter:drop-shadow(0 4px 20px rgba(245,197,24,.6))}.xp-marker{pointer-events:none}.xp-marker .xp-inner{width:18px;height:18px;background:radial-gradient(circle,#4ecca3,#4ecca333);border-radius:50%;border:1.5px solid rgba(78,204,163,.5);box-shadow:0 1px 6px #0006,0 0 10px #4ecca34d;animation:xp-float 3s ease-in-out infinite}.xp-marker.claimed .xp-inner{opacity:0;transition:opacity .5s}@keyframes xp-float{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(-3px);opacity:1}}#xp-pill{position:fixed;top:calc(env(safe-area-inset-top,0px) + 60px);left:50%;transform:translate(-50%);z-index:51;background:var(--bg-card);font-size:12px;font-weight:600;padding:8px 20px;border-radius:20px;box-shadow:0 2px 12px #0006;border:1px solid rgba(78,204,163,.2);pointer-events:none;transition:all .3s}#xp-pill.claiming{color:var(--text-dim);animation:loading-pulse 1.5s ease-in-out infinite}#xp-pill.success{color:var(--success);border-color:#4ecca366;animation:xp-pop .4s ease-out}@keyframes xp-pop{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.15)}to{transform:translate(-50%) scale(1)}}.levelup-overlay{position:fixed;inset:0;z-index:10000;background:#0000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .5s ease;pointer-events:none}.levelup-overlay.active{background:#000000d9;pointer-events:auto}.levelup-overlay.closing{opacity:0;transition:opacity .5s ease}.levelup-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.levelup-particle{position:absolute;bottom:30%;width:6px;height:6px;border-radius:50%;background:var(--accent, #f5c518);animation:levelup-rise linear forwards;opacity:0}@keyframes levelup-rise{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-60vh) scale(0);opacity:0}}.levelup-content{text-align:center;animation:levelup-enter .6s cubic-bezier(.2,.8,.2,1) forwards;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);transition:top .6s cubic-bezier(.2,.8,.2,1),transform .6s ease}.levelup-content.glide-up{top:20%}@keyframes levelup-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.levelup-flash{position:fixed;inset:0;background:radial-gradient(circle at center,rgba(245,197,24,.15) 0%,transparent 70%);opacity:0;animation:levelup-flash-anim 1s ease-out forwards;pointer-events:none}@keyframes levelup-flash-anim{0%{opacity:1}to{opacity:0}}.levelup-badge{font-size:64px;font-weight:900;color:var(--accent, #f5c518);text-shadow:0 0 20px rgba(245,197,24,.3),0 0 60px rgba(245,197,24,.15);letter-spacing:4px}.levelup-text{font-size:22px;font-weight:700;color:#fff;letter-spacing:6px;margin-top:8px;opacity:.9}.levelup-cards{position:absolute;inset:38% 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;animation:levelup-cards-in .4s ease forwards}@keyframes levelup-cards-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.levelup-cards.hidden{display:none}.levelup-pick-title{font-size:18px;font-weight:700;color:#fff;letter-spacing:2px;margin-bottom:24px;opacity:.9}.levelup-pick-row{display:flex;flex-direction:column;gap:10px;padding:0 24px;max-width:400px;width:100%}.levelup-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 18px;cursor:pointer;transition:all .25s ease;text-align:left;color:#fff;display:flex;align-items:center;gap:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.levelup-card:hover{background:#f5c5181f;border-color:var(--accent, #f5c518);transform:translateY(-4px)}.levelup-card:active{transform:translateY(0) scale(.97)}.levelup-card.chosen{border-color:var(--accent, #f5c518);background:#f5c51826;box-shadow:0 0 30px #f5c5184d;transform:scale(1.05)}.levelup-card.dimmed{opacity:.25;transform:scale(.95);pointer-events:none}.levelup-card-name{font-size:14px;font-weight:700;color:var(--accent, #f5c518)}.levelup-card-tier{font-size:11px;font-weight:600;color:#ffffff80;letter-spacing:1px;white-space:nowrap}.levelup-card-desc{font-size:12px;color:#ffffffb3;line-height:1.4}.scanner-face{font-family:monospace;font-size:16px;letter-spacing:1px;line-height:1;display:inline-flex;gap:0}.scanner-eye,.scanner-mouth{display:inline-block;text-align:center;min-width:.5em}.scanner-bubble{display:inline-flex;align-items:center;gap:8px;background:#000000b3;padding:8px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);pointer-events:none}.scanner-msg{font-size:13px;font-weight:500;color:#ffffffd9;white-space:nowrap}.scanner-marker{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none;background:#000000a6;padding:6px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1)}.scanner-marker-text{font-size:11px;font-weight:500;color:#ffffffb3;white-space:nowrap;max-width:120px;text-align:center}.survey-status{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;text-align:center}.survey-status-discovered{color:#4ecca3}.survey-status-researching{color:var(--accent)}.survey-status-undiscovered{color:#ffffff59}.scanner-marker-excited .scanner-face{animation:scanner-bounce 1.5s ease-in-out infinite}@keyframes scanner-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.scanner-toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(20px);display:flex;align-items:center;gap:10px;background:#000c;padding:10px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.15);z-index:5000;opacity:0;transition:opacity .3s ease,transform .3s ease}.scanner-toast.active{opacity:1;transform:translate(-50%) translateY(0)}.scanner-toast.dismiss{opacity:0;transform:translate(-50%) translateY(-10px)}.scanner-toast .scanner-msg{font-size:14px;color:#fff}#field-survey-btn.active{background:#f5c51833;border-color:var(--accent, #f5c518);color:var(--accent, #f5c518)}#drop-compass{position:absolute;top:calc(env(safe-area-inset-top,0px) + 62px);right:16px;z-index:5;width:64px;height:64px;pointer-events:auto;cursor:pointer;transition:opacity .3s,filter .3s;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));perspective:120px;overflow:visible}#drop-compass svg{transform:rotateX(45deg)}#drop-compass.hidden{display:none}#compass-legend{position:absolute;top:calc(env(safe-area-inset-top,0px) + 132px);right:16px;width:200px;background:#16213ef2;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px;font-size:12px;line-height:1.5;color:#ccc;backdrop-filter:blur(8px);box-shadow:0 4px 16px #00000080;z-index:6}#compass-legend.hidden{display:none}#compass-legend h4{margin:0 0 8px;font-size:13px;color:#fff}.compass-legend-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.compass-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}#drop-compass.compass-active #compass-arrow line{stroke:#e74c3c}#drop-compass.compass-active #compass-arrow polygon{fill:#e74c3c}#drop-compass.compass-survey #compass-arrow line{stroke:#d4943a}#drop-compass.compass-survey #compass-arrow polygon{fill:#d4943a}#drop-compass.compass-inactive{filter:drop-shadow(0 2px 8px rgba(0,0,0,.5)) grayscale(1);opacity:.5}#drop-compass.compass-inactive #compass-arrow line{stroke:#666}#drop-compass.compass-inactive #compass-arrow polygon{fill:#666}#daily-btn{margin-right:5px}#daily-btn.has-reward{color:var(--accent);animation:giftShake 1s ease-in-out infinite}@keyframes giftShake{0%,to{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}75%{transform:rotate(-3deg)}90%{transform:rotate(0)}}#daily-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#16213ef2;border:1px solid rgba(245,197,24,.3);border-radius:16px;padding:20px;z-index:100;text-align:center;min-width:300px;max-width:340px;backdrop-filter:blur(12px);box-shadow:0 8px 32px #0009}#daily-panel.hidden{display:none}.daily-header{font-size:18px;font-weight:700;color:var(--accent);margin-bottom:4px}#daily-streak-label{font-size:12px;color:var(--text-dim);margin-bottom:14px}#daily-cards{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.daily-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;min-width:60px;text-align:center}.daily-card{opacity:.5}.daily-card.today{opacity:1;border-color:var(--accent);background:#f5c51814}.daily-card-day{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.daily-card-xp{font-size:18px;font-weight:700;color:var(--accent)}.daily-card-xp-label{font-size:10px;color:var(--text-dim)}.daily-claim-btn{background:var(--accent);color:var(--bg-dark);border:none;border-radius:10px;padding:10px 32px;font-size:15px;font-weight:700;cursor:pointer}.daily-claim-btn.hidden{display:none}#daily-claimed-msg{font-size:13px;color:var(--text-dim)}#daily-claimed-msg.hidden{display:none}.daily-flash{position:absolute;inset:0;border-radius:16px;background:radial-gradient(circle at center,rgba(245,197,24,.25) 0%,transparent 70%);pointer-events:none;animation:dailyFlash 1.2s ease forwards}.daily-flash-xp{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:800;color:var(--accent);text-shadow:0 0 20px rgba(245,197,24,.6);animation:dailyXpRise 1.2s ease forwards}@keyframes dailyFlash{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes dailyXpRise{0%{opacity:0;transform:translate(-50%,-30%) scale(.5)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}50%{transform:translate(-50%,-55%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.8)}}.daily-card-claimed{border-color:#4ecca3!important;background:#4ecca31a!important}.daily-card-claimed .daily-card-xp{color:#4ecca3}#research-corner{position:absolute;top:calc(env(safe-area-inset-top,0px) + 62px);left:16px;z-index:10;pointer-events:auto}#research-corner.hidden{display:none}.research-item{background:#16213ed9;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 12px;margin-bottom:6px;min-width:140px;backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000080}.research-item-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.research-item-time{font-size:16px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.research-item-bar{height:3px;background:#ffffff1a;border-radius:2px;margin-top:4px;overflow:hidden}.research-item-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width 1s linear}.research-prompt{position:absolute;bottom:120px;left:50%;transform:translate(-50%);background:#16213ef2;border:1px solid rgba(245,197,24,.3);border-radius:14px;padding:16px 20px;z-index:10;text-align:center;min-width:260px;max-width:320px;backdrop-filter:blur(10px);animation:fadeInUp .3s ease;transition:bottom .3s ease}.research-prompt-title{font-size:16px;font-weight:700;color:var(--accent);margin-bottom:4px}.research-prompt-desc{font-size:13px;color:var(--text-dim);margin-bottom:8px}.research-prompt-time{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.research-prompt-actions{display:flex;gap:8px;justify-content:center}.research-prompt-btn{padding:8px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer}.research-btn-yes{background:var(--accent);color:var(--bg-dark)}.research-btn-no{background:#ffffff14;color:var(--text-dim)}.research-complete-flash{border-color:#4ecca3;animation:researchUnlock .6s ease}.research-complete-flash .research-prompt-title{color:#4ecca3}@keyframes researchUnlock{0%{opacity:0;transform:translate(-50%) scale(.8)}40%{opacity:1;transform:translate(-50%) scale(1.05)}to{transform:translate(-50%) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}#wasm-loading{position:fixed;top:calc(env(safe-area-inset-top,0px) + 60px);left:50%;transform:translate(-50%);z-index:50;background:var(--bg-card);color:var(--text-dim);font-size:12px;font-weight:600;padding:8px 20px;border-radius:20px;box-shadow:0 2px 12px #0006;border:1px solid rgba(255,255,255,.08);transition:all .3s;animation:loading-pulse 1.5s ease-in-out infinite}#wasm-loading.ready{color:var(--success);border-color:#4ecca333;animation:none}#wasm-loading.error{color:var(--danger);border-color:#e74c3c33;animation:none}@keyframes loading-pulse{0%,to{opacity:.7}50%{opacity:1}}.panel-btn{width:100%;padding:14px;margin-top:16px;border:none;border-radius:10px;font-size:15px;font-weight:700;letter-spacing:.5px;cursor:pointer;background:var(--accent);color:var(--bg-dark);transition:all .2s}.panel-btn:active{transform:scale(.98)}.panel-btn:disabled{opacity:.5;cursor:not-allowed}.panel-btn.claim-btn{background:var(--success);color:#fff;box-shadow:0 4px 12px #4ecca34d}.claim-wallet-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.claim-wallet-link:hover{opacity:.8}.claim-explorer-link{display:block;padding:14px;background:#4ecca326;border-radius:10px;font-size:14px;color:var(--success);text-align:center;text-decoration:none;font-weight:700;transition:opacity .15s}.claim-explorer-link:hover{opacity:.85}.cm-avatar-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.cm-avatar-btn:hover{color:var(--accent);background:#ffffff0f}.cm-avatar-btn.locked{opacity:.35}.cm-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.cm-modal-backdrop.hidden{display:none}.cm-modal{background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:14px;width:100%;max-width:380px;max-height:80vh;overflow-y:auto;box-shadow:0 16px 48px #0009}.cm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.cm-modal-header h2{font-size:17px;font-weight:700;color:var(--text);margin:0}.cm-modal-close{background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.cm-modal-close:hover{color:var(--text)}#modal-body{padding:16px 20px 20px}.cm-account-section{margin-bottom:4px}.cm-account-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.cm-account-divider{border-top:1px solid rgba(255,255,255,.06);padding-top:14px;margin-top:14px}.cm-account-hint{font-size:12px;color:var(--text-dim);line-height:1.5;margin:0}.cm-account-value{font-family:monospace;font-size:11px;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);padding:10px 12px;border-radius:8px;word-break:break-all;line-height:1.5}.cm-pubkey-row{display:flex;align-items:center;gap:8px}.cm-pubkey-row .cm-pubkey-truncated{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.cm-pubkey-copy-btn{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text-dim);cursor:pointer;transition:all .15s}.cm-pubkey-copy-btn:hover{color:var(--accent);border-color:#f5c51840}.cm-pubkey-copy-btn.copied{color:var(--success);border-color:#4ecca34d}.cm-btn-copy{display:inline-block;margin-top:8px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--accent);background:#f5c5181a;border:1px solid rgba(245,197,24,.25);border-radius:6px;cursor:pointer;transition:all .15s}.cm-btn-copy:hover{background:#f5c51833}.cm-btn-copy.copied{color:var(--success);border-color:#4ecca34d;background:#4ecca31a}.cm-btn-copy-sm{font-size:11px;margin-top:6px}.cm-btn-copy-centered{display:block;margin-left:auto;margin-right:auto}.cm-coin-visibility-header{cursor:pointer;user-select:none}.cm-coin-visibility-arrow{float:right;font-size:12px;color:var(--text-dim);margin-left:6px}.cm-coin-toggles{display:flex;flex-direction:column;gap:2px;margin-top:8px}.cm-coin-toggles-collapsed{display:none}.cm-coin-toggle-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff08}.cm-coin-toggle-row img{flex-shrink:0}.cm-coin-toggle-name{flex:1;font-size:14px;font-weight:600;color:var(--text)}.cm-switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.cm-switch input{opacity:0;width:0;height:0}.cm-switch-slider{position:absolute;inset:0;background:#ffffff1a;border-radius:20px;cursor:pointer;transition:background .3s}.cm-switch-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:var(--text-dim);border-radius:50%;transition:transform .3s,background .3s}.cm-switch input:checked+.cm-switch-slider{background:#f5c51840}.cm-switch input:checked+.cm-switch-slider:before{transform:translate(16px);background:var(--accent)}.cm-switch input:disabled+.cm-switch-slider{opacity:.4;cursor:not-allowed}.cm-coin-toggle-status{font-size:11px;color:var(--success, #2ecc71);opacity:0;transition:opacity .3s;margin-top:4px}.cm-coin-toggle-status.visible{opacity:1}.cm-account-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.cm-account-action-btn{flex:1;padding:10px 12px;font-size:13px;font-weight:600;color:var(--text);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .15s}.cm-account-action-btn:hover{background:#ffffff1a}.cm-account-action-btn:disabled{opacity:.4;cursor:not-allowed}.cm-account-action-warn{color:var(--danger);border-color:#e74c3c40;background:#e74c3c14}.cm-account-action-warn:hover{background:#e74c3c26}.cm-account-action-warn:disabled{opacity:.4}.cm-account-action-centered{display:block;width:100%}.cm-account-back-btn{display:block;width:100%;margin-top:12px;padding:8px;font-size:13px;color:var(--text-dim);background:none;border:none;cursor:pointer;text-align:center;transition:color .15s}.cm-account-back-btn:hover{color:var(--text)}.cm-account-warning{font-size:12px;line-height:1.5;color:var(--accent);background:#f5c51814;border:1px solid rgba(245,197,24,.2);border-radius:8px;padding:10px 12px;margin-bottom:16px}.cm-account-warning-danger{color:var(--danger);background:#e74c3c14;border-color:#e74c3c33}.cm-seed-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.cm-seed-word{font-family:monospace;font-size:13px;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:8px 10px;display:flex;align-items:center;gap:6px}.cm-seed-num{font-size:10px;color:var(--text-dim);min-width:14px}.cm-seed-input{width:100%;margin-top:8px;padding:12px;font-size:14px;font-family:monospace;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:none;transition:border-color .2s}.cm-seed-input:focus{border-color:var(--accent)}.cm-seed-input::placeholder{color:var(--text-dim);opacity:.5}.cm-account-error{font-size:12px;color:var(--danger);margin-top:6px}.cm-account-error.hidden{display:none}.cw-confirm-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:cw-confirm-fade-in .15s ease}@keyframes cw-confirm-fade-in{0%{opacity:0}to{opacity:1}}.cw-confirm-box{background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:14px;width:100%;max-width:320px;padding:24px;box-shadow:0 16px 48px #0009}.cw-confirm-msg{font-size:14px;color:var(--text);line-height:1.5;text-align:center;margin-bottom:20px}.cw-confirm-actions{display:flex;gap:10px}.cw-confirm-btn{flex:1;padding:10px;font-size:13px;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:opacity .15s}.cw-confirm-btn:hover{opacity:.85}.cw-confirm-btn.confirm{background:var(--accent);color:var(--bg-dark)}.cw-confirm-btn.cancel{background:#ffffff0f;color:var(--text-dim);border:1px solid rgba(255,255,255,.1)}.cw-confirm-btn.cancel:hover{color:var(--text)}.cw-confirm-btn.danger{background:var(--danger);color:#fff}.wm-coin-solo{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0}.wm-coin-solo-name{font-size:16px;font-weight:600;color:var(--text)}.wm-coin-selector{position:relative;margin-bottom:16px}.wm-coin-selector select{display:none}.wm-coin-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 14px;font-size:16px;font-weight:700;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:border-color .15s}.wm-coin-trigger:hover{border-color:#fff3}.wm-coin-selector.open .wm-coin-trigger{border-color:var(--accent)}.wm-coin-trigger-arrow{font-size:12px;color:var(--text-dim);transition:transform .2s}.wm-coin-selector.open .wm-coin-trigger-arrow{transform:rotate(180deg)}.wm-coin-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:10;overflow:hidden;display:none}.wm-coin-selector.open .wm-coin-dropdown-list{display:block}.wm-coin-dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:600;color:var(--text-dim);cursor:pointer;transition:all .1s}.wm-coin-dropdown-item:hover{background:#ffffff0f;color:var(--text)}.wm-coin-dropdown-item.active{color:var(--accent)}.wm-balance-section{text-align:center;margin-bottom:16px}.wm-balance-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.wm-balance-value{font-size:24px;font-weight:800;color:var(--text)}.wm-addr-section{text-align:center;padding-top:14px;border-top:1px solid rgba(255,255,255,.06);margin-bottom:16px}.wm-addr-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.wm-addr-value{font-family:monospace;font-size:11px;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);padding:10px 12px;border-radius:8px;word-break:break-all;line-height:1.5}.wm-withdraw-btn{width:100%;margin-top:4px}.wm-field{margin-bottom:12px}.wm-field-label{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:6px}.wm-input{width:100%;padding:10px 12px;font-size:13px;font-family:monospace;color:var(--text);background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;outline:none;transition:border-color .2s}.wm-input:focus{border-color:var(--accent)}.wm-amount-row{display:flex;gap:8px;align-items:center}.wm-amount-row .wm-input{flex:1}.wm-fee{font-size:11px;color:var(--text-dim);margin-top:4px}.wm-send-btn{width:100%;margin-top:8px;padding:12px;font-size:14px;font-weight:700;background:var(--accent);color:var(--bg-dark);border:none;border-radius:8px;cursor:pointer;transition:opacity .15s}.wm-send-btn:hover{opacity:.9}.wm-send-btn:disabled{opacity:.4;cursor:not-allowed}.wm-status{margin-top:10px;font-size:12px;text-align:center}.wm-error{color:var(--danger)}.wm-success{color:var(--success);font-weight:600;margin-bottom:6px}.wm-explorer-link{display:block;color:var(--accent);font-size:12px;text-decoration:none}.wm-explorer-link:hover{text-decoration:underline}
