:root{--green: #2C4A2E;--green-mid: #3D6142;--green-light: #EBF2EC;--gold: #C9943A;--gold-light: rgba(201, 148, 58, .12);--text: #111827;--text-muted: #6B7280;--bg: #FFFFFF;--bg-subtle: #F9FAFB;--border: #E5E7EB;--radius: 14px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 12px 32px rgba(0,0,0,.06);--max-w: 1100px;--nav-h: 68px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;min-height:100vh}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}h1,h2,h3,h4{line-height:1.2;font-weight:700;letter-spacing:-.02em}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 28px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;border:none;transition:all .15s ease;white-space:nowrap;cursor:pointer}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-mid);transform:translateY(-1px);box-shadow:0 4px 12px #2c4a2e4d}.btn-outline{background:transparent;color:var(--green);border:1.5px solid var(--green)}.btn-outline:hover{background:var(--green-light)}.btn-ghost{background:transparent;color:var(--text-muted);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--green);color:var(--green)}.btn-google{background:#fff;color:var(--text);border:1.5px solid var(--border);width:100%;padding:14px 20px;font-size:15px}.btn-google:hover{border-color:#4285f4;background:#f8f9ff}.btn-lg{padding:16px 36px;font-size:16px}.btn-full{width:100%}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.input{width:100%;padding:13px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;color:var(--text);background:var(--bg);transition:border-color .15s;outline:none}.input:focus{border-color:var(--green)}.input::placeholder{color:var(--text-muted)}.label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:6px}.form-group{display:flex;flex-direction:column;gap:6px}.auth-page{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center;justify-content:center;padding:40px 24px;background:var(--bg-subtle)}.auth-card{width:100%;max-width:420px;padding:40px 36px;background:var(--bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-md)}.auth-logo{width:40px;height:40px;background:var(--green);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:18px;letter-spacing:-1px;margin-bottom:20px}.auth-title{font-size:24px;font-weight:700;color:var(--text);margin-bottom:6px}.auth-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:28px}.divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-footer{text-align:center;margin-top:24px;font-size:14px;color:var(--text-muted)}.auth-footer a{color:var(--green);font-weight:500}.auth-footer a:hover{text-decoration:underline}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:16px}.alert-error{background:#fef2f2;color:#b91c1c;border:1px solid #FECACA}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}.section{padding:96px 0}.section-sm{padding:64px 0}.prose{max-width:720px;margin:0 auto;color:var(--text)}.prose h1{font-size:36px;margin-bottom:8px}.prose h2{font-size:22px;margin:40px 0 12px;color:var(--green)}.prose h3{font-size:17px;margin:24px 0 8px}.prose p{margin-bottom:16px;color:var(--text-muted);line-height:1.75}.prose ul{padding-left:20px;margin-bottom:16px;color:var(--text-muted)}.prose ul li{margin-bottom:8px;line-height:1.75}.prose a{color:var(--green);text-decoration:underline}.prose .meta{font-size:14px;color:var(--text-muted);margin-bottom:48px}@media(max-width:768px){.section{padding:64px 0}.auth-card{padding:32px 24px}.btn-lg{padding:14px 28px;font-size:15px}}@media(max-width:480px){.container{padding:0 16px}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.hero-full{height:100vh;height:100dvh}.tap-target{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
