* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: #04060f !important;
  color: #cbd5e1 !important;
  font-family: 'Consolas', 'Courier New', monospace !important;
  padding: 2vw 20px !important;
  overflow-x: hidden !important;
}

.layout-container, main, .region {
  width: 95% !important;
  max-width: 1400px !important;
  margin: 0 auto;
}

header, 
header[role="banner"] {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 16vw !important;
  max-height: 150px !important;
  min-height: 80px !important;
  background-image: url('../images/logo.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin-bottom: 40px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
}

header::before,
header::after,
header[role="banner"]::before,
header[role="banner"]::after {
  content: none !important;
  display: none !important;
}

.block-system-branding-block,
.site-branding,
.site-branding__name,
header h1,
header div {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 0 !important;
  color: transparent !important;
}

header a[rel="home"],
.site-branding a {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  z-index: 10 !important;
}
/* 核心：記事ブロックをFlexbox化し、縦一列のインフララインを構築 
*/
article, .node, .views-row {
  display: flex !important;
  flex-direction: column !important; /* 内部要素を上から下へ直線的に整列 */
  background: rgba(8, 12, 28, 0.85) !important;
  border: 1px solid rgba(0, 242, 254, 0.2) !important;
  padding: 30px !important;
  margin-bottom: 30px !important;
}
/* タイトル要素（h1, h2, クラス名）に負のorderを与えて最上部へ強制移動 */
h1, h2, .node__title, .views-field-title, .page-title {
  order: -1 !important; /* 記述順を無視し、枠内のトップに強制レンダリング */
  color: #fff !important;
  font-size: 1.6rem !important;
  text-decoration: none !important;
  margin-bottom: 15px !important; /* 本文との間に論理的余白を確保 */
}
/* 投稿日・投稿者（メタデータ）の順序を中央に固定 */
.node__meta, .views-field-created, footer, .submitted {
  order: 0 !important;
  margin-bottom: 15px !important;
  font-size: 0.9rem !important;
  color: #94a3b8 !important;
}
/* 記事本文を必ず一番下に配置 */
.node__content, .views-field-body, .field--name-body {
  order: 1 !important;
  color: #cbd5e1 !important;
  line-height: 1.7 !important;
}
a {
  color: #00f2fe;
  text-decoration: none;
}
a:hover {
  color: #fff;
  text-shadow: 0 0 8px #00f2fe;
}
.menu {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
