*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:100%/1.5 var(--sans)}main{display:grid;grid-template-columns:1.1fr 1fr;min-height:100svh}.story{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px 64px;color:#f1f5f1;background:radial-gradient(ellipse at 15% 100%,#20372c 0,transparent 65%),#171b18;border-right:1px solid #2a302a}.story:after{content:'';position:absolute;width:650px;height:650px;border:1px solid #9ebc9c12;border-radius:50%;bottom:-370px;right:-220px;box-shadow:0 0 0 80px #9ebc9c06,0 0 0 160px #9ebc9c04}.brand{display:flex;gap:13px;align-items:center;font-size:1.5625rem;font-weight:650;color:inherit;text-decoration:none;letter-spacing:-1px}.brand img{width:88px;height:auto;object-fit:contain}.story-copy{margin:auto 0;position:relative;z-index:1;padding:75px 0}.eyebrow{font-size:0.8125rem;font-weight:650;letter-spacing:2px;color:#a3b49e}h1{font-weight:450;font-size:clamp(36px,4vw,62px);line-height:1.1;letter-spacing:-2.5px;margin:24px 0}.story p{line-height:1.9;color:#a9b0a8;font-size:1.125rem}.preview{display:flex;align-items:center;gap:16px;margin-top:44px;background:#ffffff05;border:1px solid #a5bea51c;border-radius:14px;padding:21px 22px;max-width:380px;box-shadow:0 16px 50px #0002}.preview strong{font-size:1rem;font-weight:500}.preview small{display:block;font-size:0.875rem;margin-top:6px;color:#8d9d8b}.pulse{width:10px;height:10px;border-radius:50%;background:#b9d6a0;box-shadow:0 0 0 6px #b9d6a00d}.spark{margin-left:auto;color:#bbd3a5;font-size:1.5rem}footer{font-size:0.875rem;color:#a6b7a9;z-index:1}.entry{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 40px;position:relative}.form-wrap{width:100%;max-width:360px}h2{font-size:2rem;font-weight:500;letter-spacing:-1px;margin:17px 0 10px}#intro{color:var(--muted);font-size:1rem;margin-bottom:34px}label{display:block;font-size:0.9375rem;font-weight:500;color:var(--ink);margin:19px 0}input{display:block;width:100%;background:var(--inset);border:1px solid var(--control-border);border-radius:8px;color:var(--ink);padding:14px;font:inherit;font-size:1rem;margin-top:9px;outline:none;transition:border-color .2s}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #adca9612}input::placeholder{color:var(--sub)}.password-box{display:block;position:relative}.password-box input{padding-right:65px}#show-password{position:absolute;right:12px;top:14px;background:none;border:0;color:var(--muted);font-size:0.875rem;cursor:pointer}.submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px;border:0;border-radius:8px;background:var(--primary);color:var(--on-primary);font-size:1rem;font-weight:650;cursor:pointer;margin-top:8px}.submit:hover{background:var(--primary-hover)}.submit:disabled{opacity:.6;cursor:wait}.switch{font-size:0.9375rem;color:var(--muted);text-align:center;margin-top:24px}.switch a{color:var(--green);text-decoration:none;margin-left:4px}.privacy{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:32px;color:var(--sub)}.privacy>span{font-size:1.5rem;color:var(--sub)}.privacy p{font-size:0.875rem;line-height:1.8;margin:0}.error{color:var(--danger);font-size:0.9375rem;line-height:1.5;min-height:0;margin:0 0 12px}.error:empty{display:none}.bottom{position:absolute;bottom:28px;font-size:0.8125rem;color:var(--sub)}.mobile-brand{display:none}[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:4px}@media(max-width:800px){main{grid-template-columns:1fr}.story{display:none}.entry{min-height:100svh;padding:48px 28px 80px}.mobile-brand{display:block;font-size:1.625rem;letter-spacing:-1px;margin-bottom:54px}.bottom{bottom:20px}h2{font-size:1.875rem}}

.entry .eyebrow { color:var(--green) }
.mobile-brand img { display:block;width:80px;height:auto }
@media(max-width:800px){
  .entry { padding-inline:max(1.5rem, env(safe-area-inset-left, 0px)) max(1.5rem, env(safe-area-inset-right, 0px)); padding-bottom:calc(5rem + env(safe-area-inset-bottom, 0px)); }
  .mobile-brand { margin-bottom:2rem; }
  .switch a { display:inline-flex; align-items:center; min-height:44px; }
  #show-password { min-height:44px; top:50%; transform:translateY(-50%); }
  .entry input { font-size:1rem; }
}

button, input { font-family: inherit; }
.bottom a { color:var(--green); text-underline-offset:.18em; }
