*{box-sizing:border-box}
:root{
    --bg:#070b18;
    --panel:rgba(255,255,255,.06);
    --panel2:rgba(255,255,255,.08);
    --border:rgba(255,255,255,.12);
    --text:#e8eaf0;
    --muted:rgba(232,234,240,.70);
    --accent:#7c5cff;
    --accent2:#47d6ff;
    --danger:#ff4d6d;
    --ok:#3be38a;
    --shadow:0 18px 50px rgba(0,0,0,.35);
}
html,body{margin:0;padding:0;background:radial-gradient(1200px 700px at 20% 10%, rgba(124,92,255,.22), transparent 55%),radial-gradient(900px 500px at 85% 20%, rgba(71,214,255,.18), transparent 60%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1120px, calc(100% - 32px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:20;background:rgba(7,11,24,.7);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;align-items:center;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}
.brand-logo{width:34px;height:34px;border-radius:10px;object-fit:cover}
.brand-text{font-size:15px}
.nav{display:flex;align-items:center;gap:12px;margin-left:auto}
.nav a{opacity:.9;padding:8px 10px;border-radius:10px}
.nav a:hover{background:var(--panel);opacity:1}
.search{display:flex;gap:8px;align-items:center}
.search input{width:220px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;outline:none}
.search button{background:linear-gradient(135deg, rgba(124,92,255,.95), rgba(71,214,255,.75));border:0;color:#061021;border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer}
.nav-toggle{display:none;margin-left:6px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;cursor:pointer}
.nav-mobile{display:none;padding:10px 0 14px}
.nav-mobile a{display:block;padding:10px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--border);margin:8px 0}

.hero{padding:26px 0 10px}
.hero-content{background:linear-gradient(135deg, rgba(124,92,255,.18), rgba(71,214,255,.10));border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.hero h1{margin:0 0 10px;font-size:34px;line-height:1.15}
.hero p{margin:0 0 18px;color:var(--muted);max-width:62ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}
.btn:hover{background:var(--panel2)}
.btn.primary{border-color:rgba(124,92,255,.45);background:linear-gradient(135deg, rgba(124,92,255,.90), rgba(71,214,255,.55));color:#061021;font-weight:800}
.btn.danger{border-color:rgba(255,77,109,.35);background:rgba(255,77,109,.12)}
.btn.sm{padding:6px 10px;border-radius:10px;font-size:13px}

.section-title{margin:20px 0 14px;font-size:20px}
.grid{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;padding:10px 0 30px}
.cards{display:grid;grid-template-columns:repeat(3, 1fr);gap:14px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.card-media{display:block;background:rgba(255,255,255,.03)}
.card-media img{width:100%;height:170px;object-fit:cover}
.media-placeholder{height:170px;background:linear-gradient(135deg, rgba(124,92,255,.16), rgba(71,214,255,.12))}
.card-body{padding:14px}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(124,92,255,.35);background:rgba(124,92,255,.12);font-size:12px;color:rgba(232,234,240,.92)}
.card-title{margin:10px 0 8px;font-size:16px;line-height:1.3}
.card-title a:hover{text-decoration:underline}
.card-excerpt{margin:0;color:var(--muted);line-height:1.55;min-height:46px}
.card-meta{display:flex;gap:10px;justify-content:space-between;margin-top:10px;color:rgba(232,234,240,.55);font-size:12px}

.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px;margin-bottom:14px}
.panel-title{font-weight:800;margin:0 0 10px}
.tag-list{display:flex;gap:8px;flex-wrap:wrap}
.tag{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.04);color:rgba(232,234,240,.90);font-size:13px}
.tag:hover{background:rgba(255,255,255,.07)}
.muted{color:var(--muted)}
.mini-social{display:flex;gap:10px;flex-wrap:wrap}
.mini-social a{opacity:.85}
.mini-social a:hover{opacity:1;text-decoration:underline}

.page-head{padding:18px 0 6px}
.page-head h1{margin:0 0 8px}
.pagination{display:flex;gap:12px;align-items:center;justify-content:center;padding:18px 0}

.post{padding:10px 0 30px}
.post-head{background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.post-head h1{margin:0;padding:18px 18px 8px;font-size:28px;line-height:1.2}
.post-meta{display:flex;gap:12px;flex-wrap:wrap;color:rgba(232,234,240,.55);font-size:12px;padding:0 18px 14px}
.post-image{width:100%;max-height:440px;object-fit:cover}
.post-excerpt{margin:0;padding:16px 18px;color:var(--muted)}
.prose{padding:18px;line-height:1.8}
.prose h2,.prose h3{margin-top:20px}
.prose p{margin:0 0 14px}
.prose a{color:var(--accent2);text-decoration:underline}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 12px}

.form{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;max-width:860px}
.form-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.form-row label{font-weight:700}
input,textarea,select{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;outline:none}
textarea{resize:vertical}
.form-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}

.alert{border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:10px 0}
.alert.success{border-color:rgba(59,227,138,.35);background:rgba(59,227,138,.10)}
.alert.error{border-color:rgba(255,77,109,.35);background:rgba(255,77,109,.10)}

.footer{border-top:1px solid var(--border);padding:22px 0 28px;background:rgba(7,11,24,.55)}
.footer-inner{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.footer-brand{max-width:520px}
.brand-title{font-weight:900;margin-bottom:6px}
.brand-desc{color:var(--muted)}
.footer-links,.footer-social{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.footer-links a,.footer-social a{opacity:.8}
.footer-links a:hover,.footer-social a:hover{opacity:1;text-decoration:underline}
.footer-tags{padding-top:14px}
.footer-tags-title{font-weight:900;margin:0 0 10px}
.footer-bottom{display:flex;gap:12px;justify-content:space-between;align-items:center;padding-top:12px;color:rgba(232,234,240,.55);flex-wrap:wrap}

.admin .admin-topbar{position:sticky;top:0;z-index:30;background:rgba(7,11,24,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.admin-topbar-inner{display:flex;gap:14px;align-items:center;padding:14px 0}
.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.admin-nav a{padding:8px 10px;border-radius:12px;background:var(--panel);border:1px solid var(--border);opacity:.9}
.admin-nav a:hover{opacity:1;background:var(--panel2)}
.admin-container{padding:18px 0 34px}
.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:10px 0 12px}
.admin-head h1{margin:0}
.admin-card{max-width:560px;margin:22px auto 0;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px}
.admin-card h1{margin:0 0 12px}

.stats{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin:10px 0 16px}
.stat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px}
.stat-num{font-weight:900;font-size:22px}
.stat-label{color:var(--muted);margin-top:4px}

.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:720px}
.table th,.table td{border-bottom:1px solid rgba(255,255,255,.08);padding:10px 10px;text-align:left}
.table th{color:rgba(232,234,240,.8);font-size:13px;font-weight:800}
.right{text-align:right}
.pill{display:inline-flex;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--border);font-size:12px}
.inline{display:inline}
.preview{margin:10px 0}
.preview img{max-width:360px;border-radius:14px;border:1px solid var(--border)}
