:root{--auth-speed: 60s;--fade-dur: 2s;--ease-soft: cubic-bezier(.22, 1, .36, 1);--type-delay: 1.4s;--type-dur: 2.6s}.auth-bg-track{position:absolute;inset-inline:0;top:0;display:flex;flex-direction:column;align-items:center;gap:0;will-change:transform;animation:auth-scroll-a var(--auth-speed) linear infinite}.auth-bg-track--clone{animation:auth-scroll-b var(--auth-speed) linear infinite}.auth-bg-track img{display:block;width:auto;height:auto;max-width:100vw;filter:none}@keyframes auth-scroll-a{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes auth-scroll-b{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.auth-overlay{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center;color:#fff}.auth-overlay .auth-card{width:min(82vw,420px);height:min(82vw,420px);border-radius:50%;display:grid;place-items:center;gap:6px;padding:24px;background:color-mix(in oklab,#00000093 60%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 10px 30px #0006;opacity:0;animation:fade-up 1.3s ease-out both;will-change:transform,opacity,filter}.auth-title{font-weight:700;margin:0;font-size:clamp(36px,6vw,56px);display:inline-block;background:linear-gradient(to right,#3b82f6,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;position:relative;line-height:1.2;letter-spacing:-.02em;font-kerning:normal;font-feature-settings:"palt";opacity:0;animation:fade-up-child 2s ease-out both}.auth-title:after{content:"";position:absolute;left:0;bottom:-10px;width:100%;height:3px;background:linear-gradient(to right,#3b82f6,#34d399);border-radius:9999px;transform:scaleX(0);transform-origin:left center;animation:underline-sweep 1.3s ease-out 1.3s both}.auth-sub{margin:4px 0 8px;font-weight:600;font-size:clamp(14px,3.5vw,18px);color:#ffffffeb;display:block;white-space:normal;overflow:visible;opacity:0;transform:translateY(16px) scale(.98);animation:sub-fade var(--fade-dur) var(--ease-soft) var(--type-delay) forwards,sub-bg-in .22s var(--ease-soft) calc(var(--type-delay) + var(--fade-dur)) forwards;padding:8px 12px;border-radius:12px;background:transparent}.auth-sub__char{opacity:0;display:inline;will-change:opacity,transform;transform:translateY(.4em);animation:char-in .1s var(--ease-soft) forwards;animation-delay:calc(var(--type-delay) + var(--fade-dur) + (var(--i) * 70ms))}@keyframes fade-up{0%{opacity:0;transform:translateY(16px) scale(.98);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes fade-up-child{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}@keyframes underline-sweep{to{transform:scaleX(1)}}@keyframes sub-fade{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sub-bg-in{0%{background-color:#0000}to{background-color:#0000}}@keyframes char-in{0%{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:translateY(0)}}@media (max-width: 390px) and (max-height: 844px) and (orientation: portrait){:root{--type-dur: 1.5s}.auth-overlay{padding-inline:max(16px,env(safe-area-inset-left));padding-block:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-bottom))}.auth-overlay .auth-card{width:clamp(240px,78vw,340px);height:clamp(240px,78vw,340px);padding:16px;gap:6px}.auth-title{font-size:clamp(26px,8vw,34px);letter-spacing:-.015em}.auth-title:after{bottom:-6px;height:2px}.auth-sub{font-size:clamp(12px,3.5vw,16px);letter-spacing:-.008em}.auth-google>div{transform:scale(.9);transform-origin:top center}}:root{--navbar-h: 64px;--deck-top-gap: 8vh}.card-deck-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:20px;padding-top:var(--deck-top-gap);padding-bottom:calc(var(--navbar-h) + 24px);isolation:auto;background:transparent}.card-deck{position:relative;width:320px;height:520px;margin-top:0;margin-bottom:16px;z-index:1}.tinder-card{position:absolute;width:100%;height:100%;cursor:grab}.tinder-card:active{cursor:grabbing}.loading,.finished{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:#666}.button-container{display:flex;justify-content:center;gap:20px;margin-top:20px;position:relative;z-index:2}.button-container--portal{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;gap:20px;z-index:999;pointer-events:auto}.action-button{width:60px;height:60px;border-radius:50%;border:2px solid rgba(0,0,0,.11);background-color:#00000075;background-clip:padding-box;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 10px 30px #0003;color:#ff00009d;font-size:20px;font-weight:700;cursor:pointer;transition:transform .2s ease;will-change:backdrop-filter}@supports (background: color-mix(in oklab,#00000065 50%,transparent)){.action-button{background:color-mix(in oklab,#ffffff70 50%,transparent)}.go-button .btn-label{background:linear-gradient(to right,#3b82f6,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}@media (max-width: 390px) and (max-height: 844px) and (orientation: portrait){:root{--navbar-h: 72px;--deck-top-gap: 6vh}}.swipe-card{width:320px;height:520px;background:#fff;border-radius:16px;box-shadow:0 3px 6px #a7bef10c;overflow:hidden;position:relative;display:flex;flex-direction:column}.card-image{width:100%;height:250px;background-size:cover;background-position:center;background-repeat:no-repeat;flex-shrink:0}.card-content{padding:16px;flex:1;display:flex;flex-direction:column;gap:12px}.card-info{flex-shrink:0}.place-name{font-size:20px;font-weight:700;margin:0 0 8px;color:#333;line-height:1.2}.details{display:flex;align-items:center;gap:12px;margin-bottom:8px}.rating{font-size:14px;color:#666}.address{font-size:14px;color:#666;line-height:1.4}.reviews{max-height:150px;overflow-y:auto;padding-right:4px;gap:12px;margin-bottom:5px}.review{max-height:120px;overflow-y:auto;padding:8px 12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #4caf50;margin-bottom:20px}.review-text{font-size:13px;line-height:1.4;color:#555}.type{font-size:14px;color:#666}}
