/* 诗社（一期）。只用 svoic-theme.css 的主题令牌；诗社主题色通过覆盖 --primary 等变量生效。 */
.pghdr .hdr-r { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.pghdr .hdr-r .logo { margin-left: 0; }
.pghdr #svoicAuth > button { padding: 5px 10px; font-size: 12.5px; }
.she { padding-top: 14px; }
.she h1 { font-size: 24px; margin-bottom: 8px; }
.she .row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.she .row.between { justify-content: space-between; }
.she .grow { flex: 1; min-width: 0; }
.she .card { padding: 14px 16px; margin: 0 0 12px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.she .card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.16), 0 0 14px var(--glow); }
.she .card.link { cursor: pointer; }
.she .btn { padding: 8px 18px; font-size: 14px; }
.she .btn.sm { padding: 5px 12px; font-size: 13px; }
.she .btn.ghost { background: var(--card-bg); color: var(--primary); border: 1px solid var(--card-border);
  box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.she .btn.warn { background: linear-gradient(180deg, #b44b3b, #8f2e22); color: #fff; }
.she .btn.block { width: 100%; }
.she label.f { display: block; font-size: 13px; color: var(--text-2); margin: 12px 0 5px; font-weight: 700; }
.she label.f small { font-weight: 400; color: var(--text-3); margin-left: 6px; }
.she .input { padding: 10px 12px; font-size: 15px; }
.she textarea.input { min-height: 90px; resize: vertical; line-height: 1.7; }
.she textarea.poem { font-family: var(--font-hanzi); font-size: 18px; min-height: 130px; }
.she select.input { appearance: auto; }
.she .hint { font-size: 12.5px; color: var(--text-3); margin: 5px 0 0; line-height: 1.6; }
.she .err { color: #b3261e; font-size: 13px; margin: 8px 0 0; }
.she .ok { color: #2e7d32; }
.she .tag { display: inline-block; font-size: 11.5px; padding: 1px 8px; border-radius: 999px; line-height: 1.7;
  border: 1px solid var(--card-border); color: var(--text-2); background: var(--surface); white-space: nowrap; }
.she .tag.p { color: var(--btn-text); background: var(--primary); border-color: var(--primary); }
.she .tag.g { color: #2e7d32; border-color: rgba(46,125,50,.45); }
.she .tag.r { color: #b3261e; border-color: rgba(179,38,30,.45); }
.she .tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.she .sec-t { font-family: var(--font-hanzi); font-size: 17px; letter-spacing: 2px; color: var(--text-1);
  margin: 22px 0 10px; padding-left: 10px; border-left: 3px solid var(--primary); font-weight: 700; }
.she .empty { text-align: center; color: var(--text-3); font-size: 13.5px; padding: 16px 0; }
.she .pre { white-space: pre-wrap; }

/* 印章（社徽占位）与社徽 */
.seal { width: 48px; height: 48px; flex: none; border-radius: 8px; overflow: hidden; display: block; }
.seal.lg { width: 84px; height: 84px; border-radius: 12px; }
.seal img, .seal svg { width: 100%; height: 100%; display: block; object-fit: cover; }

/* 诗社首页顶部 */
.she .ghead { display: flex; gap: 14px; align-items: center; margin: 4px 0 10px; }
.she .ghead h1 { margin: 0 0 4px; }
.she .tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--divider); margin: 12px 0 14px; overflow-x: auto; }
.she .tabs a { padding: 8px 12px; font-size: 14.5px; color: var(--text-2); border: 0; border-bottom: 2px solid transparent;
  white-space: nowrap; cursor: pointer; }
.she .tabs a.on { color: var(--primary); border-bottom-color: var(--primary); font-weight: 700; }
.she .badge-n { display: inline-block; min-width: 16px; padding: 0 5px; border-radius: 999px; font-size: 11px; line-height: 16px;
  background: #b3261e; color: #fff; text-align: center; margin-left: 3px; }

/* 步骤条 */
.she .steps { display: flex; gap: 6px; margin: 4px 0 14px; }
.she .steps span { flex: 1; text-align: center; font-size: 12px; padding: 6px 2px; border-radius: 8px; color: var(--text-3);
  background: var(--surface); border: 1px solid var(--card-border); }
.she .steps span.on { color: var(--btn-text); background: var(--primary); border-color: var(--primary); font-weight: 700; }
.she .steps span.done { color: var(--primary); }

/* 主题色 */
.she .swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }
.she .sw { width: 34px; height: 34px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; padding: 0;
  box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.she .sw.on { border-color: var(--text-1); transform: scale(1.08); }
.she .trio { display: flex; gap: 6px; margin: 8px 0; }
.she .trio div { flex: 1; height: 28px; border-radius: 6px; font-size: 11px; display: flex; align-items: center; justify-content: center; }
.she .themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin: 6px 0; }
.she .themes button { font: inherit; font-size: 13px; padding: 8px 6px; border-radius: 10px; cursor: pointer;
  background: var(--surface); color: var(--text-2); border: 1px solid var(--card-border); display: flex; gap: 6px; align-items: center; }
.she .themes button.on { border-color: var(--primary); color: var(--primary); font-weight: 700; }

/* 选择列表（智能体／大模型／评委） */
.she .pick { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--card-border);
  border-radius: 10px; margin: 6px 0; background: var(--surface); cursor: pointer; font-size: 14px; }
.she .pick input { accent-color: var(--primary); width: 18px; height: 18px; margin: 0; }
.she .pick small { color: var(--text-3); margin-left: auto; }

/* 邀请码 */
.she .code { font-family: ui-monospace, Menlo, monospace; font-size: 26px; letter-spacing: 5px; color: var(--primary);
  text-align: center; padding: 10px; border: 1.5px dashed var(--primary); border-radius: 12px; margin: 8px 0; background: var(--surface); }

/* 社员 */
.she .mem { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--divider); font-size: 14.5px; }
.she .mem:last-child { border-bottom: 0; }
.she .ava { width: 32px; height: 32px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center;
  background: var(--primary); color: var(--btn-text); font-family: var(--font-hanzi); font-size: 15px; }
.she .ava.bot { background: var(--accent); }

/* 讨论 */
.she .chat { max-height: 55vh; overflow-y: auto; padding: 4px 2px; }
.she .msg { margin: 8px 0; display: flex; flex-direction: column; align-items: flex-start; }
.she .msg.me { align-items: flex-end; }
.she .msg .who { font-size: 11.5px; color: var(--text-3); margin: 0 4px 2px; }
.she .msg .bub { max-width: 82%; padding: 8px 12px; border-radius: 14px; background: var(--surface); border: 1px solid var(--card-border);
  font-size: 14.5px; line-height: 1.6; white-space: pre-wrap; word-break: break-word; color: var(--text-1); }
.she .msg.me .bub { background: var(--primary); color: var(--btn-text); border-color: var(--primary); }
.she .composer { display: flex; gap: 8px; margin-top: 10px; }
.she .composer textarea { min-height: 42px; height: 42px; }

/* 田字格（格律结果） */
.she .poem { margin: 8px 0; }
.she .pline { display: flex; margin: 0 0 4px; }
.she .cell { width: 30px; height: 30px; box-sizing: border-box; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-hanzi); font-size: 19px; color: var(--text-1); border: 1px solid var(--grid-border);
  background:
    repeating-linear-gradient(90deg, transparent 0 3px, var(--grid-line) 3px 6px) center / 100% 1px no-repeat,
    repeating-linear-gradient(0deg, transparent 0 3px, var(--grid-line) 3px 6px) center / 1px 100% no-repeat,
    linear-gradient(180deg, var(--grid-bg-hi), var(--grid-bg-lo)); }
.she .cell:not(:first-child) { border-left: 0; }
.she .cell.bad { background: rgba(179,38,30,.22); color: #b3261e; font-weight: 700; }
.she .cell.yun { color: var(--accent); font-weight: 700; }
.she .ci-text { font-family: var(--font-hanzi); font-size: 18px; line-height: 1.9; color: var(--text-1); white-space: pre-wrap; }
.she .ci-text .bad { color: #b3261e; background: rgba(179,38,30,.15); border-radius: 3px; font-weight: 700; }
.she .verdict { font-size: 13px; margin: 6px 0 0; line-height: 1.7; }
.she .verdict li { margin: 2px 0; }

/* 评分 */
.she .dim { display: grid; grid-template-columns: 5.5em 1fr 2.6em; gap: 8px; align-items: center; margin: 7px 0; font-size: 13.5px; }
.she .dim input[type=range] { width: 100%; accent-color: var(--primary); }
.she .dim b { text-align: right; color: var(--primary); }
.she .total { font-size: 15px; margin: 8px 0; }
.she .total b { font-size: 22px; color: var(--primary); }

/* 社刊 */
.she .mast { text-align: center; padding: 12px 0 6px; }
.she .mast .seal { margin: 0 auto 8px; }
.she .mast h1 { margin: 4px 0; letter-spacing: 6px; }
.she .mast .issue { font-family: var(--font-hanzi); color: var(--primary); letter-spacing: 4px; font-size: 16px; }
.she .rank { font-family: var(--font-hanzi); font-size: 20px; color: var(--primary); font-weight: 700; min-width: 2.2em; }
.she .score { font-size: 20px; font-weight: 800; color: var(--primary); }
.she .ent-h { display: flex; align-items: baseline; gap: 10px; }
.she .comments { font-size: 13px; color: var(--text-2); margin: 6px 0 0; padding-left: 0; list-style: none; }
.she .comments li { margin: 3px 0; padding-left: 10px; border-left: 2px solid var(--divider); }
.she .pager { display: flex; justify-content: center; gap: 10px; align-items: center; margin: 14px 0; font-size: 13px; }

/* 演示模式条与轻提示 */
.demobar { position: sticky; top: 50px; z-index: 9; display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
  padding: 7px 16px; font-size: 12.5px; background: #fff3cd; color: #6b4e00; border-bottom: 1px solid #e8d48a; }
.demobar select { font: inherit; font-size: 12.5px; padding: 2px 4px; }
.demobar a { color: #6b4e00; margin-left: auto; }
.toast { position: fixed; left: 50%; bottom: calc(env(safe-area-inset-bottom) + 24px); transform: translateX(-50%); z-index: 100;
  background: var(--dialog-bg); color: var(--text-1); border: 1px solid var(--card-border); border-radius: 999px;
  padding: 9px 18px; font-size: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.25); max-width: 86vw; text-align: center; }
@media (max-width: 480px) {
  .she .dim { grid-template-columns: 5em 1fr 2.4em; }
  .pghdr .pgttl { font-size: 14px; }
}
.demobar[hidden] { display: none; }
/* 作品配图(2026-09-25):左边标题、作者、配图,右边正文 */
.she .art-w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:14px;align-items:start}
.she .art-t{white-space:pre-line;font-family:var(--font-hanzi);font-size:14px;line-height:1.75;color:inherit;opacity:.85;border-left:1px solid var(--divider);padding-left:12px;max-height:260px;overflow:auto}
@media (max-width:560px){.she .art-w{grid-template-columns:1fr}.she .art-t{border-left:0;padding-left:0;border-top:1px solid var(--divider);padding-top:8px}}
/* 社刊:配图在左、正文在右(2026-09-25 用户定,省地方) */
.she .kpic{display:flex;gap:14px;align-items:flex-start;margin:10px 0 4px}
.she .kpic img{flex:1 1 0;min-width:0;width:100%;height:auto;border-radius:8px;display:block}
.she .kpic .kpt{flex:0 1 auto;min-width:0}
.she .kpic .kpt .poem{margin:0}
.she .kpic .kpt .ci-text{font-size:16px;line-height:1.75}
.she .kpic:has(.ci-text) .kpt{flex:1 1 0}
@media (max-width:460px){.she .kpic{gap:10px}.she .kpic .cell{width:23px;height:23px;font-size:15px}.she .kpic .kpt .ci-text{font-size:14.5px}}
