.auth-page{background:var(--white);grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);min-height:calc(100dvh - 70px);display:grid;position:relative;overflow:hidden}.auth-page:before{content:"";background:linear-gradient(135deg, #fefdfa 0%, var(--paper) 100%);opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .5s;position:absolute;top:0;left:0}.auth-page:hover:before{opacity:1}.auth-loading{color:var(--stone);grid-template-columns:1fr;place-items:center;padding:3rem 1.5rem}.auth-loading .spinner{border:2.5px solid #120f0d14;border-top-color:var(--gold-deep);border-radius:50%;width:32px;height:32px;margin-bottom:1.5rem;animation:.8s cubic-bezier(.68,-.55,.265,1.55) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-media{background:var(--ink);clip-path:polygon(0 0,100% 0,92% 100%,0 100%);min-height:calc(100dvh - 70px);transition:clip-path .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.auth-media:hover{clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.auth-media img{object-fit:cover;object-position:center 20%;filter:saturate(.9)contrast(1.08)brightness(1.02);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.auth-media:hover img{transform:scale(1.03)}.auth-media-veil{pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(135deg,#120f0d0f 0%,#120f0d3d 40%,#120f0dad 100%);position:absolute;inset:0}.auth-media-copy{z-index:2;color:var(--white);animation:.8s cubic-bezier(.16,1,.3,1) .3s backwards fadeInUp;position:absolute;bottom:2.5rem;left:2.5rem;right:2.5rem}.auth-page:not(.auth-signup-page) .auth-media-copy{bottom:14rem}.auth-signup-page .auth-media-copy{bottom:24rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-media-copy p{letter-spacing:.2em;text-transform:uppercase;color:#fffdf9cc;margin:0 0 .8rem;font-size:.68rem;font-weight:600}.auth-media-copy h2{max-width:10ch;font-family:var(--font-display);letter-spacing:-.04em;text-shadow:0 2px 8px #0003;margin:0;font-size:clamp(2.2rem,3.6vw,3.6rem);font-weight:400;line-height:1.05}.auth-panel{background:linear-gradient(180deg, var(--white) 0%, #faf8f3 100%);justify-content:center;align-items:center;margin:50px;padding:5rem 3.5rem;display:flex;position:relative}.auth-panel:before{content:"";background:linear-gradient(90deg,#0000,#120f0d0f,#0000);height:1px;position:absolute;top:0;left:0;right:0}.auth-panel-inner{width:100%;max-width:380px;animation:.6s cubic-bezier(.16,1,.3,1) slideInRight}.auth-signup-page .auth-panel{padding:3.25rem 3rem}.auth-signup-page .auth-panel-inner{max-width:420px}.auth-signup-eyebrow{color:var(--gold-deep);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;margin:20px 0 .5rem;font-size:.68rem;font-weight:600}.auth-signup-page .auth-lede{margin:.65rem 0 1.5rem}.auth-signup-page .auth-form{gap:1rem}.auth-signup-page .auth-divider{margin:1.15rem 0}.auth-signup-page .google-button{margin-bottom:1rem}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.auth-panel h1{color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .6rem;font-size:clamp(1.75rem,3.5vw,2.3rem);font-weight:500;line-height:1.15}.auth-lede{max-width:34ch;color:var(--stone);margin:.8rem 0 2.2rem;font-size:.96rem;font-weight:400;line-height:1.65}.auth-form{flex-direction:column;gap:1.25rem;animation:.5s backwards fadeIn;display:flex}.auth-form .form-group{animation:.5s backwards slideUp}.auth-form .form-group:first-child{animation-delay:.1s}.auth-form .form-group:nth-child(2){animation-delay:.15s}.auth-form .form-group:nth-child(3){animation-delay:.2s}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-group{flex-direction:column;gap:.55rem;display:flex}.form-group label,.field-label-row{color:var(--ink);letter-spacing:-.01em;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.88rem;font-weight:600;display:flex}.form-group label .label-note{color:var(--stone);font-size:.74rem;font-weight:400}.field-label-row a{color:var(--gold-deep);font-size:.82rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.field-label-row a:after{content:"";background:var(--gold-deep);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-2px;left:0}.field-label-row a:hover{color:var(--ink)}.field-label-row a:hover:after{width:100%}.input{background:var(--paper);width:100%;min-height:52px;color:var(--ink);border:1.5px solid #0000;border-radius:14px;outline:none;padding:.95rem 1.1rem;font-size:1rem;transition:all .25s cubic-bezier(.16,1,.3,1)}.input::placeholder{color:var(--stone-light);letter-spacing:.01em}.input:hover{background:#faf8f3;border-color:#a17a461f}.input:focus{background:var(--white);border-color:var(--gold-deep);transform:translateY(-1px);box-shadow:0 0 0 4px #a17a4614,0 2px 8px #a17a460a}.input[aria-invalid=true]{border-color:var(--danger);background:#ad433805}.input[aria-invalid=true]:focus{box-shadow:0 0 0 4px #ad43381f}.input:disabled{cursor:not-allowed;opacity:.6}.password-field{position:relative}.password-field .input{padding-right:5rem}.password-toggle{min-width:44px;min-height:44px;color:var(--stone);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 .75rem;font-size:.72rem;font-weight:700;transition:all .2s;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible{color:var(--ink);background:#a17a4614}.field-hint,.field-error{margin:.5rem 0 0;font-size:.76rem;line-height:1.5}.field-hint{color:var(--stone);align-items:center;gap:.4rem;display:flex}.field-hint:before{content:"";background:var(--stone-light);border-radius:50%;width:4px;height:4px;animation:1.5s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.field-error{color:var(--danger);align-items:center;gap:.4rem;font-weight:500;display:flex}.field-error:before{content:"!";width:14px;height:14px;color:var(--danger);background:#ad43381a;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:inline-flex}.error-message{color:var(--danger);background:#ad43380a;border:1px solid #ad433833;border-radius:14px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.9rem 1rem;font-size:.88rem;font-weight:500;line-height:1.5;display:flex}.error-message:before{content:"";background:#ad43381f;border-radius:50%;flex-shrink:0;width:18px;height:18px;margin-top:.05rem}.auth-submit{background:var(--ink);width:100%;min-height:52px;color:var(--white);letter-spacing:.01em;cursor:pointer;border:0;border-radius:14px;margin-top:.5rem;padding:1rem;font-size:.96rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.auth-submit:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);transition:opacity .25s;position:absolute;inset:0}.auth-submit:hover{background:#1a1714;transform:translateY(-2px);box-shadow:0 8px 16px #120f0d1f,0 4px 8px #120f0d14}.auth-submit:hover:before{opacity:1}.auth-submit:active{transform:translateY(0);box-shadow:0 2px 4px #120f0d14}.auth-submit:disabled{cursor:wait;opacity:.5;box-shadow:none;transform:none}.google-button{border:1.5px solid var(--line);background:var(--white);width:100%;min-height:52px;color:var(--ink);letter-spacing:.01em;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:.75rem;padding:.9rem 1rem;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.google-button:hover{border-color:var(--gold-deep);background:var(--paper);transform:translateY(-1px);box-shadow:0 4px 12px #a17a4614}.google-button:active{box-shadow:none;transform:translateY(0)}.google-button:disabled{cursor:wait;opacity:.55;box-shadow:none;transform:none}.google-button svg{flex-shrink:0}.auth-switch{color:var(--stone);text-align:center;margin:1.5rem 0 0;font-size:.9rem;line-height:1.6}.auth-switch a{color:var(--gold-deep);font-weight:600;text-decoration:none;transition:color .2s;position:relative}.auth-switch a:after{content:"";background:var(--gold-deep);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-2px;left:0}.auth-switch a:hover:after{width:100%}.auth-divider{color:var(--stone);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:1rem;margin:1.5rem 0;font-size:.7rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--line) 50%, transparent 100%);flex:1;height:1px}.google-button{border:1px solid var(--line);background:var(--white);width:100%;min-height:48px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:.7rem;padding:.8rem 1rem;font-size:.92rem;font-weight:600;transition:background .16s,border-color .16s,transform .16s;display:flex}.google-button:hover{background:var(--paper);border-color:#120f0d38}.google-button:active{transform:scale(.985)}.google-button:disabled{cursor:wait;opacity:.62}.auth-switch{color:var(--stone);margin:1.4rem 0 0;font-size:.9rem}.auth-switch a{color:var(--ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-switch a:hover{color:var(--gold-deep)}.deactivated-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120f0da3;place-items:center;padding:1.5rem;animation:.3s fadeIn;display:grid;position:fixed;inset:0}.deactivated-modal{background:var(--white);text-align:left;border-radius:20px;width:min(100%,420px);padding:2.25rem 2rem;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn;box-shadow:0 0 0 1px #120f0d14,0 24px 48px #120f0d29}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.deactivated-modal h2{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .8rem;font-size:1.65rem;font-weight:500}.deactivated-modal p{color:var(--stone);margin:0 0 1.75rem;font-size:.96rem;line-height:1.65}.deactivated-button{background:var(--ink);width:100%;min-height:52px;color:var(--white);cursor:pointer;border:0;border-radius:14px;font-size:.96rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1)}.deactivated-button:hover{background:#1a1714;transform:translateY(-1px);box-shadow:0 4px 12px #120f0d1f}.deactivated-button:active{box-shadow:none;transform:translateY(0)}@media (max-width:1024px){.auth-page{grid-template-columns:1fr}.auth-media{display:none}.auth-panel{padding:3.5rem 2.5rem}}@media (max-width:640px){.auth-page{min-height:100dvh}.auth-panel{padding:2.5rem 1.5rem}.auth-signup-page .auth-panel{padding:2rem 1.5rem}.auth-panel-inner{max-width:100%}.auth-panel h1{font-size:clamp(1.5rem,5vw,1.75rem)}.auth-lede{margin-bottom:1.75rem;font-size:.92rem}.auth-form{gap:1rem}.form-group{gap:.5rem}.input{border-radius:12px;min-height:50px;padding:.85rem 1rem;font-size:1rem}.password-field .input{padding-right:4.5rem}.auth-submit,.google-button{border-radius:12px;min-height:50px}.deactivated-modal{border-radius:16px;padding:2rem 1.75rem}.deactivated-modal h2{font-size:1.45rem}}@media (hover:none) and (pointer:coarse){.password-toggle{min-width:48px;min-height:48px;padding:0 1rem}.field-label-row a{align-items:center;min-height:44px;display:inline-flex}}.input:focus-visible{box-shadow:0 0 0 4px #a17a461f, 0 0 0 2px var(--gold-deep);outline:none}.auth-submit:focus-visible,.google-button:focus-visible,.deactivated-button:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}.password-toggle:focus-visible{outline:2px solid var(--gold-deep);outline-offset:1px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.auth-loading .spinner,.auth-submit,.google-button,.input,.deactivated-button,.auth-media img,.auth-media-copy,.auth-panel-inner,.auth-form,.field-hint:before{transition:none;animation:none}.auth-submit:active,.google-button:active,.deactivated-button:active{transform:none}}@media (prefers-color-scheme:dark){.auth-page,.auth-panel{background:#161311}.auth-panel h1,.form-group label,.field-label-row,.auth-switch a,.password-toggle:hover,.password-toggle:focus-visible{color:var(--white)}.auth-lede,.auth-switch,.field-hint{color:#c7bfb4}.input,.google-button{color:var(--white);background:#1d1915;border-color:#fffdf924}.input:focus{border-color:var(--gold);box-shadow:0 0 0 4px #c9a9622e}.auth-submit,.deactivated-button{background:var(--white);color:var(--ink)}.google-button:hover,.password-toggle:hover,.password-toggle:focus-visible{background:#241f1a}.deactivated-modal{background:#1d1915}.deactivated-modal h2{color:var(--white)}}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-media{min-height:240px;max-height:32vh}.auth-media-copy{bottom:1.25rem;left:1.25rem;right:1.25rem}.auth-media-copy h2{max-width:16ch;font-size:1.7rem}.auth-panel{align-items:flex-start;padding:2rem 1.25rem 3rem}}
