/* Consistent navigation and controls on all secondary pages. */
.tfw-secondary-topbar{
  gap:clamp(12px,1.7vw,25px);
  background:linear-gradient(180deg,rgba(8,6,16,.93),rgba(8,6,16,.68));
  backdrop-filter:blur(17px);
  -webkit-backdrop-filter:blur(17px);
}
.tfw-secondary-topbar .brand{flex-shrink:0}
.tfw-secondary-topbar .brand-ryze-logo{width:clamp(76px,7.5vw,102px);height:auto;object-fit:contain}
.tfw-secondary-topbar .tfw-secondary-nav{display:flex!important;align-items:center;gap:clamp(9px,1.35vw,20px);min-width:0;flex:1;justify-content:flex-end}
.tfw-secondary-topbar .tfw-secondary-nav>a{white-space:nowrap}
.tfw-secondary-topbar .language-widget{
  display:flex!important;flex:0 0 auto;
  min-width:88px;
  max-width:124px;
  margin:0;
  border-radius:999px;
  background:rgba(14,10,24,.87);
}
.tfw-secondary-topbar .language-widget select,
.tfw-secondary-topbar .language-widget .gt_selector,
.tfw-secondary-topbar .gtranslate_wrapper select{
  appearance:none!important;
  background-color:#171020!important;
  color:#fff!important;
  color-scheme:dark;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:999px!important;
  min-height:34px;
}
.tfw-secondary-topbar .language-widget select option,
.tfw-secondary-topbar .gtranslate_wrapper select option{
  background:#171020!important;
  color:#fff!important;
}
.tfw-secondary-topbar .nav-button,.tfw-secondary-topbar .sound-button{white-space:nowrap;flex:0 0 auto}
.tfw-secondary-topbar .tfw-secondary-mobile{display:none;align-items:center;gap:10px}
.tfw-secondary-drawer{
  position:absolute;top:calc(100% + 7px);right:14px;
  width:min(270px,calc(100vw - 28px));z-index:1200;
  padding:10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:15px;
  background:rgba(13,10,22,.97);
  box-shadow:0 20px 60px rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
}
.tfw-secondary-drawer[hidden]{display:none!important}
.tfw-secondary-drawer>a,.tfw-secondary-drawer button{
  display:block;width:100%;box-sizing:border-box;
  padding:13px 14px;border:0;border-radius:8px;
  background:transparent;color:#fff;
  text-align:left;font:800 10px/1.2 Arial,sans-serif;letter-spacing:.1em;
  cursor:pointer;
}
.tfw-secondary-drawer>a:hover,.tfw-secondary-drawer button:hover{background:rgba(242,63,178,.14)}
@media(max-width:1250px){
  .tfw-secondary-topbar .brand-copy{display:none}
  .tfw-secondary-topbar .tfw-secondary-nav{gap:12px}
}
@media(max-width:890px){
  .tfw-secondary-topbar{gap:12px}
  .tfw-secondary-topbar .tfw-secondary-nav{display:none!important}
  .tfw-secondary-topbar .tfw-secondary-mobile{display:flex}
  .tfw-secondary-topbar .language-widget{margin-left:auto;min-width:85px}
}
@media(max-width:480px){
  .tfw-secondary-topbar .brand-ryze-logo{width:68px}
  .tfw-secondary-topbar .language-widget{min-width:74px;max-width:86px}
  .tfw-secondary-topbar .tfw-secondary-mobile{gap:6px}
  .tfw-secondary-topbar{padding-inline:12px}
}


/* V47 — actual centred desktop navigation, separate edge controls. */
@media(min-width:1301px){
  .tfw-secondary-topbar .tfw-secondary-nav{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:max-content!important;
    max-width:calc(100vw - 340px)!important;
    margin:0!important;
    flex:none!important;
    justify-content:center!important;
    gap:clamp(12px,1.25vw,22px)!important;
  }
  .tfw-secondary-topbar .language-widget{margin-left:auto!important}
}
@media(min-width:890px) and (max-width:1300px){
  .tfw-secondary-topbar .brand-copy{display:none}
  .tfw-secondary-topbar .tfw-secondary-nav{
    justify-content:center!important;
    flex:1 1 auto!important;
    margin:0 auto!important;
    gap:12px!important;
  }
  .tfw-secondary-topbar .language-widget{margin-left:0}
}
/* Hide controls inside the mobile drawer only when the viewport is small. */
@media(max-width:1019px){
  .tfw-secondary-topbar .tfw-secondary-nav{display:none!important}
  .tfw-secondary-topbar .tfw-secondary-mobile{display:flex!important}
  .tfw-secondary-topbar .language-widget{margin-left:auto!important}
}
@media(min-width:1020px) and (max-width:1300px){
  .tfw-secondary-topbar .tfw-secondary-nav{display:flex!important}
  .tfw-secondary-topbar .tfw-secondary-mobile{display:none!important}
}
.tfw-footer-creator{
  display:flex;align-items:center;justify-content:flex-end;
  gap:16px;min-width:0;
}
.tfw-footer-logo{
  display:block!important;
  width:clamp(84px,8vw,132px)!important;
  max-width:none!important;
  height:auto!important;
  max-height:90px;
  object-fit:contain;
  flex-shrink:0;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.4));
}
.tfw-footer-creator .creator-chip{white-space:nowrap}
.article-page footer>.tfw-footer-creator{justify-self:end}
.intel-archive-page .archive-footer>.tfw-footer-creator{flex-shrink:0}
@media(max-width:900px){
  .tfw-footer-creator{justify-content:center;flex-wrap:wrap;gap:9px}
  .article-page footer>.tfw-footer-creator{justify-self:center}
  .tfw-footer-logo{width:96px!important}
}

/* Shared on-site Share popup, matching the homepage rather than Web Share. */
#tfwSecondaryModalBackdrop{z-index:5999!important}
#tfwSecondaryShareModal{
  z-index:6000!important;
  width:min(650px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 46px);
  overflow-y:auto;
  box-sizing:border-box;
}
#tfwSecondaryShareModal .tfw-share-brand{
  display:block;width:105px;height:auto;max-height:68px;
  margin-bottom:20px;object-fit:contain;object-position:left;
}
.tfw-secondary-modal-open{overflow:hidden}

/* Direct loads wait for real content + hero image + fonts. */
#tfwPageLoader{
  position:fixed;inset:0;z-index:5100;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:15px;
  background:radial-gradient(circle at 50% 46%,#20112a,#08070d 65%);
  color:white;
}
#tfwPageLoader[hidden]{display:none!important}
#tfwPageLoader img{width:clamp(85px,12vw,130px);height:auto;filter:drop-shadow(0 0 20px rgba(242,63,178,.22))}
#tfwPageLoader .tfw-page-loader-caption{
  font:900 clamp(14px,2vw,24px)/1.2 Arial,sans-serif;
  letter-spacing:.19em;margin:0;
}
#tfwPageLoader .tfw-page-loader-meter{
  display:block;width:min(220px,54vw);height:2px;
  background:rgba(255,255,255,.12);
  overflow:hidden;border-radius:5px;
}
#tfwPageLoader .tfw-page-loader-meter:after{
  content:'';display:block;width:43%;height:100%;
  background:linear-gradient(90deg,#ffa366,#f23fb2,#8970fc);
  animation:tfwPageLoading 1.6s ease-in-out infinite alternate;
}
@keyframes tfwPageLoading{from{transform:translateX(-100%)}to{transform:translateX(330%)}}
#tfwPageLoader .tfw-page-loader-retry{
  background:#f23fb2;color:white;border:0;border-radius:8px;
  padding:12px 18px;font:900 11px/1 Arial,sans-serif;cursor:pointer;
}
#tfwPageLoader .tfw-page-loader-retry[hidden]{display:none!important}
html.tfw-page-booting{overflow:hidden}
html.tfw-page-load-error #tfwPageLoader .tfw-page-loader-meter{display:none}

/* The sound-owning document remains mounted under the full-viewport page.
   The new page only becomes visible after its assets have been prepared. */
#tfwSeamlessShell{
  position:fixed;inset:0;z-index:28000;
  background:#08070e;overflow:hidden;
  isolation:isolate;
}
#tfwSeamlessShell[hidden]{display:none!important}
#tfwSeamlessShell iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;background:#08070e;
  transition:opacity .34s ease;
}
#tfwSeamlessShell .tfw-frame-preloading{opacity:0;pointer-events:none}
#tfwSeamlessShell .tfw-frame-visible{opacity:1;pointer-events:auto}
#tfwSeamlessShell .tfw-seamless-progress{
  position:absolute;inset:0;z-index:3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;text-align:center;
  background:radial-gradient(circle at 50% 46%,#23122e,#08070d 66%);
  color:#fff;
}
#tfwSeamlessShell .tfw-seamless-progress[hidden]{display:none!important}
#tfwSeamlessShell .tfw-seamless-progress img{
  width:clamp(100px,11vw,145px);
  height:auto;filter:drop-shadow(0 0 26px rgba(242,63,178,.21));
}
#tfwSeamlessShell .tfw-seamless-progress p{
  margin:0;font:900 clamp(16px,2vw,24px)/1.1 Arial,sans-serif;
  letter-spacing:.17em;
}
#tfwSeamlessShell .tfw-seamless-progress span{
  font:700 12px/1.5 Arial,sans-serif;color:rgba(255,255,255,.67)
}
#tfwSeamlessShell .tfw-seamless-direct{
  padding:12px 18px;border:1px solid rgba(255,255,255,.34);
  border-radius:12px;font:800 11px/1.3 Arial,sans-serif;
}
body.tfw-route-overlay-open{overflow:hidden!important}
@media(prefers-reduced-motion:reduce){
 #tfwSeamlessShell iframe,#tfwPageLoader .tfw-page-loader-meter:after{animation:none;transition:none}
}


/* The original document remains alive under an iframe. Hide its last
   cursor position; the embedded page draws the pointer at the true location. */
body.tfw-route-overlay-open > #tfwGlobalCursor,
body.tfw-route-overlay-open > .cursor-glow{
  display:none!important;
}


/* V47 — restore the original route-loader design on BOTH loading paths:
   full page load and seamless in-site navigation.  A real progress value,
   not the replacement indeterminate travelling glow, fills the old track. */
#tfwPageLoader,
#tfwSeamlessShell .tfw-seamless-progress{
  background:
    radial-gradient(circle at 28% 40%,rgba(242,63,178,.13),transparent 24%),
    radial-gradient(circle at 44% 58%,rgba(119,96,255,.11),transparent 28%),
    rgba(7,6,10,.96)!important;
}
#tfwPageLoader .route-loader-inner,
#tfwSeamlessShell .tfw-seamless-progress .route-loader-inner{
  position:relative;
  width:min(430px,82vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
#tfwPageLoader .route-loader-inner img,
#tfwSeamlessShell .tfw-seamless-progress .route-loader-inner img{
  width:clamp(82px,10vw,126px)!important;
  height:auto!important;
  max-height:120px!important;
  object-fit:contain!important;
  opacity:1!important;
  transform:none!important;
  filter:drop-shadow(0 0 28px rgba(242,63,178,.24));
  transition:none!important;
}
#tfwPageLoader .route-loader-kicker,
#tfwSeamlessShell .tfw-seamless-progress .route-loader-kicker{
  display:block;
  margin-top:18px!important;
  color:var(--accent,#f23fb2)!important;
  font:900 7px/1 Arial,sans-serif!important;
  letter-spacing:.24em!important;
}
#tfwPageLoader .tfw-page-loader-caption,
#tfwSeamlessShell .tfw-seamless-progress .tfw-seamless-caption{
  display:block;
  margin:10px 0 0!important;
  padding:0!important;
  color:#fff!important;
  font:900 clamp(16px,2.2vw,24px)/1 "Arial Black",Impact,sans-serif!important;
  letter-spacing:.08em!important;
}
#tfwPageLoader .route-loader-track,
#tfwSeamlessShell .tfw-seamless-progress .route-loader-track{
  display:block!important;
  position:relative!important;
  width:min(290px,72vw)!important;
  height:2px!important;
  margin-top:24px!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:rgba(255,255,255,.09)!important;
  opacity:1!important;
}
#tfwPageLoader .route-loader-track i,
#tfwSeamlessShell .tfw-seamless-progress .route-loader-track i{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  transform:scaleX(0);
  transform-origin:left center!important;
  animation:none!important;
  transition:transform .32s cubic-bezier(.2,.78,.24,1)!important;
  background:linear-gradient(90deg,var(--accent-3,#8f75ff),var(--accent,#f23fb2),var(--accent-2,#ff9c43))!important;
  box-shadow:0 0 18px var(--accent,#f23fb2)!important;
}
#tfwPageLoader .tfw-page-loader-retry{margin-top:24px}
#tfwSeamlessShell .tfw-seamless-progress .tfw-seamless-direct{margin-top:24px}
@media(prefers-reduced-motion:reduce){
  #tfwPageLoader .route-loader-track i,
  #tfwSeamlessShell .route-loader-track i{transition:none!important}
}

/* V48 — share modal badge slightly larger on secondary routes. */
#tfwSecondaryShareModal .tfw-share-brand{
 width:clamp(150px,17vw,192px)!important;
 max-height:110px!important;
 height:auto!important;
 margin:0 0 24px!important;
}
@media(max-width:550px){
 #tfwSecondaryShareModal .tfw-share-brand{width:140px!important;max-height:90px!important}
}
