/* Scoped community UI and global left drawer. */

.pg-community { max-width:1100px; margin:0 auto; padding:20px 24px; color:#374151; font-size:14px; line-height:1.65; text-align:left; }
.pg-community--narrow { max-width:800px; }
.pg-community.pg-community--index { width:100%; max-width:1120px; box-sizing:border-box; container-type:inline-size; }
.pg-community__index-layout { display:grid; grid-template-columns:minmax(0, 1fr) 280px; gap:28px; align-items:start; }
.pg-community__index-list { min-width:0; }
.pg-community__index-list > .pg-community__card { margin-top:0; }
.pg-community__index-sidebar { min-width:0; padding-left:20px; border-left:1px solid #e5e7eb; }
.pg-community__index-sidebar .pg-community__tabs { flex-direction:column; gap:0; border-bottom:0; margin-bottom:12px; }
.pg-community__index-sidebar .pg-community__tab { padding:6px 10px; border-bottom:0; border-left:2px solid transparent; }
.pg-community__index-sidebar .pg-community__tab[aria-current=page] { border-left-color:#334f90; background:#edf3fc; }
.pg-community__index-tools { position:relative; display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin-bottom:16px; }
.pg-community__index-post { flex:1; }
.pg-community__index-tools .pg-community__search-menu { display:contents; }
.pg-community__index-tools .pg-community__search-toggle { flex-shrink:0; }
.pg-community__index-tools .pg-community__search-popover { order:3; flex-basis:100%; }
.pg-community__index-tools .pg-community__search-popover { position:static; margin-top:2px; width:100%; padding:12px; box-shadow:none; }
.pg-community__index-description { color:#6b7280; font-size:12px; margin:16px 0 0; }
@container(max-width:1000px) {
  .pg-community__index-layout { grid-template-columns:1fr; gap:16px; }
  .pg-community__index-sidebar { grid-row:1; padding-left:0; border-left:0; }
  .pg-community__index-sidebar .pg-community__tabs { flex-direction:row; gap:18px; border-bottom:1px solid #dbe0e8; margin-bottom:12px; }
  .pg-community__index-sidebar .pg-community__tab { padding:8px 0; border-left:0; border-bottom:2px solid transparent; }
  .pg-community__index-sidebar .pg-community__tab[aria-current=page] { border-bottom-color:#334f90; background:transparent; }
  .pg-community__index-sidebar { display:flex; flex-direction:column; }
  .pg-community__index-sidebar .pg-community__tabs { order:-1; }
  .pg-community__index-post { flex:0 0 auto; margin-right:auto; }
  .pg-community__index-sidebar .pg-community__participation { margin:0; }
  .pg-community__index-description { display:none; }
}
.pg-community.pg-community--detail { width:100%; max-width:1120px; box-sizing:border-box; container-type:inline-size; }
.pg-community__detail-layout { display:grid; grid-template-columns:minmax(0, 1fr) 280px; grid-template-areas:"conversation sidebar"; gap:0 28px; align-items:start; }
.pg-community__conversation { grid-area:conversation; }
.pg-community__sidebar-info { grid-area:info; }
.pg-community__sidebar-controls { grid-area:controls; }
.pg-community__conversation, .pg-community__issue-sidebar { min-width:0; }
.pg-community__issue-sidebar { display:block; grid-area:sidebar; }
.pg-community__sidebar-info, .pg-community__sidebar-controls { padding:14px 0 0 20px; border-left:1px solid #e5e7eb; min-width:0; }
.pg-community__sidebar-section { padding:0 0 16px; margin-bottom:16px; border-bottom:1px solid #e5e7eb; }
.pg-community__sidebar-section:last-child { border-bottom:0; }
.pg-community .pg-community__sidebar-section h2 { font-size:12px; color:#6b7280; margin:0 0 8px; }
.pg-community__sidebar-section p { margin:0; }
.pg-community__issue-sidebar .pg-community__form-grid { grid-template-columns:1fr; }
.pg-community__issue-sidebar .pg-community__field-label { align-items:flex-start; }
.pg-community__issue-sidebar .pg-community__visibility { margin-left:0; }
.pg-community__issue-sidebar .pg-community__form { padding:12px; }
.pg-community .pg-community__button--close { background:#b42318; border-color:#b42318; }
.pg-community .pg-community__button--close:hover { background:#912018; border-color:#912018; }
.pg-community__discussion--close > summary { color:#b42318; }
.pg-community__discussion--close > summary::before { border-color:#b42318; }
.pg-community__discussion:not([open]) { border:0; background:transparent; overflow:visible; }
.pg-community__discussion:not([open]) > summary { padding:6px 0; background:transparent; font-size:12px; font-weight:400; }
.pg-community .pg-community__archive button { background:transparent; border:0; padding:6px 0 6px 15px; color:#b42318; font-size:12px; font-weight:400; line-height:1.65; cursor:pointer; }
.pg-community .pg-community__archive button:hover { color:#912018; }
.pg-community__archive { margin:0; padding:0; }
.pg-community__issue-actions { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.pg-community__issue-actions > a, .pg-community__issue-actions > form button { display:block; padding:6px 0 6px 15px; font-size:12px; font-weight:400; line-height:1.65; color:#6b7280; text-decoration:none; }
.pg-community__issue-actions > a:hover { color:#334f90; }
.pg-community .pg-community__issue-actions > .pg-community__fold { margin:0; }
.pg-community .pg-community__issue-actions > .pg-community__fold:not([open]) > summary { padding:2px 0; gap:9px; }
.pg-community .pg-community__issue-actions > a, .pg-community .pg-community__issue-actions > form button, .pg-community .pg-community__issue-actions .pg-community__archive button { padding-top:2px; padding-bottom:2px; }
@media(max-width:900px) {
  .pg-community__issue-sidebar { display:contents; }
  .pg-community__detail-layout { grid-template-columns:1fr; grid-template-areas:"info" "conversation" "controls"; grid-template-rows:auto; gap:16px; }
  .pg-community__sidebar-info, .pg-community__sidebar-controls { padding:0; border-left:0; }
}
@container(max-width:1000px) {
  .pg-community__issue-sidebar { display:contents; }
  .pg-community__detail-layout { grid-template-columns:1fr; grid-template-areas:"info" "conversation" "controls"; grid-template-rows:auto; gap:16px; }
  .pg-community__sidebar-info, .pg-community__sidebar-controls { padding:0; border-left:0; }
  .pg-community__sidebar-info { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; }
  .pg-community__sidebar-info .pg-community__sidebar-section { margin:0; padding:0; border:0; }
  .pg-community__sidebar-info .pg-community__actions { margin:0; }
}
.pg-community h1 { font-size:24px; font-weight:700; margin:12px 0; color:#374151; text-align:left; }
.pg-community h2 { font-size:16px; font-weight:600; color:#374151; text-align:left; letter-spacing:normal; }
.pg-community a { color:#334f90; }
.pg-community__heading,.pg-community__actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:12px 0; }
.pg-community__heading { justify-content:space-between; }
.pg-community__heading { position:relative; }
.pg-community__heading-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.pg-community__search-toggle { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #d1d5db; border-radius:6px; color:#6b7280; background:white; list-style:none; }
.pg-community__search-toggle::-webkit-details-marker { display:none; }
.pg-community__search-toggle:hover, .pg-community__search-menu[open] > summary { color:#334f90; border-color:#334f90; }
.pg-community__search-toggle:focus-visible { outline:2px solid #334f90; outline-offset:3px; }
.pg-community__search-popover { position:absolute; right:0; top:calc(100% + 8px); width:340px; max-width:100%; z-index:20; padding:16px; background:white; border:1px solid #e5e7eb; border-radius:8px; box-shadow:0 8px 24px rgba(15,23,42,.12); }
.pg-community__search-popover .pg-community__filters { padding:0; }
.pg-community__search-popover .pg-community__filter-field { width:100%; min-width:0; }
.pg-community__search-popover .pg-community__filter-row { gap:10px; }
.pg-community__search-popover .pg-community__filter-row > .pg-community__button { margin-left:auto; }
@media(max-width:700px) { .pg-community__search-toggle { width:40px; height:40px; } }
.pg-community__actions--end { justify-content:flex-end; }
.pg-community__button { display:inline-flex; align-items:center; justify-content:center; padding:5px 12px; min-height:32px; line-height:20px; text-decoration:none; border:1px solid #334f90; border-radius:8px; background:#334f90; color:#fff!important; cursor:pointer; font-size:13px; font-weight:600; }
.pg-community__button--secondary { background:white; color:#334f90!important; }
.pg-community__button:disabled { opacity:.5; cursor:wait; }
.pg-community__card { padding:16px; margin:14px 0; background:white; border:1px solid #e5e7eb; border-radius:8px; }
.pg-community__notice { background:#edf3fc; border:1px solid #dbe7fb; padding:12px 16px; border-radius:8px; margin:12px 0; }
.pg-community__notice p { margin:4px 0; }
.pg-community__badge { display:inline-block; padding:2px 8px; border-radius:6px; color:#334f90; background:#e7efff; font-size:12px; }
.pg-community__badge--student { background:#e7f5ef; color:#27654e; }
.pg-community__badge--closed { background:#e5e7eb; color:#4b5563; }
.pg-community__grade { color:#6b7280; font-size:12px; }
.pg-community__filters { padding:16px 0 4px; }
.pg-community__filters label { font-size:12px; }
.pg-community input[type=text],.pg-community input[type=search],.pg-community textarea,.pg-community select { background:#fff; color:#374151; border:1px solid #d1d5db; border-radius:6px; padding:5px 9px; font-size:13px; line-height:20px; min-width:0; max-width:100%; box-sizing:border-box; }
.pg-community__card > label { display:block; font-weight:600; margin:16px 0 6px; }
.pg-community__card > input[type=text] { width:100%; }
.pg-community trix-editor { min-height:180px; border:1px solid #d1d5db; border-radius:8px; background:white; padding:14px; overflow-wrap:anywhere; }
.pg-community__editor-help { margin:8px 0 0; font-size:12px; line-height:1.5; color:#6b7280; }
.pg-community .trix-button-group--file-tools { display:flex; }
.pg-community__rich { overflow-wrap:anywhere; }
.pg-community__rich strong,.pg-community__rich b { font-weight:700; }
.pg-community__rich em,.pg-community__rich i { font-style:italic; }
.pg-community button:not(.pg-community__button):not(.trix-button):not(.pg-community__person-trigger):not(.pg-community__comment-delete):not(.pg-community__comment-action):not(.pg-community__archive-action):not(.pg-community__reaction):not(.pg-community__reaction-option):not(.pg-community__more-item) { border:1px solid #d1d5db; border-radius:6px; padding:4px 10px; background:white; color:#374151; }
.pg-community__rich figure { margin:12px 0; }
.pg-community__rich img { max-width:100%; max-height:500px; object-fit:contain; }
.pg-community__rich ul { list-style:disc; padding-left:24px; }
.pg-community__rich ol { list-style:decimal; padding-left:24px; }
.pg-community__rich blockquote { border-left:3px solid #d1d5db; padding-left:16px; }
.pg-community__rich pre { white-space:pre-wrap; background:#f3f4f6; padding:12px; }
.pg-community__replies { margin-left:30px; border-left:2px solid #e5e7eb; padding-left:16px; }
.pg-community__history { font-size:13px; color:#6b7280; }
.pg-community summary { cursor:pointer; }
@media(max-width:700px) { .pg-community { padding:14px; } .pg-community__replies { margin-left:12px; padding-left:10px; } .pg-community h1 { font-size:22px; } }

.pg-community { overflow-wrap:anywhere; }
.pg-community * { box-sizing:border-box; }
.pg-community__participation { color:#6b7280; font-size:12px; margin:8px 0 16px; }
.pg-community__participation p { margin:0; }
.pg-community__tabs { display:flex; gap:24px; border-bottom:1px solid #dbe0e8; overflow-x:auto; }
.pg-community__tab { display:block; flex-shrink:0; padding:10px 0; color:#6b7280!important; font-size:13px; font-weight:600; text-decoration:none; border-bottom:2px solid transparent; }
.pg-community__tab[aria-current=page] { color:#334f90!important; border-bottom-color:#334f90; }
.pg-community__tab:hover { color:#334f90!important; }
.pg-community__filter-row { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; }
.pg-community__filter-field { display:flex; flex-direction:column; gap:4px; min-width:140px; }
.pg-community__filter-field--search { flex:1; }
.pg-community__filter-field input, .pg-community__filter-field select { width:100%; height:32px; }
.pg-community__extra-filters { margin-top:10px; font-size:12px; color:#6b7280; }
.pg-community__extra-filters summary { width:fit-content; padding:4px 0; }
.pg-community__extra-filters .pg-community__filter-row { padding:10px 0; }
.pg-community__archive-filter { display:flex; align-items:center; gap:6px; min-height:32px; }
.pg-community a:focus-visible, .pg-community button:focus-visible { outline:2px solid #334f90; outline-offset:3px; }
@media(max-width:700px) {
  .pg-community__heading { align-items:center; gap:8px; }
  .pg-community__tabs { gap:18px; }
  .pg-community__filter-field { min-width:0; width:calc(40% - 6px); }
  .pg-community__filter-field--search { flex-basis:100%; order:-1; }
  .pg-community__filter-row { gap:8px; }
  .pg-community__filter-row > .pg-community__button { margin-left:auto; }
  .pg-community__button { min-height:36px; }
  .pg-community input[type=text], .pg-community input[type=search], .pg-community textarea, .pg-community select { font-size:16px; min-height:40px; }
}


.pg-community__heading h1 { margin:0; }
.pg-community__badge--status { background:#f1f3f7; color:#5a6478; }
.pg-community__badge--status[data-status=developing], .pg-community__badge--status[data-status=planned] { background:#e7efff; color:#334f90; }
.pg-community__badge--status[data-status=done] { background:#e7f5ef; color:#27654e; }

/* Folded action forms (discussion / report / moderation) */
.pg-community__fold { width:fit-content; max-width:100%; box-sizing:border-box; margin:14px 0; padding:0; overflow:hidden; background:white; border:1px solid #e5e7eb; border-radius:8px; }
.pg-community__fold[open] { width:100%; max-width:632px; }
.pg-community__fold > summary, .pg-community__tool > summary { display:flex; align-items:center; gap:9px; list-style:none; cursor:pointer; }
.pg-community__fold > summary { padding:13px 16px; font-size:13px; font-weight:600; }
.pg-community__fold > summary:hover { background:#f8faff; }
.pg-community__fold > summary::-webkit-details-marker, .pg-community__tool > summary::-webkit-details-marker { display:none; }
.pg-community__fold > summary::before, .pg-community__tool > summary::before { content:""; width:6px; height:6px; flex-shrink:0; border-right:1.5px solid #6b7280; border-bottom:1.5px solid #6b7280; transform:rotate(-45deg); transition:transform .15s; }
.pg-community__fold[open] > summary::before, .pg-community__tool[open] > summary::before { transform:rotate(45deg); }
.pg-community__fold[open] > summary { border-bottom:1px solid #edf0f5; }
.pg-community__fold--report > summary, .pg-community__fold--admin > summary { color:#4b5563; }
.pg-community__fold--admin { border-color:#d6def0; }
.pg-community__fold--admin > summary { background:#f6f8fc; }
.pg-community__fold--report:not([open]), .pg-community__fold--admin:not([open]) { margin:6px 0; border:0; border-radius:0; background:transparent; overflow:visible; }
.pg-community__fold--report:not([open]) > summary, .pg-community__fold--admin:not([open]) > summary { padding:4px 0; gap:7px; font-size:12px; font-weight:400; color:#6b7280; background:transparent; }
.pg-community__fold--report:not([open]) > summary:hover, .pg-community__fold--admin:not([open]) > summary:hover { color:#334f90; }
.pg-community__fold--report:not([open]) > summary::before, .pg-community__fold--admin:not([open]) > summary::before { width:5px; height:5px; }
.pg-community__fold > summary:focus-visible, .pg-community__tool > summary:focus-visible { outline:2px solid #334f90; outline-offset:2px; border-radius:6px; }
.pg-community__form { width:100%; max-width:632px; box-sizing:border-box; padding:16px; }
.pg-community__form-lead { margin:0 0 14px; font-size:13px; color:#6b7280; }
.pg-community__form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-bottom:14px; }
.pg-community__field-label { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.pg-community__field-label label { font-size:13px; font-weight:600; margin:0; }
.pg-community__required { font-size:11px; color:#6b7280; }
.pg-community__visibility { margin-left:auto; padding:1px 8px; border-radius:999px; background:#e7efff; color:#334f90; font-size:11px; font-weight:600; white-space:nowrap; }
.pg-community__visibility--private { background:#fdf3e1; color:#8a5a12; }
.pg-community__field textarea, .pg-community__field select { display:block; width:100%; }
.pg-community__field textarea { min-height:60px; resize:vertical; }
.pg-community__field select { height:32px; }
.pg-community__field-help { margin:6px 0 0; color:#6b7280; font-size:12px; }
.pg-community__form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }
.pg-community__button--danger { background:white; border-color:#b42318; color:#b42318!important; }
.pg-community__button--danger:hover { background:#fef2f2; }
.pg-community__comment-tools { display:flex; align-items:center; flex-wrap:wrap; gap:2px 16px; margin-top:8px; padding-top:4px; border-top:1px solid #f0f2f5; }
.pg-community__comment-tools .pg-community__comment-actions { display:contents; }
.pg-community__comment-action-form { display:flex; align-items:center; margin:0; }
.pg-community .pg-community__comment-tools .pg-community__comment-action { display:inline-flex; align-items:center; gap:7px; border:0; border-radius:0; margin:0; padding:2px 0; background:transparent; color:#6b7280; font:inherit; font-size:10px; line-height:1.4; text-decoration:none; cursor:pointer; }
.pg-community__comment-action::before { content:""; width:5px; height:5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); flex-shrink:0; }
.pg-community .pg-community__comment-tools .pg-community__comment-action--edit { color:#334f90; }
.pg-community .pg-community__comment-tools .pg-community__comment-delete { color:#b42318; }
.pg-community .pg-community__comment-tools .pg-community__comment-action:hover { text-decoration:underline; }
.pg-community__tool > summary { gap:7px; padding:2px 0; width:fit-content; font-size:12px; line-height:1.4; color:#6b7280; }
.pg-community__comment-tools .pg-community__tool > summary { font-size:10px; }
.pg-community__tool > summary:hover { color:#334f90; }
.pg-community__tool > summary::before { width:5px; height:5px; }
.pg-community__tool[open] { flex-basis:100%; }
.pg-community__tool[open] > summary { color:#374151; font-weight:600; }
.pg-community__form--inset { margin:6px 0 8px; padding:14px; background:#f8fafc; border:1px solid #edf0f5; border-radius:8px; }
.pg-community__history-section { margin-top:28px; }
.pg-community__timeline-event { position:relative; display:flex; align-items:flex-start; gap:10px; margin:0 0 18px 16px; padding:8px 0; color:#6b7280; font-size:12px; line-height:1.65; }
.pg-community__timeline-event::before { content:""; position:absolute; left:11px; top:-18px; bottom:-10px; width:1px; background:#dbe0e8; }
.pg-community__timeline-event-marker { position:relative; flex-shrink:0; display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:#e5e9f1; color:#9ca3af; font-size:8px; }
.pg-community__timeline-event p { margin:2px 0 0; }
.pg-community__timeline-event-content { min-width:0; overflow-wrap:anywhere; }
.pg-community__timeline-comment { margin-left:16px; }
.pg-community__timeline-event strong { font-weight:500; color:#4b5563; }
.pg-community__timeline-event-time { color:#9ca3af; white-space:nowrap; }
.pg-community__history { list-style:none; margin:10px 0 0; padding:0; font-size:13px; color:#4b5563; }
.pg-community__history li, .pg-community__reports li { position:relative; display:flex; flex-direction:column; gap:2px; padding:0 0 12px 18px; }
.pg-community__history li::before { content:""; position:absolute; left:3px; top:7px; width:7px; height:7px; border-radius:50%; background:#c7d2e6; }
.pg-community__history li:not(:last-child)::after { content:""; position:absolute; left:6px; top:17px; bottom:2px; width:1px; background:#e5e7eb; }
.pg-community__history-meta { font-size:12px; color:#9ca3af; }
.pg-community__history-message { overflow-wrap:anywhere; }
.pg-community__history-empty { color:#9ca3af; font-size:13px; margin:8px 0; }
.pg-community__reports { padding:14px 16px 4px; border-top:1px solid #edf0f5; }
.pg-community__reports h3 { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:13px; font-weight:600; color:#374151; text-align:left; }
.pg-community__reports h3 .pg-community__visibility { margin-left:0; }
.pg-community__reports ul { list-style:none; margin:0; padding:0; font-size:13px; }
.pg-community__reports li { padding-left:0; border-bottom:1px solid #f0f2f5; padding-top:8px; padding-bottom:8px; }
.pg-community__reports li:last-child { border-bottom:0; }
@media(max-width:700px) {
  .pg-community__form { padding:14px; }
  .pg-community__form--inset { padding:12px; }
  .pg-community__form-grid { grid-template-columns:1fr; }
  .pg-community__field select { height:auto; }
}

/* GitHub Issue風の一覧（継続中/Closedタブ・状態アイコン・右側タグ） */
.pg-community__issue-box { background:white; border:1px solid #dbe0e8; border-radius:8px; overflow:hidden; }
.pg-community__issue-box-header { display:flex; align-items:center; gap:12px; padding:0 16px; min-height:48px; background:#f6f8fc; border-bottom:1px solid #dbe0e8; }
.pg-community__state-tabs { display:flex; align-items:center; gap:18px; }
.pg-community__state-tab { display:inline-flex; align-items:center; gap:6px; padding:12px 0; font-size:13px; font-weight:600; color:#6b7280!important; text-decoration:none; white-space:nowrap; }
.pg-community__state-tab:hover { color:#334f90!important; }
.pg-community__state-tab[aria-current=page] { color:#1f2937!important; }
.pg-community__state-tab .pg-community__state-icon { color:inherit; }
.pg-community__state-tab[aria-current=page] .pg-community__state-icon--open { color:#334f90; }
.pg-community__count-pill { min-width:20px; padding:0 7px; border-radius:999px; background:#e5e9f1; color:#4b5563; font-size:12px; font-weight:600; line-height:18px; text-align:center; }
.pg-community__state-tab[aria-current=page] .pg-community__count-pill { background:#dbe5f7; color:#334f90; }
.pg-community__state-icon { display:inline-flex; flex-shrink:0; }
.pg-community__state-icon--open { color:#334f90; }
.pg-community__state-icon--closed { color:#7c6fb0; }
.pg-community__list-row { display:grid; grid-template-columns:16px minmax(0,1fr) auto auto; grid-template-areas:"icon main thumb meta"; column-gap:10px; align-items:start; padding:10px 16px; border-bottom:1px solid #edf0f5; }
.pg-community__list-row:last-child { border-bottom:0; }
.pg-community__list-row:hover { background:#fafbfd; }
.pg-community__list-row > .pg-community__state-icon { grid-area:icon; margin-top:3px; }
.pg-community__list-main { grid-area:main; min-width:0; }
.pg-community .pg-community__list-main h2 { margin:0; font-size:15px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.pg-community__list-main h2 a { color:#1f2937; text-decoration:none; }
.pg-community__list-main h2 a:hover { color:#334f90; text-decoration:underline; }
.pg-community__list-byline { margin:2px 0 0; font-size:12px; color:#6b7280; }
.pg-community__list-byline strong { font-weight:500; }
.pg-community__list-meta { grid-area:meta; display:flex; flex-direction:column; align-items:flex-end; gap:6px; max-width:260px; font-size:12px; color:#6b7280; }
.pg-community__list-tags { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.pg-community__list-tags:empty { display:none; }
.pg-community__list-tags .pg-community__badge { padding:0 8px; line-height:20px; border-radius:999px; }
.pg-community__list-counts { display:flex; gap:12px; }
.pg-community__list-count { display:inline-flex; align-items:center; gap:4px; color:#6b7280; }
.pg-community__list-count.is-empty { color:#b6bcc6; }
.pg-community__thumbnail { grid-area:thumb; display:block; width:72px; height:54px; border:1px solid #e5e7eb; border-radius:6px; overflow:hidden; background:#f8fafc; }
.pg-community__thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.pg-community__issue-box-empty { margin:0; padding:32px 16px; text-align:center; color:#6b7280; font-size:13px; }
.pg-community__visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@container(max-width:640px) {
  .pg-community__list-row { grid-template-columns:16px auto minmax(0,1fr); grid-template-areas:"icon main main" ". thumb meta"; row-gap:6px; padding:10px 12px; }
  .pg-community__list-meta { flex-direction:column; align-items:flex-end; gap:6px; max-width:none; }
  .pg-community__list-tags { justify-content:flex-end; }
  .pg-community__issue-box-header { padding:0 12px; }
}

/* 投稿者アイコンとプロフィールカード（GitHubのホバーカード風） */
.pg-community__avatar { position:relative; display:inline-flex; flex-shrink:0; width:var(--avatar-size, 20px); height:var(--avatar-size, 20px); border-radius:50%; overflow:hidden; background:#334f90; box-shadow:0 0 0 1px rgba(15,23,42,.08); vertical-align:middle; }
.pg-community__avatar-initial { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#fff; font-size:calc(var(--avatar-size, 20px) * .5); font-weight:700; line-height:1; }
.pg-community__avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#fff; }
.pg-community__avatar--retired { background:#c7ccd6; }
.pg-community__person { position:relative; display:inline-flex; align-items:center; vertical-align:middle; }
.pg-community .pg-community__person-trigger { display:inline-flex; align-items:center; gap:6px; margin:0; padding:0; border:0; border-radius:999px; background:transparent; color:inherit; font:inherit; line-height:inherit; cursor:pointer; }
.pg-community__person-trigger strong { font-weight:600; color:#1f2937; }
.pg-community__person-trigger:hover strong { color:#334f90; text-decoration:underline; }
.pg-community .pg-community__person-trigger:focus-visible { outline:2px solid #334f90; outline-offset:2px; }
.pg-community__person-card { position:absolute; top:calc(100% + 6px); left:0; z-index:1030; display:flex; flex-direction:column; gap:8px; align-items:flex-start; width:max-content; min-width:220px; max-width:min(300px, calc(100vw - 24px)); padding:16px; background:#fff; border:1px solid #dbe0e8; border-radius:10px; box-shadow:0 8px 24px rgba(15,23,42,.14); color:#374151; font-size:12px; font-weight:400; line-height:1.5; text-align:left; white-space:normal; visibility:hidden; opacity:0; transform:translateY(-2px); transition:opacity .12s, transform .12s, visibility 0s linear .12s; pointer-events:none; }
.pg-community__person-card::before { content:""; position:absolute; left:0; right:0; top:-8px; height:8px; }
.pg-community__person.is-open > .pg-community__person-card,
.pg-community__person:not(.is-dismissed) > .pg-community__person-trigger:focus-visible + .pg-community__person-card { visibility:visible; opacity:1; transform:none; transition-delay:0s; pointer-events:auto; }
@media (hover:hover) {
  .pg-community__person:not(.is-dismissed):hover > .pg-community__person-card { visibility:visible; opacity:1; transform:none; transition:opacity .12s .25s, transform .12s .25s, visibility 0s linear .25s; pointer-events:auto; }
}
.pg-community__person-card-name { font-size:15px; font-weight:700; color:#1f2937; overflow-wrap:anywhere; }
.pg-community__person-card-rows { display:flex; flex-direction:column; gap:4px; }
.pg-community__person-card-row { display:flex; align-items:center; gap:8px; color:#6b7280; font-size:13px; }
.pg-community__person-card-row svg { flex-shrink:0; color:#9ca3af; }
.pg-community__byline { display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; margin:0 0 8px; font-size:13px; color:#6b7280; }
.pg-community__timeline-event p .pg-community__person-trigger strong { font-weight:600; }
.pg-community .pg-community__participants h2 { display:flex; align-items:center; gap:6px; }
.pg-community__participants-count { padding:0 6px; border-radius:999px; background:#e5e9f1; color:#4b5563; font-size:11px; line-height:16px; }
.pg-community__participant-list { display:flex; flex-wrap:wrap; gap:6px; }

.pg-community__timeline-comment > .pg-community__card { padding-bottom:8px; }

.pg-community .pg-community__issue-actions .pg-community__archive-action { display:flex; align-items:center; gap:9px; padding:2px 0; border:0; border-radius:0; margin:0; background:transparent; color:#b42318; font:inherit; font-size:12px; line-height:1.65; cursor:pointer; }
.pg-community__archive-action::before { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); flex-shrink:0; }
.pg-community .pg-community__issue-actions .pg-community__archive-action:hover { color:#912018; }

/* リアクション（みんなのコメントと同じ「主ボタン＋付いている絵文字＋追加」の並び） */
.pg-community__reactions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; }
.pg-community__reaction-form { display:inline-flex; margin:0; }
.pg-community .pg-community__reaction { display:inline-flex; align-items:center; gap:5px; height:28px; padding:0 10px; border:1px solid #dbe0e8; border-radius:999px; background:#fff; color:#4b5563; font-size:12px; font-weight:600; line-height:1; text-decoration:none; cursor:pointer; transition:background .12s, border-color .12s; }
.pg-community .pg-community__reaction:hover { background:#f3f6fb; border-color:#c5cee0; }
.pg-community .pg-community__reaction.is-selected { background:#e7efff; border-color:#9fb4dd; color:#334f90; }
.pg-community .pg-community__reaction.is-static { cursor:default; }
.pg-community .pg-community__reaction.is-static:hover { background:#fff; border-color:#dbe0e8; }
.pg-community .pg-community__reaction:focus-visible { outline:2px solid #334f90; outline-offset:2px; }
.pg-community__reaction--same svg { color:#334f90; }
.pg-community__reaction.is-zero:not(.is-selected) .pg-community__reaction-count { color:#9ca3af; }
.pg-community__reaction-emoji { font-size:14px; line-height:1; }
.pg-community__reaction-count { font-variant-numeric:tabular-nums; }
.pg-community__reaction-picker { position:relative; }
.pg-community__reaction-picker > summary { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid transparent; border-radius:999px; color:#6b7280; list-style:none; cursor:pointer; }
.pg-community__reaction-picker > summary::-webkit-details-marker { display:none; }
.pg-community__reaction-picker > summary:hover, .pg-community__reaction-picker[open] > summary { background:#f3f6fb; border-color:#dbe0e8; color:#334f90; }
.pg-community__reaction-picker > summary:focus-visible { outline:2px solid #334f90; outline-offset:2px; }
.pg-community__reaction-menu { position:absolute; left:0; bottom:calc(100% + 6px); z-index:30; display:flex; gap:2px; padding:4px; background:#fff; border:1px solid #dbe0e8; border-radius:10px; box-shadow:0 8px 24px rgba(15,23,42,.14); }
.pg-community .pg-community__reaction-option { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:0; border-radius:8px; background:transparent; font-size:18px; line-height:1; cursor:pointer; }
.pg-community .pg-community__reaction-option:hover { background:#f3f6fb; }
.pg-community .pg-community__reaction-option.is-selected { background:#e7efff; }
.pg-community .pg-community__reaction-option:focus-visible { outline:2px solid #334f90; outline-offset:-2px; }
@media(max-width:700px) {
  .pg-community .pg-community__reaction { height:32px; padding:0 11px; }
  .pg-community__reaction-picker > summary { width:32px; height:32px; }
  .pg-community .pg-community__reaction-option { width:40px; height:40px; }
}
/* リアクション用の小さなツールチップ（サイト共通のjQuery UI tooltipは差し替え時に残るためtitleは使わない） */
.pg-community [data-community-tip] { position:relative; }
.pg-community [data-community-tip]::after { content:attr(data-community-tip); position:absolute; left:0; bottom:calc(100% + 6px); z-index:40; width:max-content; max-width:240px; padding:4px 8px; border-radius:6px; background:#1f2937; color:#fff; font-size:11px; font-weight:500; line-height:1.4; white-space:normal; text-align:left; pointer-events:none; opacity:0; visibility:hidden; transition:opacity .1s; }
.pg-community [data-community-tip]:focus-visible::after { opacity:1; visibility:visible; }
@media (hover:hover) { .pg-community [data-community-tip]:hover::after { opacity:1; visibility:visible; transition-delay:.3s; } }
.pg-community__reaction-picker[open] > summary::after { display:none; }
.pg-community__reaction-menu [data-community-tip]::after { bottom:auto; top:calc(100% + 6px); }
/* 入力中の引用も投稿後と同じ灰色の帯で見せる */
.pg-community trix-editor blockquote { margin:4px 0; padding-left:12px; border-left:3px solid #d1d5db; color:#4b5563; }

/* 一覧右ペイン：説明文の下の理念ページ（/about）へのリンク */
.pg-community__index-links { list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:4px; }
.pg-community__index-about { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; text-decoration:none; }
.pg-community__index-about i { font-size:10px; color:#9ca3af; }
.pg-community__index-about:hover { text-decoration:underline; }

/* 管理人の操作：投稿者の操作と同じ小さな灰色リンクの並び。開いたときだけフォームを出す */
.pg-community__admin-actions { align-self:stretch; display:flex; flex-direction:column; align-items:flex-start; margin-top:10px; padding-top:10px; border-top:1px solid #e5e7eb; }
.pg-community__admin-label { display:flex; align-items:center; gap:6px; margin:0 0 2px; font-size:11px; font-weight:600; color:#9ca3af; }
.pg-community__admin-label .pg-community__visibility { margin-left:0; }
.pg-community .pg-community__admin-actions > .pg-community__fold { margin:0; }
.pg-community .pg-community__admin-actions > .pg-community__fold:not([open]) > summary { padding:2px 0; gap:9px; }
.pg-community .pg-community__admin-actions > .pg-community__fold[open] { width:100%; margin:6px 0; }
.pg-community__admin-current { margin-left:2px; padding:0 6px; border-radius:999px; background:#f1f3f7; color:#5a6478; font-size:11px; line-height:18px; }
.pg-community__admin-count { margin-left:2px; font-size:11px; color:#9ca3af; }
.pg-community__admin-count.is-alert { padding:0 6px; border-radius:999px; background:#fde8e6; color:#b42318; font-weight:600; line-height:18px; }
.pg-community__fold--danger:not([open]) > summary, .pg-community__fold--danger > summary { color:#b42318; }
.pg-community__fold--danger > summary::before { border-color:#b42318; }
.pg-community__form .pg-community__field + .pg-community__field { margin-top:14px; }

/* 右ペインで開いたメニュー（議論の終了・報告・管理人の操作）はコンパクトに */
.pg-community__fold > summary:focus-visible { outline-offset:-2px; }
.pg-community__issue-sidebar .pg-community__fold[open] { border-radius:6px; }
.pg-community__issue-sidebar .pg-community__fold[open] > summary { padding:7px 10px; gap:7px; font-size:12px; }
.pg-community__issue-sidebar .pg-community__fold[open] > summary::before { width:5px; height:5px; }
.pg-community__issue-sidebar .pg-community__form { padding:10px; }
.pg-community__issue-sidebar .pg-community__form-lead { margin:0 0 8px; font-size:12px; line-height:1.55; }
.pg-community__issue-sidebar .pg-community__field-label { margin-bottom:4px; gap:4px; }
.pg-community__issue-sidebar .pg-community__field-label label { font-size:12px; }
.pg-community__issue-sidebar .pg-community__form .pg-community__field + .pg-community__field { margin-top:10px; }
.pg-community__issue-sidebar .pg-community__field textarea { min-height:48px; padding:4px 8px; font-size:12px; }
.pg-community__issue-sidebar .pg-community__field select { height:28px; padding:2px 8px; font-size:12px; }
.pg-community__issue-sidebar .pg-community__field-help { margin-top:4px; font-size:11px; line-height:1.5; }
.pg-community__issue-sidebar .pg-community__form-actions { margin-top:8px; }
.pg-community__issue-sidebar .pg-community__form-actions .pg-community__button { min-height:26px; padding:2px 10px; border-radius:6px; font-size:12px; line-height:20px; }
.pg-community__issue-sidebar .pg-community__reports { padding:8px 10px 2px; }
.pg-community__issue-sidebar .pg-community__reports li { padding-top:6px; padding-bottom:6px; font-size:12px; }
.pg-community__issue-sidebar .pg-community__history-empty { margin:4px 0 6px; font-size:12px; }
/* スマホは指で押しやすい高さと、ズームしない16pxの入力文字を保つ */
@media(max-width:700px) {
  .pg-community__issue-sidebar .pg-community__field textarea, .pg-community__issue-sidebar .pg-community__field select { font-size:16px; min-height:40px; height:auto; }
  .pg-community__issue-sidebar .pg-community__form-actions .pg-community__button { min-height:32px; padding:4px 12px; }
}

/* 投稿フォーム：誰の課題か（2列）・サイト版/アプリ版（任意） */
.pg-community__choice-group { margin:0 0 14px; padding:0; border:0; min-width:0; }
.pg-community__choice-group legend { display:flex; align-items:center; gap:6px; margin-bottom:6px; padding:0; font-size:13px; font-weight:600; color:#374151; }
.pg-community__choices { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
.pg-community__audience { display:flex; align-items:flex-start; gap:8px; margin:0; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; background:#fff; cursor:pointer; transition:border-color .12s, background .12s; }
.pg-community__audience:hover { border-color:#9fb4dd; }
.pg-community__audience:has(input:checked) { border-color:#334f90; background:#f5f8ff; }
.pg-community__audience input, .pg-community__platform input { flex-shrink:0; margin:3px 0 0; accent-color:#334f90; }
.pg-community__choice-text { display:flex; flex-direction:column; min-width:0; }
.pg-community__choice-text strong { font-size:13px; line-height:1.4; }
.pg-community__choice-text span { font-size:11px; line-height:1.45; color:#6b7280; }
.pg-community__choices--compact { display:flex; flex-wrap:wrap; gap:8px; }
.pg-community__platform { display:inline-flex; align-items:center; gap:6px; margin:0; padding:4px 12px; border:1px solid #d1d5db; border-radius:999px; background:#fff; font-size:13px; cursor:pointer; }
.pg-community__platform input { margin:0; }
.pg-community__platform:has(input:checked) { border-color:#334f90; background:#f5f8ff; color:#334f90; font-weight:600; }
.pg-community__choice-help { margin:6px 0 0; font-size:11px; color:#6b7280; }
.pg-community__badge--platform { background:#fff; color:#4b5563; box-shadow:inset 0 0 0 1px #d1d5db; }
.pg-community__card > .pg-community__choice-group { margin-top:16px; }
.pg-community__card > label:first-of-type { margin-top:0; }
/* 投稿フォーム下部の注意書きは、名前・学年も含めて小さい灰色に統一 */
.pg-community__form-identity { margin-top:2px; }
.pg-community__form-identity strong, .pg-community__form-identity .pg-community__grade { color:inherit; font-size:inherit; font-weight:inherit; }
.pg-community__form-identity .pg-community__badge { font-size:11px; padding:0 6px; }
/* 「アーカイブから戻す」は他の操作と同じ小さな灰色リンク（削除系ではないので赤にしない） */
.pg-community .pg-community__issue-actions .pg-community__restore-action { color:#6b7280; }
.pg-community .pg-community__issue-actions .pg-community__restore-action:hover { color:#334f90; }
/* 1列表示では説明文と一緒にリンクも隠す（基本の display:flex より後ろに置く） */
@container(max-width:1000px) { .pg-community__index-links { display:none; } }
/* エラー画面（サイトのレイアウト内） */
.pg-community__error { margin-top:24px; padding:20px; border-left:3px solid #b42318; }
.pg-community .pg-community__error h1 { margin:0 0 8px; font-size:17px; }
.pg-community__error p { margin:0; color:#4b5563; }
.pg-community__error-actions { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:14px; font-size:13px; }

/* ===== 2026-10-12 点検後の仕上げ ===== */
/* 戻るリンク（全画面で同じ見た目） */
.pg-community__back { display:inline-flex; align-items:center; gap:4px; font-size:13px; text-decoration:none; }
.pg-community__back:hover { text-decoration:underline; }
.pg-community__form-cancel { display:inline-flex; align-items:center; font-size:13px; text-decoration:none; }

/* 詳細：タイトル＋番号、その下に状態ラベル（Closed/アーカイブ/非表示） */
.pg-community .pg-community__issue-title { margin-bottom:6px; overflow-wrap:anywhere; }
.pg-community__issue-number { font-weight:400; color:#9ca3af; }
.pg-community__issue-state { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.pg-community__issue-state .pg-community__badge { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; font-size:12px; font-weight:600; }

/* ラベルの色の意味を分ける：分類＝青/ピンク、状態＝紫灰/灰、管理人の対応＝点付き */
.pg-community__badge--student { background:#fdecf3; color:#a3245e; }
.pg-community__badge--state-closed { background:#efedf7; color:#5b5480; }
.pg-community__badge--status { display:inline-flex; align-items:center; gap:5px; background:#f1f3f7; color:#4b5563; }
.pg-community__badge--status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }
.pg-community__badge--status[data-status=considering] { background:#f1f3f7; color:#4b5563; }
.pg-community__badge--status[data-status=planned] { background:#e3f4f4; color:#1d6b6b; }
.pg-community__badge--status[data-status=developing] { background:#fdf3e1; color:#8a5a12; }
.pg-community__badge--status[data-status=done] { background:#e7f5ef; color:#27654e; }
.pg-community__badge--status[data-status=declined] { background:#f1f3f7; color:#6b7280; }

/* 一覧：タグを1行に収める（幅を広げる） */
.pg-community__list-meta { max-width:380px; }
.pg-community__list-count--report { font-weight:600; color:#b42318; }
.pg-community__list-count--report.is-empty { font-weight:400; color:#b6bcc6; }
.pg-community__index-list > .pagination, .pg-community__index-list > nav { display:flex; justify-content:center; width:fit-content; margin:16px auto 0; }

/* 未ログイン・未確認時の案内（小さい灰色で1行） */
.pg-community__comment-cta, .pg-community__participation p { margin:12px 0 0; font-size:12px; color:#6b7280; }
.pg-community__comment-cta a, .pg-community__participation a { margin:0 2px; }

/* 右ペイン「編集」も他の操作と同じ小さな灰色＋「>」 */
.pg-community .pg-community__issue-actions > a.pg-community__issue-action { display:flex; align-items:center; gap:9px; padding:2px 0; color:#6b7280; font-size:12px; }
.pg-community__issue-actions > a.pg-community__issue-action::before { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); flex-shrink:0; }
.pg-community .pg-community__issue-actions > a.pg-community__issue-action:hover { color:#334f90; }

/* 本文・コメント右上の「…」メニューと報告フォーム */
.pg-community__conversation .pg-community__card { position:relative; }
.pg-community__card:has(> .pg-community__more-menu) > .pg-community__byline { padding-right:36px; }
.pg-community__more-menu { position:absolute; top:10px; right:10px; z-index:5; }
.pg-community__more-menu > summary { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:6px; color:#9ca3af; list-style:none; cursor:pointer; }
.pg-community__more-menu > summary::-webkit-details-marker { display:none; }
.pg-community__more-menu > summary:hover, .pg-community__more-menu[open] > summary { background:#f3f6fb; color:#4b5563; }
.pg-community__more-menu > summary:focus-visible { outline:2px solid #334f90; outline-offset:-2px; }
.pg-community__more-menu[open] > summary::after { display:none; }
.pg-community__more-list { position:absolute; top:calc(100% + 4px); right:0; min-width:140px; padding:4px; background:#fff; border:1px solid #dbe0e8; border-radius:8px; box-shadow:0 8px 24px rgba(15,23,42,.14); }
.pg-community .pg-community__more-item { display:flex; align-items:center; gap:8px; width:100%; padding:6px 10px; border:0; border-radius:6px; background:transparent; color:#374151; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.pg-community .pg-community__more-item:hover, .pg-community .pg-community__more-item:focus-visible { background:#f3f6fb; outline:none; }
.pg-community__more-item svg { color:#9ca3af; }
.pg-community__report-panel { margin-top:12px; }
.pg-community__report-panel .pg-community__form { max-width:none; }

/* スマホ：本文入力の道具バーを折り返す（右端で切れないように） */
@media(max-width:700px) {
  .pg-community trix-toolbar .trix-button-row { flex-wrap:wrap; row-gap:4px; overflow:visible; }
  .pg-community trix-toolbar .trix-button-group { margin-bottom:0; }
  .pg-community trix-toolbar .trix-button-group-spacer { display:none; }
}
/* 灰色系の対応状況は、灰色の背景の上でも見えるよう白地＋細い枠に */
.pg-community__badge--status[data-status=considering], .pg-community__badge--status[data-status=declined] { background:#fff; box-shadow:inset 0 0 0 1px #dbe0e8; }

/* 2026-10-14 分類の色：先生の課題＝緑、生徒の課題＝青（ユーザー指定）。
   対応状況は白地＋色の点にして、塗りつぶしの分類ラベルと形で区別する */
.pg-community__badge--teacher { background:#e6f4ea; color:#1e6b3a; }
.pg-community__badge--student { background:#e7efff; color:#334f90; }
.pg-community__badge--status, .pg-community__badge--status[data-status] { background:#fff; color:#4b5563; box-shadow:inset 0 0 0 1px #dbe0e8; }
.pg-community__badge--status::before { background:#9ca3af; }
.pg-community__badge--status[data-status=planned]::before { background:#1d8a8a; }
.pg-community__badge--status[data-status=developing]::before { background:#d08a12; }
.pg-community__badge--status[data-status=done]::before { background:#2f8f55; }
.pg-community__badge--status[data-status=declined] { color:#6b7280; }
/* 一覧右ペインの説明文（2段落） */
.pg-community__index-description p { margin:0; }
.pg-community__index-description p + p { margin-top:8px; }
/* 課題の種類（3つ）：PCは3列、狭い幅では自動で折り返す */
.pg-community__choices--kinds { grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); }
.pg-community__badge--feature { background:#fdf0e6; color:#9a4a12; }
