:root{--bg:#0a0a0f;--bg-elev:#15151f;--bg-elev-2:#1d1d2b;--card:#191926;--text:#f4f4f8;--text-dim:#a0a0b4;--text-faint:#6b6b80;--line:#28283a;--brand:#ff3d71;--brand-2:#7c4dff;--brand-grad:linear-gradient(135deg,#ff3d71,#ff7a45 45%,#7c4dff);--radar:#28e0c8;--ok:#2bd96f;--warn:#ffb020;--shadow:0 12px 40px rgba(0,0,0,.5);--r-lg:24px;--r-md:16px;--r-sm:10px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer;border:none;background:none}button,input,textarea{font-family:inherit}.phone{max-width:440px;margin:0 auto;min-height:100dvh;background:var(--bg);position:relative;display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line);overflow:hidden}.screen{flex:1 1;display:flex;flex-direction:column;overflow-y:auto;padding-bottom:84px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:16px;border-radius:999px;padding:15px 22px;transition:transform .12s ease,opacity .15s ease;min-height:52px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand-grad);color:#fff;box-shadow:0 8px 24px rgba(255,61,113,.35)}.btn-ghost{background:var(--bg-elev-2);color:var(--text)}.btn-outline{background:transparent;border:1.5px solid var(--line);color:var(--text)}.btn:disabled{opacity:.5}.btn-block{width:100%}.badge-verified{display:inline-flex;align-items:center;gap:4px;background:rgba(40,224,200,.14);color:var(--radar);font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}.chip{display:inline-block;background:var(--bg-elev-2);color:var(--text-dim);font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;border:1px solid var(--line)}.pill-band{display:inline-flex;align-items:center;gap:5px;background:rgba(124,77,255,.16);color:#b9a3ff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.2px}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:440px;justify-content:space-around;background:rgba(15,15,22,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:9px 8px calc(9px + env(safe-area-inset-bottom));z-index:50}.tab,.tabbar{display:flex;align-items:center}.tab{flex-direction:column;gap:3px;color:var(--text-faint);font-size:10px;font-weight:700;padding:4px 10px;flex:1 1}.tab.active{color:var(--brand)}.tab svg{width:24px;height:24px}.topbar{display:flex;justify-content:space-between;padding:14px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:linear-gradient(180deg,var(--bg) 60%,transparent)}.logo,.topbar{align-items:center}.logo{font-size:22px;font-weight:900;letter-spacing:-.5px;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-flex;gap:7px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md)}@keyframes pulse-ring{0%{transform:scale(.85);opacity:.7}70%{transform:scale(1.6);opacity:0}to{opacity:0}}@keyframes float-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:float-up .4s ease both}@keyframes confetti-pop{0%{transform:scale(.6);opacity:0}50%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.maplibregl-ctrl-attrib{font-size:9px!important;opacity:.5}.maplibregl-canvas{outline:none}