/* Fear Mail v6 polish: geometry, adaptive auth, working password control. */
:root{--auth-gutter:clamp(26px,5vw,50px)}
/* Less rounded, more architectural throughout the workspace. */
.rail{border-radius:14px}
.rail-btn{border-radius:10px}
.rail-brand{border-radius:9px}
.mail-topbar,.inbox-panel,.read-panel,.read-panel.is-open{border-radius:15px}
.mail-row{border-radius:10px}
.search-wrap,.search-suggestions,.sort-menu,.notice,.snow-option{border-radius:10px}
.sort-trigger,.filter-pill,.icon-button,.suggestion,.count-pill,.read-tag{border-radius:8px}
.settings-close,.settings-done,.snow-option-preview{border-radius:9px}
.appearance-dialog{border-radius:16px}
.otp-cell,.auth-error{border-radius:9px}
/* The auth scene is wider and more deliberate; nothing uses fixed horizontal offsets. */
.fm-auth{padding:40px 24px;min-height:100svh;overflow-x:hidden}
.auth-shell{width:min(590px,calc(100vw - 48px));max-width:590px;isolation:isolate}
.auth-eyebrow{margin-bottom:18px}
.auth-card{--auth-gutter:clamp(28px,5vw,52px);padding:39px var(--auth-gutter) 0;border-radius:16px;background:radial-gradient(ellipse 95% 62% at 54% -20%,#ffffff11,transparent 76%),linear-gradient(145deg,#101012,#050507 77%);box-shadow:0 30px 95px #000e,0 0 70px #ffffff0c,inset 0 1px #ffffff23;overflow:hidden}
.auth-icon{border-radius:13px;height:72px;width:72px;margin-bottom:23px}
.auth-card h1{font-size:clamp(30px,4vw,38px);font-weight:740;letter-spacing:-.05em}
.auth-subtitle{max-width:none;font-size:13px;margin:11px auto 32px}
.auth-form{max-width:100%}
.field-label{font-size:12px;margin:20px 0 9px}
.auth-field{border-radius:10px;min-height:59px}
.auth-field input{min-height:58px;caret-color:#fff;cursor:text}
.password-toggle{appearance:none;width:38px;height:38px;border:1px solid transparent;border-radius:9px;background:transparent;color:#b8b8bf;display:grid;place-items:center;flex:0 0 38px;padding:8px;transition:background .18s,color .18s,box-shadow .18s;cursor:pointer}
.password-toggle:hover{background:#ffffff14;color:#fff;box-shadow:0 0 19px #ffffff19}
.password-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.password-toggle svg{height:20px;width:20px;grid-area:1/1;color:inherit;pointer-events:none}
.password-toggle .eye-visible{display:none}
.password-toggle[aria-pressed="true"] .eye-hidden{display:none}
.password-toggle[aria-pressed="true"] .eye-visible{display:block}
.auth-submit{height:58px;border-radius:10px;margin:29px 0 26px;isolation:isolate;overflow:hidden}
.auth-submit:disabled{opacity:.75;cursor:progress;transform:none!important}
.auth-submit span{position:relative;z-index:1}
.auth-submit::before{border-radius:inherit}
/* Footer has a full-bleed panel and hover/light all the way through the bottom. */
.auth-card-footer{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;margin:20px calc(-1 * var(--auth-gutter)) 0;padding:17px var(--auth-gutter);background:linear-gradient(100deg,#19191d,#0e0e12);border-top:1px solid #ffffff2a;color:#b4b4ba;box-shadow:inset 0 1px #ffffff10;isolation:isolate}
.auth-card-footer::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(170px circle at 50% 0%,#ffffff0d,transparent 82%);opacity:.8;z-index:0}
.auth-footer-inner{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.auth-bottom{margin-top:18px}
/* A few visible snow accents outside and around the login card. */
.auth-snow-accents{position:absolute;inset:-45px -60px -45px;pointer-events:none;overflow:visible;z-index:-1}
.auth-snow-accents span{position:absolute;color:#f3f4ff;opacity:.68;text-shadow:0 0 10px #e9eeff,0 0 26px #fff6;filter:drop-shadow(0 0 6px #e4e7ff60);font-size:21px;animation:auth-flake-float 7s ease-in-out infinite alternate}
.auth-snow-accents span:nth-child(1){left:3%;top:8%;font-size:18px;animation-delay:-1.8s}
.auth-snow-accents span:nth-child(2){right:8%;top:18%;font-size:26px;animation-delay:-2.6s}
.auth-snow-accents span:nth-child(3){left:0%;top:53%;font-size:30px;opacity:.4;animation-delay:-4s}
.auth-snow-accents span:nth-child(4){right:2%;top:57%;font-size:16px;animation-delay:-.8s}
.auth-snow-accents span:nth-child(5){left:9%;bottom:11%;font-size:17px;animation-delay:-6s}
.auth-snow-accents span:nth-child(6){right:10%;bottom:5%;font-size:24px;animation-delay:-3s}
.auth-snow-accents span:nth-child(7){right:2%;bottom:42%;font-size:13px;animation-delay:-5.4s}
html[data-snow="off"] .auth-snow-accents{display:none}
html[data-snow="subtle"] .auth-snow-accents span{opacity:.2}
@keyframes auth-flake-float{from{transform:translate3d(0,-5px,0) rotate(-13deg)}to{transform:translate3d(7px,11px,0) rotate(16deg)}}
/* OTP remains masked; the cursor is a blinking line in the next unfilled cell. */
.otp-wrap{height:70px}
.otp-cells{gap:10px}
.otp-cell{border-radius:9px}
.otp-hint{margin-top:14px}
@media(max-width:760px){.inbox-panel,.read-panel,.read-panel.is-open{border-radius:12px}.rail,.rail:hover,.rail:focus-within{border-radius:12px}}
@media(max-width:620px){.fm-auth{padding:25px 16px}.auth-shell{width:calc(100vw - 32px)}.auth-card{--auth-gutter:clamp(23px,5vw,32px);padding-top:31px}.auth-snow-accents{inset:-18px 3px -20px}.auth-snow-accents span{font-size:14px!important;opacity:.3}.auth-card-footer{min-height:58px}.auth-card h1{font-size:30px}}
@media(max-width:390px){.fm-auth{padding:17px 12px}.auth-shell{width:calc(100vw - 24px)}.auth-card{--auth-gutter:20px}.auth-card-footer{padding-left:10px;padding-right:10px}.otp-cells{gap:5px}.otp-wrap{height:59px}}
@media(prefers-reduced-motion:reduce){.auth-snow-accents span{animation:none}}
