/* Town parchment and cut timber. All rules stay within this dialog. */
#townBoard { --tb-ink:#eee2c5; --tb-dim:#b5af98; --tb-line:#505441; --tb-gold:#e5c478; position:fixed; inset:0; z-index:92; display:grid; grid-template-columns:minmax(0,1fr); place-items:center; padding:14px; background:#0b110ed4; color:var(--tb-ink); font:14px/1.5 var(--ps1-font,system-ui,sans-serif); text-align:left; text-shadow:none; }
#townBoard *, #townBoard *::before, #townBoard *::after { box-sizing:border-box; }
#townBoard .tb-frame { width:100%; max-width:760px; min-width:0; max-height:calc(100dvh - 28px); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#827652 #21261f; background:#23271f; border:16px solid transparent; border-image:url('/cozy/frame-med.png') 16 / 16px / 0 stretch; background-clip:padding-box; box-shadow:0 12px 0 #0005,0 24px 80px #0007; }
#townBoard svg, #townBoard .tb-ico { width:19px; height:19px; flex:none; vertical-align:middle; }
#townBoard h2, #townBoard h3, #townBoard p { margin:0; color:inherit; text-shadow:none; }
#townBoard button, #townBoard .tb-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px; border:1px solid #68634a !important; border-radius:2px !important; background:#383e30 !important; color:var(--tb-ink) !important; font:600 13px/1.3 var(--ps1-font,system-ui,sans-serif); box-shadow:inset 0 1px #8f8c5940,0 2px #10180f !important; text-decoration:none; text-transform:none !important; letter-spacing:normal; text-shadow:none !important; cursor:pointer; touch-action:manipulation; }
#townBoard button:hover, #townBoard .tb-action:hover { background:#4b533b !important; border-color:#b6a36e !important; }
#townBoard :focus-visible { outline:2px solid #f2d785; outline-offset:3px; }
#townBoard button:disabled { opacity:.5; cursor:wait; }
#townBoard .tb-header { display:flex; align-items:center; position:relative; min-height:170px; padding:26px 26px 22px; background:#303b2d; border-bottom:2px solid #526044; overflow:hidden; }
#townBoard .tb-header > div { position:relative; z-index:1; max-width:65%; }
#townBoard .tb-eyebrow { color:#c6c598; font:10px/1.5 'Silkscreen',monospace; letter-spacing:.7px; }
#townBoard h2 { margin:10px 0 9px; font:24px/1.25 'Silkscreen',monospace; color:#f4d58c; letter-spacing:-1px; }
#townBoard .tb-header p { color:#c5ccb5; font-size:13px; }
#townBoard .tb-header img { position:absolute; width:250px; height:160px; right:18px; bottom:0; }
#townBoard [data-close] { position:absolute; top:8px; right:8px; z-index:2; width:36px; min-height:36px; padding:7px; background:#1f291e !important; }
#townBoard .tb-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 22px; border-bottom:1px solid var(--tb-line); color:var(--tb-dim); font-size:12px; }
#townBoard .tb-toolbar button { min-height:36px; padding:5px 9px; font-size:12px; }
#townBoard .tb-content { padding:18px 22px 22px; }
#townBoard .tb-access { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid #596448; border-left:3px solid #92ad68; background:#2d3728; margin-bottom:18px; }
#townBoard .tb-access > .tb-ico { color:#b3cf85; width:22px; height:22px; }
#townBoard .tb-access b { display:block; font-size:13px; font-weight:600; }
#townBoard .tb-access small { color:#c0c7ac; display:block; margin-top:3px; font-size:12px; }
#townBoard .tb-access.locked { border-color:#837049; background:#393427; }
#townBoard .tb-access.locked > .tb-ico { color:#dbc58b; }
#townBoard .tb-stamp { font:9px/1.5 'Silkscreen',monospace; color:#b7cc8f; margin-left:auto; padding-left:12px; border-left:1px solid #62724c; text-align:center; }
#townBoard .tb-filters { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
#townBoard .tb-filters button { font-size:12px; min-height:38px; padding:7px 11px; box-shadow:none !important; background:transparent !important; border-color:#4c5340 !important; }
#townBoard .tb-filters button[aria-pressed=true] { color:#f3d992 !important; background:#46452f !important; border-color:#928153 !important; }
#townBoard .tb-posts { display:grid; gap:16px; }
#townBoard .tb-post { position:relative; padding:18px 20px 16px; background:#dacda9; background-image:linear-gradient(90deg,#89754712 1px,transparent 1px); background-size:5px 5px; border:1px solid #b6a577; border-top:3px solid #ede0bc; color:#332e24; box-shadow:3px 4px #11180f80; }
#townBoard .tb-post::before, #townBoard .tb-post::after { content:''; position:absolute; top:7px; width:5px; height:5px; background:#635b46; border-top:1px solid #978762; box-shadow:1px 1px #2e2b2280; }
#townBoard .tb-post::before { left:7px; } #townBoard .tb-post::after { right:7px; }
#townBoard .tb-post-top { display:flex; justify-content:space-between; gap:12px; margin-bottom:11px; font-size:11px; color:#696043; }
#townBoard .tb-category { display:flex; align-items:center; gap:6px; color:#65513b; font-weight:700; text-transform:uppercase; letter-spacing:.6px; }
#townBoard .tb-category .tb-ico { width:14px; height:14px; }
#townBoard .tb-category.raids { color:#854834; } #townBoard .tb-category.update { color:#435c3d; }
#townBoard .tb-post h3 { color:#302b22 !important; text-shadow:none !important; text-transform:none !important; letter-spacing:0; font-family:var(--ps1-font,system-ui,sans-serif) !important; font-size:20px; line-height:1.3; font-weight:750; overflow-wrap:anywhere; }
#townBoard .tb-note { margin-top:9px; color:#4d4737; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }
#townBoard .tb-post-bottom { margin-top:17px; }
#townBoard .tb-post-source { display:flex; justify-content:space-between; gap:8px; padding-bottom:9px; margin-bottom:11px; border-bottom:1px solid #ab9d78; font-size:9px; letter-spacing:1.1px; color:#6c5e40; }
#townBoard .tb-actions { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:8px; }
#townBoard .tb-action { color:#423c2c !important; border-color:#a3946c !important; background:#c4b58b !important; box-shadow:inset 0 1px #eadbb5,0 2px #8b7d5540 !important; }
#townBoard .tb-action.primary { color:#f1e7c9 !important; background:#45513b !important; border-color:#4e5d41 !important; }
#townBoard .tb-action:hover { background:#b7a573 !important; }
#townBoard .tb-action.primary:hover { background:#576448 !important; }
#townBoard .tb-remove { display:block; margin-top:12px; min-height:32px; padding:5px 9px; color:#804335 !important; background:transparent !important; border-color:#ad9570 !important; box-shadow:none !important; font-size:11px; }
#townBoard .tb-footer { padding:0 22px 18px; color:var(--tb-dim); font-size:11px; }
#townBoard [data-status] { min-height:19px; color:#e7c77e; margin-bottom:5px; }
#townBoard .tb-locked, #townBoard .tb-empty { text-align:center; padding:24px 20px 30px; border:1px dashed #686447; background:#292d23; }
#townBoard .tb-locked h3, #townBoard .tb-empty h3 { font-size:18px; margin:12px 0; color:#e7d4a1; }
#townBoard .tb-locked p, #townBoard .tb-empty p { max-width:410px; margin:0 auto 16px; color:#c2bca5; }
#townBoard .tb-small { font-size:12px; }
#townBoard .tb-seal { display:grid; place-items:center; margin:auto; width:56px; height:56px; background:#705035; clip-path:polygon(28% 0,72% 0,100% 28%,100% 72%,72% 100%,28% 100%,0 72%,0 28%); color:#edcf8e; }
#townBoard .tb-seal .tb-ico { width:25px; height:25px; }
#townBoard .tb-editor { margin-top:22px; border-top:1px solid var(--tb-line); padding-top:14px; }
#townBoard summary { padding:8px 0; color:#e2c784; cursor:pointer; font-weight:600; }
#townBoard summary span { margin-left:12px; color:var(--tb-dim); font-size:12px; font-weight:400; }
#townBoard form { display:grid; gap:12px; margin-top:12px; }
#townBoard label { display:grid; gap:5px; font-size:12px; color:#d6ccb0; }
#townBoard label span { color:var(--tb-dim); }
#townBoard input, #townBoard textarea, #townBoard select { width:100%; min-width:0; padding:11px 12px; border:1px solid #64634b; border-radius:2px; color:#eee4cc; background:#191f18; font:14px/1.4 var(--ps1-font,system-ui,sans-serif); box-shadow:none; }
#townBoard textarea { resize:vertical; }
#townBoard .tb-form-row { display:grid; grid-template-columns:2fr 1fr; gap:12px; }
@media(max-width:520px) {
  #townBoard { padding:6px; font-size:13px; }
  #townBoard .tb-frame { border-width:12px; border-image-width:12px; max-height:calc(100dvh - 12px); }
  #townBoard .tb-header { padding:24px 14px 20px; min-height:144px; }
  #townBoard .tb-header > div { max-width:76%; }
  #townBoard .tb-header img { width:172px; height:120px; right:-34px; opacity:.55; }
  #townBoard h2 { font-size:20px; }
  #townBoard .tb-eyebrow { font-size:8px; }
  #townBoard .tb-content { padding:14px 12px; }
  #townBoard .tb-toolbar { padding:8px 12px; }
  #townBoard .tb-footer { padding:0 12px 14px; }
  #townBoard .tb-access { gap:8px; padding:10px; }
  #townBoard .tb-stamp { display:none; }
  #townBoard .tb-post { padding:18px 12px 14px; }
  #townBoard .tb-post h3 { font-size:18px; }
  #townBoard .tb-actions { grid-template-columns:1fr 1fr; gap:7px; }
  #townBoard .tb-actions .primary { grid-column:1 / -1; }
  #townBoard .tb-action { min-height:44px; }
  #townBoard .tb-filters { gap:5px; }
  #townBoard .tb-filters button { padding:7px 9px; min-height:40px; }
  #townBoard input, #townBoard textarea, #townBoard select { font-size:16px; }
}

#townBoard .tb-rewards { display:grid; gap:3px; padding:12px 14px; margin-bottom:16px; border:1px solid #827047; background:#343326; font-size:12px; }
#townBoard .tb-rewards b { color:var(--tb-gold); font-size:14px; }
#townBoard .tb-rewards span { color:var(--tb-dim); }
#townBoard .tb-rewards p { margin-top:7px; color:#efc39a; }
#townBoard .tb-encourage { margin-top:10px; font-size:12px; color:#5e543c; }

/* A visible reward sign, above eligibility and the notices. */
#townBoard .tb-reward-guide { display:flex; align-items:center; gap:12px; padding:14px; margin-bottom:14px; border:2px solid #9f8649; background:#3a3523; box-shadow:inset 0 0 0 2px #24251b; }
#townBoard .tb-gold-mark { display:grid; place-items:center; flex:none; width:38px; height:38px; background:#c49b47; color:#342c18; clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%); }
#townBoard .tb-reward-guide b { display:block; color:#f4d58c; font-size:17px; line-height:1.3; }
#townBoard .tb-reward-guide span, #townBoard .tb-reward-guide small { display:block; margin-top:4px; font-size:12px; color:#d4c9a7; }
#townBoard .tb-reward-guide small { color:var(--tb-dim); }
#townBoard .tb-bounty { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:10px; font-size:12px; color:#5e543c; }
#townBoard .tb-bounty b { padding:4px 8px; border:1px solid #937736; background:#ebd18c; color:#4c3812; font-size:14px; }

/* Collected notices recede; their links remain readable and usable. */
#townBoard .tb-post.tb-claimed { filter:brightness(.74); box-shadow:1px 2px #11180f60; }
#townBoard .tb-claimed .tb-bounty b { background:#c4bda7; border-color:#827b64; color:#39392f; }
#townBoard .tb-action.liked .tb-ico { color:#c22c45; fill:currentColor; }
