:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;min-height:100vh}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 40px #0003;width:100%;max-width:420px}.login-card h1{font-size:28px;color:#333;margin-bottom:8px}.login-card .subtitle{color:#666;margin-bottom:24px}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;cursor:pointer;transition:all .2s}.google-btn:hover{background:#f8f8f8;border-color:#ccc}.terms{margin-top:24px;text-align:center;font-size:12px;color:#888}.divider{display:flex;align-items:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ddd}.divider span{padding:0 16px;color:#888;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333}.form-group input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c00;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.submit-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.toggle-mode{text-align:center;margin-top:24px;color:#666}.toggle-mode button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard{min-height:100vh;background:#f5f5f5}.dashboard-header{background:#fff;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000000d}.dashboard-header h1{font-size:24px;color:#333}.signout-btn{padding:10px 20px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.signout-btn:hover{background:#eee}.dashboard-content{max-width:1200px;margin:0 auto;padding:40px 20px}.profile-section,.membership-section,.stats-section{margin-bottom:32px}.profile-card{background:#fff;padding:32px;border-radius:16px;display:flex;align-items:center;gap:24px;box-shadow:0 2px 10px #0000000d}.avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.profile-info h2{font-size:24px;color:#333;margin-bottom:4px}.profile-info .email{color:#666;margin-bottom:8px}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;background:#fee;color:#c00}.badge.verified{background:#efe;color:#080}.membership-section h3,.stats-section h3{font-size:18px;color:#333;margin-bottom:16px}.membership-card{background:#fff;padding:24px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000000d}.membership-info .plan{font-size:20px;font-weight:600;color:#333}.membership-info p{color:#666;margin-top:4px}.upgrade-btn{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:opacity .2s}.upgrade-btn:hover{opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.stat-card{background:#fff;padding:24px;border-radius:16px;text-align:center;box-shadow:0 2px 10px #0000000d}.stat-value{display:block;font-size:36px;font-weight:700;color:#667eea;margin-bottom:8px}.stat-label{color:#666;font-size:14px}
