:root{
  --bg: #f6f7fb;
  --card: #ffffff;
  --text: #0f172a;
  --muted: #6b7280;
  --ring: rgba(104, 112, 245, .35);
  --radius: 18px;
  --shadow: 0 10px 30px rgba(0,0,0,0.06);
  --grad-primary: linear-gradient(135deg,#6a5af9, #7c3aed);
  --grad-secondary: linear-gradient(135deg,#06b6d4,#10b981);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text); background: radial-gradient(1200px 500px at 20% -20%, #e9e7ff 0%, transparent 60%), var(--bg);
}

.container{max-width:1100px;margin:40px auto;padding:0 20px;}
.header{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.logo{
  width:44px;height:44px;border-radius:12px;background:var(--grad-primary);box-shadow:var(--shadow);
}
.title{font-size:36px;font-weight:800;letter-spacing:-.02em}
.subtitle{color:var(--muted)}

.nav{
  display:flex;align-items:center;gap:14px;margin:22px 0;
}
.tab{
  padding:10px 16px;border-radius:9999px;background:#ecebff;color:#4f46e5;font-weight:600;
  border:1px solid #e5e7eb; box-shadow: inset 0 -2px 0 rgba(0,0,0,0.03);
}
.tab.active{ background: var(--grad-primary); color:#fff }
.search{
  margin-left:auto; display:flex;align-items:center; gap:10px; background:#fff; border-radius:9999px;
  padding:10px 14px; box-shadow: var(--shadow); border:1px solid #eef2ff;
}
.search input{border:0; outline:none; font-size:15px; width:320px}

.grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:22px;margin-top:22px}
.card{
  background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px 18px 16px;
  border:1px solid #eef2ff;
}
.card h3{margin:0 0 8px 0;font-size:20px}
.author{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-bottom:12px}
.badge{width:26px;height:26px;border-radius:50%;background:#e5e7eb}

.actions{display:flex;gap:10px;margin-top:10px}
.btn{
  border:0; padding:10px 14px; border-radius:9999px; font-weight:700; cursor:pointer;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08), inset 0 -2px 0 rgba(255,255,255,0.3);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:active{ transform: translateY(1px); filter: saturate(1.05) }
.btn-primary{ background: var(--grad-primary); color:#fff }
.btn-secondary{ background: var(--grad-secondary); color:#053b2d }

footer{margin:36px 0;color:var(--muted);text-align:center}

.form-card{
  max-width:420px; margin:40px auto; background:var(--card); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:26px; border:1px solid #eef2ff;
}
.form-card h1{margin:0 0 8px}
label{display:block;font-weight:600;margin-top:12px;margin-bottom:6px}
input[type="email"],input[type="password"],input[type="text"]{
  width:100%; padding:12px 14px; border-radius:12px; border:1px solid #e5e7eb; outline:none;
  box-shadow: inset 0 1px 0 rgba(0,0,0,0.02);
}
input:focus{border-color:#c7d2fe; box-shadow:0 0 0 4px var(--ring) }
.form-actions{display:flex;align-items:center;gap:10px;margin-top:16px}
.notice{padding:10px 12px;border-radius:12px;background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490;margin:10px 0}
.error{padding:10px 12px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;margin:10px 0}
.google-btn{margin-top:10px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin:12px 0}
.userpill{padding:8px 12px;border-radius:9999px;background:#fff;border:1px solid #e5e7eb;box-shadow:var(--shadow);font-size:14px}
a{color:#3b82f6;text-decoration:none}
a:hover{text-decoration:underline}
