/* AI TIMES — 白黒の新聞体。色は「速報」の赤のみ。
   デザイン正本。新しいページを作ったら必ずこれを読み込む（ページ内<style>は書かない）。 */
:root {
  --paper: #FFFFFF; --paper-2: #F7F7F4; --paper-3: #F0F0EC;
  --ink: #0B0B0C; --ink-2: #3C3C40; --ink-3: #71716F; --ink-faint: #9C9C98;
  --line: #E4E4DF; --line-2: #D2D2CC; --rule: #0B0B0C; --live: #D22A1E;
  --font-serif: "Times New Roman", "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  --font-sans: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, "Roboto Mono", monospace;
}
@media (prefers-color-scheme: dark) {
  :root { --paper: #0C0C0D; --paper-2: #141416; --paper-3: #1B1B1E;
    --ink: #F2F2EF; --ink-2: #C0C0BC; --ink-3: #86868A; --ink-faint: #5E5E62;
    --line: #26262A; --line-2: #33333A; --rule: #F2F2EF; --live: #FF5347; }
}
:root[data-theme="dark"] { --paper: #0C0C0D; --paper-2: #141416; --paper-3: #1B1B1E;
  --ink: #F2F2EF; --ink-2: #C0C0BC; --ink-3: #86868A; --ink-faint: #5E5E62;
  --line: #26262A; --line-2: #33333A; --rule: #F2F2EF; --live: #FF5347; }
:root[data-theme="light"] { --paper: #FFFFFF; --paper-2: #F7F7F4; --paper-3: #F0F0EC;
  --ink: #0B0B0C; --ink-2: #3C3C40; --ink-3: #71716F; --ink-faint: #9C9C98;
  --line: #E4E4DF; --line-2: #D2D2CC; --rule: #0B0B0C; --live: #D22A1E; }

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--font-sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 22px; }
.mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
a { color: inherit; text-decoration: none; }

/* utility bar */
.util { border-bottom: 1px solid var(--line); font-family: var(--font-mono);
  font-size: 11px; color: var(--ink-3); letter-spacing: .3px; }
.util-row { display: flex; align-items: center; gap: 14px; padding: 7px 0; }
.util .sp { flex: 1; }
.util .live { color: var(--live); font-weight: 700; letter-spacing: 1px; display: inline-flex; align-items: center; gap: 6px; }
.util .live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--live); animation: blink 1.4s step-end infinite; }
@keyframes blink { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .util .live::before { animation: none; } }
.tbtn { font-family: var(--font-mono); font-size: 11px; letter-spacing: .5px; color: var(--ink-3); background: none; border: 0; cursor: pointer; padding: 2px 4px; }
.tbtn:hover { color: var(--ink); }

/* masthead */
.mast { text-align: center; padding: 22px 0 14px; }
.mast a.h1 { display: inline-block; }
.mast h1 { font-family: var(--font-serif); font-weight: 700; margin: 0; font-size: clamp(40px, 8vw, 72px); letter-spacing: -1px; line-height: 1; }
.mast .en { font-family: var(--font-mono); font-size: 11px; letter-spacing: 6px; text-transform: uppercase; color: var(--ink-3); margin-top: 12px; }
.mast .tag { font-family: var(--font-serif); font-style: italic; font-size: 15px; color: var(--ink-2); margin-top: 6px; }
.rule-heavy { border: 0; border-top: 3px solid var(--rule); margin: 0; }
.rule-thin { border: 0; border-top: 1px solid var(--rule); margin: 3px 0 0; }

/* nav */
nav.sections { display: flex; flex-wrap: wrap; gap: 0; justify-content: center; border-bottom: 1px solid var(--line); }
nav.sections a { font-family: var(--font-mono); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-2); padding: 11px 16px; border-right: 1px solid var(--line); }
nav.sections a:first-child { border-left: 1px solid var(--line); }
nav.sections a:hover { background: var(--paper-2); color: var(--ink); }
nav.sections a[aria-current] { color: var(--live); font-weight: 700; }

/* breaking ticker */
.breaking { display: flex; align-items: stretch; border-bottom: 1px solid var(--line); overflow: hidden; }
.breaking .lab { flex: none; color: var(--live); font-family: var(--font-mono); font-size: 10.5px; font-weight: 700; letter-spacing: 2px; display: flex; align-items: center; padding: 0 14px 0 0; margin-right: 14px; border-right: 1px solid var(--line-2); }
.breaking .track { overflow: hidden; flex: 1; position: relative; }
.breaking .move { display: inline-flex; gap: 40px; white-space: nowrap; padding: 9px 0; animation: slide 40s linear infinite; will-change: transform; }
.breaking:hover .move { animation-play-state: paused; }
@keyframes slide { from { transform: translateX(3%); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .breaking .move { animation: none; } .breaking .track { overflow-x: auto; } }
.breaking .move span { font-size: 13px; color: var(--ink-2); }
.breaking .move b { color: var(--ink); font-weight: 700; }
.breaking .move .t { font-family: var(--font-mono); font-size: 11px; color: var(--ink-faint); }

/* front page */
.front { display: grid; grid-template-columns: 1.9fr 1fr; gap: 0; }
@media (max-width: 820px) { .front { grid-template-columns: 1fr; } }
.lead { padding: 26px 30px 26px 0; border-right: 1px solid var(--line); }
@media (max-width: 820px) { .lead { border-right: 0; border-bottom: 1px solid var(--line); padding: 24px 0; } }
.kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.kicker .sq { width: 8px; height: 8px; background: var(--live); }
.kicker.g .sq { background: var(--ink); }
.lead h2 { font-family: var(--font-serif); font-weight: 700; font-size: clamp(26px, 4.4vw, 42px); line-height: 1.1; letter-spacing: -.6px; margin: 0 0 14px; text-wrap: balance; }
.lead .dek { font-size: 16px; color: var(--ink-2); line-height: 1.7; margin: 0 0 16px; max-width: 46ch; }
.lead .meta { font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); display: flex; gap: 14px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--line); }
.lead .meta b { color: var(--ink); }

.wire { padding: 26px 0 26px 30px; }
@media (max-width: 820px) { .wire { padding: 24px 0; } }
.wire .wh { font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink); padding-bottom: 9px; border-bottom: 2px solid var(--rule); margin-bottom: 4px; display: flex; align-items: center; justify-content: space-between; }
.wi { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.wi:last-child { border-bottom: 0; }
.wi .tm { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); padding-top: 2px; white-space: nowrap; }
.wi .hl { font-weight: 700; font-size: 14px; line-height: 1.45; }
.wi .fl { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .5px; color: var(--ink-3); border: 1px solid var(--line-2); padding: 0 4px; border-radius: 3px; margin-left: 6px; vertical-align: 1px; }

/* sections */
section { padding: 30px 0; }
.sec-title { font-family: var(--font-serif); font-size: 15px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding-bottom: 8px; border-bottom: 2px solid var(--rule); margin: 0 0 2px; display: flex; align-items: baseline; gap: 10px; }
.sec-title .jp { font-family: var(--font-sans); font-size: 12px; color: var(--ink-3); letter-spacing: 0; text-transform: none; font-weight: 500; }
.sec-title a.more { margin-left: auto; font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); letter-spacing: .5px; }
.sec-title a.more:hover { color: var(--live); }
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 34px; }
@media (max-width: 720px) { .grid2 { grid-template-columns: 1fr; } }
.story { padding: 15px 0; border-bottom: 1px solid var(--line); }
.story .sk { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-3); margin-bottom: 5px; display: flex; gap: 8px; }
.story .sk b { color: var(--live); }
.story .sk.reg b { color: var(--ink); }
.story h3 { font-family: var(--font-serif); font-size: 19px; font-weight: 700; line-height: 1.25; margin: 0 0 5px; letter-spacing: -.2px; }
.story p { margin: 0; font-size: 13px; color: var(--ink-2); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.story .src { font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-faint); margin-top: 6px; }

/* market data box */
.market { border: 2px solid var(--rule); }
.market .mh { display: flex; align-items: center; justify-content: space-between; padding: 11px 16px; border-bottom: 2px solid var(--rule); }
.market .mh b { font-family: var(--font-serif); font-size: 16px; letter-spacing: .3px; }
.market .mh .as { font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); }
.scroll { overflow-x: auto; }
table.data { width: 100%; border-collapse: collapse; min-width: 640px; }
table.data th { font-family: var(--font-mono); font-size: 10px; letter-spacing: .8px; text-transform: uppercase; color: var(--ink-3); text-align: left; padding: 9px 16px; border-bottom: 1px solid var(--line); font-weight: 500; }
table.data th.n, table.data td.n { text-align: right; }
table.data td { padding: 11px 16px; border-bottom: 1px solid var(--line); font-size: 13px; }
table.data tr:last-child td { border-bottom: 0; }
table.data td.n { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
table.data td .m { font-weight: 700; } table.data td .pv { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); }
.chg { font-family: var(--font-mono); font-size: 11px; font-weight: 700; }
.chg .ar { color: var(--live); }
.tagx { font-family: var(--font-mono); font-size: 9.5px; border: 1px solid var(--ink); padding: 0 5px; border-radius: 2px; letter-spacing: .5px; }

/* tools grid */
.tools { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 30px; }
@media (max-width: 640px) { .tools { grid-template-columns: 1fr; } }
.tool { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.tool .ic { width: 36px; height: 36px; border: 1.5px solid var(--rule); border-radius: 8px; flex: none; display: grid; place-items: center; font-family: var(--font-mono); font-weight: 700; font-size: 15px; }
.tool .nm { font-weight: 700; font-size: 14px; }
.tool .ds { font-size: 12px; color: var(--ink-2); }
.tool .pr { margin-left: auto; font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); white-space: nowrap; }

/* why + kasegu */
.why { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-top: 2px solid var(--rule); border-bottom: 2px solid var(--rule); }
@media (max-width: 720px) { .why { grid-template-columns: 1fr; } }
.why .w { padding: 22px 20px; border-right: 1px solid var(--line); }
.why .w:last-child { border-right: 0; }
.why .w .num { font-family: var(--font-serif); font-size: 30px; font-weight: 700; line-height: 1; }
.why .w .t { font-weight: 800; font-size: 15.5px; margin: 10px 0 6px; }
.why .w .d { font-size: 12.5px; color: var(--ink-2); line-height: 1.65; }

.verdict { border: 2px solid var(--rule); padding: 18px 20px; }
.verdict .lab { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--live); margin-bottom: 8px; }
.verdict h3 { font-family: var(--font-serif); font-size: 22px; font-weight: 700; margin: 0 0 8px; line-height: 1.25; letter-spacing: -.3px; }
.verdict p { margin: 0; font-size: 13.5px; color: var(--ink-2); line-height: 1.7; }
.krow { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line); }
.krow:last-child { border-bottom: 0; }
.krow .nm { font-weight: 700; font-size: 13px; }
.krow .need { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); text-align: right; font-variant-numeric: tabular-nums; }
.krow .vd { font-family: var(--font-mono); font-size: 10px; letter-spacing: .5px; padding: 1px 6px; border: 1px solid; border-radius: 3px; white-space: nowrap; }
.krow .vd.no { color: var(--live); border-color: var(--live); }
.krow .vd.mb { color: var(--ink-3); border-color: var(--line-2); }

.proto { text-align: center; font-family: var(--font-mono); font-size: 11px; color: var(--ink-faint); border: 1px dashed var(--line-2); border-radius: 6px; padding: 9px; margin-top: 22px; }
.loading { text-align: center; color: var(--ink-3); font-family: var(--font-mono); font-size: 12px; padding: 24px; }

footer { border-top: 3px solid var(--rule); margin-top: 30px; padding: 22px 0 48px; }
.frow { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); }
.frow .sp { flex: 1; }
.frow a:hover { color: var(--ink); }
.frow .brand { font-family: var(--font-serif); font-size: 15px; color: var(--ink); }
:focus-visible { outline: 2px solid var(--live); outline-offset: 2px; }

/* AIで稼ぐ（事例キュレーション） */
.kasegu-note { font-size: 13px; color: var(--ink-2); line-height: 1.7; margin-bottom: 14px; max-width: 60ch; }
.klist { border-top: 2px solid var(--rule); }
.krow2 { display: flex; align-items: center; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.krow2:hover { background: var(--paper-2); }
.krow2 .kx-main { flex: 1; min-width: 0; }
.krow2 .kx-nm { font-family: var(--font-serif); font-size: 18px; font-weight: 700; letter-spacing: -.2px; }
.krow2 .kx-ds { font-size: 12.5px; color: var(--ink-2); line-height: 1.55; margin-top: 3px; }
.krow2 .kx-src { font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-faint); margin-top: 5px; letter-spacing: .3px; }
.krow2 .kx-amt { text-align: right; white-space: nowrap; }
.krow2 .kx-amt b { display: block; font-family: var(--font-mono); font-size: 17px; font-variant-numeric: tabular-nums; }
.krow2 .kx-amt span { font-family: var(--font-mono); font-size: 10.5px; color: var(--ink-3); }

/* ============================================================
   記事（kiji）— 白黒新聞体の記事本文。色は本文黒＋速報赤のみ。
   ページ内<style>は書かない。記事はこのクラスだけで組む。
   ============================================================ */

/* パンくず */
nav.breadcrumb { font-family: var(--font-mono); font-size: 11px; letter-spacing: .3px; color: var(--ink-3); padding: 14px 0 0; }
nav.breadcrumb a:hover { color: var(--live); }
nav.breadcrumb .sep { color: var(--ink-faint); margin: 0 6px; }

/* 記事本体 */
article.kiji { max-width: 720px; margin: 0 auto; padding: 8px 0 30px; }
article.kiji h1 { font-family: var(--font-serif); font-weight: 700; font-size: clamp(26px, 4.6vw, 40px); line-height: 1.15; letter-spacing: -.5px; margin: 14px 0 10px; text-wrap: balance; }
article.kiji .article-meta { font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-3); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 9px 0; margin: 0 0 22px; display: flex; gap: 14px; flex-wrap: wrap; }
article.kiji .article-meta b { color: var(--ink); font-weight: 700; }
article.kiji .lead { font-size: 16.5px; line-height: 1.85; color: var(--ink); margin: 0 0 16px; }
article.kiji .lead b { font-weight: 700; }
article.kiji p { font-size: 15.5px; line-height: 1.9; color: var(--ink); margin: 0 0 16px; }
article.kiji h2 { font-family: var(--font-serif); font-weight: 700; font-size: 23px; line-height: 1.3; letter-spacing: -.2px; margin: 38px 0 12px; padding-bottom: 7px; border-bottom: 2px solid var(--rule); scroll-margin-top: 16px; }
article.kiji h3 { font-family: var(--font-sans); font-weight: 800; font-size: 16.5px; margin: 24px 0 8px; }
article.kiji a { text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 2px; }
article.kiji a:hover { text-decoration-color: var(--live); color: var(--live); }
article.kiji ul, article.kiji ol { font-size: 15.5px; line-height: 1.85; color: var(--ink); padding-left: 1.4em; margin: 0 0 16px; }
article.kiji li { margin: 4px 0; }
article.kiji strong, article.kiji b { font-weight: 700; }

/* 目次 */
nav.toc { border: 1px solid var(--line-2); background: var(--paper-2); padding: 15px 18px; margin: 0 0 26px; }
nav.toc .toc-title { font-family: var(--font-mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px; }
nav.toc ol { list-style: decimal; padding-left: 1.4em; margin: 0; font-size: 13.5px; line-height: 1.7; }
nav.toc a { text-decoration: none; color: var(--ink-2); }
nav.toc a:hover { color: var(--live); }

/* 図解（figure内インラインSVG） */
article.kiji figure.figure { margin: 24px 0; border: 1px solid var(--line-2); padding: 18px 18px 12px; background: var(--paper); }
article.kiji figure.figure svg { display: block; width: 100%; height: auto; color: var(--ink); }
article.kiji figure.figure figcaption { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--line); line-height: 1.6; }

/* callout（注意・補足ボックス。<b>が見出し） */
article.kiji .callout { border-left: 3px solid var(--live); background: var(--paper-2); padding: 13px 16px; margin: 0 0 18px; font-size: 14px; line-height: 1.8; }
article.kiji .callout b { display: block; font-weight: 800; margin-bottom: 3px; }

/* まとめボックス */
article.kiji .summary-box { border: 2px solid var(--rule); padding: 16px 18px; margin: 0 0 22px; }
article.kiji .summary-box .sb-title { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--live); margin-bottom: 8px; }
article.kiji .summary-box ul { margin: 0; }

/* 記事内の表（相場データ等） */
article.kiji .scroll-wrap { overflow-x: auto; margin: 0 0 20px; }
article.kiji table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 460px; }
article.kiji table th { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .5px; text-transform: uppercase; color: var(--ink-3); text-align: left; padding: 9px 12px; border-bottom: 2px solid var(--rule); font-weight: 500; }
article.kiji table th.n, article.kiji table td.n { text-align: right; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
article.kiji table td { padding: 10px 12px; border-bottom: 1px solid var(--line); }
article.kiji table tr:last-child td { border-bottom: 0; }
article.kiji table td .pv { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); }

/* ツールへのCTA / 関連導線 */
article.kiji .tool-cta { display: flex; align-items: center; gap: 12px; border: 2px solid var(--rule); padding: 14px 16px; margin: 0 0 22px; text-decoration: none; }
article.kiji .tool-cta:hover { background: var(--paper-2); color: inherit; }
article.kiji .tool-cta .tc-body { flex: 1; }
article.kiji .tool-cta .tc-k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--live); }
article.kiji .tool-cta .tc-t { font-family: var(--font-serif); font-size: 17px; font-weight: 700; margin-top: 2px; }
article.kiji .tool-cta .tc-arrow { font-family: var(--font-mono); font-size: 18px; color: var(--ink-3); }

article.kiji section.related { border-top: 2px solid var(--rule); margin: 30px 0 0; padding-top: 8px; }
article.kiji section.related > .rel-title { font-family: var(--font-serif); font-size: 15px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 8px 0; }
.tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
@media (max-width: 640px) { .tool-grid { grid-template-columns: 1fr; } }
.tool-card { display: block; padding: 13px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.tool-card:hover .tk-t { color: var(--live); }
.tool-card .tk-k { font-family: var(--font-mono); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-3); }
.tool-card .tk-t { font-weight: 700; font-size: 14px; margin: 2px 0; }
.tool-card .tk-d { font-size: 12px; color: var(--ink-2); line-height: 1.55; }

/* 出典 */
article.kiji h2.sources-h { font-size: 18px; }
article.kiji .sources { font-family: var(--font-mono); font-size: 11.5px; color: var(--ink-2); line-height: 1.9; padding-left: 1.3em; }
article.kiji .disclaimer { font-size: 11.5px; color: var(--ink-3); line-height: 1.7; border-top: 1px solid var(--line); margin-top: 24px; padding-top: 14px; }

/* ============================================================
   記事一覧（kiji/index.html）— カテゴリ別セクション
   ============================================================ */
.kiji-intro { font-size: 14px; color: var(--ink-2); line-height: 1.75; max-width: 64ch; margin: 0 0 18px; }
nav.cat-nav { display: flex; flex-wrap: wrap; gap: 0; border-top: 2px solid var(--rule); border-bottom: 1px solid var(--line); margin-bottom: 8px; }
nav.cat-nav a { font-family: var(--font-mono); font-size: 12px; letter-spacing: .5px; color: var(--ink-2); padding: 10px 16px; border-right: 1px solid var(--line); }
nav.cat-nav a:first-child { border-left: 1px solid var(--line); }
nav.cat-nav a:hover { background: var(--paper-2); color: var(--live); }
nav.cat-nav a span { color: var(--ink-faint); margin-left: 4px; }
section.cat { padding: 22px 0 8px; }
section.cat > h2 { font-family: var(--font-serif); font-size: 20px; font-weight: 700; letter-spacing: .3px; margin: 0 0 2px; padding-bottom: 7px; border-bottom: 2px solid var(--rule); display: flex; align-items: baseline; gap: 8px; scroll-margin-top: 12px; }
section.cat > h2 .cat-n { font-family: var(--font-mono); font-size: 12px; font-weight: 400; color: var(--ink-3); }
section.cat .cat-desc { font-size: 12.5px; color: var(--ink-3); line-height: 1.65; margin: 8px 0 4px; max-width: 66ch; }
.post-list { display: block; }
.post-list > a { display: grid; grid-template-columns: 84px 1fr; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); text-decoration: none; align-items: baseline; }
.post-list > a:hover .p-title { color: var(--live); }
.post-list .p-date { font-family: var(--font-mono); font-size: 11px; color: var(--ink-3); white-space: nowrap; padding-top: 2px; }
.post-list .p-title { font-family: var(--font-serif); font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.2px; }
.post-list .p-desc { font-size: 12.5px; color: var(--ink-2); line-height: 1.6; margin-top: 3px; }
@media (max-width: 560px) { .post-list > a { grid-template-columns: 1fr; gap: 3px; } }
