/* Shared accessibility corrections; component geometry and brand colors stay local. */
:focus-visible { outline: 2px solid #ffe0a0; outline-offset: 3px; }
input, select, textarea, button { font-family: inherit; }
.form-label, .form-hint, .legal-section p, .legal-section li,
.legal-table td, .legal-table th { color: #e2dce9; }
.form-hint { font-size: .8125rem; }
.legal-table th, .legal-table td { font-size: .875rem; line-height: 1.65; overflow-wrap:anywhere; }
.form-error { color:#ffc7be; margin: 1rem 0; }
.login-modal-close { min-width:44px; min-height:44px; }
.table-wrap, .table-container { max-width:100%; overflow-x:auto; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .video-bg video { display:none; }
}
.legal-back, .legal-updated, .legal-section a { color:#d3c5dd !important; }
.admin-page .card-sub, .admin-page .bar-label, .admin-page .migrate-hint,
.admin-page .tiny, .admin-page th, .admin-page td, .admin-page .prov-card { color:#bfb8cc !important; }
.timeline-title, .current .tl-hanja, .current .tl-hangul, .current .tl-age, .tl-now { color:#ffe0a0 !important; }
.chat-onboard { background:#201b2b !important; border-color:#655274 !important; }
.chat-onboard h3, .chat-onboard p, .chat-onboard > div { color:#f3eafa !important; }
.chat-onboard a { color:#34221b !important; }
.history-more { display:block; padding:.75rem 1rem; margin:1rem auto; color:#ffe0a0; background:#241c30; border:1px solid #665177; border-radius:12px; font-size:1rem; }
html:has(.video-bg), html:has(.reading-video-bg) { background:#100c18; }
.timeline-node.current .tl-hanja, .timeline-node.current .tl-hangul,
.timeline-node.current .tl-age, .timeline-node.current .tl-now { color:#ffe0a0 !important; }
.biz-detail { color:#d5c9df !important; }
.admin-page a { color:#e2ccff; }
.reading-body { font-family:'Pretendard Variable',Pretendard,system-ui,sans-serif; }

.share-revoke { min-height:44px; padding:.5rem .7rem; border:1px solid #79618a; border-radius:12px; background:#241c30; color:#f3eafa; font-size:.8125rem; cursor:pointer; }

.reading-page .hidden-stem, .reading-page .sinsal-group-label { color:#d3c5dd !important; }
