:root {
  --bg: #0b0b12;
  --card: #11111a;
  --text: #f5f7ff;
  --muted: #a0a3b1;
  --primary: #7c5cff;
  --primary-contrast: #fff;
  --accent: #2dd4bf;
  --border: #1c1c28;
}
html[data-theme="light"] {
  --bg: #f6f7fb;
  --card: #ffffff;
  --text: #0f1224;
  --muted: #5b5e6a;
  --primary: #5b7fff;
  --primary-contrast: #fff;
  --accent: #0ea5e9;
  --border: #e6e8f2;
}
body {
  background: var(--bg);
  color: var(--text);
  font: 16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Noto Sans', 'Helvetica Neue', Arial;
}
.container{max-width:1050px;margin:0 auto;padding:20px}
.navbar{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}
.nav-inner{display:flex;gap:16px;align-items:center;justify-content:space-between}
.brand{font-weight:800;letter-spacing:.4px}
.menu{display:flex;gap:12px}
.menu a{padding:10px 12px;border-radius:12px}
.menu a:hover{background:var(--card)}
.search input{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--text);min-width:260px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--border);padding:16px;border-radius:16px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.card:hover{transform:translateY(-1px)}
.meta{font-size:.9em;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.muted{color:var(--muted)}
.form label{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.form input,.form textarea,.form select{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text)}
.btn{padding:10px 14px;border-radius:12px;border:0;background:var(--primary);color:var(--primary-contrast);cursor:pointer}
.btn-secondary{background:transparent;border:1px solid var(--border)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stack{display:grid;gap:12px}
.mt{margin-top:16px}
.footer{border-top:1px solid var(--border);margin-top:40px}
.footer .container{display:flex;align-items:center;justify-content:space-between}
.alert{padding:10px 12px;border-radius:12px;margin:12px 0}
.alert.success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3)}
.alert.danger{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3)}
h1{font-size:1.6rem;margin:12px 0}
h2{font-size:1.2rem;margin:12px 0}
h3{font-size:1rem;margin:8px 0}