:root{
  color-scheme:light;
  --bg:#f5f7f8;
  --surface:#fff;
  --surface-soft:#eaf0f2;
  --text:#39434a;
  --heading:#263940;
  --muted:#71808a;
  --border:#e0e7ea;
  --border-soft:#edf1f3;
  --accent:#008cbf;
  --accent-strong:#007da9;
  --accent-soft:#e4f4f9;
  --shadow:rgba(35,59,69,.06);
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0f1720;
  --surface:#162330;
  --surface-soft:#203240;
  --text:#d8e2e8;
  --heading:#f4fbff;
  --muted:#a7b6c0;
  --border:#2b4050;
  --border-soft:#243847;
  --accent:#41c7f4;
  --accent-strong:#7bdcff;
  --accent-soft:#17394a;
  --shadow:rgba(0,0,0,.28);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.65;transition:background .2s ease,color .2s ease}
.inner-wrap{max-width:1160px;margin:0 auto;width:calc(100% - 2.5rem)}
.site-header{background:var(--surface);border-bottom:1px solid var(--border)}
.site-header .inner-wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.7rem 0}
.header-left{display:flex;align-items:center;gap:1rem 1.35rem;flex-wrap:wrap}
.site-title{margin:0;font-size:2rem;line-height:1.15}
.site-title a{color:var(--accent);text-decoration:none}
.site-description{margin:.25rem 0 0;color:var(--muted);font-size:.875rem;letter-spacing:.04em}
.theme-switcher{display:inline-flex;gap:.25rem;padding:.22rem;border:1px solid var(--border);border-radius:999px;background:var(--bg)}
.theme-button{appearance:none;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;line-height:1;padding:.38rem .72rem}
.theme-button[aria-pressed="true"]{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--shadow)}
.theme-button:hover,.theme-button:focus-visible{color:var(--heading);outline:2px solid transparent}
.theme-button[aria-pressed="true"]:hover,.theme-button[aria-pressed="true"]:focus-visible{color:#fff}
.main-navigation{display:flex;flex-wrap:wrap;gap:1.5rem}
.main-navigation a{color:var(--text);text-decoration:none;font-weight:600}
.main-navigation a:hover,.main-navigation a:focus-visible{color:var(--accent)}
.content{padding:2.5rem 0 3.5rem}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:3rem}
.primary-content{min-width:0}
.post-list>h2,.site-sidebar h2{margin:0 0 1.25rem;color:var(--heading);font-size:1.25rem;letter-spacing:.01em}
.post-card{display:grid;grid-template-columns:minmax(190px,32%) 1fr;overflow:hidden;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 14px var(--shadow)}
.post-card--event{border-top:4px solid var(--accent)}
.post-card-image{display:block;min-height:100%;background:var(--surface-soft)}
.post-card-image img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.post-card-body{padding:1.45rem 1.6rem}
.post-type{display:inline-block;margin:0 0 .45rem;padding:.12rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.post-card h3{margin:0;color:var(--heading);font-size:1.38rem;line-height:1.25}
.post-card h3 a{color:inherit;text-decoration:none}
.post-card h3 a:hover,.post-card h3 a:focus-visible{color:var(--accent)}
.entry-meta{margin:.45rem 0;color:var(--muted);font-size:.84rem}
.entry-summary{color:var(--text);font-size:.96rem}
.post-card-link{margin:1rem 0 0}
.read-more{color:var(--accent-strong);font-weight:700;text-decoration:none}
.read-more:hover,.read-more:focus-visible{text-decoration:underline}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}
.pagination a{color:var(--accent-strong);font-weight:700;text-decoration:none}
.pagination a:hover,.pagination a:focus-visible{text-decoration:underline}
.site-sidebar{display:grid;gap:1.25rem;padding:1.3rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem}
.sponsor-section{padding-bottom:1.1rem;border-bottom:1px solid var(--border-soft)}
.sponsor-section:last-child{padding-bottom:0;border-bottom:0}
.site-sidebar .widget-title{margin:0 0 .85rem;color:var(--heading);font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.sponsor-list{display:grid;gap:.85rem}
.sponsor-logo{display:flex;align-items:center;justify-content:center;min-height:78px;padding:.7rem;border:1px solid var(--border-soft);border-radius:.25rem;background:#fff;text-decoration:none}
.sponsor-logo:hover,.sponsor-logo:focus-visible{border-color:#b8dce8;box-shadow:0 3px 10px rgba(0,140,191,.12)}
.sponsor-logo img{display:block;max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.post,.page{max-width:780px}
.post h1,.page h1{margin:0;color:var(--heading);font-size:2.2rem;line-height:1.2}
.entry-content{margin-top:1.5rem}
.entry-content img{max-width:100%;height:auto}
.entry-content iframe{max-width:100%}
.entry-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.entry-content td,.entry-content th{border:1px solid var(--border);padding:.4rem}
.entry-content pre{overflow:auto;background:var(--surface-soft);padding:1rem}
.entry-content a{color:var(--accent-strong)}
.site-footer{padding:2rem 0;background:var(--surface);border-top:1px solid var(--border);color:var(--muted);text-align:center;font-size:.9rem}
@media(max-width:800px){
  .content-layout{grid-template-columns:1fr;gap:2rem}
  .site-sidebar{order:2}
  .sponsor-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .site-header .inner-wrap{align-items:flex-start;flex-direction:column;gap:1rem}
  .main-navigation{gap:1rem 1.35rem}
  .post-card{grid-template-columns:1fr}
  .post-card-image img{max-height:300px;min-height:0}
}
@media(max-width:520px){
  .inner-wrap{width:calc(100% - 1.5rem)}
  .site-header .inner-wrap{padding:1.25rem 0}
  .header-left{align-items:flex-start;flex-direction:column}
  .site-title{font-size:1.7rem}
  .main-navigation{display:grid;gap:.5rem}
  .content{padding:1.5rem 0 2.5rem}
  .post-card-body{padding:1.2rem}
  .post-card h3{font-size:1.2rem}
  .post h1,.page h1{font-size:1.8rem}
  .pagination{align-items:flex-start;flex-direction:column}
  .pagination span{order:-1}
}
