*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--ink: #221E19;--ink-2: #726A5D;--ink-3: #9C9384;--ink-4: #B7AE9C;--surface: #FBF8F0;--surface-2: #F3EDDF;--surface-3: #E9E2D0;--border: rgba(34,30,25,.12);--border-2: rgba(34,30,25,.2);--accent: #1F6F5C;--accent-dark: #18574A;--accent-bg: #DCEAE3;--accent-text: #FBF3E3;--danger: #AD3A2E;--danger-bg: #F3DAD5;--r: 14px;--r-sm: 10px}html,body{height:100%}body{font-family:Inter,sans-serif;background:var(--surface-2);color:var(--ink);display:flex;flex-direction:column;min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;mix-blend-mode:soft-light;background:radial-gradient(120% 70% at 18% -6%,#ffffff80,#fff0 45%),radial-gradient(90% 60% at 100% 110%,#00000024,#0000 50%)}.auth-wrap{position:relative;z-index:1;display:flex;min-height:100vh}.auth-brand{width:420px;flex-shrink:0;background:var(--ink);padding:48px 40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;--accent-on-dark: #49B08D}.auth-brand:before{content:"";position:absolute;width:400px;height:400px;border-radius:50%;border:1px solid rgba(255,255,255,.08);top:-100px;right:-150px}.auth-brand:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;border:1px solid rgba(73,176,141,.2);bottom:60px;left:-80px}.brand-logo{font-family:Fraunces,serif;font-size:22px;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;position:relative;z-index:1}.brand-logo>span>span{color:var(--accent-on-dark)}.brand-tag{width:28px;height:28px;background:var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--ink)}.brand-copy{position:relative;z-index:1}.brand-copy h2{font-family:Fraunces,serif;font-size:28px;font-weight:700;color:#fff;line-height:1.35;margin-bottom:16px}.brand-copy h2 em{font-style:normal;color:var(--accent-on-dark)}.brand-copy p{color:#ffffff8c;font-size:15px;line-height:1.7}.brand-dots{display:flex;gap:6px;margin-top:32px;position:relative;z-index:1}.brand-dots span{width:6px;height:6px;border-radius:50%;background:#fff3}.brand-dots span.active{background:var(--accent-on-dark);width:18px;border-radius:3px}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 24px}.auth-card{width:100%;max-width:420px}.auth-card h1{font-family:Fraunces,serif;font-size:26px;font-weight:800;margin-bottom:6px}.auth-card .subtitle{color:var(--ink-3);font-size:15px;margin-bottom:32px}.auth-card .subtitle a{color:var(--accent-dark);text-decoration:none;font-weight:500}.field{margin-bottom:18px}.field label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:6px;letter-spacing:.01em}.field input{width:100%;height:46px;border:1.5px solid var(--border-2);border-radius:var(--r-sm);padding:0 14px;font-family:Inter,sans-serif;font-size:15px;color:var(--ink);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f6f5c29}.field input::placeholder{color:var(--ink-4)}.otp-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.otp-grid input{height:52px;text-align:center;font-size:20px;font-weight:700;font-family:Fraunces,serif;padding:0}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;border:none;border-radius:var(--r-sm);font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--ink);color:#fbf3e3}.btn-primary:hover{opacity:.87}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--border-2)}.btn-outline:hover{background:var(--surface-2)}.btn+.btn{margin-top:10px}.btn-google{background:var(--surface);border:1.5px solid var(--border-2);color:var(--ink);margin-bottom:6px}.btn-google svg{flex-shrink:0}.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--ink-4);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.alert{padding:12px 14px;border-radius:var(--r-sm);font-size:14px;margin-bottom:18px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(173,58,46,.25)}.alert-success{background:var(--accent-bg);color:var(--accent-dark);border:1px solid rgba(31,111,92,.25)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:14px;cursor:pointer;margin-bottom:24px;border:none;background:none;padding:0;font-family:Inter,sans-serif}.back-link:hover{color:var(--ink)}.resend-row{text-align:center;margin-top:16px;font-size:14px;color:var(--ink-3)}.resend-row button{background:none;border:none;color:var(--accent-dark);font-weight:500;cursor:pointer;font-family:Inter,sans-serif;font-size:14px}.resend-row button:disabled{color:var(--ink-4);cursor:default}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner.dark{border-color:#0d0d0d33;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.auth-brand{display:none}}.field select{width:100%;height:46px;padding:0 14px;border-radius:var(--r-sm);border:1.5px solid var(--border-2);background:var(--surface);font:inherit;font-size:15px;color:inherit;outline:none}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f6f5c29}.field input[aria-invalid=true]{border-color:var(--danger)}.field .err{color:var(--danger);font-size:12.5px;margin-top:5px}.hint{font-size:12.5px;color:var(--ink-3)}.slug-box{background:var(--surface-2);border-radius:var(--r-sm);padding:12px 14px;font-size:13px;color:var(--ink-3);line-height:1.55}.slug-box strong{color:var(--ink)}.otp-grid input.filled{border-color:var(--accent)}.otp-grid.shake{animation:shake .35s}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.screen-in{animation:fadeup .22s ease both}@keyframes fadeup{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.screen-in,.otp-grid.shake{animation:none}}.btn:focus-visible,.back-link:focus-visible,.resend-row button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary .spinner{margin-right:2px}@media (max-width:480px){.auth-main{padding:28px 18px}.otp-grid{gap:6px}.otp-grid input{height:48px}}
