:root{--bg: var(--tg-theme-bg-color, #17212b);--secondary-bg: var(--tg-theme-secondary-bg-color, #232e3c);--text: var(--tg-theme-text-color, #f5f5f5);--hint: var(--tg-theme-hint-color, #708499);--link: var(--tg-theme-link-color, #6ab3f3);--button: var(--tg-theme-button-color, #5288c1);--button-text: var(--tg-theme-button-text-color, #ffffff);--glass-1: rgba(255, 255, 255, .09);--glass-2: rgba(255, 255, 255, .04);--stroke: rgba(255, 255, 255, .1);--shadow: rgba(0, 0, 0, .18);--green: #34c759;--red: #ff3b30;--tabbar-height: 58px;--tabbar-gap: 12px}:root[data-theme=dark]{--bg: #17212b;--secondary-bg: #232e3c;--text: #f5f5f5;--hint: #708499;--link: #6ab3f3;--button: #5288c1;--button-text: #ffffff}:root[data-theme=light]{--bg: #ffffff;--secondary-bg: #f2f3f5;--text: #0f0f0f;--hint: #8a8f97;--link: #2481cc;--button: #2481cc;--button-text: #ffffff;--glass-1: rgba(0, 0, 0, .055);--glass-2: rgba(0, 0, 0, .025);--stroke: rgba(0, 0, 0, .09);--shadow: rgba(0, 0, 0, .1)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app__content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:16px 16px calc(var(--tabbar-height) + var(--tabbar-gap) * 2 + env(safe-area-inset-bottom,0px) + 16px)}.app__content--enter{animation:tab-enter .38s cubic-bezier(.22,1,.36,1) both}@keyframes tab-enter{0%{opacity:0;transform:translateY(14px) scale(.985);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.app__content--enter{animation:none}}.page{display:flex;flex-direction:column;flex:1;min-height:0}.page--friends{min-height:100%}.page__header{display:flex;align-items:center;gap:10px;padding:8px 4px 20px}.page__header--stack{flex-direction:column;align-items:flex-start;gap:8px}.page__header--back{gap:6px}.page__header-row{display:flex;align-items:center;gap:10px}.page__back{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:none;border-radius:10px;background:transparent;color:var(--link);cursor:pointer;-webkit-tap-highlight-color:transparent}.page__back:active{background:var(--glass-1)}.page__back-icon{transform:rotate(180deg)}.page__icon{display:inline-flex;align-items:center;color:var(--link)}.page__title{margin:0;font-size:22px;font-weight:700}.page__subtitle{margin:0;padding-left:2px;font-size:14px;line-height:1.4;color:var(--hint)}.page__empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:200px}.page__empty-text{color:var(--hint);font-size:15px}.profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:24px}.avatar{width:104px;height:104px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--stroke),0 8px 24px #00000059}.avatar--fallback{display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:600;color:#fff;background:linear-gradient(135deg,#5288c1,#2f6fb0);-webkit-user-select:none;user-select:none}.profile__name{margin:18px 0 0;font-size:23px;font-weight:700;letter-spacing:-.2px}.profile__meta{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.chip{margin-top:0;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;font-size:13px;background:linear-gradient(135deg,var(--glass-1),var(--glass-2));border:1px solid var(--stroke);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px var(--shadow)}.chip__label{color:var(--hint);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.6px}.chip__sep{width:1px;height:13px;background:var(--stroke)}.chip__value{font-weight:600;letter-spacing:-.1px}.chip__value--admin{color:#7c0be6}.badge{margin-top:0;display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:-.1px;border:1px solid transparent}.badge--compact{padding:8px 14px;font-size:13px}.badge__dot{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}.badge--ok{color:var(--green);background:#34c75924;border-color:#34c75959;box-shadow:0 6px 20px #34c7592e}.badge--ok .badge__dot{animation:pulse 2s ease-in-out infinite}.badge--off{color:var(--red);background:#ff3b3024;border-color:#ff3b3059;box-shadow:0 6px 20px #ff3b3029}.badge--muted{color:var(--hint);background:#7f7f7f1f;border-color:#7f7f7f38}@keyframes pulse{0%,to{box-shadow:0 0 #34c7598c}70%{box-shadow:0 0 0 7px #34c75900}}@media(prefers-reduced-motion:reduce){.badge--ok .badge__dot{animation:none}}.stats{margin-top:28px;width:100%;max-width:360px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px 14px;border-radius:18px;border:1px solid var(--stroke);background:linear-gradient(135deg,var(--glass-1),var(--glass-2));box-shadow:0 4px 16px var(--shadow)}.stat-card__value{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1}.stat-card__value--infinity{font-size:28px;line-height:.9;color:#c9a227}.stat-card__label{font-size:11px;color:var(--hint);text-align:center;line-height:1.25}.anon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:0;display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;border:1px solid transparent;font-size:15px;font-weight:600;cursor:pointer;transition:transform .12s ease,filter .18s ease;-webkit-tap-highlight-color:transparent}.anon-btn--compact{padding:8px 14px;font-size:13px;gap:9px}.anon-btn:disabled{opacity:.55;cursor:default}.anon-btn:not(:disabled):active{transform:scale(.97)}.anon-btn__dot{width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}.anon-btn--compact .anon-btn__dot{width:9px;height:9px}.anon-btn--on{color:var(--green);background:#34c75924;border-color:#34c75959}.anon-btn--off{color:var(--hint);background:#7f7f7f1f;border-color:#7f7f7f38}.invite-hero{position:relative;flex:1;min-height:168px;display:flex;align-items:center;justify-content:center;margin:4px 0 8px;overflow:hidden;pointer-events:none}.invite-hero__glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,#c9a227 38%,transparent) 0%,color-mix(in srgb,#2f80ed 22%,transparent) 45%,transparent 72%);animation:invite-glow 4.5s ease-in-out infinite}.invite-hero__ring{position:absolute;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--link) 28%,transparent)}.invite-hero__ring--outer{width:132px;height:132px;animation:invite-spin 18s linear infinite;border-style:dashed}.invite-hero__ring--inner{width:88px;height:88px;border-color:color-mix(in srgb,#c9a227 40%,transparent);animation:invite-spin-rev 12s linear infinite}.invite-hero__avatars{position:relative;z-index:1;display:flex;align-items:center;gap:18px}.invite-hero__avatar{width:54px;height:54px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 24px #00000038;animation:invite-float 3.2s ease-in-out infinite}.invite-hero__avatar--left{background:linear-gradient(145deg,#4f9cf8,#2f6fd0);animation-delay:0s}.invite-hero__avatar--right{background:linear-gradient(145deg,#dfbf4a,#b88918);animation-delay:.55s}.invite-hero__pulse{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 #34c7598c;animation:invite-pulse 2s ease-out infinite}.invite-hero__badge{position:absolute;top:calc(50% - 68px);right:calc(50% - 92px);z-index:2;padding:6px 11px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:-.2px;color:#5a4200;background:linear-gradient(135deg,#ffe08a,#e0b33a);box-shadow:0 8px 20px #c9a22759;animation:invite-badge 2.8s ease-in-out infinite}.invite-hero__spark{position:absolute;z-index:2;color:#c9a227;filter:drop-shadow(0 2px 6px rgba(201,162,39,.45));animation:invite-spark 2.4s ease-in-out infinite}.invite-hero__spark--1{top:calc(50% - 54px);left:calc(50% - 78px);animation-delay:.1s}.invite-hero__spark--2{top:calc(50% + 36px);left:calc(50% + 58px);color:#2f80ed;animation-delay:.7s}.invite-hero__spark--3{top:calc(50% + 42px);left:calc(50% - 64px);animation-delay:1.2s}@keyframes invite-glow{0%,to{transform:scale(.92);opacity:.75}50%{transform:scale(1.08);opacity:1}}@keyframes invite-spin{to{transform:rotate(360deg)}}@keyframes invite-spin-rev{to{transform:rotate(-360deg)}}@keyframes invite-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes invite-pulse{0%{box-shadow:0 0 #34c75980;transform:scale(1)}70%{box-shadow:0 0 0 14px #34c75900;transform:scale(1.05)}to{box-shadow:0 0 #34c75900;transform:scale(1)}}@keyframes invite-badge{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(-2deg)}}@keyframes invite-spark{0%,to{opacity:.35;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(12deg)}}@media(prefers-reduced-motion:reduce){.invite-hero__glow,.invite-hero__ring,.invite-hero__avatar,.invite-hero__pulse,.invite-hero__badge,.invite-hero__spark{animation:none}}.friends-lower{margin-top:0;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:8px;padding-bottom:4px}.invite-perks{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:0 auto}.invite-perk{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:999px;border:1px solid var(--stroke);background:var(--secondary-bg);box-shadow:0 2px 10px var(--shadow)}.invite-perk__icon{flex:none;width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.invite-perk__icon--friends{background:#2f80ed}.invite-perk__icon--sparkle{background:#c9a227}.invite-perk__text{font-size:13.5px;font-weight:500;line-height:1.35;text-align:left;color:var(--text)}.referral{display:flex;flex-direction:column;align-items:center;padding-top:18px;gap:10px}.referral__caption{margin:0;font-size:15px;color:var(--hint)}.referral__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;max-width:100%;padding:12px 16px;cursor:pointer;color:var(--text);font-size:14.5px;font-weight:500;border-radius:16px;border:1px solid var(--stroke);background:linear-gradient(135deg,var(--glass-1),var(--glass-2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px var(--shadow);transition:border-color .18s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.referral__link:active{transform:scale(.98)}.referral__link--copied{border-color:#34c75973}.referral__link--error{border-color:#ff3b3073}.referral__clip,.referral__copy{display:inline-flex;flex:none;color:var(--hint)}.referral__link--copied .referral__copy{color:var(--green)}.referral__url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referral__hint{font-size:12.5px;color:var(--hint);min-height:16px}.referral__hint--error{color:var(--red)}.referral__share{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-top:14px;display:inline-flex;align-items:center;gap:9px;padding:13px 24px;cursor:pointer;border:none;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:-.1px;color:var(--button-text);background:var(--button);box-shadow:0 8px 22px #5288c152;transition:transform .12s ease,filter .18s ease;-webkit-tap-highlight-color:transparent}.referral__share:active{transform:scale(.97);filter:brightness(.94)}.group{margin-top:14px;border-radius:16px;overflow:hidden;border:1px solid var(--stroke);background:linear-gradient(135deg,var(--glass-1),var(--glass-2));box-shadow:0 4px 16px var(--shadow)}.row{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:12px;padding:14px 15px;border:none;background:transparent;color:var(--text);font-size:15px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.row+.row{box-shadow:inset 0 1px 0 var(--stroke)}.row:active{background:var(--glass-2)}.row__icon{display:inline-flex;flex:none;color:var(--link)}.row__title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row__value{flex:none;color:var(--hint);font-size:14px}.row__chevron{display:inline-flex;flex:none;color:var(--hint);transition:transform .18s ease}.row__chevron--open{transform:rotate(90deg)}.options{display:flex;flex-direction:column;padding:4px 8px 8px 46px;background:var(--glass-2)}.options__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text);font-size:14.5px;text-align:left;padding:10px 12px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-tap-highlight-color:transparent}.options__item--active{color:var(--link);font-weight:600;background:color-mix(in srgb,var(--link) 12%,transparent)}.options__item--soon{color:var(--hint);cursor:default}.options__soon{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:2px 7px;border-radius:999px;border:1px solid var(--stroke)}.userid{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:center;margin-top:22px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;border:1px solid var(--stroke);background:var(--glass-2);color:var(--hint);font-size:13.5px;cursor:pointer;-webkit-tap-highlight-color:transparent}.userid__value{color:var(--text);font-weight:600}.userid__copied{color:var(--green)}.page--sub{animation:tab-enter .32s cubic-bezier(.22,1,.36,1) both}.faq-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.faq-item{display:flex;gap:12px;align-items:flex-start;padding:14px 14px 14px 12px;border-radius:16px;border:1px solid var(--stroke);background:linear-gradient(135deg,var(--glass-1),var(--glass-2));box-shadow:0 4px 14px var(--shadow)}.faq-item--soon{opacity:.72}.faq-item__num{flex:none;width:28px;height:28px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--button-text);background:var(--button)}.faq-item__body{min-width:0;text-align:left}.faq-item__title{margin:2px 0 6px;font-size:15px;font-weight:700;letter-spacing:-.1px}.faq-item__text{margin:0;font-size:13.5px;line-height:1.4;color:var(--hint)}.faq-cards{margin-top:18px;display:flex;flex-direction:column;gap:10px}.faq-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid var(--stroke);background:var(--secondary-bg);box-shadow:0 2px 10px var(--shadow);text-align:left}.faq-card--warn .faq-card__text{margin:0;font-size:13.5px;line-height:1.4;color:var(--text);font-weight:500}.faq-card__icon{flex:none;font-size:18px;line-height:1}.faq-card--support{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;color:inherit;font:inherit;-webkit-tap-highlight-color:transparent;transition:transform .12s ease}.faq-card--support:active{transform:scale(.985)}.faq-card__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--hint)}.faq-card__handle{font-size:16px;font-weight:700;color:var(--link)}@media(prefers-reduced-motion:reduce){.page--sub{animation:none}}.tabbar{position:fixed;left:var(--tabbar-gap);right:var(--tabbar-gap);bottom:calc(var(--tabbar-gap) + env(safe-area-inset-bottom,0px));height:var(--tabbar-height);display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;padding:4px;border-radius:22px;background:color-mix(in srgb,var(--secondary-bg) 88%,transparent);border:1px solid var(--stroke);box-shadow:0 8px 28px #00000052;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.tabbar__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--hint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:0;border-radius:18px;transition:color .18s ease,background-color .18s ease,transform .12s ease;-webkit-tap-highlight-color:transparent}.tabbar__item:active{transform:scale(.94)}.tabbar__item--active{color:var(--link);background:color-mix(in srgb,var(--link) 13%,transparent)}.tabbar__icon{display:inline-flex;align-items:center;justify-content:center;height:23px;transition:transform .18s ease}.tabbar__item--active .tabbar__icon{transform:translateY(-1px)}.tabbar__label{font-size:10.5px;font-weight:500;letter-spacing:-.1px}.tabbar__item--active .tabbar__label{font-weight:600}
