:root{
  --rp-bg:#0b1020;
  --rp-bg-soft:#11192d;
  --rp-panel:rgba(17,24,39,.82);
  --rp-panel-strong:rgba(17,24,39,.94);
  --rp-panel-2:rgba(22,31,52,.88);
  --rp-border:rgba(125,211,252,.18);
  --rp-border-strong:rgba(125,211,252,.34);
  --rp-text:#f8fafc;
  --rp-muted:#c9d4e7;
  --rp-accent:#7dd3fc;
  --rp-accent-2:#fbbf24;
  --rp-shadow:0 24px 60px rgba(2,6,23,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at top left, rgba(125,211,252,.14), transparent 28%),
    radial-gradient(circle at top right, rgba(251,191,36,.10), transparent 24%),
    linear-gradient(180deg,#09111f 0%,#0d1628 42%,#0b1120 100%) !important;
  color:var(--rp-text) !important;
}
a{transition:color .18s ease, transform .18s ease, border-color .18s ease, background .18s ease}
a:hover{transform:translateY(-1px)}
.container{position:relative}
.topbar,.hero,.section,.card,.panel,.stat-card,.wrap,.card{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.topbar{
  position:sticky;
  top:14px;
  z-index:50;
  padding:14px 16px;
  margin-bottom:24px !important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(11,17,32,.84),rgba(13,22,40,.88));
  box-shadow:0 16px 36px rgba(2,6,23,.22);
}
.btn{
  border:1px solid rgba(125,211,252,.24) !important;
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(18,28,48,.96)) !important;
  color:var(--rp-text) !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(2,6,23,.22) !important;
}
.btn:hover{
  border-color:rgba(125,211,252,.44) !important;
  background:linear-gradient(180deg,rgba(20,30,52,.98),rgba(22,34,58,.98)) !important;
}
.hero,.section,.card,.stat-card,.panel,.wrap,.container .card{
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:var(--rp-shadow) !important;
}
.hero,.section,.container .card{
  background:linear-gradient(180deg,rgba(17,24,39,.78),rgba(15,23,42,.92)) !important;
}
.panel,.card,.stat-card{
  background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(17,24,39,.92)) !important;
}
.brand h1,h1,h2,.panel h2,.panel h3,.section h2,.card h3{
  color:var(--rp-text) !important;
  letter-spacing:-.03em;
}
.brand h1,h1{line-height:1.08 !important}
.brand p,.panel p,.section p,p,li,td,th,.footer,.footer-note,span{
  color:var(--rp-muted) !important;
}
.category{
  background:rgba(125,211,252,.12) !important;
  color:#b9ecff !important;
  border:1px solid rgba(125,211,252,.16);
}
.search-input{
  border:1px solid rgba(125,211,252,.22) !important;
  background:rgba(10,15,28,.92) !important;
  color:var(--rp-text) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
}
.search-input:focus{
  border-color:rgba(125,211,252,.48) !important;
  box-shadow:0 0 0 4px rgba(125,211,252,.10);
}
.stat-card strong{color:var(--rp-accent-2) !important}
.hero img{
  box-shadow:0 18px 30px rgba(2,6,23,.18);
}
table{overflow:hidden;border-radius:16px}
th{
  color:#eef6ff !important;
  background:rgba(125,211,252,.06);
}
tr:last-child td,tr:last-child th{border-bottom:none}
.faq-item:first-of-type{border-top:none}
.footer,.footer-note{
  padding:12px 0 4px;
}
.wrap{
  background:linear-gradient(180deg,rgba(17,24,39,.78),rgba(15,23,42,.92));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--rp-shadow);
}
.wrap h1{margin-top:0;margin-bottom:12px}
.wrap a{color:#d6f3ff}
.wrap a:hover{color:#fff}
@media (max-width:800px){
  .topbar{top:8px;padding:12px 13px;border-radius:18px}
  .hero,.section,.panel,.card,.stat-card,.wrap,.container .card{border-radius:18px !important}
  .wrap{padding:20px}
}


/* Critical home-page polish to avoid old-UI flash before JS finishes */
.wrap1280{
  padding-left:clamp(10px,2vw,20px);
  padding-right:clamp(10px,2vw,20px);
}
.header-section ._header-top ._left h2,
.Main-section ._left ._content-wrap ._left-top-content p{
  font-weight:800 !important;
  letter-spacing:-.04em !important;
}
.Main-section{
  max-width:1280px;
  margin-left:auto !important;
  margin-right:auto !important;
}
.Main-section ._left ._content-wrap,
.Main-section ._right ._content-wrap{
  background:linear-gradient(180deg,rgba(21,27,39,.96) 0%,rgba(15,19,28,.98) 100%) !important;
  border:1px solid rgba(255,255,255,.05) !important;
  border-radius:20px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}
.Main-section ._left ._content-wrap ._left-top-content p{
  font-size:clamp(1.25rem,2vw,1.95rem) !important;
  line-height:1.04 !important;
  margin:0 !important;
}
.Main-section ._left ._content-wrap ._image-wrap ._main-image{
  background:#090c10 !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:16px !important;
}
.Main-section ._left ._content-wrap ._image-wrap ._sub-images{
  border:1px solid rgba(255,255,255,.05) !important;
  border-radius:14px !important;
}
.header-section ._header-main ._menu-wrap.Desktop{
  gap:10px !important;
}
.header-section ._header-main ._menu-wrap.Desktop ._menu-item > div,
.header-section ._header-main ._menu-wrap.Mobile ._menu-item > div,
.header-section ._header-main ._menu-wrap.Mobile ._menu-item .mat-expansion-panel-header{
  border-radius:16px !important;
}
@media (max-width:767px){
  .Main-section ._left ._content-wrap,
  .Main-section ._right ._content-wrap{
    border-radius:18px !important;
    padding:14px !important;
  }
  .Main-section ._left ._content-wrap ._left-top-content p{
    font-size:clamp(1rem,4.2vw,1.2rem) !important;
    line-height:1.12 !important;
  }
}


/* Mobile menu performance optimization */
@media (max-width: 767px){
  .header-section ._header-main{
    left: 0 !important;
    right: auto !important;
    transform: translate3d(-108%,0,0) !important;
    transition: transform .24s ease-out !important;
    will-change: transform !important;
    backface-visibility: hidden;
    contain: layout paint style;
  }
  .header-section ._header-main._translate{
    transform: translate3d(0,0,0) !important;
  }
  .header-section ._header-main ._menu-wrap.Mobile{
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: -10px 0 24px rgba(0,0,0,.22) !important;
  }
  .header-section ._header-main ._menu-wrap,
  .header-section ._header-main ._menu-wrap ._menu-item,
  .header-section ._header-main ._menu-wrap ._menu-item ._sub-menu,
  .header-section ._header-main ._menu-wrap ._menu-item ._sub-menu-mobile,
  .header-section ._header-main ._menu-wrap ._menu-item .mat-expansion-panel-header,
  .header-section ._header-main ._menu-wrap ._menu-item .panel{
    transition-property: transform, opacity, background-color, border-color, box-shadow !important;
    transition-duration: .18s !important;
    transition-timing-function: ease !important;
  }
  .header-section ._header-main ._menu-wrap ._menu-item ._sub-menu,
  .header-section ._header-main ._menu-wrap ._menu-item ._sub-menu-mobile{
    will-change: auto !important;
  }
}

/* Root scroll/overscroll paint stabilization */
html,
body{
  min-height:100%;
  background:#0b1120 !important;
}
html{
  background-color:#0b1120 !important;
  overscroll-behavior-y:none;
  overscroll-behavior-x:none;
}
body{
  background-color:#0b1120 !important;
  overscroll-behavior-y:none;
  overscroll-behavior-x:none;
}
app-root,
app-home,
main,
.mat-drawer-container,
.cdk-overlay-container{
  display:block;
  background:transparent !important;
}
/* Prevent white flash at scroll extremes on mobile browsers */
@media (max-width: 767px){
  html,
  body,
  app-root{
    background:#0b1120 !important;
  }
  body{
    position:relative;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
  }
  body::before,
  body::after{
    content:"";
    position:fixed;
    left:0;
    width:100%;
    height:32px;
    background:#0b1120;
    pointer-events:none;
    z-index:0;
    transform:translateZ(0);
  }
  body::before{top:0;}
  body::after{bottom:0;}

  .header-section,
  .Main-section,
  .footer-section,
  #radcc-footer{
    position:relative;
    z-index:1;
    backface-visibility:hidden;
    transform:translateZ(0);
  }
}

/* Mobile submenu speed optimization */
@media (max-width: 767px){
  .header-section ._header-main ._menu-wrap.Mobile .mat-accordion,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-content,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-indicator,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu-mobile,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu{
    transition: none !important;
    animation: none !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel {
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    contain: layout paint;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-spacing {
    margin: 0 !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header {
    min-height: 56px !important;
    height: 56px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    will-change: auto !important;
    transform: translateZ(0);
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel.mat-expanded > .mat-expansion-panel-header {
    height: 56px !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-content {
    display: block !important;
    overflow: hidden !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body {
    padding-top: 8px !important;
    padding-bottom: 10px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-indicator::after {
    transition: none !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile ._menu-item,
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item > div,
  .header-section ._header-main ._menu-wrap.Mobile .panel {
    box-shadow: none !important;
  }
}

/* Deep mobile submenu performance fixes - March 2026 */
@media (max-width: 767px){
  /* Neutralize expensive visual effects inside the mobile drawer tree */
  .header-section ._header-main,
  .header-section ._header-main *,
  .header-section ._header-main *::before,
  .header-section ._header-main *::after{
    -webkit-tap-highlight-color: transparent;
  }

  .header-section ._header-main ._menu-wrap.Mobile,
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item,
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item > div,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body,
  .header-section ._header-main ._menu-wrap.Mobile .panel,
  .header-section ._header-main ._menu-wrap.Mobile ._m-content,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu-mobile{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    filter:none !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }

  /* Remove hover-like transforms and long-running repaints in touch UI */
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item,
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item:hover,
  .header-section ._header-main ._menu-wrap.Mobile ._menu-item:active,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header:hover,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header:active,
  .header-section ._header-main ._menu-wrap.Mobile a,
  .header-section ._header-main ._menu-wrap.Mobile a:hover,
  .header-section ._header-main ._menu-wrap.Mobile a:active{
    transform:none !important;
  }

  /* Reduce nested scrolling/compositing overhead */
  .header-section ._header-main ._menu-wrap.Mobile{
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    contain:layout paint style;
  }

  .header-section ._header-main ._menu-wrap.Mobile ._menu-item{
    contain:layout paint;
    content-visibility:auto;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-accordion,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-content,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu-mobile,
  .header-section ._header-main ._menu-wrap.Mobile ._m-content{
    contain:layout paint;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-content{
    visibility:visible !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body,
  .header-section ._header-main ._menu-wrap.Mobile ._sub-menu-mobile,
  .header-section ._header-main ._menu-wrap.Mobile ._m-content{
    overflow:visible !important;
  }

  /* Make click targets simpler and lighter */
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header,
  .header-section ._header-main ._menu-wrap.Mobile ._Mhead{
    border:1px solid rgba(255,255,255,.06) !important;
    background:#161b22 !important;
  }

  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header-title,
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-header-description,
  .header-section ._header-main ._menu-wrap.Mobile ._Mhead,
  .header-section ._header-main ._menu-wrap.Mobile h2{
    will-change:auto !important;
  }

  /* Hide desktop menu tree completely from hit-testing on mobile */
  .header-section ._header-main ._menu-wrap.Desktop{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}


/* Performance pass v5 */
img{height:auto;}
@media (max-width: 767px){
  .header-section ._header-main ._menu-wrap.Mobile .mat-expansion-panel-body{content-visibility:auto;contain-intrinsic-size:1px 240px;}
}
@media (min-width: 768px){
  .header-section ._header-main ._menu-wrap.Desktop ._sub-menu{backface-visibility:hidden;transform:translateZ(0);}
}


/* Performance pass v6 */
html{scroll-behavior:smooth;}
body{ text-rendering:optimizeSpeed; }
app-root{ display:block; contain:layout style paint; }
@supports (content-visibility:auto){
  .container > .section,
  .container .sample-grid .card,
  .container #topicsGrid .card,
  .container .faq-item,
  .container .footer,
  .container .footer-note,
  .container .stats,
  .container .hero,
  .container .panel{
    content-visibility:auto;
    contain-intrinsic-size:1px 500px;
  }
}
img[loading="lazy"]{contain:paint;}

@media (max-width:768px){*,*::before,*::after{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;backdrop-filter:none!important}}
