@font-face{font-family:Inter;src:url(fonts/inter-var-latin-ext.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url(fonts/fraunces-var-latin-ext.woff2) format("woff2");font-weight:300 700;font-display:swap}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font:400 16px/1.55 Inter,system-ui,sans-serif;color:#2B2B33;background:radial-gradient(80% 70% at 50% 30%,#fff 0%,#FFFBF8 55%,#FFF2EF 100%);min-height:100vh;overflow-x:hidden}
.blob{position:fixed;border-radius:50%;filter:blur(70px);opacity:.8;pointer-events:none}
.b1{width:480px;height:480px;right:-160px;top:-160px;background:radial-gradient(circle,#FFE3DF,transparent 70%)}
.b2{width:420px;height:420px;left:-180px;bottom:-160px;background:radial-gradient(circle,#FFEBDD,transparent 70%)}
.wrap{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px}
.card{width:100%;max-width:400px;background:#fff;border:1px solid #F1E4DF;border-radius:28px;padding:34px 28px 24px;box-shadow:0 2px 6px rgba(43,43,51,.04),0 24px 50px -18px rgba(217,71,59,.25)}
.logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:14px}
.word{font-family:Fraunces,Georgia,serif;font-size:1.7rem;font-weight:560;letter-spacing:-.02em}
.word b{color:#FF6F61;font-weight:640}
h1{font-family:Fraunces,Georgia,serif;font-weight:560;font-size:1.35rem;text-align:center;margin:6px 0 4px}
.lead{text-align:center;color:#55555F;margin:0 0 20px;font-size:.95rem}
label{display:block;font-size:.76rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#8A8A94;margin:12px 0 6px}
input[type=text],input[type=password]{width:100%;height:48px;border-radius:12px;border:1.5px solid #F1E4DF;background:#FFFBF8;padding:0 14px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus{border-color:#FF9A90;box-shadow:0 0 0 4px #FFF2EF}
.pw{position:relative}
.pw input{padding-right:78px}
.pw-t{position:absolute;right:6px;top:6px;height:36px;padding:0 12px;border:0;border-radius:9px;background:#FFF2EF;color:#D9473B;font:600 .82rem Inter,sans-serif;cursor:pointer}
.btn{width:100%;height:52px;margin-top:22px;border:0;border-radius:99px;background:#FF6F61;color:#fff;font:600 1rem Inter,sans-serif;cursor:pointer;box-shadow:0 10px 22px -10px rgba(255,111,97,.8);transition:background .2s,transform .2s}
.btn:hover{background:#F2574A;transform:translateY(-1px)}
.msg{border-radius:12px;padding:10px 14px;font-size:.9rem;margin:0 0 6px}
.err{background:#FFF2EF;color:#B5372D;border:1px solid #FFC2BB}
.ok{background:#EEF8F3;color:#1F7A55;border:1px solid #CBEBDD}
.foot{text-align:center;color:#8A8A94;font-size:.8rem;margin:22px 0 0}
