/*
Theme Name: o-t
Theme URI: https://o-t.jp/
Author: ogw
Description: o-t.jp — おもしろいことしかしない、たのしいことしかしない。
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ot
*/

/* ===========================================================
   tokens
   =========================================================== */
:root {
  --bg:        #fbfaf8;
  --ink:       #14120f;
  --sub:       #8b8579;
  --sub-2:     #6f695e;
  --line:      #e5e1d9;
  --gutter:    24px;

  --mincho:    "Shippori Mincho", serif;
  --gothic:    "Zen Kaku Gothic New", sans-serif;
}

/* ===========================================================
   base
   =========================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--gothic);
  font-weight: 400;
  line-height: 1.8;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; }

.wrap {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* ===========================================================
   header
   =========================================================== */
.site-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding-block: 40px 30px;
}

.site-id {
  font-family: var(--gothic);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: var(--sub);
  text-decoration: none;
}

.site-nav ul {
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--sub);
  text-decoration: none;
}

.site-nav .current-menu-item > a,
.site-nav a:hover { color: var(--ink); }

/* ===========================================================
   宣言（このサイトで明朝を使う唯一の場所）
   =========================================================== */
.statement { margin-block: 0 36px; }

.statement__main {
  margin: 0 0 18px;
  font-family: var(--mincho);
  font-weight: 700;
  font-size: 23px;
  line-height: 1.85;
  letter-spacing: 0.1em;
  font-feature-settings: "palt" 1;
  color: var(--ink);
}

.statement__body {
  margin: 0;
  font-family: var(--mincho);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.95;
  color: var(--sub-2);
}

/* ===========================================================
   一覧（比率自由・全幅1カラム）
   =========================================================== */
.section-label {
  margin: 0 0 20px;
  font-size: 11px;
  letter-spacing: 0.2em;
  color: var(--sub);
}

.cards { display: flex; flex-direction: column; }

.card {
  display: block;
  padding-block: 18px;
  border-top: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
}

.card__thumb { margin-bottom: 12px; }

.card__thumb img { border-radius: 3px; }

.card__meta {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 7px;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--sub);
}

.card__kind { color: var(--ink); }

.card__title {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

.card__tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.card__tags span {
  font-size: 9.5px;
  letter-spacing: 0.08em;
  color: var(--sub);
  border: 1px solid var(--line);
  border-radius: 2px;
  padding: 2px 6px;
}

.more {
  display: block;
  margin-top: 4px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--sub);
  text-decoration: none;
}

/* ===========================================================
   記事
   =========================================================== */
.entry { padding-block: 8px 48px; }

.entry__meta {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 10px;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--sub);
}

.entry__title {
  margin: 0 0 24px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
}

.entry__body { font-size: 15px; line-height: 1.95; }

.entry__body > * + * { margin-top: 1.4em; }

.entry__body img { border-radius: 3px; }

.entry__body h2 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 2.2em;
}

.entry__body a { color: var(--ink); text-underline-offset: 3px; }

/* ===========================================================
   footer
   =========================================================== */
.site-footer {
  padding-block: 28px 48px;
  border-top: 1px solid var(--line);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--sub);
}

/* ===========================================================
   pagination
   =========================================================== */
.nav-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding-block: 24px;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--sub);
}

.nav-links a { text-decoration: none; }
.nav-links .current { color: var(--ink); }
