/* DataSearch: neutral surfaces, white accents, readable controls. */
:root,
html body :is(.main,.sidebar,.topbar,.top-bar,.header,.page-view,#zLoginGate,#landingPage){
  --bg:#181818!important;--bg2:#202020!important;--bg3:#292929!important;--card:#242424!important;
  --purple:#fff!important;--purple2:#ececec!important;--lavender:#fff!important;
  --violet:#fff!important;--violet2:#ececec!important;--pink:#fff!important;--accent:#fff!important;
  --white:#fff!important;--text:#f5f5f5!important;--text2:#d4d4d4!important;--text3:#aaa!important;
  --muted:#b8b8b8;--border:rgba(255,255,255,.24)!important;--border2:rgba(255,255,255,.13)!important;
  --ok:#4ade80;--danger:#f87171;--warn:#fbbf24;
  color-scheme:dark;
}
html{background:#181818;color:#f5f5f5;}
body{background:linear-gradient(180deg,#202020,#181818)!important;color:#f5f5f5!important;}
::selection{background:#fff;color:#111;}

/* Two white background lights, with no filter on the page or fixed navigation. */
html body #landingPage{background:linear-gradient(180deg,#191919,#111 75%,#181818)!important;color:#fff!important;isolation:isolate;}
html body #landingPage::before,html body #landingPage::after{
  content:""!important;display:block!important;position:fixed!important;
  pointer-events:none!important;z-index:0!important;border-radius:50%!important;
  opacity:1!important;filter:none!important;
}
html body #landingPage::before{
  top:8%!important;left:8%!important;right:auto!important;bottom:auto!important;
  width:min(640px,70vw)!important;height:min(640px,70vw)!important;
  background:radial-gradient(circle,rgba(255,255,255,.17),rgba(255,255,255,.055) 38%,transparent 70%)!important;
}
html body #landingPage::after{
  bottom:9%!important;right:7%!important;top:auto!important;left:auto!important;
  width:min(560px,66vw)!important;height:min(560px,66vw)!important;
  background:radial-gradient(circle,rgba(255,255,255,.13),rgba(255,255,255,.035) 40%,transparent 70%)!important;
}
html body #landingPage :is(.landing-navbar,.landing-hero,.landing-stats,.landing-features,.landing-faq,.landing-footer,.zresults-showcase,.z-home-security-lock-section){z-index:1;}
html body #landingPage .landing-navbar{z-index:100!important;background:rgba(25,25,25,.94)!important;border-color:rgba(255,255,255,.14)!important;}
html body #landingPage :is(.landing-gradient-text,.landing-hero-title,.landing-features-title,.zresults-title,.z-home-security-title,.landing-faq-title,.landing-logo span){
  color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 0 24px rgba(255,255,255,.14)!important;
}
html body #landingPage :is(.landing-hero-desc,.landing-features-desc,.zresults-subtitle,.z-home-security-desc,.landing-feature-card p,.landing-faq-answer,.landing-stat-label){color:#c7c7c7!important;}
html body #landingPage :is(.landing-feature-card,.zresults-card,.z-home-security-card){
  background:linear-gradient(180deg,#262626,#202020)!important;border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.2)!important;
}
html body #landingPage :is(.landing-feature-card,.zresults-card,.z-home-security-card):hover{background:#2c2c2c!important;border-color:rgba(255,255,255,.34)!important;}
html body #landingPage :is(.landing-feature-icon,.zresults-card-icon,.z-home-security-card-icon){color:#fff!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.2)!important;}
html body #landingPage .landing-eye-svg{filter:drop-shadow(0 0 16px rgba(255,255,255,.23))!important;}
html body #landingPage stop{stop-color:#fff!important;}
html body #landingPage .landing-eye-pupil{fill:#fff!important;}

/* Logged-in pages share the same brighter neutral palette. */
html body :is(.main,.page-view,#page-search,#page-discord-osint,#page-data,#page-profile,#page-api,#page-pricing,#page-avion-tracker){
  color:#f5f5f5!important;background:linear-gradient(180deg,#202020,#191919)!important;
}
html body .sidebar{background:linear-gradient(180deg,#282828,#212121)!important;border-color:rgba(255,255,255,.18)!important;}
html body .sidebar::before{content:"DataSearch"!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;text-shadow:0 0 16px rgba(255,255,255,.15)!important;}
html body .sidebar-logo .brand{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;}
html body .sidebar .nav-item{color:#d4d4d4!important;}
html body .sidebar .nav-item:hover{background:#333!important;color:#fff!important;}
html body .sidebar .nav-item.active{background:#3c3c3c!important;color:#fff!important;border-color:rgba(255,255,255,.3)!important;box-shadow:inset 3px 0 0 #fff!important;}
html body .sidebar :is(.nav-icon,.badge){color:#fff!important;filter:none!important;}
html body :is(.topbar,.top-bar,.header,.ds-mobile-appbar){background:#282828!important;border-color:rgba(255,255,255,.16)!important;}
html body :is(#page-search,#page-discord-osint,#page-data,#page-profile,#page-api,#page-pricing,.admin-wrap) :is(.panel,.card,.search-card,.results-card,.db-card,.data-toolbar,.profile-hero-card,.profile-main-card,.profile-edit-card,.profile-history-card,.profile-premium-strip,.profile-sync-info,.pricing-slide,.smart-result,.zsmart-result,.qdb-result,.zai-panel,.stat-card,.user-card,.legal-panel),
html body :is(.panel,.card,.search-card,.results-card,.db-card,.data-toolbar,.profile-hero-card,.profile-main-card,.profile-edit-card,.profile-history-card,.profile-premium-strip,.profile-sync-info,.pricing-slide,.smart-result,.zsmart-result,.qdb-result,.zai-panel,.stat-card,.user-card,.legal-panel){
  background:linear-gradient(180deg,#2a2a2a,#232323)!important;border-color:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 32px rgba(0,0,0,.18)!important;
}
html body .main :is(.db-card,.smart-result,.zsmart-result,.pricing-slide):hover{background:#303030!important;border-color:rgba(255,255,255,.32)!important;}
html body .main :is(.card-header,.smart-panel,.zsmart-panel,.smart-field,.zsmart-field){background:#303030!important;border-color:rgba(255,255,255,.14)!important;}
html body .main :is(.hero h1,.hero h2,.section-label,.alert-title,.page-title-icon,.stat-icon,.accent,.spark,.purple,.profile-edit-title){color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body .main :is(.hero-badge,.chip,.tag,.pill,.premium-pill,.kbd-hint){color:#e5e5e5!important;background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.2)!important;}
html body .main :is(.db-lines,.profile-history-sub,.result-source,.smart-source,.zsmart-source){color:#bdbdbd!important;}
html body .main :is(.db-name,.profile-username,.result-value,.smart-value,.zsmart-value){color:#f5f5f5!important;}

/* Login, registration and password recovery. */
html body #zLoginGate{background-color:#191919!important;}
html body #zLoginGate::before{background:radial-gradient(ellipse at 30% 40%,rgba(255,255,255,.075),transparent 65%)!important;}
html body #zLoginGate .z-login-form{background:#282828!important;border-color:rgba(255,255,255,.21)!important;box-shadow:0 18px 60px rgba(0,0,0,.25)!important;}
html body #zLoginGate :is(.brand-name,h1,h2,label){color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),textarea,select){
  background:#202020!important;color:#fff!important;border-color:rgba(255,255,255,.27)!important;caret-color:#fff;
}
html body :is(input,textarea)::placeholder{color:#aaa!important;opacity:1;}
html body :is(input,textarea,select):focus{border-color:#e2e2e2!important;box-shadow:0 0 0 3px rgba(255,255,255,.12)!important;}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:#fff;}

/* Filled white controls need dark text, including nested labels and icons. */
html body :is(.btn-search,.z-login-btn,.profile-save,.landing-btn-primary,.landing-modal-btn.primary,.zsmart-load-more-btn,.landing-search-box button,.top-actions a.primary),
html body #zResetPasswordForm .z-login-btn,
html body #page-profile .profile-save{
  background:linear-gradient(180deg,#fff,#e7e7e7)!important;color:#151515!important;-webkit-text-fill-color:#151515!important;
  border-color:#fff!important;text-shadow:none!important;box-shadow:0 6px 22px rgba(255,255,255,.09)!important;
}
html body :is(.btn-search,.z-login-btn,.profile-save,.landing-btn-primary,.landing-modal-btn.primary,.zsmart-load-more-btn,.landing-search-box button,.top-actions a.primary):hover,
html body #zResetPasswordForm .z-login-btn:hover{background:#fff!important;color:#111!important;}
html body :is(.btn-search,.z-login-btn,.profile-save,.landing-btn-primary,.landing-modal-btn.primary,.zsmart-load-more-btn,.landing-search-box button,.top-actions a.primary) :is(span,b,strong,svg){color:inherit!important;-webkit-text-fill-color:inherit!important;text-shadow:none!important;}
html body .alert-icon{background:#fff!important;color:#161616!important;text-shadow:none!important;}
html body .toggle:not(.off)::after{background:#171717!important;}
html body .toggle.off::after{background:#fff!important;}
html body :is(.landing-btn-secondary,.secondary,.sort-btn){background:#303030!important;color:#f5f5f5!important;border-color:rgba(255,255,255,.24)!important;}
html body :is(.sort-btn.active,.secondary:hover){background:#3c3c3c!important;color:#fff!important;border-color:rgba(255,255,255,.5)!important;}
html body :is(button,a,[role=button],input,textarea,select):focus-visible{outline:2px solid #fff!important;outline-offset:3px!important;}
html body button:disabled{cursor:not-allowed!important;opacity:.55;}

/* White plan accents and a legible ribbon. */
html body #page-pricing .pricing-slide[data-plan]{
  --plan-accent:#fff!important;--plan-accent-soft:rgba(255,255,255,.09)!important;
  --plan-accent-border:rgba(255,255,255,.3)!important;--plan-accent-border-active:rgba(255,255,255,.64)!important;
}
html body #page-pricing .pricing-slide[data-plan] :is(h3,.pricing-note,.pricing-pay){color:#fff!important;}
html body #page-pricing .pricing-slide[data-plan] .pricing-ribbon{background:#fff!important;color:#171717!important;border-color:#fff!important;text-shadow:none!important;}
html body #page-pricing .pricing-slide[data-plan] li::before{background:#fff!important;color:#171717!important;box-shadow:none!important;}
html body #page-pricing .pricing-slide[data-plan] button:not(.pricing-arrow){background:#fff!important;color:#171717!important;-webkit-text-fill-color:#171717!important;}

/* Keep useful feedback distinct without purple decoration. */
html body :is(.success,.ok,.status-success,.tag.green,.alert-tag.green,.badge.green){color:#86efac!important;background:rgba(74,222,128,.1)!important;border-color:rgba(74,222,128,.35)!important;}
html body :is(.danger,.error,.status-danger,.tag.red,.alert-tag.red,.badge.red){color:#fca5a5!important;background:rgba(248,113,113,.1)!important;border-color:rgba(248,113,113,.35)!important;}
html body :is(.warn,.warning,.status-warn,.tag.orange,.badge.orange){color:#fcd34d!important;background:rgba(251,191,36,.1)!important;border-color:rgba(251,191,36,.35)!important;}

/* Neutralize colored bitmap logos/avatars locally; never filter the document. */
html body img{filter:grayscale(1) brightness(1.12)!important;}
html body .db-logo svg{filter:grayscale(1) brightness(1.12)!important;}
html body #page-data .db-logo{background:#fff!important;border-color:rgba(255,255,255,.25)!important;}

body.ds-legal-page{font:16px/1.75 system-ui,sans-serif;min-height:100vh;margin:0;padding:36px max(22px,calc((100vw - 860px) / 2));box-sizing:border-box;}
.ds-legal-page h1{font-size:clamp(28px,5vw,48px);line-height:1.2;margin:52px 0 20px;color:#fff;}
.ds-legal-page p{color:#d4d4d4;}
.ds-legal-page a{color:#fff;text-underline-offset:4px;}

@media(max-width:860px){
  html.ds-mobile-app body .sidebar{background:#262626!important;}
  html.ds-mobile-app body .sidebar::before{display:none!important;content:none!important;}
  html.ds-mobile-app body .sidebar .nav-item.active{box-shadow:inset 0 2px 0 #fff!important;}
  html.ds-mobile-app body .sidebar .nav-item:focus-visible{outline-offset:-3px!important;}
  html.ds-mobile-app body .ds-mobile-account{background:#343434!important;color:#fff!important;}
  html.ds-mobile-app body .ds-mobile-appbar-mark{background:#fff!important;color:#171717!important;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important;}
  html body #landingPage::before,html body #landingPage::after{animation:none!important;}
}

/* Hover/focus feedback preserves each control's foreground contrast. */
html body :is(button,.btn,.landing-btn-primary,.landing-btn-secondary,.nav-item){
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease;
}
@media(hover:hover){
  html body :is(button,.btn,.landing-btn-primary,.landing-btn-secondary):not(:disabled):not([aria-disabled="true"]):hover{
    box-shadow:0 0 0 1px rgba(255,255,255,.32),0 6px 18px rgba(0,0,0,.2)!important;
  }
  html body :is(.btn-search,.z-login-btn,.profile-save,.landing-btn-primary,.zpd-primary-btn):not(:disabled):hover{
    background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;
    box-shadow:0 0 0 1px #fff,0 6px 22px rgba(255,255,255,.15)!important;
  }
  html body #page-profile :is(.zpd-action,.zpd-tab,.zpd-link):hover{
    color:#fff!important;background:#333!important;-webkit-text-fill-color:currentColor!important;
  }
}
html body :is(button,.btn):not(:disabled):active{box-shadow:inset 0 2px 5px rgba(0,0,0,.18)!important;}
html body #page-profile .zpp-card-icon{
  flex:0 0 42px;width:42px;height:42px;background:#f5f5f5!important;color:#171717!important;
  -webkit-text-fill-color:#171717!important;border:1px solid #fff;box-shadow:0 4px 14px rgba(255,255,255,.12)!important;
}
html body #page-profile .zpp-card-icon svg{display:block!important;width:24px!important;height:24px!important;stroke:currentColor!important;fill:none!important;opacity:1!important;}
html body #page-profile :is(.zpp-card-head p,.zpp-option em,.zpp-sub){color:#bfbfbf!important;}
html body #page-profile .zpp-option input:checked+i::before{background:#171717!important;}
html body #page-profile .zpp-option input:focus-visible+i{outline:2px solid #fff;outline-offset:4px;}
html body #page-profile :is(.zpd-tab,.zpd-action,.zpd-link){color:#dcdcdc!important;-webkit-text-fill-color:currentColor!important;}
html body #page-profile :is(.zpd-tab,.zpd-action,.zpd-link) svg{color:inherit!important;stroke:currentColor!important;opacity:1!important;}
html body #page-profile button:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important;}
html body #zTopProfileChip{background:#353535!important;color:#fff!important;border-color:rgba(255,255,255,.32)!important;}
html body #zTopProfileChip .z-top-profile-avatar{background:#fff!important;color:#171717!important;-webkit-text-fill-color:#171717!important;}
@media(max-width:860px){
  html.ds-mobile-app body.zft-route-active main.main{height:100dvh!important;max-height:100dvh!important;padding:0!important;}
  html.ds-mobile-app body.zft-route-active #page-flight-tracker{
    inset:calc(var(--ds-mobile-top,64px) + env(safe-area-inset-top,0px)) 0 calc(var(--ds-mobile-nav,76px) + env(safe-area-inset-bottom,0px) + 8px) 0!important;
    width:100%!important;height:auto!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body :is(button,.btn,.landing-btn-primary,.landing-btn-secondary,.nav-item){transition:none!important;}
}
