:root{--bg:#050505;--panel:#111;--indigo:#6366f1;--indigo-border:#6366f14d;--indigo-faint:#6366f180;--live:#0f0;--muted:#a1a1aa;--faint:#ffffff4d;--dim:#ffffff80;--text:#fff;--text-inverse:#000;--btn-bg:#ffffff08;--btn-border:#ffffff14;--btn-disabled-bg:#ffffff0d;--btn-disabled-border:#ffffff05;--white-border:#fff9;--border-faint:#ffffff0d;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}[data-theme=light]{--bg:#f4f4f5;--panel:#fff;--indigo:#4f46e5;--indigo-border:#4f46e54d;--indigo-faint:#4f46e580;--live:#16a34a;--muted:#52525b;--faint:#0000004d;--dim:#00000080;--text:#09090b;--text-inverse:#fff;--btn-bg:#00000008;--btn-border:#00000014;--btn-disabled-bg:#0000000d;--btn-disabled-border:#00000005;--white-border:#0006;--border-faint:#0000000d}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:var(--mono);cursor:pointer}.app{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 16px)20px calc(env(safe-area-inset-bottom) + 20px);flex-direction:column;align-items:center;gap:16px;max-width:560px;margin:0 auto;display:flex}.header{justify-content:space-between;align-items:center;width:100%;display:flex}.header-brand{align-items:center;gap:10px;display:flex}.header-title{color:var(--indigo);letter-spacing:2px;font-size:12px;font-weight:700}.status-dot{background:var(--live);border-radius:3px;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{50%{opacity:.4}}.header-actions{align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--indigo-border);color:var(--muted);letter-spacing:1px;background:0 0;border-radius:6px;padding:6px 10px;font-size:10px}.chip:hover{border-color:var(--indigo);color:var(--text)}.chip-connected{color:var(--live);border-color:#00ff004d}.map-shell{border:1px solid var(--indigo-border);background:var(--panel);border-radius:16px;width:100%;height:450px;max-height:55vh;position:relative;overflow:hidden}.map-loading{color:var(--dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;font-size:12px;display:flex;position:absolute;inset:0}.info{flex-direction:column;align-items:center;gap:5px;width:100%;display:flex}.info-label{color:var(--faint);letter-spacing:1px;font-size:10px}.info-distance{color:var(--text);font-size:36px;font-weight:900}.info-distance.in-range{color:var(--live)}.info-drop{color:var(--muted);letter-spacing:1px;font-size:11px}.claim-button{background:var(--indigo);color:#fff;letter-spacing:2px;border:1px solid #ffffff1a;border-radius:8px;width:100%;height:60px;font-size:15px;font-weight:700}.claim-button:disabled{background:var(--btn-disabled-bg);border-color:var(--btn-disabled-border);color:var(--dim);cursor:not-allowed}.sync-text{color:var(--indigo-faint);letter-spacing:1px;text-align:center;font-size:9px}.error-text{color:#f87171;letter-spacing:1px;text-align:center;font-size:10px}.tx-link{color:var(--live);letter-spacing:1px;font-size:10px;text-decoration:underline}.modal-backdrop{z-index:2000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--indigo-border);border-radius:12px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:20px;display:flex}.modal-title{color:var(--indigo);letter-spacing:2px;margin-bottom:4px;font-size:11px;font-weight:700}.wallet-option{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--text);letter-spacing:1px;text-align:left;border-radius:8px;align-items:center;gap:12px;padding:12px;font-size:13px;display:flex}.wallet-option:hover{border-color:var(--indigo)}.wallet-option img{border-radius:4px;width:24px;height:24px}.modal-empty{color:var(--dim);font-size:11px;line-height:1.6}.modal-empty a{color:var(--indigo)}.leaflet-container{background:var(--bg);font-family:var(--mono)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--panel);color:var(--text);border:1px solid var(--indigo-border);font-size:11px}.user-marker{background:0 0;border:none}.user-marker-dot{background:var(--indigo);border:2px solid var(--panel);width:14px;height:14px;box-shadow:0 0 12px var(--indigo);border-radius:50%}.drop-marker{background:0 0;border:none}.drop-marker-pin{border:2px solid var(--white-border);border-radius:50% 50% 50% 0;width:16px;height:16px;transform:rotate(-45deg)}.leaflet-control-geosearch form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #00000080;border:1px solid var(--indigo-border)!important;background:#111c!important;width:250px!important}.leaflet-control-geosearch form input{color:var(--text)!important;font-family:var(--mono)!important;background:0 0!important;border:none!important;outline:none!important;width:100%!important;padding:8px 12px!important;font-size:11px!important}.leaflet-control-geosearch .results{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:8px;margin-top:8px;overflow:hidden;box-shadow:0 8px 24px #000000b3;background:var(--panel)!important;border:1px solid var(--indigo-border)!important;color:var(--text)!important}.leaflet-control-geosearch .results>*{cursor:pointer;transition:background .2s,color .2s;font-size:10px!important;font-family:var(--mono)!important;border-bottom:1px solid var(--border-faint)!important;color:var(--muted)!important;background:0 0!important;padding:8px 12px!important}.leaflet-control-geosearch .results>:hover{color:#fff!important;background:#6366f133!important}.leaflet-control-geosearch .results>.active{color:#fff!important;background:#6366f14d!important}.leaflet-control-geosearch a.reset{color:var(--muted)!important;right:8px!important}.leaflet-control-geosearch a.reset:hover{color:#fff!important}[data-theme=light] .leaflet-control-geosearch form{background:#fffc!important;box-shadow:0 4px 12px #0000001a!important}[data-theme=light] .leaflet-control-geosearch .results{background:#fffffff2!important;box-shadow:0 8px 24px #0000001a!important}[data-theme=light] .leaflet-control-geosearch .results>:hover{color:var(--indigo)!important;background:#4f46e51a!important}[data-theme=light] .leaflet-control-geosearch .results>.active{color:var(--indigo)!important;background:#4f46e526!important}[data-theme=light] .leaflet-control-geosearch a.reset:hover{color:var(--text)!important}
