@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/bricolage-grotesque-latin-500-normal-DEDBoLFO.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/bricolage-grotesque-latin-700-normal-gtcctNPv.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/hanken-grotesk-latin-400-normal-BG6hkEXj.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/hanken-grotesk-latin-500-normal-DrDcrrxK.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/hanken-grotesk-latin-600-normal-CIXX6EOa.woff2) format("woff2")}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/hanken-grotesk-latin-700-normal-CeQ8H3UY.woff2) format("woff2")}:root{--page-bg: #0a0a0b;--surface-1: #131316;--surface-2: #1a1a1f;--surface-3: #202027;--border-standard: #26262e;--border-soft: #1e1e25;--menu-surface: #16161a;--menu-border: #2c2c34;--text-primary: #f2f2f5;--text-secondary: #74747e;--text-tertiary: #4a4a54;--text-danger: #f0676b;--source-grindr: #ffd400;--source-sniffies: #3b82f6;--source-inperson: #22c55e;--source-hinge: #994ea8;--accent-gold: #d4b483;--accent-amber: #d6955c;--trip-active: #5dcaa5;--trip-review: #c9a0dc;--trip-warning: #e0907b;--bench-low: #f0676b;--bench-typical: #7fb0f0;--bench-strong: #3ddc84;--bench-very-strong: #f5c842;--bench-neutral: var(--text-secondary);--about-accent: #8b95a8;--about-accent-ink: #0a0a0b;--about-accent-soft: rgba(139, 149, 168, .22);--font-display: "Bricolage Grotesque", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--font-interface: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 10px;--space-4: 16px;--space-5: 28px;--space-6: 34px;--radius-sm: 8px;--radius-md: 11px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 20px;--radius-pill: 999px;--motion-modal: .18s;--motion-disclosure: .2s;--motion-fill: .6s;--motion-switch: .18s;--motion-number: .25s;--motion-shake: .38s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-out: ease-out;--focus-ring: #7fb0f0}@media(prefers-reduced-motion:reduce){:root{--motion-modal: 0ms;--motion-disclosure: 0ms;--motion-fill: 0ms;--motion-switch: 0ms;--motion-number: 0ms;--motion-shake: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--page-bg);overflow-x:hidden}body{min-height:100vh;color:var(--text-primary);font-family:var(--font-interface);font-size:13px;line-height:1.45;background-image:radial-gradient(900px 500px at 50% -10%,#161620,transparent 55%);background-repeat:no-repeat;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);margin:0}button,input,textarea{font-family:inherit;color:inherit}button{cursor:pointer;background:none;border:none;font-size:inherit}button:disabled{cursor:default}button{transition:background-color .15s var(--ease-standard),border-color .15s var(--ease-standard),color .15s var(--ease-standard),opacity .15s var(--ease-standard),transform .1s var(--ease-standard)}button:active:not(:disabled){transform:scale(.96)}.no-press:active:not(:disabled){transform:none}.modal-button-row>button{flex:1}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.city-name-input:focus{border-color:var(--accent-gold)}.icon-btn{color:var(--text-secondary);transition:color var(--motion-disclosure) var(--ease-standard),transform .1s var(--ease-standard)}.icon-btn:hover,.icon-btn:focus-visible{color:var(--accent-gold)}.hm-cell-btn:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.keypad-btn:active{background:var(--surface-2)!important;transform:scale(.92)}.stepper-btn:active:not(:disabled){background:#00000040;transform:scale(.9)}@media(hover:hover){.stepper-btn:hover:not(:active):not(:disabled){background:#ffffff0f}}.ghost-btn{background:var(--surface-2);border:1px solid var(--border-standard);border-radius:var(--radius-md);color:var(--text-secondary);transition:color .2s,border-color .2s,background .15s,transform .1s var(--ease-standard)}.ghost-btn:active:not(:disabled){background:var(--surface-3)}.ghost-btn.ghost-primary{background:var(--accent-gold);border-color:var(--accent-gold);color:#0a0a0b}@media(hover:hover){.ghost-btn.ghost-backup:hover:not(:disabled){color:var(--source-inperson);border-color:var(--source-inperson)}.ghost-btn.ghost-restore:hover:not(:disabled){color:var(--source-sniffies);border-color:var(--source-sniffies)}.ghost-btn.ghost-csv:hover:not(:disabled),.ghost-btn.ghost-lock:hover:not(:disabled){color:var(--accent-gold);border-color:var(--accent-gold)}}.ghost-btn.ghost-backup:active:not(:disabled){color:var(--source-inperson);border-color:var(--source-inperson)}.ghost-btn.ghost-restore:active:not(:disabled){color:var(--source-sniffies);border-color:var(--source-sniffies)}.ghost-btn.ghost-csv:active:not(:disabled),.ghost-btn.ghost-lock:active:not(:disabled){color:var(--accent-gold);border-color:var(--accent-gold)}.dz-row{position:relative}.dz-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.dz-row-gold:before{background:var(--accent-gold)}.dz-row-amber:before{background:var(--accent-amber)}.dz-row-danger:before{background:var(--text-danger)}.dz-reset{background:transparent;border:1px solid var(--border-standard);color:var(--text-secondary);transition:background .12s,color .12s,border-color .12s,transform .1s var(--ease-standard)}.dz-row-danger .dz-reset{background:#f0676b1f;border-color:#f0676b73;color:var(--text-danger)}@media(hover:hover){.dz-row-gold .dz-reset:hover{border-color:#d4b48399;color:var(--accent-gold)}.dz-row-amber .dz-reset:hover{border-color:#d6955c99;color:var(--accent-amber)}.dz-row-danger .dz-reset:hover{background:#f0676b33;border-color:#f0676bb3}}.dz-row-gold .dz-reset:active{background:#d4b48329;border-color:#d4b48399;color:var(--accent-gold)}.dz-row-amber .dz-reset:active{background:#d6955c2e;border-color:#d6955c99;color:var(--accent-amber)}.dz-row-danger .dz-reset:active{background:#f0676b57;border-color:#f0676bcc}.ts-bar-btn{transition:background .15s,transform .1s var(--ease-standard)}.ts-bar-btn:active{background:var(--surface-1)}.track-help-btn{color:var(--text-secondary);transition:color .15s,transform .1s var(--ease-standard)}.track-help-btn:active{color:var(--accent-gold)}@media(hover:hover){.track-help-btn:hover{color:var(--accent-gold)}}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}@keyframes the-numbers-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}@keyframes the-numbers-modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes the-numbers-spin{to{transform:rotate(360deg)}}.the-numbers-spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-standard);border-top-color:var(--accent-gold);animation:the-numbers-spin .9s linear infinite}@keyframes the-numbers-fade-out{to{opacity:0}}@keyframes the-numbers-fade-in{0%{opacity:0}to{opacity:1}}@keyframes the-numbers-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes the-numbers-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes the-numbers-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes the-numbers-pulse{0%{transform:scale(1)}45%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes the-numbers-ticker-slide{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
