/* AI×インスタマーケの教科書 会員サイト（2026-10-13 りこさん依頼）
   クレアカ（サイバーネイビー・青い背景・ゴシック）と、ひと目で別のサイトと分かるようにする。
   教科書のバナーに合わせて「生成りの白 × 深いネイビー × 明朝の見出し」。差し色は控えめな真鍮色（線・小見出し・印だけ）。
   style.css と coach.css の色の変数を上書きするだけ。レイアウトはクレアカと同じ（worker.mjs が教科書の版のときだけ読み込む） */
:root {
  --navy-deep: #0E1A33;   /* いちばん濃いネイビー（見出し・本文） */
  --navy: #1B2A4A;        /* バナーのネイビー（ボタン・強調） */
  --royal: #3A4C74;       /* 少し明るいネイビー（リンク・サブの強調） */
  --navy-soft: #2E4068;   /* リンクの色 */
  --cyber: #B39A6B;       /* 差し色：真鍮（線・印。上の文字は濃いネイビー） */
  --cyber-deep: #7A6540;  /* 真鍮の濃いめ（白い文字を載せる用） */
  --cyber-pale: #E5DBC6;  /* 真鍮の淡い色（線） */
  --cyber-mist: #FAF6EE;  /* ごく淡い生成り（ホバー・地） */
  --bg: #F6F3EE;          /* 背景：生成り */
  --blue-pale: #D9D4C9;   /* 線 */
  --blue-mist: #F1EEE7;   /* 地 */
  --ink: #141A2B;
  --sub: #4D5465;
  --mute: #585E6B;
  --field-line: #8C909B;
  --focus: #3A4C74;
  --line: #E4DED3;
  --warn: #7A6540;
  --ok: #1B2A4A;
  --shadow: rgba(14, 26, 51, .05);
  --shadow-up: rgba(14, 26, 51, .12);
  --serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* 場所ごとの色（coach.css の .c-○○ を上書き）。ネイビーの濃淡＋真鍮＋くすんだ青灰で、落ち着いたトーンにそろえる */
.ed-textbook .c-navy  { --ac: #1B2A4A; --ac-deep: #0E1A33; --ac-tint: #EEF0F4; --ac-line: #CDD3DE; }
.ed-textbook .c-royal { --ac: #3A4C74; --ac-deep: #1B2A4A; --ac-tint: #EFF1F6; --ac-line: #CBD2E0; }
.ed-textbook .c-cyber { --ac: #7A6540; --ac-deep: #57482D; --ac-tint: #F7F2E8; --ac-line: #E2D6BF; }
.ed-textbook .c-ink   { --ac: #0E1A33; --ac-deep: #0E1A33; --ac-tint: #F1EEE7; --ac-line: #D6CDBB; }
.ed-textbook .c-sky   { --ac: #8F9DB9; --ac-on: #0E1A33; --ac-deep: #3A4C74; --ac-tint: #F2F4F8; --ac-line: #CFD6E3; }

.ed-textbook { background: var(--bg); }

/* 見出しは明朝（バナーと同じ雰囲気）。本文・ボタン・入力欄はゴシックのまま読みやすく */
.ed-textbook h1, .ed-textbook h2, .ed-textbook .hero-lead, .ed-textbook .room-hero h1,
.ed-textbook .course-card h2, .ed-textbook .home-tool h2, .ed-textbook .chapter h2, .ed-textbook .lesson h1,
.ed-textbook .course-head h1, .ed-textbook .auth-card h1, .ed-textbook .thread-hero h1 {
  font-family: var(--serif);
  font-weight: 700;
  letter-spacing: .02em;
}

/* 文字のロゴ（画像ロゴの代わり） */
.tb-mark { display: inline-flex; flex-direction: column; line-height: 1.15; color: var(--navy-deep); text-decoration: none; }
.tb-mark-sub { font-family: var(--serif); font-size: 10.5px; letter-spacing: .32em; text-transform: uppercase; color: var(--cyber-deep); font-weight: 600; }
.tb-mark-main { font-family: var(--serif); font-size: 17px; font-weight: 700; letter-spacing: .04em; padding-top: 3px; border-top: 1px solid var(--cyber); margin-top: 3px; white-space: nowrap; }
.brand .tb-mark, .side-brand .tb-mark { vertical-align: middle; }
.side-brand .tb-mark-main { font-size: 16px; }
.tb-mark.hero-logo, .tb-mark.auth-logo { width: auto; max-width: none; align-items: center; }
.tb-mark.hero-logo .tb-mark-main { font-size: 30px; }
.tb-mark.hero-logo .tb-mark-sub { font-size: 12px; }
.tb-mark.auth-logo { margin-bottom: 16px; }
.tb-mark.auth-logo .tb-mark-main { font-size: 22px; }

/* 上のメニュー・左メニュー：白ではなく生成りの紙の上に、細い真鍮の線 */
.ed-textbook .topnav { background: #FBF9F5; border-bottom: 1px solid var(--line); }
.ed-textbook .sidenav { background: #FBF9F5; border-right: 1px solid var(--line); }
.ed-textbook .sidenav .nav-sec { color: var(--cyber-deep); letter-spacing: .14em; }
.ed-textbook .sidenav .nav-link[aria-current="page"] { background: var(--navy); color: #fff; }
.ed-textbook .sidenav .nav-link[aria-current="page"] .nav-ico { color: #fff; }

/* ボタン：角を少し締めて、ネイビーの面で */
.ed-textbook .btn { border-radius: 8px; letter-spacing: .03em; }
.ed-textbook .btn.primary { background: var(--navy); border-color: var(--navy); color: #fff; }
.ed-textbook .btn.primary:hover { background: var(--navy-deep); border-color: var(--navy-deep); }

/* カード：白い紙に細い線。上の太い色の帯はやめ、細い真鍮の線で区切る */
.ed-textbook .course-card, .ed-textbook .home-tool, .ed-textbook .room-hero, .ed-textbook .auth-card, .ed-textbook .lesson {
  border-radius: 10px;
}
.ed-textbook .home-tool { border: 1px solid var(--line); border-top: 3px solid var(--ac); }
.ed-textbook .course-card { border: 1px solid var(--line); }
.ed-textbook .course-card-cta { background: var(--navy); color: #fff; letter-spacing: .06em; }
.ed-textbook .room-hero { background: linear-gradient(135deg, var(--ac-tint) 0%, #fff 80%); border: 1px solid var(--ac-line); }
.ed-textbook .room-kicker, .ed-textbook .home-tools-title { color: var(--cyber-deep); letter-spacing: .18em; }
.ed-textbook .progress-bar span { background: var(--navy); }
.ed-textbook .crumb a { color: var(--royal); }

/* ホームの見出し（PC）も明朝で */
@media (min-width: 1200px) {
  .ed-textbook.has-side .hero-lead { font-family: var(--serif); color: var(--navy-deep); }
}

/* 講義・セミナーの「準備中」の枠（動画が入るまで） */
.tb-soon { display: flex; flex-direction: column; gap: 4px; padding: 28px 24px; border: 1px dashed var(--cyber); border-radius: 10px; background: var(--cyber-mist); text-align: center; }
.tb-soon b { font-family: var(--serif); color: var(--navy-deep); font-size: 17px; }
.tb-soon span { color: var(--sub); font-size: 14px; }

/* ホームの大きなロゴは出さない（上のメニュー・左メニューに同じ文字ロゴがあり、スマホでははみ出すため） */
.ed-textbook .tb-mark.hero-logo { display: none; }
.ed-textbook .hero { padding-top: 18px; }

/* 講義ページ：開催日・資料リンク・AI要約（発展編） */
.tb-meta { color: var(--cyber-deep); font-size: 13px; letter-spacing: .08em; margin-bottom: 10px; }
.tb-links { list-style: none; padding: 0; margin: 14px 0; display: flex; flex-direction: column; gap: 8px; }
.tb-links a { display: block; padding: 12px 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-decoration: none; color: var(--navy); font-weight: 600; font-size: 14.5px; }
.tb-links a:hover { background: var(--cyber-mist); border-color: var(--cyber-pale); }
.tb-summary { margin: 18px 0; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.tb-summary > summary { cursor: pointer; padding: 14px 18px; font-family: var(--serif); font-weight: 700; color: var(--navy-deep); }
.tb-summary[open] > summary { border-bottom: 1px solid var(--line); }
.tb-summary > :not(summary) { margin-left: 18px; margin-right: 18px; }
.tb-summary h3 { font-family: var(--serif); font-size: 16px; color: var(--navy); margin: 16px 18px 6px; }
.tb-summary ul { padding-left: 1.2em; }
.tb-summary > :last-child { margin-bottom: 16px; }

/* 本編の動画ができるまでの仮の案内と、仮に載せた講義の見出し */
.tb-interim { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-left: 3px solid var(--cyber); background: var(--cyber-mist); border-radius: 0 8px 8px 0; margin-bottom: 22px; }
.tb-interim b { font-family: var(--serif); color: var(--navy-deep); }
.tb-interim span { color: var(--sub); font-size: 14px; line-height: 1.8; }
.tb-clip { font-family: var(--serif); font-size: 17px; color: var(--navy); margin: 22px 0 10px; padding-left: 10px; border-left: 3px solid var(--navy); }
