:root{--ink:#14201b;--ink-soft:#3a4a43;--paper:#f3f0e8;--paper-2:#e7efe8;--accent:#0f7a5a;--accent-deep:#0a5540;--warn:#b42318;--line:#14201b1f;--shadow:0 24px 60px #14201b1f;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit}code{font-size:.92em}.shell{min-height:100vh;padding:2rem 1.25rem 3rem;position:relative;overflow:hidden}.login-shell{place-items:center;display:grid}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(60% 50% at 20% 30%,#0f7a5a38,#0000 70%),radial-gradient(50% 45% at 85% 20%,#3a4a4329,#0000 65%),linear-gradient(#dfece4 0%,#0000 100%);height:70vh;animation:14s ease-in-out infinite alternate drift;position:absolute;inset:-20% -10% auto}.atmosphere.soft{opacity:.8;height:40vh}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(2%,3%)scale(1.04)}}.hero-auth,.profile-panel,.profile-top{z-index:1;position:relative}.hero-auth{width:min(420px,100%);animation:.7s cubic-bezier(.22,1,.36,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.brand{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 1.25rem;font-size:clamp(2.6rem,8vw,3.4rem);font-weight:700;line-height:1}.brand.compact{margin:0;font-size:1.75rem}.headline{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(1.6rem,4vw,2rem);font-weight:500}.headline.sm{font-size:1.65rem}.lede{color:var(--ink-soft);margin:0 0 1.75rem;font-size:1.05rem;line-height:1.45}.lede.sm{margin-bottom:1rem;font-size:1rem}.auth-form{gap:.9rem;animation:.45s both rise;display:grid}.field{gap:.4rem;display:grid}.field span{color:var(--ink-soft);font-size:.85rem;font-weight:500}.field input{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;outline:none;width:100%;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f7a5a2e}.btn{cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.2rem;font-weight:600;transition:transform .15s,background .2s,opacity .2s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn.primary{background:var(--accent);color:#f7fff9}.btn.primary:not(:disabled):hover{background:var(--accent-deep)}.btn.ghost{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.btn.danger{color:var(--warn);background:0 0;border:1px solid #b4231859}.divider{color:var(--ink-soft);place-items:center;margin:1.4rem 0 1rem;font-size:.85rem;display:grid}.divider:before{content:"";background:var(--line);grid-area:1/1;width:100%;height:1px}.divider span{background:linear-gradient(180deg, #dfece4d9, var(--paper));grid-area:1/1;padding:0 .75rem}.tg-wrap,.google-wrap{justify-content:center;min-height:40px;display:flex}.google-block{margin-top:.85rem}.tg-block.is-disabled,.google-block.is-disabled,.is-disabled{pointer-events:none;opacity:.55}.sent-to{color:var(--ink-soft);margin:0;font-size:.95rem}.error{color:var(--warn);margin:1rem 0 0;font-size:.95rem}.hint{color:var(--ink-soft);text-align:center;margin:0;font-size:.9rem}.muted{color:var(--ink-soft)}.profile-shell{max-width:640px;margin:0 auto}.profile-top{justify-content:space-between;align-items:center;margin-bottom:2rem;animation:.5s both rise;display:flex}.profile-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffff8c;border-radius:24px;padding:1.5rem;animation:.65s cubic-bezier(.22,1,.36,1) both rise}.meta{gap:.85rem;margin:1.25rem 0 1.75rem;display:grid}.meta div{gap:.2rem;display:grid}.meta dt{color:var(--ink-soft);font-size:.8rem}.meta dd{margin:0;font-size:1.05rem;font-weight:500}.tg-card{border-top:1px solid var(--line);padding-top:1.25rem}.tg-card h2{font-family:var(--font-display);margin:0 0 .6rem;font-size:1.25rem;font-weight:500}@media (width<=480px){.shell{padding:1.5rem 1rem 2.5rem}.profile-panel{border-radius:18px;padding:1.15rem}}
