:root{--app-inset-top:calc(max(var(--app-safe-top,var(--tg-safe-area-inset-top,0px)), env(safe-area-inset-top,0px)) + var(--app-content-top,var(--tg-content-safe-area-inset-top,0px)));--app-inset-right:calc(max(var(--app-safe-right,var(--tg-safe-area-inset-right,0px)), env(safe-area-inset-right,0px)) + var(--app-content-right,var(--tg-content-safe-area-inset-right,0px)));--app-inset-bottom:calc(max(var(--app-safe-bottom,var(--tg-safe-area-inset-bottom,0px)), env(safe-area-inset-bottom,0px)) + var(--app-content-bottom,var(--tg-content-safe-area-inset-bottom,0px)));--app-inset-left:calc(max(var(--app-safe-left,var(--tg-safe-area-inset-left,0px)), env(safe-area-inset-left,0px)) + var(--app-content-left,var(--tg-content-safe-area-inset-left,0px)));--app-height:var(--app-vh-stable,var(--tg-viewport-stable-height,100dvh));--app-live-height:var(--app-vh,var(--tg-viewport-height,100dvh));--page-x:clamp(16px, 4.6vw, 24px);--page-l:calc(var(--page-x) + var(--app-inset-left));--page-r:calc(var(--page-x) + var(--app-inset-right));--page-max:640px;--stack:14px;--fs-display:clamp(25px, 6.4vw, 31px);--fs-h2:clamp(19px, 4.6vw, 22px);--fs-h3:17px;--fs-body:15px;--fs-label:13px;--fs-caption:12px;--fs-micro:11px;--r-card:18px;--r-field:14px;--r-pill:999px;--r-sheet:22px;--control-h:48px;--control-h-sm:38px;--bg:var(--tg-theme-bg-color,#0b0e14);--elevated:var(--tg-theme-secondary-bg-color,#141821);--text:var(--tg-theme-text-color,#f2f4f8);--muted:var(--tg-theme-hint-color,#8d94a6);--gold:#bd9440;--on-gold:#14100a;--danger:#ff6b79;--surface:color-mix(in srgb, var(--elevated) 88%, var(--bg));--line:color-mix(in srgb, var(--text) 18%, transparent);--line-soft:color-mix(in srgb, var(--text) 10%, transparent);--gold-soft:color-mix(in srgb, var(--gold) 20%, transparent);--danger-soft:color-mix(in srgb, var(--danger) 12%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html{overscroll-behavior:none;height:100%;overflow:hidden}body{overscroll-behavior:none;background:var(--bg);width:100%;height:100%;color:var(--text);font-size:var(--fs-body);touch-action:manipulation;-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.45;position:fixed;inset:0;overflow:hidden}#root{isolation:isolate;height:100%}h1,h2,h3{letter-spacing:-.2px;margin:0;line-height:1.2}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.visually-hidden{clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{height:var(--app-height);background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;max-height:100%;display:grid;overflow:hidden}.app-main{min-width:0;min-height:0;display:grid;position:relative}.screen-scroll{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:0;overflow:hidden auto}.screen-scroll::-webkit-scrollbar{display:none}.screen{gap:var(--stack);width:100%;max-width:calc(var(--page-max) + var(--page-l) + var(--page-r));padding:8px var(--page-r) 28px var(--page-l);align-content:start;margin-inline:auto;display:grid}.screen,.bottom-sheet,.profile-form,.form-card,.card,.filters,.filter-group,.location-card,.person-card,.person-copy,.photo-copy,.admin-list,.admin-user,.skeleton-list,.people-list>*{grid-template-columns:minmax(0,1fr)}.bar-inner{width:100%;max-width:var(--page-max);align-items:center;gap:12px;margin-inline:auto;display:flex}.app-header{padding:calc(var(--app-inset-top) + 10px) var(--page-r) 10px var(--page-l);border-bottom:1px solid var(--line-soft);background:var(--bg)}.app-header__identity{flex:1;gap:1px;min-width:0;display:grid}.app-header__identity strong{font-size:var(--fs-h3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-header__identity span{color:var(--muted);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.language-button{min-height:var(--control-h-sm);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-caption);letter-spacing:.4px;background:0 0;flex:none;padding:0 13px;font-weight:800}.bottom-nav{padding:6px var(--page-r) calc(var(--app-inset-bottom) + 6px) var(--page-l);border-top:1px solid var(--line-soft);background:var(--bg)}.bottom-nav .bar-inner{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;display:grid}.bottom-nav button{border-radius:var(--r-field);min-width:0;min-height:50px;color:var(--muted);background:0 0;border:0;place-items:center;gap:3px;padding:6px 2px;transition:color .15s,background-color .15s;display:grid}.bottom-nav button.active{background:var(--gold-soft);color:var(--text)}.bottom-nav i{font-size:18px;font-style:normal;line-height:1}.bottom-nav button.active i{color:var(--gold)}.bottom-nav span{max-width:100%;font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.screen-heading{gap:6px;padding-block:6px 2px;display:grid}.screen-heading h1{font-size:var(--fs-display);letter-spacing:-.6px;font-weight:800}.screen-heading p:not(.eyebrow){color:var(--muted);font-size:var(--fs-body)}.eyebrow{color:var(--gold);font-size:var(--fs-micro);letter-spacing:1.4px;text-transform:uppercase;font-weight:800}.avatar{border:1.5px solid var(--gold);background:var(--surface);color:var(--text);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-small{width:42px;height:42px;font-size:var(--fs-label)}.avatar-normal{width:60px;height:60px;font-size:var(--fs-h3)}.avatar-large{width:92px;height:92px;font-size:26px}.primary-button,.secondary-button{min-height:var(--control-h);border-radius:var(--r-field);font-size:var(--fs-body);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:750;transition:opacity .15s,transform .1s;display:inline-flex}.primary-button{background:var(--gold);color:var(--on-gold)}.secondary-button{border-color:var(--line);background:0 0}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled){transform:scale(.985)}.primary-button:disabled,.secondary-button:disabled{cursor:default;opacity:.45}.text-button{min-height:40px;color:var(--muted);font-size:var(--fs-label);background:0 0;border:0;padding:8px;font-weight:700}.block-button{width:100%}.card{border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--surface);padding:16px}input,select,textarea{width:100%;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-field);background:var(--bg);color:var(--text);padding:12px 14px;font-size:16px}textarea{resize:none;min-height:96px;line-height:1.45}input::placeholder,textarea::placeholder{color:var(--muted)}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 17px center,right 12px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:38px}input[type=date]{min-width:0}input[type=date]::-webkit-date-and-time-value{text-align:left}.field{min-width:0;color:var(--muted);font-size:var(--fs-label);gap:7px;font-weight:650;display:grid}.field-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;display:grid}.field-hint{color:var(--muted);font-size:var(--fs-caption);font-weight:500}.chip-row{margin-inline:calc(var(--page-l) * -1) calc(var(--page-r) * -1);padding-inline:var(--page-l) var(--page-r);overscroll-behavior-x:contain;scroll-padding-inline:var(--page-l) var(--page-r);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.chip-row::-webkit-scrollbar{display:none}.chip{min-height:var(--control-h-sm);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--muted);font-size:var(--fs-label);white-space:nowrap;background:0 0;flex:none;padding:0 14px;font-weight:700}.chip[aria-pressed=true]{border-color:var(--gold);background:var(--gold-soft);color:var(--text)}.filters{gap:10px;display:grid}.filter-group{gap:7px;display:grid}.filter-group>span{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.8px;text-transform:uppercase;font-weight:750}.location-card{border:1px solid var(--gold-soft);border-radius:var(--r-card);background:var(--surface);justify-items:start;gap:12px;padding:20px;display:grid}.location-visual{background:var(--gold);width:46px;height:46px;color:var(--on-gold);border-radius:50%;place-items:center;font-size:24px;display:grid}.location-card h2{font-size:var(--fs-h2)}.location-card p{color:var(--muted);font-size:var(--fs-label)}.location-card .primary-button,.location-card .text-button{width:100%;margin-top:4px}.people-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px;display:grid}.person-card{border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--surface);gap:12px;padding:14px;display:grid}.person-main{text-align:left;background:0 0;border:0;gap:12px;width:100%;padding:0;display:flex}.person-copy{flex:1;align-content:center;gap:2px;min-width:0;display:grid}.person-title-row{align-items:baseline;gap:8px;display:flex}.person-title-row h3{min-width:0;font-size:var(--fs-h3);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.distance{color:var(--gold);font-size:var(--fs-caption);flex:none;margin-left:auto;font-weight:800}.username{color:var(--muted);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-meta{font-size:var(--fs-caption)}.purpose{color:var(--muted);font-size:var(--fs-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.card-actions button{border-radius:var(--r-field);min-height:40px;font-size:var(--fs-label);justify-content:center;align-items:center;gap:6px;font-weight:750;display:inline-flex}.like-button{border:1px solid var(--gold-soft);background:var(--gold-soft)}.like-button em{color:var(--gold);font-style:normal}.message-button{border:1px solid var(--line);background:0 0}.content-state{border:1px dashed var(--line);border-radius:var(--r-card);min-height:clamp(180px,34vh,300px);color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:6px;padding:32px 20px;display:grid}.content-state>span{font-size:26px;line-height:1}.content-state h2{color:var(--text);font-size:var(--fs-h2)}.content-state p{font-size:var(--fs-label)}.content-state .secondary-button{margin-top:8px}.skeleton-list{gap:10px;display:grid}.skeleton-card{border:1px solid var(--line-soft);border-radius:var(--r-card);gap:12px;padding:14px;display:flex}.skeleton-card i{border-radius:50%;width:60px;height:60px}.skeleton-card div{flex:1;align-content:center;gap:9px;display:grid}.skeleton-card b{border-radius:6px;height:11px}.skeleton-card b:nth-child(2){width:62%}.skeleton-card b:nth-child(3){width:40%}.skeleton-card i,.skeleton-card b{background:var(--elevated);background:linear-gradient(90deg, var(--elevated), var(--surface), var(--elevated));background-size:200% 100%;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.profile-form{gap:var(--stack);display:grid}.form-card{border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--surface);gap:12px;padding:16px;display:grid}.photo-field{align-items:center;gap:14px;display:flex}.photo-copy{flex:1;gap:8px;min-width:0;display:grid}.photo-actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.photo-actions .secondary-button{min-height:var(--control-h-sm);font-size:var(--fs-label);padding:8px 12px}.selfie-button{border-color:var(--gold-soft);background:var(--gold-soft)}.wizard-head{padding:calc(var(--app-inset-top) + 12px) var(--page-r) 12px var(--page-l);background:var(--bg)}.wizard-head .bar-inner{gap:8px;display:grid}.wizard-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wizard-meta span{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.6px;font-weight:700}.wizard-progress{gap:5px;display:flex}.wizard-progress i{border-radius:var(--r-pill);background:var(--line-soft);flex:1;height:3px;transition:background-color .25s}.wizard-progress i.done{background:var(--gold)}.wizard-foot{padding:10px var(--page-r) calc(var(--app-inset-bottom) + 10px) var(--page-l);border-top:1px solid var(--line-soft);background:var(--bg)}.wizard-foot .bar-inner{gap:10px}.wizard-foot .secondary-button{flex:0 34%}.wizard-foot .primary-button{flex:1}.toggle-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.toggle-row strong{font-size:var(--fs-body)}.toggle-row p{color:var(--muted);font-size:var(--fs-caption);margin-top:4px}.switch{border-radius:var(--r-pill);background:var(--line);border:0;flex:none;width:50px;height:30px;padding:3px;transition:background-color .2s}.switch i{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;display:block}.switch.on{background:var(--gold)}.switch.on i{transform:translate(20px)}.sheet-backdrop{z-index:60;width:100%;height:var(--app-live-height);padding-top:calc(var(--app-inset-top) + 12px);background:#0009;justify-content:center;align-items:flex-end;animation:.16s ease-out fade-in;display:flex;position:fixed;top:0;left:0}.bottom-sheet{width:100%;max-width:calc(var(--page-max) + 48px);max-height:100%;padding:10px var(--page-r) calc(var(--app-inset-bottom) + 16px) var(--page-l);border-top:1px solid var(--line);border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--elevated);overscroll-behavior:contain;scrollbar-width:none;align-content:start;gap:12px;animation:.22s cubic-bezier(.22,1,.36,1) sheet-in;display:grid;overflow-y:auto}.bottom-sheet::-webkit-scrollbar{display:none}.sheet-handle{border-radius:var(--r-pill);background:var(--line);width:38px;height:4px;margin:0 auto 4px}.sheet-person{align-items:center;gap:12px;display:flex}.sheet-person>div{gap:2px;min-width:0;display:grid}.sheet-person strong{font-size:var(--fs-h3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.counter{color:var(--muted);font-size:var(--fs-caption);text-align:right;margin-top:-6px}.sheet-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;margin-top:2px;display:grid}.public-sheet{text-align:center;justify-items:center}.public-sheet .detail-block,.public-sheet .sheet-actions,.public-sheet .inline-error{width:100%}.public-sheet h2{font-size:var(--fs-h2);margin-top:4px}.distance-line{color:var(--gold);font-size:var(--fs-label);font-weight:700}.detail-block{border:1px solid var(--line-soft);border-radius:var(--r-field);text-align:left;gap:5px;padding:14px;display:grid}.detail-block span{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.7px;text-transform:uppercase;font-weight:800}.detail-block p{font-size:var(--fs-label)}.inline-error{border:1px solid var(--danger-soft);border-radius:var(--r-field);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-label);padding:11px 13px}.toast{z-index:40;max-width:calc(100% - var(--page-l) - var(--page-r));border:1px solid var(--line-soft);border-radius:var(--r-pill);background:var(--elevated);font-size:var(--fs-label);text-align:center;padding:11px 16px;font-weight:700;animation:.2s ease-out toast-in;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(14%)}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.stats-grid div{border:1px solid var(--line-soft);border-radius:var(--r-field);background:var(--surface);align-content:center;gap:2px;padding:12px;display:grid}.stats-grid strong{font-size:var(--fs-h2);font-weight:800}.stats-grid span{color:var(--muted);font-size:var(--fs-micro)}.admin-list{gap:8px;display:grid}.admin-user{border:1px solid var(--line-soft);border-radius:var(--r-card);background:var(--surface);gap:8px;padding:14px;display:grid}.admin-user>div:first-child{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.admin-user code{color:var(--gold);font-size:var(--fs-caption);margin-left:auto}.admin-user>p{color:var(--muted);font-size:var(--fs-caption)}.admin-user dl{gap:5px;margin:0;display:grid}.admin-user dl div{font-size:var(--fs-caption);justify-content:space-between;gap:12px;display:flex}.admin-user dt{color:var(--muted)}.admin-user dd{text-align:right;margin:0}.full-state{height:var(--app-height);max-height:100%;padding:calc(var(--app-inset-top) + 24px) var(--page-r) calc(var(--app-inset-bottom) + 24px) var(--page-l);text-align:center;align-content:center;justify-items:center;gap:8px;display:grid}.spinner{border:2.5px solid var(--line-soft);border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;margin-bottom:8px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-icon{border:1.5px solid var(--gold);width:58px;height:58px;color:var(--gold);border-radius:50%;place-items:center;margin-bottom:8px;font-size:26px;display:grid}.full-state h1{font-size:var(--fs-h2)}.full-state p{max-width:34ch;color:var(--muted);font-size:var(--fs-label)}.full-state .primary-button{min-width:180px;margin-top:12px}@media (hover:hover) and (pointer:fine){.screen-scroll{scrollbar-width:thin}.screen-scroll::-webkit-scrollbar{width:6px;display:block}.screen-scroll::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:var(--line)}.chip:hover,.secondary-button:hover:not(:disabled),.bottom-nav button:hover{border-color:var(--gold);color:var(--text)}}@media (height<=520px){:root{--stack:10px;--fs-display:22px}.screen{padding-bottom:18px}.avatar-large{width:68px;height:68px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
