
:root{
  --tw-header:#000509;
  --tw-hero:#000103;
  --tw-input:#0B0E15;
  --tw-surface:#06101A;
  --tw-panel:#0D2746;
  --tw-blue:#008DF5;
  --tw-blue-bright:#39A8FF;
  --tw-btn-top:#2EA4FF;
  --tw-btn-bottom:#167DE8;
  --tw-text:#F3F3F4;
  --tw-text-2:#B7C2CC;
  --tw-muted:#7D91A5;
  --tw-warm:#F5A640;
  --tw-line:rgba(104,169,219,.28);
  --tw-header-h:80px;
  --tw-max:1536px;
}
*{box-sizing:border-box}
html{background:var(--tw-hero);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:#02050A;color:var(--tw-text);font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
button,input{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
svg{display:block}
.tw-app{min-height:100vh;background:#02050A}

/* ---------------- Exact 80px live header ---------------- */
.tw-header{height:80px;background:var(--tw-header);border-bottom:1px solid rgba(80,140,184,.30);position:relative;z-index:30}
.tw-header-inner{height:100%;max-width:1536px;margin:0 auto;padding:0 52px;display:flex;align-items:center}
.tw-brand{width:357px;height:64px;display:flex;align-items:center;overflow:hidden;flex:0 0 auto;outline:none}
.tw-brand img{display:block;width:357px;height:64px;object-fit:cover;transition:filter .16s ease-out,transform .16s ease-out}
.tw-brand:hover img,.tw-brand:focus-visible img{filter:brightness(1.08) drop-shadow(0 0 8px rgba(57,168,255,.58)) drop-shadow(0 0 16px rgba(57,168,255,.22))}
.tw-nav{margin-left:auto;height:100%;display:flex;align-items:center;gap:32px}
.tw-nav-link{height:100%;display:grid;place-items:center;position:relative;color:#F3F3F4;font-size:15px;font-weight:500;outline:none;white-space:nowrap}
.tw-nav-link:hover,.tw-nav-link:focus-visible,.tw-nav-link.is-active{color:var(--tw-blue-bright)}
.tw-nav-link.is-active:after{content:"";position:absolute;bottom:13px;height:2px;left:0;right:0;background:var(--tw-blue-bright);box-shadow:0 0 10px rgba(57,168,255,.55)}
.tw-nav-search{width:44px;height:44px;border:0;background:transparent;color:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;outline:none}
.tw-nav-search svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7}
.tw-nav-search:hover,.tw-nav-search:focus-visible{color:var(--tw-blue-bright);filter:drop-shadow(0 0 8px rgba(57,168,255,.55))}
.tw-login{height:48px;padding:0 17px;border:1px solid rgba(57,168,255,.58);border-radius:10px;display:grid;place-items:center;color:#F3F3F4;font-size:15px;transition:border-color .16s,box-shadow .16s,color .16s}
.tw-login:hover,.tw-login:focus-visible{color:var(--tw-blue-bright);border-color:var(--tw-blue-bright);box-shadow:0 0 14px rgba(57,168,255,.22)}
.tw-menu{display:none;margin-left:auto;width:44px;height:44px;border:1px solid rgba(57,168,255,.35);background:transparent;color:#fff;border-radius:10px}

/* ---------------- Hero is the approved exact art crop ---------------- */
.tw-hero{position:relative;width:100%;max-width:1536px;margin:0 auto;background:#000103;overflow:hidden;aspect-ratio:1536/733}
.tw-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;pointer-events:none}

/* Search overlay: exact reference geometry, coordinates relative to cropped hero */
.tw-global-search{position:absolute;left:25.5208%;top:41.2005%;width:48.6979%;height:8.0491%;z-index:5;display:grid;grid-template-columns:46px 1fr 126px;align-items:center;border:1px solid rgba(74,164,236,.62);border-radius:17px;background:rgba(11,14,21,.965);overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.25)}
.tw-global-search:focus-within{border-color:var(--tw-blue-bright);box-shadow:0 0 0 3px rgba(57,168,255,.11),0 10px 28px rgba(0,0,0,.25)}
.tw-global-search .tw-search-icon{width:24px;height:24px;margin-left:18px;fill:none;stroke:#F3F3F4;stroke-width:1.7;pointer-events:none}
.tw-global-search input{height:100%;width:100%;border:0;background:#0B0E15;color:var(--tw-text);outline:0;padding:0 12px;font-size:16px;font-weight:400}
.tw-global-search input::placeholder{color:#B7C2CC;opacity:.92}
.tw-global-search button{height:calc(100% - 10px);margin-right:5px;border:0;border-radius:13px;background:linear-gradient(180deg,var(--tw-btn-top),var(--tw-btn-bottom));color:white;font-weight:700;font-size:16px;cursor:pointer;transition:filter .12s,box-shadow .15s,transform .08s}
.tw-global-search button:hover,.tw-global-search button:focus-visible{filter:brightness(1.08);box-shadow:0 0 18px rgba(57,168,255,.32);outline:none}
.tw-global-search button:active{transform:translateY(1px);filter:brightness(.95)}

/* Category rollover hit areas aligned to the actual five baked reference icons.
   Measured icon centers at the 1536px reference width are approximately:
   Tech 445, AI 605, News 765, Reviews 925, Videos 1085.
   Therefore the interactive rail is 800px wide from x=365 to x=1165. */
.tw-category-rail{
  position:absolute;
  left:23.7630%;      /* 365 / 1536 */
  top:51.9782%;       /* 381 / 733 cropped hero */
  width:52.0833%;     /* 800 / 1536 */
  height:10.5048%;    /* ~77 / 733 */
  z-index:6;
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.tw-category{
  position:relative;
  border:0;
  background:transparent;
  color:transparent;
  cursor:pointer;
  outline:none;
  overflow:visible;
}

/* The reference image already contains the white icons and labels.
   Do not paint a duplicate SVG over them. */
.tw-category-live{
  position:absolute;
  inset:0;
  opacity:0!important;
  pointer-events:none;
}
.tw-category-live svg,
.tw-category-live span{
  opacity:0!important;
}

/* Cyan illumination centered exactly on each baked icon/label cell. */
.tw-category::before{
  content:"";
  position:absolute;
  left:50%;
  top:48%;
  width:92px;
  height:72px;
  transform:translate(-50%,-50%);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 33%,
      rgba(57,168,255,.30) 0,
      rgba(57,168,255,.13) 25%,
      rgba(57,168,255,.045) 48%,
      transparent 72%);
  opacity:0;
  filter:blur(2px);
  transition:opacity .16s ease-out,filter .16s ease-out;
  pointer-events:none;
}

/* A second tighter glow makes the icon look illuminated rather than boxed. */
.tw-category::after{
  content:"";
  position:absolute;
  left:50%;
  top:31%;
  width:48px;
  height:42px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,
    rgba(125,218,255,.34) 0,
    rgba(57,168,255,.18) 35%,
    transparent 72%);
  opacity:0;
  transition:opacity .16s ease-out;
  pointer-events:none;
}

.tw-category:hover::before,
.tw-category:focus-visible::before,
.tw-category.is-active::before{
  opacity:1;
  filter:blur(1px) drop-shadow(0 0 8px rgba(57,168,255,.42));
}
.tw-category:hover::after,
.tw-category:focus-visible::after,
.tw-category.is-active::after{
  opacity:1;
}
.tw-category:focus-visible{
  box-shadow:inset 0 0 0 1px rgba(57,168,255,.42);
  border-radius:10px;
}
.tw-category.is-active{
  background:linear-gradient(180deg,transparent 70%,rgba(57,168,255,.06));
}
/* ---------------- Hero Blog feed ---------------- */
.tw-blog{max-width:1320px;margin:0 auto;padding:36px 36px 80px}
.tw-blog-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--tw-line);padding-bottom:18px;margin-bottom:20px}
.tw-blog-title{margin:0;font-family:"Inter Tight","Inter",sans-serif;font-size:32px;line-height:1;font-weight:800;color:var(--tw-text)}
.tw-blog-title span{color:var(--tw-blue)}
.tw-blog-state{font-size:13px;color:var(--tw-muted);letter-spacing:.06em;text-transform:uppercase}
.tw-post{border:1px solid rgba(86,150,201,.24);border-radius:16px;background:linear-gradient(180deg,rgba(8,21,35,.96),rgba(4,12,21,.98));padding:24px 26px;margin-bottom:16px;transition:border-color .17s ease-out,box-shadow .17s ease-out,transform .17s ease-out}
.tw-post:hover,.tw-post:focus-within{border-color:rgba(57,168,255,.46);box-shadow:0 0 20px rgba(57,168,255,.08),0 20px 38px rgba(0,0,0,.25);transform:translateY(-1px)}
.tw-post-meta{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;color:var(--tw-blue-bright);letter-spacing:.08em;text-transform:uppercase}
.tw-post h2{font-family:"Inter Tight","Inter",sans-serif;margin:10px 0 8px;font-size:30px;line-height:1.12}
.tw-post-summary{margin:0;color:var(--tw-text-2);font-size:17px;line-height:1.6}
.tw-post details{margin-top:15px}
.tw-post summary{cursor:pointer;color:var(--tw-blue-bright);font-weight:600;outline:none}
.tw-post summary:focus-visible{box-shadow:0 0 0 2px rgba(57,168,255,.32);border-radius:4px}
.tw-post-body{padding-top:16px;color:#DDE7EE;font-size:17px;line-height:1.7;white-space:pre-wrap}
.tw-empty{border:1px solid rgba(86,150,201,.22);border-radius:16px;padding:34px;text-align:center;color:var(--tw-muted);background:#06101A}
.tw-load-error{padding:14px 16px;border:1px solid rgba(230,160,70,.25);border-radius:12px;color:#E3C699;background:rgba(112,74,24,.10);margin-bottom:18px}
.tw-footer{border-top:1px solid var(--tw-line);padding:28px;text-align:center;color:var(--tw-muted);background:#000509}

/* Search result announcement for screen readers */
.tw-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tw-noscript{padding:24px;background:#06101A;color:#F3F3F4}

/* ---------------- Mobile/tablet: retain art direction, prevent clipping ---------------- */
@media(max-width:1150px){
  .tw-header-inner{padding:0 28px}
  .tw-brand{width:285px;height:52px}.tw-brand img{width:290px;height:52px}
  .tw-nav{gap:18px}.tw-nav-link{font-size:14px}
}
@media(max-width:900px){
  :root{--tw-header-h:72px}
  .tw-header{height:72px}.tw-header-inner{padding:0 18px}
  .tw-brand{width:270px;height:50px}.tw-brand img{width:279px;height:50px}
  .tw-nav{display:none}
  .tw-menu{display:block}
  .tw-hero{aspect-ratio:1536/760;min-height:440px}
  .tw-hero-art{object-fit:cover;object-position:center top}
  .tw-global-search{left:12%;width:76%;top:43.2%;height:8.1%}
  .tw-category-rail{left:15%;width:70%;top:54%;height:10%}
  .tw-blog{padding:28px 22px 60px}
}
@media(max-width:620px){
  .tw-header-inner{padding:0 12px}
  .tw-brand{width:230px;height:44px}.tw-brand img{width:245px;height:44px}
  .tw-hero{aspect-ratio:auto;height:560px}
  .tw-hero-art{width:auto;height:560px;left:50%;transform:translateX(-50%);object-fit:contain;max-width:none}
  .tw-global-search{left:5%;width:90%;top:45%;height:54px;grid-template-columns:38px 1fr 92px}
  .tw-global-search .tw-search-icon{width:20px;height:20px;margin-left:12px}
  .tw-global-search input{font-size:14px;padding:0 8px}
  .tw-global-search button{font-size:14px}
  .tw-category-rail{left:4%;width:92%;top:56%;height:72px}
  .tw-category-live svg{width:25px;height:25px}.tw-category-live span{font-size:11px}
  .tw-blog{padding:24px 12px 50px}
  .tw-blog-title{font-size:26px}.tw-blog-state{display:none}
  .tw-post{padding:20px 18px}.tw-post h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

html,body,#tw-fallback{min-height:100%;}
.tw-app{display:block!important;visibility:visible!important;opacity:1!important;}


/* v2.0.5: category artwork stays white/static — no rollover effects */
.tw-category::before,
.tw-category::after,
.tw-category-live,
.tw-category-live svg,
.tw-category-live span{
  display:none!important;
  opacity:0!important;
}
.tw-category:hover,
.tw-category:focus-visible,
.tw-category.is-active{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  color:inherit!important;
}


/* v2.0.6 — top navigation icons + clean scoped rollover */
.tw-nav{
  margin-left:auto;
  height:100%;
  display:flex;
  align-items:center;
  gap:22px;
}

.tw-nav-link{
  height:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  position:relative;
  color:#F3F3F4;
  font-size:15px;
  font-weight:600;
  outline:none;
  white-space:nowrap;
  text-decoration:none;
  transition:color .16s ease,text-shadow .16s ease;
}

.tw-nav-link svg,
.tw-nav-search svg,
.tw-login svg{
  width:17px;
  height:17px;
  flex:0 0 17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:filter .16s ease,transform .16s ease;
}

.tw-nav-link::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:13px;
  width:0;
  height:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#39A8FF;
  box-shadow:0 0 8px rgba(57,168,255,.72);
  transition:width .16s ease;
}

.tw-nav-link:hover,
.tw-nav-link:focus-visible{
  color:#39A8FF;
  text-shadow:0 0 8px rgba(57,168,255,.40);
}

.tw-nav-link:hover svg,
.tw-nav-link:focus-visible svg{
  filter:drop-shadow(0 0 6px rgba(57,168,255,.70));
  transform:translateY(-1px);
}

.tw-nav-link:hover::after,
.tw-nav-link:focus-visible::after{
  width:100%;
}

/* Search is an icon-only circular control; no nav underline pseudo-element. */
.tw-nav-search{
  width:42px;
  height:42px;
  border:1px solid transparent;
  background:transparent;
  color:#F3F3F4;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  outline:none;
  transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.tw-nav-search svg{width:22px;height:22px;flex-basis:22px}
.tw-nav-search:hover,
.tw-nav-search:focus-visible{
  color:#39A8FF;
  border-color:rgba(57,168,255,.45);
  background:rgba(57,168,255,.06);
  box-shadow:0 0 12px rgba(57,168,255,.22);
}
.tw-nav-search:hover svg,
.tw-nav-search:focus-visible svg{
  filter:drop-shadow(0 0 7px rgba(57,168,255,.72));
}

/* Login remains the bordered button, now with a matching login icon. */
.tw-login{
  min-width:92px;
  height:44px;
  padding:0 15px;
  border:1px solid #0E5E93;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#F3F3F4;
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  background:transparent;
  outline:none;
  transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.tw-login:hover,
.tw-login:focus-visible{
  color:#39A8FF;
  border-color:#39A8FF;
  background:rgba(57,168,255,.055);
  box-shadow:0 0 12px rgba(57,168,255,.25),inset 0 0 10px rgba(57,168,255,.05);
}
.tw-login:hover svg,
.tw-login:focus-visible svg{
  filter:drop-shadow(0 0 6px rgba(57,168,255,.70));
}

/* Hero category icons remain baked white/static: no rollover effects. */
.tw-category::before,
.tw-category::after,
.tw-category-live,
.tw-category-live svg,
.tw-category-live span{
  display:none!important;
  opacity:0!important;
}
.tw-category:hover,
.tw-category:focus-visible,
.tw-category.is-active{
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

@media (max-width:1180px){
  .tw-nav{gap:14px}
  .tw-nav-link{font-size:14px;gap:5px}
  .tw-nav-link svg{width:15px;height:15px;flex-basis:15px}
  .tw-login{min-width:82px;padding:0 12px}
}


/* v2.0.7 — no forced active state on Home or any top nav item */
.tw-nav-link,
.tw-nav-link:visited{
  color:#F3F3F4;
  text-shadow:none;
}
.tw-nav-link::after{
  width:0;
}
.tw-nav-link:hover,
.tw-nav-link:focus-visible{
  color:#39A8FF;
  text-shadow:0 0 8px rgba(57,168,255,.40);
}
.tw-nav-link:hover::after,
.tw-nav-link:focus-visible::after{
  width:100%;
}
