1import{b as j,c as q,d as U,e as G,f as Z,g as J,n as Y,p as Q}from"./chunk-Q4CJFHCW.js";import{a as K}from"./chunk-5TLGMFG2.js";import"./chunk-FSQLLG7H.js";import{a as z}from"./chunk-YEBT2LIP.js";import{a as H}from"./chunk-2SYIQA6T.js";import{b as R,d as F,e as W}from"./chunk-4UFKN3JY.js";import"./chunk-OJTJWHWC.js";import{a as $}from"./chunk-XWCXGSAR.js";import"./chunk-SQR67JNC.js";import"./chunk-5PC2QIBK.js";import"./chunk-WKY34TDA.js";import{c as B}from"./chunk-HLKSWAUL.js";import"./chunk-PCLFWLAI.js";import{Ca as I,Ga as g,Jc as S,Nb as C,Ob as u,Pb as f,Rb as N,Sb as k,Tb as O,Ub as v,Vb as i,Wb as o,Xb as c,Zc as V,dc as y,hc as p,jb as l,jc as _,qa as h,tc as A,uc as M,vc as E,w as L,wa as b,wc as r,x as D,xa as x,xc as w,yb as T,yc as P}from"./chunk-VKFMZARP.js";import{l as m}from"./chunk-ADXSR5XT.js";var te=(a,e)=>e.id;function ne(a,e){if(a&1&&c(0,"div",45),a&2){let t=e.$implicit,n=e.$index,s=_();A("background-image","url("+t+")"),M("login__hero-img--active",s.activeHero(n))}}function ie(a,e){if(a&1){let t=y();i(0,"button",46),p("click",function(){let s=b(t).$implicit,d=_();return x(d.signInWith(s.id))}),c(1,"i",47),i(2,"span",48),r(3),o()()}if(a&2){let t=e.$implicit,n=_();E(S("login__provider login__provider--",t.id)),M("login__provider--inactive",n.isInactive(t.id)),v("disabled",n.busy()||n.formMode()==="register"&&!n.canRegister())("title",n.isInactive(t.id)?"Derzeit nicht aktiviert":n.providerLabel(t.name)),l(),E(S("login__provider-icon fa-brands ",t.icon)),l(2),w(n.providerLabel(t.name))}}function oe(a,e){if(a&1){let t=y();i(0,"label",28)(1,"span",29),r(2,"Anzeigename"),o(),i(3,"input",49),p("ngModelChange",function(s){b(t);let d=_();return x(d.displayName.set(s))}),o()()}if(a&2){let t=_();l(3),v("ngModel",t.displayName())}}function re(a,e){a&1&&(i(0,"span",35),r(1,"Mindestens 8 Zeichen"),o())}function ae(a,e){if(a&1){let t=y();i(0,"button",50),p("click",function(){b(t);let s=_();return x(s.forgotPassword())}),r(1," Passwort vergessen? "),o()}if(a&2){let t=_();v("disabled",t.busy())}}function le(a,e){a&1&&(i(0,"p",37),r(1," Registrierung nur per Einladung, du brauchst einen g\xFCltigen Einmal-Link. "),o())}function se(a,e){a&1&&(i(0,"p",38),r(1),o()),a&2&&(l(),w(e))}function de(a,e){a&1&&(i(0,"p",39),r(1),o()),a&2&&(l(),w(e))}function ge(a,e){a&1&&(i(0,"p",41),r(1," Mit dem Erstellen eines Kontos stimmst du den "),i(2,"a",51),r(3,"Nutzungsbedingungen"),o(),r(4," und der "),i(5,"a",51),r(6,"Datenschutzerkl\xE4rung"),o(),r(7," zu. "),o())}function ce(a,e){if(a&1){let t=y();r(0," Noch kein Konto? "),i(1,"button",52),p("click",function(){b(t);let s=_();return x(s.switchMode("register"))}),r(2," Jetzt registrieren "),o()}}function pe(a,e){if(a&1){let t=y();r(0," Schon ein Konto? "),i(1,"button",52),p("click",function(){b(t);let s=_();return x(s.switchMode("login"))}),r(2," Jetzt anmelden "),o()}}var X=class a{router=h(F);route=h(R);auth=h(H);assets=h($);heroSlots=["login-hero-1","login-hero-2","login-hero-3","login-hero-4","login-hero-5"];heroImages=B(D(this.heroSlots.map(e=>this.assets.asset(e))).pipe(L(e=>e.map(t=>t?.downloadURL).filter(t=>!!t))),{initialValue:[]});heroIndex=g(0);formMode=g("login");inviteToken=g(this.route.snapshot.queryParamMap.get("invite"));displayName=g("");email=g("");password=g("");showPassword=g(!1);busy=g(!1);error=g(null);info=g(null);canRegister=V(()=>!z.requireInvite||!!this.inviteToken());inactiveProviders=new Set;providers=[{id:"google",name:"Google",icon:"fa-google"}];providerLabel(e){return this.formMode()==="register"?`Mit ${e} registrieren`:`Mit ${e} anmelden`}constructor(){this.inviteToken()&&this.formMode.set("register");let e=this.route.snapshot.queryParamMap,t=e.get("discordError"),n=e.get("discord");t?this.error.set(this.discordErrorMessage(t)):n&&this.run(()=>m(this,null,function*(){yield this.auth.completeDiscordLogin(n),this.navigateAfterLogin()}));let s=setInterval(()=>{let d=this.heroImages().length;d>1&&this.heroIndex.update(ee=>(ee+1)%d)},6e3);h(I).onDestroy(()=>clearInterval(s))}activeHero(e){let t=this.heroImages().length;return t>0&&e===this.heroIndex()%t}switchMode(e){this.formMode.set(e),this.error.set(null),this.info.set(null)}forgotPassword(){return m(this,null,function*(){if(this.busy())return;let e=this.email().trim();if(this.error.set(null),this.info.set(null),!e){this.error.set('Bitte trage zuerst deine E-Mail ein, dann klicke erneut auf \u201EPasswort vergessen?".');return}this.busy.set(!0);try{yield this.auth.sendPasswordReset(e),this.info.set(`Wenn ein Konto zu ${e} existiert, ist eine E-Mail mit einem Link zum Zuruecksetzen unterwegs. Bitte pruefe auch den Spam-Ordner.`)}catch(t){let n=t instanceof Error?t.message:String(t);n.includes("auth/invalid-email")?this.error.set("Die E-Mail-Adresse sieht nicht gueltig aus."):n.includes("auth/missing-email")?this.error.set("Bitte trage zuerst deine E-Mail ein."):this.error.set("Zuruecksetzen fehlgeschlagen, bitte erneut versuchen.")}finally{this.busy.set(!1)}})}isInactive(e){return this.inactiveProviders.has(e)}signInWith(e){return m(this,null,function*(){if(this.isInactive(e)){this.error.set("Dieser Anbieter ist derzeit nicht aktiviert.");return}if(e==="discord"){yield this.auth.startDiscordLogin(this.inviteToken());return}yield this.run(()=>m(this,null,function*(){yield this.auth.signInWithProvider(e),yield this.completeAuth()}))})}discordErrorMessage(e){return e==="expired"?"Der Discord-Login ist abgelaufen, bitte erneut versuchen.":e==="denied"?"Discord-Anmeldung wurde abgebrochen.":"Discord-Anmeldung fehlgeschlagen, bitte erneut versuchen."}submitEmail(){return m(this,null,function*(){yield this.run(()=>m(this,null,function*(){this.formMode()==="register"?yield this.auth.registerWithEmail(this.email(),this.password(),this.displayName()):yield this.auth.signInWithEmail(this.email(),this.password()),yield this.completeAuth()}))})}abmeldeProtokoll=h(K);completeAuth(){return m(this,null,function*(){if(z.requireInvite){let e=this.formMode()==="register"?this.inviteToken():null;try{yield this.auth.finalizeSignup(e)}catch(t){throw this.abmeldeProtokoll.kuendigeAn("anmeldung-abgebrochen"),yield this.auth.signOut().catch(()=>{}),t}}this.navigateAfterLogin()})}
1navigateAfterLogin(){let e=this.route.snapshot.queryParamMap.get("returnUrl"),t=e&&e.startsWith("/")&&!e.startsWith("//")?e:"/neuigkeiten";this.router.navigateByUrl(t)}run(e){return m(this,null,function*(){if(!this.busy()){this.busy.set(!0),this.error.set(null);try{yield e()}catch(t){this.error.set(this.toMessage(t))}finally{this.busy.set(!1)}}})}toMessage(e){let t=e instanceof Error?e.message:String(e);return t.includes("auth/popup-closed-by-user")?"Anmeldung abgebrochen.":t.includes("auth/invalid-credential")||t.includes("auth/wrong-password")?"E-Mail oder Passwort ist falsch.":t.includes("auth/email-already-in-use")?"Diese E-Mail ist bereits registriert.":t.includes("auth/operation-not-allowed")?"Dieser Anmeldedienst ist serverseitig noch nicht aktiviert.":t.includes("PERMISSION_DENIED")||t.includes("permission-denied")?"Kein Zugriff, eine g\xFCltige Einladung ist erforderlich.":t.replace(/^Error:\s*/,"")}static \u0275fac=function(t){return new(t||a)};static \u0275cmp=T({type:a,selectors:[["app-login-page"]],decls:79,vars:23,consts:[[1,"login"],[1,"login__shell"],[1,"login__hero"],["aria-hidden","true",1,"login__hero-media"],[1,"login__hero-img",3,"login__hero-img--active","background-image"],[1,"login__hero-scrim"],[1,"login__hero-content","login__hero-content--logo"],[1,"login__hero-center"],["src","/img/logo/unbound.9ccd2305.webp","alt","Das Schwarze Auge \u2014 Unbound","decoding","async",1,"login__hero-logo"],[1,"login__title"],[1,"login__tagline"],[1,"login__features"],[1,"login__feature"],["aria-hidden","true",1,"login__feature-icon","fa-solid","fa-feather-pointed"],[1,"login__feature-text"],[1,"login__feature-title"],[1,"login__feature-desc"],["aria-hidden","true",1,"login__feature-icon","fa-solid","fa-sliders"],["aria-hidden","true",1,"login__feature-icon","fa-solid","fa-cloud"],[1,"login__panel"],[1,"login__card"],[1,"login__head"],[1,"login__card-title"],[1,"login__card-sub"],[1,"login__providers"],["type","button",3,"class","login__provider--inactive","disabled","title"],[1,"login__divider"],[1,"login__form",3,"ngSubmit"],[1,"login__field"],[1,"login__label"],["type","email","name","email","autocomplete","email","required","","placeholder","[email protected]",1,"login__input",3,"ngModelChange","ngModel"],[1,"login__password"],["name","password","required","",1,"login__input","login__input--password",3,"ngModelChange","type","ngModel","placeholder"],["type","button",1,"login__password-toggle",3,"click"],["aria-hidden","true",1,"fa-solid"],[1,"login__hint"],["type","button",1,"login__link","login__forgot",3,"disabled"],[1,"login__notice","login__notice--warn"],["role","status",1,"login__notice","login__notice--info"],["role","alert",1,"login__notice","login__notice--error"],["type","submit",1,"btn","login__submit",3,"disabled"],[1,"login__terms"],[1,"login__foot"],[1,"login__cloud"],["aria-hidden","true",1,"fa-solid","fa-lock"],[1,"login__hero-img"],["type","button",3,"click","disabled","title"],["aria-hidden","true"],[1,"login__provider-label"],["type","text","name","displayName","autocomplete","nickname","placeholder","z. B. Alrik vom Donnersbach",1,"login__input",3,"ngModelChange","ngModel"],["type","button",1,"login__link","login__forgot",3,"click","disabled"],["routerLink","/impressum",1,"login__link","login__link--inline"],["type","button",1,"login__link",3,"click"]],template:function(t,n){if(t&1&&(i(0,"main",0)(1,"div",1)(2,"aside",2)(3,"div",3),k(4,ne,1,4,"div",4,N),c(6,"div",5),o(),i(7,"div",6)(8,"div",7),c(9,"img",8),i(10,"h1",9),r(11,"Werde zum "),i(12,"em"),r(13,"Helden"),o(),r(14," Aventuriens"),o(),i(15,"p",10),r(16," Bestehe als tapferer Ritter, elfische Waldl\xE4uferin oder gelehrter Magier Heldentaten und entdecke mit deinen Gef\xE4hrten das von vielen Kriegen geschw\xE4chte Mittelreich, die exotischen L\xE4nder der Tulamiden, die dampfenden Dschungel des S\xFCdens oder die finsteren Schattenlande! "),o()(),i(17,"ul",11)(18,"li",12),c(19,"i",13),i(20,"span",14)(21,"strong",15),r(22,"Intuitiv erstellen"),o(),i(23,"span",16),r(24,"Helden Schritt f\xFCr Schritt aufbauen"),o()()(),i(25,"li",12),c(26,"i",17),i(27,"span",14)(28,"strong",15),r(29,"Flexibel anpassen"),o(),i(30,"span",16),r(31,"Werte und Talente jederzeit \xE4ndern"),o()()(),i(32,"li",12),c(33,"i",18),i(34,"span",14)(35,"strong",15),r(36,"Sicher in der Cloud"),o(),i(37,"span",16),r(38,"auf jedem Ger\xE4t griffbereit"),o()()()()()(),i(39,"section",19)(40,"div",20)(41,"header",21)(42,"h2",22),r(43),o(),i(44,"p",23),r(45),o()(),i(46,"div",24),k(47,ie,4,11,"button",25,te),o(),i(49,"div",26)(50,"span"),r(51,"oder mit E-Mail"),o()(),i(52,"form",27),p("ngSubmit",function(){return n.submitEmail()}),u(53,oe,4,1,"label",28),i(54,"label",28)(55,"span",29),r(56,"E-Mail"),o(),i(57,"input",30),p("ngModelChange",function(d){return n.email.set(d)}),o()(),i(58,"label",28)(59,"span",29),r(60,"Passwort"),o(),i(61,"div",31)(62,"input",32),p("ngModelChange",function(d){return n.password.set(d)}),o(),i(63,"button",33),p("click",function(){return n.showPassword.set(!n.showPassword())}),c(64,"i",34),o()(),u(65,re,2,0,"span",35),u(66,ae,2,1,"button",36),o(),u(67,le,2,0,"p",37),u(68,se,2,1,"p",38),u(69,de,2,1,"p",39),i(70,"button",40),r(71),o(),u(72,ge,8,0,"p",41),o(),i(73,"p",42),u(74,ce,3,0)(75,pe,3,0),o(),i(76,"p",43),c(
177,"i",44),r(78," Deine Helden werden sicher in der Cloud gespeichert. "),o()()()()()),t&2){let s,d;l(4),O(n.heroImages()),l(39),P(" ",n.formMode()==="register"?"Konto erstellen":"Willkommen zur\xFCck"," "),l(2),P(" ",n.formMode()==="register"?"Leg dein Konto an und erschaffe deinen ersten Helden.":"Melde dich an und mach mit deinen Helden weiter."," "),l(2),O(n.providers),l(6),f(n.formMode()==="register"?53:-1),l(4),v("ngModel",n.email()),l(5),v("type",n.showPassword()?"text":"password")("ngModel",n.password())("placeholder",n.formMode()==="register"?"Passwort w\xE4hlen":"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"),C("autocomplete",n.formMode()==="login"?"current-password":"new-password"),l(),C("aria-label",n.showPassword()?"Passwort verbergen":"Passwort anzeigen")("aria-pressed",n.showPassword()),l(),M("fa-eye",!n.showPassword())("fa-eye-slash",n.showPassword()),l(),f(n.formMode()==="register"?65:-1),l(),f(n.formMode()==="login"?66:-1),l(),f(n.formMode()==="register"&&!n.canRegister()?67:-1),l(),f((s=n.info())?68:-1,s),l(),f((d=n.error())?69:-1,d),l(),v("disabled",n.busy()||n.formMode()==="register"&&!n.canRegister()),l(),P(" ",n.busy()?"Bitte warten\u2026":n.formMode()==="login"?"Anmelden":"Konto erstellen"," "),l(),f(n.formMode()==="register"?72:-1),l(2),f(n.formMode()==="login"?74:75)}},dependencies:[Q,J,j,q,U,Y,Z,G,W],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;min-height:100vh;isolation:isolate}.login[_ngcontent-%COMP%]{display:grid;place-items:center;min-height:100vh;padding:clamp(var(--space-3),3vw,var(--space-10));background:radial-gradient(ellipse 70% 50% at 50% -10%,rgba(188,146,62,.2),transparent 60%),radial-gradient(circle at 50% 120%,rgba(158,118,50,.16),transparent 55%),linear-gradient(180deg,#16110b,#0e0a06)}.login__shell[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,45%) minmax(0,1fr);width:min(1080px,100%);min-height:min(660px,100vh - 2 * clamp(var(--space-3),3vw,var(--space-10)));overflow:hidden;border-radius:20px;border:1px solid rgba(200,164,78,.18);background:var(--color-surface);box-shadow:0 30px 80px -28px #000000bf,0 2px #ffffff0a inset}.login__hero[_ngcontent-%COMP%]{position:relative;overflow:hidden;color:#f4ecd6;background:radial-gradient(120% 80% at 25% 12%,rgba(60,107,74,.45),transparent 60%),linear-gradient(160deg,#2a2014,#3a2c18 45%,#6b4f24)}.login__hero-media[_ngcontent-%COMP%]{position:absolute;inset:0;z-index:0}.login__hero-img[_ngcontent-%COMP%]{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}.login__hero-img--active[_ngcontent-%COMP%]{opacity:1}.login__hero-scrim[_ngcontent-%COMP%]{position:absolute;inset:0;background:linear-gradient(180deg,#0c0905d1,#0c090557 34%,#0c09056b 64%,#0c0905e0),radial-gradient(125% 90% at 50% 45%,transparent 42%,rgba(12,9,5,.5))}.login__hero-content[_ngcontent-%COMP%]{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr auto;gap:var(--space-6);height:100%;padding:clamp(var(--space-6),3.4vw,var(--space-10))}.login__hero-content--logo[_ngcontent-%COMP%]{grid-template-rows:1fr auto}.login__hero-logo[_ngcontent-%COMP%]{width:min(88%,460px);margin-bottom:var(--space-3);filter:drop-shadow(0 4px 14px rgba(0,0,0,.6)) drop-shadow(0 0 18px rgba(233,199,92,.22))}.login__brand[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-start}.login__brand-logo[_ngcontent-%COMP%]{display:block;height:clamp(38px,4vw,50px);width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.login__brand-eyebrow[_ngcontent-%COMP%]{font-family:var(--font-body);font-size:var(--type-label-size);line-height:var(--lh-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--palette-gold)}.login__hero-center[_ngcontent-%COMP%]{place-self:center;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);max-width:30rem}.login__title[_ngcontent-%COMP%]{margin:0;font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:var(--type-h1-size);line-height:var(--lh-display);letter-spacing:var(--tracking-tight);color:#f6eed8;text-shadow:0 2px 10px rgba(0,0,0,.45)}.login__title[_ngcontent-%COMP%] em[_ngcontent-%COMP%]{font-style:italic;color:var(--palette-gold)}.login__tagline[_ngcontent-%COMP%]{margin:var(--space-1) 0 0;font-family:var(--font-body);font-size:var(--type-body-lg-size);line-height:var(--lh-loose);color:#f4ecd6d1}.login__features[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.login__feature[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:var(--space-3)}.login__feature-icon[_ngcontent-%COMP%]{flex:none;margin-top:2px;width:1.5rem;font-size:var(--font-size-md);text-align:center;color:var(--palette-gold)}.login__feature-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1px}.login__feature-title[_ngcontent-%COMP%]{font-family:var(--font-body);font-weight:var(--font-weight-semibold);font-size:var(--type-body-sm-size);color:#f4ecd6}.login__feature-desc[_ngcontent-%COMP%]{font-family:var(--font-body);font-size:var(--type-body-sm-size);letter-spacing:var(--tracking-caption);color:#f4ecd6ad}.login__panel[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;padding:clamp(var(--space-5),3vw,var(--space-10)) clamp(var(--space-5),3vw,var(--space-8));background:var(--color-surface)}.login__card[_ngcontent-%COMP%]{width:100%;max-width:380px;
1display:flex;flex-direction:column;gap:var(--space-5)}.login__head[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-1)}.login__card-title[_ngcontent-%COMP%]{margin:0;font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:var(--type-h2-size);line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);color:var(--color-text)}.login__card-sub[_ngcontent-%COMP%]{margin:0;font-size:var(--type-body-sm-size);letter-spacing:var(--tracking-caption);color:var(--color-text-muted)}.login__providers[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-2)}.login__provider[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:var(--font-weight-semibold);font-size:var(--type-body-size);cursor:pointer;transition:filter .15s ease,transform .12s ease,box-shadow .15s ease;box-shadow:0 1px 2px #14100a1f}.login__provider[_ngcontent-%COMP%]:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.login__provider[_ngcontent-%COMP%]:active:not(:disabled){transform:translateY(0) scale(.99)}.login__provider[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.login__provider[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.login__provider--discord[_ngcontent-%COMP%]{background:#5865f2;color:#fff}.login__provider--google[_ngcontent-%COMP%]{background:var(--palette-white);color:var(--palette-ink-800, #1a1a1a);border-color:var(--color-border-muted)}.login__provider--apple[_ngcontent-%COMP%]{background:#111;color:#fff}.login__provider--inactive[_ngcontent-%COMP%]{filter:grayscale(.4)}.login__provider-icon[_ngcontent-%COMP%]{flex:none;font-size:18px;line-height:1}.login__divider[_ngcontent-%COMP%]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--type-label-size);line-height:var(--lh-heading);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase}.login__divider[_ngcontent-%COMP%]:before, .login__divider[_ngcontent-%COMP%]:after{content:"";flex:1;height:1px;background:var(--color-border-muted)}.login__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-3)}.login__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:var(--space-1)}.login__label[_ngcontent-%COMP%]{font-size:var(--type-body-sm-size);font-weight:var(--font-weight-semibold);color:var(--color-text)}.login__input[_ngcontent-%COMP%]{width:100%;padding:var(--space-3);border:1px solid var(--color-border-muted);border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text);font-family:var(--font-body);font-size:var(--type-body-size)}.login__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-subtle)}.login__input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent)}.login__password[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center}.login__input--password[_ngcontent-%COMP%]{padding-right:3rem}.login__password-toggle[_ngcontent-%COMP%]{position:absolute;right:var(--space-1);display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:0;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.login__password-toggle[_ngcontent-%COMP%]:hover{color:var(--color-text)}.login__password-toggle[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.login__hint[_ngcontent-%COMP%]{font-size:var(--type-body-sm-size);letter-spacing:var(--tracking-caption);color:var(--color-text-muted)}.login__submit[_ngcontent-%COMP%]{justify-content:center;margin-top:var(--space-1);padding:var(--space-3) var(--space-4);color:#2a2012;font-weight:var(--font-weight-semibold);background:linear-gradient(180deg,color-mix(in srgb,var(--palette-gold) 72%,white) 0%,var(--palette-gold) 52%,var(--palette-gold-dark) 100%);box-shadow:inset 0 1px #fff6,0 6px 16px -7px color-mix(in srgb,var(--palette-gold) 60%,transparent)}.login__submit[_ngcontent-%COMP%]:hover:not(:disabled){filter:brightness(1.05) saturate(1.
103);box-shadow:inset 0 1px #ffffff73,0 10px 22px -8px color-mix(in srgb,var(--palette-gold) 65%,transparent)}.login__terms[_ngcontent-%COMP%]{margin:0;font-size:var(--type-body-sm-size);line-height:var(--lh-body);letter-spacing:var(--tracking-caption);color:var(--color-text-muted)}.login__foot[_ngcontent-%COMP%]{margin:0;text-align:center;font-size:var(--type-body-sm-size);color:var(--color-text-muted)}.login__link[_ngcontent-%COMP%]{border:0;background:none;color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);cursor:pointer;padding:0;text-decoration:none}.login__link[_ngcontent-%COMP%]:hover{text-decoration:underline}.login__link--inline[_ngcontent-%COMP%]{text-decoration:underline;text-underline-offset:2px}.login__cloud[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;padding-top:var(--space-4);border-top:1px solid var(--color-border-muted);font-size:var(--type-body-sm-size);letter-spacing:var(--tracking-caption);color:var(--color-text-muted)}.login__cloud[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:var(--color-accent-strong)}.login__notice[_ngcontent-%COMP%]{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--type-body-sm-size)}.login__notice--warn[_ngcontent-%COMP%]{background:color-mix(in srgb,#b8860b 14%,var(--color-surface-alt));color:var(--color-text)}.login__notice--error[_ngcontent-%COMP%]{background:color-mix(in srgb,#c0392b 12%,var(--color-surface-alt));color:var(--color-text)}.login__notice--info[_ngcontent-%COMP%]{background:color-mix(in srgb,#2c8f6a 14%,var(--color-surface-alt));color:var(--color-text)}.login__forgot[_ngcontent-%COMP%]{display:inline-block;align-self:flex-end;margin-top:var(--space-1);font-size:var(--type-body-sm-size);font-weight:var(--font-weight-regular)}.login__forgot[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:default}@media(max-width:860px){.login[_ngcontent-%COMP%]{padding:0}.login__shell[_ngcontent-%COMP%]{grid-template-columns:1fr;width:100%;min-height:100vh;border:0;border-radius:0}.login__hero[_ngcontent-%COMP%]{min-height:320px}.login__hero-content[_ngcontent-%COMP%]{grid-template-rows:auto auto;gap:var(--space-5)}.login__panel[_ngcontent-%COMP%]{padding:var(--space-8) var(--space-5) var(--space-10)}}@media(max-width:560px){.login__hero[_ngcontent-%COMP%]{min-height:260px}.login__provider[_ngcontent-%COMP%], .login__submit[_ngcontent-%COMP%], .login__input[_ngcontent-%COMP%]{min-height:44px}.login__link[_ngcontent-%COMP%]{padding:var(--space-1) var(--space-1);min-height:44px;display:inline-flex;align-items:center}.login__link--inline[_ngcontent-%COMP%]{min-height:0;padding:0;display:inline}}'],changeDetection:0})};export{X as LoginPage};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.