:root {
  --primary-color: #E60012;
  --secondary-color: #FFFFFF;
  --text-color: #333333;
  --font: 'Hiragino Mincho ProN', 'Hiragino Kaku Gothic ProN', 'Noto Serif JP', 'Noto Sans JP', 'Yu Mincho', 'Yu Gothic', 'Meiryo', serif, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font); color: var(--text-color); background: var(--secondary-color); line-height: 1.6; }
.container { width: 90%; max-width: 1000px; margin: auto; padding: 0 0; }
.container--full {
  max-width: none;
  width: auto;
}

/* Blog-specific */
.post-date {
  color: #777;
  font-size: 0.9rem;
  margin-bottom: 1rem;
}

/* Blog two-column layout */
.content{
  flex: 1 1 auto;
}

.content-area {
  display: flex;
  gap: 2rem;
  height: calc(100vh - 240px);
  margin-top: 0px;
}

/* Code block styling */
pre {
  background-color: #1e1e1e;
  border: 1px solid #444;
  border-radius: 6px;
  padding: 16px;
  margin: 16px 0;
  overflow-x: auto;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

code {
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 14px;
  color: #f8f8f2;
  line-height: 1.4;
}

/* Inline code styling */
p code, li code {
  background-color: #2d2d2d;
  color: #f8f8f2;
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}
/* 縦書き用クラス */
.vertical-text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: 'Hiragino Mincho ProN', 'Noto Serif JP', 'Yu Mincho', serif;
  letter-spacing: 0.1em;
  line-height: 2.2;
  background: #fff;
  padding: 1em;
  padding-top: 3em;
  overflow-x: auto;
}

/* 段落頭はさらに1字下げ */
article.vertical-text > p {
  text-indent: 1em;
}

/* waka（和歌）用クラス */
.waka {
  font-weight: bold;
  font-size: 1em;
  letter-spacing: 0.15em;
}

/* 縦書きレイアウトのブロック */
.post-vertical-flex {
  display: flex;
  flex-direction: row-reverse;
  gap: 2em;
  align-items: flex-end;
  justify-content: flex-start;
}
