:root {
  --night: #090b19; --panel: #111529; --text: #f4f1ff; --muted: #c0c4d8;
  --faint: #9cabc5; --line: #353953; --amber: #ffbc7e; --purple: #c2b4ff; --cyan: #9de8ed;
  --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --page-width: 1320px; --gutter: clamp(1.4rem, 5vw, 5rem);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; background: var(--night); color: var(--text); font: 1rem/1.8 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 6px; }
::selection { background: #594879; color: var(--text); }
.skip { position: fixed; top: -10rem; left: 1rem; z-index: 30; padding: .65rem 1rem; color: var(--night); background: var(--amber); }
.skip:focus { top: .5rem; }
.header { position: sticky; top: 0; z-index: 20; background: rgba(9,11,25,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { width: min(var(--page-width), calc(100% - var(--gutter) * 2)); min-height: 5rem; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: flex; align-items: center; gap: .85rem; max-width: 100%; font: 650 1.125rem/1.3 var(--mono); }
.brand > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.brand-mark { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; flex-shrink: 0; background: #23223b; border: 1px solid #706188; color: var(--amber); box-shadow: 3px 3px 0 #46394f; font: 600 1.4rem/1 var(--mono); }
.brand-sub { display: block; margin-top: .25rem; color: var(--faint); font: .75rem/1.5 var(--mono); overflow-wrap: anywhere; }
.nav { display: flex; flex-wrap: wrap; align-items: center; gap: 2rem; font-size: .875rem; color: var(--muted); }
.nav a { padding-block: .85rem; }
.nav a:hover { color: var(--amber); }
.chapter { position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--line); background: var(--night); }
.scene, .shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.scene { object-fit: cover; object-position: 65% center; }
.shade { background: linear-gradient(90deg, rgba(9,11,25,.96) 0%, rgba(9,11,25,.82) 35%, rgba(9,11,25,.18) 62%, rgba(9,11,25,.03) 100%); }
.chapter::after { content: ""; position: absolute; inset: auto 0 0; height: 100px; background: linear-gradient(transparent, rgba(9,11,25,.75)); z-index: -1; pointer-events: none; }
.chapter-inner { position: relative; width: min(var(--page-width), calc(100% - var(--gutter) * 2)); min-height: max(760px, calc(100svh - 5rem)); margin-inline: auto; display: flex; align-items: center; padding-block: 5rem 6.5rem; }
.copy { width: 50%; max-width: 620px; }
.eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem; margin: 0 0 1.6rem; color: var(--amber); font: .875rem/1.6 var(--mono); letter-spacing: .06em; }
.chapter-number { display: inline-flex; align-items: center; justify-content: center; width: 2.2rem; height: 1.9rem; border: 1px solid #6d526c; background: rgba(40,27,46,.8); color: var(--amber); font: .875rem/1 var(--mono); letter-spacing: 0; }
h1, h2, h3, p { margin-top: 0; }
h1 { font: 700 clamp(3.1rem, 6vw, 5.3rem)/1.12 var(--mono); letter-spacing: -.065em; margin-bottom: 2rem; }
h1 span { color: var(--amber); overflow-wrap: anywhere; }
h2 { font: 650 clamp(2.2rem, 3.8vw, 3.55rem)/1.35 var(--sans); letter-spacing: .01em; margin-bottom: 1.2rem; }
.lead { font-size: 1.25rem; color: var(--text); margin-bottom: .8rem; }
.intro-detail { font-size: 1.125rem; line-height: 1.9; color: var(--muted); margin-bottom: 1.8rem; }
.intro-detail strong { color: var(--cyan); font-weight: 550; }
.pixel-link { display: inline-flex; align-items: center; min-height: 3rem; padding: .65rem 1.2rem; border: 1px solid #998071; background: rgba(39,30,41,.92); color: var(--amber); font-size: .9375rem; box-shadow: 4px 4px 0 #4a3649; transition: background .18s, box-shadow .18s; }
.pixel-link:hover { background: #413044; box-shadow: 2px 2px 0 #6a4a64; }
.intro-tags { display: flex; flex-wrap: wrap; gap: 1.1rem; margin-top: 2.4rem; color: var(--faint); font: .75rem/1.8 var(--mono); letter-spacing: .08em; }
.intro-tags span + span::before { content: "/"; color: #6d738f; margin-right: 1.1rem; }
.chapter-next { position: absolute; bottom: 2rem; left: 0; display: flex; align-items: center; gap: .8rem; color: var(--muted); font-size: .875rem; }
a.chapter-next:hover { color: var(--amber); }
.chapter-count { font: .75rem/1.6 var(--mono); color: var(--faint); margin-left: 1rem; letter-spacing: .06em; }
.scroll-track { width: 1rem; height: 1.6rem; border: 1px solid #7e809d; display: inline-block; position: relative; }
.scroll-track::after { content: ""; width: 3px; height: 5px; background: var(--amber); position: absolute; top: 4px; left: 5px; animation: scroll-hint 2.5s ease-in-out infinite; }
@keyframes scroll-hint { 50% { transform: translateY(6px); opacity: .4; } }
.kaka { margin: 0; position: absolute; display: flex; flex-direction: column; align-items: center; gap: .2rem; }
.kaka-home { right: 9%; bottom: 6.5rem; }
.pet-sprite { --pet-size: 180px; width: var(--pet-size); height: calc(var(--pet-size) * 13 / 12); background: url("assets/optimized/kaka.webp?v=40287c3f48") 0 0 / calc(var(--pet-size) * 8) auto no-repeat; animation: pet-idle 2.4s steps(6, end) infinite; filter: drop-shadow(0 12px 8px rgba(0,0,0,.6)); }
@keyframes pet-idle { to { background-position-x: calc(var(--pet-size) * -6); } }
.kaka figcaption { font-size: .875rem; color: var(--text); background: rgba(12,15,31,.88); padding: .2rem .8rem; border: 1px solid #74638a; box-shadow: 2px 2px 0 #3b314e; }
.chapter-focus .shade { background: linear-gradient(90deg, rgba(9,11,25,.98) 0%, rgba(9,11,25,.91) 33%, rgba(9,11,25,.48) 48%, rgba(9,11,25,.08) 68%); }
.chapter-focus .chapter-inner { min-height: max(880px, calc(100svh - 5rem)); }
.focus-copy { width: 49%; max-width: 610px; }
.section-intro { font-size: 1rem; color: var(--muted); line-height: 1.9; margin-bottom: 1.5rem; }
.focus-list { margin-top: 1.75rem; }
.focus-item { display: grid; grid-template-columns: 1.6rem minmax(0,1fr); gap: 1rem; padding: 1.25rem 0; border-top: 1px solid rgba(114,118,153,.36); }
.item-index { font: .875rem/1.8 var(--mono); color: var(--cyan); padding-top: .1rem; }
.focus-item h3 { margin: 0 0 .4rem; font-size: 1.125rem; font-weight: 600; }
.focus-item p { margin: 0; color: var(--muted); line-height: 1.8; font-size: 1rem; }
.topic-tags { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .55rem; font: .75rem/1.8 var(--mono); color: var(--cyan); }
.scene-caption { position: absolute; right: 0; bottom: 2.5rem; font: .75rem/1.5 var(--mono); color: #b6b2d1; letter-spacing: .16em; }
.chapter-journal .shade { background: linear-gradient(90deg, rgba(9,11,25,.95), rgba(9,11,25,.84) 34%, rgba(9,11,25,.27) 56%, rgba(9,11,25,.04) 80%); }
.journal-copy { width: 50%; max-width: 570px; }
.journal-copy h2 span { color: var(--purple); }
.journal-list { list-style: none; margin: 1.75rem 0; padding: 0; }
.journal-list li { display: grid; grid-template-columns: 2rem minmax(0,1fr); gap: 1.2rem; margin-bottom: 1.5rem; }
.note-marker { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid #5f5683; color: var(--purple); font: .875rem/1 var(--mono); background: rgba(34,28,52,.72); margin-top: .2rem; }
.journal-list h3 { margin: 0 0 .25rem; font-size: 1.125rem; font-weight: 600; }
.journal-list p { margin: 0; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.writing-note { border-left: 2px solid var(--amber); padding-left: 1.2rem; margin-top: 2rem; }
.writing-note p { margin: 0 0 .3rem; color: var(--amber); font-size: 1.125rem; }
.writing-note p span { color: var(--purple); margin-inline: .3rem; }
.writing-note > span { color: var(--muted); font-size: 1rem; }
.kaka-journal { right: 13%; bottom: 5.5rem; }
.kaka-journal .pet-sprite { --pet-size: 144px; animation-delay: -1.2s; }
.chapter-links .chapter-inner { min-height: max(660px, 80svh); }
.scene-outro { object-position: 80% bottom; opacity: .55; }
.chapter-links .shade { background: linear-gradient(90deg, rgba(9,11,25,.99), rgba(9,11,25,.9) 36%, rgba(9,11,25,.42) 75%); }
.outro-copy { width: 53%; max-width: 660px; }
.external-links { display: grid; gap: 1rem; margin-top: 2rem; }
.external-links a { display: flex; align-items: center; gap: 1.1rem; padding: 1.05rem 1.3rem; border: 1px solid #54516e; background: rgba(19,22,42,.88); box-shadow: 4px 4px 0 rgba(48,39,69,.7); transition: border-color .2s, background .2s; }
.external-links a:hover { border-color: var(--amber); background: #29233b; }
.link-number { color: var(--purple); font: .875rem/1.6 var(--mono); }
.external-links strong { display: block; font-size: 1.0625rem; font-weight: 550; }
.external-links a > span:nth-child(2) { min-width: 0; flex: 1; }
.link-address { display: block; color: var(--muted); font: .875rem/1.8 var(--mono); overflow-wrap: anywhere; }
.link-label { margin-left: auto; color: var(--amber); font-size: .875rem; flex-shrink: 0; }
.welcome { margin: 2rem 0 0; color: var(--muted); font-size: 1rem; }
.outro-signature { position: absolute; right: 1rem; bottom: 7rem; font: 650 clamp(1.2rem, 2.2vw, 2rem)/1.6 var(--mono); color: rgba(231,218,255,.74); letter-spacing: -.03em; text-shadow: 2px 2px 0 var(--night); }
.outro-signature span { display: block; overflow-wrap: anywhere; }
.chapter-end { width: 100%; justify-content: space-between; }
.footer { width: min(var(--page-width), calc(100% - var(--gutter) * 2)); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 1.5rem; color: var(--faint); font: .875rem/1.8 var(--mono); }
.footer a { color: var(--muted); font-family: var(--sans); }
.footer a:hover { color: var(--amber); }
.chapter-life .shade { background: rgba(9,11,25,.78); }
.chapter-life[data-scene="night"] .shade { background: linear-gradient(90deg, rgba(9,11,25,.93), rgba(28,17,31,.69)); }
.chapter-life[data-scene="workshop"] .shade { background: linear-gradient(90deg, rgba(9,11,25,.9), rgba(13,31,42,.7)); }
.chapter-life[data-scene="rooftop"] .shade { background: linear-gradient(90deg, rgba(9,11,25,.9), rgba(27,18,47,.72)); }
.scene-life { opacity: .65; }
.life-inner { display: flex; flex-direction: column; align-items: stretch; justify-content: center; min-height: 980px; }
.companions-copy { max-width: 100%; }
.scene-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0 0 1.5rem; }
.scene-choice, .scene-surprise { min-height: 2.8rem; max-width: 100%; padding: .55rem 1rem; border: 1px solid #625574; background: rgba(24,23,43,.88); color: var(--muted); font: .9375rem/1.6 var(--sans); cursor: pointer; touch-action: manipulation; overflow-wrap: anywhere; transition: border-color .2s, background .2s; }
.scene-choice[aria-pressed="true"] { border-color: var(--purple); color: var(--text); background: #39304f; box-shadow: 3px 3px 0 #574365; }
.scene-choice:hover, .scene-surprise:hover { border-color: var(--amber); color: var(--text); }
.scene-choice:focus-visible, .scene-surprise:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.scene-surprise { margin-left: auto; color: var(--amber); border-color: #947062; background: rgba(47,31,40,.88); }
.scene-surprise > span { margin-right: .25rem; }
.play-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: center; gap: 1.25rem; margin-top: 1rem; }
.buddy { position: relative; flex: 0 1 calc((100% - 5rem) / 5); min-width: min(100%, 8rem); display: flex; flex-direction: column; align-items: center; gap: 1rem; background: none; border: 0; padding: .5rem; color: var(--text); font: 1rem/1.8 var(--sans); cursor: pointer; touch-action: manipulation; }
.buddy-visual { display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 17.5rem; }
.buddy img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 10px 6px rgba(0,0,0,.4)); }
.buddy-animal img { height: 11rem; }
.buddy-child .pet-sprite { --pet-size: 160px; flex-shrink: 0; }
.buddy-visual { transition: transform .2s; }
.buddy:hover .buddy-visual { transform: translateY(-5px) rotate(-3deg); }
.buddy:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
.buddy-name { padding: .25rem .9rem; border: 1px solid #716184; background: rgba(28,24,45,.9); font-size: 1rem; box-shadow: 3px 3px 0 #3b314e; }
.buddy.is-performing .buddy-name { border-color: var(--amber); color: var(--amber); }
.buddy[data-motion="bounce"] .buddy-visual { animation: companion-bounce .85s ease-in-out 2; }
.buddy[data-motion="sway"] .buddy-visual { animation: companion-sway .85s ease-in-out 2; transform-origin: center bottom; }
.buddy[data-motion="peek"] .buddy-visual { animation: companion-peek .85s ease-in-out 2; }
.buddy[data-motion="stretch"] .buddy-visual { animation: companion-stretch 1.5s ease-in-out; transform-origin: center bottom; }
.buddy[data-motion="snooze"] .buddy-visual { animation: companion-snooze 1.5s ease-in-out; }
.buddy[data-motion="spark"] .buddy-visual { animation: companion-spark .85s ease-in-out 2; }
@keyframes companion-bounce { 35% { transform: translateY(-16px) rotate(-4deg); } 70% { transform: translateY(-2px) rotate(3deg); } }
@keyframes companion-sway { 25% { transform: rotate(-4deg); } 75% { transform: rotate(4deg); } }
@keyframes companion-peek { 30% { transform: translateX(8px) rotate(3deg); } 65% { transform: translateX(-5px) rotate(-2deg); } }
@keyframes companion-stretch { 35% { transform: scale(1.08,.94); } 70% { transform: scale(.96,1.06); } }
@keyframes companion-snooze { 45% { transform: translateY(5px) rotate(-3deg); opacity: .7; } }
@keyframes companion-spark { 50% { filter: brightness(1.12) drop-shadow(0 0 12px rgba(157,232,237,.55)); transform: translateY(-4px); } }
.companion-message { margin: 1.4rem 0 0; min-height: 10.5rem; padding: 1rem 1.2rem; color: var(--muted); font-size: 1rem; border-left: 2px solid #665675; background: rgba(12,15,31,.68); }
.companion-message.is-active { border-left-color: var(--amber); background: rgba(25,22,42,.92); }
.dialogue-title { margin: 0 0 .65rem; color: var(--purple); font-size: .875rem; line-height: 1.7; }
.dialogue-lines p { margin: .2rem 0; line-height: 1.85; overflow-wrap: anywhere; }
.dialogue-lines strong { color: var(--amber); font-weight: 550; }
@media (min-width: 1700px) {
  .scene { object-position: center; }
  .shade { background: linear-gradient(90deg, rgba(9,11,25,.94), rgba(9,11,25,.77) 36%, rgba(9,11,25,.08) 68%); }
}
@media (max-width: 1080px) {
  :root { --gutter: 2.5rem; }
  .header-inner { gap: 1.5rem; }
  .nav { gap: 1.3rem; }
  .copy { width: 57%; }
  h1 { font-size: clamp(2.7rem, 5.8vw, 4rem); }
  .chapter-inner { min-height: 760px; }
  .scene { object-position: 66% center; }
  .kaka-home { right: 3%; bottom: 4.5rem; }
  .kaka-home .pet-sprite { --pet-size: 154px; }
  .kaka-journal { right: 2%; }
  .outro-copy { width: 62%; }
  .outro-signature { right: 0; font-size: 1.3rem; }
  .play-row { gap: 1rem; }
  .buddy { flex-basis: calc((100% - 4rem) / 5); }
  .buddy-child .pet-sprite { --pet-size: 112px; }
}
@media (max-width: 760px) {
  :root { --gutter: 1.5rem; }
  html { scroll-padding-top: 1rem; }
  .header { position: relative; backdrop-filter: none; }
  .header-inner { flex-wrap: wrap; gap: .35rem 1rem; padding-block: .8rem .5rem; }
  .brand { font-size: 1.0625rem; }
  .brand-mark { width: 2.35rem; height: 2.35rem; }
  .nav { width: 100%; gap: .15rem 1.7rem; font-size: .875rem; }
  .nav a { padding-block: .45rem; }
  .chapter-inner { min-height: 0; display: block; padding-block: 3.25rem 20rem; }
  .copy, .focus-copy, .journal-copy, .outro-copy { width: 100%; max-width: 100%; }
  .chapter-home .chapter-inner { min-height: calc(100svh - 7.5rem); }
  .scene { inset: auto 0 0; height: 380px; object-position: 78% center; }
  .shade, .chapter-focus .shade, .chapter-journal .shade, .chapter-links .shade { background: linear-gradient(180deg, var(--night) 0%, var(--night) 40%, rgba(9,11,25,.84) 62%, rgba(9,11,25,.08) 84%, rgba(9,11,25,.18)); }
  h1 { font-size: clamp(2.5rem, 10.4vw, 4rem); line-height: 1.17; margin-bottom: 1.6rem; }
  h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
  .eyebrow { gap: .75rem; font-size: .75rem; margin-bottom: 1.4rem; }
  .lead { font-size: 1.125rem; }
  .intro-detail { font-size: 1rem; }
  .desktop-break { display: none; }
  .intro-tags { margin-top: 1.9rem; gap: .75rem; font-size: .75rem; letter-spacing: .02em; }
  .intro-tags span + span::before { margin-right: .75rem; }
  .chapter-next { bottom: 1.5rem; font-size: .875rem; gap: .6rem; }
  .chapter-count { margin-left: .65rem; }
  .kaka-home { right: 6%; bottom: 5.5rem; }
  .kaka-home .pet-sprite { --pet-size: 130px; }
  .chapter-focus .chapter-inner { min-height: 0; padding-bottom: 22rem; }
  .scene-focus { height: 380px; object-position: 83% center; }
  .focus-list { margin-top: 1.25rem; }
  .focus-item { padding-block: 1.1rem; gap: .8rem; }
  .scene-caption { bottom: 3.8rem; right: 0; font-size: .75rem; }
  .chapter-journal .chapter-inner { padding-bottom: 21rem; }
  .scene-journal { height: 390px; object-position: 82% center; }
  .journal-list li { gap: 1rem; margin-bottom: 1.3rem; }
  .kaka-journal { right: 3%; bottom: 5rem; }
  .kaka-journal .pet-sprite { --pet-size: 120px; }
  .chapter-links .chapter-inner { min-height: 0; padding-bottom: 17rem; }
  .scene-outro { height: 360px; object-position: 82% center; opacity: .75; }
  .outro-signature { right: 0; bottom: 6rem; font-size: 1.3rem; }
  .external-links a { gap: .85rem; padding-inline: 1rem; }
  .welcome { max-width: 25rem; }
  .footer { font-size: .75rem; gap: .75rem; }
  .life-inner { padding-bottom: 6rem; min-height: 0; }
  .companions-copy { max-width: 100%; }
  .scene-controls { gap: .65rem; margin-bottom: 1.5rem; }
  .scene-choice, .scene-surprise { flex: 1 1 8rem; padding-inline: .8rem; }
  .scene-surprise { margin-left: 0; }
  .play-row { margin-top: .5rem; gap: 1.5rem 1rem; }
  .buddy { flex-basis: calc((100% - 1rem) / 2); padding: .35rem; }
  .buddy-visual { height: 14rem; }
  .buddy-animal img { height: 9rem; }
  .buddy-child .pet-sprite { --pet-size: 112px; }
  .chapter-life .scene { height: 100%; }
  .chapter-life .shade, .chapter-life[data-scene] .shade { background: rgba(9,11,25,.86); }
  .companion-message { min-height: 12rem; padding-inline: .9rem; }
}
@media (max-width: 360px) {
  :root { --gutter: 1.15rem; }
  .nav { gap: .15rem 1.3rem; }
  h1 { font-size: 2.45rem; letter-spacing: -.075em; }
  .intro-tags { gap: .6rem; }
  .intro-tags span + span::before { margin-right: .6rem; }
  .link-address { font-size: .75rem; }
  .link-label { font-size: .875rem; }
  .play-row { gap: 1.5rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

.arcade-invite { align-self: flex-start; margin-top: 1.2rem; max-width: 100%; }

.notes-invite{margin-top:18px;margin-bottom:20px}

/* Compact reading and experiment entries inherit the pixel study palette. */
.update-play{display:flex;align-items:center;gap:1.3rem;margin-top:1.7rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.9375rem}.update-play strong{color:var(--amber);font-weight:550;flex-shrink:0}.update-play>span:nth-child(2){color:var(--muted)}.update-play>span:last-child{margin-left:auto;color:var(--amber)}.update-play:hover>span{color:var(--text)}
@media(max-width:760px){.update-play{flex-wrap:wrap;gap:.35rem 1rem}.update-play>span:nth-child(2){width:calc(100% - 2rem);font-size:.875rem;order:2}.update-play>span:last-child{order:3}}
.nav { gap: clamp(.7rem, 1.5vw, 1.4rem); }
.desk-update { border-bottom: 1px solid var(--line); background: #101322; }
.desk-update-inner { width: min(var(--page-width), calc(100% - var(--gutter) * 2)); margin-inline: auto; padding-block: 3.8rem 4.2rem; }
.update-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 1.8rem; }
.update-heading h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); margin-bottom: .6rem; }
.update-heading p { color: var(--muted); margin-bottom: 0; }
.update-date { flex-shrink: 0; font-size: .8125rem; text-align: right; }
.update-date time { color: var(--amber); font-family: var(--mono); }
.update-date span { display: block; margin-top: .2rem; }
.update-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 2rem; }
.update-lab { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; overflow: hidden; background: #171b30; border: 1px solid #595171; }
.update-lab-copy { position: relative; z-index: 1; padding: 1.8rem; }
.update-lab h3 { font-size: clamp(1.7rem, 2.4vw, 2.2rem); line-height: 1.35; color: var(--purple); margin-bottom: .9rem; }
.update-lab p { color: var(--muted); line-height: 1.85; margin-bottom: 1.1rem; }
.update-lab img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; object-position: 72% center; }
.update-action { display: inline-block; color: var(--amber); font-size: .9375rem; padding-bottom: .2rem; border-bottom: 1px solid #857061; }
.update-lab small { display: block; color: var(--muted); font-size: .75rem; margin-top: .9rem; }
.update-lab:hover { border-color: var(--purple); }
.update-lab:hover .update-action { color: var(--text); }
.update-notes { min-width: 0; padding-block: .25rem; }
.update-notes h3 { font-size: 1.25rem; margin-bottom: .4rem; }
.update-notes > p { color: var(--muted); font-size: .875rem; margin-bottom: 1rem; }
.update-notes ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.update-notes li { border-top: 1px solid var(--line); }
.update-notes li:last-child { border-bottom: 1px solid var(--line); }
.update-notes li a { display: flex; align-items: baseline; gap: .8rem; padding-block: .8rem; font-size: .9375rem; }
.update-notes li span { flex-shrink: 0; color: var(--cyan); font-size: .75rem; }
.update-notes li a:hover { color: var(--amber); }
.hub-alternatives { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: -1rem 0 2rem; color: var(--muted); font-size: .9375rem; }
.hub-alternatives a { color: var(--amber); border-bottom: 1px solid #857061; }
@media (max-width: 1080px) {
  .header-inner { flex-wrap: wrap; gap: .3rem 1rem; padding-block: .75rem; }
  .nav { row-gap: .1rem; }
  .nav a { padding-block: .35rem; }
  .update-layout { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 1.5rem; }
  .update-lab { grid-template-columns: 1fr; }
  .update-lab img { height: 170px; min-height: 0; object-position: center 58%; }
}
@media (max-width: 760px) {
  .desk-update-inner { padding-block: 2.8rem; }
  .update-heading { display: block; }
  .update-date { text-align: left; margin-top: 1rem; }
  .update-date span { display: inline; margin-left: .7rem; }
  .update-layout { grid-template-columns: 1fr; gap: 2rem; }
  .update-lab { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  .update-lab-copy { padding: 1.25rem; }
  .update-lab img { height: 100%; min-height: 260px; object-position: 78% center; }
  .update-lab h3 { font-size: 1.8rem; }
  .hub-alternatives { margin-top: 0; }
}
@media (max-width: 420px) {
  .update-lab { grid-template-columns: 1fr; }
  .update-lab img { height: 145px; min-height: 0; object-position: center 58%; }
}
