/* 心情書房 · 原創書頁與安靜的生活索引。功能與範圍始終可讀。 */
.community-gallery .mood-illustration {margin:20px 0;}
.community-gallery .mood-illustration img {display:block;max-width:100%;max-height:520px;width:auto;height:auto;margin:auto;object-fit:contain;}
.community-gallery :is(.mood-image-editor,.mood-share-preview,.mood-compose__preview) {padding:22px;background:var(--journey-surface);border:1px solid var(--journey-line);margin:24px 0;}
.community-gallery .mood-image-editor summary {min-height:44px;cursor:pointer;font-size:16px;}
.community-gallery .mood-share-preview textarea {min-height:240px;}
.community-gallery .mood-settings-actions form {max-width:620px;}
.community-gallery .mood-compose__preview [name=Acknowledge] {margin-right:8px;}
.community-gallery :is(.mood-compose__preview,.mood-share-preview) button {margin-top:16px;}
.community-gallery .mood-writing textarea[name=Body] {min-height:260px;resize:vertical;}
.community-gallery .mood-more summary,.community-gallery .mood-tag-filter summary {cursor:pointer;min-height:44px;padding:8px 12px;}
.community-gallery .mood-filter--index {align-items:end;}
.community-gallery .mood-search-field {flex:1;min-width:min(220px,100%);}
.community-gallery .mood-filter--index .mood-tag-filter {max-width:240px;}
@media(max-width:700px) {
 .community-gallery .mood-filter--index {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;}
 .community-gallery .mood-search-field {grid-column:1/-1;}
 .community-gallery .mood-subnav {gap:2px;margin-block:10px 14px;}
 .community-gallery .mood-subnav a {padding-inline:8px;}
 .community-gallery .mood-writing textarea[name=Body] {min-height:220px;}
}
body.community-gallery :is(.mood-shell,.community-personal-hub,.community-message-hub) {
  width:min(1080px,100%); margin-inline:auto; color:var(--journey-ink);
  --mood-accent:var(--journey-plum); --mood-paper:var(--journey-surface);
  --mood-edge:var(--journey-line); --mood-soft:var(--journey-soft);
}
body.community-gallery .mood-heading {margin:0 0 22px;}
body.community-gallery .mood-heading h1 {font:600 clamp(26px,3vw,36px)/1.5 "Noto Serif TC","PMingLiU",serif; margin:0 0 8px;}
body.community-gallery .mood-heading p {margin:0 0 12px; color:var(--journey-muted); max-width:40em;}
body.community-gallery :is(.mood-subnav,.mood-tabs,.hub-tabs) {display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 20px; padding-bottom:10px; border-bottom:1px solid var(--mood-edge);}
body.community-gallery :is(.mood-subnav,.mood-tabs,.hub-tabs) :is(a,button) {padding:8px 12px; min-height:44px; display:inline-flex; align-items:center; border:0; border-radius:3px; color:var(--journey-ink); background:transparent; font-size:15px;}
body.community-gallery :is(.mood-subnav,.mood-tabs,.hub-tabs) [aria-current="page"] {color:var(--mood-accent); background:var(--mood-soft); border-bottom:2px solid var(--mood-accent);}
body.community-gallery :is(.mood-filter,.mood-search,.hub-filter) {display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin:0 0 20px;}
body.community-gallery :is(.mood-shell,.community-personal-hub,.community-message-hub) label {font-size:15px; color:var(--journey-ink); line-height:1.7; display:block; margin-bottom:12px;}
body.community-gallery :is(.mood-shell,.community-personal-hub,.community-message-hub) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) {background:var(--mood-paper); color:var(--journey-ink); border:1px solid var(--mood-edge); border-radius:4px; padding:10px 12px; font:400 16px/1.7 "Microsoft JhengHei UI","Microsoft JhengHei","PingFang TC",sans-serif; min-height:46px; width:100%; max-width:100%; min-width:0; margin-top:6px;}
body.community-gallery .mood-filter :is(input,select),body.community-gallery .mood-search input {min-width:180px;}
body.community-gallery :is(.mood-filter,.mood-search) label {margin-bottom:0; flex:1;}
body.community-gallery :is(.mood-shell,.community-personal-hub,.community-message-hub) :is(button,.mood-button,.hub-button) {min-height:44px; font-size:16px; line-height:1.5; padding:10px 16px; border-radius:4px; border:1px solid var(--mood-edge); background:var(--mood-paper); color:var(--journey-ink);}
body.community-gallery :is(.mood-primary,.mood-button--primary,.hub-primary-action) {background:var(--mood-accent)!important; border-color:var(--mood-accent)!important; color:var(--journey-on-action)!important;}
body.community-gallery .mood-list {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 28px; margin:0; padding:0; list-style:none;}
body.community-gallery .mood-entry {background:var(--mood-paper); border:0; border-top:3px solid var(--mood-edge); padding:22px 24px; min-width:0; position:relative; box-shadow:none;}
body.community-gallery .mood-entry:nth-child(3n+2) {border-top-color:var(--journey-plum);}
body.community-gallery .mood-entry:nth-child(3n+3) {border-top-color:var(--journey-green);}
body.community-gallery .mood-entry__title {font:600 24px/1.55 "Noto Serif TC","PMingLiU",serif; margin:8px 0 14px;}
body.community-gallery .mood-entry__title a {color:var(--journey-ink); text-decoration:none;}
body.community-gallery .mood-entry__title a:hover {text-decoration:underline; text-underline-offset:.22em;}
body.community-gallery .mood-entry__body {font-size:17px; line-height:1.9; color:var(--journey-ink); white-space:pre-wrap; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;}
body.community-gallery .mood-entry__meta {font-size:14px; color:var(--journey-muted); display:flex; flex-wrap:wrap; gap:6px 12px; margin:12px 0 0;}
body.community-gallery .mood-entry img {width:100%; max-height:260px; object-fit:cover; border-radius:3px; margin-top:12px;}
body.community-gallery .mood-cover {margin:18px 0;}
body.community-gallery .mood-cover img {display:block; width:100%; height:auto; max-height:360px; object-fit:contain; background:var(--mood-soft);}
body.community-gallery .mood-cover figcaption {font-size:13px; color:var(--journey-muted); padding-top:6px;}
body.community-gallery :is(.mood-empty,.mood-notice,.hub-empty) {border:1px solid var(--mood-edge); background:var(--mood-paper); padding:24px; margin:18px 0;}
body.community-gallery :is(.mood-empty,.hub-empty) h2 {font:600 23px/1.6 "Noto Serif TC","PMingLiU",serif; margin:0 0 12px;}
body.community-gallery :is(.mood-empty,.mood-notice,.hub-empty) p {margin:6px 0 16px;}
body.community-gallery .mood-compose {display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; align-items:start;}
body.community-gallery .mood-compose>form {grid-column:1/-1;}
body.community-gallery .mood-compose>form:has(.mood-writing) {display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; align-items:start;}
body.community-gallery .mood-writing {padding:24px 28px; border-left:3px solid var(--mood-edge); background:var(--mood-paper); min-width:0;}
body.community-gallery .mood-writing label {margin-bottom:20px;}
body.community-gallery .mood-writing input[name="Title"] {font-family:"Noto Serif TC","PMingLiU",serif; font-size:26px; padding-inline:0; border:0; border-bottom:1px solid var(--mood-edge); border-radius:0; font-weight:600;}
body.community-gallery .mood-writing textarea {border:0; border-radius:0; min-height:330px; resize:vertical; padding:12px 0; font-size:18px; line-height:1.9;}
body.community-gallery .mood-writing :is(.mood-help,.mood-counter,.mood-hint) {font-size:14px; color:var(--journey-muted); margin:8px 0;}
body.community-gallery .mood-options {min-width:0; padding:0; background:transparent;}
body.community-gallery .mood-options :is(h2,h3) {font:600 22px/1.55 "Noto Serif TC","PMingLiU",serif; margin:0 0 18px;}
body.community-gallery .mood-options fieldset {border:0; padding:0 0 16px; margin:0 0 16px; border-bottom:1px solid var(--mood-edge); min-width:0;}
body.community-gallery .mood-options legend {font-size:16px; font-weight:600; margin-bottom:8px;}
body.community-gallery .mood-options label:has(input[type="checkbox"]),body.community-gallery .mood-options label:has(input[type="radio"]) {display:flex; align-items:flex-start; gap:10px; padding-block:8px; min-height:44px;}
body.community-gallery .mood-options :is(input[type="checkbox"],input[type="radio"]) {width:20px; height:20px; margin-top:4px; flex:none;}
body.community-gallery :is(.mood-actions,.mood-reactions,.mood-entry-actions,.hub-actions) {display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:16px 0;}
body.community-gallery .mood-compose .mood-actions {grid-column:1/-1; border-top:1px solid var(--mood-edge); padding-top:16px;}
body.community-gallery :is(.mood-save-status,.mood-privacy-note) {font-size:14px; line-height:1.75; color:var(--journey-muted); margin:8px 0;}
body.community-gallery [data-mood-status="failed"] {color:var(--gallery-danger);}
body.community-gallery :is(.mood-reading,.mood-preview) {max-width:760px; margin:0 auto 28px; padding:28px 32px; background:var(--mood-paper); border:0; border-left:3px solid var(--mood-edge);}
body.community-gallery .mood-prose {font-size:18px; line-height:1.95; white-space:pre-wrap; overflow-wrap:anywhere;}
body.community-gallery .mood-prose :is(p,blockquote) {margin-block:0 1.4em;}
body.community-gallery .mood-prose img {max-width:100%; height:auto; margin-block:18px;}
body.community-gallery .mood-expectation {font-size:15px; padding:12px 16px; margin:20px 0; background:var(--mood-soft); border-left:3px solid var(--mood-accent);}
body.community-gallery .mood-replies {max-width:760px; margin:28px auto; list-style:none; padding:0;}
body.community-gallery .mood-reply {padding:20px 0; border-top:1px solid var(--mood-edge); background:transparent;}
body.community-gallery .mood-reply-form {max-width:760px; margin:24px auto; padding:22px; background:var(--mood-paper); border:1px solid var(--mood-edge);}
body.community-gallery .mood-reply-form textarea {min-height:140px; resize:vertical;}
body.community-gallery .mood-timeline {list-style:none; padding:0; margin:16px 0;}
body.community-gallery .mood-timeline>li {padding:18px 20px; border-left:2px solid var(--mood-edge); margin:0 0 16px; background:var(--mood-paper);}
body.community-gallery .mood-timeline time {font-size:14px; color:var(--journey-muted);}
body.community-gallery .mood-settings {max-width:760px;}
body.community-gallery .mood-settings fieldset {border:1px solid var(--mood-edge); padding:20px; margin-bottom:24px; min-width:0; background:var(--mood-paper);}
body.community-gallery .mood-settings legend {font-size:20px; padding-inline:8px;}
body.community-gallery .mood-danger {border-color:var(--gallery-danger);}
body.community-gallery .mood-danger button {color:var(--gallery-danger);}
body.community-gallery :is(.mood-pagination,.hub-pagination) {display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:center; margin:24px 0;}
body.community-gallery :is(.mood-pagination,.hub-pagination) a {min-height:44px; padding:10px 14px;}
body.community-gallery .hub-primary {background:var(--mood-paper); border-left:3px solid var(--mood-accent); padding:22px 24px; margin:20px 0;}
body.community-gallery .hub-primary {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px;}
body.community-gallery .hub-primary>article {min-width:0; padding-bottom:18px; border-bottom:1px solid var(--mood-edge);}
body.community-gallery .hub-primary>article:first-child {grid-column:1/-1;}
body.community-gallery .hub-primary h2 {font:600 25px/1.5 "Noto Serif TC","PMingLiU",serif; margin:0 0 12px;}
body.community-gallery .hub-links {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0;}
body.community-gallery ul.hub-links {list-style:none; padding:0;}
body.community-gallery ul.hub-links>li {min-width:0;}
body.community-gallery .hub-primary .hub-links {grid-template-columns:minmax(0,1fr); gap:10px;}
body.community-gallery .hub-primary .hub-links a {color:var(--journey-green);}
body.community-gallery .hub-links>a,.hub-link {padding:18px; background:var(--mood-paper); border-top:2px solid var(--mood-edge); color:var(--journey-ink); display:block; min-width:0;}
body.community-gallery .hub-links :is(h2,h3,strong) {font-size:19px; display:block; margin:0 0 8px;}
body.community-gallery .hub-links p {font-size:14px; color:var(--journey-muted); margin:0;}
body.community-gallery .hub-message-list {padding:0; margin:16px 0; list-style:none;}
body.community-gallery .hub-message {border-bottom:1px solid var(--mood-edge); background:var(--mood-paper); padding:18px 20px;}
body.community-gallery .hub-message>a {color:var(--journey-ink); display:block;}
body.community-gallery .hub-message[data-unread="true"] {border-left:3px solid var(--mood-accent);}
body.community-gallery .hub-message.is-unread {border-left:3px solid var(--mood-accent);}
body.community-gallery .hub-message h3 {font-size:21px; line-height:1.6; margin:6px 0 8px;}
body.community-gallery .hub-message form {display:inline-flex; margin:8px 12px 0 0;}
body.community-gallery .hub-message :is(time,.hub-message-meta) {font-size:14px; color:var(--journey-muted);}
body.community-gallery .mood-admin-table {border-collapse:collapse; width:100%; font-size:15px;}
body.community-gallery .mood-admin-table :is(th,td) {text-align:left; padding:12px; border-bottom:1px solid var(--mood-edge); overflow-wrap:anywhere; vertical-align:top;}
body.community-gallery .mood-admin-form {max-width:800px; padding:24px; border:1px solid var(--mood-edge); background:var(--mood-paper);}
@media (max-width:850px) {
  body.community-gallery .mood-compose,body.community-gallery .mood-compose>form:has(.mood-writing) {display:block;}
  body.community-gallery .mood-options {margin-top:24px;}
  body.community-gallery .hub-links {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:600px) {
  body.community-gallery .mood-list {grid-template-columns:minmax(0,1fr); gap:16px;}
  body.community-gallery .mood-entry {padding:18px;}
  body.community-gallery .mood-entry__title {font-size:23px;}
  body.community-gallery .mood-writing {padding:18px;}
  body.community-gallery .mood-writing textarea {font-size:17px; min-height:270px;}
  body.community-gallery .mood-writing input[name="Title"] {font-size:23px;}
  body.community-gallery :is(.mood-reading,.mood-preview) {padding:20px 18px;}
  body.community-gallery .mood-prose {font-size:17px;}
  body.community-gallery .mood-actions>button {flex:1 1 auto;}
  body.community-gallery .mood-options :is(h2,h3) {font-size:21px;}
  body.community-gallery .mood-filter :is(input,select),body.community-gallery .mood-search input {min-width:0;}
  body.community-gallery .mood-admin-table {display:block; overflow-x:auto;}
  body.community-gallery .mood-admin-form {padding:18px;}
  body.community-gallery .hub-links {gap:10px;}
  body.community-gallery .hub-links>a,.hub-link {padding:14px;}
  body.community-gallery .hub-primary {display:block; padding:18px;}
  body.community-gallery .hub-primary>article {margin-bottom:20px;}
}
