/* =============================================================================
   THE DEVELOPER'S GAME SAVE
   Direction: RPG Codex x Pixel Fantasy x Premium Indie UI.
   Deep warm charcoal surfaces, amber accent, thin metallic trim,
   pixel art used only as an icon and avatar accent layer.
   Mobile first. Breakpoints: 768px (tablet), 1080px (desktop).
   ========================================================================== */

/* ----------------------------- 1. TOKENS --------------------------------- */
:root {
  /* Page: deep warm charcoal, lit from the top */
  --bg:           #0b0806;
  --bg-2:         #14100c;

  /* Surfaces */
  --panel:        #171210;
  --panel-2:      #1e1815;
  --panel-3:      #262019;
  --line:         #33291f;
  --line-hi:      #4a3b2a;

  /* Amber accent */
  --amber:        #f2b03c;
  --amber-lo:     #b07f22;
  --amber-hi:     #ffcd69;

  /* Warm ink on dark */
  --ink:          #f4e7d2;
  --ink-2:        #cdbb9b;
  --ink-3:        #8a7a62;

  /* Status */
  --ok:           #63c98a;
  --ok-bg:        rgba(99,201,138,.12);
  --warn:         #f2b03c;
  --warn-bg:      rgba(242,176,60,.12);
  --hp:           #d8564a;
  --exp:          #4f8fd6;

  /* Type */
  --font-display: 'Cinzel', Georgia, serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono:    'Space Mono', ui-monospace, monospace;
  --font-game:    'CaveatBrush', cursive;

  /* Metrics */
  --tabbar-h:     4.25rem;
  --r:            0.5rem;
  --r-lg:         0.875rem;
  --maxw:         78rem;

  --sa-top:       env(safe-area-inset-top, 0px);
  --sa-bot:       env(safe-area-inset-bottom, 0px);
  --sa-left:      env(safe-area-inset-left, 0px);
  --sa-right:     env(safe-area-inset-right, 0px);

  --sh-1: 0 1px 2px rgba(0,0,0,.4), 0 2px 10px rgba(0,0,0,.3);
  --sh-2: 0 4px 12px rgba(0,0,0,.45), 0 16px 40px rgba(0,0,0,.4);
}

/* The Diglords game font, shipped locally from the game project */
@font-face {
  font-family: 'CaveatBrush';
  src: url('../assets/fonts/CaveatBrush-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}

/* ----------------------------- 2. RESET ---------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

/* The colour lives on html as well as body so overscrolling past either end
   of the page shows the page colour, never the browser's white default. */
html {
  -webkit-text-size-adjust: 100%;
  background-color: var(--bg);
  color-scheme: dark;
}

body {
  margin: 0;
  min-height: 100dvh;
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
  background:
    radial-gradient(1200px 600px at 50% -10%, rgba(242,176,60,.07), transparent 70%),
    linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 60%);
  background-attachment: fixed;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; }
a { color: var(--amber); }

/* Only the medal icons are pixel art and must not be smoothed */
.pixel,
.achievement__icon { image-rendering: pixelated; }

:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  padding: .75rem 1rem; background: var(--amber); color: #1a1209;
  font-weight: 600; font-size: .8125rem; border-radius: var(--r);
}
.skip-link:focus { left: .5rem; top: .5rem; }

/* ------------------------- 3. SHARED PRIMITIVES -------------------------- */

/* The recurring surface: warm charcoal plate with a thin metallic hairline */
.panel {
  position: relative;
  padding: 1.25rem;
  background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-1);
}

/* faint engraved rule just inside the edge */
.panel::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(242,176,60,.07);
  border-radius: calc(var(--r-lg) - 3px);
  pointer-events: none;
}

.card {
  position: relative;
  background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-1);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover, .card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--line-hi);
  box-shadow: var(--sh-2);
}

.panel__head {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding-bottom: .75rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.panel__title {
  font-family: var(--font-display);
  font-size: .9375rem;
  letter-spacing: .1em;
  color: var(--amber);
  text-transform: uppercase;
}

/* Small caps label used above headings */
.eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: .6875rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber);
}

/* Stat bars -------------------------------------------------------------- */
/* minmax(3rem,1fr) stops the track from being crushed to nothing by the
   fixed label and value columns on very narrow screens. */
.statbar {
  display: grid;
  grid-template-columns: 2.5rem minmax(3rem, 1fr) auto;
  align-items: center;
  gap: .5rem;
}

.statbar__label {
  font-family: var(--font-display);
  font-size: .6875rem;
  letter-spacing: .08em;
  color: var(--ink-3);
}

.statbar__track {
  display: block;
  position: relative;
  height: .5rem;
  background: #0a0705;
  border: 1px solid var(--line);
  border-radius: 99px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.8);
}

.statbar__track--lg { height: .625rem; }

.statbar__fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 99px;
  background: linear-gradient(180deg, #e57468, var(--hp));
  box-shadow: 0 0 8px rgba(216,86,74,.5);
  transition: width 1.8s cubic-bezier(.2,.8,.25,1);
}

.statbar--exp .statbar__fill {
  background: linear-gradient(180deg, #6ea6e6, var(--exp));
  box-shadow: 0 0 8px rgba(79,143,214,.5);
}

.statbar__fill--brass {
  background: linear-gradient(180deg, var(--amber-hi), var(--amber-lo));
  box-shadow: 0 0 8px rgba(242,176,60,.45);
}

.statbar__value {
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--ink-2);
  white-space: nowrap;
}

/* Badges ----------------------------------------------------------------- */
.badge {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  padding: .1875rem .5625rem;
  font-family: var(--font-mono);
  font-size: .6875rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 99px;
  border: 1px solid currentColor;
  white-space: nowrap;
}

/* the small lozenge that replaces the old emoji bullet */
.badge::before {
  content: '';
  width: .375rem; height: .375rem;
  background: currentColor;
  transform: rotate(45deg);
}

.badge--released    { color: var(--ok);    background: var(--ok-bg); }
.badge--development { color: var(--warn);  background: var(--warn-bg); }
.badge--planned     { color: var(--ink-3); background: rgba(138,122,98,.12); }

/* On the game cards the status is plain coloured text: no frame, no fill,
   no marker. Kept small so every title fits two lines and the cards stay
   the same height whatever the game is called. */
.world .badge {
  padding: 0;
  border: 0;
  background: none;
  font-size: .625rem;
  letter-spacing: .1em;
}
.world .badge::before { display: none; }

/* --------------------------- 4. LAYOUT ----------------------------------- */

.main {
  padding:
    calc(1.25rem + var(--sa-top))
    calc(1.125rem + var(--sa-right))
    calc(var(--tabbar-h) + 3.25rem + var(--sa-bot))
    calc(1.125rem + var(--sa-left));
  max-width: var(--maxw);
  margin-inline: auto;
}

.view { animation: fade .3s ease both; }
.view[hidden] { display: none; }

@keyframes fade {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}

/* Page header ------------------------------------------------------------ */
.topbar { margin-bottom: 1.5rem; }

.topbar__eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: .6875rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber);
}

.topbar__title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  line-height: 1.15;
  color: var(--ink);
  margin: .5rem 0 .3125rem;
}

.topbar__sub { font-size: .9375rem; color: var(--ink-3); }

.topbar::after {
  content: '';
  display: block;
  margin-top: 1.125rem;
  height: 1px;
  background: linear-gradient(90deg, var(--line-hi), var(--line) 45%, transparent);
}

/* --------------------------- 5. PROFILE ---------------------------------- */

.profile { display: grid; gap: 1.125rem; }
.character { text-align: center; }

.avatar {
  position: relative;
  width: 7.5rem;
  height: 7.5rem;
  margin: 0 auto 1rem;
  padding: .5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, var(--panel-3), var(--panel));
  border: 1px solid var(--amber-lo);
  box-shadow:
    0 0 0 4px rgba(242,176,60,.08),
    inset 0 0 16px rgba(0,0,0,.7),
    var(--sh-1);
}

.avatar__img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

.character__name {
  font-family: var(--font-display);
  font-size: 1.375rem;
  color: var(--ink);
  margin-bottom: .375rem;
}

.character__class {
  font-family: var(--font-mono);
  font-size: .75rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber);
  margin: 0 0 1.25rem;
}

/* Vitals ----------------------------------------------------------------- */
.vitals {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
  padding: 1rem;
  background: rgba(0,0,0,.28);
  border: 1px solid var(--line);
  border-radius: var(--r);
}

.level {
  position: relative;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  align-content: center;
  width: 4rem;
  height: 4.5rem;
  padding-top: .125rem;
}

.level::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--amber) 0%, var(--amber-lo) 100%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.level::after {
  content: '';
  position: absolute;
  inset: 2px;
  background: linear-gradient(180deg, var(--panel-3), var(--panel));
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.level__label, .level__value { position: relative; z-index: 1; }

.level__label {
  font-family: var(--font-display);
  font-size: .5625rem;
  letter-spacing: .12em;
  color: var(--amber);
}

.level__value {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--ink);
  text-shadow: 0 0 12px rgba(242,176,60,.4);
}

.vitals__bars { flex: 1 1 9rem; display: grid; gap: .625rem; min-width: 0; }

/* Below ~360px the crest and the bars cannot share a row without crushing
   the tracks, so stack them. */
@media (max-width: 22.5em) {
  .vitals { flex-direction: column; align-items: stretch; }
  .vitals__bars { flex: 1 1 auto; width: 100%; }
  .level { align-self: center; }
}

.vitals__next {
  margin: .125rem 0 0;
  font-size: .8125rem;
  color: var(--ink-3);
}

/* Quote and tags --------------------------------------------------------- */
.character__quote {
  margin: 1.125rem 0 0;
  padding: .875rem 1rem;
  border-left: 2px solid var(--amber-lo);
  background: rgba(0,0,0,.22);
  border-radius: 0 var(--r) var(--r) 0;
  font-size: .9375rem;
  font-style: italic;
  color: var(--ink-2);
  text-align: left;
}

.character__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
  justify-content: center;
  margin-top: 1rem;
}

.character__tags li {
  padding: .25rem .5625rem;
  font-family: var(--font-mono);
  font-size: .6875rem;
  color: var(--ink-2);
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: 99px;
}

/* Skills ----------------------------------------------------------------- */
.skills { display: grid; gap: 1rem; }

.skill__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .4375rem;
}

.skill__name { font-size: .875rem; font-weight: 500; color: var(--ink); }

.skill__value {
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--amber);
}

.skill__track {
  position: relative;
  height: .4375rem;
  background: #0a0705;
  border: 1px solid var(--line);
  border-radius: 99px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.8);
}

.skill__fill {
  height: 100%;
  width: 0;
  border-radius: 99px;
  transition: width 1.8s cubic-bezier(.2,.8,.25,1);
}

/* ---------------------------- 6. WORLDS ---------------------------------- */

.worlds { display: grid; gap: 1rem; }

.world {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  width: 100%;
  text-align: left;
  padding: 1rem;
  align-items: start;
}

.world__icon {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: .75rem;
  object-fit: cover;
  background: var(--panel);
  border: 1px solid var(--line-hi);
  box-shadow: var(--sh-1);
}

.world__body { display: block; min-width: 0; }

/* Title and status share a row; the status never shrinks so the title
   always gets the remaining width for its two lines. */
.world__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .3125rem;
}
.world__top .badge { flex: 0 0 auto; margin-top: .25rem; }
.world__title { flex: 1 1 auto; }

.world__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  line-height: 1.25;
  color: var(--ink);
  /* two lines exactly, so a long name cannot make one card taller */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
}

.world__tagline {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: .875rem;
  color: var(--ink-3);
  margin: 0 0 .875rem;
  min-height: 2.5em;
}

.world__meta { display: flex; align-items: center; gap: .625rem; }
.world__meta .statbar__track { flex: 1 1 auto; }

.world__pct {
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--ink-2);
}

/* ------------------------- 7. ACHIEVEMENTS ------------------------------- */

.ach-progress { max-width: 30rem; margin-bottom: 1.25rem; }

.achievements {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(7rem, 100%), 1fr));
  gap: .875rem;
}

.achievement {
  display: grid;
  justify-items: center;
  gap: .5rem;
  width: 100%;
  padding: .875rem .5rem;
}

.achievement__icon { width: 3.5rem; height: 3.5rem; object-fit: contain; }

.achievement--locked { opacity: .5; cursor: default; }
.achievement--locked:hover { transform: none; box-shadow: var(--sh-1); border-color: var(--line); }
.achievement--locked .achievement__icon { filter: grayscale(1); }

.achievement__title {
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  color: var(--ink-2);
}

.achievement--unlocked .achievement__title { color: var(--ink); }

/* ----------------------------- 8. LOGS ----------------------------------- */

.logs { display: grid; gap: 1rem; }

.log { display: block; width: 100%; text-align: left; overflow: hidden; padding: 0; }

.log__media {
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--panel);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.log__media img { width: 100%; height: 100%; object-fit: cover; }

.log__body { display: block; padding: 1rem; }

.log__top {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: .625rem;
}

.log__date { font-family: var(--font-mono); font-size: .75rem; color: var(--ink-3); }

.log__title {
  display: block;
  font-family: var(--font-display);
  font-size: 1.0625rem;
  line-height: 1.3;
  color: var(--ink);
  margin-bottom: .5rem;
}

.log__excerpt { font-size: .875rem; color: var(--ink-3); margin: 0; }

.log__more {
  display: inline-block;
  margin-top: .75rem;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--amber);
}

/* --------------------------- 9. DETAIL PAGES ----------------------------- */

.detail { display: grid; gap: 1.25rem; min-width: 0; }
.detail > * { min-width: 0; }

.backbtn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .875rem;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--ink-2);
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: 99px;
  justify-self: start;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}

.backbtn:hover { background: rgba(255,255,255,.07); color: var(--ink); transform: translateX(-2px); }

/* Game hero -------------------------------------------------------------- */
.ghero {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--sh-2);
}

.ghero__art {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--panel) center / cover no-repeat;
}

.ghero__status {
  position: absolute;
  top: .875rem;
  right: 1rem;
  z-index: 1;
  font-family: var(--font-mono);
  font-size: .6875rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0,0,0,.9);
}
.status--released    { color: var(--ok); }
.status--development { color: var(--amber); }
.status--planned     { color: var(--ink-2); }

.ghero__art::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11,8,6,.25) 0%, rgba(11,8,6,.55) 45%, var(--panel) 97%);
}

.ghero__body {
  position: relative;
  margin-top: -4rem;
  padding: 0 1.25rem 1.5rem;
  display: grid;
  gap: .875rem;
  justify-items: center;
  text-align: center;
  background: linear-gradient(180deg, transparent 0 4rem, var(--panel) 4rem);
}

.ghero__icon {
  width: 5.5rem;
  height: 5.5rem;
  border-radius: 1rem;
  border: 2px solid var(--amber-lo);
  box-shadow: 0 8px 28px rgba(0,0,0,.6);
}

.ghero__title {
  font-family: var(--font-display);
  font-size: 1.625rem;
  line-height: 1.15;
  color: var(--ink);
}

.ghero__sub {
  font-family: var(--font-mono);
  font-size: .8125rem;
  letter-spacing: .06em;
  color: var(--ink-3);
}

.ghero__desc { font-size: .9375rem; color: var(--ink-2); max-width: 46rem; margin: 0; }

.ghero__bar { width: 100%; max-width: 22rem; }

/* Pills row under the hero (No Ads / Play Offline / ...) */
.pills { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }

.pills li {
  padding: .3125rem .75rem;
  font-family: var(--font-mono);
  font-size: .6875rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ink-2);
  background: rgba(255,255,255,.04);
  border: 1px solid var(--line);
  border-radius: 99px;
}

/* Meta grid -------------------------------------------------------------- */
.gmeta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
  gap: .5rem;
  width: 100%;
  max-width: 38rem;
  min-width: 0;
}

.gmeta__cell {
  padding: .625rem .5rem;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: var(--r);
  text-align: center;
}

.gmeta__label {
  display: block;
  font-family: var(--font-mono);
  font-size: .625rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: .25rem;
}

.gmeta__value { font-size: .875rem; font-weight: 600; color: var(--ink); }

/* Store buttons ---------------------------------------------------------- */
.stores { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; align-items: center; }

/* Apple and Google supply their own badge artwork; both are height matched. */
.storebadge {
  display: inline-block;
  border-radius: .5rem;
  transition: transform .18s ease, filter .18s ease;
}
/* Both badge files are trimmed to their artwork edges, so matching the
   height makes them read as the same size despite different proportions. */
.storebadge img {
  height: 2.625rem;
  width: auto;
  max-width: none;
  display: block;
}
.storebadge:hover, .storebadge:focus-visible { transform: translateY(-2px); filter: brightness(1.08); }
.storebadge--disabled { opacity: .4; pointer-events: none; }



/* Sections --------------------------------------------------------------- */
.gsection__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  color: var(--ink);
  margin-bottom: .375rem;
}

.gsection__lead {
  font-size: .9375rem;
  color: var(--ink-3);
  margin: 0 0 1.25rem;
}

/* Feature rows: screenshot beside the copy, alternating sides ------------- */
.frows { display: grid; gap: 1.5rem; }

/* Copy aligns to the top of the phone rather than its centre, otherwise a
   short paragraph floats in the middle of a tall image and leaves a big gap. */
.frow {
  display: grid;
  gap: 1rem;
  align-items: start;
}

.frow__body { padding-top: .25rem; }

/* Device frame: every screenshot sits in the same phone shell so the
   gallery reads as one set regardless of the source capture size. */
.phone {
  position: relative;
  margin: 0;
  width: 100%;
  max-width: 13rem;
  aspect-ratio: 9 / 19.5;
  padding: 6px;
  background: #0a0705;
  border: 7px solid #2a1d10;
  border-radius: 1.75rem;
  box-shadow: 0 18px 44px rgba(0,0,0,.55);
  cursor: zoom-in;
  flex: 0 1 auto;
  transition: transform .2s ease;
}

.phone__notch {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 34%;
  height: .875rem;
  background: #0a0705;
  border-radius: 0 0 .625rem .625rem;
  z-index: 2;
}

.phone__screen {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1.25rem;
  overflow: hidden;
  background: var(--panel);
}

.phone__screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.phone:hover { transform: translateY(-3px); }

/* Fanned arrangement in the gallery */
.phone--tiltL { transform: rotate(-5deg); }
.phone--tiltR { transform: rotate(5deg) translateY(14px); }
.phone--tiltL:hover { transform: rotate(-5deg) translateY(-3px); }
.phone--tiltR:hover { transform: rotate(5deg) translateY(11px); }

/* The feature phone gets the same slight tilt as the gallery. Capped so it
   never dominates a narrow screen. */
.frow__art { display: flex; justify-content: center; }
.frow__art .phone { width: 10.5rem; max-width: 100%; }
.frow__art .phone { transform: rotate(-4deg); }
.frow:nth-child(even) .frow__art .phone { transform: rotate(4deg); }
.frow__art .phone:hover { transform: rotate(-4deg) translateY(-3px); }
.frow:nth-child(even) .frow__art .phone:hover { transform: rotate(4deg) translateY(-3px); }

/* Gallery: wraps into a centred row, every phone the same size */
.shots {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 1rem;
  justify-content: center;
  align-items: flex-start;
  padding-bottom: .5rem;
}

/* Two per row on a phone, so the gallery reads as a set rather than a
   single tall column. */
.shots .phone { width: calc(50% - .5rem); max-width: 9.5rem; }

.shots__empty {
  padding: 1.5rem;
  text-align: center;
  color: var(--ink-3);
  font-size: .875rem;
  border: 1px dashed var(--line-hi);
  border-radius: var(--r);
}

/* Closing call to action ------------------------------------------------- */
.gcta { display: grid; gap: 1rem; justify-items: center; text-align: center; }

.gcta__title {
  font-family: var(--font-display);
  font-size: 1.375rem;
  color: var(--ink);
}

.gcta__text { font-size: .9375rem; color: var(--ink-3); margin: 0; max-width: 34rem; }

/* Legal ------------------------------------------------------------------ */
.legal { display: flex; flex-wrap: wrap; gap: .625rem; }

.legal a {
  display: inline-flex;
  align-items: center;
  padding: .5rem .875rem;
  min-height: 2.75rem;
  font-size: .875rem;
  color: var(--ink-2);
  text-decoration: none;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: var(--r);
  transition: color .18s ease, border-color .18s ease;
}

.legal a:hover { color: var(--amber); border-color: var(--line-hi); }

/* Newsletter -------------------------------------------------------------- */
.newsletter__lead {
  font-size: .9375rem;
  color: var(--ink-3);
  margin: 0 0 1rem;
  max-width: 42ch;
}

/* The provider's iframe is a fixed 540x305. Scale it down on narrow screens
   rather than letting it overflow. */
.newsletter__embed {
  width: 100%;
  overflow: hidden;
  border-radius: var(--r);
}

.newsletter__embed iframe {
  display: block;
  width: 100%;
  max-width: 33.75rem;
  height: 19.0625rem;
  border: 0;
  margin-inline: auto;
  color-scheme: light;
}

.legaldoc { display: grid; gap: 1.5rem; }

.legal__sec h3 {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  color: var(--amber);
  margin-bottom: .5rem;
}

.legal__sec p { font-size: .9375rem; color: var(--ink-2); margin: 0 0 .75rem; line-height: 1.75; }
.legal__sec p:last-child { margin-bottom: 0; }

.legal__sec ul { margin: 0 0 .75rem; padding-left: 1.125rem; list-style: none; }
.legal__sec li {
  position: relative;
  margin-bottom: .4375rem;
  padding-left: .875rem;
  font-size: .9375rem;
  color: var(--ink-2);
}
.legal__sec li::before {
  content: '';
  position: absolute;
  left: 0; top: .6em;
  width: .3125rem; height: .3125rem;
  background: var(--amber-lo);
  transform: rotate(45deg);
}

/* the small game name chip beside an article date */
.log__game {
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--amber);
}

.legal__note {
  width: 100%;
  margin: .25rem 0 0;
  font-size: .8125rem;
  color: var(--ink-3);
}

/* Diglords theme: the game's own font on its own page --------------------- */
.theme-diglords .ghero__title  { font-family: var(--font-game); font-size: 2.75rem; line-height: 1.02; }
.theme-diglords .gsection__title { font-family: var(--font-game); font-size: 1.875rem; }
.theme-diglords .frow__title  { font-family: var(--font-game); font-size: 1.75rem; }
.theme-diglords .gcta__title  { font-family: var(--font-game); font-size: 2.125rem; }

/* Article ---------------------------------------------------------------- */
.article__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--panel);
  box-shadow: var(--sh-1);
}

.article__media img { width: 100%; height: 100%; object-fit: cover; }

.article__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--ink);
  margin-bottom: .625rem;
}

.article__meta {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-bottom: 1.25rem;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--ink-3);
}

.article__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--ink);
  padding-left: 1rem;
  border-left: 2px solid var(--amber-lo);
  margin: 0 0 1.5rem;
}

.article__body { font-size: 1rem; color: var(--ink-2); line-height: 1.8; }
.article__body p  { margin: 0 0 1.125rem; }
.article__body h3 {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  color: var(--ink);
  margin: 1.75rem 0 .75rem;
}
.article__body ul { margin: 0 0 1.125rem; padding-left: 1.125rem; list-style: none; }
.article__body li { position: relative; margin-bottom: .5rem; padding-left: .875rem; }
.article__body li::before {
  content: '';
  position: absolute;
  left: 0; top: .6em;
  width: .3125rem; height: .3125rem;
  background: var(--amber-lo);
  transform: rotate(45deg);
}
.article__body strong { color: var(--ink); font-weight: 600; }

/* ---------------------------- 10. TAB BAR -------------------------------- */

/* The dock holds the tab bar plus a very small legal strip beneath it. */
.tabdock {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 40;
  padding-bottom: var(--sa-bot);
  background: rgba(15,11,9,.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--line);
}

.tabbar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  height: var(--tabbar-h);
}

/* Deliberately tiny: present and tappable, but it must not eat screen. */
.tablegal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .25rem .875rem;
  padding: 0 .5rem .3125rem;
}

.tablegal a,
.tablegal .cookiebtn {
  font-size: .625rem;
  line-height: 1.2;
  color: var(--ink-3);
  text-decoration: none;
  padding: .125rem .125rem .1875rem;
}

.tablegal a:hover, .tablegal a:focus-visible,
.tablegal .cookiebtn:hover, .tablegal .cookiebtn:focus-visible { color: var(--amber); }

/* Reopens the consent dialog. Hidden until the consent script confirms it is
   available, so it never renders as a dead control. */
.cookiebtn {
  font-family: inherit;
  background: none;
  border: 0;
  cursor: pointer;
  text-align: left;
}
.cookiebtn[hidden] { display: none; }

.tab {
  display: grid;
  place-items: center;
  align-content: center;
  gap: .3125rem;
  color: var(--ink-3);
  position: relative;
  transition: color .18s ease;
}

/* Nav icons are generated art, embedded as data URIs so they need no extra
   request and render identically from a server or straight from disk.

   They are drawn as masks so they inherit the current text colour. Where
   mask-image is unsupported the @supports block below falls back to a plain
   background image, so an icon is always visible. */
.tab__glyph {
  width: 1.375rem;
  height: 1.375rem;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Masking is supported: tint the icon with the current colour. */
@supports (mask-image: url('')) or (-webkit-mask-image: url('')) {
  .tab__glyph { background-color: currentColor; background-image: none !important; }
}

/* No masking: show the amber artwork directly rather than nothing at all. */
@supports not ((mask-image: url('')) or (-webkit-mask-image: url(''))) {
  .tab__glyph { background-color: transparent; }
}
.tab__glyph--profile {
  -webkit-mask-image: url('data:image/png;base64,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');
  mask-image: url('data:image/png;base64,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');
  background-image: url('data:image/png;base64,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');
}
.tab__glyph--worlds {
  -webkit-mask-image: url('data:image/png;base64,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');
  mask-image: url('data:image/png;base64,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');
  background-image: url('data:image/png;base64,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');
}
.tab__glyph--achievements {
  -webkit-mask-image: url('data:image/png;base64,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');
  mask-image: url('data:image/png;base64,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');
  background-image: url('data:image/png;base64,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');
}
.tab__glyph--logs {
  -webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFWUlEQVR42s2aXahUVRTHf2vmzDVvolhXQTErS+nDKEON0l5CTQjEEITeoqJ6yCCwhyIq86WCIgiiB8EI6rWXJCGUCqQiKk3USrMs8qsU86bpvTPz78G1bXs8Z+bM3PFMCzZnzsfss9ZZa/3Xf69zIEMkVXy7WNJnkhoqV8L93pc0JGmDpMOSdkp6PNaxlfLLJJ30iZp9UP5rSZMkfZw6LknPZhohyXw7QdJev3i0T09/kaQn/PfZ1Pm6pPkAaTeE/fuA64EGkFCeNF2HH4GdwBo/NgB8AZz066rAg1kGmG9vAeSjTAn32wHMAK5xHbea2Z3Ay74vYK4kq+RMVKW/chy4Eqi5sjVJc4BNHhXmnsk14M/IG/2QScAfQUngbg/pgShqKlkh1PTtJmDUzzf8eKOEIb/XHcBR4GdgBHgU+AhY4QYJ+MnMmq1gdJ36K6slPSfpU0m3SnpB0pEIpVaSFyaSzMwkaY0jkpWY0HLP7wOeB6YC7wLzPSpqwDfAYuBMbpwHI6L9WsmoNM4VngF8B4x3w44DS8zsW0mVlokqacAnWQM8BfxTQl1QRkIPuh6fAC+Z2Q5JFTNrtlOm6aE0zTG5H7IOeBMYMLNDIU9DAicFn8YVjg71Eitzw+vRfjM7FgNMjD5JgdIOMN3jr5qCXvWoXuTNUwFOOEermlk9fUHSLoklJZ5IWahl7hUbg+JJC+UFDLsezawJioTDIDCUMiC4d4OPcX6sUzH/7wPAw9G8wSOjXtBypYgBE4HJOec2m9mXY44f6cYoZGMedtphkzwIT9o8HfnTr+XQ7sckLfSnqC49MAIszyGRfwPD3XoghMtVTqLiRAvbpT56JZVUUh8BzozVgOlR3CepBBzpQXU293AlA74Pmlk9zQo6zYEpbRLwUsqRKLTqnRoQLJ6dg9kHnOJWxhD/dffwypx7H+gWFSwaW1KL7bDIf6UnxOdc6ybd+aj79iG/ptpxDnjxuBy4LpUTloK/wS5rQNUTdGkGhFZ9f28rCC2yHpjtVPayjHLfiFZtY6EQ1QxwCPA6z8x2x+StqAfCUnJWhPGW8QQv5eL/GPB7Ow9U2njmJv/doHdcPz3ywON7M/urFYQWgdFZLVjqyQ4bVoMeikWbW/tS0dCRAeEP16Y8FcjWJuCRKNnaFctTvjB5soM1xe5WeZprQJTA44EbUpMEV24zs6MdwuWEIgpFebW/Xfy3C6GZ0TogPflqSQuizlkRuatN3qURaF+3BoSYm5OBQGF7u49uuU87OQr82q0B4QZzc0hcSDR1wTStQAJXgT3AKV8Dm87FdeE60IwMiNuK9KB13k4CYdt+jgz8p3ReMUsyXnCEBF5UQrHKS+DfzKwpaSawENhlZnuyaoKllD9vtaT7HbebJSkfWubjga3APOBtYJpzpjfM7Jm0JyzdRpR0tS8jT/SwbVK0Std8DTAZ2OXG1N0zBqwzsxcvMMIpc0VSTdJrkoadMjdL7kY3nUbfK+mtFK0OdH4kNADOv+CL2umv97GVHhR9zx/oITfouKTlkrZF1z7t+iYAFU+WBd68bUTwqBJHCNONHj4T/fheM9sMfBDpdHNcH0JVXJXR4rOSRtDjNPCD597hqK2YAGcjnS5AxYqjz20Fyvylbqcf9CaWgHeAr4Dt3g+dE10/mlUH+qF4FgNuOBqu94HXpGXRdXtiBE2cee4ClkRcvEwJYTQDGJK0wiMiMIC57oHACjZfVNn9tX6AqkYfUCjc8x5JazPOh08NNl70jUT0fcT6/wGMbpGURLB5Njr3uaQpXrMs79XqWkm/9KGIxV54VdJUSR+6HsP+uc2U+IEH+Re1TPcT2WlGQgAAAABJRU5ErkJggg==');
  mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFWUlEQVR42s2aXahUVRTHf2vmzDVvolhXQTErS+nDKEON0l5CTQjEEITeoqJ6yCCwhyIq86WCIgiiB8EI6rWXJCGUCqQiKk3USrMs8qsU86bpvTPz78G1bXs8Z+bM3PFMCzZnzsfss9ZZa/3Xf69zIEMkVXy7WNJnkhoqV8L93pc0JGmDpMOSdkp6PNaxlfLLJJ30iZp9UP5rSZMkfZw6LknPZhohyXw7QdJev3i0T09/kaQn/PfZ1Pm6pPkAaTeE/fuA64EGkFCeNF2HH4GdwBo/NgB8AZz066rAg1kGmG9vAeSjTAn32wHMAK5xHbea2Z3Ay74vYK4kq+RMVKW/chy4Eqi5sjVJc4BNHhXmnsk14M/IG/2QScAfQUngbg/pgShqKlkh1PTtJmDUzzf8eKOEIb/XHcBR4GdgBHgU+AhY4QYJ+MnMmq1gdJ36K6slPSfpU0m3SnpB0pEIpVaSFyaSzMwkaY0jkpWY0HLP7wOeB6YC7wLzPSpqwDfAYuBMbpwHI6L9WsmoNM4VngF8B4x3w44DS8zsW0mVlokqacAnWQM8BfxTQl1QRkIPuh6fAC+Z2Q5JFTNrtlOm6aE0zTG5H7IOeBMYMLNDIU9DAicFn8YVjg71Eitzw+vRfjM7FgNMjD5JgdIOMN3jr5qCXvWoXuTNUwFOOEermlk9fUHSLoklJZ5IWahl7hUbg+JJC+UFDLsezawJioTDIDCUMiC4d4OPcX6sUzH/7wPAw9G8wSOjXtBypYgBE4HJOec2m9mXY44f6cYoZGMedtphkzwIT9o8HfnTr+XQ7sckLfSnqC49MAIszyGRfwPD3XoghMtVTqLiRAvbpT56JZVUUh8BzozVgOlR3CepBBzpQXU293AlA74Pmlk9zQo6zYEpbRLwUsqRKLTqnRoQLJ6dg9kHnOJWxhD/dffwypx7H+gWFSwaW1KL7bDIf6UnxOdc6ybd+aj79iG/ptpxDnjxuBy4LpUTloK/wS5rQNUTdGkGhFZ9f28rCC2yHpjtVPayjHLfiFZtY6EQ1QxwCPA6z8x2x+StqAfCUnJWhPGW8QQv5eL/GPB7Ow9U2njmJv/doHdcPz3ywON7M/urFYQWgdFZLVjqyQ4bVoMeikWbW/tS0dCRAeEP16Y8FcjWJuCRKNnaFctTvjB5soM1xe5WeZprQJTA44EbUpMEV24zs6MdwuWEIgpFebW/Xfy3C6GZ0TogPflqSQuizlkRuatN3qURaF+3BoSYm5OBQGF7u49uuU87OQr82q0B4QZzc0hcSDR1wTStQAJXgT3AKV8Dm87FdeE60IwMiNuK9KB13k4CYdt+jgz8p3ReMUsyXnCEBF5UQrHKS+DfzKwpaSawENhlZnuyaoKllD9vtaT7HbebJSkfWubjga3APOBtYJpzpjfM7Jm0JyzdRpR0tS8jT/SwbVK0Std8DTAZ2OXG1N0zBqwzsxcvMMIpc0VSTdJrkoadMjdL7kY3nUbfK+mtFK0OdH4kNADOv+CL2umv97GVHhR9zx/oITfouKTlkrZF1z7t+iYAFU+WBd68bUTwqBJHCNONHj4T/fheM9sMfBDpdHNcH0JVXJXR4rOSRtDjNPCD597hqK2YAGcjnS5AxYqjz20Fyvylbqcf9CaWgHeAr4Dt3g+dE10/mlUH+qF4FgNuOBqu94HXpGXRdXtiBE2cee4ClkRcvEwJYTQDGJK0wiMiMIC57oHACjZfVNn9tX6AqkYfUCjc8x5JazPOh08NNl70jUT0fcT6/wGMbpGURLB5Njr3uaQpXrMs79XqWkm/9KGIxV54VdJUSR+6HsP+uc2U+IEH+Re1TPcT2WlGQgAAAABJRU5ErkJggg==');
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFWUlEQVR42s2aXahUVRTHf2vmzDVvolhXQTErS+nDKEON0l5CTQjEEITeoqJ6yCCwhyIq86WCIgiiB8EI6rWXJCGUCqQiKk3USrMs8qsU86bpvTPz78G1bXs8Z+bM3PFMCzZnzsfss9ZZa/3Xf69zIEMkVXy7WNJnkhoqV8L93pc0JGmDpMOSdkp6PNaxlfLLJJ30iZp9UP5rSZMkfZw6LknPZhohyXw7QdJev3i0T09/kaQn/PfZ1Pm6pPkAaTeE/fuA64EGkFCeNF2HH4GdwBo/NgB8AZz066rAg1kGmG9vAeSjTAn32wHMAK5xHbea2Z3Ay74vYK4kq+RMVKW/chy4Eqi5sjVJc4BNHhXmnsk14M/IG/2QScAfQUngbg/pgShqKlkh1PTtJmDUzzf8eKOEIb/XHcBR4GdgBHgU+AhY4QYJ+MnMmq1gdJ36K6slPSfpU0m3SnpB0pEIpVaSFyaSzMwkaY0jkpWY0HLP7wOeB6YC7wLzPSpqwDfAYuBMbpwHI6L9WsmoNM4VngF8B4x3w44DS8zsW0mVlokqacAnWQM8BfxTQl1QRkIPuh6fAC+Z2Q5JFTNrtlOm6aE0zTG5H7IOeBMYMLNDIU9DAicFn8YVjg71Eitzw+vRfjM7FgNMjD5JgdIOMN3jr5qCXvWoXuTNUwFOOEermlk9fUHSLoklJZ5IWahl7hUbg+JJC+UFDLsezawJioTDIDCUMiC4d4OPcX6sUzH/7wPAw9G8wSOjXtBypYgBE4HJOec2m9mXY44f6cYoZGMedtphkzwIT9o8HfnTr+XQ7sckLfSnqC49MAIszyGRfwPD3XoghMtVTqLiRAvbpT56JZVUUh8BzozVgOlR3CepBBzpQXU293AlA74Pmlk9zQo6zYEpbRLwUsqRKLTqnRoQLJ6dg9kHnOJWxhD/dffwypx7H+gWFSwaW1KL7bDIf6UnxOdc6ybd+aj79iG/ptpxDnjxuBy4LpUTloK/wS5rQNUTdGkGhFZ9f28rCC2yHpjtVPayjHLfiFZtY6EQ1QxwCPA6z8x2x+StqAfCUnJWhPGW8QQv5eL/GPB7Ow9U2njmJv/doHdcPz3ywON7M/urFYQWgdFZLVjqyQ4bVoMeikWbW/tS0dCRAeEP16Y8FcjWJuCRKNnaFctTvjB5soM1xe5WeZprQJTA44EbUpMEV24zs6MdwuWEIgpFebW/Xfy3C6GZ0TogPflqSQuizlkRuatN3qURaF+3BoSYm5OBQGF7u49uuU87OQr82q0B4QZzc0hcSDR1wTStQAJXgT3AKV8Dm87FdeE60IwMiNuK9KB13k4CYdt+jgz8p3ReMUsyXnCEBF5UQrHKS+DfzKwpaSawENhlZnuyaoKllD9vtaT7HbebJSkfWubjga3APOBtYJpzpjfM7Jm0JyzdRpR0tS8jT/SwbVK0Std8DTAZ2OXG1N0zBqwzsxcvMMIpc0VSTdJrkoadMjdL7kY3nUbfK+mtFK0OdH4kNADOv+CL2umv97GVHhR9zx/oITfouKTlkrZF1z7t+iYAFU+WBd68bUTwqBJHCNONHj4T/fheM9sMfBDpdHNcH0JVXJXR4rOSRtDjNPCD597hqK2YAGcjnS5AxYqjz20Fyvylbqcf9CaWgHeAr4Dt3g+dE10/mlUH+qF4FgNuOBqu94HXpGXRdXtiBE2cee4ClkRcvEwJYTQDGJK0wiMiMIC57oHACjZfVNn9tX6AqkYfUCjc8x5JazPOh08NNl70jUT0fcT6/wGMbpGURLB5Njr3uaQpXrMs79XqWkm/9KGIxV54VdJUSR+6HsP+uc2U+IEH+Re1TPcT2WlGQgAAAABJRU5ErkJggg==');
}

.tab__label {
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
}

.tab[aria-selected="true"] { color: var(--amber); }

.tab[aria-selected="true"]::before {
  content: '';
  position: absolute;
  top: 0; left: 26%; right: 26%;
  height: 2px;
  background: var(--amber);
  border-radius: 0 0 2px 2px;
}

/* ---------------------------- 11. SIDEBAR -------------------------------- */
.sidebar { display: none; }

/* ----------------------------- 12. MODAL --------------------------------- */

.modal { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 1rem; }
.modal[hidden] { display: none; }

.modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(5,3,2,.75);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: fade .2s ease both;
}

.modal__box {
  position: relative;
  width: min(26rem, 100%);
  max-height: 85dvh;
  overflow-y: auto;
  padding: 1.75rem 1.25rem 1.5rem;
  background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);
  border: 1px solid var(--line-hi);
  border-radius: var(--r-lg);
  box-shadow: 0 24px 60px rgba(0,0,0,.7);
  animation: pop .24s cubic-bezier(.2,.9,.3,1.2) both;
}

@keyframes pop {
  from { opacity: 0; transform: scale(.94) translateY(10px); }
  to   { opacity: 1; transform: none; }
}

.modal__close {
  position: absolute;
  top: .5rem; right: .5rem;
  width: 2.25rem; height: 2.25rem;
  display: grid; place-items: center;
  color: var(--ink-3);
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(0,0,0,.3);
}
.modal__close:hover { color: var(--ink); border-color: var(--amber-lo); }
.modal__close svg { width: .875rem; height: .875rem; }

.modal__art {
  width: 5.5rem; height: 5.5rem;
  margin: 0 auto 1rem;
  object-fit: contain;
  image-rendering: pixelated;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,.6));
}

.modal__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  text-align: center;
  color: var(--ink);
  margin-bottom: .5rem;
}

.modal__sub {
  display: flex; justify-content: center; gap: .5rem;
  margin-bottom: 1rem;
  font-family: var(--font-mono);
  font-size: .75rem;
  color: var(--amber);
}

.modal__text { font-size: .9375rem; color: var(--ink-2); text-align: center; margin: 0; }

.modal__box--wide { width: min(24rem, 100%); padding: .625rem; }
.modal__box--wide img { width: 100%; border-radius: var(--r); }

body.is-locked { overflow: hidden; }

/* =========================== 13. TABLET >=768px ========================== */
@media (min-width: 48em) {

  .main {
    padding:
      calc(2rem + var(--sa-top))
      calc(2rem + var(--sa-right))
      calc(var(--tabbar-h) + 3.75rem + var(--sa-bot))
      calc(2rem + var(--sa-left));
  }

  .topbar__title { font-size: 2.25rem; }

  .profile { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  /* the newsletter sits under both columns rather than beside the character */
  .panel--newsletter { grid-column: 1 / -1; }

  .worlds { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .achievements { grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); }
  .achievement__icon { width: 4rem; height: 4rem; }
  .logs { grid-template-columns: repeat(2, minmax(0,1fr)); }

  .shots .phone { width: 11rem; }

  /* screenshot beside copy, alternating left/right */
  /* Side by side: centre the copy against the phone so a short paragraph
     does not sit at the top with a large empty block beneath it. */
  /* Two named tracks: the phone column and the copy column. Alternating rows
     swap which track each child occupies. `order` alone would only reorder
     the children, leaving the copy stuck in the narrow phone track. */
  .frow {
    grid-template-columns: minmax(0, 13rem) minmax(0, 30rem);
    justify-content: center;
    gap: 2.25rem;
    align-items: center;
  }
  .frow__body { padding-top: 0; }
  .frow__text  { max-width: 42ch; }
  .frow__title { max-width: 24ch; }

  .frow__art  { grid-column: 1; grid-row: 1; }
  .frow__body { grid-column: 2; grid-row: 1; }

  .frow:nth-child(even) { grid-template-columns: minmax(0, 30rem) minmax(0, 13rem); }
  .frow:nth-child(even) .frow__art  { grid-column: 2; }
  .frow:nth-child(even) .frow__body { grid-column: 1; }

  .ghero__icon { width: 6.5rem; height: 6.5rem; }
  .ghero__title { font-size: 2rem; }
  .theme-diglords .ghero__title { font-size: 3.5rem; }

  .article__title { font-size: 1.875rem; }
}

/* ========================== 14. DESKTOP >=1080px ========================= */
@media (min-width: 67.5em) {

  body { display: grid; grid-template-columns: 16.5rem 1fr; }

  .tabdock { display: none; }

  .sidebar {
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100dvh;
    padding: 2rem 1.25rem calc(1.5rem + var(--sa-bot));
    background: linear-gradient(180deg, var(--panel-2) 0%, var(--panel) 100%);
    border-right: 1px solid var(--line);
    overflow-y: auto;
  }

  .sidebar__brand {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--line);
  }

  .sidebar__avatar {
    width: 2.75rem; height: 2.75rem;
    flex: 0 0 auto;
    border-radius: 50%;
    padding: .1875rem;
    background: var(--panel-3);
    border: 1px solid var(--amber-lo);
    object-fit: cover;
  }

  .sidebar__slot {
    display: block;
    font-family: var(--font-mono);
    font-size: .625rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin-bottom: .125rem;
  }

  .sidebar__name {
    font-family: var(--font-display);
    font-size: 1rem;
    line-height: 1.2;
    color: var(--ink);
  }

  .sidebar__nav { display: grid; gap: .1875rem; }

  .sidebar .tab {
    grid-template-columns: 1.5rem 1fr;
    display: grid;
    place-items: center start;
    align-content: center;
    gap: .625rem;
    padding: .625rem .75rem;
    border-radius: var(--r);
    text-align: left;
  }

  .sidebar .tab__label { font-size: .875rem; }
  .sidebar .tab:hover { color: var(--ink); background: rgba(255,255,255,.04); }

  .sidebar .tab[aria-selected="true"] {
    background: rgba(242,176,60,.12);
    color: var(--amber);
  }

  .sidebar .tab[aria-selected="true"]::before {
    top: .5rem; bottom: .5rem; left: 0; right: auto;
    width: 2px; height: auto;
    border-radius: 0 2px 2px 0;
  }

  /* The cookie widget floats in the bottom left corner, so leave it room. */
  .sidebar__foot { margin-top: auto; padding-top: 1.25rem; padding-bottom: 3rem; }

  .sitelegal { display: grid; gap: .3125rem; }

  .sitelegal a,
  .sitelegal .cookiebtn {
    font-size: .75rem;
    color: var(--ink-3);
    text-decoration: none;
    padding: .125rem 0;
  }

  .sitelegal a:hover, .sitelegal a:focus-visible,
  .sitelegal .cookiebtn:hover, .sitelegal .cookiebtn:focus-visible { color: var(--amber); }

  .main {
    padding:
      calc(2.5rem + var(--sa-top))
      calc(3rem + var(--sa-right))
      3.5rem
      calc(3rem + var(--sa-left));
    width: 100%;
  }

  .profile { grid-template-columns: 21rem minmax(0,1fr); gap: 1.5rem; }

  .worlds, .logs { gap: 1.25rem; }
  .achievements { grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: 1rem; }

  .shots .phone { width: 12rem; }
  .shots { gap: 1.5rem 1.25rem; }

  .frow { grid-template-columns: minmax(0, 14rem) minmax(0, 34rem); gap: 3rem; }
  .frow:nth-child(even) { grid-template-columns: minmax(0, 34rem) minmax(0, 14rem); }
  .frow__text { max-width: 46ch; }
  .frow__title { max-width: 26ch; }
  .frows { gap: 2.5rem; }

  .ghero__title { font-size: 2.25rem; }
  .theme-diglords .ghero__title { font-size: 4rem; }

  .detail { max-width: 64rem; }
}

/* ======================== 15. WIDE DESKTOP >=1400px ===================== */
@media (min-width: 87.5em) {
  body { grid-template-columns: 18rem 1fr; }
  .logs { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

/* ========================= 16. PREFERENCES ============================== */

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

@media (hover: none) {
  .card:hover, .world:hover, .log:hover, .achievement:hover { transform: none; }
}

@media print {
  .tabbar, .sidebar, .modal, .backbtn { display: none !important; }
  body { background: #fff; color: #000; }
}
