/* LabNivo studio v26 — premium, bright, tactile art direction.
   Scoped to the four public entry points. Gameplay UIs are not restyled.
   Existing static images; no remote fonts, runtime scripts or layout shifts. */
body.home-v25,body.play-hub-v25{
  background:
    radial-gradient(ellipse 860px 570px at 97% 3%,rgba(180,178,255,.22),transparent 67%),
    radial-gradient(ellipse 720px 500px at 6% 24%,rgba(133,220,210,.13),transparent 68%),
    radial-gradient(ellipse 780px 520px at 82% 66%,rgba(253,192,149,.12),transparent 69%),
    #f7f7f4;
}
.home-v25::after,.no-home::after,.play-hub-v25::after,.no-play-hub::after{content:"LabNivo · v26"!important}
body.home-v25 main,body.play-hub-v25 main{overflow:clip}
body.home-v25 a:focus-visible,body.play-hub-v25 a:focus-visible{outline:3px solid #3156e3;outline-offset:4px}
.home-v25 .overline,.play-hub-v25 .overline{color:#385bd8;letter-spacing:.14em}
.home-v25 :is(h1,h2,h3),.play-hub-v25 :is(h1,h2){text-wrap:balance}

/* Distinctive hero: live game covers arranged like glossy studio objects. */
.home24-hero.studio-hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
  align-items:center;gap:clamp(36px,6vw,94px);
  padding-block:clamp(68px,7.5vw,105px) clamp(76px,9vw,128px);
}
.home24-hero .studio-hero-copy{position:relative;z-index:2;min-width:0}
.home24-hero h1{font-size:clamp(58px,8.1vw,108px);line-height:.94;letter-spacing:-.069em}
.home24-hero h1 span{
  background:linear-gradient(118deg,#2449c8 10%,#4776ed 52%,#9478ef 99%);
  background-clip:text;-webkit-background-clip:text;color:transparent;
}
.home24-lead{max-width:530px;margin-top:25px!important;color:#515b66;font-size:clamp(17px,1.7vw,21px)!important;line-height:1.58!important}
.home24-hero-links{margin-top:30px!important;gap:12px}
.home24-hero-links a{
  min-height:48px!important;padding:0 21px!important;border-radius:999px!important;
  font-size:14px!important;border:1px solid rgba(70,82,110,.17)!important;
  background:rgba(255,255,255,.84)!important;box-shadow:0 6px 20px rgba(44,57,92,.07),inset 0 1px rgba(255,255,255,.92);
  transition:transform .24s ease,box-shadow .24s ease;
}
.home24-hero-links a:first-child{
  color:#fff!important;border-color:#3158e2!important;
  background:linear-gradient(140deg,#5077fd,#284dce)!important;
  box-shadow:0 9px 21px rgba(49,81,198,.23),inset 0 1px 0 rgba(255,255,255,.37);
}
.home24-hero-links a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(44,57,92,.14)}
.studio-showcase{
  position:relative;min-height:clamp(340px,37vw,480px);
  isolation:isolate;
}
.studio-showcase::before{
  content:"";position:absolute;inset:8% 3% 4% 10%;z-index:-1;border-radius:50%;
  background:radial-gradient(ellipse at 35% 30%,rgba(119,136,255,.34),rgba(173,229,231,.28) 44%,rgba(255,194,155,.21) 70%,transparent 75%);
  filter:blur(32px);
}
.studio-showcase-main,.studio-showcase-side{
  position:absolute;display:block;overflow:hidden;
  border:1px solid rgba(255,255,255,.82);
  background:linear-gradient(130deg,#8ab0e8,#d9e1ff);
  box-shadow:0 34px 62px rgba(38,48,85,.20),0 9px 24px rgba(38,48,85,.10),inset 0 2px 2px rgba(255,255,255,.65);
  transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .42s;
}
.studio-showcase-main{inset:2% 26% 10% 1%;border-radius:26px;transform:rotate(-5deg)}
.studio-showcase-side{inset:23% 0 7% 56%;border-radius:22px;transform:rotate(6deg)}
.studio-showcase-main img,.studio-showcase-side img{display:block;width:100%;height:100%;object-fit:cover}
.studio-showcase-main::after,.studio-showcase-side::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(137deg,rgba(255,255,255,.20),transparent 30%),
   linear-gradient(180deg,transparent 45%,rgba(9,21,35,.76));
}
.studio-showcase-main:hover{transform:rotate(-2deg) translateY(-8px);box-shadow:0 42px 70px rgba(38,48,85,.23)}
.studio-showcase-side:hover{transform:rotate(3deg) translateY(-8px)}
.studio-showcase-label{
  position:absolute;z-index:2;left:22px;right:18px;bottom:20px;display:flex;flex-direction:column;gap:4px;
  color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.23)
}
.studio-showcase-label small{font-size:10px;font-weight:770;letter-spacing:.13em;text-transform:uppercase;color:#e5eafa}
.studio-showcase-label strong{font-size:clamp(22px,2.8vw,38px);font-weight:820;letter-spacing:-.06em;line-height:1.04}
.studio-showcase-side .studio-showcase-label{left:15px;bottom:15px}
.studio-showcase-side .studio-showcase-label strong{font-size:clamp(16px,2vw,25px)}
.studio-showcase-spark{
  position:absolute;z-index:3;top:0;right:5%;display:grid;place-items:center;
  width:70px;aspect-ratio:1;border:1px solid rgba(255,255,255,.93);border-radius:24px;
  background:linear-gradient(140deg,rgba(255,255,255,.95),rgba(202,228,255,.74));
  box-shadow:0 18px 32px rgba(71,100,173,.15),inset 0 1px rgba(255,255,255,.95);
  color:#4366dc;font-size:36px;transform:rotate(13deg);
  pointer-events:none;
}
/* Editorial sections with colourful yet restrained material depth. */
.home24-featured{padding-bottom:100px}
.home24-section-head{border-color:rgba(67,76,104,.15);padding-bottom:22px}
.home24-section-head h2{letter-spacing:-.056em}
.home24-feature-grid{gap:22px}
.home24-feature{
  border-radius:23px!important;isolation:isolate;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 27px 55px rgba(43,55,77,.16),0 3px 11px rgba(43,55,77,.05),inset 0 1px rgba(255,255,255,.72);
  transition:transform .35s ease,box-shadow .35s ease;
}
.home24-feature::before{
  content:"";position:absolute;z-index:2;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 24%);
}
.home24-feature:hover{transform:translateY(-5px);box-shadow:0 32px 67px rgba(43,55,77,.21)}
.home24-puzzle img{transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.home24-puzzle:hover img,.no-home-cover:hover img{transform:scale(1.035)}
.home24-feature-copy{left:clamp(22px,3vw,42px);right:clamp(22px,3vw,42px);bottom:clamp(22px,3vw,42px)}
.home24-feature-copy>span{font-size:11px;letter-spacing:.11em;color:#e7eaff}
.home24-feature-copy strong{
  display:inline-flex;align-items:center;min-height:39px;padding:0 15px;
  border:1px solid rgba(255,255,255,.54);border-radius:999px;
  background:rgba(255,255,255,.15);backdrop-filter:blur(10px);font-size:12px;
}
.home24-intelligence{
  background:
    radial-gradient(circle at 85% 12%,rgba(178,206,255,.78),transparent 30%),
    radial-gradient(circle at 12% 70%,rgba(131,231,214,.25),transparent 44%),
    linear-gradient(145deg,#394dda,#142454 76%);
}
.home24-intelligence::after{opacity:.5}
.home24-iq-top strong{color:#e1e6ff}
.home24-iq-orbit{position:absolute;z-index:1;inset:18% 9% 33% 39%;pointer-events:none}
.home24-iq-orbit span{position:absolute;display:block;aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.43);box-shadow:inset -14px -18px 34px rgba(15,39,96,.33),inset 11px 13px 34px rgba(255,255,255,.22),0 25px 45px rgba(8,18,56,.25)}
.home24-iq-orbit span:first-child{width:70%;left:8%;top:5%;background:linear-gradient(125deg,rgba(221,246,255,.65),rgba(121,128,254,.47) 48%,rgba(73,98,199,.53))}
.home24-iq-orbit span:nth-child(2){width:37%;left:51%;top:44%;background:linear-gradient(140deg,#f5cbb4,#a883f5 72%)}
.home24-iq-orbit span:nth-child(3){width:23%;left:0;top:61%;background:linear-gradient(130deg,#b6f8df,#63b7df)}
.home24-more{padding-bottom:108px}
.home24-more-grid{gap:15px}
.home24-more-card{
  min-height:132px;border:1px solid rgba(110,125,160,.15);border-radius:18px;
  background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(248,249,255,.82));
  padding:13px;box-shadow:0 11px 24px rgba(49,65,97,.07),inset 0 1px 0 #fff;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.home24-more-card:hover{transform:translateY(-4px);box-shadow:0 19px 38px rgba(49,65,97,.14);border-color:rgba(86,117,233,.28)}
.home24-more-thumb{border-radius:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);background:#e3e9ee}
.home24-more-thumb img{transition:transform .4s ease}
.home24-more-card:hover img{transform:scale(1.045)}
.home24-more-card>div:last-child>span{font-size:10px;color:#5166aa;letter-spacing:.09em}
.home24-more-card>div:last-child>strong{font-size:17px;line-height:1.19;color:#233047}
.home24-more-card em{color:#4167e8}
.home24-end{
  background:linear-gradient(113deg,#e0e6ff 0%,#e6f4f1 51%,#f3e9f4 100%);
  border-block:1px solid rgba(73,93,137,.12);
}
.home24-end-grid a{border-color:rgba(73,93,137,.14);transition:color .25s ease}
.home24-end-grid a:hover{color:#3159d9}
.home24-end-grid strong{letter-spacing:-.061em}

/* Catalogue: full-height glossy cards, easy browsing, consistent on both locales. */
.play25-intro.studio-catalogue-intro{padding:clamp(58px,7vw,100px) 0 35px}
.play25-intro h1{font-size:clamp(55px,8vw,105px);letter-spacing:-.07em}
.play25-intro>p:not(.overline){max-width:780px;color:#546070}
.studio-genre-links{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:24px}
.studio-genre-links a{
  min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 16px;
  border-radius:999px;background:rgba(255,255,255,.82);
  border:1px solid rgba(92,105,149,.19);color:#3b4a72;
  box-shadow:inset 0 1px 0 #fff,0 5px 13px rgba(43,62,106,.045);
  font-size:13px;font-weight:730;transition:background .2s,transform .2s
}
.studio-genre-links a:hover{background:#e9eeff;transform:translateY(-2px)}
.play25-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(17px,2.6vw,32px);padding-bottom:clamp(60px,7vw,104px)}
.play25-card{
  display:block;min-width:0;overflow:hidden;border-radius:25px;
  border:1px solid rgba(91,113,145,.15);
  background:linear-gradient(153deg,rgba(255,255,255,.99),rgba(249,250,255,.94));
  box-shadow:0 16px 42px rgba(48,63,99,.10),0 2px 7px rgba(48,63,99,.04),inset 0 1px 0 #fff;
  transition:transform .33s cubic-bezier(.2,.8,.25,1),box-shadow .33s,border-color .33s;
  scroll-margin-top:92px;
}
.play25-card:hover{transform:translateY(-6px);border-color:rgba(83,111,222,.29);box-shadow:0 30px 64px rgba(48,63,99,.17),inset 0 1px 0 #fff}
.play25-art{
  aspect-ratio:16/10;border:0;border-radius:0;box-shadow:none;isolation:isolate;
  background:linear-gradient(138deg,#dbe5ff,#dff3ee);
}
.play25-art::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(137deg,rgba(255,255,255,.20),transparent 34%),
   linear-gradient(180deg,transparent 74%,rgba(15,28,56,.08));
}
.play25-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.25,1)}
.play25-card:hover .play25-art img{transform:scale(1.035)}
.play25-copy{padding:clamp(19px,2.6vw,30px)!important}
.play25-copy>span{font-size:11px;letter-spacing:.085em;color:#506aaf}
.play25-copy h2{margin:9px 0 0;font-size:clamp(29px,3.1vw,43px);letter-spacing:-.06em;line-height:1.03}
.play25-copy p{min-height:0;margin:12px 0 18px;font-size:15px;line-height:1.52;color:#55606c}
.play25-copy strong{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 17px;border-radius:999px;
  background:linear-gradient(130deg,#ebefff,#e5eefb);color:#2e4ebd;
  font-size:13px;font-weight:800;
}
.play25-card:nth-child(2n) .play25-copy strong{background:#e2f3ee;color:#236e5f}
.play25-card:nth-child(3n) .play25-copy strong{background:#fff0e5;color:#895127}
.play25-card:nth-child(4n) .play25-copy strong{background:#f1eaff;color:#654ca2}
.play25-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.play25-card:last-child:nth-child(odd) .play25-art{height:100%;min-height:280px}
.play25-note{
  margin-bottom:80px;padding:28px 34px;border:1px solid rgba(91,113,145,.15);
  border-radius:20px;
  background:linear-gradient(110deg,rgba(224,232,255,.77),rgba(220,248,239,.7));
}
.play25-note p{color:#3d5066}
.play25-typeflow{
  background:radial-gradient(circle at 79% 10%,rgba(118,133,255,.53),transparent 56%),
    radial-gradient(circle at 22% 90%,rgba(82,225,187,.27),transparent 60%),linear-gradient(145deg,#1d2744,#10182b);
}
.play25-typeflow-word{font-size:clamp(35px,5vw,76px);text-shadow:0 8px 29px rgba(0,0,0,.29)}
.play25-typeflow-word strong{color:#9bffce}
.play25-typeflow-top{font-size:11px;color:#b4bde0}
.play25-typeflow-stream{font-size:11px;color:#b4bde0}
/* Unreleased states are never visually implied on the finished public catalogue. */
.play25-status{display:none!important}
@media(min-width:1000px){
 .home24-more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 .home24-more-card{grid-template-columns:minmax(0,128px) 1fr;gap:16px}
 .home24-more-card>div:last-child>strong{font-size:16px}
 .home24-feature{min-height:520px}
}
@media(max-width:900px){
 .home24-hero.studio-hero{grid-template-columns:1fr;gap:20px;padding-top:70px}
 .home24-hero .studio-hero-copy{max-width:710px}
 .studio-showcase{width:min(100%,660px);min-height:380px;margin:0 auto}
 .home24-hero h1{font-size:clamp(58px,10vw,94px)}
}
@media(max-width:699px){
 .home24-hero.studio-hero{padding-top:42px;padding-bottom:54px}
 .home24-hero h1{font-size:clamp(54px,12vw,76px)}
 .home24-lead{font-size:16px!important}
 .studio-showcase{min-height:290px;max-width:450px}
 .studio-showcase-main{border-radius:18px;inset:2% 26% 7% 2%}
 .studio-showcase-side{border-radius:17px;inset:23% 1% 5% 56%}
 .studio-showcase-label{left:14px;right:10px;bottom:14px}
 .studio-showcase-label small{font-size:9px}
 .studio-showcase-label strong{font-size:24px}
 .studio-showcase-side .studio-showcase-label strong{font-size:17px}
 .studio-showcase-spark{width:51px;border-radius:16px;font-size:24px}
 .home24-feature{border-radius:18px!important;aspect-ratio:4/3}
 .home24-featured{padding-bottom:70px}
 .home24-feature-copy h3{font-size:clamp(30px,7vw,41px)}
 .home24-more{padding-bottom:65px}
 .home24-more-card{border-radius:14px}
 .home24-more-card>div:last-child>strong{font-size:16px}
 .home24-iq-orbit{inset:16% 8% 33% 40%}
 .play25-intro.studio-catalogue-intro{padding-top:43px;padding-bottom:28px}
 .play25-intro h1{font-size:clamp(46px,11vw,70px)}
 .play25-intro>p:last-of-type{font-size:16px}
 .studio-genre-links a{font-size:12px;min-height:38px;padding:0 12px}
 .play25-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
 .play25-card{border-radius:16px}
 .play25-art{aspect-ratio:1/1}
 .play25-copy{padding:13px 12px 15px!important}
 .play25-copy>span{font-size:9px;letter-spacing:.05em}
 .play25-copy h2{font-size:clamp(20px,5.8vw,29px);line-height:1.04;overflow-wrap:anywhere}
 .play25-copy p{margin:9px 0 12px;font-size:12px;line-height:1.43}
 .play25-copy strong{min-height:33px;padding:0 10px;font-size:11px}
 .play25-typeflow{padding:12px}
 .play25-typeflow-word{font-size:clamp(27px,7vw,40px)}
 .play25-typeflow-top{font-size:8px}
 .play25-typeflow-stream{font-size:8px}
 .play25-card:last-child:nth-child(odd){display:block;grid-column:auto}
 .play25-card:last-child:nth-child(odd) .play25-art{height:auto;min-height:0}
 .play25-note{padding:24px;border-radius:15px}
 .no-home-cover-action{border-radius:10px!important}
}
@media(max-width:380px){
 .studio-showcase{min-height:244px}
 .home24-hero-links a{min-height:44px!important;padding:0 15px!important;font-size:12px!important}
 .home24-hero h1{font-size:52px}
 .play25-grid{gap:11px 9px}
 .play25-copy{padding:11px 10px 14px!important}
 .play25-copy h2{font-size:20px}
 .play25-copy p{font-size:11.5px}
 .studio-genre-links{gap:6px}
}
@media(prefers-reduced-motion:reduce){
 .home24-feature,.home24-more-card,.play25-card,.studio-showcase-main,.studio-showcase-side,.home24-hero-links a,
 .home24-puzzle img,.play25-art img,.home24-more-thumb img{transition:none!important}
 .home24-feature:hover,.home24-more-card:hover,.play25-card:hover,.studio-showcase-main:hover,.studio-showcase-side:hover,
 .home24-hero-links a:hover{transform:none!important}
}


/* Visual QA refinements: protect cover artwork and keep the TypeFlow mark legible. */
.home-v25 .home24-typeflow-thumb{
  color:#f7f8ff;
  background:
    radial-gradient(ellipse 210px 120px at 86% 8%,rgba(118,130,255,.55),transparent 70%),
    radial-gradient(ellipse 160px 130px at 12% 95%,rgba(79,227,181,.19),transparent 65%),
    linear-gradient(145deg,#273250,#111a2f);
}
.home-v25 .home24-typeflow-thumb>span{color:#f7f8ff}
.home-v25 .home24-typeflow-thumb>span strong{color:#9cffd1}
.home-v25 .home24-typeflow-thumb small{color:#bec9e6}
.play25-card[href$="/lineglide"] .play25-art img,
.play25-card[href$="/codebreaker"] .play25-art img{object-position:50% 10%}
.home24-intelligence .home24-iq-orbit{top:7%;right:3%;bottom:47%;left:54%}
@media(max-width:699px){
 .home24-intelligence .home24-iq-orbit{top:13%;right:5%;bottom:50%;left:55%}
}
