
/* Saarlight 3D · Cookie & Barrierefreiheit · 0.7.5
   Absichtlich separat geladen, damit alte PWA-Caches diese Oberfläche nicht zerlegen. */

#saarlightPrivacyUi{font-family:inherit}
.sl-modal[hidden]{display:none!important}
.sl-modal{
  position:fixed!important;
  inset:0!important;
  z-index:5000!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:20px 12px!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}
.sl-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(2,7,15,.82)!important;
  backdrop-filter:blur(6px)!important;
}
.sl-modal-card{
  position:relative!important;
  z-index:1!important;
  width:min(560px,100%)!important;
  max-width:560px!important;
  box-sizing:border-box!important;
  margin:auto!important;
  padding:20px!important;
  border:1px solid rgba(96,220,255,.30)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#121c2e 0%,#09111e 100%)!important;
  color:#f2f7ff!important;
  box-shadow:0 22px 70px rgba(0,0,0,.58)!important;
}
.sl-modal h2{margin:4px 0 10px!important;font-size:1.42rem!important;line-height:1.2!important;color:#f5f9ff!important}
.sl-modal p{margin:0!important;color:#c6d4e7!important;line-height:1.5!important;font-size:.90rem!important}
.sl-modal button,.sl-modal input{font:inherit}
.sl-modal-open{overflow:hidden!important}

.sl-modal-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:14px!important}
.sl-modal-kicker{display:block!important;color:#7cecff!important;font-size:.70rem!important;font-weight:900!important;letter-spacing:.14em!important}
.sl-close{
  flex:0 0 44px!important;width:44px!important;height:44px!important;
  border:1px solid #38516e!important;border-radius:12px!important;
  background:#111c2e!important;color:#fff!important;font-size:1.45rem!important;
  cursor:pointer!important
}
.sl-modal-icon{font-size:2rem!important;margin-bottom:8px!important}
.sl-modal-copy{margin-bottom:15px!important}

.sl-cookie-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:14px 0!important}
.sl-cookie-summary>div,.sl-setting-card{
  min-width:0!important;padding:12px!important;border:1px solid rgba(126,154,194,.16)!important;
  border-radius:14px!important;background:rgba(255,255,255,.035)!important
}
.sl-cookie-summary b,.sl-setting-card b{display:block!important;color:#f1f6ff!important;font-size:.90rem!important}
.sl-cookie-summary span,.sl-setting-card p{display:block!important;margin-top:4px!important;color:#aebfd5!important;font-size:.78rem!important;line-height:1.4!important}

.sl-modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-top:15px!important}
.sl-btn{
  min-height:46px!important;border-radius:12px!important;padding:10px 13px!important;
  font-weight:850!important;cursor:pointer!important
}
.sl-btn-primary{border:1px solid #42dff3!important;background:#123246!important;color:#f6fcff!important}
.sl-btn-secondary{border:1px solid #3a506c!important;background:#101a2a!important;color:#edf5ff!important}
.sl-text-button{
  display:block!important;margin:12px auto 0!important;border:0!important;background:transparent!important;
  color:#83eaff!important;text-decoration:underline!important;text-underline-offset:3px!important;
  font-size:.82rem!important;cursor:pointer!important
}

.sl-setting-card{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  margin-top:10px!important
}
.sl-setting-toggle{cursor:pointer!important}
.sl-setting-toggle input{
  flex:0 0 auto!important;width:24px!important;height:24px!important;accent-color:#35d9ef!important
}
.sl-status-chip{
  flex:0 0 auto!important;padding:5px 9px!important;border-radius:999px!important;
  border:1px solid rgba(92,224,177,.30)!important;background:rgba(92,224,177,.08)!important;
  color:#bdf7dd!important;font-size:.74rem!important;font-weight:850!important
}
.sl-privacy-link{
  display:block!important;margin:14px auto 0!important;text-align:center!important;
  color:#83eaff!important;font-size:.82rem!important
}

.sl-a11y-section{
  padding:12px!important;border:1px solid rgba(126,154,194,.16)!important;
  border-radius:14px!important;background:rgba(255,255,255,.03)!important
}
.sl-a11y-section>b{display:block!important;margin-bottom:9px!important}
.sl-segmented{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important}
.sl-segmented button{
  min-height:44px!important;border:1px solid #3b516e!important;border-radius:10px!important;
  background:#101a2a!important;color:#edf5ff!important;font-weight:800!important;cursor:pointer!important
}
.sl-segmented button[aria-pressed="true"]{
  border-color:#44dff3!important;background:#123246!important;box-shadow:0 0 0 1px rgba(68,223,243,.15)!important
}
.sl-toggle-list{display:grid!important;gap:8px!important;margin-top:10px!important}
.sl-toggle-list label{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
  padding:11px 12px!important;border:1px solid rgba(126,154,194,.14)!important;border-radius:13px!important;
  background:rgba(255,255,255,.025)!important;cursor:pointer!important
}
.sl-toggle-list span{min-width:0!important}
.sl-toggle-list b{display:block!important;font-size:.88rem!important;color:#f0f6ff!important}
.sl-toggle-list small{display:block!important;margin-top:3px!important;color:#aebfd5!important;font-size:.74rem!important;line-height:1.35!important}
.sl-toggle-list input{flex:0 0 auto!important;width:22px!important;height:22px!important;accent-color:#35d9ef!important}

.footer-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex-wrap:wrap!important}
.footer-actions a,.footer-tool-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:38px!important;padding:7px 11px!important;border:1px solid rgba(125,163,214,.25)!important;
  border-radius:10px!important;background:#101827!important;color:#dceaff!important;
  text-decoration:none!important;font-size:.78rem!important;font-weight:800!important;cursor:pointer!important
}
.footer-actions a:hover,.footer-tool-button:hover{border-color:rgba(56,232,255,.58)!important}

html.a11y-text-large{font-size:112.5%!important}
html.a11y-text-xlarge{font-size:125%!important}
html.a11y-readable-font body,
html.a11y-readable-font button,
html.a11y-readable-font input,
html.a11y-readable-font select,
html.a11y-readable-font textarea{font-family:Arial,Verdana,sans-serif!important;letter-spacing:.015em!important}
html.a11y-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html.a11y-large-controls button,
html.a11y-large-controls input,
html.a11y-large-controls select,
html.a11y-large-controls textarea{min-height:50px!important}
html.a11y-reduce-motion *,
html.a11y-reduce-motion *::before,
html.a11y-reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* Kontrast gezielt anwenden; Dialoge bleiben dabei vollständig gestaltet. */
html.a11y-contrast body{background:#000!important;color:#fff!important}
html.a11y-contrast .panel,
html.a11y-contrast .viewer-section,
html.a11y-contrast .legal-card,
html.a11y-contrast .notice,
html.a11y-contrast .model-card,
html.a11y-contrast .mesh-check{background:#050505!important;border-color:#fff!important;color:#fff!important}
html.a11y-contrast .sl-modal-card{background:#050505!important;border-color:#fff!important}
html.a11y-contrast .sl-modal p,
html.a11y-contrast .sl-toggle-list small,
html.a11y-contrast .sl-cookie-summary span,
html.a11y-contrast .sl-setting-card p{color:#fff!important}

:focus-visible{outline:3px solid #67e8f9!important;outline-offset:3px!important}

@media(max-width:620px){
  .sl-modal{padding:10px 8px!important}
  .sl-modal-card{padding:16px!important;border-radius:17px!important}
  .sl-cookie-summary{grid-template-columns:1fr!important}
  .sl-modal-actions{grid-template-columns:1fr!important}
  .sl-setting-card{align-items:flex-start!important}
  .sl-segmented{grid-template-columns:1fr!important}
  .footer-actions{gap:6px!important}
  .footer-actions a,.footer-tool-button{font-size:.74rem!important;padding:7px 9px!important}
}
