@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer;font-family:inherit;font-size:inherit;background:none;border:none}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}body{background:var(--bg);color:var(--text)}#app{min-height:100vh}:root{--bg: #030307;--bg-soft: #08080d;--bg-card: rgba(17, 17, 24, .7);--bg-elevated: rgba(22, 22, 30, .85);--border: #151522;--border-strong: #222235;--text: #f3f4f7;--text-dim: #a5abb9;--text-mute: #707587;--purple: #b026ff;--purple-strong: #8a00e6;--pink: #ff2e93;--green: #22c55e;--green-strong: #16a34a;--blue: #3b82f6;--amber: #ff9f1c;--danger: #ff4d4d;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow: 0 16px 40px rgba(0, 0, 0, .6);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);font-family:Outfit,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}html{font-size:17px;overflow-x:clip}body,#app{margin:0;min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:var(--radius);padding:9px 14px;transition:background .15s ease,border-color .15s ease,transform .05s ease,filter .15s ease}button:active{transform:translateY(1px)}input{font:inherit;color:inherit;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;width:100%;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:var(--text-mute)}input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #a855f72e}a{color:var(--purple);text-decoration:none}.tier-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.tier-badge--regular{color:var(--text-dim);background:#ffffff0f;border-color:var(--border)}.tier-badge--supporter{color:#86efac;background:#22c55e24;border-color:#22c55e4d}.tier-badge--rider{color:#93c5fd;background:#3b82f624;border-color:#3b82f64d}.tier-badge--legend{color:#e9d5ff;background:#a855f729;border-color:#a855f75c}.tier-badge--icon{color:#fde68a;background:#fbbf2429;border-color:#fbbf2466}a:hover{text-decoration:underline}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:9999;height:64px;background:#08080cf7;border-top:1px solid #1f1f2a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0px)}@media(max-width:1024px){.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 4px 4px;border:none;border-radius:0;background:transparent;color:#6b7080;font-size:.62rem;font-weight:600;letter-spacing:.04em;cursor:pointer;position:relative;transition:color .15s}.bottom-nav__item:hover{color:#9aa0ad}.bottom-nav__item.is-active{color:#f3f4f7;background:#a855f714;box-shadow:inset 0 2px #a855f7}.bottom-nav__icon{height:22px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;line-height:1}.bottom-nav__icon svg{width:20px;height:20px}.bottom-nav__label{font-size:.6rem}.bottom-nav__badge{position:absolute;top:4px;right:14%;background:#22c55e;color:#052010;font-size:.5rem;font-weight:800;padding:1px 4px;border-radius:999px;min-width:14px;text-align:center}.bottom-nav__item--exit{max-width:56px}.bottom-nav__item--exit:hover:not(:disabled){color:#ef4444}.bottom-nav__item--exit:disabled{opacity:.4;cursor:not-allowed}}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.05);box-shadow:var(--glass-shadow);border-radius:var(--radius);transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease}.glass-panel:hover{border-color:#b026ff33;box-shadow:0 8px 32px #b026ff0d}.outline-glow-purple{border:1px solid rgba(176,38,255,.2);box-shadow:0 0 12px #b026ff0d}.outline-glow-pink{border:1px solid rgba(255,46,147,.2);box-shadow:0 0 12px #ff2e930d}.outline-glow-green{border:1px solid rgba(34,197,94,.2);box-shadow:0 0 12px #22c55e0d}.outline-glow-amber{border:1px solid rgba(255,159,28,.2);box-shadow:0 0 12px #ff9f1c0d}@keyframes shimmer{to{transform:translate(100%)}}.shimmer-bg{position:relative;overflow:hidden;background:#11111a}.shimmer-bg:after{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background-image:linear-gradient(90deg,#fff0,#ffffff08 20%,#ffffff0f,#fff0);animation:shimmer 2s infinite;content:""}.auth-page{min-height:100vh;width:100%;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px 16px calc(40px + env(safe-area-inset-bottom,0px));position:relative;overflow:hidden}@media(max-height:620px){.auth-page{align-items:flex-start;padding-top:20px}}@media(max-width:360px){.auth-card{border-radius:14px}.auth-head h1{font-size:1.25rem}}.ap-glow{position:fixed;border-radius:50%;filter:blur(140px);pointer-events:none;z-index:0}.ap-glow--purple{width:560px;height:560px;background:radial-gradient(circle,rgba(124,58,237,.2),transparent 70%);top:-140px;left:-100px}.ap-glow--pink{width:440px;height:440px;background:radial-gradient(circle,rgba(236,72,153,.14),transparent 70%);bottom:60px;right:-60px}.auth-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:clamp(20px,5vw,36px);display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 60px #00000080}.auth-card--wide{max-width:600px}.auth-back{align-self:flex-start;font-size:.82rem;font-weight:600;color:var(--text-mute);padding:0;background:none;border:none;cursor:pointer}.auth-back:hover{color:var(--text)}.auth-brand{display:flex;align-items:center;gap:10px}.auth-logo{width:250px;height:100px}@media(max-width:360px){.auth-logo{width:250px;height:100px}}.auth-mark{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:radial-gradient(circle at 30% 30%,#c084fc,#7c3aed 70%);display:grid;place-items:center;font-size:.7rem;font-weight:800;color:#fff;box-shadow:0 0 0 1px #a855f759,0 6px 18px #7c3aed73}.auth-name{font-weight:700;font-size:1.05rem}.auth-head h1{font-size:clamp(1.3rem,4vw,1.6rem);font-weight:800;letter-spacing:-.01em;margin:0 0 5px}.auth-head p{margin:0;font-size:.86rem;color:var(--text-dim);line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form--2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:480px){.auth-form--2col{grid-template-columns:1fr}}.auth-field{display:flex;flex-direction:column;gap:5px}.auth-field--full{grid-column:1 / -1}.auth-field span{font-size:.74rem;font-weight:600;color:var(--text-mute);letter-spacing:.04em}.auth-field input{height:50px;background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text);padding:0 16px;font-size:16px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:#7c3aed8c;box-shadow:0 0 0 3px #7c3aed1f}.auth-field input:disabled{opacity:.55}.auth-error{font-size:.83rem;color:var(--danger);background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:10px 14px;margin:0}.auth-btn{height:52px;border-radius:999px;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:opacity .15s,transform .1s;width:100%}.auth-btn:active{transform:scale(.98)}.auth-btn--purple{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;box-shadow:0 8px 28px #7c3aed61}.auth-btn--pink{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;box-shadow:0 8px 28px #ec489952}.auth-btn:hover:not(:disabled){opacity:.88}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-alt{font-size:.83rem;color:var(--text-mute);text-align:center;margin:0}.auth-link{background:none;border:none;cursor:pointer;color:var(--purple);font-weight:600;font-size:inherit;text-decoration:underline;text-underline-offset:2px;padding:0}.auth-link:hover{color:#c084fc}
