:root {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #202b24;
  background: #fff;
  line-height: 1.55;
  --accent: #2e5947;
  --line: #e2e7e2;
  --muted: #69766d;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { display: flex; flex-direction: column; min-height: 100vh; margin: 0; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--accent); }
.wrap { width: 100%; max-width: 780px; margin: 0 auto; padding: 0 24px; }
.site-header { border-bottom: 1px solid var(--line); background: #fff; }
.header-row { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-size: 18px; font-weight: 700; letter-spacing: .01em; }
.brand-sub { margin-left: 12px; padding-left: 12px; border-left: 1px solid var(--line); color: var(--muted); font-size: 14px; font-weight: 400; }
.header-link { color: var(--muted); font-size: 13px; text-decoration: none; }
#app { flex: 1; }
.view-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.view-tabs a { display: grid; place-items: center; min-height: 50px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: #59665d; text-decoration: none; font-size: 15px; }
.view-tabs a.active { border-bottom-color: var(--accent); color: var(--accent); font-weight: 650; }
.view-tabs a:focus-visible, .chip:focus-visible, .result-item:focus-visible,
.back-link:focus-visible, .source-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.page-heading { padding: 29px 0 15px; }
.page-heading h1 { margin: 0; font-size: 26px; font-weight: 680; letter-spacing: -.01em; }
.search-box { display: flex; width: 100%; min-height: 48px; border: 1px solid #cdd5cd; background: #fff; }
.search-box:focus-within { border-color: var(--accent); outline: 2px solid #2e594722; }
.search-box input { flex: 1; min-width: 0; padding: 10px 13px; border: 0; outline: 0; background: transparent; font-size: 15px; }
.search-box button, .primary { flex: 0 0 auto; min-width: 74px; min-height: 46px; padding: 9px 17px; border: 1px solid var(--accent); background: var(--accent); color: #fff; font-weight: 600; }
.search-box button:hover, .primary:hover { background: #234936; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 26px; margin-bottom: 9px; }
.section-heading h2 { margin: 0; font-size: 17px; font-weight: 650; }
.section-heading span { color: var(--muted); font-size: 12px; }
.portal-section { margin-top: 26px; }
.portal-title { margin: 0 0 12px; font-size: 18px; font-weight: 650; }
.portal-heading { margin: 0 0 7px; }
.section-more { color: var(--accent); font-size: 13px; text-decoration: none; }
.topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.topic-card { display: flex; flex-direction: column; justify-content: space-between; gap: 17px; min-height: 96px; padding: 14px 15px; border: 1px solid var(--line); background: #f8faf8; color: inherit; text-decoration: none; }
.topic-card strong { font-size: 16px; font-weight: 650; }
.topic-card span { color: var(--accent); font-size: 12px; }
.topic-card:hover { border-color: #91aa9a; }
.portal-list { border-top: 1px solid var(--line); }
#guide-topics { margin-top: 26px; }
#guide-topics + #category-area { margin-top: 23px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border: 1px solid var(--line); color: #4a594e; font-size: 13px; text-decoration: none; }
.chip.active { border-color: var(--accent); color: var(--accent); font-weight: 650; }
.results-heading { margin-top: 29px; border-bottom: 1px solid var(--line); padding-bottom: 7px; }
.result-list { padding-bottom: 46px; }
.result-item { display: block; padding: 17px 0 18px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.result-item:hover h3 { color: var(--accent); }
.result-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 17px; }
.type-label { color: var(--accent); font-size: 12px; font-weight: 600; }
.deadline { color: #785533; font-size: 12px; }
.result-item h3 { margin: 6px 0 4px; font-size: 17px; line-height: 1.45; font-weight: 650; }
.result-summary { display: -webkit-box; margin: 0 0 8px; color: #536157; font-size: 14px; line-height: 1.6; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.result-meta { color: var(--muted); font-size: 12px; }
.advertisement { display: block; margin: 18px 0 5px; padding: 16px; border: 1px solid #d9dfda; background: #f8f9f7; color: inherit; text-decoration: none; }
.advertisement:hover h3 { color: var(--accent); }
.ad-label { display: inline-block; padding: 2px 6px; border: 1px solid #9aa79d; color: #4f5e53; font-size: 11px; line-height: 1.3; }
.advertisement h3 { margin: 9px 0 5px; font-size: 16px; line-height: 1.45; }
.ad-summary { margin: 0 0 8px; color: #536157; font-size: 13px; }
.ad-sponsor { color: var(--muted); font-size: 12px; }
.advertisement:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.empty { padding: 27px 0; color: var(--muted); font-size: 14px; }
.clear-link { display: block; width: fit-content; min-height: 40px; padding-top: 10px; text-decoration: underline; text-underline-offset: 3px; }
.detail { padding: 24px 0 48px; }
.back-link { display: flex; align-items: center; width: fit-content; min-height: 38px; margin-bottom: 21px; color: var(--accent); text-decoration: none; font-size: 14px; }
.detail h1 { margin: 7px 0 10px; font-size: 27px; line-height: 1.4; font-weight: 690; overflow-wrap: anywhere; }
.detail-byline { color: var(--muted); font-size: 13px; }
.guide-switcher { margin-top: 22px; padding: 14px; border: 1px solid var(--line); background: #f8faf8; }
.guide-switcher-title { margin-bottom: 9px; font-size: 14px; font-weight: 650; }
.guide-switcher-links { display: flex; flex-wrap: wrap; gap: 8px; }
.guide-switcher-link { display: inline-flex; align-items: center; min-height: 38px; padding: 7px 11px; border: 1px solid #cfdbd1; background: #fff; color: var(--accent); font-size: 13px; text-decoration: none; }
.guide-switcher-link.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.expiry { margin-top: 16px; padding: 10px 12px; border-left: 2px solid #aa7846; background: #fbf8f3; color: #76532f; font-size: 14px; }
.detail-summary { margin: 23px 0; color: #344339; font-size: 16px; line-height: 1.75; white-space: pre-wrap; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 23px 0; }
.action-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 9px 17px; border: 1px solid var(--accent); background: var(--accent); color: #fff; text-decoration: none; font-weight: 600; }
.detail-section { padding: 22px 0; border-top: 1px solid var(--line); }
.detail-section h2 { margin: 0 0 14px; font-size: 18px; font-weight: 650; }
.material-list { margin: 0; padding-left: 20px; color: #344339; }
.material-list li + li { margin-top: 8px; }
.detail-facts { display: grid; grid-template-columns: 95px 1fr; gap: 12px 13px; margin: 0; font-size: 14px; }
.detail-facts dt { color: var(--muted); }
.detail-facts dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.phone-link { text-decoration: underline; text-underline-offset: 3px; }
.detail-cover { display: block; width: 100%; max-height: 340px; margin: 8px 0 20px; object-fit: cover; }
.detail-body { color: #344339; font-size: 15px; line-height: 1.85; overflow-wrap: anywhere; }
.detail-body h2 { margin: 0 0 12px; }
.detail-body h3 { margin: 20px 0 8px; font-size: 16px; }
.detail-body p { margin: 0 0 15px; }
.detail-body blockquote { margin-left: 0; padding-left: 14px; border-left: 2px solid #b8c6bb; }
.detail-body a { overflow-wrap: anywhere; }
.article-body > :last-child { margin-bottom: 0; }
.source-box { margin-top: 9px; padding: 20px 0 0; border-top: 1px solid var(--line); }
.source-title { margin-bottom: 13px; font-size: 16px; font-weight: 650; }
.source-row { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font-size: 13px; }
.source-row span { color: var(--muted); white-space: nowrap; }
.source-row strong { text-align: right; font-weight: 400; overflow-wrap: anywhere; }
.source-link { display: inline-flex; align-items: center; min-height: 46px; margin-top: 12px; text-decoration: underline; text-underline-offset: 3px; }
.feedback-box { margin-top: 19px; padding-top: 14px; border-top: 1px solid var(--line); }
.feedback-toggle { min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.feedback-form { display: grid; gap: 11px; max-width: 320px; padding: 9px 0 4px; }
.feedback-form label { display: grid; gap: 5px; color: var(--muted); font-size: 13px; }
.feedback-form select,.feedback-form textarea { width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid #cdd5cd;background:#fff;color:#202b24;font-family:inherit;font-size:16px;line-height:1.6; }
.feedback-form textarea { resize:vertical; }
.feedback-form .field-error { margin:0; }
.feedback-form [aria-invalid=true] { border-color:#963d2e; }
.feedback-actions { display:flex;align-items:center;gap:20px; }
.feedback-submit { width: fit-content; min-height: 44px; padding: 8px 15px; border: 1px solid var(--accent); background: #fff; color: var(--accent); font-weight: 600; }
.feedback-submit:disabled { opacity: .6; }
.feedback-status, .feedback-done { color: var(--muted); font-size: 13px; }
.site-footer { padding: 18px 0 calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
@media (max-width: 600px) {
  .wrap { padding: 0 18px; }
  .header-row { min-height: 54px; }
  .brand { font-size: 17px; }
  .view-tabs a { min-height: 48px; font-size: 14px; }
  .topic-card { min-height: 87px; }
  .page-heading { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .search-box { margin-top: 20px; }
  .search-box input { font-size: 16px; }
  .chip { min-height: 40px; }
  .result-item { padding: 16px 0 17px; }
  .detail { padding-top: 19px; }
  .detail h1 { font-size: 23px; }
  .source-row { display: grid; grid-template-columns: 98px 1fr; }
  .source-row strong { text-align: left; }
}
.official-entry {margin:20px 0;padding:16px 0;border-bottom:1px solid #e5e7eb}
.official-entry h2 {font-size:17px;margin:0 0 12px}
.official-qr {display:block;max-width:min(240px,100%);width:auto;height:auto;margin:12px 0}
.qr-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.qr-original,.qr-retry{display:inline-flex;align-items:center;min-height:44px;font:inherit;font-size:13px;color:var(--accent)}
.qr-retry{background:none;border:0;padding:0;cursor:pointer}
.qr-retry:disabled{opacity:.6;cursor:wait}
.entry-note {font-size:13px;color:#666;line-height:1.7}
.article-body img {max-width:100%;height:auto}

/* Mobile pages use the same layout at every width; desktop keeps a readable column. */
:root{--accent:#276552;--line:#edf0ee;--muted:#7a8581;background:#f5f7f5;color:#202927;line-height:1.65}
body{max-width:480px;margin:0 auto;background:#fff;padding-bottom:70px}
.wrap{max-width:480px;padding:0 20px}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.site-header{border-bottom:0;background:#f6f9f5;position:relative;overflow:hidden}
.header-row{height:94px;min-height:94px;position:relative;isolation:isolate}
.brand{font-size:23px;font-weight:650;letter-spacing:1px;color:inherit;text-decoration:none;position:relative;z-index:1}
.brand-place{font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:3px;position:relative;z-index:1}
.local-landmark{position:absolute;right:9px;top:-18px;width:150px;height:130px;color:var(--accent);opacity:.075;z-index:-1}
.header-back{color:var(--accent);font-size:30px;text-decoration:none;width:32px;line-height:1;min-height:40px;display:grid;place-items:center}
body:not([data-page="home"]) .header-row{height:55px;min-height:55px;justify-content:flex-start;gap:9px}
body:not([data-page="home"]) .site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:6}
body:not([data-page="home"]) .brand{font-size:15px;letter-spacing:0;font-weight:550}
body:not([data-page="home"]) .brand-place,body:not([data-page="home"]) .local-landmark{display:none}
.view-tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:#fffffff7;z-index:10;border-top:1px solid var(--line);border-bottom:0;padding:8px 0 max(8px,env(safe-area-inset-bottom))}
.view-tabs a{display:flex;flex-direction:column;gap:3px;font-size:10px;min-height:42px;margin:0;border:0;color:var(--muted)}
.view-tabs a svg{width:20px;height:20px}
.view-tabs a.active{color:var(--accent);font-weight:550;border:0}
.page-heading{position:static;clip:auto;width:auto;height:auto;overflow:visible;padding:20px 0 13px}
.page-heading h1{font-size:23px;font-weight:650}
body[data-page="home"] .page-heading{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;padding:0}
.search-box{margin-top:0;min-height:43px;height:43px;border:0;background:#f4f6f4;border-radius:6px;padding-left:1px}
body[data-page="home"] .search-box{margin-top:14px}
.search-box input{font-size:14px;padding:8px 12px}
.search-box button{background:transparent;border:0;color:var(--accent);font-size:13px;min-height:43px;min-width:50px;font-weight:400;padding:8px 13px}
.search-box button:hover{background:#edf3ed}
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px 4px;padding:19px 0 20px;margin:0 -6px}
.service-shortcut{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:12px;color:inherit;text-decoration:none;min-height:62px;text-align:center}
.shortcut-icon{width:39px;height:39px;border-radius:10px;display:grid;place-items:center;background:#edf4ef;color:var(--accent)}
.shortcut-icon svg{width:23px;height:23px}
.shortcut-icon.tone-1{background:#eff3f8;color:#577492}
.shortcut-icon.tone-2{background:#f9f3e9;color:#9d7541}
.home-feed-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:0 -20px;padding:0 20px}
.home-feed-tabs button{padding:13px 0;background:transparent;border:0;color:var(--muted);font-size:14px;white-space:nowrap;position:relative;min-height:44px}
.home-feed-tabs button.active{color:inherit;font-weight:650}
.home-feed-tabs button.active:after{content:"";position:absolute;bottom:0;height:3px;background:var(--accent);left:0;right:0;border-radius:2px}
.home-feed .result-top{display:none}
.home-feed .result-summary{display:-webkit-box;-webkit-line-clamp:2;margin:4px 0 7px;color:#536157}
.home-feed .result-top.has-deadline{display:flex;margin-bottom:6px}
.home-feed .result-top.has-deadline .type-label{display:none}
.home-feed .result-item{padding:17px 0 15px}
.home-feed .result-item h3{font-size:15px;font-weight:550;line-height:1.65;margin:0 0 7px}
.home-feed .result-meta{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preparation-tools{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:0 0 14px;font-size:12px}
.preparation-status{color:#536157;margin-right:auto;font-variant-numeric:tabular-nums}
.preparation-button{min-height:44px;border:0;background:none;padding:5px 0;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.preparation-button:disabled{color:var(--muted);text-decoration:none;cursor:default}
.preparation-note{margin:0 0 4px}
.preparation-copy-status{width:100%;color:#536157}
.preparation-copy-status:empty{display:none}
.preparation-copy{display:block;width:100%;font-size:16px;line-height:1.6;padding:10px;border:1px solid var(--line);margin:0 0 14px}
.preparation-list{list-style:none;padding-left:0}
.preparation-line+.preparation-line{margin-top:0}
.preparation-item{display:flex;align-items:flex-start;gap:11px;padding:10px 0;min-height:44px;cursor:pointer;border-bottom:1px solid var(--line);font-size:14px;line-height:1.85}
.preparation-item input{flex:none;width:19px;height:19px;margin:4px 0 0;accent-color:var(--accent)}
.preparation-item input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.preparation-item input:checked+span{color:#5b7366}
.feed-more{display:block;min-height:44px;text-align:center;padding:12px;color:var(--muted);font-size:12px;text-decoration:none}
.quick-section{padding:4px 0 0}
.quick-section .section-heading{margin:20px 0 12px}
.section-more{font-size:12px;color:var(--muted)}
.quick-links{display:flex;flex-wrap:wrap;gap:9px}
.quick-links a{padding:6px 10px;background:#f5f7f5;border-radius:4px;font-size:12px;color:inherit;text-decoration:none;min-height:34px}
.topic-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:24px}
.topic-link{padding:12px 14px;font-size:14px;border:1px solid var(--line);border-radius:5px;text-decoration:none;color:inherit;min-height:47px}
.service-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px;padding:0 0 16px;border-bottom:1px solid var(--line)}
.directory-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;padding:5px 0;color:inherit;text-decoration:none;text-align:center;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.directory-link svg{width:23px;height:23px;color:var(--accent)}
.service-list-group+.service-list-group{margin-top:22px}
.service-list-group .section-heading{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.service-list-group h3{font-size:14px;font-weight:600;margin:0}
.service-group-count{font-size:11px;color:var(--muted)}
.service-results .result-top{display:none}
.service-results .result-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.service-channels{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.service-channels span{font-size:10px;color:#52695e;border:1px solid #e1e9e4;padding:1px 5px;border-radius:3px}
.topic-grid{gap:8px}
.topic-card{min-height:64px;padding:12px;gap:5px;background:white;border-radius:5px}
.topic-card strong{font-size:14px;font-weight:550}
.topic-card span{font-size:11px;color:var(--muted)}
.portal-title{font-size:16px;margin-bottom:12px}
.result-item h3{font-size:15px;line-height:1.65;font-weight:550}
.result-summary{font-size:12px;color:var(--muted);margin-top:5px}
.result-meta{font-size:11px;line-height:1.8}
.result-list{padding-bottom:16px}
.type-label{font-size:11px;font-weight:400}
.chip{min-height:38px;border-radius:4px;font-size:12px}
.results-heading{margin-top:23px}
.results-heading h2,.section-heading h2{font-size:16px}
#topic-view{margin:0 -20px}
.topic-heading{padding:24px 20px 19px;background:#f6f9f5}
.topic-heading h1{font-size:23px;margin:0;font-weight:650}
.topic-heading p{font-size:12px;color:#6d7e73;margin:7px 0 0}
.topic-tabs,.detail-outline{position:sticky;top:55px;background:#fff;display:flex;gap:22px;border-bottom:1px solid var(--line);z-index:5;padding:0 20px}
.topic-tabs a,.detail-outline a{font-size:13px;color:#64756b;text-decoration:none;padding:12px 0;min-height:44px;white-space:nowrap}
.topic-tabs a:first-child{color:var(--accent);font-weight:600;border-bottom:2px solid var(--accent)}
.topic-section{padding:20px;border-bottom:8px solid #f5f7f5;scroll-margin-top:111px}
.topic-section h2{font-size:17px;margin:0 0 12px;font-weight:650}
.task-link{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;padding:15px 0;border-bottom:1px solid var(--line)}
.task-link:last-child{border-bottom:0;padding-bottom:0}
.task-link h3{font-size:15px;margin:0;font-weight:550;line-height:1.6}
.task-link p{font-size:12px;margin:4px 0 0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.task-region{display:block;font-size:11px;color:var(--muted);margin-top:6px}
.hospital-group+.hospital-group{margin-top:24px}
.service-group-title{font-size:13px;font-weight:500;color:var(--muted);margin:12px 0 0;padding-bottom:4px}
.task-arrow{color:#9aa59e;font-size:21px;flex-shrink:0}
.official-resource{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce7de;padding:12px 14px;border-radius:5px;margin-top:10px;gap:10px;color:inherit;text-decoration:none}
.official-resource strong{font-size:14px;font-weight:550}
.official-resource p{font-size:11px;color:var(--muted);margin:2px 0 0}
.official-resource .task-arrow{font-size:17px;color:var(--accent)}
.topic-question{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}
.topic-question summary{min-height:24px;cursor:pointer}
.topic-question a{display:inline-block;margin-top:10px;font-size:12px}
.topic-verification{font-size:11px;color:var(--muted);padding:0 20px;margin:20px 0}
.detail{padding:23px 0 20px}
.detail h1{font-size:23px;font-weight:650;margin:8px 0 10px}
.detail-byline{font-size:11px;white-space:pre-line;line-height:1.9;margin-bottom:18px}
.detail-summary{font-size:14px;line-height:1.85}
.detail-outline{margin:0 -20px;padding:0 20px;border-top:1px solid var(--line);overflow-x:auto;overscroll-behavior-x:contain}
.detail-outline a{flex-shrink:0}
.search-filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:14px 0 0}
.search-filters .chip{flex-shrink:0;font-size:12px;padding:6px 10px;min-height:40px}
.detail-section{padding:20px 0;scroll-margin-top:114px}
.detail-section h2{font-size:16px;display:flex;align-items:center;gap:7px;margin:0 0 11px}
.detail-section h2:before{content:"";height:14px;width:3px;background:var(--accent);border-radius:1px;flex-shrink:0}
.detail-body,.detail-body p,.detail-body li,.material-list{font-size:13px;line-height:1.85;color:#435048}
.detail-body h3{font-size:13px;margin:13px 0 7px}
.detail-body p{margin:0 0 10px}
.detail-body ul,.detail-body ol{padding-left:20px;margin:9px 0}
.detail-body li+li{margin-top:7px}
.detail-facts{font-size:13px;grid-template-columns:84px 1fr}
.official-entry{margin:0}
.official-entry h3{font-size:14px;font-weight:550;margin:16px 0 10px}
.official-entry .action-primary{font-size:13px;border-radius:5px}
.entry-note{font-size:12px}
.source-box{padding-top:18px}
.source-title{font-size:14px;font-weight:550}
.source-row{font-size:11px;gap:10px;grid-template-columns:90px 1fr}
.source-link{display:flex;width:fit-content;max-width:100%;font-size:12px;min-height:42px;margin-top:6px}
.back-link{font-size:12px;margin:14px 0 4px;min-height:40px}
.detail-action-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:12;background:white;border-top:1px solid var(--line);padding:11px 18px max(11px,env(safe-area-inset-bottom));display:flex;gap:12px}
.detail-action-bar a{display:flex;align-items:center;justify-content:center;height:42px;flex:1;font-size:13px;border:1px solid #dce3dd;border-radius:5px;text-decoration:none;color:inherit}
.detail-action-bar a.primary-link{flex:2;background:var(--accent);color:white;border-color:var(--accent)}
body.has-detail-actions .view-tabs{display:none}
.site-footer{border:0;font-size:10px;text-align:center;padding:24px 0 16px;color:#969e99}
.feedback-box{margin-top:15px}
@media(min-width:601px){.page-heading{padding-top:20px}.source-row{display:grid}.source-row strong{text-align:left}}

.load-more {display:block;width:100%;padding:14px;border:0;background:#f5f7f5;color:#315c48;font-size:14px;margin:12px 0;cursor:pointer;}
.load-more:disabled{opacity:.6;}
/* Mobile usability and resident submissions. */
.search-box input { font-size:16px; }
.detail-body img,.submission-image { display:block;max-width:100%;height:auto;margin:14px 0; }
.detail-body a,.source-box a,.submission-body { overflow-wrap:anywhere; }
.community-title { font-size:22px;margin:22px 0; }
.submission-form { display:grid;gap:18px;margin:20px 0; }
.submission-form label { display:grid;gap:7px;font-size:14px;color:#343b36; }
.submission-form input:not([type=checkbox]),.submission-form textarea,.submission-form select,.receipt-code { width:100%;padding:12px;border:1px solid #d6dcd7;border-radius:3px;font-family:inherit;line-height:1.5;background:#fff;box-sizing:border-box; }
.submission-form input,.submission-form textarea,.submission-form select { font-size:16px; }
.submission-form .check-label { display:flex;align-items:flex-start;gap:8px;line-height:1.6; }
.submission-form input[type=checkbox] { width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:#315c45; }
.submission-form button { border:0;cursor:pointer; }
.submission-body { white-space:pre-wrap;line-height:1.9;font-size:16px; }
.submission-contact { padding:16px;background:#f6f7f5;overflow-wrap:anywhere; }
.receipt-lookup { border-bottom:1px solid #e3e7e3;padding-bottom:16px;margin:0 0 22px;scroll-margin-top:76px; }
.submission-success { scroll-margin-top:76px; }
.receipt-lookup summary { cursor:pointer;min-height:44px;align-content:center;color:var(--accent);font-size:14px; }
.receipt-lookup .submission-form { gap:10px;margin:12px 0 0; }
.receipt-lookup .load-more { margin:0; }
.field-hint { color:var(--muted);font-size:12px;line-height:1.6;margin:0; }
.field-error { color:#963d2e;font-size:13px;line-height:1.6;margin-top:-12px; }
.receipt-lookup .field-error { margin:0; }
.submission-form [aria-invalid=true] { border-color:#963d2e; }
.submission-form [name] { scroll-margin-top:90px;scroll-margin-bottom:100px; }
.submission-images { display:grid;gap:10px; }
.image-picker { position:relative;display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:44px;padding:0 18px;border:1px solid #b7c8be;border-radius:3px;color:var(--accent); }
.submission-form .image-picker input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
.image-picker:focus-within { outline:2px solid #315c45;outline-offset:3px; }
.submission-image-preview { display:grid;grid-template-columns:64px minmax(0,1fr) 48px;gap:10px;align-items:center;font-size:12px; }
.submission-image-preview img { width:64px;height:64px;object-fit:contain;background:#f5f7f5; }
.submission-image-preview span { overflow-wrap:anywhere; }
.image-remove { min-height:44px;padding:0;background:transparent;color:var(--accent);font-size:13px; }
.submission-success .back-link { display:inline-block;margin:14px 22px 0 0;min-height:44px;align-content:center; }
.form-message:empty { display:none; }
.receipt-code { font-family:monospace;font-size:13px;overflow-wrap:anywhere;word-break:break-all;resize:none; }
.receipt-box { padding:14px 0; }
.form-message { color:#82442f;font-size:14px; }
button:disabled { opacity:.6;cursor:wait; }
:focus-visible { outline:2px solid #315c45;outline-offset:3px; }
.result-item[id] { scroll-margin-top:70px; }
.phone-link { display:inline-block;min-height:32px;padding:3px 0; }
.detail-action-bar .primary-link { overflow-wrap:anywhere;white-space:normal; }
@media (max-width:360px) {
  .detail-action-bar a { font-size:12px; }
}
.home-reminders{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:12px}
.home-reminders .section-heading{margin:12px 0 4px}
.reminder-card{display:block;padding:14px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;scroll-margin-top:80px}
.reminder-card h3{font-size:15px;line-height:1.7;font-weight:550;margin:4px 0}
.reminder-state{font-size:11px;color:var(--accent)}
.reminder-date{font-size:12px;color:#56665c;margin:5px 0}
.reminder-meta{font-size:11px;color:var(--muted);margin:4px 0}
.reminder-list{margin:16px 0}
