:root {
  /* Trivian (trivian.lt) paletė: tamsus fonas, neoninė ir sodri žalia */
  --bg: #1b1b1b;
  --panel: #242424;
  --line: #3a3a3a;
  --text: #fff;
  --muted: #9f9f9f;
  --accent: #47ff9d;
  --accent-2: #29c566;
  --accent-ink: #0f1f16;
  --radius: 16px;
  /* Sąsaja – švarus grotesk kaip trivian.lt; kortelė – komikso plakatas */
  --font-display: 'Sora', system-ui, sans-serif;
  --font-body: 'Manrope', system-ui, sans-serif;
  --card-display: 'Anton', Impact, sans-serif;
  --card-body: 'Archivo Narrow', 'Arial Narrow', sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html, body { margin: 0; overscroll-behavior: none; } /* be „pull to refresh“ ir atšokimo planšetėje */
/* Viešoje galerijoje ir kortelės puslapyje (telefonuose) – įprastas „patempk ir atnaujink“ */
html:has(.gallery-page, .result-page), html:has(.gallery-page, .result-page) body { overscroll-behavior: auto; }

body {
  min-height: 100dvh;
  background:
    radial-gradient(ellipse 60% 45% at 50% -10%, rgba(71, 255, 157, .14), transparent 70%),
    radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.5px) 0 0 / 24px 24px,
    var(--bg);
  background-attachment: fixed;
  color: var(--text);
  font-family: var(--font-body);
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation; /* be dvigubo bakstelėjimo priartinimo */
}

.app { /* įdiegtoje aplikacijoje turinys neužlenda po būsenos juosta ar kameros išpjova */
  max-width: 1100px; margin: 0 auto;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}

/* Viršus */
.top { display: flex; align-items: center; gap: 24px; margin-bottom: 24px; }
.logo { font-family: var(--font-display); font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
.logo b { color: var(--accent); margin-left: 2px; font-weight: 800; }
.progress { flex: 1; height: 4px; background: rgba(255, 255, 255, .08); border-radius: 99px; overflow: hidden; }
.top:has(+ .wizard .step--intro.is-active) .progress { visibility: hidden; }
.lang-switch { display: none; gap: 6px; }
.top:has(+ .wizard .step--intro.is-active) .lang-switch { display: flex; } /* kalba renkama tik pradžios ekrane */
.lang-switch a {
  min-width: 56px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted);
  font-family: var(--font-display); font-weight: 700; font-size: 16px; text-align: center; text-decoration: none;
}
.lang-switch a[aria-current] { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width .4s; }

/* Žingsniai */
.step { display: none; animation: pop .35s ease; }
.step.is-active { display: block; }
@keyframes pop { from { opacity: 0; transform: translateY(12px); } }

.step--intro { text-align: center; padding: 12vh 0; }
.eyebrow {
  display: inline-block; margin-bottom: 24px; padding: 6px 14px; border: 1px solid rgba(71, 255, 157, .35);
  border-radius: 99px; color: var(--accent); font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.step--intro h1 {
  max-width: 900px; margin: 0 auto 20px; font-family: var(--font-display); font-weight: 800;
  font-size: clamp(40px, 7vw, 84px); line-height: 1.02; letter-spacing: -.035em;
}
.step--intro h1 span { color: var(--accent); text-shadow: 0 0 40px rgba(71, 255, 157, .35); }
.step--intro p { max-width: 560px; margin: 0 auto 44px; color: var(--muted); font-size: 20px; line-height: 1.5; }

.step__count { color: var(--muted); font-size: 14px; font-weight: 700; letter-spacing: .12em; }
.step h2 { font-family: var(--font-display); font-size: clamp(28px, 4.5vw, 44px); font-weight: 700; letter-spacing: -.025em; margin: 6px 0 24px; }

/* Perjungiklis (pvz., parduodu / padedu parduoti) */
.segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-bottom: 20px; padding: 4px; border: 1px solid var(--line); border-radius: 99px; background: #212121; }
.segmented__option {
  padding: 12px 20px; border: 0; border-radius: 99px; background: transparent; color: var(--muted);
  font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s, color .15s;
}
.segmented__option.is-active { background: var(--accent); color: var(--accent-ink); }

/* Plytelės */
.tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.tile {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  min-height: 120px; padding: 12px; border: 1px solid #2e2e2e; border-radius: var(--radius);
  background: #212121; color: var(--text); font: inherit; font-size: 16px; font-weight: 600; text-align: center;
  cursor: pointer; transition: transform .15s, border-color .15s, background .15s;
}
.tile:hover { border-color: rgba(71, 255, 157, .45); }
.tile:active { transform: scale(.96); }
.tile__emoji { font-size: 40px; line-height: 1; }
.emoji-svg { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; } /* ženkliukai, kurių nėra tarp emoji (pvz., bitcoin) */
.tile--alt { background: transparent; border: 1px dashed var(--line); color: var(--muted); }
.tile.is-selected { border-color: var(--accent); background: rgba(71, 255, 157, .08); box-shadow: 0 0 0 4px rgba(71, 255, 157, .12); }
.tile.is-rolled { animation: roll .6s; }
@keyframes roll { 30% { transform: rotate(-6deg) scale(1.08); } 60% { transform: rotate(6deg) scale(1.08); } }

.custom { display: flex; gap: 12px; margin-top: 16px; }
.custom input {
  flex: 1; min-width: 0; padding: 16px 18px; border-radius: var(--radius); border: 1px solid var(--line);
  background: #212121; color: var(--text); font: inherit;
}
.custom--name { max-width: 420px; margin: 0 0 20px; }
.custom input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(71, 255, 157, .12); }

/* Mygtukai */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 28px;
  border: 1px solid transparent; border-radius: 99px; background: var(--accent); color: var(--accent-ink);
  font: inherit; font-size: 17px; font-weight: 700; text-decoration: none; cursor: pointer;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.btn:hover { box-shadow: 0 0 0 6px rgba(71, 255, 157, .15), 0 8px 30px rgba(71, 255, 157, .25); }
.btn:active { transform: scale(.97); }
.btn:disabled { opacity: .35; cursor: not-allowed; box-shadow: none; }
.btn--big { font-family: var(--font-display); font-size: 20px; padding: 18px 44px; letter-spacing: -.01em; }
.btn__icon { width: 1.15em; height: 1.15em; margin-left: 10px; vertical-align: -.2em; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.btn--ghost { background: transparent; border-color: var(--line); color: var(--text); }
.btn--ghost:hover { border-color: var(--muted); box-shadow: none; }
.link { display: block; margin-top: 24px; background: none; border: 0; color: var(--muted); font: inherit; cursor: pointer; padding: 8px 0; }

/* Nuotrauka */
.photo { /* per visą plotį, kvadratas – toks pat kaip sugeneruotas portretas */
  display: grid; place-items: center; width: 100%; aspect-ratio: 1 / 1; margin-bottom: 20px;
  border: 1px dashed var(--line); border-radius: var(--radius); background: #212121;
  color: var(--muted); text-align: center; cursor: pointer; overflow: hidden;
}
.photo { position: relative; cursor: default; margin-bottom: 16px; }
.photo img, .photo__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo__video { transform: scaleX(-1) scale(var(--zoom, 1)); } /* veidrodinis vaizdas; --zoom – priartinimas (app.js) */
.photo__count {
  position: absolute; inset: 0; display: grid; place-items: center; z-index: 1;
  font-family: var(--font-display); font-weight: 800; font-size: 140px; color: var(--accent); text-shadow: 0 0 40px rgba(0, 0, 0, .6);
}
.photo-actions { display: none; } /* tik paslėpti failų laukai */
.gallery-dialog {
  width: min(92vw, 520px); padding: 32px 28px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--panel); color: var(--text); text-align: center;
}
.gallery-dialog::backdrop { background: rgba(0, 0, 0, .7); }
.gallery-dialog__emoji { font-size: 52px; line-height: 1; margin-bottom: 12px; }
.gallery-dialog h3 { margin: 0 0 10px; font-family: var(--font-display); font-size: 26px; line-height: 1.2; }
.gallery-dialog .hint { margin: 0 0 24px; font-size: 16px; }
.gallery-dialog .actions { margin: 0; }
.gallery-dialog .btn { min-width: 150px; }
.zoom-dialog {
  width: min(92vw, 460px); padding: 24px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--panel); color: var(--text);
}
.zoom-dialog::backdrop { background: rgba(0, 0, 0, .6); }
.zoom-dialog h3 { margin: 0 0 6px; font-family: var(--font-display); }
.zoom-dialog .hint { margin: 0 0 18px; font-size: 15px; }
.zoom-dialog__row { display: flex; align-items: center; gap: 16px; }
.zoom-dialog input[type=range] { flex: 1; accent-color: var(--accent); height: 32px; }
.zoom-dialog output { min-width: 52px; font-family: var(--font-display); font-weight: 800; font-size: 22px; text-align: right; }
.zoom-dialog .actions { justify-content: flex-start; margin-top: 20px; }
.photo__shutter { /* paprastas plokščias žalias apskritimas vaizdo apačioje per vidurį */
  position: absolute; z-index: 2; left: 50%; bottom: 24px; width: 76px; height: 76px; transform: translateX(-50%);
  border: 0; border-radius: 50%; background: var(--accent); cursor: pointer; transition: transform .12s;
}
.photo__shutter { display: grid; place-items: center; }
.photo__shutter svg { width: 38px; height: 38px; fill: var(--accent-ink); } /* plokščia juoda fotoaparato ikona */
.photo__shutter:active { transform: translateX(-50%) scale(.92); }
.photo__shutter:disabled { opacity: .5; }
.photo__canvas { position: absolute; inset: 0; width: 100%; height: 100%; transform: scaleX(-1); } /* kaip matėte save */
.photo__flash { position: absolute; inset: 0; z-index: 3; background: #fff; opacity: 0; pointer-events: none; }
.photo__flash.is-flashing { animation: flash .45s ease-out; }
@keyframes flash { 0% { opacity: .95; } 100% { opacity: 0; } }
.photo__count.is-tick { animation: tick .8s ease-out; }
@keyframes tick { 0% { transform: scale(1.4); opacity: 0; } 25% { transform: scale(1); opacity: 1; } 100% { transform: scale(.9); opacity: .85; } }
.photo__consent { max-width: none; margin-bottom: 18px; font-size: 15px; }
/* Vardo žingsnis – forma ekrano viduryje, didelis laukas */
.step[data-name-step].is-active { display: flex; flex-direction: column; }
.name-step { display: flex; flex: 1; flex-direction: column; justify-content: center; align-items: stretch; gap: 14px; padding-bottom: 8vh; text-align: center; }
.name-step__emoji { font-size: 64px; line-height: 1; }
.name-step h2 { margin: 0; }
.name-step .hint { margin: 0 0 10px; font-size: 18px; }
.name-step__input {
  width: 100%; padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #212121;
  color: var(--text); font: inherit; font-size: 28px; font-weight: 600; text-align: center;
}
.name-step__input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(71, 255, 157, .12); }
.name-step__company { padding-block: 16px; font-size: 22px; }
.name-step__next { align-self: center; min-width: 220px; margin-top: 6px; }
.name-step__back { align-self: center; margin-top: 4px; }
.photo__retake, .photo__open { position: absolute; z-index: 2; left: 50%; bottom: 24px; transform: translateX(-50%); white-space: nowrap; }
.photo__retake {
  padding: 12px 20px; border: 0; border-radius: 99px; background: rgba(0, 0, 0, .65); color: #fff;
  font: inherit; font-weight: 700; cursor: pointer; backdrop-filter: blur(6px);
}
.photo-actions .btn { cursor: pointer; }
.consent { display: flex; gap: 12px; align-items: flex-start; max-width: 600px; margin-bottom: 24px; color: var(--muted); }
.consent input { width: 24px; height: 24px; flex: none; accent-color: var(--accent); }
.consent--gallery { justify-content: center; max-width: 560px; margin: 20px auto 0; text-align: left; }
.lead__contacts.lead__company { grid-template-columns: minmax(0, 1fr); }
.lead__consents { margin-top: 28px; }
.lead__consents .consent { max-width: none; margin-bottom: 18px; } /* visi sutikimai per visą plotį, sulygiuoti kairėje */
.consent:has(input:disabled) { opacity: .4; } /* pvz., sutikimas susisiekti be įvesto kontakto */
.lead__notice { max-width: 640px; margin: 0 0 20px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.hint { color: var(--muted); margin: -12px 0 16px; }
.step__hint { margin: -14px 0 20px; font-size: 17px; }
.multi-bar { position: sticky; bottom: 16px; z-index: 2; margin-top: 20px; }
.multi-bar .btn { box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }
.tile:disabled { opacity: .35; cursor: not-allowed; }
.error { color: #ff6b6b; font-weight: 700; }

/* Lead'ų anketa */
.lead__title { display: flex; align-items: center; gap: 16px; }
.lead__spinner { /* besisukantis ratukas su pulsuojančiu švytėjimu, kol AI generuoja */
  flex: none; width: .9em; height: .9em; border-radius: 50%;
  border: .12em solid rgba(71, 255, 157, .18); border-top-color: var(--accent);
  animation: spin .9s linear infinite, glow 1.8s ease-in-out infinite;
}
.lead__spinner.is-done { /* baigta – žalias taškas su varnele */
  display: grid; place-items: center; border: 0; background: var(--accent); animation: none;
}
.lead__spinner.is-done::after { content: '✓'; color: var(--accent-ink); font-size: .55em; font-weight: 800; }
@keyframes glow { 50% { box-shadow: 0 0 0 .18em rgba(71, 255, 157, .12), 0 0 .6em rgba(71, 255, 157, .45); } }
.lead__progress { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.lead__stage { padding: 6px 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: 14px; font-weight: 600; }
.lead__stage.is-done { border-color: rgba(71, 255, 157, .4); color: var(--accent); }
.lead__question { margin: 28px 0 6px; font-family: var(--font-display); font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
/* Lead'ų plytelės – tokio pat stiliaus kaip anketoje (ženkliukas viršuje, tekstas po juo), tik tankesnis tinklelis */
.tiles--compact { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.tile--check { user-select: none; }
.catalog__group { grid-column: 1 / -1; margin-top: 8px; color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lead__hint { margin: 0 0 20px; color: var(--muted); font-size: 15px; }
.step--lead .actions.actions--left { margin-top: 32px; }
.catalog__toggle { margin-top: 14px; color: var(--accent); font-weight: 700; }


.lead__contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 16px; }
.lead__contacts input {
  padding: 15px 18px; border-radius: var(--radius); border: 1px solid var(--line); background: #212121; color: var(--text); font: inherit;
}
.lead__contacts input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(71, 255, 157, .12); }
.actions.actions--left { justify-content: flex-start; margin-top: 8px; }

/* Rezultatas */
.step--result { text-align: center; }
.status { font-family: var(--font-display); font-size: 24px; font-weight: 700; letter-spacing: -.02em; color: var(--accent); }
.actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

/* ===== Kortelė ===== */
.card {
  position: relative; width: min(100%, 560px); aspect-ratio: 2 / 3; margin: 0 auto;
  container-type: inline-size; overflow: hidden; border-radius: 6px; background: #000;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .6); text-align: left; font-family: var(--card-body);
}
.card__photo { position: absolute; inset: 0; }
.card__hero { /* permatomas herojus ant fono (kvadratas per visą plotį, apačia užeina po panele) */
  position: absolute; left: 0; top: 4cqw; width: 100%; height: 100cqw; object-fit: contain; object-position: center bottom;
}
.card__hero { filter: drop-shadow(0 0 3cqw rgba(0, 0, 0, .45)); }
.card__hero--full { height: 100%; object-fit: cover; object-position: center top; filter: none; }
.card__backdrop { /* vietoj nuotraukos: TV studijos fonas su verslo srities emoji */
  position: absolute; inset: 0; display: grid; place-items: center;
  background:
    repeating-conic-gradient(from 0deg at 50% 32%, rgba(255, 255, 255, .07) 0 10deg, transparent 10deg 20deg),
    radial-gradient(circle at 50% 32%, #3b8f63, #173a27 42%, #0c0c0c 82%);
}
.card__backdrop span { font-size: 40cqw; line-height: 1; margin-top: -38cqw; filter: drop-shadow(1.5cqw 1.5cqw 0 rgba(0, 0, 0, .35)); }
.card__loading {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 4cqw;
  background: linear-gradient(160deg, #1d2b23, #0d0d0d); color: var(--muted); font-size: 4cqw;
}
.spinner { width: 14cqw; height: 14cqw; border: 1.6cqw solid rgba(255, 255, 255, .15); border-top-color: var(--accent); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.card__brand {
  position: absolute; z-index: 2; color: #fff; font-family: 'Courier New', monospace; font-weight: 700;
  font-size: 3.6cqw; text-shadow: 0 0 .6cqw #000, 0 0 .6cqw #000;
}
.card__brand {
  top: 4.6cqw; right: 8cqw; display: flex; flex-direction: column; align-items: flex-end; gap: .5cqw;
  font-family: var(--card-display); font-weight: 400; text-transform: uppercase;
}
.card__presents { font-family: 'Sora', sans-serif; font-size: 1.7cqw; letter-spacing: .17cqw; }
.card__presents b { font-weight: 800; }
.card__title { font-size: 4.2cqw; line-height: 1; }
.card__title b { color: var(--accent); font-weight: 400; margin-left: .8cqw; }

/* Apverčiama kortelė */
.flip { width: min(100%, 560px); margin: 0 auto; perspective: 1600px; cursor: pointer; outline: none; }
.flip .card { width: 100%; }
.flip__inner { position: relative; transition: transform .7s cubic-bezier(.3, 1.3, .5, 1); transform-style: preserve-3d; }
.flip.is-flipped .flip__inner { transform: rotateY(180deg); }
.flip .card { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
/* WebKit (iOS Safari/Chrome) backface-visibility neslepia vaikų su savo sluoksniu (z-index, filter, clip-path) –
   pro nugarėlę matėsi veidrodinis priekis. Todėl nusisukusi pusė paslepiama, kai kortelė būna briauna į žiūrovą
   (su šia spyruokline animacija 90° pasiekiama po ~0,1 s). */
.flip .card { transition: visibility 0s .1s; }
.flip:not(.is-flipped) .card--back, .flip.is-flipped .card:not(.card--back) { visibility: hidden; }
.flip .card--back { position: absolute; inset: 0; transform: rotateY(180deg); }
.flip:focus-visible .card { box-shadow: 0 0 0 4px var(--accent-2); }
.card__flip-hint {
  position: absolute; z-index: 3; top: 3.5cqw; left: 4cqw; width: 8cqw; height: 8cqw; display: grid; place-items: center;
  border-radius: 50%; background: rgba(0, 0, 0, .35); color: #fff; font-size: 5cqw; font-weight: 700;
}

.card--back { /* cqw vienetai galioja tik vaikams, todėl padding'as – vidiniame elemente */
  color: #fff;
  background:
    radial-gradient(circle, rgba(71, 255, 157, .07) 22%, transparent 23%) 0 0 / 12px 12px,
    linear-gradient(160deg, #262626, #151515 55%, #0b0b0b);
}
.card__back-content { position: absolute; inset: 0; padding: 11cqw 9cqw 6cqw; } /* nugarėlėje logotipo nėra – jis priekyje */
.card__back-title { font-family: var(--card-display); font-size: 5cqw; letter-spacing: .4cqw; text-transform: uppercase; color: var(--accent); }
.card__back-name {
  margin: 1cqw 0 3cqw; font-family: var(--card-display); font-size: 8cqw; line-height: 1; text-transform: uppercase;
  text-shadow: .7cqw .7cqw 0 #000;
}
.card__answers { margin: 0; }
.card__answers dt { margin-top: 2.6cqw; font-size: 2.9cqw; font-weight: 700; color: rgba(255, 255, 255, .75); text-transform: uppercase; letter-spacing: .2cqw; }
.card__answers dd {
  margin: .8cqw 0 0; padding-bottom: 2cqw; border-bottom: .4cqw solid rgba(255, 255, 255, .25);
  font-size: 4.4cqw; line-height: 1.15; font-weight: 700; text-shadow: .4cqw .4cqw 0 rgba(0, 0, 0, .5);
}

.card__sponsor { /* Trivian parašas, kaip stende: „Tai, ką kūrėme lyderiams, dabar prieinama visiems“ */
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 3cqw;
  margin-top: 4cqw; padding-top: 2.3cqw; border-top: .17cqw solid rgba(255, 255, 255, .14);
  font-size: 2.2cqw; color: rgba(255, 255, 255, .7); text-align: right;
}
.card__sponsor img { flex: none; display: block; height: 3.3cqw; width: auto; }
.card__sponsor b { color: var(--accent); }

.card__panel { /* blizgi informacijos panelė apačioje */
  position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 6.7cqw 9cqw 5cqw;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .22), transparent 30%),
    linear-gradient(135deg, #262626, #171717 55%, #0b0b0b);
  clip-path: polygon(0 9cqw, 100% 0, 100% 100%, 0 100%);
  box-shadow: inset 0 1cqw 0 var(--accent);
}
.card__panel::before { /* halftone taškai */
  content: ''; position: absolute; inset: 0; opacity: .07; pointer-events: none;
  background: radial-gradient(circle, var(--accent) 22%, transparent 23%) 0 0 / 2.4cqw 2.4cqw;
}
.card__name {
  position: relative; margin-top: 3cqw; font-family: var(--card-display); font-size: 9cqw; line-height: 1;
  text-transform: uppercase; color: #fff; text-shadow: .5cqw .5cqw 0 #000, 0 0 4cqw rgba(255, 255, 255, .45);
  opacity: 0; transform: translateX(-10cqw);
}
.card__rating {
  position: relative; display: flex; align-items: center; gap: 1.3cqw; margin-top: 1.7cqw;
  font-size: 2.8cqw; color: rgba(255, 255, 255, .62); text-shadow: .17cqw .17cqw 0 rgba(0, 0, 0, .6);
  opacity: 0; transform: translateX(-10cqw);
}
.card__stars { width: 17.3cqw; height: 3cqw; fill: var(--accent); stroke: #000; stroke-width: .8; stroke-linejoin: round; }
.card__rating b { color: #fff; font-size: 3.2cqw; }
.card__facts { position: relative; margin: 3cqw 0 0; padding: 0; list-style: none; }
.card__facts li {
  position: relative; margin-top: 1.7cqw; padding-left: 5cqw; color: #fff; font-weight: 700;
  font-size: 3.85cqw; line-height: 1.2; text-shadow: .33cqw .33cqw 0 rgba(0, 0, 0, .6);
  opacity: 0; transform: translateX(8cqw);
}
.card__facts li::before {
  content: ''; position: absolute; left: 0; top: .9cqw; width: 2.4cqw; height: 2.4cqw;
  background: var(--accent); transform: rotate(45deg); box-shadow: .33cqw .33cqw 0 #000;
}

/* Vardas ir eilutės išslenka po vieną, kaip laidoje */
.is-revealed .card__name, .result-page .card__name, .is-revealed .card__rating, .result-page .card__rating,
.is-revealed .card__facts li, .result-page .card__facts li { animation: slide-in .45s cubic-bezier(.2, 1.4, .4, 1) forwards; }
.is-revealed .card__facts li:nth-child(1), .result-page .card__facts li:nth-child(1) { animation-delay: .7s; }
.is-revealed .card__facts li:nth-child(2), .result-page .card__facts li:nth-child(2) { animation-delay: 1.3s; }
.is-revealed .card__facts li:nth-child(3), .result-page .card__facts li:nth-child(3) { animation-delay: 1.9s; }
.is-revealed .card__facts li:nth-child(4), .result-page .card__facts li:nth-child(4) { animation-delay: 2.5s; }
.card__nick b { color: var(--accent); }
.card__nick b::before { content: '„'; }
.card__nick b::after { content: '“'; }
.card--en .card__nick b::before { content: '“'; }
.card--en .card__nick b::after { content: '”'; }
@keyframes slide-in { to { opacity: 1; transform: none; } }

.debug {
  width: min(100%, 560px); margin: 20px auto 0; padding: 12px 16px; border: 1px dashed var(--line);
  border-radius: 12px; color: var(--muted); font-size: 15px; line-height: 1.45; text-align: left;
}
.debug--inline { display: grid; gap: 8px; width: auto; max-width: 600px; margin: 0 0 20px; }
.debug--inline b { color: var(--accent-2); }
.debug--inline label { display: flex; gap: 10px; align-items: center; }
.debug summary { cursor: pointer; font-weight: 700; color: var(--accent-2); }
.debug p { margin: 8px 0 0; font-family: ui-monospace, Menlo, monospace; font-size: 13px; }

/* Galerija */
a.logo { color: inherit; text-decoration: none; }
.gallery__count { margin-left: auto; color: var(--muted); font-weight: 700; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.gallery__item { display: block; color: var(--muted); text-decoration: none; transition: transform .15s; }
.gallery__item:hover { transform: translateY(-4px); }
.gallery__item .card { width: 100%; }
.gallery .card__name, .gallery .card__rating, .gallery .card__facts li { opacity: 1; transform: none; }
.gallery__date { display: block; margin-top: 8px; font-size: 14px; text-align: center; }

/* Administravimas */
.admin { max-width: 1400px; }
.admin__notice { margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; background: #173524; color: var(--accent); font-weight: 700; }
.admin__title { margin: 40px 0 0; font-family: var(--font-display); font-size: 24px; font-weight: 700; }
.admin__meta { margin-top: 2px; color: #8a8a8a; font-size: 13px; }

.admin__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 0 0 24px; }
.admin__stats div { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.admin__stats dt { color: var(--muted); font-size: 13px; }
.admin__stats dd { margin: 4px 0 0; font-family: var(--font-display); font-size: 28px; font-weight: 800; letter-spacing: -.02em; }
.admin__stats dd.is-hot { color: var(--accent); }

.admin__tabs { display: flex; gap: 4px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.admin__tabs a {
  display: flex; align-items: center; gap: 8px; padding: 12px 18px; margin-bottom: -1px;
  border-bottom: 2px solid transparent; color: var(--muted); font-family: var(--font-display); font-weight: 700;
  text-decoration: none;
}
.admin__tabs a:hover { color: var(--text); }
.admin__tabs a[aria-current] { color: var(--text); border-bottom-color: var(--accent); }
.admin__tabs span { padding: 1px 8px; border-radius: 99px; background: var(--line); color: var(--text); font-size: 13px; }

.admin__toolbar { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 0; margin-bottom: 8px; background: var(--bg); }
.admin__search {
  flex: 0 1 300px; min-width: 200px; height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--panel); color: var(--text); font: inherit; font-size: 15px;
}
.admin__search:focus { outline: none; border-color: var(--accent-2); }
.admin__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 99px; background: transparent;
  color: var(--muted); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.chip:hover { color: var(--text); border-color: var(--muted); }
.chip.is-active { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.chip span { margin-left: 4px; opacity: .7; }
.admin__push { margin-left: auto; }
.admin__bulk { display: flex; align-items: center; gap: 12px; }
.admin__bulk label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; cursor: pointer; }
.admin input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--accent); cursor: pointer; }
.admin__empty { margin: 24px 0; }

/* Mygtukai */
.abtn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 12px;
  border: 1px solid var(--line); border-radius: 9px; background: #1f1f1f; color: var(--text);
  font: inherit; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; cursor: pointer;
}
.abtn:hover { border-color: var(--muted); }
.abtn:disabled { opacity: .4; cursor: not-allowed; }
.abtn--primary { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.abtn--primary:hover { background: #6bffb1; border-color: #6bffb1; }
.abtn--danger { color: #ff8a8a; }
.abtn--danger:not(:disabled):hover { border-color: #ff6b6b; background: #3a1c1c; }
.abtn--icon { width: 36px; padding: 0; }

/* Kortelių plytelės */
.admin__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.atile {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid var(--line); border-radius: 16px; background: var(--panel); scroll-margin-top: 80px;
}
.atile:target { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(71, 255, 157, .25); }
.atile.is-selected { border-color: #ff6b6b; }
.atile__select { position: absolute; z-index: 2; top: 10px; left: 10px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: rgba(0, 0, 0, .55); cursor: pointer; }
.atile__badges { position: absolute; z-index: 2; top: 10px; right: 10px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; max-width: 70%; }
.badge { padding: 3px 8px; border-radius: 99px; background: rgba(0, 0, 0, .65); color: #fff; font-size: 12px; font-weight: 700; }
.badge--hot { background: var(--accent); color: var(--accent-ink); }
.badge--warn { background: #5a2323; color: #ffb4b4; }
.atile__media {
  display: grid; place-items: end center; aspect-ratio: 1; overflow: hidden;
  background:
    repeating-conic-gradient(from 0deg at 50% 40%, rgba(255, 255, 255, .06) 0 10deg, transparent 10deg 20deg),
    radial-gradient(circle at 50% 40%, #3b8f63, #173a27 55%, #0c0c0c 95%);
}
.atile__media img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.atile__media--photo img { object-fit: cover; object-position: center; }
.atile__media span { align-self: center; font-size: 64px; }
.atile__body { flex: 1; padding: 14px 14px 10px; }
.atile__name { font-family: var(--card-display); font-size: 24px; line-height: 1.05; text-transform: uppercase; }
.atile__name span { color: var(--accent); }
.atile__rename { margin-left: 4px; padding: 2px 4px; border: 0; border-radius: 6px; background: transparent; font-size: 15px; vertical-align: 3px; cursor: pointer; opacity: .55; }
.atile__rename:hover { opacity: 1; background: #2e2e2e; }
.atile__nick { margin-top: 2px; color: var(--accent); font-weight: 700; font-size: 15px; }
.atile__facts { margin: 8px 0 0; padding-left: 16px; color: var(--muted); font-size: 13px; line-height: 1.35; }
.atile__facts li::marker { color: var(--accent-2); }
.atile__meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; color: #8a8a8a; font-size: 12px; }
.atile__meta time { white-space: nowrap; }
.atile__gallery { padding: 0 14px 12px; }
.gswitch { display: flex; align-items: center; gap: 10px; min-height: 36px; font-size: 14px; font-weight: 600; cursor: pointer; }
.gswitch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gswitch__track { position: relative; flex: none; width: 42px; height: 24px; border-radius: 99px; background: #3a3a3a; transition: background .15s; }
.gswitch__track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .15s; }
.gswitch input:checked + .gswitch__track { background: var(--accent-2); }
.gswitch input:checked + .gswitch__track::after { transform: translateX(18px); }
.gswitch input:focus-visible + .gswitch__track { box-shadow: 0 0 0 3px rgba(71, 255, 157, .35); }
.gswitch input:disabled + .gswitch__track { opacity: .5; }
.gswitch__note { margin-top: 2px; color: #8a8a8a; font-size: 12px; }
.gswitch__note b { color: #cfcfcf; font-weight: 600; }
.gswitch__note span { color: #ffb86b; }
.atile__actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 14px; }
.atile__actions .abtn { flex: 1 1 0; min-width: 0; padding: 0 8px; }
.atile__actions .abtn--icon { flex: 0 0 36px; }
.atile__actions .abtn--wide { flex-basis: 100%; }

/* Lead'ų lentelė */
.admin__scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.admin__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.admin__table th {
  position: sticky; top: 0; padding: 12px 14px; background: #1f1f1f; border-bottom: 1px solid var(--line);
  color: var(--muted); font-size: 12px; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .04em;
}
.admin__table td { padding: 12px 14px; border-bottom: 1px solid #2c2c2c; vertical-align: top; }
.admin__table tbody tr:last-child td { border-bottom: 0; }
.admin__table tbody tr:hover td { background: #282828; }
.admin__table a { color: var(--accent); text-decoration: none; }
.admin__table a:hover { text-decoration: underline; }
.admin__name { font-weight: 700; font-size: 15px; }
.admin__table .admin__name { color: var(--text); }
.tags { display: flex; flex-wrap: wrap; gap: 4px; min-width: 180px; }
.tags + .tags { margin-top: 6px; }
.tag { padding: 2px 8px; border-radius: 6px; background: #173524; color: #b9ffd8; font-size: 12px; }
.tag--muted { background: #2e2e2e; color: var(--muted); }
.admin__flags { white-space: nowrap; }
.flag { opacity: .18; filter: grayscale(1); font-size: 16px; }
.flag.is-on { opacity: 1; filter: none; }
.admin__date { white-space: nowrap; color: var(--muted); font-size: 13px; }
@media (max-width: 640px) {
  .admin__search { flex-basis: 100%; }
  .admin__push { margin-left: 0; }
}
.regen__compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 32px; margin-top: 24px; }
.regen__compare .card { width: 100%; max-width: 420px; margin: 0; }
.regen__compare .card__name, .regen__compare .card__rating, .regen__compare .card__facts li { opacity: 1; transform: none; }
.regen__look { max-width: 420px; margin-top: 10px; color: var(--muted); font-size: 13px; font-family: ui-monospace, Menlo, monospace; }
.regen__status { font-size: 18px; }
.regen__hint { margin: 8px 0 20px; }

.result-page { /* fiksuotas stulpelis: kortelė su container-type neturi savo turinio pločio */
  display: grid; grid-template-columns: min(100%, 560px); justify-content: center; align-content: center;
  min-height: 100dvh; padding: 16px;
}

/* ===== Vertikali planšetė (pvz., Galaxy Tab A11 kaip PWA) =====
   Tikslas – kiekvienas žingsnis telpa į ekraną be slinkimo, o trumpi ekranai neatrodo tušti. */
@media (orientation: portrait) and (max-width: 900px) {
  .app { display: flex; flex-direction: column; min-height: 100dvh; }
  .wizard { display: flex; flex: 1; flex-direction: column; }
  .step.is-active { flex: 1; }
  .top { margin-bottom: 14px; }

  /* Pradžia – per ekrano vidurį */

  /* Klausimai – kaip anketoje (3 stulpeliai), tik šiek tiek žemesnės plytelės ir mažesni ženkliukai */
  .step h2 { font-size: clamp(26px, 5vw, 34px); margin: 2px 0 14px; }
  .step__hint { margin: -8px 0 14px; }
  .tiles { gap: 10px; }
  .tile { min-height: 104px; padding: 10px 8px; gap: 6px; font-size: 15px; line-height: 1.2; }
  .tile__emoji { font-size: 34px; }
  .segmented { margin-bottom: 14px; }
  .segmented__option { padding: 10px 16px; font-size: 15px; }
  .link { margin-top: 12px; }
  .multi-bar { margin-top: 14px; }

  /* Kliento pažinimo anketa – ilgesni pavadinimai, todėl 3 stulpeliai */
  .tiles--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tiles--compact .tile { min-height: 96px; }
  .tiles--compact .tile__emoji { font-size: 30px; }
  .lead__question { margin-top: 18px; font-size: 18px; }
  .lead__hint { margin-bottom: 12px; }
  .step--lead h2 { font-size: clamp(26px, 5vw, 34px); }

  /* Nuotrauka ir kortelė – pagal ekrano aukštį, kad mygtukai liktų matomi */
  .photo { width: min(100%, calc(100dvh - 330px)); margin: 0 auto 14px; }
  .photo-actions { margin-bottom: 14px; }
  .consent { margin-bottom: 14px; }
  .step--result .status { margin: 4px 0 10px; font-size: 20px; }
  .step--result .flip { width: min(100%, calc((100dvh - 350px) * 2 / 3)); }
  .consent--gallery { margin-top: 12px; }
  .step--result .actions { margin-top: 12px; }
}

/* ===== Gulsčia planšetė (pvz., iPad Air) =====
   Nuotraukos rėmelis centruotas ir tokio aukščio, kad po juo tilptų sutikimas ir „Kurti kortelę“. */
@media (orientation: landscape) and (min-width: 900px) and (max-height: 1000px) {
  .app:has(.step[data-photo-step].is-active) { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .step[data-photo-step] .photo { width: calc(100dvh - 385px); margin: 0 auto 14px; }
  .step[data-photo-step] .photo__consent { width: 640px; max-width: 100%; margin: 0 auto 14px; }
  .step[data-photo-step] [data-submit] { display: block; margin: 0 auto; }
  .step[data-photo-step] h2 { margin-bottom: 14px; }
  .step[data-photo-step] .link { margin: 6px auto 0; }
}

/* Gulsčias didelis ekranas: kortelės peržiūroje abi pusės greta (be apvertimo); stačiame – apverčiama paspaudus */
@media (orientation: landscape) and (min-width: 900px) {
  .step--result .flip, .result-page .flip {
    --side: min(calc((100dvh - 330px) * 2 / 3), calc((100vw - 96px) / 2), 480px);
    width: calc(var(--side) * 2 + 24px); max-width: none; perspective: none; cursor: default;
  }
  .result-page { grid-template-columns: auto; }
  .result-page .flip { --side: min(calc((100dvh - 150px) * 2 / 3), calc((100vw - 96px) / 2), 520px); }
  .step--result .flip__inner, .result-page .flip__inner { display: flex; gap: 24px; transform: none !important; transition: none; transform-style: flat; }
  .step--result .flip .card, .result-page .flip .card { flex: 1 1 0; min-width: 0; visibility: visible !important; }
  .step--result .flip .card--back, .result-page .flip .card--back { position: relative; inset: auto; transform: none; }
  .step--result .card__flip-hint, .result-page .card__flip-hint { display: none; }
}

/* ===== Pradžia: dalyvių kortelių skaidrės ===== */
.step--intro { padding: 0; text-align: left; }
.step--intro.is-active { display: flex; flex-direction: column; min-height: calc(100dvh - 136px); }
.attract {
  position: relative; flex: 1; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center;
  column-gap: clamp(32px, 6vw, 90px); padding: 8px clamp(0px, 3vw, 40px) 64px; cursor: pointer;
}
.attract__stage { --h: calc(100dvh - 240px); width: calc(var(--h) * 2 / 3); max-width: 46vw; }
/* Kortelių kaladė: viršutinė + dvi po ja; kiekviena pakreipta savo atsitiktiniu kampu (--tilt, app.js) */
.attract__pile { position: relative; aspect-ratio: 2 / 3; }
.attract__layer {
  position: absolute; inset: 0; transform-origin: 50% 60%;
  transition: transform .7s cubic-bezier(.2, 1, .3, 1), filter .7s, opacity .5s;
}
.attract__layer .card { width: 100%; box-shadow: 0 24px 70px rgba(0, 0, 0, .65); }
.attract__layer[data-depth="0"] { z-index: 3; transform: rotate(var(--tilt)); }
.attract__layer[data-depth="1"] { z-index: 2; transform: rotate(var(--tilt)) translate(6%, -3%) scale(.95); filter: brightness(.7); }
.attract__layer[data-depth="2"] { z-index: 1; transform: rotate(var(--tilt)) translate(12%, -6%) scale(.9); filter: brightness(.5); }
.attract__layer:not([data-depth="0"]) :is(.card__name, .card__rating, .card__facts li) { opacity: 1; transform: none; animation: none; }
.attract__layer.is-new { opacity: 0; }
.attract__layer.is-leaving {
  z-index: 4; opacity: 0; transform: rotate(calc(var(--tilt) - 28deg)) translate(-115%, 8%);
  transition: transform .65s cubic-bezier(.5, 0, .9, .5), opacity .65s ease-in;
}
.attract__text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.attract__text .eyebrow { margin: 0; }
.step--intro .attract__text h1 { margin: 0; font-family: var(--font-display); font-size: clamp(38px, 4.6vw, 64px); font-weight: 800; line-height: 1.02; letter-spacing: -.025em; }
.attract__text h1 span { color: var(--accent); }
.step--intro .attract__text p { margin: 0; max-width: 520px; color: var(--muted); font-size: 20px; line-height: 1.45; }
.attract__touch { display: inline-flex; align-items: center; gap: 12px; margin-top: 8px; animation: attract-pulse 2.4s ease-in-out infinite; }
.attract__touch svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@keyframes attract-pulse { 50% { box-shadow: 0 0 0 14px rgba(71, 255, 157, .12), 0 12px 40px rgba(71, 255, 157, .3); } }
.attract__footer {
  position: absolute; left: clamp(0px, 3vw, 40px); right: clamp(0px, 3vw, 40px); bottom: 8px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--muted); font-size: 15px;
}
.attract__dots { display: flex; gap: 8px; align-items: center; }
.attract__dots span { width: 6px; height: 6px; border-radius: 3px; background: var(--line); transition: width .3s, background .3s; }
.attract__dots span.is-active { width: 28px; background: var(--accent); }
.attract--empty { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.attract--empty .attract__stage { display: none; }
.attract--empty .attract__text { align-items: center; }
@media (orientation: portrait) {
  .attract { grid-template-columns: 1fr; align-content: center; row-gap: 26px; justify-items: center; text-align: center; }
  .attract__stage { --h: calc(100dvh - 640px); max-width: 80vw; }
  .attract__text { align-items: center; }
}

/* ===== Vieša galerija (herojai.trivian.lt) ===== */
.lang-switch--always { display: flex; margin-left: auto; }
.gallery-page { max-width: 1440px; }
.gtop { display: flex; align-items: center; gap: 20px; min-height: 64px; }
.gtop__event { color: var(--muted); font-size: 14px; }
.gtop__spacer { flex: 1; }
.gtop .stand-cta { padding: 11px 20px; font-size: 15px; }
.gtop__lang { display: flex; padding: 4px; border: 1px solid var(--line); border-radius: 99px; }
.gtop__lang a { padding: 7px 14px; border-radius: 99px; color: var(--muted); font-family: var(--font-display); font-size: 13px; font-weight: 800; text-decoration: none; }
.gtop__lang a[aria-current] { background: #fff; color: var(--bg); }
.ghero { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding: 40px 0 32px; }
.ghero h1 { margin: 0 0 14px; font-family: var(--font-display); font-size: clamp(34px, 4.6vw, 64px); font-weight: 800; line-height: 1.02; letter-spacing: -.03em; }
.ghero h1 span { color: var(--accent); }
.ghero p { margin: 0; color: var(--muted); font-size: clamp(16px, 1.4vw, 19px); line-height: 1.45; }
.ghero__count { display: flex; flex: none; flex-direction: column; align-items: flex-end; }
.ghero__count b { font-family: var(--font-display); font-size: 44px; font-weight: 800; line-height: 1; color: var(--accent); }
.ghero__count span { color: var(--muted); font-size: 14px; }
.gtools {
  position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 12px; margin: 0 0 26px; padding: 14px 0;
  border-top: 1px solid #2c2c2c; border-bottom: 1px solid #2c2c2c; background: var(--bg);
}
.gtools__search {
  display: flex; flex: 1; align-items: center; gap: 12px; height: 52px; padding: 0 18px;
  border: 1px solid var(--line); border-radius: 14px; background: var(--panel);
}
.gtools__search:focus-within { border-color: var(--accent-2); }
.gtools__search svg { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; }
.gtools__search input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.gtools__sort { display: flex; padding: 4px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.gtools__sort button {
  height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: transparent; color: #cfcfcf;
  font: inherit; font-size: 15px; font-weight: 700; cursor: pointer;
}
.gtools__sort button[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.ggrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; }
.gallery__sentinel { height: 1px; }
.gallery__empty { margin: 32px 0; text-align: center; }

/* Galerijos plytelė (4:5): herojus, įvertinimo ženkliukas, vardas ir pravardė */
.gtile {
  position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; container-type: inline-size;
  border-radius: 12px; color: #fff; text-decoration: none; box-shadow: 0 14px 40px rgba(0, 0, 0, .45);
  background:
    repeating-conic-gradient(from 0deg at 50% 38%, rgba(255, 255, 255, .07) 0 10deg, transparent 10deg 20deg),
    radial-gradient(circle at 50% 38%, #3b8f63, #173a27 45%, #0c0c0c 85%);
  transition: transform .15s;
}
.gtile:hover { transform: translateY(-4px); }
.gtile__hero { position: absolute; left: 0; top: 1.7cqw; width: 100%; height: 100cqw; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 0 3cqw rgba(0, 0, 0, .45)); }
.gtile__emoji { position: absolute; inset: 0 0 25%; display: grid; place-items: center; font-size: 36cqw; }
.gtile__rating {
  position: absolute; z-index: 2; top: 3.7cqw; right: 3.7cqw; padding: 1.7cqw 3cqw; border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 99px; background: rgba(0, 0, 0, .6); font-family: var(--card-body); font-size: 5cqw; font-weight: 700;
}
.gtile__rating b { color: var(--accent); }
.gtile__panel {
  position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 1.3cqw;
  padding: 8.3cqw 7.3cqw 6cqw;
  background: linear-gradient(180deg, rgba(255, 255, 255, .2), transparent 35%), linear-gradient(135deg, #262626, #171717 55%, #0b0b0b);
  clip-path: polygon(0 6cqw, 100% 0, 100% 100%, 0 100%); box-shadow: inset 0 .8cqw 0 var(--accent);
}
.gtile__name { font-family: var(--card-display); font-size: 10.7cqw; line-height: 1; text-transform: uppercase; text-shadow: .5cqw .5cqw 0 #000; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gtile__aka { font-family: var(--card-body); font-size: 5cqw; font-weight: 700; color: rgba(255, 255, 255, .75); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gtile__aka b { color: var(--accent); }

@media (max-width: 700px) {
  .gtop__event { display: none; }
  .gtop .stand-cta { /* telefone – prilipęs apačioje, pasiekiamas nykščiu */
    position: fixed; z-index: 20; left: 16px; right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); height: 54px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .6);
  }
  .ghero { flex-direction: column; align-items: flex-start; gap: 0; padding: 20px 0 22px; }
  .ghero__count { display: none; }
  .gtools { flex-direction: column; align-items: stretch; gap: 10px; margin-inline: -16px; padding-inline: 16px; }
  .gtools__search { height: 46px; }
  .gtools__sort { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gtools__sort button { height: 40px; padding: 0 6px; font-size: 14px; }
  .ggrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-bottom: 80px; }
}

/* „Susikurk savo herojų“ – stendo informacija su schema */
.stand-dialog {
  width: min(94vw, 480px); padding: 28px 24px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--panel); color: var(--text); text-align: center;
}
.stand-dialog::backdrop { background: rgba(0, 0, 0, .7); }
.stand-dialog h3 { margin: 0 0 10px; font-family: var(--font-display); font-size: 24px; line-height: 1.2; }
.stand-dialog .hint { margin: 0 0 14px; font-size: 15px; }
.stand-dialog__meta { margin: 0 0 12px; color: var(--accent); font-weight: 700; }
.stand-dialog__route { margin: 10px 0 18px; color: var(--muted); font-size: 15px; line-height: 1.45; }
.stand-dialog .actions { margin: 0; }
.stand-map { display: block; width: 100%; max-width: 320px; margin: 0 auto; font-family: var(--font-display); }
.stand-map__zone, .stand-map__hall { fill: #232323; stroke: var(--line); }
.stand-map__booth { fill: #3a2a1a; stroke: #6b4a2a; }
.stand-map__coffee { fill: #2b2b2b; stroke: var(--line); }
.stand-map__us { fill: var(--accent); animation: stand-blink 1.6s ease-in-out infinite; }
@keyframes stand-blink { 50% { opacity: .55; } }
.stand-map__label { fill: #fff; font-size: 13px; font-weight: 800; text-anchor: middle; letter-spacing: .06em; }
.stand-map__small { fill: var(--muted); font-size: 10px; font-weight: 700; text-anchor: middle; }
.stand-map__us-label { fill: var(--accent-ink); font-size: 12px; font-weight: 800; text-anchor: middle; }
.stand-map__path { fill: none; stroke: var(--accent); stroke-width: 3; stroke-dasharray: 6 6; }
.stand-map__arrow { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.result-page__actions .stand-cta { margin: 0; }

/* Neaktyvuota planšetė */
.kiosk-lock { max-width: 520px; padding-top: 12vh; text-align: center; }
.kiosk-lock h1 { font-family: var(--font-display); }
.kiosk-lock__form { display: flex; gap: 10px; margin: 24px 0; }
.kiosk-lock__form input { flex: 1; height: 52px; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--text); font: inherit; font-size: 18px; }
.kiosk-lock a { color: var(--accent); }

/* Spausdinimo JPEG (render.php): abi pusės greta po 1200×1800, be animacijų ir šešėlių */
.render-page { display: flex; width: 2400px; height: 1800px; margin: 0; padding: 0; background: #000; }
.render-page .card { flex: none; width: 1200px; height: 1800px; margin: 0; border-radius: 0; box-shadow: none; }
.render-page *, .render-page *::before, .render-page *::after { animation: none !important; transition: none !important; }
.render-page .card__name, .render-page .card__rating, .render-page .card__facts li { opacity: 1; transform: none; }

/* Pabaiga: spausdinimo pranešimas, QR kodas telefonui */
.step--done.is-active { display: flex; flex-direction: column; }
.done { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding-bottom: 6vh; text-align: center; }
.done__emoji { font-size: 64px; line-height: 1; margin-bottom: 8px; }
.done h2 { margin: 0 0 6px; }
.done .hint { margin: 0; font-size: 18px; }
.done__qr-hint { max-width: 460px; margin: 12px 0 0; color: var(--muted); }
.done__qr { width: min(70vw, 320px); padding: 16px; border-radius: var(--radius); background: #fff; }
.done__qr svg { display: block; width: 100%; height: auto; }
.result-page__actions { justify-content: center; margin-top: 20px; }
@media (max-width: 480px) { /* telefone abu mygtukai vienoje eilėje */
  .result-page__actions { flex-wrap: nowrap; gap: 10px; }
  .result-page__actions .btn { flex: 1 1 0; min-width: 0; padding-inline: 12px; white-space: nowrap; }
}
