:root{--green: #3a5d28;--green-light: #5b8c3e;--bg: #0f1410;--card: #1b241a;--card2: #232f20;--text: #eef3ea;--muted: #9bb08d;--border: #2e3d29;--danger: #d9534f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}h1{font-size:1.4rem;margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:.82rem}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top)) 16px 84px}.page{max-width:640px;margin:0 auto}.tabbar{position:sticky;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 7px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:700}.tabbar-item.active{color:var(--green-light)}.tabbar-icon{font-size:1.3rem;line-height:1}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.auth-logo{width:76px;height:76px;object-fit:contain;margin-bottom:10px}.auth-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px;margin-top:14px}.auth-form input{width:100%;font-size:1rem;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--card2);color:var(--text)}.auth-label{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:.85rem;color:var(--muted)}.auth-error{color:#ff8a85;font-size:.9rem}.auth-alt{margin-top:18px;color:var(--muted);font-size:.9rem}.auth-alt a{color:var(--green-light);font-weight:700;text-decoration:none}.btn-primary,.btn-secondary{border:0;border-radius:12px;font-size:1.05rem;font-weight:800;padding:15px 18px;cursor:pointer;color:#fff}.btn-primary{background:var(--green-light)}.btn-primary:disabled{opacity:.6}.btn-secondary{background:var(--card2);color:var(--text);border:1px solid var(--border)}.profile-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:16px}.profile-avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;background:#334155;flex:0 0 auto}.profile-avatar.mono{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.6rem;color:#e2e8f0}.profile-name{font-weight:800;font-size:1.15rem}
