/* v1.2.6: corner anchors stay fixed; leaf surfaces move independently. */
.rainforest-world,.rainforest-menu,.auth-rainforest-scene{display:none!important}
.rf-scene{position:fixed;inset:var(--ender-nav-top,114px) 0 0;z-index:16;overflow:hidden;pointer-events:none!important;user-select:none;contain:layout paint}
.rf-scene *{pointer-events:none!important}
.rf-anchor{position:absolute;width:clamp(145px,16vw,265px);height:clamp(135px,15vw,250px);opacity:.4;filter:brightness(.65) saturate(.8)}
.rf-crown{position:absolute;inset:0;transform-origin:32% 68%;will-change:transform}
.rf-surface{position:absolute;inset:0;background:url('rainforest/leaf.png') center top/100% auto no-repeat;clip-path:polygon(0 0,100% 0,100% 65%,90% 75%,55% 61%,35% 50%,0 57%);mask-image:linear-gradient(#000 82%,transparent)}
/* Rotate the leaf head inward while its cropped stalk remains beyond the edge. */
.rf-tl{top:-38px;left:-55px;transform:rotate(140deg)}
.rf-tr{top:-40px;right:-62px;transform:rotate(205deg) scaleX(-1);opacity:.46}
.rf-bl{bottom:-52px;left:-70px;width:280px;height:200px}
.rf-bl .rf-crown{transform-origin:0 100%}
.rf-bl .rf-surface{background-image:url('rainforest/fern.png');background-size:contain;background-position:left bottom;clip-path:none;mask-image:linear-gradient(90deg,transparent,#000 25%)}
.rf-br{bottom:-32px;right:-45px;width:min(360px,30vw);height:135px;opacity:.34}
.rf-br .rf-crown{transform-origin:100% 100%}
.rf-br .rf-surface{background-image:url('rainforest/grass.png');background-size:contain;background-position:right bottom;clip-path:none;mask-image:linear-gradient(0deg,transparent,#000 30%)}
.rf-drip{position:absolute;width:3px;height:8px;border-radius:50% 50% 55% 55%;background:linear-gradient(#d0f5ed44,#d0f5edcc);opacity:0;box-shadow:0 0 3px #bedfd533}
.rf-scene-auth{position:absolute;inset:0;z-index:3;border-radius:inherit}
.auth-shell{position:relative;isolation:isolate;overflow:hidden}
.rf-scene-auth .rf-anchor{width:185px;height:175px;opacity:.33}
.rf-scene-auth .rf-tl{top:-48px;left:-65px}
.rf-scene-auth .rf-tr{top:-58px;right:-72px;opacity:.2}
.rf-scene-auth .rf-bl{width:180px;height:110px;bottom:-48px;left:-80px;opacity:.23}
.rf-scene-auth .rf-br{width:160px;height:100px;right:-65px;bottom:-36px;opacity:.33}
.rf-scene-auth .rf-br .rf-surface{background-image:url('rainforest/fern.png')}
@media(max-width:760px){
.rf-scene{inset:var(--ender-header-height,69px) 0 0;z-index:14}
.rf-anchor{width:145px;height:138px;opacity:.25}
.rf-tl{left:-65px;top:-42px}.rf-tr{right:-75px;top:-45px;opacity:.28}
.rf-bl{width:145px;height:105px;left:-70px;bottom:-40px}.rf-br{width:190px;height:75px;right:-55px;bottom:-25px;opacity:.22}
.rf-scene-auth{inset:0;z-index:3}
.rf-scene-auth .rf-anchor{width:125px;height:125px;opacity:.25}
.rf-scene-auth .rf-tl{left:-55px;top:-45px}.rf-scene-auth .rf-tr{display:none}
.rf-scene-auth .rf-bl{width:110px;height:90px;left:-65px;bottom:-38px}
.rf-scene-auth .rf-br{width:125px;height:95px;right:-55px;bottom:-34px;opacity:.3}
}
/* v1.2.7 — full curved stalks, roots outside viewport; larger fern. */
.rf-tl,.rf-tr{width:clamp(240px,23vw,360px);height:clamp(360px,34.5vw,540px);top:-155px;opacity:.46}
.rf-tl{left:-115px;transform:rotate(150deg)}
.rf-tr{right:-130px;transform:rotate(205deg) scaleX(-1)}
.rf-tl .rf-surface,.rf-tr .rf-surface{clip-path:none;mask-image:none;background-size:contain}
.rf-tl .rf-crown,.rf-tr .rf-crown{transform-origin:47% 94%}
.rf-bl{width:340px;height:250px;left:-88px;bottom:-60px;opacity:.46}
.rf-scene-auth .rf-tl,.rf-scene-auth .rf-tr{width:235px;height:352px;top:-150px;opacity:.35}
.rf-scene-auth .rf-tl{left:-108px}.rf-scene-auth .rf-tr{right:-126px;opacity:.25}
.rf-scene-auth .rf-bl{width:270px;height:185px;left:-85px;bottom:-44px;opacity:.43}
.rf-scene-auth .rf-br{width:215px;height:145px;right:-78px;bottom:-40px;opacity:.4}
@media(max-width:760px){
.rf-tl,.rf-tr{width:200px;height:300px;top:-135px;opacity:.3}
.rf-tl{left:-105px}.rf-tr{right:-120px}
.rf-bl{width:200px;height:145px;left:-80px;bottom:-45px;opacity:.32}
.rf-scene-auth .rf-tl{width:175px;height:262px;top:-135px;left:-96px;opacity:.3}
.rf-scene-auth .rf-bl{width:175px;height:125px;left:-78px;bottom:-36px;opacity:.37}
.rf-scene-auth .rf-br{width:175px;height:125px;right:-76px;bottom:-38px;opacity:.37}
}
/* v1.2.8: independent flexible leaf and compact mobile authentication. */
.rf-surface{transform-origin:45% 92%;will-change:transform}
.rf-tip{position:absolute;left:87%;top:8%;width:2px;height:2px}
.rf-bl .rf-surface,.rf-br .rf-surface{transform-origin:10% 95%}
@media(max-width:760px){
  #auth-dialog{width:min(420px,calc(100% - 12px));max-width:calc(100% - 12px);max-height:calc(100dvh - 10px);margin:auto;padding:0;border-radius:16px;overflow:auto;overscroll-behavior:contain}
  #auth-dialog .auth-shell{display:block;min-height:0;height:auto;background:linear-gradient(145deg,#14271d,#101b16)}
  #auth-dialog .auth-art{display:none!important}
  #auth-dialog .auth-form{padding:12px 14px 10px;background:transparent;width:100%;box-sizing:border-box}
  #auth-dialog .mobile-brand{display:flex;gap:6px;align-items:center;margin:0 34px 8px 0;font-size:14px;line-height:24px}
  #auth-dialog .mobile-brand img{width:24px;height:24px}
  #auth-dialog .dialog-close{top:8px;right:8px;width:30px;min-height:30px}
  #auth-dialog .auth-tabs{margin:0 0 8px;max-width:none;padding:2px;gap:4px}
  #auth-dialog .auth-tabs a{padding:7px 8px;min-height:34px;box-sizing:border-box;font-size:12px}
  #auth-dialog #auth-title{font-size:18px;line-height:1.15;margin:0 0 8px}
  #auth-dialog .auth-subtitle{display:none}
  #auth-dialog .auth-view{gap:7px;margin:0}
  #auth-dialog .auth-view p{margin:0 0 2px;font-size:12px;line-height:1.35}
  #auth-dialog .auth-view label{gap:4px;margin:0;font-size:10.5px;line-height:1.25}
  #auth-dialog .auth-view input:not([type=checkbox]):not([type=hidden]),#auth-dialog .auth-view select{height:40px;min-height:40px;padding:7px 10px;font-size:15px;line-height:1.2;box-sizing:border-box}
  #auth-dialog .password-field input{padding-right:40px!important}
  #auth-dialog .auth-form .form-grid{grid-template-columns:1fr;gap:7px}
  #auth-dialog .auth-view .check{font-size:10px;line-height:1.3;align-items:flex-start;gap:8px}
  #auth-dialog .auth-view .check input{flex-shrink:0;width:17px;height:17px;margin-top:1px}
  #auth-dialog .auth-submit{min-height:40px;padding:9px 12px;margin:0;font-size:13px}
  #auth-dialog .auth-view>small{font-size:10px;line-height:1.3}
  #auth-dialog .auth-view[data-view=register]>small{display:none}
  #auth-dialog .auth-foot{display:none}
  #auth-dialog .forgot-link{margin:0;font-size:10px}
  #auth-dialog .notice:not([hidden]){font-size:11px;margin:0 0 6px;padding:7px 8px}
  #auth-dialog .cf-turnstile{transform:scale(.92);transform-origin:left top;margin:0 0 -8px}
  #auth-dialog .rf-scene-auth .rf-tl{width:135px;height:202px;top:-119px;left:-88px;opacity:.25}
  #auth-dialog .rf-scene-auth .rf-bl{display:none}
  #auth-dialog .rf-scene-auth .rf-br{width:150px;height:108px;right:-72px;bottom:-40px;opacity:.3}
}
@media(max-width:760px) and (max-height:680px){
 #auth-dialog{max-height:calc(100dvh - 6px);border-radius:14px}
 #auth-dialog .auth-form{padding-top:9px;padding-bottom:8px}
 #auth-dialog .mobile-brand{margin-bottom:5px}
 #auth-dialog .auth-tabs{margin-bottom:6px}
 #auth-dialog #auth-title{display:none}
 #auth-dialog .auth-view{gap:5px}
 #auth-dialog .auth-form .form-grid{gap:5px}
 #auth-dialog .auth-view input:not([type=checkbox]):not([type=hidden]),#auth-dialog .auth-view select{height:38px;min-height:38px;padding:6px 9px;font-size:14px}
 #auth-dialog .auth-submit{min-height:38px;padding:8px 11px}
 #auth-dialog .cf-turnstile{transform:scale(.88);margin-bottom:-14px}
}
