.login-page{--login-bg:oklch(17% 0 0);--login-panel:oklch(16.5% 0 0);--login-gold:oklch(79% 0.13 85);--login-gold-2:oklch(84% 0.14 85);--login-gold-deep:oklch(72% 0.14 75);--login-white:oklch(98% 0 0);--login-muted:oklch(68% 0 0);--login-subtle:oklch(52% 0 0);--login-line:oklch(32% 0 0);--login-input:oklch(20% 0 0);--login-btn-ink:oklch(18% 0 0);--login-focus:oklch(79% 0.13 85);--login-feature:oklch(18% 0 0/0.58);--login-overlay:oklch(0% 0 0/0.42);--font-login:var(--font-prompt),"Prompt",sans-serif;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--radius:0.75rem;--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:120ms;width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(22rem,.78fr);column-gap:0;background:var(--login-panel);color:var(--login-white);font-family:var(--font-login)}body:has(.character-page),body:has(.login-page),body:has(.register-page),html:has(.character-page),html:has(.login-page),html:has(.register-page){background:oklch(16.5% 0 0)}.login-hero{position:relative;z-index:0;min-height:100dvh;min-width:0;margin-right:-1px;border:0;outline:none}.login-hero-image{object-position:center 42%;border:0;outline:none}.login-hero-image,.login-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.login-hero-video{z-index:0;object-position:center;background:var(--login-panel)}.login-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,oklch(0 0 0/.55),oklch(0 0 0/.22) 55%,oklch(0 0 0/.12)),linear-gradient(180deg,oklch(0 0 0/.28),transparent 28%,transparent 62%,oklch(0 0 0/.62))}.login-hero-content{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:2.25rem 3.25rem 2rem 3.5rem}.login-brand{display:flex;align-items:center;gap:.75rem}.login-brand-star{width:2.15rem;height:2.15rem;color:var(--login-gold);flex-shrink:0;animation:login-pulse 2.4s cubic-bezier(.65,0,.35,1) infinite}@keyframes login-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.12)}}@keyframes login-glow{0%,to{opacity:1}50%{opacity:.7}}.login-brand-name{font-size:1.65rem;font-weight:700;line-height:1;letter-spacing:.02em}.login-brand-sub{margin-top:.28rem;font-size:.68rem;font-weight:500;letter-spacing:.22em}.login-copy{display:flex;flex-direction:column;justify-content:center;max-width:36rem;padding-bottom:1.25rem}.login-kicker{margin:0;color:var(--login-gold);font-size:.72rem;font-weight:600;letter-spacing:.28em}.login-headline{margin:1rem 0 0;font-size:clamp(2.4rem,4.1vw,3.7rem);font-weight:700;font-style:normal;line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0}.login-headline-gold{display:block;color:var(--login-gold);animation:login-glow 2.4s cubic-bezier(.65,0,.35,1) infinite}.login-keyline{display:flex;align-items:center;gap:.65rem;margin-top:1.35rem;color:var(--login-gold)}.login-keyline-rule{display:block;width:7.5rem;height:1px;background:var(--login-gold)}.login-lead{margin:1.1rem 0 0;max-width:30rem;font-size:.95rem;line-height:1.75;color:var(--login-white)}.login-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;background:none;padding:0}.login-feature{display:flex;align-items:center;gap:.75rem;min-width:0;min-height:4.5rem;padding:.85rem .95rem;border:1px solid color-mix(in oklch,var(--login-gold) 55%,transparent);background:linear-gradient(180deg,oklch(100% 0 0/.06),oklch(0 0 0/.28)),oklch(18% 0 0/.72);box-shadow:inset 0 1px 0 oklch(100% 0 0/.08),0 0 0 1px oklch(0 0 0/.45),0 8px 18px oklch(0 0 0/.28);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);backdrop-filter:blur(10px);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.login-feature:hover{border-color:var(--login-gold);transform:translateY(-2px);box-shadow:inset 0 1px 0 oklch(100% 0 0/.1),0 0 18px color-mix(in oklch,var(--login-gold) 28%,transparent)}.login-feature-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex-shrink:0;color:var(--login-gold);border:1px solid var(--login-gold);background:oklch(0 0 0/.45);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.login-feature-icon svg{width:1.05rem;height:1.05rem}.login-feature-title{margin:0;color:var(--login-gold);font-size:.72rem;font-weight:700;letter-spacing:.16em;white-space:nowrap}.login-feature-caption{margin:.2rem 0 0;font-size:.78rem;line-height:1.4;color:var(--login-white)}.login-panel{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:100dvh;padding:1.5rem 1.75rem 1.15rem;border:0;background:var(--login-panel)}.login-lang{justify-self:end;display:inline-flex;align-items:center;gap:.4rem;min-height:2.15rem;padding:0 .7rem;border:1px solid var(--login-line);border-radius:.45rem;background:transparent;color:var(--login-white);font:inherit;font-size:.82rem}.login-lang:hover{background:oklch(100% 0 0/.04)}.login-form-wrap{width:100%;max-width:22.5rem;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.login-title{margin:0;font-size:1.85rem;font-weight:700;font-style:normal;line-height:1.2}.login-subtitle{margin:.45rem 0 0;font-size:.88rem;color:var(--login-muted)}.login-form{margin-top:1.75rem;display:grid;gap:1.1rem}.login-field{display:grid;gap:.45rem}.login-label{font-size:.88rem}.login-field-box{position:relative}.login-field-icon{left:.85rem;width:1rem;height:1rem;pointer-events:none}.login-field-icon,.login-field-icon-right{position:absolute;top:50%;transform:translateY(-50%);color:var(--login-subtle)}.login-field-icon-right{right:.7rem;display:inline-flex;background:none;border:0;padding:.2rem;cursor:pointer}.login-field-icon-right:hover,.login-input{color:var(--login-white)}.login-input{width:100%;height:3rem;padding:0 2.6rem 0 2.5rem;border:1px solid var(--login-line);border-radius:var(--radius);background:var(--login-input);font:inherit;font-size:.88rem}.login-input::placeholder{color:var(--login-subtle)}.login-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.84rem}.login-remember{display:inline-flex;align-items:center;gap:.45rem}.login-remember input{width:.95rem;height:.95rem;accent-color:var(--login-gold)}.login-forgot{border:0;background:none;padding:0;color:var(--login-gold);font:inherit;cursor:pointer;white-space:nowrap}.login-forgot:hover{text-decoration:underline}.login-submit{width:100%;height:3rem;border:0;border-radius:.7rem;background:linear-gradient(90deg,var(--login-gold-deep),var(--login-gold) 48%,var(--login-gold-2));color:var(--login-btn-ink);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.login-submit:hover{filter:brightness(1.06)}.login-submit:disabled{opacity:.55;cursor:wait;filter:none;transform:none}.login-error{margin:0 0 .85rem;color:oklch(72% .16 25);font-size:.8rem}.login-or{display:flex;align-items:center;gap:.7rem;margin-top:1.5rem;color:var(--login-subtle);font-size:.75rem}.login-or:after,.login-or:before{content:"";flex:1;height:1px;background:var(--login-line)}.login-socials{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem;margin-top:1rem}.login-social{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;border:1px solid var(--login-line);border-radius:var(--radius);background:var(--login-input);color:var(--login-white);font:inherit;font-size:.84rem;cursor:pointer}.login-social:hover{background:oklch(100% 0 0/.04)}.login-copy-right{margin:0;text-align:center;font-size:.68rem;color:var(--login-subtle)}.login-page :focus-visible{outline:3px solid var(--login-focus);outline-offset:2px}.login-input:focus-visible{outline:none;border-color:var(--login-gold);box-shadow:0 0 0 1px var(--login-gold)}.login-switch{margin-top:1.35rem;text-align:center;font-size:.84rem;color:var(--login-muted)}.login-switch a{color:var(--login-gold);text-decoration:none}.login-switch a:hover{text-decoration:underline}.login-dev-admin{margin-top:1.1rem;padding-top:1rem;border-top:1px solid color-mix(in oklch,var(--login-gold,#c9a84c) 22%,transparent);text-align:center}.login-dev-admin-btn{width:100%;border:1px solid color-mix(in oklch,var(--login-gold,#c9a84c) 55%,transparent);border-radius:.55rem;padding:.55rem .8rem;background:transparent;color:var(--login-gold,#c9a84c);font:inherit;font-size:.82rem;font-weight:650;cursor:pointer}.login-dev-admin-btn:hover{background:color-mix(in oklch,var(--login-gold,#c9a84c) 12%,transparent)}.login-dev-admin-btn:disabled{opacity:.55;cursor:wait}.login-dev-admin p{margin:.45rem 0 0;color:var(--login-muted,#8b95a8);font-size:.75rem}.login-dev-admin b{color:var(--login-ink,#f0f4ff);font-weight:650}.login-dev-admin a{color:var(--login-gold,#c9a84c)}@media (max-width:767px){.login-page{grid-template-columns:minmax(0,1fr)}.login-hero{min-height:22rem}.login-hero-content{min-height:22rem;padding:1.25rem 1.25rem 1rem}.login-headline{font-size:2rem}.login-features{grid-template-columns:minmax(0,1fr)}.login-feature{clip-path:none;border-radius:.7rem}.login-panel{min-height:auto;padding:1.25rem 1.25rem 1.5rem}.login-form-wrap{padding:1.5rem 0 2rem}}.login-start-page{position:relative;display:block;width:100%;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;isolation:isolate;background:var(--login-panel)}.login-start-page,.login-start-page *{box-sizing:border-box}body:has(.login-start-page),html:has(.login-start-page){width:100%;height:100%;min-height:100%;overflow:hidden}.login-start-page .login-hero{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0}.login-start-page .login-hero-image{object-position:center}.login-start-page .login-hero-content{display:none}.login-start-page .login-hero-shade{background:linear-gradient(90deg,oklch(0 0 0/.58),oklch(0 0 0/.16) 50%,oklch(0 0 0/.5)),linear-gradient(180deg,oklch(0 0 0/.42),transparent 35%,oklch(0 0 0/.64))}.login-start-ui{position:relative;z-index:2;display:grid;grid-template-rows:auto 1fr auto;width:100%;height:100%;min-height:0;padding:clamp(1rem,3vw,2.5rem) clamp(1rem,4vw,4rem) clamp(1rem,2.5vw,2rem);color:var(--login-white)}.login-start-brand{display:inline-flex;align-items:center;gap:.55rem;justify-self:start;color:var(--login-gold-2);font-size:clamp(.72rem,1.2vw,.95rem);font-weight:700;letter-spacing:.18em}.login-start-brand .login-brand-star{width:1.55rem;height:1.55rem}.login-start-center{display:grid;align-content:center;justify-items:center;align-self:center;justify-self:center;width:min(34rem,100%);text-align:center}.login-start-kicker,.login-start-subtitle,.login-start-version{margin:0;font-family:var(--font-login);font-weight:700;letter-spacing:.22em;text-transform:uppercase}.login-start-kicker{color:var(--login-gold-2);font-size:clamp(.62rem,1.15vw,.8rem)}.login-start-center h1{margin:.6rem 0 0;color:var(--login-white);font-size:clamp(2.5rem,7vw,5.75rem);font-weight:700;line-height:.95;letter-spacing:.02em;text-shadow:0 .2rem 1.5rem oklch(0 0 0/.42)}.login-start-subtitle{margin-top:.7rem;color:var(--login-gold-2);font-size:clamp(.7rem,1.2vw,.95rem)}.login-start-rule{display:block;width:min(15rem,60vw);height:1px;margin:1rem 0 1.15rem;background:linear-gradient(90deg,transparent,var(--login-gold),transparent)}.login-start-action{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-width:min(20rem,82vw);min-height:3.4rem;padding:.75rem 1.5rem;border:1px solid color-mix(in oklch,var(--login-gold-2) 80%,white);background:linear-gradient(180deg,oklch(35% .04 80/.88),oklch(13% 0 0/.88));color:var(--login-white);font:700 1rem/1 var(--font-login);letter-spacing:.12em;cursor:pointer;box-shadow:0 .8rem 2rem oklch(0 0 0/.24),inset 0 1px 0 oklch(100% 0 0/.12);clip-path:polygon(.55rem 0,100% 0,100% calc(100% - .55rem),calc(100% - .55rem) 100%,0 100%,0 .55rem);transition:background .16s ease,border-color .16s ease,transform .16s ease}.login-start-action:before{position:absolute;top:0;bottom:0;left:-34%;width:24%;background:linear-gradient(90deg,transparent,oklch(100% 0 0/.2),transparent);content:"";transform:skewX(-18deg);animation:login-button-scan 4.6s var(--ease-in-out) infinite;pointer-events:none}.login-start-action:after{position:absolute;inset:.22rem;border:1px solid oklch(100% 0 0/.08);clip-path:polygon(0 0,2rem 0,2rem 1px,0 1px,0 100%,1px 100%,1px 0,100% 0,100% 1px,calc(100% - 2rem) 1px,calc(100% - 2rem) 0,100% 0,100% 100%,calc(100% - 1px) 100%,calc(100% - 1px) 0);content:"";pointer-events:none}.login-start-action:active{transform:translateY(1px) scale(.98);box-shadow:0 .35rem 1rem oklch(0 0 0/.35),inset 0 1px 0 oklch(100% 0 0/.14)}.login-start-action:hover{border-color:var(--login-gold-2);background:linear-gradient(180deg,oklch(42% .07 80/.92),oklch(18% .01 80/.92));transform:translateY(-2px)}.login-start-action>span{color:var(--login-gold-2);font-size:1.2rem}.login-start-action>span,.login-start-action>span+*{position:relative;z-index:1}@keyframes login-button-scan{0%,55%{transform:translateX(0) skewX(-18deg);opacity:0}62%{opacity:1}82%,to{transform:translateX(620%) skewX(-18deg);opacity:0}}.login-start-switch{margin:1rem 0 0;color:oklch(98% 0 0/.78);font-size:.78rem}.login-start-switch a{color:var(--login-gold-2);font-weight:700;text-decoration:none}.login-start-switch a:hover{text-decoration:underline}.login-start-version{justify-self:end;color:oklch(98% 0 0/.62);font-size:.56rem}.login-start-page .login-panel{display:none}.login-start-page .login-panel.is-open{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%;min-height:0;padding:1rem;background:oklch(0 0 0/.72);backdrop-filter:blur(.55rem) saturate(.8);overflow:auto}.login-start-page .login-panel.is-open .login-copy-right,.login-start-page .login-panel.is-open .login-lang,.login-start-page .login-panel.is-open .register-toolbar{display:none}.login-start-page .login-panel.is-open .login-form-wrap{position:relative;box-sizing:border-box;width:min(30rem,100%);max-width:100%;max-height:calc(100dvh - 2rem);margin:0;padding:clamp(1.25rem,4vw,2rem);border:1px solid color-mix(in oklch,var(--login-gold) 68%,transparent);background:linear-gradient(145deg,oklch(20% .015 75/.98),var(--login-panel));box-shadow:0 1.5rem 4rem oklch(0 0 0/.5),inset 0 1px 0 oklch(100% 0 0/.08);clip-path:polygon(.55rem 0,100% 0,100% calc(100% - .55rem),calc(100% - .55rem) 100%,0 100%,0 .55rem);overflow:auto}.login-start-page .login-panel.is-open .login-form-wrap:before{position:absolute;inset:.35rem;border:1px solid oklch(100% 0 0/.08);clip-path:polygon(.4rem 0,100% 0,100% calc(100% - .4rem),calc(100% - .4rem) 100%,0 100%,0 .4rem);content:"";pointer-events:none}.login-start-page .register-page,.login-start-page.register-page .login-form-wrap{max-width:100%}.login-start-page.register-page .login-panel.is-open .login-form-wrap{width:min(36rem,100%)}.login-start-page .login-panel.is-open .login-title{color:var(--login-white)}.login-start-page .login-panel.is-open .login-form{gap:.8rem;margin-top:1.25rem}.auth-popup-close{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:2;display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid color-mix(in oklch,var(--login-gold) 65%,transparent);background:oklch(12% 0 0/.86);color:var(--login-gold-2);font:1.35rem/1 var(--font-login);cursor:pointer}.auth-popup-close:hover{border-color:var(--login-gold-2);background:oklch(24% .03 80/.94)}@media (max-width:767px),(pointer:coarse) and (hover:none){.login-start-ui{padding:.9rem 1rem max(.8rem,env(safe-area-inset-bottom))}.login-start-brand{letter-spacing:.1em}.login-start-brand .login-brand-star{width:1.25rem;height:1.25rem}.login-start-center h1{font-size:clamp(2.2rem,13vw,4rem)}.login-start-action{min-height:3.1rem;font-size:.9rem}.login-start-version{font-size:.48rem}.login-start-page .login-panel.is-open{padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.login-start-page .login-panel.is-open .login-form-wrap,.login-start-page.register-page .login-panel.is-open .login-form-wrap{width:min(26rem,calc(100vw - 2rem));max-height:calc(100dvh - 1rem);padding:.7rem .8rem}.login-start-page .login-panel.is-open .login-title{font-size:1.6rem;line-height:1.1}.login-start-page .login-panel.is-open .login-subtitle{margin-top:.25rem;font-size:.76rem;line-height:1.15}.login-start-page .login-panel.is-open .login-form{gap:.45rem;margin-top:.65rem}.login-start-page .login-panel.is-open .login-field{gap:.25rem}.login-start-page .login-panel.is-open .login-label{font-size:.72rem;line-height:1.05}.login-start-page .login-panel.is-open .login-input,.login-start-page .login-panel.is-open .register-select{height:2.35rem;font-size:.78rem}.login-start-page .login-panel.is-open .login-submit{height:2.45rem;font-size:.8rem}.login-start-page .login-panel.is-open .login-switch{margin-top:.55rem;font-size:.74rem;line-height:1.1}.login-start-page.register-page .login-panel.is-open .register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}}@media (max-width:480px) and (max-height:650px){.login-start-page .login-panel.is-open{padding:.25rem}.login-start-page .login-panel.is-open .login-form-wrap{max-height:calc(100dvh - .5rem);padding:.7rem}.login-start-page .login-panel.is-open .login-title{font-size:1.3rem}.login-start-page .login-panel.is-open .login-subtitle{margin-top:.2rem;font-size:.7rem}.login-start-page .login-panel.is-open .login-form{gap:.4rem;margin-top:.6rem}.login-start-page .login-panel.is-open .login-label{font-size:.68rem}.login-start-page .login-panel.is-open .login-input,.login-start-page .login-panel.is-open .register-select{height:2.15rem;font-size:.72rem}.login-start-page.register-page .login-panel.is-open .register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.login-start-page .login-panel.is-open .login-submit{height:2.35rem;font-size:.75rem}.login-start-page .login-panel.is-open .login-switch{margin-top:.5rem;font-size:.7rem}}@media (max-width:767px) and (max-height:700px){.login-start-page .login-panel.is-open{box-sizing:border-box;padding:max(.35rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));grid-template-rows:auto;place-content:center;overflow:hidden}.login-start-page .login-panel.is-open .login-form-wrap,.login-start-page.register-page .login-panel.is-open .login-form-wrap{width:min(26rem,calc(100vw - 2rem));max-height:none;padding:.95rem 1.1rem;overflow:visible}.login-start-page.register-page .login-panel.is-open .login-form-wrap{width:min(26rem,calc(100vw - 2rem))}.login-start-page .login-panel.is-open .login-title{font-size:1.45rem;line-height:1.05}.login-start-page .login-panel.is-open .login-subtitle{margin-top:.18rem;font-size:.72rem;line-height:1.15}.login-start-page .login-panel.is-open .login-form{gap:.52rem;margin-top:.8rem}.login-start-page .login-panel.is-open .login-field{gap:.28rem}.login-start-page .login-panel.is-open .login-label{font-size:.78rem;line-height:1.05}.login-start-page .login-panel.is-open .login-input,.login-start-page .login-panel.is-open .register-select{height:2.45rem;border-radius:.55rem;font-size:.78rem}.login-start-page .login-panel.is-open .login-input{padding-left:2.2rem;padding-right:2.2rem}.login-start-page .login-panel.is-open .login-field-icon{left:.7rem;width:.82rem;height:.82rem}.login-start-page .login-panel.is-open .login-field-icon-right{right:.5rem;padding:.12rem}.login-start-page .login-panel.is-open .login-row{gap:.4rem;font-size:.78rem}.login-start-page .login-panel.is-open .login-submit{height:2.55rem;border-radius:.55rem;font-size:.82rem}.login-start-page .login-panel.is-open .login-switch{margin-top:.65rem;font-size:.74rem;line-height:1.1}.login-start-page.register-page .login-panel.is-open .register-grid{gap:.45rem}.login-start-page.register-page .login-panel.is-open .register-grid>.login-field:has(input[type=email]),.login-start-page.register-page .login-panel.is-open .register-grid>.login-field:has(input[type=password]){grid-column:span 1}.login-start-page .login-panel.is-open .login-error,.login-start-page .login-panel.is-open .register-hint{font-size:.62rem;line-height:1.05}}