:root{--bg:#171b2b;--card:#0c0f19;--muted:#9ca3af;--text:#fff;--purple:#a855f7;--purple-700:#7c3aed;--cyan:#22d3ee;--yellow:#facc15;--purple-brand:#ab54da;--hero-stat-track:max-content;--row-avatar:54px;--hero-avatar:100px;--hero-ring:104px;--hero-gap:16px;--hero-row1:calc(var(--hero-ring) + 8px);--hero-pill-font:11px;--hero-pill-py:5px;--hero-pill-px:10px;--hero-label-font:11px;--hero-label-offset:4px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.main{min-height:100vh;display:flex;flex-direction:column}.wrap{width:100%;max-width:480px;margin:0 auto;padding:env(safe-area-inset-top) 16px calc(84px + env(safe-area-inset-bottom))}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 4px 8px}.sectionHeader{margin:14px 4px 8px;font-weight:800;color:#e5e7eb}.title{font-size:24px;font-weight:800}.subtitle{font-size:13px;color:var(--muted)}.card{background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.06);border-radius:16px;padding:12px}.list{display:flex;flex-direction:column;gap:10px}.row{display:grid;grid-template-columns:28px 48px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:10px;border-radius:12px;background:hsla(0,0%,100%,.03)}.rank{font-weight:700;color:var(--muted);text-align:center}.rankBadge{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#e5e7eb;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12)}.name{font-weight:700}.meta{margin-top:2px;font-size:12px;color:var(--muted)}.ratingWrap{display:flex;align-items:center;gap:12px}.progressBar{height:8px;width:100%;background:hsla(0,0%,100%,.08);border-radius:999px;overflow:hidden}.progressInner{height:100%;background:linear-gradient(90deg,var(--purple-700),var(--cyan));transition:width .14s ease-out}.progressInnerPurple{height:100%;background:var(--purple-brand)}.heroCard{padding:16px;display:flex;flex-direction:column;align-items:center;overflow:hidden}.heroTitle{text-align:center;font-weight:800;margin-bottom:8px}.heroGrid3{display:grid;grid-template-columns:var(--hero-stat-track) var(--hero-avatar) var(--hero-ring);grid-template-rows:var(--hero-row1) auto;grid-column-gap:var(--hero-gap);column-gap:var(--hero-gap);justify-items:center;align-items:center;justify-content:center;width:max-content;margin:6px auto 2px}.heroCell,.heroStatCol{display:flex;align-items:center;justify-content:center}.heroStatCol{flex-direction:column;gap:6px;grid-row:1/span 2;place-self:center}.heroPill{display:inline-flex;align-items:center;justify-content:center;padding:var(--hero-pill-py) var(--hero-pill-px);border-radius:12px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);font-size:var(--hero-pill-font);color:#e5e7eb;text-align:center}.heroProfile{display:flex;flex-direction:column;align-items:center;gap:6px;grid-row:1}.heroPic{grid-column:2;grid-row:1;cursor:zoom-in}.heroAvatar{border-radius:16px;object-fit:cover;width:var(--hero-avatar);height:var(--hero-avatar)}.heroHandle{grid-column:2;grid-row:2;text-align:center;margin-top:var(--hero-label-offset);font-size:var(--hero-label-font)}.handle{font-weight:800}.heroSigmaLabel{grid-column:3;grid-row:2;text-align:center;color:var(--muted);font-size:var(--hero-label-font);margin-top:var(--hero-label-offset)}.heroRight{display:flex;align-items:center;justify-content:center;grid-row:1;grid-column:3}.avatar{width:var(--row-avatar);height:var(--row-avatar);object-fit:cover;cursor:zoom-in}.avatar,.heroAvatar{border-radius:50%}.avatarWrap{position:relative;width:var(--row-avatar);height:var(--row-avatar);display:grid;place-items:center}.avatarShade{position:absolute;inset:0;border-radius:50%;background:rgba(10,13,23,.35);border:1px solid hsla(0,0%,100%,.08)}.placeholderIcon{position:absolute;width:26px;height:26px;color:#a3a7b3;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.stickyBar{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(23,27,43,.2),rgba(23,27,43,.92) 24px,#171b2b 60%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid hsla(0,0%,100%,.06)}.primaryBtn{width:100%;height:48px;border:none;font-weight:700;color:#fff;background:linear-gradient(90deg,#36f,#0cf)}.badge,.primaryBtn{border-radius:999px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:4px 8px;color:#e5e7eb;background:hsla(0,0%,100%,.06)}.rowFooter{margin-top:8px}.scanCard{background:#0b0f1a;border:1px solid hsla(0,0%,100%,.06);border-radius:24px;padding:18px;margin:8px 4px 16px}.scanCardInner{background:#0a0d17;border-radius:24px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:16px}.scanIcon{width:140px;height:140px;border-radius:24px;background:#0e111b;display:grid;place-items:center;color:#636a7b}.scanHeading{font-size:18px;text-align:center;font-weight:700}.scanBtn{margin-top:4px;height:48px;width:min(84%,340px);border-radius:999px;border:none;color:#fff;font-weight:700;background:linear-gradient(90deg,#ab54da,#7c3aed)}.privacyNotice{margin:12px 4px 0;padding:14px;border-radius:14px;background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.01));border:1px solid hsla(0,0%,100%,.06);font-size:12px;color:var(--muted);line-height:1.5}.scanLinks{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:12px;text-align:center;font-size:12px}.scanLinks a{color:var(--muted);text-decoration:underline}.scanLinksFixed{position:relative;margin-top:16px;padding:8px 16px;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;text-align:center;font-size:12px;background:transparent;z-index:1}.scanLinksFixed a{color:var(--muted);text-decoration:underline}.scanLinksFixed[data-loading=true]{visibility:hidden}.joinBanner{margin:8px 4px 12px;padding:12px 14px;border-radius:14px;color:#111827;background:linear-gradient(180deg,rgba(203,213,255,.9),rgba(216,180,254,.9));border:1px solid hsla(0,0%,100%,.18);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.25),0 2px 8px rgba(0,0,0,.25)}.joinBanner,.loadingHint{font-weight:800;text-align:center}.loadingHint{margin:10px 8px 0;background:linear-gradient(90deg,#60a5fa,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sheetOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:50}.sheet{width:100%;max-width:520px;background:#0b0f1a;border-top-left-radius:16px;border-top-right-radius:16px;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid hsla(0,0%,100%,.06)}.sheetTitle{text-align:center;font-weight:800;margin:6px 0 10px}.sheetBtn{width:100%;height:48px;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.05);color:#fff;font-weight:700}.sheetBtn+.sheetBtn{margin-top:10px}.chosenImg{width:min(76%,260px);aspect-ratio:1;border-radius:999px;object-fit:cover;border:2px solid hsla(0,0%,100%,.1);background:#0e111b}.actionRow{display:flex;gap:10px;margin-top:12px;width:min(90%,420px)}.actionPrimary{background:linear-gradient(90deg,#bf5af1,#7c3aed)}.actionBlue,.actionPrimary{flex:1 1;height:44px;border:none;border-radius:999px;color:#fff;font-weight:700}.actionBlue{background:linear-gradient(90deg,#36f,#0cf)}.actionGhost{flex:1 1;height:44px;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:transparent;color:#fff;font-weight:700}.usernameWrap{width:min(84%,360px);margin-top:10px;display:flex;flex-direction:column;align-items:center}.textInput{width:100%;height:40px;border-radius:10px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.04);color:#fff;padding:0 12px;font-weight:600;text-align:center;font-size:16px}.textInput::placeholder{color:#9ca3af}.errText{margin-top:6px;color:#fca5a5;font-size:12px;font-weight:700}.progressWrap{margin-top:16px;width:min(90%,420px)}.resultsWrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding:2px 0 6px}.resultRings{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;place-items:center;width:100%}.resultItem{display:flex;flex-direction:column;align-items:center;gap:6px}.resultItem .circleWrap{margin-bottom:22px}.meme{max-width:300px;text-align:center;color:#d1d5db;font-size:12px;line-height:1.4}.resultsSub{color:var(--muted);font-size:13px;text-align:center}.resultsBtns{display:flex;flex-direction:column;gap:10px;width:100%;align-items:center}.blueCta,.purpleCta{width:min(84%,360px);height:48px;border-radius:999px;border:none;font-weight:700;color:#fff}.blueCta{background:linear-gradient(90deg,#36f,#0cf)}.purpleCta{background:linear-gradient(90deg,#ab54da,#7c3aed)}.modalOverlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:60}.modal{width:calc(100% - 32px);max-width:420px;background:#0b0f1a;border-radius:16px;border:1px solid hsla(0,0%,100%,.08);padding:16px;text-align:center}.modal h3{margin:6px 0 8px}.modal p{color:var(--muted);font-size:13px}.modal .btnRow{gap:10px;margin-top:12px}.modal .btnRow,.modal .btnRow a{display:flex;justify-content:center}.modal .btnRow a{width:min(84%,340px)}.modal .btn{flex:1 1;height:44px;border-radius:999px;border:1px solid hsla(0,0%,100%,.12);background:transparent;color:#fff;font-weight:700}.modal .btnPrimary{border:none;background:linear-gradient(90deg,#36f,#0cf);color:#fff;width:min(84%,360px);height:48px;border-radius:999px;font-weight:700}.spinner{width:28px;height:28px;border:3px solid hsla(0,0%,100%,.2);border-top-color:#60a5fa;border-radius:50%;animation:spin .9s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(1turn)}}.blueCta:disabled,.purpleCta:disabled{opacity:.6;filter:grayscale(.2);pointer-events:none}.routeLoading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(3,6,17,.9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:70}.routeLoading .box{background:#0b0f1a;border:1px solid hsla(0,0%,100%,.08);border-radius:16px;padding:18px 20px;text-align:center;width:280px}.routeLoading .txt{margin-top:10px;color:var(--muted);font-size:13px}