:root{
  --bg:#fbfbff;
  --panel:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --accent:#0ea5e9;
  --accent2:#14b8a6;
  --border:rgba(17,24,39,.12);
}

html,body{height:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(900px 380px at 85% 0%, rgba(20,184,166,.12), transparent 55%),
  radial-gradient(900px 380px at 10% 10%, rgba(14,165,233,.12), transparent 55%), var(--bg);
  color:var(--text)}
a{color:inherit}
.container{max-width:1160px;margin:0 auto;padding:0 16px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.mast{border-bottom:1px solid var(--border);background:rgba(255,255,255,.78);backdrop-filter:saturate(1.2) blur(10px)}
.mast-row{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:14px 0}
#logo img{display:block;height:36px;width:auto}
.mast-meta{flex:1;min-width:0}
.site-title{font-weight:900}
.tagline{color:var(--muted)}
.mast-ads{min-width:180px;max-width:380px}

.top-nav{border-top:1px solid var(--border)}
.top-nav ul{list-style:none;margin:0;padding:10px 0;display:flex;gap:10px;flex-wrap:wrap}
.top-nav a{display:inline-block;padding:8px 10px;border-radius:12px;text-decoration:none}
.top-nav li.active a{background:rgba(14,165,233,.14);font-weight:900}

.grid{max-width:1160px;margin:0 auto;padding:16px;display:grid;gap:16px;
  grid-template-areas:"main aside";
  grid-template-columns:minmax(0,1fr) 320px}
.grid-main{grid-area:main}
.grid-aside{grid-area:aside}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(17,24,39,.08)}
.slot{background:rgba(255,255,255,.72);border:1px dashed rgba(17,24,39,.22);border-radius:18px;padding:12px;position:sticky;top:16px;height:fit-content}

#footer{border-top:1px solid var(--border);padding:16px 0;background:rgba(255,255,255,.72)}
#footer .social{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
#footer .social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:#fff}
#footer p{margin:0;color:var(--muted)}

@media (max-width: 980px){
  .grid{grid-template-areas:"main" "aside";grid-template-columns:1fr}
  .mast-ads{display:none}
  .slot{position:relative;top:auto}
}
