/* MOKSLO LAB visual polish — draft layer, 2026-09-16.
   Additive only: loaded on /live/ and /live/app/mokykla/.
   Translation assets intentionally untouched. */

body.mokslo-lab-v2 {
  --lab-ink: #0b1720;
  --lab-navy: #0d2632;
  --lab-navy-2: #123746;
  --lab-cyan: #2cc7c0;
  --lab-blue: #4c8fff;
  --lab-mint: #a7efe2;
  --lab-paper: rgba(255,255,255,.92);
  --lab-line: rgba(19,61,78,.12);
  --lab-shadow: 0 18px 54px rgba(8,32,44,.08);
  background:
    radial-gradient(980px 560px at 94% -12%, rgba(76,143,255,.13), transparent 58%),
    radial-gradient(760px 520px at -10% 18%, rgba(44,199,192,.11), transparent 62%),
    linear-gradient(180deg, #f7fafc 0%, #eef5f7 48%, #f8fbfc 100%);
  color: var(--lab-ink);
}

body.mokslo-lab-v2::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .28;
  background-image:
    linear-gradient(rgba(13,38,50,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,38,50,.035) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, #000 0, transparent 62%);
}

body.mokslo-lab-v2 .nav {
  height: 66px;
  background: rgba(247,250,252,.86);
  border-bottom: 1px solid rgba(13,38,50,.09);
  box-shadow: 0 8px 28px rgba(9,34,47,.035);
}

body.mokslo-lab-v2 .nav-in,
body.mokslo-lab-v2 .wrap {
  width: min(1240px, calc(100% - 2.2rem));
}

body.mokslo-lab-v2 .brand {
  letter-spacing: .025em;
  color: #0c2430;
}

body.mokslo-lab-v2 .brand em { color: #2877df; }
body.mokslo-lab-v2 .brand .brand-edu { color: #138f8a; }
body.mokslo-lab-v2 .brand .brand-lab {
  color: #6c8793;
  letter-spacing: .14em;
}

/* Research spine: injected by mokslo-lab-polish.js. */
.mokslo-lab-spine {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(0, 2.1fr) auto;
  align-items: center;
  gap: 1rem;
  margin: 1.15rem 0 .9rem;
  padding: .82rem 1rem;
  border: 1px solid rgba(22,77,99,.14);
  border-radius: 18px;
  background:
    radial-gradient(520px 140px at 75% -20%, rgba(76,143,255,.18), transparent 66%),
    linear-gradient(135deg, rgba(13,38,50,.985), rgba(15,55,70,.96));
  box-shadow: 0 18px 48px rgba(8,32,44,.13);
  color: #fff;
}

.mokslo-lab-spine::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -92px;
  top: -118px;
  border: 1px solid rgba(167,239,226,.25);
  border-radius: 50%;
  box-shadow:
    0 0 0 22px rgba(167,239,226,.035),
    0 0 0 48px rgba(76,143,255,.025);
}

.mokslo-lab-spine__id {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 0;
}

.mokslo-lab-mark {
  width: 34px;
  height: 34px;
  flex: none;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #08252b;
  background: linear-gradient(145deg, var(--lab-mint), #6edfd4);
  box-shadow: 0 8px 24px rgba(44,199,192,.25);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .02em;
}

.mokslo-lab-spine__id strong {
  display: block;
  font-size: .86rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.mokslo-lab-spine__id small {
  display: block;
  margin-top: .12rem;
  color: rgba(235,249,252,.64);
  font-size: .63rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.mokslo-lab-flow {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: .35rem;
}

.mokslo-lab-flow span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .28rem .58rem;
  border: 1px solid rgba(223,248,250,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  color: rgba(242,252,253,.9);
  font-size: .62rem;
  font-weight: 750;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mokslo-lab-flow i {
  color: rgba(167,239,226,.62);
  font-style: normal;
  font-size: .72rem;
}

.mokslo-lab-spine__status {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .32rem .58rem;
  border: 1px solid rgba(167,239,226,.18);
  border-radius: 999px;
  background: rgba(167,239,226,.085);
  color: #dffbf6;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mokslo-lab-spine__status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #77ead8;
  box-shadow: 0 0 0 4px rgba(119,234,216,.11);
}

/* Guest / public hero. Existing translated copy stays authoritative. */
body.mokslo-lab-v2 main.wrap > .hero-mini {
  position: relative;
  overflow: hidden;
  margin-top: 1.15rem;
  padding: clamp(1.7rem, 4vw, 3.25rem) clamp(1.35rem, 4.8vw, 4rem);
  min-height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(18,67,88,.13);
  border-radius: 30px;
  background:
    radial-gradient(540px 260px at 88% 0%, rgba(76,143,255,.18), transparent 68%),
    radial-gradient(520px 260px at 8% 112%, rgba(44,199,192,.17), transparent 64%),
    linear-gradient(135deg, #0d2632 0%, #123746 55%, #0f2b37 100%);
  color: #fff;
  box-shadow: 0 30px 76px rgba(8,32,44,.16);
}

body.mokslo-lab-v2 main.wrap > .hero-mini::before {
  content: "MOKSLO LAB";
  position: absolute;
  right: clamp(1.4rem, 5vw, 4rem);
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255,255,255,.035);
  font-family: "Sora", sans-serif;
  font-size: clamp(3rem, 7vw, 6.7rem);
  font-weight: 800;
  letter-spacing: -.055em;
  white-space: nowrap;
  pointer-events: none;
}

body.mokslo-lab-v2 main.wrap > .hero-mini::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(90deg, transparent, #000 58%, #000);
}

body.mokslo-lab-v2 main.wrap > .hero-mini > * {
  position: relative;
  z-index: 1;
  max-width: 690px;
}

body.mokslo-lab-v2 main.wrap > .hero-mini .kicker {
  color: #8eede0;
  margin-bottom: .7rem;
  letter-spacing: .16em;
}

body.mokslo-lab-v2 main.wrap > .hero-mini h1 {
  max-width: 720px;
  color: #fff;
  font-size: clamp(2rem, 4.7vw, 4.15rem);
  line-height: .98;
  letter-spacing: -.045em;
}

body.mokslo-lab-v2 main.wrap > .hero-mini p {
  margin-top: 1.1rem;
  color: rgba(234,247,250,.76);
  max-width: 62ch;
  font-size: clamp(.92rem, 1.3vw, 1.06rem);
  line-height: 1.7;
}

body.mokslo-lab-v2 main.wrap > .hero-mini p strong { color: #fff; }

/* Public entry cards become laboratory modules instead of generic tiles. */
body.mokslo-lab-v2 .edu-os-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .82rem;
  margin: .92rem 0 1.3rem;
}

body.mokslo-lab-v2 .edu-os-card {
  position: relative;
  overflow: hidden;
  min-height: 178px;
  padding: 1.2rem 1.2rem 1.15rem;
  border: 1px solid rgba(15,59,77,.105);
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 14px 34px rgba(8,32,44,.055);
  backdrop-filter: blur(14px);
}

body.mokslo-lab-v2 .edu-os-card::after {
  content: "";
  position: absolute;
  right: -28px;
  bottom: -36px;
  width: 112px;
  height: 112px;
  border: 1px solid rgba(40,119,223,.09);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(44,199,192,.025);
}

body.mokslo-lab-v2 .edu-os-card:hover {
  transform: translateY(-4px);
  border-color: rgba(40,119,223,.28);
  box-shadow: 0 20px 46px rgba(8,32,44,.09);
}

body.mokslo-lab-v2 .edu-os-card > span {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: #137e7a;
  font-size: .64rem;
  letter-spacing: .13em;
}

body.mokslo-lab-v2 .edu-os-card h3 {
  position: relative;
  z-index: 1;
  margin-top: .9rem;
  font-size: 1.02rem;
  line-height: 1.25;
}

body.mokslo-lab-v2 .edu-os-card p {
  position: relative;
  z-index: 1;
  margin-top: .45rem;
  font-size: .8rem;
  line-height: 1.55;
}

body.mokslo-lab-v2 .edu-os-card.edu-os-main {
  color: #fff;
  background:
    radial-gradient(260px 180px at 100% 0%, rgba(76,143,255,.2), transparent 70%),
    linear-gradient(145deg, #0e2b38, #174656);
  border-color: transparent;
}
body.mokslo-lab-v2 .edu-os-card.edu-os-main span { color: #8eede0; }
body.mokslo-lab-v2 .edu-os-card.edu-os-main p { color: rgba(235,249,252,.7); }

/* Dashboard surfaces. */
body.mokslo-lab-v2 #app { padding-bottom: 2rem; }
body.mokslo-lab-v2 #app > .hero-mini:first-child {
  margin: 0 0 .9rem;
  padding: 1.25rem 1.35rem 1.1rem;
  border: 1px solid rgba(15,59,77,.11);
  border-radius: 20px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 12px 34px rgba(8,32,44,.045);
  backdrop-filter: blur(12px);
}
body.mokslo-lab-v2 #app > .hero-mini:first-child h1 {
  font-size: clamp(1.5rem, 3vw, 2.35rem);
  letter-spacing: -.035em;
}
body.mokslo-lab-v2 #app > .hero-mini:first-child p { max-width: 72ch; }

body.mokslo-lab-v2 .card.day-card,
body.mokslo-lab-v2 .smsm-arch,
body.mokslo-lab-v2 .smsm-system,
body.mokslo-lab-v2 .smsm-science {
  border-color: rgba(15,59,77,.095);
  box-shadow: var(--lab-shadow);
  background: var(--lab-paper);
}

body.mokslo-lab-v2 .smsm-arch {
  position: relative;
  padding: 1.35rem 1.4rem 1.25rem;
  border-color: rgba(72,150,187,.18);
  background:
    radial-gradient(500px 220px at 94% 0%, rgba(76,143,255,.15), transparent 68%),
    linear-gradient(145deg, #0f2a36 0%, #123844 100%);
  color: #fff;
}
body.mokslo-lab-v2 .smsm-arch .kicker { color: #82e7dc; }
body.mokslo-lab-v2 .smsm-arch h3,
body.mokslo-lab-v2 .smsm-arch .smsm-focus-line { color: #f4fbfc; }
body.mokslo-lab-v2 .smsm-arch .smsm-focus-line strong { color: #a9f2e7; }
body.mokslo-lab-v2 .smsm-arch .muted { color: rgba(230,246,249,.66); }
body.mokslo-lab-v2 .smsm-arch .smsm-pill {
  border-color: rgba(167,239,226,.2);
  background: rgba(167,239,226,.09);
  color: #dffbf6;
}
body.mokslo-lab-v2 .smsm-arch .smsm-plane {
  border-color: rgba(213,238,245,.12);
  background: rgba(255,255,255,.045);
}
body.mokslo-lab-v2 .smsm-arch .smsm-plane > span { color: rgba(230,246,249,.56); }
body.mokslo-lab-v2 .smsm-arch .smsm-node {
  border-color: rgba(222,245,249,.12);
  background: rgba(255,255,255,.075);
  color: rgba(247,253,254,.9);
  box-shadow: none;
}
body.mokslo-lab-v2 .smsm-arch .smsm-node.is-focus {
  background: linear-gradient(145deg, #3d8ff1, #1aa6a0);
  color: #fff;
  border-color: transparent;
}

body.mokslo-lab-v2 .smsm-brief,
body.mokslo-lab-v2 .smsm-system,
body.mokslo-lab-v2 .smsm-science,
body.mokslo-lab-v2 .sy-card {
  padding: 1.25rem 1.3rem;
  border-radius: 20px;
}

body.mokslo-lab-v2 .smsm-kpis .day-kpi {
  background: linear-gradient(180deg, #f8fbff, #f1f7fb);
  border-color: rgba(38,104,139,.13);
}

body.mokslo-lab-v2 .smsm-bal-card,
body.mokslo-lab-v2 .smsm-chart,
body.mokslo-lab-v2 .smsm-rdi-metric,
body.mokslo-lab-v2 .sy-month {
  border-color: rgba(15,59,77,.095);
  box-shadow: 0 8px 22px rgba(8,32,44,.035);
}

body.mokslo-lab-v2 .smsm-bal-card.is-model {
  border-style: dashed;
  border-color: rgba(76,143,255,.26);
  background: linear-gradient(145deg, rgba(76,143,255,.06), rgba(44,199,192,.055));
}

body.mokslo-lab-v2 .smsm-epi {
  border-radius: 999px;
  padding: .16rem .48rem;
  background: #eef8f6;
  border-color: #b9e3dc;
  color: #0b746f;
}
body.mokslo-lab-v2 .smsm-epi[data-epistemic*="working_model"] {
  background: #eef3ff;
  border-color: #cbd8fa;
  color: #3f5ca8;
}
body.mokslo-lab-v2 .smsm-epi[data-epistemic*="missing"] {
  background: #f2f4f6;
  border-color: #d8dee3;
  color: #667680;
}
body.mokslo-lab-v2 .smsm-epi[data-epistemic*="mixed"] {
  background: #fff7e8;
  border-color: #efdbb5;
  color: #8d6624;
}

body.mokslo-lab-v2 .smsm-rdi-spotlight {
  border-color: rgba(38,104,139,.14);
  background:
    radial-gradient(380px 160px at 100% 0%, rgba(76,143,255,.11), transparent 70%),
    linear-gradient(145deg, #f8fbfd, #eef7f6);
  box-shadow: 0 14px 34px rgba(8,32,44,.055);
}
body.mokslo-lab-v2 .smsm-rdi-metric.is-primary {
  background: linear-gradient(145deg, #226fce, #168f8b);
}

body.mokslo-lab-v2 .smsm-cal-divider { margin: 1.15rem 0 .55rem; }
body.mokslo-lab-v2 .smsm-cal-divider span { color: #607985; letter-spacing: .13em; }

body.mokslo-lab-v2 .sy-layer-chip.is-on {
  background: #168f8b;
  border-color: #168f8b;
}
body.mokslo-lab-v2 .sy-day.is-today {
  box-shadow: 0 0 0 2px #367edb, 0 5px 14px rgba(54,126,219,.12);
}

/* Scientific day report gets a separate observation tone. */
body.mokslo-lab-v2 .day-hero {
  border-radius: 20px;
  border: 1px solid rgba(18,67,88,.14);
  background:
    radial-gradient(440px 180px at 88% -20%, rgba(44,199,192,.15), transparent 68%),
    linear-gradient(145deg, #102c38, #153c49);
  color: #fff;
  box-shadow: 0 18px 46px rgba(8,32,44,.11);
}
body.mokslo-lab-v2 .day-hero .kicker { color: #8eede0; }
body.mokslo-lab-v2 .day-hero .day-lead,
body.mokslo-lab-v2 .day-hero .muted { color: rgba(234,247,250,.7); }

/* Focus / accessibility. */
body.mokslo-lab-v2 a:focus-visible,
body.mokslo-lab-v2 button:focus-visible {
  outline: 3px solid rgba(44,199,192,.38);
  outline-offset: 3px;
}

@media (max-width: 980px) {
  .mokslo-lab-spine { grid-template-columns: 1fr auto; }
  .mokslo-lab-flow { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; padding-top: .15rem; }
  body.mokslo-lab-v2 .edu-os-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  body.mokslo-lab-v2 .nav { height: 60px; }
  body.mokslo-lab-v2 .nav-in,
  body.mokslo-lab-v2 .wrap { width: min(100% - 1rem, 1240px); }
  .mokslo-lab-spine {
    margin-top: .7rem;
    padding: .72rem .76rem;
    border-radius: 15px;
    grid-template-columns: minmax(0,1fr) auto;
  }
  .mokslo-lab-spine__id small { display: none; }
  .mokslo-lab-spine__status { font-size: .56rem; padding: .27rem .44rem; }
  .mokslo-lab-flow { gap: .28rem; }
  .mokslo-lab-flow span { min-height: 26px; padding: .25rem .48rem; font-size: .56rem; }
  body.mokslo-lab-v2 main.wrap > .hero-mini {
    min-height: 260px;
    margin-top: .7rem;
    border-radius: 22px;
    padding: 1.6rem 1.2rem;
  }
  body.mokslo-lab-v2 main.wrap > .hero-mini::before {
    right: -1rem;
    top: 24%;
    font-size: 3.4rem;
  }
  body.mokslo-lab-v2 main.wrap > .hero-mini h1 { font-size: clamp(1.85rem, 10vw, 2.75rem); }
  body.mokslo-lab-v2 .edu-os-grid { grid-template-columns: 1fr; gap: .62rem; }
  body.mokslo-lab-v2 .edu-os-card { min-height: 142px; }
  body.mokslo-lab-v2 .smsm-arch,
  body.mokslo-lab-v2 .smsm-brief,
  body.mokslo-lab-v2 .smsm-system,
  body.mokslo-lab-v2 .smsm-science,
  body.mokslo-lab-v2 .sy-card { border-radius: 16px; padding: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.mokslo-lab-v2 *, body.mokslo-lab-v2 *::before, body.mokslo-lab-v2 *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Public /live guest hero: old async route sets inline display:none; guest class is authoritative. */
body.mokslo-lab-v2.mokslo-lab-guest main.wrap > .hero-mini {
  display: flex !important;
}
