
:root{
  /* Brand */
  --primary:#055DFF;   /* requested */
  --accent:#072642;    /* requested */
  --secondary:#1B4366; /* extra suggested */
  --teal:#0FA3B1;      /* extra accent */

  /* UI */
  --muted:#93a4c7;
  --text:#e8eeff;
  --border:rgba(255,255,255,.08);
  --shadow: 0 18px 50px rgba(0,0,0,.35);
  --radius:18px;
}

*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#071022 0%, #050913 100%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:22px}

.topbar{
  position:sticky;top:0;z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(5,9,19,.72);
  border-bottom: 1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;
}

.brand{display:flex;gap:12px;align-items:center}
.logo-wrap{
  width:44px;height:44px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg,var(--primary), var(--secondary));
  box-shadow: 0 10px 24px rgba(5,93,255,.25);
}
.logo-img{width:100%;height:100%;object-fit:contain;background:rgba(255,255,255,.04)}
.logo-fallback{
  width:100%;height:100%;display:none;align-items:center;justify-content:center;
  font-weight:900;color:white;
}
.brand-title{font-weight:800}
.brand-sub{color:var(--muted);font-size:12px;margin-top:2px}

.top-actions{display:flex;gap:10px;align-items:center}
.lang select{
  padding:10px 12px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  font-weight:800;font-size:13px;
  outline:none;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border-radius:14px;
  border:1px solid var(--border);
  font-weight:800;font-size:13px;
}
.btn-primary{background:var(--primary);border-color:rgba(5,93,255,.4)}
.btn-ghost{background:rgba(255,255,255,.03)}
.btn-danger{background:#c0392b;border-color:rgba(255,255,255,.12)}
.btn-sm{padding:8px 10px;border-radius:12px;font-size:12px}

.hero{
  background: radial-gradient(1200px 500px at 20% 0%, rgba(5,93,255,.25), transparent 60%),
              radial-gradient(900px 420px at 80% 10%, rgba(7,38,66,.45), transparent 55%),
              radial-gradient(900px 520px at 50% 120%, rgba(15,163,177,.12), transparent 55%);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:22px;
  box-shadow: var(--shadow);
}
.hero h1{margin:0 0 8px 0;font-size:28px}
.hero p{margin:0 0 16px 0;color:var(--muted);max-width:68ch}

.searchbar{display:flex;gap:10px;align-items:center}
.searchbar input{
  flex:1; padding:12px 14px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}

.section{margin-top:22px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.section-head h2,.section-head h1{margin:0}
.muted{color:var(--muted)}
.grid{display:grid;gap:12px;margin-top:12px}
.grid.cards{grid-template-columns:repeat(4, minmax(0, 1fr))}
.grid.articles{grid-template-columns:repeat(2, minmax(0, 1fr))}

.card{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:14px;
  display:flex;gap:12px;align-items:center;
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.card:hover{transform:translateY(-2px);border-color:rgba(5,93,255,.35);background:rgba(5,93,255,.06)}
.card-icon{font-size:22px;width:44px;height:44px;border-radius:16px;background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}
.card-body{flex:1}
.card-title{font-weight:900}
.card-text{color:var(--muted);font-size:12px;margin-top:4px}
.card-arrow{color:var(--muted);font-weight:900}
.card-static:hover{transform:none;border-color:var(--border);background:rgba(255,255,255,.03)}

.article{
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.article:hover{transform:translateY(-2px);border-color:rgba(5,93,255,.35);background:rgba(5,93,255,.06)}
.article-title{font-weight:900;font-size:16px}
.article-text{color:var(--muted);font-size:13px;margin-top:6px}
.article-meta{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.pill{font-size:11px;border:1px solid var(--border);padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.03);color:var(--text)}

.breadcrumbs{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;margin-top:8px}
.breadcrumbs a{color:var(--text);opacity:.9}

.article-page{
  margin-top:14px;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background:rgba(255,255,255,.03);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.article-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px;border-bottom:1px solid var(--border)}
.article-header h1{margin:10px 0 0 0;font-size:26px}
.article-actions{display:flex;gap:10px;flex-wrap:wrap}
.content{padding:18px;color:#eaf0ff}
.content h2,.content h3{margin-top:18px}
.content p{color:#dbe6ff;line-height:1.6}
.content ul,.content ol{color:#dbe6ff;line-height:1.6}
.content img{max-width:100%;height:auto;border-radius:14px;border:1px solid var(--border)}
.callout{margin:16px;border:1px solid rgba(5,93,255,.25);background:rgba(5,93,255,.07);border-radius:16px;padding:14px}
.callout-title{font-weight:900}
.callout-text{color:var(--muted);margin-top:6px}
.callout-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}

.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);padding:18px;border-top:1px solid var(--border);margin-top:28px}
.footer-links a{color:var(--text);opacity:.85}

.search-results{margin-top:12px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03);overflow:hidden}
.search-results .item{padding:12px 14px;border-top:1px solid var(--border);display:block}
.search-results .item:first-child{border-top:none}
.search-results .item:hover{background:rgba(5,93,255,.06)}
.search-results .t{font-weight:900}
.search-results .e{color:var(--muted);margin-top:6px;font-size:13px}
.hidden{display:none}

.auth-card,.form-card{
  max-width:760px;margin:0 auto;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background:rgba(255,255,255,.03);
  box-shadow: var(--shadow);
  padding:18px;
}
.form{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.form label{font-size:12px;color:var(--muted);font-weight:800}
.form input,.form textarea,.form select{
  padding:12px 14px;border-radius:14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}
.form textarea{resize:vertical; min-height:140px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.alert{border:1px solid rgba(192,57,43,.35);background:rgba(192,57,43,.12);padding:10px 12px;border-radius:14px}

.table{border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-top:12px}
.tr{display:grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap:10px;padding:12px 14px;border-top:1px solid var(--border);align-items:center;background:rgba(255,255,255,.02)}
.tr.th{font-weight:900;color:var(--muted);background:rgba(255,255,255,.04)}
.tr:first-child{border-top:none}

/* Editor split with drag */
.editor-shell{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background:rgba(255,255,255,.03);
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  min-height:520px;
}
.pane{padding:16px}
.pane.left{flex:0 0 380px; border-right:1px solid var(--border)}
.pane.right{flex:1; min-width:280px; display:flex; flex-direction:column}
.splitter{
  width:10px; cursor:col-resize;
  background:linear-gradient(180deg, rgba(5,93,255,.05), rgba(7,38,66,.08));
  border-right:1px solid var(--border);
  border-left:1px solid var(--border);
}
.dragging *{user-select:none !important}
.editor-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.editor-title{font-weight:900}
.editor-tip{color:var(--muted);font-size:12px}
.editor{
  flex:1;
  width:100%;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.18);
  color:var(--text);
  outline:none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  line-height:1.5;
}
.editor.drop{border-color:rgba(15,163,177,.55); box-shadow:0 0 0 3px rgba(15,163,177,.12)}

/* responsive */
@media (max-width: 980px){
  .grid.cards{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .grid.articles{grid-template-columns:1fr}
  .article-header{flex-direction:column}
  .topbar{flex-direction:column;align-items:flex-start;gap:12px}
  .top-actions{width:100%;justify-content:flex-end}
  .tr{grid-template-columns:1fr}
  .editor-shell{flex-direction:column}
  .pane.left{flex:0 0 auto; border-right:none; border-bottom:1px solid var(--border)}
  .splitter{height:10px;width:100%;cursor:row-resize}
}
