/* The real Ryva app is the visual. Surrounding architecture stays quiet. */
.auth-page{
  position:relative;isolation:isolate;overflow:hidden;min-height:100svh;
  background:#0c0c0f;padding:24px 44px 20px;
}
.auth-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.auth-wall-light{position:absolute;left:-20%;top:11%;width:105%;height:110%;background:radial-gradient(ellipse at 45% 55%,#ffffff04,transparent 59%),radial-gradient(ellipse at 55% 57%,#8958f614,transparent 55%)}
.auth-architectural-plane{position:absolute;left:-23%;top:-24%;width:79%;height:150%;transform:skewX(-19deg);background:linear-gradient(150deg,#ffffff01 19%,#ffffff07 56%,#ffffff01 80%);border-right:1px solid #ffffff07}
.auth-edge{position:absolute;left:61%;top:-20%;height:150%;width:1px;transform:rotate(19deg);background:linear-gradient(180deg,transparent,#ffffff04 34%,#ffffff0c 59%,transparent 83%)}
.auth-header{position:relative;z-index:2;max-width:1420px;width:100%;height:56px;min-height:56px;padding:0;margin:0 auto;border:0;border-radius:0;background:none;box-shadow:none}
.auth-header:after{display:none}.auth-header .brand{width:112px;flex-shrink:0}
.auth-header-right{gap:24px;min-width:0}
.auth-header-right>.btn{height:35px;padding:0 15px;border:1px solid #34343c;border-radius:9px;background:#19191e;color:#e3e3e8;font-size:11px;box-shadow:inset 0 1px 0 #ffffff03}
.auth-header-right>.btn:hover{border-color:#50505b;background:#24242b}
.community-link{display:flex;align-items:center;gap:8px;font-size:11px;color:#a0a0aa;transition:color .18s}
.community-link>img{width:18px;height:18px;object-fit:contain}
.community-link>svg{width:12px;height:12px;margin-left:1px;color:#777781;transition:transform .18s}
.community-link:hover{color:#e8e8ed}.community-link:hover>svg{transform:translate(1px,-1px)}
.auth-body{
  position:relative;z-index:1;width:100%;max-width:1370px;padding:37px 10px 32px;margin:auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,380px);gap:99px;align-items:center;
}
.auth-art{min-height:0;min-width:0;display:block;padding:0;max-width:100%}
.product-heading{margin:0 0 29px 6px}
.auth-art h1{font-size:50px;line-height:1.07;letter-spacing:-2.2px;color:#f5f5f8;max-width:100%;font-weight:600}
.auth-art h1>span{color:inherit}.auth-art h1>.hero-secondary{color:#adadb7}
.auth-art .auth-copy{font-size:13px;color:#93939f;line-height:1.7;max-width:100%;margin-top:17px}
.product-display{position:relative;width:100%;max-width:850px;margin:0;perspective:none}
.product-display:before{content:"";position:absolute;left:-18px;right:15px;top:23px;bottom:45px;transform:rotate(-3deg);border:1px solid #ffffff08;border-radius:10px;background:linear-gradient(145deg,#ffffff03,#ffffff02);pointer-events:none}
.product-display:after{content:"";position:absolute;bottom:40px;left:14%;right:5%;height:1px;background:linear-gradient(90deg,transparent,#c8b3f02e,transparent);pointer-events:none}
.product-window{
  position:relative;width:100%;overflow:hidden;border:1px solid #51515d;border-radius:9px;background:#111113;
  transform:rotate(-1.25deg);transform-origin:center center;
  box-shadow:inset 0 1px 0 #ffffff0a,0 29px 60px #0007,0 4px 11px #0007;
  animation:product-arrive .72s var(--ease-out) backwards;transition:transform .45s var(--ease-out),border-color .3s,box-shadow .3s;
}
.product-window img{display:block;width:100%;height:auto;aspect-ratio:3840/2196;object-fit:contain;user-select:none;-webkit-user-drag:none}
.product-display:hover .product-window{transform:rotate(-.25deg) translateY(-2px);border-color:#74747e;box-shadow:0 34px 66px #0007,0 4px 11px #0007}
.product-display figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;line-height:1.6;color:#777782;padding:19px 8px 0;position:relative}
.product-display figcaption span:first-child{color:#a1a1ad}
.auth-card{
  min-width:0;max-width:100%;width:100%;padding:27px 0 28px;border:0;border-radius:0;background:none;
  box-shadow:none;overflow:visible;position:relative;
}
.auth-card:before{content:"";position:absolute;left:-48px;top:30px;bottom:30px;width:1px;height:auto;right:auto;background:linear-gradient(180deg,transparent,#ffffff0b 23%,#ffffff0b 77%,transparent);box-shadow:none;opacity:1}
.auth-card:after{display:none}
.auth-form-heading{margin-bottom:32px}
.auth-form-heading h2,.recovery-card .auth-form-heading h2{font-size:32px;line-height:1.15;letter-spacing:-1px;color:#f5f5f8;margin-bottom:11px}
.auth-form-heading p{font-size:12px;line-height:1.75;color:#92929f;max-width:360px}
.auth-card .form-stack{gap:20px}
.auth-card .field{gap:9px}
.auth-card .field label{font-size:12px;line-height:1.45;color:#d2d2da;font-weight:500}
.auth-card .field input,.auth-card .field textarea{min-height:48px;padding:13px 14px;border:1px solid #35353f;border-radius:9px;background:#141418;color:#ededf3;font-size:13px;box-shadow:inset 0 1px 0 #0002}
.auth-card .field input::placeholder,.auth-card .field textarea::placeholder{color:#6e6e7a}
.auth-card .field input:hover,.auth-card .field textarea:hover{border-color:#4b4b58}
.auth-card .field input:focus,.auth-card .field textarea:focus{border-color:#9b7bdb;box-shadow:0 0 0 3px #8958f60c}
.auth-card .password-wrap input{padding-right:46px}.auth-card .password-wrap .icon-btn{top:6px;color:#797986}
.auth-card .field small{font-size:10px;line-height:1.65;color:#82828f}
.auth-card .input-heading a{font-size:10px;color:#a6a6b2}.auth-card .input-heading a:hover{color:#dedee7}
.auth-card .btn.primary{height:47px;min-height:47px;font-size:12px;border-radius:9px;background:#8958f6;border-color:#ae85ff1f;margin-top:3px;box-shadow:inset 0 1px 0 #ffffff0a,0 5px 16px #8958f612}
.auth-card .btn.primary:hover{background:#9869fb;box-shadow:inset 0 1px 0 #ffffff0a,0 7px 20px #8958f620}
.auth-card .btn.primary:after{display:none}
.auth-switch{font-size:11px;color:#7e7e8b;margin-top:23px}.auth-switch .text-link{color:#c6c6d3;font-size:11px}.auth-switch .text-link:hover{color:#fff}
.auth-card .privacy-note{margin-top:24px;padding-top:18px;border-top:1px solid #27272f;font-size:11px;line-height:1.8;color:#8c8c98}
.auth-card .privacy-note svg{color:#9595a4}.auth-card .privacy-note button{color:#b2b2bf}
.auth-card .checkline{font-size:10px;line-height:1.8;color:#92929f}.auth-card .checkline input{border-color:#4b4b57;background:#17171d}
.auth-footer{position:relative;z-index:1;max-width:1420px;width:100%;margin:0 auto;font-size:10px;line-height:1.7;color:#6d6d7b;padding:0}
.auth-footer a{color:#93939f}.auth-footer a:hover{color:#d0d0db}
.recovery-card .recovery-status{padding-top:8px}.recovery-card .recovery-status p{color:#92929f}.recovery-card .recovery-note{color:#888896}
.recovery-status>.status-icon{background:#1e1c25;border-color:#37323f;color:#c1aedb}
@keyframes product-arrive{from{opacity:0;transform:translate3d(0,17px,0) rotate(-2deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(-1.25deg)}}
@media(min-width:1600px){.auth-body{gap:115px;grid-template-columns:minmax(0,1fr) minmax(350px,400px);padding-top:54px;padding-bottom:48px}.auth-art h1{font-size:54px}.product-heading{margin-bottom:34px}.auth-card:before{left:-57px}}
@media(max-width:1200px){.auth-page{padding-left:32px;padding-right:32px}.auth-body{gap:70px;grid-template-columns:minmax(0,1fr) minmax(320px,360px);padding-left:0;padding-right:0}.auth-art h1{font-size:46px}.auth-card:before{left:-35px}}
@media(max-width:980px){.auth-page{padding-left:27px;padding-right:27px}.auth-body{gap:43px;grid-template-columns:minmax(0,1fr) minmax(300px,340px)}.auth-art h1{font-size:42px;letter-spacing:-1.8px}.auth-card:before{left:-22px}.product-heading{margin-bottom:26px}.auth-art .auth-copy{font-size:12px}.auth-form-heading h2,.recovery-card .auth-form-heading h2{font-size:30px}}
@media(max-width:760px){
  .auth-page{padding:18px 24px 17px}.auth-header{height:50px;min-height:50px}.auth-header .brand{width:100px}
  .auth-header-right{gap:16px}.auth-header-right>.btn{height:33px;font-size:10px;padding:0 11px}
  .community-link>span,.community-link>svg{display:none}.community-link>img{width:19px;height:19px}
  .auth-body{display:block;max-width:390px;padding:46px 0 43px}.auth-art{display:none}
  .auth-card{padding:0}.auth-card:before{display:none}
  .auth-form-heading{margin-bottom:30px}.auth-form-heading h2,.recovery-card .auth-form-heading h2{font-size:32px}
  .auth-form-heading p{font-size:12px}.auth-card .form-stack{gap:20px}.auth-card .field input{min-height:48px}
  .auth-footer{font-size:9px;align-items:flex-end;gap:15px}.auth-footer>span{max-width:160px}.auth-footer>a{max-width:130px;text-align:right}
  .auth-architectural-plane{left:-70%;width:140%;background:linear-gradient(150deg,#ffffff01 19%,#ffffff05 56%,#ffffff01 80%)}
  .auth-wall-light{left:-90%;width:190%;opacity:.6}.auth-edge{left:74%;opacity:.65}
}
@media(min-width:761px) and (max-height:800px){
  .auth-page{padding-top:16px;padding-bottom:14px}.auth-header{height:50px;min-height:50px}
  .auth-body{padding-top:19px;padding-bottom:19px;gap:75px}
  .auth-art h1{font-size:43px;letter-spacing:-1.9px}.product-heading{margin-bottom:24px}
  .auth-art .auth-copy{margin-top:13px;font-size:12px}
  .product-display figcaption{padding-top:16px;font-size:9px}
  .auth-card{padding-top:16px;padding-bottom:16px}.auth-card:before{left:-37px;top:18px;bottom:18px}
  .auth-form-heading{margin-bottom:27px}.auth-form-heading h2,.recovery-card .auth-form-heading h2{font-size:30px}
  .auth-card .form-stack{gap:18px}.auth-card .field{gap:8px}.auth-card .field input{min-height:45px;padding-top:12px;padding-bottom:12px}
  .auth-card .password-wrap .icon-btn{top:5px}.auth-card .btn.primary{height:45px;min-height:45px}
  .auth-switch{margin-top:20px}.auth-card .privacy-note{margin-top:20px;padding-top:15px;line-height:1.7}.auth-footer{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.product-window{animation:none!important;transition:none!important;transform:none}.product-display:hover .product-window{transform:none}.auth-page *{scroll-behavior:auto!important}}

body:has(.auth-page)>.ambient-layer{display:none}
