.privacy-cookie-panel,
.accessibility-panel { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.privacy-cookie-panel { position: fixed; right: 20px; bottom: 20px; left: 20px; z-index: 400; width: min(1050px,calc(100% - 40px)); margin-inline: auto; padding: 20px; display: grid; grid-template-columns: 1fr auto; gap: 20px; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(7,22,34,.97); box-shadow: 0 24px 80px rgba(2,15,25,.38); backdrop-filter: blur(18px); }
.privacy-cookie-panel[hidden], .accessibility-panel[hidden] { display: none; }
.privacy-cookie-copy { display: flex; gap: 14px; }
.privacy-icon { width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; color: #b8b4ff; background: rgba(99,91,255,.16); font-size: 1.45rem; }
.privacy-cookie-panel h2, .accessibility-panel h2 { margin: 0; color: #fff; font-size: 1rem; letter-spacing: -.02em; }
.privacy-cookie-panel p { max-width: 700px; margin: 6px 0 0; color: #c3ccd3; font-size: .82rem; line-height: 1.6; }
.privacy-cookie-panel a { display: inline-block; margin-top: 10px; color: #a9a5ff; font-size: .78rem; font-weight: 700; text-underline-offset: 3px; }
.privacy-cookie-actions { min-width: 150px; display: grid; gap: 8px; align-content: center; }
.privacy-cookie-actions button { min-height: 42px; padding: 0 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; color: #e8edf1; background: transparent; font-size: .78rem; font-weight: 750; cursor: pointer; }
.privacy-cookie-actions .privacy-accept { color: #fff; border-color: #635bff; background: #635bff; }
.privacy-close { position: absolute; top: 9px; right: 9px; width: 32px; height: 32px; border: 0; color: #a9b4bc; background: transparent; font-size: 1.15rem; cursor: pointer; }
.privacy-details { margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.privacy-details[hidden] { display: none; }
.privacy-details article { padding: 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: rgba(255,255,255,.035); }
.privacy-details strong, .privacy-details span { display: block; }
.privacy-details strong { font-size: .78rem; }
.privacy-details span { margin-top: 4px; color: #aeb9c1; font-size: .7rem; line-height: 1.45; }

.accessibility-widget { position: fixed; left: 20px; bottom: 20px; z-index: 390; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.accessibility-trigger { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; color: #fff; background: #635bff; box-shadow: 0 12px 30px rgba(99,91,255,.28); cursor: pointer; }
.accessibility-trigger span { font-size: .8rem; font-weight: 850; }
.accessibility-panel { width: min(360px,calc(100vw - 40px)); padding: 16px; color: #fff; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(7,22,34,.98); box-shadow: 0 20px 70px rgba(2,15,25,.38); }
.accessibility-head { display: flex; justify-content: space-between; gap: 16px; }
.accessibility-head p { margin: 5px 0 0; color: #b8c2ca; font-size: .75rem; line-height: 1.45; }
.accessibility-head button { width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; color: #d4dbe0; background: transparent; cursor: pointer; }
.accessibility-options { margin-top: 14px; display: grid; gap: 7px; }
.accessibility-options > button { width: 100%; padding: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; color: #fff; background: rgba(255,255,255,.03); text-align: left; cursor: pointer; }
.accessibility-options strong, .accessibility-options small { display: block; }
.accessibility-options strong { font-size: .8rem; }
.accessibility-options small { margin-top: 3px; color: #9eabb5; font-size: .7rem; }
.accessibility-options i { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: transparent; font-style: normal; font-size: .7rem; }
.accessibility-options button[aria-pressed="true"] { border-color: rgba(99,91,255,.7); background: rgba(99,91,255,.12); }
.accessibility-options button[aria-pressed="true"] i { color: #fff; border-color: #635bff; background: #635bff; }
.accessibility-reset { width: 100%; min-height: 40px; margin-top: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: #d4dbe0; background: transparent; font-size: .76rem; font-weight: 700; cursor: pointer; }

html.accessibility-large-text { font-size: 112.5%; }
html.accessibility-reduce-motion, html.accessibility-reduce-motion * { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
html.accessibility-underline-links a { text-decoration: underline !important; text-underline-offset: .18em; }
html.accessibility-high-contrast body { color: #fff !important; background: #000 !important; }
html.accessibility-high-contrast main, html.accessibility-high-contrast section, html.accessibility-high-contrast article { filter: contrast(1.12); }
html.accessibility-high-contrast a, html.accessibility-high-contrast button { outline-color: #fff; }
html.accessibility-high-contrast img, html.accessibility-high-contrast video { filter: contrast(1.15) saturate(.9); }

.footer-bottom button,
.app-footer-bottom button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.footer-bottom button:hover,
.app-footer-bottom button:hover { color: #635bff; }

@media (max-width: 720px) {
  .privacy-cookie-panel { right: 12px; bottom: 12px; left: 12px; width: calc(100% - 24px); max-height: calc(100svh - 24px); overflow: auto; padding: 16px; grid-template-columns: 1fr; }
  .privacy-cookie-actions { grid-template-columns: 1fr 1fr; }
  .privacy-cookie-actions .privacy-detail-toggle { grid-column: 1/-1; }
  .privacy-details { grid-template-columns: 1fr; }
  .privacy-icon { display: none; }
  .accessibility-widget { left: 12px; bottom: 12px; }
}
