/* Shared accessibility and privacy controls, without changing activity layouts. */
html { scroll-padding-top: 20px; }
body { padding-bottom: var(--privacy-banner-space, 0px); }
body :focus-visible { outline: 3px solid #007d8a; outline-offset: 4px; box-shadow: 0 0 0 6px #fff; }
body a, body button, body input, body select, body textarea { touch-action: manipulation; }
body .btn-enter, body .btn-start, body .card-action { background: #b93812; color: #fff; }
body .site-nav a.active, body .site-nav a:hover, body .logo-title { color: #b93812; }
body .home-secondary { align-self: center; color: #fff; font-weight: 700; text-underline-offset: 4px; }
body .home-actions { flex-wrap: wrap; }
body .home-actions [hidden] { display: none; }
.spam-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.privacy-banner { position: fixed; bottom: 0; left: 0; z-index: 100; width: 100%; max-height: 45vh; overflow-y: auto; padding: 16px max(20px, calc((100% - 1120px) / 2)); background: #fff; color: #202d37; border-top: 2px solid #176778; font: 16px/1.5 system-ui, sans-serif; text-align: left; }
.privacy-banner[hidden] { display: none; }
.privacy-banner h2 { font-size: 20px; color: #202d37; margin: 0 0 8px; }
.privacy-banner p { margin: 0 0 12px; max-width: 75ch; }
.privacy-banner a { color: #125b70; text-decoration: underline; }
.privacy-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.privacy-buttons button { background: #fff; color: #125b70; border: 2px solid #125b70; border-radius: 4px; padding: 10px 16px; min-height: 44px; font: 700 16px/1.4 system-ui, sans-serif; cursor: pointer; }
.privacy-reopen { display: block; width: fit-content; margin: 16px auto; padding: 10px 16px; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
@media (max-width: 600px) {
    body .site-header { padding: 16px; }
    body .site-header .logo { min-width: 0; max-width: 100%; }
    body .site-header .logo-subtitle { white-space: normal; }
    body .home-actions .btn-start { padding: 14px 22px; }
    .privacy-buttons button { flex: 1 1 160px; }
    input, select, textarea { max-width: 100%; }
}
@media (max-width: 900px) { body .home-board-wrap { order: 0; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0s !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0s !important; }
}
@media print { body { padding-bottom: 0; } .privacy-banner, .privacy-reopen { display: none !important; } }
