:root{--ink:#111310;--paper:#fbfaf5;--acid:#adf619;--orange:#ff6845;--muted:#706f68;--line:rgba(17,19,16,.13)}
*{box-sizing:border-box}html,body{min-width:320px;min-height:100%}body{margin:0;background:var(--ink);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif}button,input{font:inherit}.is-hidden{display:none!important}
.welcome-loader{position:fixed;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;gap:1.65rem;overflow:hidden;color:#fff;background:var(--ink);transition:opacity .55s ease,visibility .55s ease}.welcome-loader:before,.loader-noise{content:"";position:absolute;inset:-10%;pointer-events:none}.welcome-loader:before{background:radial-gradient(circle at 50% 44%,rgba(173,246,25,.17),transparent 31%)}.loader-noise{opacity:.18;background-image:repeating-linear-gradient(104deg,transparent 0 34px,rgba(255,255,255,.045) 35px 36px);transform:rotate(-7deg)}.welcome-loader img{position:relative;width:min(330px,58vw);filter:drop-shadow(0 8px 30px rgba(0,0,0,.4));animation:logo-rise .7s cubic-bezier(.2,.75,.2,1) both}.welcome-loader p{position:relative;margin:-.75rem 0 0;color:rgba(255,255,255,.56);font-size:.76rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.hold-loader{position:relative;display:flex;align-items:center;height:27px;gap:10px}.hold-loader i{display:block;width:17px;height:17px;border-radius:42% 58% 55% 45%;background:var(--acid);animation:hold-bounce .75s infinite alternate cubic-bezier(.4,0,.3,1)}.hold-loader i:nth-child(2){width:23px;height:12px;border-radius:60% 35% 55% 42%;background:var(--orange);animation-delay:.12s}.hold-loader i:nth-child(3){width:13px;height:24px;background:#f4eee0;animation-delay:.24s}.hold-loader i:nth-child(4){width:20px;height:19px;background:#8b72ff;animation-delay:.36s}.welcome-loader.is-done{opacity:0;visibility:hidden}
.entry-shell{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(390px,.85fr);opacity:0;transform:scale(.992);transition:opacity .55s ease .12s,transform .7s cubic-bezier(.2,.75,.2,1) .12s}.entry-shell.is-ready{opacity:1;transform:none}.entry-visual{position:relative;min-height:100svh;overflow:hidden;color:#fff;background:#242720}.wall-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.025);animation:wall-drift 16s ease-in-out infinite alternate}.visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,14,11,.4),rgba(12,14,11,.06) 28%,rgba(12,14,11,.18) 51%,rgba(12,14,11,.91) 100%),linear-gradient(90deg,rgba(12,14,11,.32),transparent 60%)}
.entry-brand{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:2rem 2.25rem}.entry-brand a img{width:170px}.entry-brand>span{display:flex;align-items:center;gap:.6rem;padding:.62rem .9rem;border:1px solid rgba(255,255,255,.27);border-radius:99px;background:rgba(17,19,16,.34);backdrop-filter:blur(13px);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.entry-brand i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 4px rgba(173,246,25,.15)}
.hero-copy{position:absolute;z-index:2;left:clamp(2rem,5vw,5.5rem);bottom:clamp(3.5rem,9vh,7rem);max-width:700px}.eyebrow{margin:0 0 1.25rem;color:var(--acid);font-size:.78rem;font-weight:900;letter-spacing:.2em}.hero-copy h1{margin:0;font-size:clamp(4.5rem,8.7vw,9.4rem);line-height:.78;letter-spacing:-.083em;text-transform:uppercase}.hero-copy h1 em{color:var(--acid);font-family:Georgia,serif;font-size:.87em;font-weight:400;letter-spacing:-.07em;text-transform:none}.hero-copy>p:not(.eyebrow){max-width:550px;margin:2rem 0 1.6rem;color:rgba(255,255,255,.76);font-size:1.02rem;line-height:1.6}.hero-tags{display:flex;gap:.55rem}.hero-tags span{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.32);border-radius:99px;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
.route-card{position:absolute;z-index:3;display:flex;align-items:center;gap:.7rem;padding:.72rem .85rem;border:1px solid rgba(255,255,255,.24);border-radius:15px;background:rgba(17,19,16,.7);box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(16px);animation:float-card 5s ease-in-out infinite alternate}.route-card>b,.route-avatar{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--orange);color:#fff;font-size:.8rem}.route-card span:not(.route-avatar){display:grid;gap:.15rem}.route-card strong{font-size:.78rem}.route-card small{color:rgba(255,255,255,.57);font-size:.67rem}.route-card-one{top:20%;right:5%;transform:rotate(2deg)}.route-card-two{top:42%;left:5%;animation-delay:-1.6s}.route-card-two .route-avatar{border-radius:50%;background:var(--acid);color:var(--ink);font-weight:900}.photo-note{position:absolute;z-index:2;right:2rem;bottom:1.8rem;margin:0;color:rgba(255,255,255,.54);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.entry-panel{min-height:100svh;display:flex;flex-direction:column;padding:2.15rem clamp(2rem,4vw,4.5rem) 1.65rem;background:var(--paper)}.auth-wrap{width:min(100%,440px);margin:auto;padding:3rem 0}.community-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.55rem .82rem;border:1px solid var(--line);border-radius:99px;background:#fff;color:#5f605a;font-size:.69rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.community-pill span{color:var(--acid)}.auth-wrap h2{max-width:390px;margin:1.55rem 0 .8rem;font-size:clamp(2.65rem,4.15vw,4.25rem);line-height:.93;letter-spacing:-.06em}.auth-wrap>p{margin:0 0 2rem;color:var(--muted);line-height:1.55}
.returning-user{display:flex;align-items:center;gap:.72rem;margin:1.5rem 0;padding:.75rem;border:1px solid var(--line);border-radius:17px;background:#eeece3}.return-avatar{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--ink);color:var(--acid);font-size:.76rem;font-weight:900}.returning-user>span:nth-child(2){display:grid;min-width:0}.returning-user small{color:var(--muted);font-size:.66rem}.returning-user strong{overflow:hidden;text-overflow:ellipsis}.returning-user button{margin-left:auto;border:0;background:transparent;font-size:.78rem;font-weight:850;cursor:pointer}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1.45rem;padding:4px;border-radius:13px;background:#e9e7df}.auth-tabs button{padding:.68rem;border:0;border-radius:10px;background:transparent;color:#77776f;font-size:.77rem;font-weight:850;cursor:pointer}.auth-tabs button.is-active{background:#fff;color:var(--ink);box-shadow:0 3px 12px rgba(17,19,16,.08)}#usernameForm label{display:block;margin-bottom:.55rem;font-size:.76rem;font-weight:850}.username-field{display:flex;align-items:center;overflow:hidden;height:61px;border:1.5px solid #d4d2c9;border-radius:14px;background:#fff;transition:border .15s,box-shadow .15s}.username-field:focus-within{border-color:var(--ink);box-shadow:0 0 0 4px rgba(173,246,25,.34)}.username-field span{padding-left:1.1rem;color:#93928b;font-weight:800}.username-field input{width:100%;height:100%;padding:0 1rem .05rem .25rem;border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem;font-weight:750}.username-field input::placeholder{color:#aaa9a2;font-weight:500}.field-help{margin:.55rem .1rem 0;color:#8a8982;font-size:.67rem}.form-error{min-height:1.2rem;margin:.4rem .1rem .15rem;color:#c53c24;font-size:.72rem;font-weight:750}
.enter-button{width:100%;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 .7rem 0 1.25rem;border:0;border-radius:15px;background:var(--acid);color:var(--ink);box-shadow:0 14px 28px rgba(112,162,10,.16);font-weight:900;cursor:pointer;transition:transform .16s ease,background .16s ease}.enter-button:hover{transform:translateY(-2px);background:#baff2b}.enter-button i{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;background:var(--ink);color:#fff;font-style:normal;font-size:1.15rem}.preview-note{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:1.15rem 0 0!important;color:#929088!important;font-size:.67rem;text-align:center}.preview-note span{color:var(--orange)}.entry-panel footer{display:flex;justify-content:space-between;gap:1rem;color:#96948b;font-size:.63rem;font-weight:700;letter-spacing:.09em}.entry-panel footer strong{color:var(--ink)}
@keyframes logo-rise{from{opacity:0;transform:translateY(14px)}}@keyframes hold-bounce{to{transform:translateY(-8px) rotate(8deg)}}@keyframes wall-drift{to{transform:scale(1.065) translate3d(-.45%,-.25%,0)}}@keyframes float-card{to{margin-top:-9px}}
@media(max-width:900px){.entry-shell{grid-template-columns:1fr;background:var(--paper)}.entry-visual{min-height:48svh}.entry-brand{padding:1.25rem}.entry-brand a img{width:135px}.entry-brand>span{font-size:.58rem}.hero-copy{left:1.4rem;bottom:2.2rem}.hero-copy h1{font-size:clamp(3.8rem,15vw,6rem)}.hero-copy>p:not(.eyebrow),.hero-tags,.route-card,.photo-note{display:none}.entry-panel{min-height:52svh;padding:1.75rem 1.3rem 1.25rem;border-radius:25px 25px 0 0;margin-top:-22px;position:relative;z-index:4}.auth-wrap{padding:1rem 0 2.5rem}.auth-wrap h2{font-size:2.65rem}}
@media(max-width:520px){.entry-visual{min-height:40svh}.entry-brand>span{display:none}.hero-copy h1{font-size:3.65rem}.eyebrow{margin-bottom:.8rem}.entry-panel{min-height:60svh}.community-pill{font-size:.6rem}.entry-panel footer{flex-direction:column;align-items:center}}
@media(max-width:600px){.welcome-loader{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.entry-brand{padding-top:calc(1.25rem + env(safe-area-inset-top))}.entry-panel{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.auth-tabs button,.returning-user button{min-height:44px}.returning-user{flex-wrap:wrap}.returning-user button{padding-inline:12px}.username-field input{font-size:16px}}
@media(max-width:390px){.entry-visual{min-height:35svh}.hero-copy{bottom:1.8rem}.hero-copy h1{font-size:3.1rem}.entry-panel{min-height:65svh;padding-inline:1rem}.auth-wrap h2{font-size:2.35rem}.auth-wrap{padding-top:.65rem}.community-pill{font-size:.56rem}}
@media(max-height:620px) and (orientation:landscape){.entry-shell{grid-template-columns:1.1fr .9fr}.entry-visual,.entry-panel{min-height:100dvh}.hero-copy h1{font-size:4rem}.auth-wrap{padding:1rem 0}.auth-wrap h2{font-size:2.35rem;margin-top:1rem}.community-pill,.preview-note,.entry-panel footer{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
