:root { --bg:#fff; --panel:#fff; --surface:#fff; --text:#202020; --fg:#202020; --sub:#62625c; --brand:#ffd54a; --line:#deded6; color-scheme:light; }
.wrap { max-width:1200px; }
header.site { padding:24px 0; }
main { padding:64px 0; }
h1 { font-size:42px; letter-spacing:-.04em; }
.lead { margin-bottom:42px; }
.post-list { gap:36px 28px; }
.post-list a { border-radius:16px; box-shadow:0 5px 18px rgba(25,25,15,.04); }
.post-list .body { padding:24px 26px 28px; }
.post-list .cat { color:#725b12; }
.post-list .t { font-size:18px; line-height:1.7; }
.post-list .d { font-size:13px; }
.ai-fab-btn { box-shadow:0 5px 18px rgba(25,25,15,.13); }
.ai-fab-wrap { pointer-events:none; }
.ai-fab-btn, .ai-fab-wrap.open .ai-fab-menu { pointer-events:auto; }
@media(max-width:700px) { main { padding:36px 0; } h1 { font-size:32px; } .post-list .body { padding:20px; } }
.wrap { max-width:1360px; padding-inline:48px; }
main { padding-top:76px; }
h1 { font-size:56px; }
.post-list { gap:44px 32px; }
.post-list a { border:0; border-radius:0; box-shadow:none; background:none; }
.post-list img { border-radius:8px; }
.post-list .body { padding:24px 0 28px; border-bottom:1px solid #dcdcd4; }
.post-list .cat { color:#556249; }
.post-list li.is-pinned { grid-column:1/-1; margin-bottom:20px; }
.post-list li.is-pinned a { display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:center; background:#f1f3ed; border-radius:8px; padding:32px; }
.post-list li.is-pinned .body { border:0; }
.post-list li.is-pinned .t { font-size:28px; line-height:1.7; margin-top:14px; letter-spacing:-.025em; }
.post-list li.is-pinned .d { margin-top:24px; }
@media(max-width:800px) {
  .wrap { padding-inline:24px; }
  main { padding-top:42px; }
  h1 { font-size:40px; }
  .post-list li.is-pinned a { grid-template-columns:1fr; gap:0; padding:20px; }
  .post-list li.is-pinned .t { font-size:22px; }
  .post-list li.is-pinned .body { padding-bottom:0; }
}

.post-list .column-thumb {
  position: relative;
  container-type: inline-size;
  width: 100%;
  aspect-ratio: 40 / 21;
  overflow: hidden;
  border-radius: 8px;
  background: #152127;
  isolation: isolate;
}
.post-list .column-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.column-thumb-graphic {
  background: #08090b !important;
  border: 1px solid #282a30;
}
.column-thumb-graphic::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 100% 90%, color-mix(in srgb, var(--thumb-accent) 22%, transparent), transparent 65%);
}
.thumb-topic {
  position: absolute;
  top: 10%;
  left: 6%;
  padding-left: 3%;
  border-left: .8cqw solid var(--thumb-accent);
  color: #eee;
  font-size: 3cqw;
  font-weight: 800;
  letter-spacing: .035em;
}
.thumb-icon {
  position: absolute;
  width: 26%;
  height: 50%;
  right: 4%;
  bottom: 10%;
  color: var(--thumb-accent);
  transform: rotate(-8deg);
  filter: drop-shadow(0 8px 16px #0008);
}
.column-thumb-title {
  position: absolute;
  left: 6%;
  bottom: 14%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1.2cqw;
  color: #fff;
  font-size: 8.1cqw;
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: 1.2;
  text-shadow: 0 2px 3px #000;
}
.column-thumb-title span { display: block; white-space: nowrap; }
.column-thumb-title .thumb-metric { font-size: 11cqw; letter-spacing: -.065em; }
.pinned-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 12px;
  padding: 4px 12px;
  border-radius: 4px;
  background: #344536;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.pinned-label::before { content: "◆"; font-size: 9px; }
