:focus-visible { outline: 3px solid var(--accent-light) !important; outline-offset: 3px; }
input::placeholder, textarea::placeholder { color: var(--text-3); opacity: 1; }
.btn-primary, .comment-send-btn, .nav-icon-create { background: var(--action-bg); color: #fff; }
.btn-primary:hover, .comment-send-btn:hover { background: var(--action-hover); }
.toggle-switch:focus-within { outline: 3px solid var(--accent-light); outline-offset: 4px; border-radius: 20px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 100000; padding: 12px; background: var(--bg-2); color: var(--text); }
.skip-link:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#uc-cookie-banner { position: fixed; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; right: 12px; margin: auto; max-width: 560px; z-index: 50000; padding: 20px; background: var(--bg-2); color: var(--text); border: 1px solid var(--border-light); border-radius: 18px; box-shadow: 0 12px 60px #0008; font: .9375rem/1.5 var(--font-body); max-height: 70dvh; overflow: auto; }
#uc-cookie-banner h2 { font-size: 1.25rem; margin: 0 0 8px; }
#uc-cookie-banner p { margin: 8px 0; }
#uc-cookie-banner a { color: var(--accent-light); text-decoration: underline; }
.privacy-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0; }
.privacy-actions button { flex: 1; min-width: 150px; min-height: 44px; background: var(--action-bg); color: #fff; border: 1px solid var(--border-light); border-radius: 10px; padding: 10px 14px; cursor: pointer; font: inherit; }
.privacy-note { font-size: 0.8125rem; }
.trust-dialog { border: 1px solid var(--text-3); border-radius: 20px; padding: 24px; background: var(--bg-2); color: var(--text); width: min(560px, calc(100vw - 24px)); max-height: 88dvh; overflow: auto; margin: auto; font: .9375rem/1.6 var(--font-body); }
.trust-dialog::backdrop { background: #000a; }
.trust-dialog h2 { font-size: 1.5rem; margin-bottom: 6px; }
.trust-dialog h3 { margin: 20px 0 8px; font-size: 1.0625rem; }
.trust-dialog p { color: var(--text-2); margin: 8px 0; }
.trust-dialog a { color: var(--accent-light); text-decoration: underline; }
.trust-dialog button, .trust-dialog input, .trust-dialog select, .trust-dialog textarea { font: inherit; min-height: 44px; }
.trust-dialog input, .trust-dialog select, .trust-dialog textarea { width: 100%; padding: 10px; border: 1px solid var(--text-3); background: var(--bg-3); color: var(--text); border-radius: 8px; margin: 4px 0 12px; }
.trust-dialog label { display: block; font-weight: 600; }
.trust-close { float: right; padding: 8px 14px; background: transparent; color: inherit; border: 1px solid var(--text-3); border-radius: 8px; }
.trust-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.trust-links a { padding: 10px; background: var(--bg-3); border-radius: 8px; }
.trust-status { min-height: 24px; }
.trust-form-help { font-size: 0.8125rem; color: var(--text-2); margin: 6px 0 12px; }
.media-alt-field { width: 100%; margin: 8px 0; }
.media-alt-field textarea { width: 100%; padding: 10px; background: var(--bg-3); color: var(--text); border: 1px solid var(--text-3); border-radius: 8px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@media (forced-colors: active) { button, input, select, textarea { border: 1px solid ButtonText; } }
