@charset "utf-8";
/*
 * TUTURIGACHI 2026 / 総務部
 * Copyright (C) 2026 Tuturigachi Language Solutions Corp. All Rights Reserved.
 * renga.css  連句バトン（連句会のご案内）と、4階 大会議室  2026.10.30
 */
.t-new--v2 { color: var(--v2-shu, #d9533a); }
.t-renga [hidden] { display: none !important; }
.t-renga { --rg-paper: #f6f1e6; --rg-ink: #26211d; --rg-faint: #8b827a; --rg-shu: var(--v2-shu, #d9533a); }
.rg-noscript, .rg-zipnote { font-size: 12px; color: #555; }
.rg-h { margin: 18px 0 8px; font-size: 14px; font-weight: bold; color: var(--fukagawa-teal-700, #1d5a66); letter-spacing: 0.04em; }
.rg-h3 { margin: 16px 0 6px; font-size: 13px; font-weight: bold; color: var(--fukagawa-teal-700, #1d5a66); }
.rg-form { margin-top: 6px; }
.rg-radios { display: flex; flex-wrap: wrap; gap: 4px 14px; line-height: 30px; }
.rg-radios label { white-space: nowrap; }
.rg-radios small { color: #777; margin-left: 2px; }
.rg-verse { font-size: 15px; letter-spacing: 0.04em; }
.rg-verse-en { font-size: 14px; line-height: 1.6; font-family: Georgia, 'Times New Roman', serif; }
.rg-seatline { margin: 2px 0 10px 92px; font-size: 12px; line-height: 1.7; color: #555; }

.rg-kigo-row { margin: -4px 0 10px 92px; }
.rg-kigo__lead { margin: 0 0 4px; font-size: 11px; color: #777; }
.rg-kigo { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.rg-kigo__w { display: inline-flex; flex-direction: column; align-items: center; min-width: 52px; padding: 4px 8px 3px; font: 14px/1.2 'Seal Yuji Syuku', serif;
  color: var(--rg-ink); background: var(--rg-paper); border: 1px solid #d8cfc0; border-radius: 2px; cursor: pointer; }
.rg-kigo__w small { font: 9.5px/1.2 sans-serif; color: var(--rg-faint); margin-top: 2px; }
.rg-kigo__w:hover { border-color: var(--rg-shu); }
.rg-kigo__w:focus-visible { outline: 2px solid var(--fukagawa-teal-700, #1d5a66); outline-offset: 2px; }

.rg-count { margin: -4px 0 12px 92px; padding: 7px 10px; background: #fafaf7; border: 1px solid #e3e0d8; font-size: 12px; }
.rg-count__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 4px; margin: 0; }
.rg-count__part { display: inline-flex; flex-direction: column; align-items: center; min-width: 30px; }
.rg-count__part b { font-size: 16px; color: var(--fukagawa-teal-700, #1d5a66); }
.rg-count__part small { font-size: 10px; color: #888; }
.rg-count__sep { color: #bbb; }
.rg-count__note { margin: 6px 0 0; line-height: 1.7; color: #555; }
.rg-count__note.is-ok { color: var(--fukagawa-teal-700, #1d5a66); }
.rg-count__dict { margin-left: 8px; vertical-align: middle; }

.rg-head { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 14px 0 6px; font-size: 12px; color: #555; }
.rg-head__form { font-weight: bold; color: var(--rg-ink); }
.rg-head__no { margin-left: auto; font-family: var(--font-dates, monospace); color: #999; letter-spacing: 0.04em; }
.rg-paper { contain: inline-size; width: 100%; box-sizing: border-box; max-width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; padding: 0; border: 1px solid #d8cfc0;
  background: var(--rg-paper) repeating-linear-gradient(90deg, rgba(120, 100, 70, 0.025) 0 1px, transparent 1px 7px);
  box-shadow: inset 0 0 22px rgba(120, 95, 60, 0.08); -webkit-overflow-scrolling: touch; }
.rg-kaishi { writing-mode: vertical-rl; height: 440px; width: max-content; min-width: 100%; margin-left: auto; padding: 22px 26px;
  font: 18px/1.9 'Seal Yuji Syuku', 'Hiragino Mincho ProN', 'Yu Mincho', serif; color: var(--rg-ink); box-sizing: border-box; }
.rg-kaishi p { margin: 0; }
.rg-kaishi__head { display: flex; flex-direction: column; margin-left: 18px; }
.rg-kaishi__title { font-size: 21px; letter-spacing: 0.1em; margin-left: 6px !important; }
.rg-kaishi__meta { font-size: 13px; color: #5b524b; letter-spacing: 0.06em; padding-top: 10px; }
.rg-kaishi__face { margin: 0 12px; padding-top: 4px; font-size: 11px; color: var(--rg-faint); border-right: 1px dashed #cfc5b6; padding-right: 6px; }
.rg-ku { display: flex; flex-direction: row; position: relative; margin: 0 5px !important; letter-spacing: 0.04em; }
.rg-ku__v { white-space: pre; flex: 0 1 auto; }
.rg-ku__n { flex: 0 0 auto; margin-top: auto; padding-top: 12px; font-size: 13px; color: #5b524b; white-space: nowrap; }
.rg-ku__mark { position: absolute; top: -18px; right: 50%; transform: translateX(50%); writing-mode: horizontal-tb; font: 10px/1 sans-serif; white-space: nowrap; color: var(--rg-faint); }
.rg-ku.is-uchikoshi { opacity: 0.34; }
.rg-ku.is-uchikoshi .rg-ku__mark { opacity: 1; }
.rg-ku.is-maeku { color: #111; }
.rg-ku.is-maeku::after { content: ""; position: absolute; top: 0; bottom: 0; right: -4px; border-right: 2px solid var(--rg-shu); opacity: 0.55; }
.rg-ku.is-candidate { color: var(--rg-shu); }
.rg-ku.is-candidate::after { content: ""; position: absolute; top: -6px; bottom: -6px; left: -3px; right: -3px; border: 1px dashed var(--rg-shu); }
.rg-ku.is-empty { min-width: 1.2em; color: var(--rg-faint); font-size: 13px; }
.rg-ku.is-empty .rg-ku__v { padding-top: 40px; }
.rg-kaishi--en { writing-mode: horizontal-tb; height: auto; width: auto; padding: 20px 24px; font: 15px/1.6 Georgia, 'Times New Roman', serif; }
.rg-kaishi--en .rg-kaishi__head { margin: 0 0 14px; }
.rg-kaishi--en .rg-kaishi__meta { padding-top: 2px; }
.rg-kaishi--en .rg-ku { display: block; margin: 0 0 12px !important; }
.rg-kaishi--en .rg-ku__line { display: block; }
.rg-kaishi--en .rg-ku__line.is-in { padding-left: 1.4em; }
.rg-kaishi--en .rg-ku__n { display: block; padding: 0; text-align: right; font-size: 12px; }
.rg-kaishi--en .rg-ku__mark { position: static; transform: none; display: block; margin-top: 2px; }
.rg-kaishi--en .rg-ku.is-maeku::after { top: 0; bottom: 0; left: -10px; right: auto; border: 0; border-left: 2px solid var(--rg-shu); }
.rg-kaishi--en .rg-kaishi__face { display: none; }

.rg-seatnotes { margin: 0 0 8px; padding: 0 0 0 1.4em; font-size: 12px; line-height: 1.8; color: #444; }
.rg-leadnote { margin: 0 0 8px; font-size: 12px; color: var(--fukagawa-teal-700, #1d5a66); }

.rg-out { margin: 16px 0; padding: 12px 14px; background: oklch(0.99 0.02 100); border: 1px dashed oklch(0.7 0 0); }
.rg-out__lead { margin: 0 0 8px; font-size: 12.5px; line-height: 1.8; }
.rg-out__url { width: 100%; box-sizing: border-box; font: 11px/1.4 var(--font-dates, monospace); }
.rg-out__buttons { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 6px; }
.rg-status { margin: 10px 0; padding: 6px 10px; font-size: 12.5px; color: #8a2c1a; background: #fdf3ef; border: 1px solid #efc9bd; }

.rg-cand__list { margin: 0; padding: 0; list-style: none; }
.rg-cand__item { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 10px 12px; margin: 0 0 8px; background: var(--rg-paper); border: 1px solid #d8cfc0; }
.rg-cand__v { margin: 0; font: 17px/1.6 'Seal Yuji Syuku', serif; flex: 1 1 14em; }
.rg-cand__n { margin: 0; font-size: 12px; color: #5b524b; }
.rg-cand__note, .rg-cand__label { font-size: 12px; color: #555; }
.rg-cand__in, .rg-tree__in { width: 100%; box-sizing: border-box; font: 11px/1.4 var(--font-dates, monospace); }

.rg-done__grid { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 16px; align-items: start; }
.rg-canvas { width: 100%; height: auto; background: var(--rg-paper); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18); }
.rg-done__paper { margin: 8px 0; font-size: 12px; }
.rg-renju { margin: 0; padding: 0; list-style: none; font: 15px/1.9 'Seal Yuji Syuku', serif; }
.rg-renju span { color: #777; font-size: 13px; }
.rg-carry { margin: 12px 0 0; font-size: 12px; line-height: 1.6; }
.rg-carry small { display: block; color: #888; }

.rg-tree { margin: 18px 0 0; font-size: 12px; }
.rg-tree summary { cursor: pointer; color: var(--fukagawa-teal-700, #1d5a66); }
.rg-tree__how { line-height: 1.8; color: #555; }
.rg-tree__lead { font-weight: bold; }
.rg-tree__trunk { padding-left: 2em; font: 14px/1.8 'Seal Yuji Syuku', serif; }
.rg-tree__branches { display: flex; flex-wrap: wrap; gap: 10px; }
.rg-tree__b { flex: 1 1 14em; padding: 6px 10px; background: var(--rg-paper); border: 1px solid #d8cfc0; }
.rg-tree__bh { margin: 0 0 4px; font-family: var(--font-dates, monospace); font-size: 11px; color: #888; }
.rg-tree__branch { padding-left: 2em; margin: 0; font: 14px/1.8 'Seal Yuji Syuku', serif; }

.rg-annai__p { margin: 0 0 10px; font-size: 13px; line-height: 2; }
.rg-doctrine { margin: 18px 0; padding: 14px 18px; font: 17px/1.9 'Seal Yuji Syuku', 'Hiragino Mincho ProN', serif; letter-spacing: 0.06em;
  text-align: center; color: var(--rg-ink, #26211d); background: #f6f1e6; border-top: 1px solid #d8cfc0; border-bottom: 1px solid #d8cfc0; }
.rg-counter { margin: 18px 0 12px; padding: 12px 14px; text-align: center; background: #202020; color: #e9e4d6; border: 3px double #6d6d6d; }
.rg-counter__label { margin: 0 0 4px; font-size: 11px; letter-spacing: 0.2em; color: #bdb6a6; }
.rg-counter__num { margin: 0; font: 13px/1.4 var(--font-dates, monospace); }
.rg-counter__num b { font: bold 26px/1.2 'DotGothic16', var(--font-dates, monospace); color: #f3c86b; letter-spacing: 0.12em; }
.rg-counter__wait { margin: 4px 0; font-size: 12px; line-height: 1.8; }
.rg-counter__goal { margin: 8px 0 0; font-size: 12px; color: #f3c86b; letter-spacing: 0.08em; }

/* 4F 大会議室 (/renga/) */
.rg-room { margin: 16px 0; }
.rg-room__scan { margin: 0 0 14px; }
.rg-room__scan img { display: block; width: 100%; height: auto; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); }
.rg-room__scan figcaption { margin-top: 6px; font-size: 11.5px; color: #777; line-height: 1.7; }
.rg-room__turn { margin-top: 4px; }
.rg-room__turn button { font-size: 11px; }
.rg-room__wall { display: block; max-width: 100%; min-width: 0; }
.rg-room__pinned { margin-top: 14px; }
.rg-room__pinned .rg-paper { background-color: #fbfaf5; }
.rg-room__pinnote { font-size: 12px; color: #555; line-height: 1.8; }
.rg-room__call { margin: 14px 0; padding: 12px 14px; background: oklch(0.99 0.02 100); border: 1px dashed oklch(0.7 0 0); font-size: 12.5px; line-height: 1.8; }
.rg-room__call b { color: var(--rg-shu, #d9533a); }
.rg-room__seats { margin: 10px 0; padding: 0; list-style: none; font-size: 12px; }
.rg-room__seats li { display: grid; grid-template-columns: 6em 7em minmax(0, 1fr); gap: 6px; padding: 5px 0; border-bottom: 1px dotted #ccc; }
.rg-room__seats .is-wait { color: #999; }

@media (max-width: 640px) {
  .rg-seatline, .rg-kigo-row, .rg-count { margin-left: 0; }
  .rg-kaishi { height: 400px; font-size: 15px; padding: 18px 14px; }
  .rg-kaishi__title { font-size: 18px; }
  .rg-done__grid { grid-template-columns: minmax(0, 1fr); }
  .rg-doctrine { font-size: 15px; padding: 12px; }
  .rg-room__seats li { grid-template-columns: 6em minmax(0, 1fr); }
  .rg-room__seats li > :nth-child(2) { grid-column: 2; }
  .rg-room__seats li > :nth-child(3) { grid-column: 1 / -1; }
}

.rg-room, .t-renga { min-width: 0; max-width: 100%; }
