/* Reader pages share the journal's existing color tokens. */
#primary-nav { gap:20px; }
.style-switch { padding:7px 11px;border:1px solid var(--line);border-radius:11px;font-size:12px;color:var(--green);white-space:nowrap;background:var(--soft); }
.community-page { max-width:1200px;margin:62px auto 90px;padding:0 28px; }
.community-page h1 { font-size:clamp(30px,4vw,48px);line-height:1.35;letter-spacing:-1px;margin:12px 0 16px; }
.community-page h1 em { font-style:normal;color:var(--green); }
.lead { color:var(--muted);font-size:17px;line-height:1.8; }
.tag-status { margin-bottom:30px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:var(--surface); }
.tag-status-heading { display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;font-size:13px; }
.tag-status-heading strong span { color:var(--muted);margin-left:7px; }
.tag-chips { display:flex;gap:8px;flex-wrap:wrap; }
.tag-chips a { padding:7px 12px;font-size:12px;border-radius:12px;background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere; }
.tag-chips small { color:var(--muted);margin-left:8px; }
.tag-chips a:nth-child(3n+2) { background:var(--panel-cyan,var(--paper)); }
.tag-chips a:nth-child(3n) { background:var(--panel-violet,var(--paper)); }
.tag-chips a[aria-current] { color:var(--green);border-color:var(--green);font-weight:700; }
.graph-panel { margin:30px 0;overflow:hidden; }
.graph-panel .section-heading { align-items:flex-start;gap:20px; }
.graph-controls { display:flex;gap:6px;flex-shrink:0; }
.graph-controls button { padding:6px 12px;font-size:13px;background:var(--paper);color:var(--ink);border:1px solid var(--line); }
.graph-caption { font-size:12px; }
.graph-viewport { overflow:hidden;border-radius:16px;background:radial-gradient(ellipse at 25% 30%,var(--panel-cyan,var(--paper)),transparent 65%),var(--paper); }
#tag-graph { width:100%;display:block;min-height:260px;touch-action:pan-y;cursor:grab; }
#tag-graph:active { cursor:grabbing; }
.graph-edge { stroke:var(--green);opacity:.15; }
.graph-node circle { fill:var(--panel-jade);stroke:var(--green);stroke-width:1.5; }
.graph-node:nth-child(3n) circle { fill:var(--panel-cyan);stroke:var(--orbit-sky,var(--green)); }
.graph-node:nth-child(3n+1) circle { fill:var(--panel-violet);stroke:var(--orbit-lilac,var(--green)); }
.graph-node text { fill:var(--ink);font-size:13px;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round; }
.graph-node .node-count { fill:var(--muted);font-size:11px;stroke:none; }
.graph-node:hover circle,.graph-node:focus circle { stroke-width:4; }
.graph-node:focus { outline:none; }
.graph-node.dim { opacity:.22; }
.graph-edge.connected { opacity:.8; }
.graph-selection { font-size:13px;color:var(--muted);margin:16px 0 0;min-height:24px;overflow-wrap:anywhere; }
.tag-directory { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.tag-directory article { padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface); }
.tag-directory article>a:first-child { display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere; }
.tag-directory strong { font-size:15px; }.tag-directory span { color:var(--muted);font-size:12px; }
.tag-directory .text-link { display:inline-block;margin-top:14px;font-size:12px; }
.tag-search { display:flex;gap:8px; }.tag-search input { min-width:0;width:180px; }
.account-page { max-width:720px; }.account-panel { margin-top:30px;padding:32px; }
.community-form { display:grid;gap:18px; }.community-form>div { display:grid;gap:8px; }
.community-form label { font-size:14px;font-weight:600; }
.community-form input:not([type=checkbox]):not([type=hidden]),.community-form textarea,.community-form select { width:100%;max-width:100%;border-radius:10px; }
.community-form button { justify-self:start; }.community-form small { color:var(--muted);font-size:12px; }
.checkbox-label { display:flex;align-items:flex-start;gap:10px;line-height:1.7; }
.checkbox-label input { margin-top:6px;flex-shrink:0;accent-color:var(--green); }
.account-notice { padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.8; }
.account-notice a { color:var(--green);text-decoration:underline;text-underline-offset:3px; }
.account-logout { margin-top:30px;padding-top:20px;border-top:1px solid var(--line); }
.verified-email { overflow-wrap:anywhere; }.suggestion-layout { display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:38px;margin:32px 0 50px; }
.suggestion-aside { padding:20px 8px;line-height:1.9; }.suggestion-aside>span { font-size:65px;color:var(--green); }
.suggestion-aside h2 { font-size:24px; }.suggestion-aside p { color:var(--muted); }
.suggestion-record { margin-bottom:20px; }.suggestion-record h2,.suggestion-record h3 { overflow-wrap:anywhere;font-size:20px; }
.suggestion-record>p,.suggestion-response p { overflow-wrap:anywhere;line-height:1.9; }
.suggestion-record small { display:block;margin-top:16px; }.suggestion-response { background:var(--paper);border-radius:12px;padding:16px;margin-top:16px; }
.errorlist { color:var(--red,#bd5656);font-size:13px;list-style:none;padding:0; }
.article-end a { border:1px solid var(--line);border-radius:8px;padding:5px 10px;background:var(--paper);font-size:12px;color:var(--green); }
@media(max-width:1100px) {
 .nav-toggle { display:inline-flex; }
 #primary-nav { display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:15px 20px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:6px; }
 #primary-nav.open { display:flex; }#primary-nav a { padding:9px 10px; }
}
@media(max-width:700px) {
 .community-page { margin-top:35px;padding:0 18px; }.tag-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .suggestion-layout { grid-template-columns:1fr;gap:10px; }.suggestion-aside { padding:0 10px; }
 .graph-panel .section-heading,.tag-directory-heading { flex-direction:column;align-items:flex-start; }
 .tags-page>.section-heading { flex-direction:column;align-items:flex-start;gap:8px; }
 #tag-graph { min-width:600px; }
 .graph-viewport { overflow-x:auto; }
 .account-panel { padding:22px; }.tag-status { padding:16px; }.tag-status-heading { flex-wrap:wrap; }
}
@media(max-width:420px) { .tag-directory { grid-template-columns:1fr; }.tag-search { width:100%; }.tag-search input { flex:1; } }
