:root{--felt-deep:#0c1210;--felt-mid:#151c18;--felt-light:#1f2a24;--rail:#1a1a1a;--rail-edge:#3a3a3a;--cream:#f2f2f0;--ink:#0a0a0a;--gold:#c8c8c8;--gold-soft:#e8e8e8;--accent:#c41e1e;--accent-soft:#e84545;--danger:#b33a2b;--muted:#f2f2f094;--card-red:#c41e1e;--card-black:#111;--shadow:#0000008c;--line-green:#06c755;color:var(--cream);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#070707;font-family:Manrope,sans-serif;font-weight:500;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}body{background:#000;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}h1,h2,.brand{letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-weight:600}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes deal-in{0%{opacity:0;transform:translateY(-24px)rotate(-8deg)scale(.85)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes pulse-seat{0%,to{outline-color:#e8e8e8d9}50%{outline-color:#e8e8e826}}@keyframes logo-in{0%{opacity:0;transform:scale(.88)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes petal-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}12%{opacity:.85}to{opacity:0;transform:translate(18vw,110vh)rotate(360deg)}}@keyframes auth-glow{0%,to{filter:drop-shadow(0 18px 40px #000000b3)}50%{filter:drop-shadow(0 18px 48px #c41e1e47)drop-shadow(0 0 28px #4678dc38)}}.anim-fade-up{animation:.45s both fade-up}.anim-deal{animation:.32s cubic-bezier(.2,.8,.2,1) both deal-in}.anim-logo-in{animation:.7s cubic-bezier(.2,.8,.2,1) both logo-in,4.5s ease-in-out infinite auth-glow}.auth-screen{isolation:isolate;color:#f4f2ef;place-items:center;min-height:100dvh;padding:12px 18px 28px;display:grid;position:relative;overflow:hidden}.auth-screen__bg{z-index:-2;background:url(/login-mobile.png) top/cover no-repeat,#050507;position:absolute;inset:0}@media (width>=900px){.auth-screen__bg{background:url(/login-desktop.png) 50%/cover no-repeat,#050507}.auth-screen__panel{width:min(440px,42vw);min-height:min(88dvh,860px)}.auth-screen__logo-space{min-height:clamp(200px,36vh,360px)}}.auth-screen__petals{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-screen__petals span{opacity:.75;background:linear-gradient(135deg,#ffb7c5,#e85a7a);border-radius:10px 1px;width:10px;height:10px;animation:linear infinite petal-fall;position:absolute;top:-8%}.auth-screen__petals span:first-child{animation-duration:11s;left:8%}.auth-screen__petals span:nth-child(2){width:8px;height:8px;animation-duration:14s;animation-delay:-3s;left:20%}.auth-screen__petals span:nth-child(3){animation-duration:12s;animation-delay:-6s;left:36%}.auth-screen__petals span:nth-child(4){width:7px;height:7px;animation-duration:15s;animation-delay:-2s;left:52%}.auth-screen__petals span:nth-child(5){animation-duration:13s;animation-delay:-8s;left:68%}.auth-screen__petals span:nth-child(6){width:9px;height:9px;animation-duration:16s;animation-delay:-5s;left:78%}.auth-screen__petals span:nth-child(7){width:8px;height:8px;animation-duration:12.5s;animation-delay:-1s;left:88%}.auth-screen__petals span:nth-child(8){width:6px;height:6px;animation-duration:17s;animation-delay:-9s;left:44%}.auth-screen__panel{text-align:center;flex-direction:column;justify-content:flex-end;width:min(400px,100%);min-height:min(92dvh,920px);padding-bottom:10px;display:flex}.auth-screen__logo-space{pointer-events:none;flex:auto;min-height:clamp(240px,44vh,460px)}.auth-screen__form-card{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#06080cb8,#040508e0);border:1px solid #ffffff1f;border-radius:22px;margin-top:-8px;padding:18px 16px 16px;position:relative;box-shadow:0 18px 48px #0000008c}.auth-screen__tagline{letter-spacing:.18em;color:#fffffff2;margin:0;font-family:Noto Serif JP,Cormorant Garamond,serif;font-size:1.05rem;font-weight:600}.auth-screen__divider{justify-content:center;align-items:center;gap:10px;width:min(280px,80%);margin:12px auto 18px;display:flex}.auth-screen__divider:before,.auth-screen__divider:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);flex:1;height:1px}.auth-screen__divider i{background:#e8a0b0;border-radius:50% 0;width:8px;height:8px;transform:rotate(45deg);box-shadow:0 0 10px #e8a0b08c}.auth-screen__form{text-align:left;gap:14px;display:grid}.auth-screen__label{letter-spacing:.08em;color:#ffffffe6;gap:7px;font-size:13px;font-weight:600;display:grid}.auth-screen__field{display:block;position:relative}.auth-screen__field input{color:#fff;background:#08080a80;border:1px solid #ffffff8c;border-radius:999px;outline:none;width:100%;padding:14px 44px 14px 16px;transition:border-color .2s,box-shadow .2s}.auth-screen__field input::placeholder{color:#ffffff59}.auth-screen__field input:focus{border-color:#ffffffe6;box-shadow:0 0 0 3px #ffffff14}.auth-screen__field svg{color:#ffffff8c;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.auth-screen__primary{color:#111;letter-spacing:.12em;background:linear-gradient(#fff 0%,#d7e6ff 100%);border:none;border-radius:999px;margin-top:6px;padding:15px 18px;font-size:1.05rem;font-weight:800;transition:transform .15s,filter .15s;box-shadow:0 10px 28px #00000059,0 0 24px #78aaff40}.auth-screen__primary:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.auth-screen__primary:disabled,.auth-screen__secondary:disabled{opacity:.65;cursor:wait}.auth-screen__secondary{color:#fff;letter-spacing:.02em;background:0 0;border:1px solid #ffffff8c;border-radius:999px;padding:13px 16px;font-weight:600;transition:background .15s}.auth-screen__secondary:hover:not(:disabled){background:#ffffff0f}.auth-screen__error{color:#ffb4a8;text-align:center;margin:2px 0 0;font-size:14px}@media (width<=480px){.auth-screen{padding:8px 16px 24px}.auth-screen__logo-space{min-height:clamp(210px,40vh,380px)}.auth-screen__form-card{padding:16px 14px 14px}}@media (prefers-reduced-motion:reduce){.anim-fade-up,.anim-deal,.anim-logo-in,.auth-screen__petals span{animation:none}}
