/* Public workshop pages and local privacy controls. */
.project-banner-row { display:flex; justify-content:center; margin:22px 0 0; }
.forum-footer .project-banner--anton { display:flex; align-items:center; gap:13px; width:244px; min-height:72px; padding:11px 14px; border:1px solid #d8c292; border-radius:0; background:#15181b; color:#f2f1ee; box-shadow:inset 0 0 0 3px #15181b,inset 0 0 0 4px #2f3337; text-decoration:none; }
.project-banner__copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.project-banner__name { color:#f2f1ee; font:600 15px/1.15 Georgia,serif; }
.project-banner--anton .project-banner__caption { color:#a8a6a0; font:400 9px/1.4 var(--font-sans); letter-spacing:.02em; }
.project-banner--anton:hover { border-color:#e3d2a8; background:#1b1d1f; }
.project-banner--anton:focus-visible { outline:2px solid #d8c292; outline-offset:5px; }
.skip-link { position:fixed; top:-80px; left:18px; z-index:20; padding:12px 18px; background:var(--surface); color:var(--text); border:1px solid var(--copper); border-radius:8px; }
.skip-link:focus { top:8px; }
.language-links { display:flex; align-items:center; gap:8px; }
.language-links a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; border:1px solid transparent; border-radius:999px; color:var(--muted); }
.language-links a[aria-current] { color:var(--text); border-color:var(--stroke); }
.publication-empty { padding:28px 24px; color:var(--muted); font-size:14px; line-height:1.7; }
.publication-empty p { margin:0; }
.publication-list:empty { display:none; }
.project-list { overflow:hidden; }
.project-row { display:grid; grid-template-columns:32px minmax(160px, .65fr) minmax(0,1.4fr); gap:20px; padding:24px; }
.project-row + .project-row { border-top:1px solid var(--stroke-2); }
.project-number { color:var(--copper); font-size:12px; padding-top:5px; }
.project-row h3 { margin:0 0 8px; font-size:18px; line-height:1.4; color:hsl(var(--accent) / .95); }
.project-category { margin:0; color:var(--copper); font-size:11px; line-height:1.65; }
.project-description { min-width:0; }
.project-description p { margin:0 0 12px; font-size:14px; line-height:1.8; color:var(--text); }
.project-status { display:inline-block; color:var(--muted); font-size:11px; line-height:1.6; }
.everyday { padding:24px; border-top:1px solid var(--stroke-2); }
.everyday h3 { margin:0 0 10px; font-size:17px; }
.everyday p { margin:0; max-width:78ch; color:var(--muted); font-size:14px; line-height:1.8; }
.footer-links { display:flex; flex-wrap:wrap; gap:20px; }
.footer-copy { padding:14px 0; }
@media(min-width:981px) { .wrap { padding-top:calc(var(--topbar-h) + 54px); } }
@media(max-width:700px) {
 .project-row { grid-template-columns:24px minmax(0,1fr); gap:12px; padding:20px 16px; }
 .project-description { grid-column:2; }
 .project-description p { font-size:13px; }
 .project-row h3 { font-size:17px; }
 .everyday { padding:20px 16px; }
 .publication-empty { padding:24px 16px; }
 .forum-footer { display:block; }
 .footer-copy { display:block; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

@media(max-width:980px) {
 .topbar__right { display:flex; min-width:0; margin-left:auto; }
 .topbar__left { min-width:0; }
 .language-links { gap:0; }
 .language-links a { min-width:40px; font-size:12px; }
 .mobile-nav summary { min-width:50px; font-size:12px; }
}

/* A small tavern-style plaque at the foot of the workshop. */
.forum-footer--workshop { display:block; margin-top:32px; padding-bottom:12px; }
.footer-meta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 20px; border-top:1px solid var(--stroke-2); padding-top:10px; }
.visitor-counters { position:relative; width:min(100%,360px); margin:20px auto 0; }
.visitor-counters__frame { width:240px; max-width:100%; min-height:46px; margin:0 auto; padding:5px 26px 5px 8px; border:1px solid #63503b; border-radius:3px; background:linear-gradient(180deg,#241d16,#17130f); box-shadow:inset 0 0 0 2px #17120f; }
.visitor-counters__totals { display:grid; grid-template-columns:1fr 1.3fr; margin:0; }
.visitor-counters__metric { display:flex; flex-direction:column; justify-content:center; min-width:0; text-align:center; padding:0 4px; }
.visitor-counters__metric + .visitor-counters__metric { border-left:1px solid #493a29; }
.visitor-counters__metric dt { color:#c5ac89; font-size:9px; line-height:1.35; white-space:nowrap; }
.visitor-counters__metric dd { margin:2px 0 0; color:#f0d7aa; font:400 16px/1.2 Georgia,"Times New Roman",serif; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.visitor-counters__metric--unique dd { color:#c7a6e8; }
.counter-help summary { position:absolute; top:1px; left:calc(50% + 94px); width:24px; height:24px; min-height:24px; display:grid; place-items:center; cursor:pointer; list-style:none; color:var(--muted); }
.counter-help summary::-webkit-details-marker { display:none; }
.counter-help summary span { display:grid; place-items:center; width:13px; height:13px; border:1px solid #796244; border-radius:50%; font:italic 9px/1 Georgia,serif; }
.counter-help summary:hover,.counter-help[open] summary { color:#eee5d8; }
.counter-help summary:focus-visible { outline:2px solid #c7a6e8; outline-offset:0; border-radius:3px; }
.counter-help__content { border:1px solid #493a29; border-radius:5px; background:#1c1815; margin-top:10px; padding:14px; color:var(--muted); font-size:12px; line-height:1.75; }
.counter-help__content p { margin:0 0 10px; }
.counter-help__content strong { color:var(--text); font-weight:600; }
.counter-help__content a { color:#c7a6e8; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
 .footer-meta { justify-content:center; text-align:center; gap:0; }
 .footer-meta .footer-copy { width:100%; padding:14px 0 4px; }
 .footer-meta .footer-links { justify-content:center; gap:0 18px; }
}
[data-views-count] { font-variant-numeric:tabular-nums; font-weight:600; }
.privacy-settings { appearance:none; background:none; border:0; padding:0; min-height:44px; font:inherit; color:var(--muted); cursor:pointer; text-align:left; }
.privacy-settings:hover { color:var(--text); }
.privacy-panel[hidden] { display:none; }
.privacy-panel { position:fixed; z-index:30; left:20px; right:20px; bottom:16px; margin:0 auto; max-width:1060px; max-height:70vh; overflow:auto; display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:24px; padding:22px 24px; color:var(--text); background:var(--surface); border:1px solid var(--stroke); border-radius:14px; box-shadow:0 8px 36px rgba(0,0,0,.4); font-size:12px; line-height:1.65; }
.privacy-panel h2 { margin:0 0 8px; color:var(--text); font-size:17px; line-height:1.4; }
.privacy-panel p { margin:6px 0; }
.privacy-question { font-weight:600; }
.privacy-choice,.privacy-status { color:var(--muted); }
.privacy-status:empty { display:none; }
.privacy-more { display:inline-block; padding-top:4px; color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.privacy-actions { display:flex; flex-direction:column; justify-content:center; gap:10px; }
.privacy-actions button { appearance:none; min-height:44px; padding:10px 16px; border:1px solid var(--copper); border-radius:8px; background:var(--surface-2); color:var(--text); font:600 13px/1.4 var(--font-sans); cursor:pointer; }
.privacy-actions button:hover { background:#302820; }
.privacy-actions button:disabled { opacity:.5; cursor:default; }
.privacy-actions [hidden] { display:none; }
.privacy-actions [data-privacy-close] { border-color:var(--stroke); font-weight:400; }
.privacy-panel button:focus-visible,.privacy-settings:focus-visible { outline:2px solid var(--copper); outline-offset:3px; }
@media(max-width:700px) {
 .privacy-panel { left:10px; right:10px; bottom:10px; grid-template-columns:minmax(0,1fr); gap:14px; padding:18px; max-height:75vh; }
 .privacy-actions { display:grid; grid-template-columns:1fr 1fr; }
 .privacy-actions [data-privacy-close] { grid-column:1/-1; }
}
.project-banner--anton .ag-mark { --ag-size:44px; }
