
:root { --paper:#fbf8ef; --ink:#173b36; --ink-soft:#526a65; --green:#2e6e61; --green-3:#edf4ed; --line:rgba(35,86,75,.14); --shadow:0 14px 38px rgba(32,61,55,.08); --radius:26px; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 5%, rgba(76,130,107,.10), transparent 27rem),radial-gradient(circle at 92% 18%, rgba(180,137,81,.08), transparent 22rem),var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;line-height:1.8} img{max-width:100%;height:auto} a{color:inherit}.sitebar{max-width:980px;margin:0 auto;padding:20px 22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.92rem}.sitebar a{text-decoration:none}.brand{font-weight:800;letter-spacing:.04em}.back{color:var(--ink-soft);border-bottom:1px solid var(--line)}.hero{max-width:980px;margin:38px auto 0;padding:0 22px;text-align:center}.kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.58);color:var(--green);font-size:.82rem;font-weight:700;letter-spacing:.06em}h1{margin:18px auto 8px;max-width:820px;font-size:clamp(2rem,6vw,4rem);line-height:1.08;letter-spacing:-.04em}.subtitle{margin:0 auto;max-width:660px;color:var(--ink-soft);font-size:clamp(1rem,2vw,1.12rem)}.meta{margin-top:16px;color:var(--ink-soft);font-size:.82rem}.decor{width:92px;height:3px;margin:26px auto 0;border-radius:4px;background:linear-gradient(90deg,transparent,var(--green),transparent)}.hero-image-wrap{max-width:860px;margin:30px auto 0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:rgba(255,255,255,.72)}.hero-image-wrap img{display:block;width:100%}.lead{max-width:780px;margin:24px auto 0;padding:22px 24px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.66);box-shadow:var(--shadow);text-align:left;color:var(--ink-soft)}.dialogue{max-width:860px;margin:54px auto 0;padding:0 22px 56px}.turn{display:grid;grid-template-columns:68px minmax(0,1fr);gap:14px;align-items:start;margin:0 0 24px}.avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(32,61,55,.07)}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.speaker{margin:0 0 5px;font-size:.76rem;font-weight:800;color:var(--ink-soft);letter-spacing:.06em}.bubble{position:relative;margin:0;padding:18px 20px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(32,61,55,.055)}.turn.ai .bubble{background:linear-gradient(135deg,#e8f2e9,#dfeee4)}.bubble p{margin:0}.bubble p+p{margin-top:.65em}.bubble::before{content:"";position:absolute;left:-8px;top:21px;width:15px;height:15px;transform:rotate(45deg);background:inherit;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.section-note{margin:42px 0 26px 82px;color:var(--green);font-weight:800;font-size:.92rem;letter-spacing:.05em}.summary,.next,.dialogue-list{max-width:860px;margin:0 auto 56px;padding:0 22px}.summary-card,.list-card{padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:#fffdf7;box-shadow:var(--shadow)}.summary h2,.dialogue-list h2{margin:0 0 18px;font-size:1.35rem}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:9px 12px;border-radius:999px;background:var(--green-3);border:1px solid var(--line);color:var(--green);font-weight:700;font-size:.86rem}.next-card,.entry-card{display:block;text-decoration:none;color:inherit}.next-card{padding:26px;border-radius:var(--radius);color:white;background:linear-gradient(135deg,#245d51,#397c6c);box-shadow:var(--shadow)}.next-card small{opacity:.76}.next-card strong{display:block;margin-top:6px;font-size:1.25rem}.list-grid{display:grid;gap:18px}.entry-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(32,61,55,.06)}.entry-thumb{overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#eef5ee}.entry-thumb img{display:block;width:100%;height:100%;object-fit:cover}.entry-meta{font-size:.76rem;font-weight:800;letter-spacing:.08em;color:var(--green)}.entry-title{margin:6px 0 6px;font-size:1.4rem;line-height:1.3;font-weight:800}.entry-subtitle{color:var(--ink-soft);margin-bottom:10px}.entry-desc{color:var(--ink-soft);font-size:.96rem}.entry-link{margin-top:12px;display:inline-block;color:var(--green);font-weight:800}footer{max-width:860px;margin:0 auto;padding:0 22px 46px;color:var(--ink-soft);font-size:.8rem;text-align:center}@media (max-width:760px){.entry-card{grid-template-columns:1fr}}@media (max-width:620px){.sitebar{padding-top:15px}.hero{margin-top:28px}.dialogue{margin-top:38px;padding-bottom:54px}.turn{grid-template-columns:48px minmax(0,1fr);gap:10px;margin-bottom:18px}.avatar{width:44px;height:44px}.bubble{padding:14px 15px;border-radius:18px;font-size:.94rem}.bubble::before{top:17px;left:-7px;width:13px;height:13px}.section-note{margin-left:58px}.summary-card,.list-card{padding:22px 18px}.entry-card{padding:14px}}


/* Text-only cover for dialogue entries that do not use generated imagery. */
.text-cover {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.88), transparent 9rem),
    linear-gradient(145deg, #eef6ed 0%, #dfeee4 48%, #fff8e9 100%);
  box-shadow: var(--shadow);
  text-align: center;
  overflow: hidden;
  position: relative;
}
.text-cover::before, .text-cover::after {
  content: "";
  position: absolute;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(46,110,97,.07);
}
.text-cover::before { left: -54px; bottom: -72px; }
.text-cover::after { right: -66px; top: -82px; }
.text-cover-inner { position: relative; z-index: 1; }
.text-cover-kicker {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--green);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .11em;
}
.text-cover-title {
  margin: 0;
  font-size: clamp(1.65rem, 5vw, 3rem);
  line-height: 1.25;
  letter-spacing: -.035em;
}
.text-cover-sub {
  margin-top: 10px;
  color: var(--ink-soft);
  font-size: .95rem;
}
.entry-text-thumb {
  min-height: 150px;
  display: grid;
  place-items: center;
  padding: 18px;
  background: linear-gradient(145deg, #e5f1e6, #fff8e9);
  text-align: center;
}
.entry-text-thumb strong {
  display: block;
  font-size: 1.16rem;
  line-height: 1.45;
  color: var(--ink);
}
.entry-text-thumb small {
  display: block;
  margin-top: 7px;
  color: var(--green);
  font-weight: 800;
  letter-spacing: .06em;
}
