
/* ===================================================
   CORE (shared across all pages)
   =================================================== */
  :root{
    --shadow: 0 20px 45px -20px rgba(47,47,47,0.25);
    --ease: cubic-bezier(.22,.61,.36,1);

    /* --- Accessibility tokens (v1.67.0) ---------------------------------
       These are deliberately NOT derived from the palette above, so that a
       custom day palette set in the Customizer can never push them below the
       WCAG thresholds.

       --focus / --focus-edge: the keyboard ring is drawn as TWO colours (gold
       outline + dark edge in the outline-offset gap). Gold alone was 1.8:1 on
       cream — below the 3:1 minimum for focus indicators (WCAG 1.4.11) — but
       it reads well on the dark footer, where a dark ring would vanish. The
       two ring colours contrast 4.8:1 with each other, so the indicator stays
       visible on light AND dark surfaces without knowing the background.

       the same hue darkened to 4.7:1. --olive stays untouched for decorative
       fills (leaves, rules, dots).

    /* 1.74.2: antgalvis ir poraštė makete gerokai platesni už teksto stulpelį
       (1440px, o paraštės — clamp, ne 6vw). Turinio plotis kol kas nekeičiamas;
       platus tik „rėmas“, kaip perdavimo paketo puslapiuose. */
    /* 1.76.3: NEKINTAMOS spalvos tamsioms plokštėms (herojaus dešinė pusė,
       pagrindinio puslapio siena). Šios sritys yra tamsios ABIEJUOSE
       režimuose, todėl jose negalima naudoti --bg-page / --ink: vakare tie
       žetonai apsiverčia į tamsius, ir šviesus tekstas ant tamsios plokštės
       tapdavo tamsiu ant tamsios — t. y. nematomu. */
    --onpanel-paper:var(--c-light);
    --onpanel-ink:var(--c-deep);
    --onpanel-text:rgba(var(--rgb-light),.74);
    --onpanel-muted:rgba(var(--rgb-light),.58);
    --onpanel-line:rgba(var(--rgb-light),.22);
    --onpanel-line-strong:rgba(var(--rgb-light),.35);

    --wrap-wide:1440px;
    --gutter-wide:clamp(20px, 3.4vw, 76px);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    /* 1.82.4: seni žalsvai auksiniai gradientai pašalinti — skiltys dabar turi
       savo fonus, o tarp jų prasišviesdavo senasis dizainas. */
    background-color:var(--bg-page);
    background-image:none;
    /* 1.75.0: pagrindinis tekstas — --ink-body (#4A554B, 6.94:1 ant --bg-page),
       dydis 17px / 1.65 iš --type-body. `rem` reikšmės kitur lieka 16px
       pagrindo, nes jos matuojamos nuo <html>, o ne nuo <body> — todėl seni
       smulkūs dydžiai nepasislenka. */
    color:var(--ink-body);
    font-family:'Karla', sans-serif;
    font-size:17px;
    line-height:1.65;
    /* 1.82.4: `overflow-x:hidden` ant <body> paverčia jį slinkties konteineriu,
       ir VISI `position:sticky` elementai puslapyje nustoja veikti — būtent dėl
       to turinio sąrašas neslinko kartu su tekstu. `clip` apkerpa lygiai taip
       pat (horizontalaus slinkimo juostos nebus), bet slinkties konteinerio
       nesukuria, todėl `sticky` veikia. */
    overflow-x:clip;
    -webkit-font-smoothing:antialiased;
    /* Never let the browser fake a bold/italic. If a glyph (e.g. Lithuanian
       ą č ę ė į š ų ū ž) is momentarily drawn from a fallback, this stops it
       from being synthesised heavier than the surrounding text. */
    font-synthesis:none;
    -webkit-font-synthesis:none;
  }
  /* 1.75.0: antraštės pereina prie žetonų. Spalva iš tamsiai žalios
     (--forest-dark) tampa --ink (var(--c-deep)) — makete antraštės yra rašalo, ne
     žalios spalvos; žalia lieka akcentams. Svoriai laikomi 300–500, kaip
     nurodyta tipo skalėje. */
  h1,h2,h3,.display{
    font-family:var(--font-display);
    margin:0;
    color:var(--ink);
  }
  h1,.display{ font:var(--type-h1); letter-spacing:var(--ls-h1); color:var(--ink); margin:0; }
  h2{ font:var(--type-h2); letter-spacing:var(--ls-h2); color:var(--ink); margin:0; }
  h3{ font:var(--type-h3); color:var(--ink); margin:0; }
  .eyebrow{
    /* 1.75.0: --type-meta + --ls-meta. Tarpas tarp raidžių sumažėja nuo .22em
       iki .08em — makete meta eilutė kur kas ramesnė. */
    font:var(--type-meta);
    letter-spacing:var(--ls-meta);
    text-transform:uppercase;
    color:var(--ink-meta);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  /* 1.77.8: auksinis brūkšnys prieš viršelinę eilutę pašalintas — makete jo
     nėra nė vienoje skiltyje. Taisyklė paliekama užkomentuota, nes grąžinti
     užtenka penkių eilučių.
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--gold);
    display:inline-block;
  }
  */
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  section{position:relative;}
  /* 1.75.0: paraštės iš 6vw -> clamp. Plačiuose ekranuose 6vw duodavo ~86px iš
     abiejų pusių ir teksto stulpelis siaurėdavo be reikalo; dabar riba 48px. */
  .wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 clamp(20px, 4vw, 48px);}
  /* 1.75.0: mygtukai pagal dizaino paketą. Klasių pavadinimai palikti seni
     (.btn-primary / .btn-ghost), nes jie naudojami 15 vietų šablonuose —
     perrašytas tik jų vidus, todėl nė vieno šablono keisti nereikia.
     Kilstelėjimo (`translateY(-3px)`) ir žalio šešėlio nebeliko: makete
     mygtukas ramybėje plokščias, o paspaudus trumpam nusileidžia. */
  .btn{
    appearance:none;
    display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
    min-height:var(--tap-cta); padding:0 26px;
    border:1px solid transparent; border-radius:var(--radius-pill);
    font:var(--type-button); letter-spacing:var(--ls-button);
    white-space:nowrap; cursor:pointer; text-decoration:none;
    transition:background var(--motion-hover), border-color var(--motion-hover),
               color var(--motion-hover), transform var(--motion-hover);
  }
  .btn:active{ transform:scale(.97); }
  @media (prefers-reduced-motion:reduce){ .btn:active{ transform:none; } }
  /* `display` on .btn overrides the HTML `hidden` attribute, so restore it. */
  .btn[hidden]{ display:none; }
  /* 1.85.2: tas pats visiems elementams. Bet kuri taisyklė su `display:flex`
     ar `grid` (pvz. `.quiz-intro`, `.ink-hero-actions`) nugalėdavo `hidden`
     atributą, todėl paleidus testą įžanga ir juostos mygtukai likdavo ekrane.
     JS slepia elementus tik per `hidden`, tad šis atributas turi laimėti visada. */
  [hidden]{ display:none !important; }
  /* 3.1.0: aiški išjungta būsena — šviesus šalavijas ir prigesęs tekstas, bet
     PILNAS nepermatomumas (permatomas mygtukas atrodė sugedęs). Laimi prieš
     juostų taisykles: išjungta būsena svarbesnė už vietą puslapyje. */
  .btn[disabled], .btn[aria-disabled="true"]{
    background:var(--bg-raised) !important; color:var(--ink-muted) !important;
    border-color:transparent !important; opacity:1 !important;
    cursor:not-allowed; transform:none; box-shadow:none;
  }

  /* Užvedimas (1.75.6). `components.css` siūlo pirminį mygtuką ant pelės
     nudažyti žaliai, bet maketo puslapiuose jis lieka rašalo spalvos ir tik
     truputį prigęsta (`opacity: .88`), o antrinio tik kraštas patamsėja. Žalias
     užpildas atrodė kaip senojo dizaino likutis, todėl laikomasi maketo. */
  /* 3.1.0: viena mygtukų sistema visoje svetainėje.
     Pirminis — žalias užpildas, baltas tekstas, po pele TAMSĖJA (--fill-hover).
     Antrinis (.btn-ghost) — be užpildo, plonas kraštas, po pele žalias kraštas
     ir tekstas. Tretinis — paprasta nuoroda (.link-more ir pan.). */
  .btn-primary{ background:var(--fill-ink); color:var(--on-fill-ink); }
  .btn-primary:hover{ background:var(--fill-hover); color:var(--on-fill-ink); opacity:1; }

  .btn-ghost{ background:none; color:var(--ink); border-color:var(--hairline-strong); }
  .btn-ghost:hover{ border-color:var(--accent); color:var(--accent); background:none; }

  /* ---------- reveal ----------
     3.2.0: „Apie“ skiltis kompiuteryje atrodė blyški — aukšti blokai su
     0.9 s išblukimu, iki 0.24 s delsa ir 15 % riba ilgai likdavo pusiau
     permatomi arba visai nepasirodydavo. Dabar: paslepiama TIK kai veikia
     JS (html.da-js, žr. header.php), trumpesnis ir mažesnis judesys,
     ekrane jau esantys blokai rodomi iš karto (main.js). */
  .da-js .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s cubic-bezier(.2,.8,.2,1), transform .5s cubic-bezier(.2,.8,.2,1);}
  .da-js .reveal.in{opacity:1;transform:none;}
  .da-js .reveal.reveal-now{transition:none;}
  .reveal-delay-1.in{transition-delay:.06s;}
  .reveal-delay-2.in{transition-delay:.12s;}
  

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .reveal, .da-js .reveal{opacity:1;transform:none;transition:none;}
    *{animation:none !important;}
  }

  /* ---------- header (v1.74.1 — dizaino SPEC 5) ----------
     64px, viena eilutė, vientisas fonas + plaukelis. Stiklo („scrolled“)
     efekto nebėra: dizaine antgalvis nesikeičia slenkant.

     `position:fixed` paliktas SĄMONINGAI, nors dizaine nurodyta `sticky`.
     Puslapių viršutiniai tarpai (#hero 170px, #page-hero 160px) suskaičiuoti
     perdengiančiam antgalviui; perjungus dabar, visas turinys pasislinktų
     64px žemyn. Bus pakeista kartu su tų skilčių perkėlimu. Fonas vientisas,
     todėl skirtumo nesimato. */
  header{
    position:fixed; top:0; left:0; right:0; z-index:50;
    height:64px;
    background:var(--bg-page);
    border-bottom:1px solid var(--hairline);
  }
  .header-inner{
    max-width:var(--wrap-wide); margin:0 auto; padding:0 var(--gutter-wide);
    height:100%;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:nowrap; gap:var(--space-4);
  }
  /* Dešinieji mygtukai: mėgstamiausios, tema, meniu. 8px tarpas, 44px zonos. */
  .header-tools{ display:flex; align-items:center; gap:var(--space-2); flex-shrink:0; }
  .logo{
    font-family:'Fraunces LT','Fraunces',serif; font-weight:500; font-size:1.4rem; color:var(--ink);
    display:flex; align-items:center; gap:10px; white-space:nowrap; flex-shrink:0;
  }
  .logo svg{width:26px;height:26px; flex-shrink:0;}

  /* Įkeltas logotipas (v1.71.0). Abu failai yra HTML'e; matomas tik vienas.
     Perjungiama CSS'u, todėl režimas keičiasi be mirktelėjimo ir be antros
     užklausos. Aukštį nustato Tinkinti → Logotipas (inline style), plotis
     skaičiuojamas automatiškai. */
  .logo-img{ width:auto; max-width:min(58vw, 340px); max-height:44px; }
  /* Vakaro logotipas HTML'e paslėptas įterptiniu style="display:none", todėl
     jokia išorinė CSS taisyklė (net sena, iš talpyklos) negali jo netyčia
     parodyti. Čia jis parodomas tik vakaro režimu, per !important — vienintelį
     dalyką, kuris nugali įterptinį stilių. Blogiausiu atveju matomas TIK dienos
     logotipas, niekada ne abu. (v1.71.2) */
  .logo .logo-img-day{ display:block; }
  html[data-theme="evening"] .logo .logo-img-day{ display:none !important; }
  html[data-theme="evening"] .logo .logo-img-dusk{ display:block !important; }
  /* Spausdinant fonas visada šviesus — reikia dienos versijos. */
  /* Diegimo blokai (v1.73.2). Temoje jokio teksto nėra — visi žodžiai
     rašomi puslapyje per trumpuosius kodus; čia tik išdėstymas.
     Blokai HTML'e turi `hidden`, todėl neveikiant „JavaScript" nerodomas
     nė vienas — geriau tuščia vieta nei klaidinantis tekstas. */
  .da-install{ margin:28px 0; text-align:center; }
  .da-pwa-state{ margin:20px 0; }
  .da-pwa-state > :first-child{ margin-top:0; }
  .da-pwa-state > :last-child{ margin-bottom:0; }

  /* ---- Tik programėlės režimas (PWA, v1.73.0) --------------------------
     Šios taisyklės veikia TIK kai svetainė atidaryta iš pradžios ekrano.
     Naršyklėje (kompiuteryje ar telefone) jos niekada nesuveikia, todėl
     įprastos svetainės pakeisti negali. Norint ką nors pakeisti tik
     programėlei — rašykite čia. */
  @media (display-mode: standalone){
    /* Telefonuose su „ausele" antraštė kitaip atsiduria po ja. Aukštis čia
       tampa minimaliu, nes `height:64px` su `box-sizing:border-box` suvalgytų
       saugios zonos tarpą vietoj to, kad antgalvį pastumtų žemyn.
       (Ši taisyklė iki 1.74.1 niekada nesuveikdavo — antgalvis turėjo tik
       id="site-header", be klasės.) */
    /* 1.92.1: antgalvis tiksliai 64px + saugi zona viršuje. Anksčiau
       `height:auto` palikdavo vidinę eilutę be aukščio, todėl logotipas ir
       „Diena / Vakaras“ prilipdavo prie viršaus, o ne buvo per vidurį. */
    .site-header{ box-sizing:border-box; height:calc(64px + env(safe-area-inset-top, 0px)); min-height:0; padding-top:env(safe-area-inset-top, 0px); }
    .site-header .header-inner{ height:64px; }
    /* Turinys pasislenka žemyn tiek pat, kiek saugi zona (telefonuose su „ausele“). */
    body{ padding-top:env(safe-area-inset-top, 0px); padding-bottom:env(safe-area-inset-bottom, 0px); }
    /* Programėlėje nėra naršyklės mygtuko „atgal", todėl „Grįžti į viršų"
       naudingesnis — rodomas anksčiau. */
    #back-to-top{ bottom:calc(24px + env(safe-area-inset-bottom, 0px)); }
  }

  @media print{
    .logo .logo-img-dusk{ display:none !important; }
    .logo .logo-img-day{ display:block !important; }
  }
  nav ul#primary-menu{list-style:none; margin:0; padding:0; display:flex; gap:var(--space-6); font-size:0.95rem; font-weight:500;}
  nav ul#primary-menu li{display:inline-block; white-space:nowrap;}
  nav a{position:relative; color:var(--ink); opacity:0.85; text-decoration:none; white-space:nowrap;}
  /* Auksinis pabraukimas priklauso TIK antgalvio navigacijai. Anksčiau ši
     taisyklė buvo neapribota, todėl ją paveldėdavo bet koks <nav> — būtent
     taip naršymo kelias gavo dvigubą pabraukimą (1.70.2). Dabar apribota. */
  #site-header nav a::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease);}
  #site-header nav a:hover::after{width:100%;}
  /* Poraštės meniu taip pat yra <nav>, o jo fonas tamsus — spalva paveldima. */
  footer .footer-nav a{ color:inherit; }

  /* ---------- hero (v1.75.1 — dizaino paketas) ----------
     Per visą plotį, dvi skiltys: šviesus tekstas ir tamsi plokštė su
     generatoriumi. `.wrap` čia nenaudojamas sąmoningai — skiltys turi siekti
     ekrano kraštus, o vidines paraštes turi kiekviena atskirai.

     `margin-top:64px` — antgalvis perdengiantis (position:fixed), todėl be jo
     tamsi plokštė palįstų po juosta. Aukštis: ekranas minus antgalvis. */
  #hero.hero-split{
    display:grid; grid-template-columns:1.05fr 0.95fr;
    margin-top:64px; min-height:calc(100vh - 64px);
    padding:0; background:var(--bg-page); overflow:hidden;
  }
  .hero-col-text{
    display:flex; flex-direction:column; justify-content:center;
    gap:26px;
    padding:clamp(52px, 9vw, 96px) clamp(22px, 4vw, 64px);
  }
  /* Svoris 400, nors makete nurodyta 300.

     Priežastis: „Bunny“ šriftas užsakomas tik 400/500/600 svoriais, o savas
     „Fraunces LT“ failas turi tik `opsz` ašį — svorio jis nekeičia. Paprašius
     300, lietuviškos raidės nebeturėdavo iš ko piešti ir nukrisdavo į sisteminį
     serif, todėl antraštėje ą č ę ė į š ų ū ž atrodydavo iš kitos šeimos.
     400 yra tikrai turimas abiejuose failuose. Perėjus prie savų šriftų
     (dizaino pakete jie yra) 300 bus galima grąžinti. */
  .hero-headline{
    font:400 clamp(40px, 6vw, 68px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-1);
    color:var(--ink); margin:0; text-wrap:balance;
  }
  /* 1.75.2: `wpautop` įvynioja tekstą į <p>, o tie <p> paveldėdavo bendrą
     eilučių tarpą — todėl po antrašte tekstas atrodė suspaustas. Dabar dydis ir
     tarpas nurodomi ir pačiam <p>. */
  .hero-body{max-width:520px; margin:0; color:var(--ink-body); text-wrap:pretty;}
  .hero-body p{ margin:0 0 12px; font-size:18px; line-height:1.7; }
  .hero-body p:last-child{ margin-bottom:0; }
  .hero-actions{margin-top:var(--space-2); display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
  /* 3.2.0: trumpa eilutė telefonui (Tinkinti → „Viršelio tekstas telefone“). */
  .hero-body-short{ display:none; margin:0; max-width:520px; color:var(--ink-body); font-size:17px; line-height:1.5; text-wrap:balance; }
  @media (max-width:719px){
    .hero-body.hero-body--has-short{ display:none; }
    .hero-body-short{ display:block; }
  }

  /* Tamsi plokštė. Tekstūra ir švytėjimas — atskiri sluoksniai, kad
     generatoriaus turinys liktų virš jų ir nepaveldėtų permatomumo. */
  .hero-col-panel{
    position:relative; overflow:hidden;
    background:var(--bg-panel); color:var(--ink-on-panel);
    display:flex; flex-direction:column; justify-content:center;
    padding:clamp(46px, 9vw, 72px) clamp(22px, 4vw, 68px);
  }
  .hero-panel-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(115deg, rgba(var(--rgb-light),.085) 0 2px, transparent 2px 11px);
  }
  .hero-panel-glow{
    position:absolute; left:52%; top:56%; transform:translate(-50%,-50%);
    width:min(560px, 96%); aspect-ratio:1; border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(var(--rgb-gold),.17), rgba(var(--rgb-deep),0) 70%);
  }
  .hero-panel-inner{ position:relative; display:flex; flex-direction:column; gap:var(--space-6); }

  /* Lysvės plokštėje: piliulės, o ne kortelės. Minčių sodo puslapyje jos
     lieka tokios, kokios buvo — šios taisyklės apribotos #hero. */
  /* Lysvės plokštėje (1.75.2): be ženkliukų, sulygiuotos kairėje, aktyvi —
     šviesi plokštelė su rašalo tekstu, tiksliai kaip makete (var(--c-light) / var(--c-deep)).
     Bazinė `.plots` taisyklė centruoja, todėl `justify-content` nurodomas
     atskirai — be jo eilutė likdavo viduryje. Ženkliukai slepiami CSS'u, o ne
     šalinami iš `da_render_plots()`, nes tą pačią funkciją naudoja ir Minčių
     sodo puslapis, kur ženkliukai lieka. */
  /* Bazinė taisyklė yra `max-width:900px; margin:0 auto 46px` — todėl eilutė
     likdavo centre (nepaisant `justify-content`) ir po ja žiojėdavo 46px tarpas
     iki linijos. Abu panaikinama (1.75.3). */
  #hero .plots, #generator .plots{
    display:flex; flex-wrap:wrap; justify-content:flex-start; gap:var(--space-2);
    max-width:none; width:100%; margin:0;
  }
  #hero .plot, #generator .plot{
    flex:0 0 auto; min-height:0; padding:14px 20px;
    display:inline-flex; align-items:center; gap:0;
    background:none; border:1px solid rgba(var(--rgb-light),.28); border-radius:var(--radius-pill);
    color:rgba(var(--rgb-light),.8); box-shadow:none; transform:none;
    font-family:'Karla',sans-serif; font-size:14px; line-height:1.3; letter-spacing:.02em;
    transition:border-color var(--motion-hover), background var(--motion-hover), color var(--motion-hover);
  }
  #hero .plot svg, #generator .plot svg{ display:none; }
  #hero .plot .plot-label, #generator .plot .plot-label{ font-size:14px; font-weight:500; }
  #hero .plot:hover, #generator .plot:hover{ border-color:rgba(var(--rgb-light),.6); color:var(--ink-on-panel); transform:none; box-shadow:none; }
  #hero .plot.active, #generator .plot.active{ background:var(--onpanel-paper); border-color:transparent; color:var(--onpanel-ink); box-shadow:none; }
  #hero .plot.active .plot-label, #generator .plot.active .plot-label{ color:var(--onpanel-ink); }

  /* Minties langelis plokštėje: be baltos kortelės, tik tekstas. */
  /* 1.75.2: bazinis `.thought-box` yra 600px pločio, centruotas ir su
     `align-items:center`. Herojuje to nepanaikinus kabutė likdavo viduryje,
     tekstas nesiekdavo krašto, o skiriamoji linija atrodydavo per trumpa —
     būtent tai ir matėsi. Dabar plotis atlaisvinamas ir viskas lygiuojama
     kairėje, kaip makete. */
  #hero .thought-box, #generator .thought-box{
    background:none; border:0; box-shadow:none; padding:0; margin:0;
    /* 1.75.5: bazinė dėžutė turi `border-radius:26px`. Palikus jį, vienintelis
       viršutinis kraštas užsirietdavo abiejuose galuose — atrodė kaip apvalios
       dėžės viršus, o ne kaip linija. */
    border-radius:0;
    max-width:none; width:100%; min-height:0;
    border-top:1px solid rgba(var(--rgb-light),.18); padding-top:var(--space-8);
    display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start;
    gap:var(--space-6); text-align:left;
  }
  #hero .thought-box .quote-mark, #generator .thought-box .quote-mark{
    position:static; align-self:flex-start;
    font-family:var(--font-display); font-size:58px; line-height:0;
    height:26px; color:var(--gold); opacity:1;
  }
  #hero #thought-text, #generator #thought-text{
    width:100%; margin:0; text-align:left;
    font-family:var(--font-display); font-weight:400; font-style:normal;
    font-size:clamp(24px, 2.4vw, 36px); line-height:1.28; letter-spacing:-0.01em;
    color:var(--ink-on-panel); min-height:clamp(120px, 14vw, 190px); text-wrap:pretty;
  }
  /* Nauja mintis: bazinė `sprout` animacija tempia visą dėžutę, o herojuje
     dėžutės nesimato (nei fono, nei šešėlio), todėl atrodė, kad animacijos
     nebėra. Čia animuojamas pats tekstas. */
  #hero .thought-box.grow, #generator .thought-box.grow{ animation:none; }
  #hero .thought-box.grow #thought-text, #generator .thought-box.grow #thought-text{ animation:da-thought-in .55s var(--ease); }
  @keyframes da-thought-in{
    0%{ opacity:0; transform:translateY(10px); }
    100%{ opacity:1; transform:translateY(0); }
  }
  @media (prefers-reduced-motion:reduce){
    #hero .thought-box.grow #thought-text, #generator .thought-box.grow #thought-text{ animation:none; }
  }
  /* Kategorijos užrašo po mintimi makete nėra — lysvė ir taip matoma pažymėta
     virš teksto, todėl kartoti nereikia (1.75.3). Elementas lieka HTML'e ir
     main.js jį toliau atnaujina, tik nerodomas. */
  #hero .thought-category{ display:none; }
  /* Viena veiksmų eilutė: „Išauginti mintį“ + išsaugoti / kopijuoti / dalintis,
     o „Daugiau minčių“ — auksinė nuoroda, ne mygtukas (1.75.2). */
  .hero-panel-actions{ display:flex; flex-wrap:wrap; gap:var(--space-2); align-items:center; }
  #hero .hero-more{
    display:inline-flex; align-items:center; min-height:var(--tap);
    padding:0 var(--space-2); margin-left:auto;
    font-family:'Karla',sans-serif; font-size:15px; font-weight:600;
    color:var(--gold); text-decoration:none; border-bottom:1px solid transparent;
  }
  #hero .hero-more:hover{ border-bottom-color:var(--gold); }
  /* 1.75.3: šie perrašymai anksčiau buvo užrašyti `#hero .btn-...`, o id svoris
     nugalėdavo `.hero-col-text .btn-...`. Todėl KAIRĖJE, šviesiame fone,
     pirminis mygtukas buvo auksinis, o antrasis — beveik baltas ant šviesaus,
     t. y. nematomas. Dabar jie apriboti plokšte, o kairė pusė naudoja bendrus
     mygtukų stilius be jokių išimčių. */
  .hero-col-panel .btn-primary, #generator .btn-primary{ background:var(--gold); color:var(--c-deep); }
  .hero-col-panel .btn-primary:hover, #generator .btn-primary:hover{ background:var(--gold); color:var(--c-deep); opacity:.9; }
  .hero-col-panel .btn-ghost, #generator .btn-ghost{ color:var(--ink-on-panel); border-color:rgba(var(--rgb-light),.3); }
  .hero-col-panel .btn-ghost:hover, #generator .btn-ghost:hover{ border-color:var(--gold); background:none; }

  /* `display:contents` — kad trys mygtukai taptų TIKRAIS tos pačios eilutės
     nariais, o ne atskiru bloku su savo tarpu viršuje. `[hidden]` po to
     grąžinamas atskirai, kitaip `display:contents` panaikintų slėpimą ir
     mygtukai matytųsi dar prieš išauginant mintį. */
  .hero-col-panel .thought-share{ display:contents; }
  .hero-col-panel .thought-share[hidden]{ display:none; }
  /* 1.79.3: Minčių sodo generatorius naudoja tas pačias tamsios plokštės
     taisykles kaip herojus, todėl selektoriai surašyti kartu — vienoje
     vietoje, o ne dviejose, kurios ilgainiui prasilenktų. Skiriasi tik
     išdėstymas: čia viskas centruota, o mygtukai su užrašais. */
  #generator .thought-share{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:0; }
  #generator .thought-share[hidden]{ display:none; }
  #generator .thought-share-btn, #generator .fav-heart-inline{
    width:auto; height:auto; padding:15px 24px; gap:10px;
  }
  #generator .thought-share-btn span{ display:inline; }
  /* 1.87.0: veiksmai vėl su užrašais, kaip maketuose `10` ir `16`
     („♡ Mėgstamiausia“, „Kopijuoti“, „Išsaugoti“). 1.75.4 juos buvo paslėpęs
     į apvalius ženkliukus, kad tilptų vienoje eilutėje — maketas renkasi
     aiškius žodžius. Ženkliukas lieka tik širdelei; kitiems — vien tekstas. */
  .hero-col-panel .thought-share-btn, #generator .thought-share-btn,
  .hero-col-panel .fav-heart-inline, #generator .fav-heart-inline{
    width:auto; height:var(--tap); min-height:var(--tap);
    padding:0 20px; gap:8px; justify-content:center; border-radius:var(--radius-pill);
    background:none; border:1px solid rgba(var(--rgb-light),.3); color:rgba(var(--rgb-light),.85);
    margin:0; flex:0 0 auto;
    font-family:'Karla',sans-serif; font-size:15px; font-weight:400; white-space:nowrap;
  }
  .hero-col-panel .thought-share-btn span, #generator .thought-share-btn span{ display:inline; }
  .hero-col-panel .thought-share-btn:not(.fav-heart) svg, #generator .thought-share-btn:not(.fav-heart) svg{ display:none; }
  .hero-col-panel .fav-heart-inline svg, #generator .fav-heart-inline svg{ width:15px; height:15px; }
  /* Herojuje vietos mažiau — širdelė be užrašo (apvalus ženkliukas), kad
     „Išauginti mintį“, širdelė, „Kopijuoti“ ir „Išsaugoti“ tilptų vienoje eilutėje. */
  .hero-col-panel .fav-heart-inline{ width:var(--tap); padding:0; }
  .hero-col-panel .fav-heart-inline span{ display:none; }
  /* Eilutė po mygtukais: lysvė · kelinta mintis, dešinėje nuoroda. */
  .thought-meta-row{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    margin-top:var(--space-4); padding-top:var(--space-3);
  }
  .thought-meta{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.04em;
    color:var(--onpanel-muted);
  }
  #generator .thought-meta{ display:block; text-align:center; margin-top:4px; }
  #generator .thought-meta[hidden]{ display:none; }
  @media (max-width:719px){
    .hero-panel-actions #grow-btn{ flex:1 1 100%; }
  }
  /* 1.75.7: bazinės taisyklės ant pelės užpildo mygtuką `--cream-2` spalva
     (.thought-share-btn) ir kilsteli jį (.fav-heart-inline / .fav-heart) —
     tamsioje plokštėje tai atrodė kaip balta plėvelė. Čia lieka tik auksinis
     kraštas su lengvu švytėjimu. */
  .hero-col-panel .thought-share-btn:hover,
  .hero-col-panel .fav-heart-inline:hover,
  #generator .thought-share-btn:hover,
  #generator .fav-heart-inline:hover{
    background:none;
    border-color:var(--gold);
    color:var(--ink-on-panel);
    transform:none;
    box-shadow:0 0 12px -2px rgba(var(--rgb-gold),.45);
  }

  /* Sėklos ženkliukas, kylantis nuo mygtuko, herojuje nerodomas (1.75.4).
     Minčių sodo puslapyje jis lieka. */
  .hero-col-panel .leaf-pop, #generator .leaf-pop{ display:none; }
  /* Kvėpavimo ratas ant tamsios plokštės: vietoj žalio pilno rato — auksinis
     žiedas. Animacija ta pati (`.breathing.is-running`, 4 s įkvėpimas /
     4 s iškvėpimas), tik dabar matoma tamsiame fone. */
  #hero .breathing, #generator .breathing{ align-self:center; justify-content:center; margin:0; }
  /* Kvėpuojant tekstas trumpas („Įkvėpk ir iškvėpk...“), o `min-height` vis tiek
     laikydavo 120–190px tuščios vietos virš rato. Kai kvėpavimo blokas matomas,
     rezervas panaikinamas. Naršyklėse be `:has()` lieka kaip buvo. */
  #hero .thought-box:has(.breathing:not([hidden])) #thought-text, #generator .thought-box:has(.breathing:not([hidden])) #thought-text{ min-height:0; }
  #hero .breathing-circle, #generator .breathing-circle{
    background:radial-gradient(circle at 50% 45%, rgba(var(--rgb-gold),.30), rgba(var(--rgb-gold),.06));
    border:1px solid rgba(var(--rgb-gold),.55);
    box-shadow:0 0 40px -10px rgba(var(--rgb-gold),.35);
  }
  #hero .breathing-cue, #generator .breathing-cue{ color:var(--ink-on-panel); }

  @media (max-width:899px){
    #hero.hero-split{ grid-template-columns:1fr; min-height:0; }
    .hero-col-text{ padding:clamp(40px, 9vw, 64px) clamp(20px, 5vw, 40px); }
    .hero-col-panel{ padding:clamp(36px, 9vw, 56px) clamp(20px, 5vw, 40px); }
  }

  /* Instagram rėmelis — nuo 1.75.1 atskira skiltis, rodoma tik įrašius
     trumpąjį kodą (žr. front-page.php). */
  #instagram{ padding:0 0 var(--space-24); }
  

  /* Secondary hero action (v1.70.0). Two filled buttons side by side asked the
     visitor to choose; the generator is the thing worth touching first, so this
     one steps back to a text link while staying a comfortable tap target. */
  
  
  
  
  

  /* ---------- Instagram (1.77.4) ----------
     Pakrypusi balta „polaroido“ kortelė su gradientiniu fonu pakeista ramia
     skiltimi pagal tą pačią sistemą kaip kitos: antraštė, tinklelis, mygtukas.
     Įskiepio (pvz. Smash Balloon) tarpai nunulinami, kad nuotraukos gultų
     tvarkingu tinkleliu, o ne su savo vidinėmis paraštėmis. */
  #instagram.ig-section{ background:var(--bg-page); padding:0; }
  .ig-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(56px, 9vw, 92px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(28px, 4vw, 40px);
  }
  /* 1.77.6: `baseline` lygiavo nuorodą pagal PIRMĄ stulpelio eilutę, t. y. pagal
     viršelinį užrašą, todėl ji kabojo per aukštai. `flex-end` pastato ją prie
     vardo eilutės. */
  .ig-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px 40px; flex-wrap:wrap; }
  .ig-head-titles{ display:flex; flex-direction:column; gap:12px; }
  /* Vardas nebe antraštės dydžio — tai ne skilties pavadinimas, o paskyra. */
  .ig-head h2{
    margin:0; font:400 clamp(24px, 3.4vw, 30px)/1.15 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink);
  }
  .ig-link{
    white-space:nowrap; font-size:15px; color:var(--accent); text-decoration:none;
    transition:color var(--motion-hover);
  }
  .ig-link:hover{ color:var(--ink); }
  .ig-feed{ width:100%; }
  .ig-feed img{ border-radius:8px; display:block; }
  

  
  @keyframes float{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-16px) rotate(8deg);}}

  /* background botanical accents: continuous gentle sway, no scroll-linked JS needed */
  .leaf-parallax{position:absolute; pointer-events:none; z-index:0; will-change:transform;}
  .bg-leaf{position:relative; display:block; opacity:0.16; animation:leafSway 9s var(--ease) infinite;}
  @keyframes leafSway{0%,100%{transform:translateY(0) rotate(var(--leaf-rot,0deg));}50%{transform:translateY(-14px) rotate(calc(var(--leaf-rot,0deg) + 6deg));}}

  /* curved divider */
  
  

  /* ---------- about ---------- */
  /* ---------- testo puslapis (1.85.0) ---------- */
  #quiz-section.quiz-section{ background:var(--bg-page); padding:0; }
  .quiz-section-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(36px, 6vw, 64px) var(--gutter-wide) clamp(52px, 8vw, 92px);
  }
  /* Juostoje mygtukai: pirminis — auksinis, dalinimasis — šviesus apvadas. */
  .quiz-hero .ink-hero-actions .btn-primary{ background:var(--gold); color:var(--onpanel-ink); }
  .quiz-hero .ink-hero-actions .btn-primary:hover{ background:var(--onpanel-paper); color:var(--onpanel-ink); opacity:1; }
  /* 1.85.2: `.da-share` yra tik apvalkalas — tikrasis mygtukas `.da-share-btn`
     turi savo (šviesiam fonui skirtą) rėmelį ir žalią tekstą žemiau faile.
     Anksčiau rėmelis buvo uždėtas apvalkalui, todėl tamsioje juostoje matėsi
     du kontūrai ir beveik nematomas tamsiai žalias užrašas. Dabar apvalkalas
     tuščias, o mygtukas — antrinis piliulės mygtukas ant tamsios plokštės,
     tik `--onpanel-*` spalvomis (abiejose temose vienodas). */
  .ink-hero .da-share{ margin:0; padding:0; border:0; background:none; max-width:none; text-align:left; }
  .ink-hero .da-share .da-share-btn{
    margin:0; padding:0 24px; min-height:var(--tap-cta); border-radius:var(--radius-pill);
    background:transparent; border:1px solid var(--onpanel-line-strong);
    color:var(--onpanel-paper); font-family:'Karla',sans-serif; font-size:16px; font-weight:600;
  }
  .ink-hero .da-share .da-share-btn:hover{ border-color:var(--gold); color:var(--onpanel-paper); background:transparent; }
  .ink-hero .da-share .da-share-btn.is-done{ border-color:var(--gold); color:var(--gold); background:transparent; }
  .quiz-intro{ display:flex; flex-direction:column; gap:clamp(28px, 4vw, 40px); max-width:none; }
  .quiz-cover{
    margin:0; border:1px solid rgba(var(--rgb-deep),.12); border-radius:20px;
    overflow:hidden; background:var(--bg-alt);
  }
  .quiz-cover img{ display:block; width:100%; height:auto; }
  .quiz-intro-text{
    max-width:62ch; font-size:clamp(16px, 1.9vw, 18px); line-height:1.75; color:var(--ink-body);
  }
  .quiz-intro-text p{ margin:0 0 16px; text-wrap:pretty; }
  .quiz-intro-text p:last-child{ margin-bottom:0; }
  /* Pirmoji aprašymo pastraipa — stambesnė, Fraunces, kaip makete. */
  .quiz-intro-text:first-of-type > p:first-child{
    max-width:60ch; font-family:var(--font-display); font-weight:400;
    font-size:clamp(20px, 2.7vw, 25px); line-height:1.45; color:var(--ink);
  }
  html[data-theme="evening"] .quiz-cover{ border-color:var(--hairline); }

  /* „Kiti įrankiai“ (1.85.1). */
  section.quiz-related{ background:var(--bg-alt); padding:0; }
  .quiz-related-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(44px, 7vw, 80px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(22px, 3.4vw, 30px);
  }
  .quiz-related h2{
    margin:0; max-width:24ch; font:400 clamp(25px, 4.1vw, 40px)/1.08 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink);
  }
  .quiz-related-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:clamp(16px, 2.6vw, 24px);
  }
  .quiz-related-card{
    text-decoration:none; background:var(--bg-card);
    border:1px solid rgba(var(--rgb-deep),.12); border-radius:16px;
    padding:clamp(20px, 3vw, 26px);
    display:flex; flex-direction:column; gap:10px;
    transition:border-color var(--motion-hover);
  }
  .quiz-related-card:hover{ border-color:rgba(var(--rgb-deep),.3); }
  .quiz-related-meta{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .quiz-related-card h3{
    margin:0; font:400 clamp(21px, 2.7vw, 25px)/1.14 var(--font-display); color:var(--ink);
  }
  .quiz-related-card p{
    margin:0; max-width:38ch; font-size:15px; line-height:1.65; color:var(--ink-body); text-wrap:pretty;
  }
  .quiz-related-more{ margin-top:auto; padding-top:12px; font-size:15px; color:var(--accent); }
  html[data-theme="evening"] .quiz-related-card{ border-color:var(--hairline); }

  /* ---------- įrankio puslapio turinys (1.84.0) ---------- */
  #project.tool-body{ background:var(--bg-page); padding:0; }
  .tool-body-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(40px, 6vw, 72px) var(--gutter-wide) clamp(52px, 8vw, 92px);
  }
  .tool-body-inner .entry-content{ max-width:66ch; }

  /* ---------- Skaitykla: viršutinė juosta (1.81.0) ---------- */
  /* 1.81.2: temų blokas perkeltas į dešinį stulpelį šalia antraštės (makete jis
     po tekstu, bet taip juosta ramesnė ir trumpesnė). Siauriau vėl grįžta po
     tekstu — 380px stulpeliui vietos nebelieka. */
  #page-hero.reader-hero-band .ink-hero-inner{
    display:grid; grid-template-columns:minmax(0, 1fr); gap:clamp(20px, 3vw, 40px);
    padding:clamp(52px, 9vw, 100px) var(--gutter-wide) clamp(44px, 6vw, 72px);
  }
  @media (min-width:900px){
    #page-hero.reader-hero-band .ink-hero-inner{
      grid-template-columns:minmax(0, 1fr) 380px;
      gap:clamp(32px, 5vw, 72px); align-items:end;
    }
  }
  .ink-hero-glow--breathe{ left:30%; animation:da-breathe 11s ease-in-out infinite; }
  @keyframes da-breathe{
    0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.9; }
    50%{ transform:translate(-50%,-50%) scale(1.08); opacity:1; }
  }
  @media (prefers-reduced-motion:reduce){
    .ink-hero-glow--breathe{ animation:none; }
  }
  .reader-hero-head{ display:flex; flex-direction:column; gap:18px; }
  .reader-hero-band h1{
    margin:0; max-width:18ch;
    font:400 clamp(34px, 6.8vw, 70px)/1.04 var(--font-display);
    letter-spacing:var(--ls-display-1); color:var(--onpanel-paper); text-wrap:balance;
  }
  .reader-hero-band h1 em{ font-style:italic; color:var(--gold); }
  .reader-topics{ display:flex; flex-direction:column; gap:12px; }
  .reader-topics-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.45);
  }
  .reader-count{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.12em;
    color:rgba(var(--rgb-light),.5);
  }
  /* „Įkelti daugiau“ po kortelėmis (1.87.0, buvo įterptas stilius). Paslėptas
     mygtukas nepalieka tuščio tarpo. */
  .reader-more{ display:flex; justify-content:center; }
  .reader-more:has(> #load-more-articles[style*="display:none"]){ display:none; }
  /* Žetonai ant tamsios juostos — tikslios maketo reikšmės (1.81.3):
     15px tekstas, 11px/17px paraštės, 44px minimalus aukštis; neaktyvus —
     permatomas su plonu šviesiu kraštu, aktyvus — šviesi plokštelė be krašto. */
  .chip--ink{
    padding:11px 17px; min-height:var(--tap); font-size:15px; letter-spacing:0;
    background:transparent; border:1px solid rgba(var(--rgb-light),.28);
    color:rgba(var(--rgb-light),.82);
    transition:background .25s ease, border-color .25s ease, color .25s ease;
  }
  .chip--ink:hover{ border-color:rgba(var(--rgb-light),.6); color:var(--onpanel-paper); }
  .chip--ink[aria-pressed="true"]{
    background:var(--onpanel-paper); border-color:transparent; color:var(--onpanel-ink);
  }

  /* 1.81.4: tos pačios taisyklės, bet su id svoriu.

     Failo taisyklės atrodė teisingos, tačiau ekrane žetonai vis tiek buvo be
     rėmelio — vadinasi, kažkas juos perrašo. Užuot ieškojus, kas būtent,
     stilius pakartojamas su `#page-hero` priešdėliu: id nugali bet kurią klasę,
     todėl rezultatas nebepriklauso nuo eiliškumo faile. */
  #page-hero .reader-topics .chip{
    display:inline-flex; align-items:center; justify-content:center;
    padding:11px 17px; min-height:44px;
    font-family:'Karla',sans-serif; font-size:15px; letter-spacing:0; line-height:1.2;
    background:transparent;
    border:1px solid rgba(var(--rgb-light),.28);
    border-radius:999px;
    color:rgba(var(--rgb-light),.82);
    cursor:pointer; white-space:nowrap;
    transition:background .25s ease, border-color .25s ease, color .25s ease;
  }
  #page-hero .reader-topics .chip:hover{
    border-color:rgba(var(--rgb-light),.6); color:var(--ink-on-panel);
  }
  #page-hero .reader-topics .chip[aria-pressed="true"]{
    background:var(--c-light); border:1px solid transparent; color:var(--c-deep);
  }

  /* ---------- tamsi puslapio juosta (1.78.0) ----------
     Naudoja tuos pačius laukus kaip įprasta puslapio antraštė, tik kitą
     išdėstymą: kairėje pavadinimas, dešinėje auksinis brūkšnys ir įžanga.
     Spalvos nekintamos (--onpanel-*), nes juosta tamsi abiejuose režimuose.
     `margin-top:64px` — antgalvis perdengiantis, kaip herojuje. */
  #page-hero.ink-hero{
    position:relative; overflow:hidden; padding:0;
    margin-top:64px; background:var(--bg-panel); text-align:left;
  }
  .ink-hero-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(115deg, rgba(var(--rgb-light),.075) 0 2px, transparent 2px 11px);
  }
  .ink-hero-glow{
    position:absolute; left:76%; top:52%; transform:translate(-50%,-50%);
    width:min(620px, 90vw); aspect-ratio:1; border-radius:50%; pointer-events:none;
    background:radial-gradient(circle, rgba(var(--rgb-gold),.2), rgba(var(--rgb-deep),0) 70%);
  }
  .ink-hero-inner{
    position:relative; width:100%; max-width:var(--wrap-wide); margin:0 auto;
    box-sizing:border-box; padding:clamp(56px, 10vw, 104px) var(--gutter-wide);
  }
  .ink-hero-head{ display:grid; grid-template-columns:1fr 420px; gap:clamp(32px, 5vw, 80px); align-items:end; }
  .ink-hero-titles{ display:flex; flex-direction:column; gap:24px; }
  .ink-hero-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold);
  }
  .ink-hero h1{
    margin:0; max-width:18ch;
    font:400 clamp(36px, 7.6vw, 79px)/1.03 var(--font-display);
    letter-spacing:var(--ls-display-1); color:var(--onpanel-paper); text-wrap:balance;
  }
  /* Kursyvas antraštėje — auksinis, kaip makete. Redaktoriuje pakanka
     parašyti <em>…</em> antraštės laukelyje. */
  .ink-hero h1 em{ font-style:italic; color:var(--gold); }
  /* 1.87.0: vidiniai puslapiai su naršymo keliu (įrankis, testas) — maketuose
     `15`, `18`, `20` antraštė kiek mažesnė ir platesnė (74px / 20ch). 22ch, nes
     su 400 svoriu Fraunces platesnis nei maketo 300. */
  .ink-hero--inner h1, .quiz-hero h1{ max-width:22ch; font-size:clamp(34px, 6.8vw, 74px); line-height:1.04; }
  /* Ir juosta žemesnė: kelias prie pat viršaus, mažesni tarpai (maketas `15`:
     30px viršuje, 76px apačioje, 26px tarp eilučių). */
  .ink-hero.ink-hero--inner .ink-hero-inner, .ink-hero.quiz-hero .ink-hero-inner{
    padding-top:clamp(22px, 3vw, 30px); padding-bottom:clamp(40px, 7vw, 76px);
    gap:clamp(18px, 2.6vw, 26px);
  }
  .ink-hero--inner .ink-hero-titles, .quiz-hero .ink-hero-titles{ gap:clamp(18px, 2.6vw, 24px); }
  .ink-hero-lead{ display:flex; flex-direction:column; gap:20px; }
  .ink-hero-rule{ width:44px; height:2px; background:var(--gold); }
  .ink-hero-lead p{
    margin:0; max-width:46ch; font-size:18px; line-height:1.75;
    color:var(--onpanel-text); text-wrap:pretty;
  }
  /* Vienstulpelis variantas (1.79.0): antraštė, įžanga ir mygtukai vienas po
     kito, o apačioje — maža eilutė su plaukeliu. */
  .ink-hero--stack .ink-hero-inner{ display:flex; flex-direction:column; gap:clamp(28px, 4vw, 44px); }
  .ink-hero--stack .ink-hero-head{ display:block; }
  .ink-hero--stack .ink-hero-titles{ gap:clamp(20px, 3vw, 28px); }
  .ink-hero-sub{
    margin:0; max-width:54ch; font-size:clamp(17px, 2vw, 19px); line-height:1.7;
    color:var(--onpanel-text); text-wrap:pretty;
  }
  .ink-hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:4px; }
  /* Maža eilutė šalia mygtuko, pvz. „Nemokama · be registracijos“ (1.84.0). */
  .ink-hero-note{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.5);
  }
  /* Naršymo kelias tamsioje juostoje: šviesus, o dabartinis puslapis — auksinis. */
  .ink-hero-crumbs .crumbs{ margin:0; padding:0; justify-content:flex-start; }
  .ink-hero-crumbs .crumbs,
  .ink-hero-crumbs .crumbs a,
  .ink-hero-crumbs .crumbs span{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.6);
  }
  .ink-hero-crumbs .crumbs a{ text-decoration:none; }
  .ink-hero-crumbs .crumbs a:hover{ color:var(--gold); }
  .ink-hero-crumbs .crumbs [aria-current="page"]{ color:var(--gold); }
  .ink-hero-actions .btn-primary{ background:var(--gold); color:var(--onpanel-ink); }
  .ink-hero-actions .btn-primary:hover{ background:var(--onpanel-paper); color:var(--onpanel-ink); opacity:1; }
  .ink-hero-actions .btn-ghost{ color:var(--onpanel-paper); border-color:rgba(var(--rgb-light),.32); }
  .ink-hero-actions .btn-ghost:hover{ border-color:var(--onpanel-paper); background:none; }
  /* 1.87.0: viena eilutė, kaip makete `16` („KETURIOS LYSVĖS   Toliau — …“);
     siauriau persilaužia pati. */
  .ink-hero-foot{
    border-top:1px solid rgba(var(--rgb-light),.18); padding-top:22px;
    display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px;
  }
  .ink-hero-foot-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.42);
  }
  .ink-hero-foot-note{
    font-family:'Karla',sans-serif; font-size:13px; letter-spacing:.1em;
    color:rgba(var(--rgb-light),.6);
  }

  @media (max-width:899px){
    .ink-hero-head{ grid-template-columns:1fr; align-items:start; }
    .ink-hero h1{ max-width:none; }
  }

  /* ---------- Susipažinkime: keturi tarpsniai (1.78.1) ----------
     Trys stulpeliai: du tekstiniai ir aukšta nuotrauka. Kiekvienas tarpsnis
     prasideda plaukeliu — jokių kortelių, šešėlių ar ženkliukų. */
  #project.stages-section{ background:var(--bg-alt); padding:0; }
  .stages-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 88px) var(--gutter-wide) clamp(56px, 9vw, 96px);
    display:flex; flex-direction:column; gap:clamp(32px, 4vw, 48px);
  }
  .stages-grid{
    display:grid; grid-template-columns:1fr 1fr 400px;
    gap:clamp(32px, 4vw, 56px); align-items:start;
  }
  .stages-column{ display:flex; flex-direction:column; gap:clamp(32px, 4vw, 44px); }
  .stage{
    border-top:1px solid rgba(var(--rgb-deep),.2); padding-top:22px;
    display:flex; flex-direction:column; gap:12px;
  }
  .stage-label{
    font-family:'Karla',sans-serif; font-size:15px; font-weight:500;
    letter-spacing:.1em; color:var(--ink-meta);
  }
  .stage h2{
    margin:0; font:400 clamp(25px, 3.1vw, 31px)/1.18 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink); text-wrap:pretty;
  }
  .stage-text p{
    margin:0 0 12px; max-width:60ch; font-size:17px; line-height:1.75;
    color:var(--ink-body); text-wrap:pretty;
  }
  .stage-text p:last-child{ margin-bottom:0; }

  .stages-photo{ display:flex; flex-direction:column; gap:28px; }
  /* 1.87.0: „Toliau — misija ir vizija“ po nuotrauka (maketas `11`). */
  .stages-photo .stages-next{ align-self:flex-start; min-height:var(--tap); padding:0 22px; font-size:15px; }
  .stages-photo-tall{
    border-radius:16px; overflow:hidden; background:var(--bg-raised); height:520px;
  }
  .stages-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  html[data-theme="evening"] .stage{ border-top-color:var(--hairline); }

  @media (max-width:1079px){
    .stages-grid{ grid-template-columns:1fr 1fr; }
    .stages-photo{ grid-column:1 / -1; }
    .stages-photo-tall{ height:420px; }
  }
  @media (max-width:899px){
    .stages-grid{ grid-template-columns:1fr; }
    .stages-photo-tall{ height:clamp(320px, 90vw, 460px); }
  }

  /* ---------- Žmogus už projekto (1.78.4) ----------
     Tamsi juosta su portretu ir šviesi skiltis po ja. Tamsiosios spalvos
     nekintamos (--onpanel-*), kad juosta atrodytų vienodai abiejuose
     režimuose. */
  #creator.creator-ink{
    position:relative; overflow:hidden; padding:0;
    background:var(--bg-panel); color:var(--onpanel-paper);
  }
  .creator-ink-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(115deg, rgba(var(--rgb-light),.075) 0 2px, transparent 2px 11px);
  }
  .creator-ink-inner{
    position:relative; width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 88px) var(--gutter-wide);
    display:grid; grid-template-columns:420px 1fr; gap:clamp(32px, 5vw, 72px); align-items:center;
  }
  .creator-portrait{ height:540px; border-radius:16px; overflow:hidden; background:var(--c-deep); }
  .creator-portrait img{ width:100%; height:100%; object-fit:cover; display:block; }
  .creator-ink-copy{ display:flex; flex-direction:column; gap:26px; }
  .creator-ink-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold);
  }
  .creator-ink-copy h2{
    margin:0; font:400 clamp(34px, 6.3vw, 59px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-1); color:var(--onpanel-paper);
  }
  .creator-quote{
    margin:0; max-width:34ch; font-family:var(--font-display);
    font-size:clamp(23px, 3.8vw, 29px); line-height:1.42; letter-spacing:-0.01em;
    color:rgba(var(--rgb-light),.9); text-wrap:pretty;
  }
  .creator-since{ display:flex; align-items:center; gap:16px; }
  .creator-since-rule{ width:44px; height:2px; background:var(--gold); flex:none; }
  .creator-since span{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.5);
  }

  #creator-body.creator-body{ background:var(--bg-page); padding:0; }
  .creator-body-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 88px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(36px, 5vw, 48px);
  }
  .creator-body-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px, 4vw, 56px); }
  .creator-story{ display:flex; flex-direction:column; gap:22px; }
  .creator-story p{ margin:0; max-width:64ch; font-size:18px; line-height:1.8; color:var(--ink-body); text-wrap:pretty; }
  .creator-card{
    align-self:start; background:var(--bg-card);
    border:1px solid var(--hairline); border-radius:18px;
    padding:clamp(26px, 4vw, 36px) clamp(24px, 4vw, 40px);
    display:flex; flex-direction:column; gap:18px;
  }
  .creator-card-label{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .creator-card .creator-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
  .creator-card .creator-list li{ font-size:17px; line-height:1.6; color:var(--ink-body); padding:0; }
  .creator-card .creator-list li::before{ content:none; }
  .creator-card .creator-list ul{ list-style:none; margin:8px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:10px; }

  .creator-interests{
    border-top:1px solid rgba(var(--rgb-deep),.18); padding-top:28px;
    display:flex; align-items:baseline; flex-wrap:wrap; gap:16px 32px;
  }
  .creator-interests-label{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .creator-interests-list{
    font-family:var(--font-display); font-size:clamp(22px, 3.1vw, 25px);
    line-height:1.4; color:var(--ink); text-wrap:pretty;
  }
  .creator-actions{ display:flex; flex-wrap:wrap; gap:14px; }
  html[data-theme="evening"] .creator-interests{ border-top-color:var(--hairline); }

  @media (max-width:899px){
    .creator-ink-inner{ grid-template-columns:1fr; }
    .creator-portrait{ height:clamp(340px, 92vw, 520px); }
    .creator-body-grid{ grid-template-columns:1fr; }
  }

  /* ---------- Minčių sodas: citatos + baigiamoji skiltis (1.79.4) ---------- */
  #quotes{ background:var(--bg-card); padding:0; }
  #quotes > .wrap{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 88px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(24px, 3.4vw, 32px);
  }
  .quotes-head{
    display:grid; grid-template-columns:minmax(0, 1fr); gap:18px clamp(32px, 5vw, 64px);
    text-align:left; max-width:none; margin:0;
  }
  .quotes-head-titles{ display:flex; flex-direction:column; gap:12px; }
  .quotes-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .quotes-head h2{
    margin:0; max-width:28ch; /* 1.87.0: 22ch → 28ch, kad tilptų vienoje eilutėje kaip makete */ font:400 clamp(27px, 4.7vw, 47px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
  }
  .quotes-lead{
    margin:0; max-width:44ch; font-size:clamp(16px, 1.8vw, 17px); line-height:1.68;
    color:var(--ink-body); text-wrap:pretty;
  }
  @media (min-width:900px){
    .quotes-head{ grid-template-columns:minmax(0, 1fr) minmax(0, 44ch); align-items:end; }
  }

  .quotes-controls{
    background:var(--bg-raised); border:1px solid transparent; border-radius:14px;
    padding:16px clamp(16px, 2vw, 22px);
    display:flex; flex-wrap:wrap; align-items:center; gap:14px clamp(18px, 2.4vw, 26px);
  }
  .quotes-control{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .quotes-control-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .quotes-control select{
    cursor:pointer; background:var(--bg-card);
    border:1px solid rgba(var(--rgb-deep),.18); border-radius:8px;
    color:var(--ink); font-family:'Karla',sans-serif; font-size:15px;
    padding:11px 13px; min-height:var(--tap);
  }
  .quotes-search{ flex:1 1 220px; min-width:0; }
  .quotes-count{
    margin-left:auto; font-family:'Karla',sans-serif; font-size:12px;
    letter-spacing:.14em; color:var(--ink-meta);
  }
  .quotes-more-wrap{ display:flex; justify-content:center; }
  html[data-theme="evening"] .quotes-control select{ border-color:var(--hairline-strong); }

  /* ---------- „Kas toliau“ juosta (1.86.0) ----------
     Viena juosta visiems puslapiams (`da_render_next_band()`), pakeitė
     Minčių sodo `.garden-cta`. Šviesi — maketai `16`, `17`, `12`; tamsi
     (`--ink`) — straipsnio maketas `13`: viršelinė eilutė kairėje, antraštė
     ir mygtukai dešinėje. Tamsi abiejose temose, todėl tik `--onpanel-*`.
     Selektoriai su dviem klasėmis — kad nugalėtų plačiąsias vakaro
     `section p` / `h2` taisykles failo apačioje. */
  .next-band{ position:relative; background:var(--bg-alt); padding:0; }
  .next-band .next-band-inner{
    position:relative; width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 8vw, 88px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:20px;
  }
  .next-band .next-band-body{ display:flex; flex-direction:column; gap:20px; }
  .next-band .next-band-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .next-band .next-band-title{
    margin:0; max-width:28ch; /* maketas 24ch prie 300 svorio; prie 400 — 28ch, kad liktų 2 eilutės */ font:400 clamp(27px, 4.7vw, 47px)/1.07 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
  }
  .next-band .next-band-text{
    margin:0; max-width:58ch; font-size:clamp(16px, 1.8vw, 18px); line-height:1.72;
    color:var(--ink-body); text-wrap:pretty;
  }
  .next-band .next-band-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:6px; }

  .next-band--ink{ background:var(--bg-panel); overflow:hidden; }
  .next-band--ink .next-band-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(115deg, rgba(var(--rgb-light),.075) 0 2px, transparent 2px 11px);
  }
  .next-band--ink .next-band-inner{ padding:clamp(44px, 7vw, 76px) var(--gutter-wide); }
  .next-band--ink .next-band-body{ gap:16px; }
  .next-band--ink .next-band-eyebrow{ font-size:11px; letter-spacing:.2em; color:var(--gold); }
  .next-band--ink .next-band-title{
    max-width:26ch; font-size:clamp(27px, 4.1vw, 40px); line-height:1.1;
    letter-spacing:-0.01em; color:var(--ink-on-panel);
  }
  .next-band--ink .next-band-actions{ margin-top:0; }
  .next-band--ink .btn-primary{ background:var(--gold); color:var(--onpanel-ink); }
  .next-band--ink .btn-primary:hover{ background:var(--onpanel-paper); color:var(--onpanel-ink); opacity:1; }
  .next-band--ink .btn-ghost{ background:transparent; color:var(--ink-on-panel); border-color:rgba(var(--rgb-light),.3); }
  .next-band--ink .btn-ghost:hover{ border-color:var(--gold); background:transparent; }
  @media (min-width:900px){
    .next-band--ink .next-band-inner{
      display:grid; grid-template-columns:220px minmax(0, 1fr); align-items:center;
      gap:20px clamp(24px, 3vw, 44px);
    }
  }

  /* ---------- Šoninis stulpelis (1.86.0) — maketai `15`, `18`, `20` ----------
     Kortelės `--bg-card`, plaukelio kraštas. Plačiau nei 900px stulpelis
     prilimpa (`sticky`) — todėl jokio `overflow` protėviuose. */
  .page-aside{ display:flex; flex-direction:column; gap:18px; min-width:0; align-self:start; }
  .page-aside .aside-card{
    display:flex; flex-direction:column; gap:12px;
    padding:22px; border-radius:16px;
    background:var(--bg-card); border:1px solid var(--hairline);
    text-decoration:none;
  }
  .page-aside .aside-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .page-aside .aside-toc a{ font-size:16px; line-height:1.45; color:var(--ink-body); text-decoration:none; transition:color var(--motion-hover); }
  .page-aside .aside-toc a:hover{ color:var(--accent); }
  .page-aside .aside-facts{ gap:10px; }
  .page-aside .aside-fact{ font-size:15px; line-height:1.7; color:var(--ink-body); }
  .page-aside .aside-fact + .aside-fact{ border-top:1px solid var(--hairline); padding-top:10px; }
  .page-aside .aside-back{
    font-size:15px; color:var(--accent); text-decoration:none;
  }
  .page-aside .aside-fact ~ .aside-back{ margin-top:6px; border-top:1px solid var(--hairline); padding-top:14px; }
  .page-aside .aside-back:hover{ color:var(--ink); }
  .page-aside .aside-tool{ transition:border-color var(--motion-hover); }
  .page-aside .aside-tool:hover{ border-color:rgba(var(--rgb-gold),.75); }
  .page-aside .aside-tool-title{ font-family:var(--font-display); font-size:20px; line-height:1.25; color:var(--ink); }
  html[data-theme="evening"] .page-aside .aside-back{ color:var(--gold); }

  /* Įrankio puslapis: tekstas + stulpelis (1.86.0). */
  @media (min-width:900px){
    .tool-body-inner.has-aside{
      display:grid; grid-template-columns:minmax(0, 1fr) 280px;
      gap:clamp(40px, 5vw, 76px); align-items:start;
    }
    .tool-body-inner.has-aside .page-aside{ position:sticky; top:96px; }
  }
  @media (max-width:899px){ .tool-body-inner.has-aside .page-aside{ margin-top:40px; } }

  /* Straipsnis: „Susijęs įrankis“ po turinio sąrašu (1.86.0, maketas `13`). */
  .article-toc .article-toc-tool{
    display:flex; flex-direction:column; gap:8px;
    margin-top:14px; padding-top:14px; border-top:1px solid var(--hairline);
  }
  .article-toc .article-toc-tool-link{
    padding:0; border:0; font-family:var(--font-display); font-size:19px; line-height:1.3;
    color:var(--ink); text-decoration:none;
  }
  .article-toc .article-toc-tool-link:hover{ color:var(--accent); }

  /* ---------- Minčių sodas: generatorius (1.79.3) ---------- */
  #generator.generator-section{
    position:relative; overflow:hidden; padding:0;
    background:var(--bg-panel); color:var(--onpanel-paper);
  }
  .generator-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(160deg, rgba(var(--rgb-gold),.06) 0 3px, transparent 3px 16px);
  }
  .generator-inner{
    position:relative; width:100%; max-width:1040px; margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 92px) clamp(20px, 4.5vw, 60px);
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap:clamp(18px, 2.6vw, 24px);
  }
  .generator-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold);
  }
  .generator-inner h2{
    /* 1.87.0: be ribos — su 400 svoriu antraštė lūždavo į dvi eilutes (makete viena). */
    margin:0; max-width:none; font:400 clamp(27px, 4.9vw, 50px)/1.08 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--onpanel-paper); text-wrap:balance;
  }
  #generator .plots{ justify-content:center; margin-top:4px; }
  .generator-rule{ width:100%; border-top:1px solid rgba(var(--rgb-light),.18); margin-top:10px; }
  #generator .thought-box{
    width:100%; max-width:760px; align-items:flex-start; text-align:left;
    border-top:0; padding-top:0;
  }
  #generator .thought-box .quote-mark{ line-height:.6; height:auto; font-size:clamp(43px, 7.2vw, 58px); }
  #generator #thought-text{
    margin:10px 0 0; min-height:clamp(150px, 24vw, 170px);
    font-size:clamp(25px, 4.7vw, 40px); line-height:1.3;
  }
  #generator .thought-category{ display:none; }
  .generator-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }

  /* ---------- Minčių sodas: lysvės (1.79.2) ----------
     Sąrašas, ne kortelės su ženkliukais. Kiekviena lysvė turi plaukelį
     viršuje, numeruotą etiketę, pavadinimą ir aprašymą. */
  #categories.beds-section{ background:var(--bg-page); padding:0; }
  .beds-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 96px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(32px, 5vw, 52px);
  }
  .beds-head{ display:flex; flex-direction:column; gap:16px; }
  .beds-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .beds-head h2{
    /* 1.87.0: 22ch, ne 20ch — su 400 svoriu (vietoj maketo 300, žr. §22.5)
       Fraunces platesnis, ir antraštė lūždavo į tris eilutes vietoj dviejų. */
    margin:0; max-width:22ch; font:400 clamp(29px, 5vw, 52px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
  }
  .beds-lead{
    margin:0; max-width:62ch; font-size:clamp(16px, 1.8vw, 18px); line-height:1.72;
    color:var(--ink-body); text-wrap:pretty;
  }
  .beds-list{
    display:grid; grid-template-columns:minmax(0, 1fr);
    gap:clamp(28px, 4vw, 48px) clamp(32px, 5vw, 72px);
  }
  .bed{
    border-top:1px solid rgba(var(--rgb-deep),.2); padding-top:22px;
    display:flex; flex-direction:column; gap:12px;
  }
  .bed-label{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.18em;
    color:var(--ink-meta);
  }
  .bed h3{
    margin:0; font:400 clamp(25px, 3.6vw, 36px)/1.14 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink);
  }
  .bed-text{
    margin:0; max-width:60ch; font-size:clamp(16px, 1.8vw, 17px); line-height:1.75;
    color:var(--ink-body); text-wrap:pretty;
  }
  html[data-theme="evening"] .bed{ border-top-color:var(--hairline); }
  @media (min-width:900px){
    .beds-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  }

  /* ---------- Misija / Vizija / Tikslas / Vertybės (1.78.3) ----------
     Kairėje trys teiginiai eilutėmis su plaukeliais, dešinėje sunumeruotos
     vertybės. Jokių kortelių ir ženkliukų — tik tipografija. */
  #misija.mvt-section{ background:var(--bg-page); padding:0; }
  .mvt-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(56px, 9vw, 96px) var(--gutter-wide);
    display:grid; grid-template-columns:1fr 380px; gap:clamp(40px, 6vw, 96px); align-items:start;
  }
  .mvt-main{ display:flex; flex-direction:column; }
  .mvt-head{ display:flex; flex-direction:column; gap:18px; padding-bottom:clamp(32px, 5vw, 48px); }
  .mvt-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .mvt-head h2{
    margin:0; font:400 clamp(31px, 5.4vw, 52px)/1.08 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
  }
  .mvt-row{
    border-top:1px solid rgba(var(--rgb-deep),.2);
    padding:clamp(24px, 4vw, 36px) 0;
    display:grid; grid-template-columns:160px 1fr; gap:40px; align-items:baseline;
  }
  .mvt-row:last-child{ border-bottom:1px solid rgba(var(--rgb-deep),.2); }
  .mvt-label{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .mvt-row p{
    margin:0; font-family:var(--font-display);
    font-size:clamp(24px, 4vw, 34px); line-height:1.34; letter-spacing:-0.01em;
    color:var(--ink); text-wrap:pretty;
  }

  .mvt-values{ display:flex; flex-direction:column; gap:26px; padding-top:8px; }
  .mvt-values .mvt-values-note{ margin:0; max-width:32ch; font-size:15px; line-height:1.65; color:var(--ink-body); }
  .mvt-values-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
  .mvt-values-list li{ display:flex; align-items:baseline; gap:16px; }
  .mvt-value-num{ font-family:'Karla',sans-serif; font-size:12px; color:var(--ink-meta); }
  .mvt-value-name{
    font-family:var(--font-display); font-size:clamp(25px, 3.6vw, 31px);
    letter-spacing:-0.01em; color:var(--ink);
  }
  html[data-theme="evening"] .mvt-row{ border-top-color:var(--hairline); }
  html[data-theme="evening"] .mvt-row:last-child{ border-bottom-color:var(--hairline); }

  @media (max-width:899px){
    .mvt-inner{ grid-template-columns:1fr; }
    .mvt-row{ grid-template-columns:1fr; gap:10px; }
  }

  /* ---------- Apie projektą / „Kaip tai veikia“ (1.77.2) ----------
     Per visą plotį ant --bg-page, vidus su plačiu rėmu. Trys nuotraukos 4:3,
     po jomis trys žingsniai su plaukeliu viršuje. */
  #about.about-section{ background:var(--bg-page); overflow:hidden; padding:0; }
  .about-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(56px, 9vw, 96px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(40px, 6vw, 64px);
  }
  .about-head{ display:grid; grid-template-columns:1fr 440px; gap:80px; align-items:end; }
  .about-head-titles{ display:flex; flex-direction:column; gap:24px; }
  .about-head h2{
    margin:0; font:400 clamp(34px, 7.7vw, 54px)/1.08 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink);
  }
  .about-head-lead p{ margin:0; font-size:18px; line-height:1.75; color:var(--ink-body); text-wrap:pretty; }
  .about-head-lead p + p{ margin-top:14px; }

  .about-photos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:48px; }
  .about-photo{
    border-radius:6px; overflow:hidden; background:var(--bg-raised);
    aspect-ratio:4 / 3;
  }
  .about-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  .about-steps{ display:grid; grid-template-columns:repeat(3, 1fr); gap:48px; }
  .about-step{
    display:flex; flex-direction:column; gap:14px;
    border-top:1px solid rgba(var(--rgb-deep),.18); padding-top:24px;
  }
  .about-step-num{ font-family:'Karla',sans-serif; font-size:12px; color:var(--ink-meta); }
  .about-step h3{
    margin:0; font:400 29px/1.2 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink);
  }
  .about-step p{ margin:0; font-size:17px; line-height:1.7; color:var(--ink-body); text-wrap:pretty; }
  .about-cta{ align-self:flex-start; }

  @media (max-width:899px){
    .about-head{ grid-template-columns:1fr; gap:24px; align-items:start; }
    .about-photos{ grid-template-columns:1fr; gap:18px; }
    .about-steps{ grid-template-columns:1fr; gap:28px; }
  }
  html[data-theme="evening"] .about-step{ border-top-color:var(--hairline); }

  /* ---------- garden generator ---------- */
  
  
  
  

  .plots{
    display:flex; justify-content:center; flex-wrap:wrap; gap:14px; max-width:900px; margin:0 auto 46px;
  }
  /* .plot is a real <button> as of v1.30 (keyboard + screen-reader accessible),
     so native button chrome has to be reset explicitly — exactly the same trap
     that bit .nav-toggle in v1.25. */
  .plot{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--bg-card); border-radius:100px;
    padding:13px 24px; cursor:pointer;
    box-shadow:0 10px 22px -14px rgba(47,47,47,0.22);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease), color .35s var(--ease);
    border:1px solid transparent; position:relative;
    color:var(--ink);
    font-family:'Karla',sans-serif; font-size:1rem; line-height:1.2;
    -webkit-appearance:none; appearance:none; margin:0;
  }
  .plot:hover{transform:translateY(-3px); box-shadow:0 16px 28px -14px rgba(47,47,47,0.28);}
  .plot.active{background:var(--accent); color:#fff; box-shadow:0 14px 26px -12px rgba(var(--rgb-green),0.45);}
  .plot svg{width:19px;height:19px;margin:0;}
  .plot.active svg{stroke:#fff;}
  .plot-label{font-weight:600; font-size:0.92rem;}

  .thought-box{
    max-width:600px; margin:0 auto 28px; min-height:120px;
    background:var(--bg-card); border-radius:26px; padding:44px 46px 34px;
    box-shadow:var(--shadow);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    transform-origin:bottom center; position:relative; overflow:visible;
  }
  .thought-box .quote-mark{
    position:absolute; top:2px; left:26px;
    font-family:'Fraunces LT','Fraunces',serif; font-size:3.4rem; line-height:1; color:var(--hairline-strong); opacity:0.8;
  }
  .thought-box p{
    font-family:'Fraunces LT','Fraunces',serif; font-style:italic; font-size:1.25rem; color:var(--ink); margin:0;
    text-align:center;
  }
  .thought-category{
    display:block; margin-top:16px; font-family:'Karla',sans-serif; font-size:0.72rem;
    letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); font-weight:700;
  }
  
  
  @keyframes leafwiggle{0%,100%{transform:rotate(14deg);}50%{transform:rotate(26deg);}}
  .thought-box.grow{animation:sprout .6s var(--ease);}
  @keyframes sprout{0%{transform:scaleY(0.85) translateY(6px); opacity:.4;}100%{transform:scaleY(1) translateY(0); opacity:1;}}

  

  
  .leaf-pop{
    position:absolute; left:50%; top:-6px; font-size:1.1rem; pointer-events:none;
    transform:translate(-50%,0); opacity:1; animation:leafRise 1s var(--ease) forwards;
  }
  @keyframes leafRise{
    0%{opacity:1; transform:translate(-50%,0) scale(1) rotate(0deg);}
    100%{opacity:0; transform:translate(-50%,-46px) scale(1.15) rotate(20deg);}
  }
  #grow-btn{position:relative; overflow:visible;}
  #grow-btn.pressed{animation:btnPress .4s var(--ease);}
  @keyframes btnPress{0%{transform:scale(1);}40%{transform:scale(0.94);}100%{transform:scale(1);}}

  /* ---------- wall ---------- */
  /* ---------- pagrindinio puslapio siena (1.76.2) ----------
     Tamsi juosta per visą plotį su auksine įstriža tekstūra. `.wrap` čia
     nenaudojamas — juosta turi siekti kraštus, o vidus turi savo plotį. */
  #wall.wall-section{
    position:relative; overflow:hidden;
    background:var(--bg-panel); color:var(--ink-on-panel);
    padding:clamp(56px, 9vw, 88px) 0;
  }
  .wall-section-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(160deg, rgba(var(--rgb-gold),.10) 0 3px, rgba(var(--rgb-deep),0) 3px 15px);
  }
  .wall-section-inner{
    position:relative; display:flex; flex-direction:column; align-items:center;
    gap:clamp(30px, 4vw, 44px);
  }
  .wall-section .wall-head{
    display:flex; flex-direction:column; align-items:center; gap:18px;
    text-align:center; max-width:720px; margin:0; padding:0 clamp(20px, 5vw, 40px);
  }
  .wall-section .wall-head .eyebrow{ color:var(--gold); justify-content:center; }
  .wall-section .wall-head h2{
    font:400 clamp(34px, 8.1vw, 56px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--onpanel-paper); margin:0;
  }
  .wall-section .wall-head p{ margin:0; font-size:18px; line-height:1.7; color:rgba(var(--rgb-light),.7); text-wrap:pretty; }
  .wall-section .community-counter{ margin:0; }
  .wall-section-empty{ color:rgba(var(--rgb-light),.6); }
  .wall-section-link{
    /* Nuoroda prigludusi prie formos, o ne atskiroje tuštumoje (1.76.4). */
    margin-top:calc(-1 * clamp(14px, 2vw, 24px));
    font-size:15px; color:rgba(var(--rgb-light),.6); text-decoration:none;
    border-bottom:1px solid rgba(var(--rgb-light),.3); padding-bottom:3px;
    transition:color var(--motion-hover), border-color var(--motion-hover);
  }
  .wall-section-link:hover{ color:var(--onpanel-paper); border-bottom-color:var(--onpanel-paper); }

  /* Slenkanti žinučių juosta. Kortelės išvedamos dukart, o animacija stumia
     lygiai per pusę — todėl kilpa nematoma. Užvedus pelę sustoja, kad tekstą
     būtų galima perskaityti. */
  .wall-ribbon{ width:100%; overflow:hidden; padding:10px 0; position:relative; }
  .wall-ribbon-fade{
    position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(90deg, var(--bg-panel) 0%, rgba(var(--rgb-deep),0) 8%, rgba(var(--rgb-deep),0) 92%, var(--bg-panel) 100%);
  }
  .wall-ribbon-track{
    --ribbon-k:4;
    display:flex; gap:22px; width:max-content;
    animation:da-ribbon 60s linear infinite;
  }
  /* 1.77.8: juosta nebesustoja užvedus ar palietus. Telefone `:hover` suveikdavo
     nuo paprasto prisilietimo ir juosta tiesiog užstrigdavo. */
  /* Pastūmimas per vieną rinkinį iš K: dalis viso pločio PLIUS vienas tarpas,
     padalytas iš K — be to pataisymo kilpa kaskart pasislenka per pusę tarpo ir
     atsiranda matomas trūkčiojimas. */
  @keyframes da-ribbon{
    from{ transform:translateX(0); }
    to{ transform:translateX(calc((-100% - 22px) / var(--ribbon-k))); }
  }
  @media (prefers-reduced-motion:reduce){
    .wall-ribbon-track{ animation:none; }
    .wall-ribbon{ overflow-x:auto; }
  }
  .ribbon-note{
    flex:0 0 clamp(280px, 29vw, 400px);
    background:var(--onpanel-paper); border-radius:4px; padding:22px 26px;
    display:flex; flex-direction:column; gap:12px;
    box-shadow:var(--shadow-card); /* 3.2.0: vienas kortelių šešėlis */
  }
  .ribbon-note-dash{ width:34px; height:3px; background:var(--gold); }
  .ribbon-note p{
    margin:0; font-family:var(--font-display); font-size:21px; line-height:1.3;
    color:var(--onpanel-ink); text-wrap:pretty;
  }
  .ribbon-note-who{
    font:var(--type-meta); letter-spacing:var(--ls-meta);
    text-transform:uppercase; color:var(--ink-meta); /* 3.2.0: buvo įrašyta ruda #6B5E36 */
  }

  /* Vienos eilutės forma tamsioje juostoje. */
  .wall-form-wrap{max-width:680px; margin:0 auto 60px; position:relative;}
  .wall-form-wrap--inline{ width:720px; max-width:calc(100% - clamp(40px, 10vw, 80px)); margin:0; }
  /* 1.76.3: visos taisyklės su `#wall` priešdėliu (id svoris), kad bazinių
     `.field` / `.field-row` / `.wall-consent` taisyklių eiliškumas nebeturėtų
     reikšmės, ir su nekintamomis spalvomis, kad veiktų abiejuose režimuose. */
  #wall .wall-form--inline{
    background:none; border:0; padding:0; box-shadow:none;
    display:flex; flex-direction:column; gap:14px;
  }
  /* Laukas ir mygtukas — VIENA piliulė: mygtukas įleistas į dešinę lauko pusę. */
  #wall .wall-form--inline .field{
    margin:0; display:flex; flex-direction:row; align-items:center; gap:12px;
    background:rgba(var(--rgb-light),.07); border:1px solid var(--onpanel-line);
    border-radius:var(--radius-pill); padding:8px 8px 8px 28px;
  }
  #wall .wall-form--inline .field textarea{
    flex:1 1 auto; width:auto; min-width:0; height:34px;
    background:none; border:0; padding:0; resize:none; overflow:hidden;
    font-family:var(--font-display); font-size:20px; line-height:1.7;
    color:var(--onpanel-paper);
  }
  #wall .wall-form--inline .field textarea::placeholder{ color:rgba(var(--rgb-light),.45); }
  #wall .wall-form--inline .field textarea:focus{ outline:none; border:0; box-shadow:none; }
  /* 1.76.12: pati įrašo juosta neturėjo jokio aktyvumo ženklo — laukas viduje
     yra be kraštinės, o `outline` išjungtas. Ženklą rodo apvalkalas: įėjus į
     lauką piliulės kraštas tampa auksinis, kaip vardo lauko. */
  #wall .wall-form--inline .field:focus-within{
    border-color:var(--gold); background:rgba(var(--rgb-light),.10);
    box-shadow:0 0 0 3px rgba(var(--rgb-gold),.22);
  }
  #wall .wall-form--inline .field .btn{
    flex:0 0 auto; margin:0;
    background:var(--onpanel-paper); color:var(--onpanel-ink);
  }
  #wall .wall-form--inline .field .btn:hover{ background:var(--gold); color:var(--onpanel-ink); opacity:1; }

  #wall .wall-form--inline .field-row{ display:flex; flex-direction:row; flex-wrap:wrap; gap:12px 20px; align-items:flex-start; }

  /* 1.76.5: taisyklė TAIKOMA TIK vardo laukui.

     Anksčiau ji buvo užrašyta `.field-row input`, o sutikimo varnelė nuo 1.76.4
     gyvena toje pačioje eilutėje — todėl varnelė gaudavo 280px plotį, 46px
     aukštį ir piliulės kraštą. Iš to ir „per didelė varnelė“, ir į dešinę
     nustumtas, suspaustas sutikimo tekstas. */
  /* Vardo laukas gali plėstis: 280px buvo fiksuotas minimumas, o ilgesnis
     kvietimas („Vardas arba @instagram“) jame nebetilpdavo. */
  /* 1.76.8: laukas nebeplečiamas per visą eilutę — makete jis kompaktiškas,
     apie 300px. Aukštis pakeltas iki 56px, kad nebūtų plonesnis už piliulę su
     mintimi virš jo (ta yra ~64px: 48px mygtukas + 2×8px paraštės). */
  #wall .wall-form--inline .name-col{ display:flex; flex-direction:column; gap:6px; flex:0 0 300px; max-width:100%; }
  /* 1.76.9: `flex:0 0 auto` yra esminis.

     `.name-col` yra stulpelinis flex konteineris, todėl laukas jame yra flex
     narys, o pagrindinė ašis — vertikali. Su numatytuoju `flex-shrink:1` jis
     galėjo susitraukti žemiau nurodyto aukščio ir likdavo tik teksto eilutės
     storio (~20px). `min-height` ir `box-sizing` pridėti dėl tos pačios
     priežasties — kad aukštis būtų nurodytas trimis būdais ir nė vienas
     paveldėtas stilius jo nebeišspaustų. */
  #wall .wall-form--inline .name-col input{
    flex:0 0 auto; box-sizing:border-box;
    width:100%; height:46px; min-height:46px; line-height:1.2;
    padding:0 24px; border-radius:var(--radius-pill);
    background:none; border:1px solid rgba(var(--rgb-light),.2);
    color:var(--onpanel-paper); font-size:16px;
  }
  #wall .wall-form--inline .name-col input::placeholder{ color:rgba(var(--rgb-light),.45); }
  #wall .wall-form--inline .name-col input:focus{
    border-color:var(--gold); outline:none;
    box-shadow:0 0 0 3px rgba(var(--rgb-gold),.22);
  }
  #wall .wall-form--inline .wall-form-note{ font-size:13px; color:rgba(var(--rgb-light),.4); padding-left:22px; }

  #wall .wall-form--inline .wall-consent{
    /* Bakstelėjus etiketę telefonas nudažydavo visą tekstą mėlyna — tai
       naršyklės palietimo paryškinimas ir teksto žymėjimas. Nuoroda į
       privatumo politiką lieka žymima ir kopijuojama. */
    -webkit-tap-highlight-color:transparent;
    user-select:none; -webkit-user-select:none;
    flex:1 1 260px; min-width:0; margin:0; padding:6px 0;
    font-size:14px; line-height:1.5; color:rgba(var(--rgb-light),.62);
  }
  #wall .wall-form--inline .wall-consent a{ color:var(--gold); user-select:text; -webkit-user-select:text; }
  #wall .wall-form--inline .wall-consent input[type="checkbox"]{
    flex:0 0 auto; width:18px; height:18px; min-width:0;
    margin:2px 0 0; padding:0; border-radius:5px;
    align-self:flex-start;
    border-color:var(--onpanel-line-strong); background:rgba(var(--rgb-light),.05);
  }
  #wall .wall-form--inline .wall-consent input[type="checkbox"]:checked{
    background:var(--c-green); border-color:var(--c-green);
  }
  #wall .wall-form--inline .wall-consent input[type="checkbox"]::before{ background:var(--onpanel-paper); }

  @media (max-width:719px){
    #wall .wall-form--inline .field{ flex-direction:column; align-items:stretch; border-radius:var(--radius-panel); padding:16px; }
    #wall .wall-form--inline .field .btn{ width:100%; }
    #wall .wall-form--inline .field-row{ flex-direction:column; }
    #wall .wall-form--inline .name-col{ flex:0 0 auto; width:100%; }
    /* Stulpelyje `flex-basis` matuojamas AUKŠČIU, todėl `flex:1 1 260px`
       telefone paversdavo sutikimo bloką 260px aukščio plotu — iš to ir
       tuščia vieta po tekstu (1.76.12). */
    #wall .wall-form--inline .wall-consent{ flex:0 0 auto; width:100%; }
  }
  .wall-section .wall-thanks{ width:100%; }
  .toast{
    display:flex; align-items:flex-start; gap:12px;
    max-width:520px; margin:18px auto 0;
    background:var(--bg-card); border-radius:16px; padding:16px 20px;
    box-shadow:0 14px 30px -16px rgba(47,47,47,0.22);
    border-left:4px solid var(--accent);
    font-size:0.92rem; color:var(--ink); line-height:1.5;
    opacity:0; transform:translateY(-10px);
    pointer-events:none;
    transition:opacity .45s var(--ease), transform .45s var(--ease);
  }
  .toast.show{opacity:1; transform:translateY(0);}
  .toast svg{
    width:20px; height:20px; flex-shrink:0; margin-top:1px;
    color:var(--accent); background:rgba(var(--rgb-green),0.12); border-radius:50%;
    padding:3px; box-sizing:content-box;
  }
  @media (prefers-reduced-motion: reduce){
    .toast{transition:opacity .3s linear; transform:none;}
  }
  /* Forma (1.76.0): balta kortelė be šešėlio ir be žalios juostelės kairėje. */
  .wall-form{
    background:var(--bg-card); border:1px solid var(--hairline);
    border-radius:var(--radius-panel); padding:34px 36px 32px;
    box-shadow:none; position:relative; overflow:hidden;
  }
  .wall-form h3{font:var(--type-h3); color:var(--ink); margin-bottom:6px;}
  
  .field{margin-bottom:16px;}
  .field label{display:block; font-size:0.82rem; font-weight:600; color:var(--ink-meta); margin-bottom:6px; letter-spacing:0.03em;}
  .field input, .field textarea{
    width:100%; border:1px solid var(--hairline-strong); background:var(--bg-page); border-radius:var(--radius-field);
    padding:13px 16px; font-family:'Karla',sans-serif; font-size:16px; color:var(--ink);
    resize:vertical; transition:border-color var(--motion-hover);
  }
  /* 1.76.13: vien kraštinės spalvos pakeitimo dideliame ekrane nepastebima —
     pridedamas švelnus žiedas. Galioja visiems pločiams, ne tik telefonui. */
  .field input:focus, .field textarea:focus{
    outline:none; border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(var(--rgb-green),.18);
  }
  .field input[readonly], .field textarea[readonly]{ opacity:.6; }
  .field-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
  .field-row input{
    flex:1; min-width:180px;
    border:1px solid var(--hairline-strong); background:var(--bg-page); border-radius:var(--radius-pill);
    padding:13px 20px; font-family:'Karla',sans-serif; font-size:16px; color:var(--ink);
    transition:border-color var(--motion-hover);
  }
  .field-row input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(var(--rgb-green),.18);}
  .field-row .btn{flex-shrink:0;}

  .notes{
    columns:3; column-gap:22px; max-width:1100px; margin:0 auto;
  }
  .notes .note{break-inside:avoid; margin:0 0 22px;}
  @media (max-width:719px){.notes{columns:2;}}
  @media (max-width:480px){.notes{columns:1;}}
  /* Kortelė (1.80.5) pagal maketą: brūkšnelis viršuje, mintis Fraunces
     šriftu, o apačioje po plaukeliu — kas parašė.
     3.3.0: bendras kortelių spindulys ir šešėlis (buvo 6px ir savas šešėlis). */
  .note{
    background:var(--bg-card); padding:clamp(20px, 3vw, 28px);
    border:0; border-radius:var(--radius-card);
    box-shadow:var(--shadow-card);
    position:relative;
    display:flex; flex-direction:column; gap:14px;
  }
  .note::before{
    content:""; display:block; width:30px; height:3px; border-radius:2px; background:var(--line-deco);
  }
  .note p{
    margin:0; font-family:var(--font-display);
    font-size:clamp(19px, 2.3vw, 22px); line-height:1.36;
    color:var(--ink); text-wrap:pretty;
  }
  /* Apatinė eilutė: kas parašė kairėje, veiksmai dešinėje (1.80.6). */
  .note-foot{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    border-top:1px solid rgba(var(--rgb-deep),.1); padding-top:12px;
  }
  .note-name{
    display:flex; align-items:center; gap:8px; margin:0; min-width:0;
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .note-actions{ display:flex; gap:6px; flex:none; }
  .note-actions .fav-heart{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:var(--tap); min-height:var(--tap); padding:0;
    border:1px solid rgba(var(--rgb-deep),.2); border-radius:var(--radius-pill);
    color:var(--ink-body);
    transition:border-color var(--motion-hover), color var(--motion-hover);
  }
  .note-actions .fav-heart svg{ width:17px; height:17px; stroke-width:1.5; }
  .note-actions .fav-heart:hover{ transform:none; border-color:var(--ink); color:var(--ink); }
  .note-actions .fav-heart.is-fav{ color:#c96f6f; border-color:#e0a3a3; }
  .note-actions .fav-heart.is-fav svg{ fill:#e0a3a3; stroke:#c96f6f; }
  html[data-theme="evening"] .note-actions .fav-heart{ border-color:var(--hairline-strong); }
  /* 1.87.0: „ANONIMAS · ŠIANDIEN“ — vardas ir data vienu stiliumi su tašku tarp
     jų, kaip makete `17`. Senoji `.note-date{display:block…}` taisyklė žemiau
     faile pašalinta (ji nugalėdavo šią). */
  .note-name .note-date{ display:inline; text-transform:uppercase; letter-spacing:inherit; color:inherit; font-size:inherit; }
  .note-name .note-date::before{ content:"·"; margin-right:8px; }
  html[data-theme="evening"] .note{ box-shadow:var(--shadow-card); }
  html[data-theme="evening"] .note-foot{ border-top-color:var(--hairline); }
  
  
  .note.new{animation:pinup .6s var(--ease);}
  @keyframes pinup{
    0%{opacity:0; transform:translateY(-24px) scale(0.92);}
    60%{opacity:1; transform:translateY(4px) scale(1.02);}
    100%{opacity:1; transform:translateY(0) scale(1);}
  }

  /* ---------- Įrankiai — pagrindinio puslapio skiltis (1.77.0) ----------
     Per visą plotį ant pakelto paviršiaus; vidus turi savo platų rėmą, kaip
     antgalvis ir poraštė. Kortelės yra <a> elementai, todėl visas plotas —
     viena nuoroda, be atskirų „skaityti daugiau“ mygtukų. */
  #irankiai.tools-section{ background:var(--bg-alt); }
  .tools-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(56px, 9vw, 92px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(34px, 5vw, 48px);
  }
  .tools-head{ display:flex; align-items:baseline; justify-content:space-between; gap:40px; flex-wrap:wrap; }
  .tools-head-titles{ display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 26px; }
  /* Svoris 400, ne 300: „Bunny“ Fraunces neturi 300, o savas „Fraunces LT“
     failas turi tik `opsz` ašį — paprašius 300 lietuviškos raidės nukrisdavo į
     sisteminį serif. Ta pati priežastis kaip herojaus antraštėje (1.77.1). */
  .tools-head h2{
    margin:0; font:400 clamp(34px, 7.2vw, 52px)/1 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink);
  }
  .tools-head-lead{ font-size:18px; color:var(--ink-body); }
  .tools-all-link{
    white-space:nowrap; font-size:15px; color:var(--accent); text-decoration:none;
    border-bottom:1px solid rgba(var(--rgb-green),.4); padding-bottom:3px;
    transition:color var(--motion-hover), border-color var(--motion-hover);
  }
  .tools-all-link:hover{ color:var(--ink); border-bottom-color:var(--ink); }

  .tools-grid-top{ display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:stretch; }
  .tools-grid-bottom{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }

  /* Didelė tamsi kortelė. Spalvos nekintamos — plokštė tamsi abiejuose režimuose. */
  .tool-feature{
    text-decoration:none; background:var(--bg-panel); border-radius:18px;
    overflow:hidden; display:flex; flex-direction:column;
    transition:transform var(--motion-hover);
  }
  .tool-feature:hover{ transform:translateY(-2px); }
  .tool-feature-photo{
    display:block; height:clamp(190px, 44vw, 330px); background:var(--c-deep); overflow:hidden;
  }
  .tool-feature-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .tool-feature-body{
    padding:clamp(26px, 5vw, 36px) clamp(24px, 4.5vw, 40px) clamp(30px, 5vw, 42px);
    display:flex; flex-direction:column; gap:16px;
  }
  .tool-feature .tool-meta{ color:var(--gold); }
  .tool-feature-title{
    font:400 clamp(29px, 6.3vw, 40px)/1.15 var(--font-display);
    letter-spacing:-0.01em; color:var(--onpanel-paper);
  }
  .tool-feature-text{
    max-width:480px; font-size:17px; line-height:1.7;
    color:rgba(var(--rgb-light),.72); text-wrap:pretty;
  }
  .tool-feature-cta{
    margin-top:8px; align-self:flex-start;
    padding:14px 26px; border-radius:var(--radius-pill);
    background:var(--onpanel-paper); color:var(--onpanel-ink);
    font-family:'Karla',sans-serif; font-size:15px; font-weight:600;
    transition:background var(--motion-hover);
  }
  .tool-feature:hover .tool-feature-cta{ background:var(--gold); }

  .tool-meta{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink-meta);
  }

  /* Testų stulpelis */
  .tools-tests{ display:flex; flex-direction:column; justify-content:center; gap:22px; }
  .tools-tests-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .tool-card{
    text-decoration:none; background:var(--bg-card);
    border:1px solid var(--hairline); border-radius:16px;
    padding:30px 32px; display:flex; align-items:center; gap:26px;
    transition:border-color var(--motion-hover), transform var(--motion-hover);
  }
  .tool-card:hover{ border-color:var(--hairline-strong); transform:translateY(-2px); }
  .tool-card-thumb{
    flex:0 0 108px; height:80px; border-radius:8px; overflow:hidden;
    background:var(--bg-raised); display:block;
  }
  .tool-card-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .tool-card-body{ flex:1; display:flex; flex-direction:column; gap:9px; min-width:0; }
  .tool-card-title{
    font:400 27px/1.2 var(--font-display); letter-spacing:-0.01em; color:var(--ink);
  }
  .tool-card-text{ font-size:15px; line-height:1.6; color:var(--ink-body); text-wrap:pretty; }
  .tool-card-arrow{ font-size:20px; color:var(--accent); flex:none; }

  /* Dvi žemesnės kortelės */
  .tool-strip{
    text-decoration:none; background:var(--bg-raised); border-radius:18px;
    padding:30px 34px; display:flex; align-items:center; justify-content:space-between; gap:24px;
    transition:opacity var(--motion-hover);
  }
  .tool-strip:hover{ opacity:.85; }
  .tool-strip-body{ display:flex; flex-direction:column; gap:8px; }
  .tool-strip-title{ font:400 27px/1.2 var(--font-display); letter-spacing:-0.01em; color:var(--ink); }
  .tool-strip-text{ font-size:15px; line-height:1.6; color:var(--ink-body); }

  @media (max-width:899px){
    .tools-grid-top{ grid-template-columns:1fr; gap:26px; }
    .tools-grid-bottom{ grid-template-columns:1fr; }
    .tool-card{ padding:22px; gap:18px; }
    .tool-card-thumb{ flex:0 0 84px; height:64px; }
  }
  @media (prefers-reduced-motion:reduce){
    .tool-feature:hover, .tool-card:hover{ transform:none; }
  }

  /* ---------- blog ---------- */
  /* ---------- Skaitykla — pradžios skiltis (1.77.3) ----------
     Sąrašas, ne kortelės. Kiekviena eilutė — viena nuoroda; skirtukas yra
     viršutinis plaukelis, o po paskutine eilute pridedamas dar vienas
     (.reading-list-end), kad sąrašas turėtų ir apatinę liniją. */
  #blog.reading-section{ background:var(--bg-alt); padding:0; overflow:hidden; }
  .reading-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(56px, 9vw, 96px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(32px, 5vw, 44px);
  }
  .reading-head{ display:flex; flex-direction:column; gap:20px; max-width:700px; }
  .reading-head h2{
    margin:0; font:400 clamp(34px, 7.7vw, 54px)/1.06 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink);
  }
  .reading-lead p{ margin:0; font-size:18px; line-height:1.75; color:var(--ink-body); text-wrap:pretty; }

  .reading-list{ display:flex; flex-direction:column; }
  .reading-row{
    text-decoration:none;
    border-top:1px solid rgba(var(--rgb-deep),.16);
    padding:30px 8px;
    display:grid;
    grid-template-columns:clamp(96px, 9vw, 132px) clamp(96px, 9vw, 128px) minmax(220px, 1fr) minmax(0, 270px) 96px;
    gap:clamp(16px, 2.4vw, 36px); align-items:center;
    transition:background var(--motion-hover);
  }
  .reading-row:hover{ background:rgba(var(--rgb-deep),.035); }
  .reading-thumb{
    display:block; width:100%; max-width:132px; height:92px;
    border-radius:8px; overflow:hidden; background:var(--bg-raised);
  }
  .reading-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
  .reading-date{ font-family:'Karla',sans-serif; font-size:15px; font-weight:500; letter-spacing:.02em; color:var(--ink-meta); }
  .reading-title{
    margin:0; font:400 clamp(23px, 5.4vw, 32px)/1.18 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink); text-wrap:pretty;
  }
  .reading-text{ font-size:16px; line-height:1.6; color:var(--ink-body); text-wrap:pretty; }
  .reading-time{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--ink-meta); text-align:right;
  }
  .reading-list-end{ border-top:1px solid rgba(var(--rgb-deep),.16); }
  .reading-cta{ align-self:flex-start; }
  html[data-theme="evening"] .reading-row,
  html[data-theme="evening"] .reading-list-end{ border-top-color:var(--hairline); }
  html[data-theme="evening"] .reading-row:hover{ background:rgba(var(--rgb-light),.05); }

  @media (max-width:899px){
    /* Telefone eilutė virsta dviem stulpeliais: nuotrauka kairėje, tekstas
       dešinėje; data ir laikas — vienoje eilutėje po tekstu. */
    .reading-row{
      grid-template-columns:96px 1fr;
      grid-template-areas:
        "thumb title"
        "thumb text"
        "date  time";
      gap:6px 16px; padding:22px 4px;
    }
    .reading-thumb{ grid-area:thumb; height:72px; align-self:start; }
    .reading-title{ grid-area:title; }
    .reading-text{ grid-area:text; }
    .reading-date{ grid-area:date; }
    .reading-time{ grid-area:time; text-align:left; }
  }
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
  @media (max-width:899px){.cards{grid-template-columns:1fr;}}
  /* ---------- straipsnio kortelė (1.81.5) ----------
     Plokščia kortelė su plaukeliu, 16:9 nuotrauka, o apačioje po skiriamąja
     linija — skaitymo trukmė ir rodyklė. Pakilimo ir šešėlio nebėra; užvedus
     kraštas tampa auksinis, kaip makete. */
  .card{
    position:relative;
    display:flex; flex-direction:column; height:100%;
    background:var(--bg-card); border:1px solid rgba(var(--rgb-deep),.1);
    border-radius:16px; overflow:hidden; box-shadow:none;
    transition:border-color var(--motion-hover);
  }
  .card:hover{ border-color:rgba(var(--rgb-gold),.75); }
  .card-photo{
    height:auto; aspect-ratio:16 / 9; background:var(--bg-raised);
    background-image:repeating-linear-gradient(135deg, rgba(var(--rgb-deep),.09) 0 2px, transparent 2px 10px);
  }
  .card-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .card-body{
    padding:clamp(18px, 2.2vw, 24px); flex:1;
    display:flex; flex-direction:column; gap:12px;
  }
  .card-cat{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .card h3{
    margin:0; font:400 clamp(21px, 2.3vw, 25px)/1.18 var(--font-display);
    letter-spacing:-0.01em; color:var(--ink); text-wrap:pretty;
  }
  .card h3 a{ color:inherit; text-decoration:none; }
  .card p{ margin:0; font-size:16px; line-height:1.7; color:var(--ink-body); text-wrap:pretty; }
  .card-foot{
    margin-top:auto; padding-top:14px; border-top:1px solid rgba(var(--rgb-deep),.1);
    display:flex; align-items:center; justify-content:space-between; gap:10px;
  }
  .card-meta{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink-body);
  }
  .card-foot-right{ display:flex; align-items:center; gap:10px; }
  .card-arrow{ font-size:18px; color:var(--ink-meta); }
  html[data-theme="evening"] .card{ border-color:var(--hairline); }
  html[data-theme="evening"] .card-foot{ border-top-color:var(--hairline); }

  /* Visa kortelė spustelima per antraštės nuorodą; dalinimosi mygtukas
     pakeliamas virš to sluoksnio, kad liktų paspaudžiamas. */
  .card .card-link::after{ content:""; position:absolute; inset:0; z-index:1; }
  .card .card-share{ position:relative; z-index:2; }

  /* ---------- footer (v1.74.1 — dizaino paketas) ----------
     Viena tamsi plokštė, trys stulpeliai, apatinė eilutė. Bangos skirtukas ir
     „grain“/lapų tekstūros pašalinti; liko labai silpna įstriža linijų
     tekstūra, kaip makete. */
  footer{
    position:relative; overflow:hidden;
    background:var(--bg-panel); color:var(--ink-on-panel);
    padding:clamp(48px, 8vw, 72px) 0 40px;
  }
  .footer-texture{
    position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(115deg, rgba(var(--rgb-light),.075) 0 2px, transparent 2px 11px);
  }
  /* Poraštė naudoja tą pačią plačią paraštę kaip antgalvis, kad ženklas
     viršuje ir apačioje stovėtų vienoje linijoje. */
  footer > .wrap{ position:relative; max-width:var(--wrap-wide); padding-left:var(--gutter-wide); padding-right:var(--gutter-wide); }
  .footer-grid{
    display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:60px;
    padding-bottom:52px;
  }
  .footer-brand{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-4); }
  .footer-logo-img{ height:52px; width:auto; max-width:100%; }
  .footer-logo{font-family:'Fraunces LT','Fraunces',serif; font-size:1.7rem; letter-spacing:-0.01em; color:var(--ink-on-panel);}
  .footer-tag{opacity:0.62; font-size:0.95rem; line-height:1.7; max-width:340px;}
  .footer-tag p{ margin:0; }
  .footer-col{ display:flex; flex-direction:column; gap:var(--space-3); }
  .footer-col-label{
    font-family:'Karla',sans-serif; font-size:0.7rem; font-weight:600;
    letter-spacing:0.18em; text-transform:uppercase;
    color:rgba(var(--rgb-light),0.45);
  }
  .footer-nav-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-3); font-size:0.95rem;}
  .footer-nav-list li{display:block;}
  .footer-nav a{opacity:0.78; text-decoration:none;}
  .footer-nav a:hover{opacity:1;}
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center;
    border-top:1px solid rgba(var(--rgb-light),0.16); padding-top:26px;
    flex-wrap:wrap; gap:16px; font-size:0.82rem; opacity:0.62;
  }
  /* Apatinė eilutė: du užrašiniai mygtukai + teisinės nuorodos (v1.74.3). */
  .footer-bottom-links{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
  .footer-social-btn{
    display:inline-flex; align-items:center; justify-content:center;
    min-height:44px; padding:9px 14px;
    font-family:'Karla',sans-serif; font-size:0.7rem; font-weight:600;
    letter-spacing:0.1em; text-transform:uppercase; white-space:nowrap;
    color:rgba(var(--rgb-light),0.7); text-decoration:none;
    border:1px solid rgba(var(--rgb-light),0.28); border-radius:999px;
    transition:border-color var(--motion-hover), color var(--motion-hover);
  }
  .footer-social-btn:hover{ border-color:var(--gold); color:var(--ink-on-panel); }
  .footer-bottom .footer-legal{ font-size:0.87rem; color:rgba(var(--rgb-light),0.55); }
  .footer-bottom .footer-legal a:hover{ text-decoration:underline; }
  .footer-email{display:inline-block; font-size:0.95rem; color:var(--gold); opacity:1; text-decoration:none;}
  .footer-email:hover{text-decoration:underline;}
  @media (max-width:899px){
    .footer-grid{ grid-template-columns:1fr; gap:36px; padding-bottom:36px; }
    .footer-bottom{ justify-content:flex-start; }
  }


/* ===================================================
   SUSIPAŽINKIME specific
   =================================================== */
/* ---------- susipažinkime page specific ---------- */
  /* ---------- puslapio antraštė (vienas apibrėžimas visiems puslapiams) ----
     1.75.0: anksčiau tas pats blokas kartojosi keturis kartus su šiek tiek
     skirtingais skaičiais (160/40, 160/50, 780px, 760px), todėl pakeitus vieną
     kiti tylomis likdavo seni. Dabar jis vienas.

     Viršutinis tarpas skaičiuojamas nuo antgalvio aukščio: antgalvis
     perdengiantis (position:fixed), tad turinys turi jį praeiti. 64px + 64px
     oro. Anksčiau čia buvo 160px, nes antgalvis buvo ~90px aukščio. */
  #page-hero{
    padding:calc(64px + var(--space-16)) 0 var(--space-12);
    text-align:center; overflow:hidden;
  }
  .page-hero-head{max-width:780px; margin:0 auto;}
  /* Vienas apibrėžimas visiems puslapiams (v1.71.4). Anksčiau ta pati eilutė
     kartojosi keturis kartus.
     - Minimumas sumažintas 2.2rem -> 1.85rem: ilgesni pavadinimai (pvz.
       „Dėkingumo dienoraštis", 21 simbolis) telpa siauruose ekranuose.
     - text-wrap:balance — jei vis dėlto lūžta, eilutės padalijamos tolygiai,
       o ne „ilgas žodis + vienas trumpas". Nepalaikančiose naršyklėse tiesiog
       ignoruojama. */
  /* Viršus — --type-h1 (40px); apačia lieka žemesnė nei makete, nes ilgi
     lietuviški pavadinimai („Dėkingumo dienoraštis“) siaurame ekrane kitaip
     lūžta. text-wrap:balance palikta iš 1.71.4. */
  .page-hero-head h1{
    font-size:clamp(1.75rem, 4vw, 40px);
    line-height:1.15;
    letter-spacing:var(--ls-h1);
    margin:var(--space-4) 0;
    text-wrap:balance;
  }
  /* .page-hero-head yra ir .wrap, todėl turi 6vw vidinius tarpus IR
     max-width:760px — realus teksto stulpelis lieka ~590px, ir ilgesnės
     antraštės lūždavo. Nuo 900px pločio antraštei (ir tik jai) tie tarpai
     panaikinami vienodai iš abiejų pusių, todėl ji lieka centre, o paantraštė
     išlaiko patogų skaitymo plotį. Siauruose ekranuose paliekama kaip yra —
     ten tarpai reikalingi. (v1.71.6) */
  @media (min-width:900px){
    .page-hero-head h1{ margin-inline:-6vw; }
  }
  

  /* --- Section 1: project --- */
  #project{padding:60px 0 90px; overflow:hidden;}
  /* Numatytojo šablono puslapiuose (pvz. Dėkingumo dienoraštis, Privatumo
     politika) po antrašte iškart prasideda turinys — be paantraštės tarpas
     tarp dviejų sekcijų (50px + 60px) atrodė kaip skylė. Puslapiuose su savo
     šablonu paliekama kaip buvo. (v1.71.5) */
  body.page-template-default #page-hero{ padding-bottom:24px; }
  body.page-template-default #project{ padding-top:14px; }
  
  
  
  

  
  
  
  
  
  

  
  
  
  
  
  
  

  /* --- Section 2: creator --- */
  #creator{padding:90px 0 110px; background: radial-gradient(ellipse 1100px 560px at 50% -6%, rgba(var(--rgb-gold),0.22) 0%, rgba(var(--rgb-gold),0.13) 30%, rgba(var(--rgb-gold),0.06) 52%, rgba(var(--rgb-gold),0) 78%); overflow:hidden;}
  
  
  /* Photo keeps a fixed, natural portrait shape and is vertically centred
     against the text column, so it sits opposite the middle of the bio
     rather than pinned to the top. Never distorts, regardless of text length. */
  
  
  
  
  
  
  
  
  
  .creator-list{margin:22px 0 0; padding:0; list-style:none;}
  .creator-list li{
    position:relative; padding-left:26px; margin-bottom:12px; color:var(--ink-body);
  }
  .creator-list li::before{
    content:""; position:absolute; left:0; top:9px; width:8px; height:8px;
    border-radius:50%; background:var(--gold);
  }


/* ===================================================
   MINČIŲ SODAS specific
   =================================================== */
/* ---------- minčių sodas page specific ---------- */
  /* #page-hero — vienas apibrėžimas, žr. „puslapio antraštė“ skiltį. */

  /* --- category path (alternating rows, connected like garden stops) --- */
  #categories{padding:30px 0 90px; overflow:hidden;}
  .category-path{
    position:relative; max-width:880px; margin:0 auto;
  }
  .category-path::before{
    content:"";
    position:absolute; left:50%; top:10px; bottom:10px; width:2px;
    background:repeating-linear-gradient(180deg, var(--hairline-strong) 0, var(--hairline-strong) 8px, transparent 8px, transparent 16px);
    transform:translateX(-50%);
    opacity:0.6;
  }

  .category-row{
    position:relative; display:grid; grid-template-columns:1fr 1fr;
    gap:50px; align-items:center; margin-bottom:80px;
  }
  .category-row:last-child{margin-bottom:0;}
  .category-row:nth-child(even) .cat-badge-side{order:2;}
  .category-row:nth-child(even) .cat-text-side{order:1; text-align:right;}
  @media (max-width:719px){
    .category-path::before{left:80px; right:auto; transform:none;}
    .category-row{
      grid-template-columns:60px 1fr; gap:28px; margin-bottom:56px; align-items:start;
    }
    .category-row .cat-badge-side,
    .category-row:nth-child(even) .cat-badge-side{order:1;}
    .category-row .cat-text-side,
    .category-row:nth-child(even) .cat-text-side{order:2; text-align:left;}
    .cat-badge-side{position:relative; left:auto; top:auto;}
    .cat-number{font-size:1.6rem;}
    .cat-text-side{padding:0; max-width:none;}
    .cat-text-side .cat-example{padding-left:14px; padding-right:0;}
    .cat-text-side .cat-example::before{left:-2px; right:auto;}
  }

  .cat-badge-side{display:flex; flex-direction:column; align-items:center; position:relative; z-index:1;}
  .category-row:nth-child(even) .cat-badge-side{align-items:center;}
  .cat-number{
    font-family:'Fraunces LT','Fraunces',serif; font-style:italic; font-size:2.6rem; color:var(--hairline-strong);
    opacity:0.55; line-height:1; margin-bottom:6px;
  }
  .cat-badge{
    width:64px; height:64px; border-radius:50%; background:var(--bg-card);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 28px -14px rgba(47,47,47,0.28); border:3px solid var(--bg-page);
  }
  @media (max-width:719px){.cat-badge{width:52px; height:52px;}}
  .cat-badge svg{width:26px; height:26px; color:var(--accent);}

  .cat-text-side h3{margin:0 0 10px; font-size:1.15rem; color:var(--ink);}
  .cat-text-side p{color:var(--ink-body); margin:0 0 12px;}
  .cat-text-side .cat-example{
    display:inline-block; margin-top:6px; font-family:'Fraunces LT','Fraunces',serif; font-style:italic;
    color:var(--ink-meta); font-size:0.92rem; position:relative; padding-left:14px;
  }
  .cat-text-side .cat-example::before{content:"„"; position:absolute; left:-2px; top:-4px; font-size:1.3rem; color:var(--gold);}
  .category-row:nth-child(even) .cat-example{padding-left:0; padding-right:14px;}
  .category-row:nth-child(even) .cat-example::before{left:auto; right:-2px;}

  /* --- generator section --- */
  #generator{padding:20px 0 100px; text-align:center; overflow:hidden;}

  /* --- quotes section --- */
  /* 1.79.5: senosios taisyklės pašalintos. Jos buvo ŽEMIAU naujųjų ir tokio
     paties svorio, todėl nugalėdavo: skiltis gaudavo žalią spindulinį foną, o
     antraštė — 640px plotį ir centravimą. Iš to ir „ne toks fonas“ bei
     „suspausta antraštė“. Naujos taisyklės — 759 eilutėje. */
  #quotes{ overflow:hidden; }
  .wp-note{
    max-width:720px; margin:20px auto 40px; padding:16px 22px; border-radius:14px;
    background:var(--bg-card); border-left:4px solid var(--accent);
    font-size:0.85rem; color:var(--ink-muted); text-align:left; box-shadow:0 10px 22px -16px rgba(47,47,47,0.15);
  }
  .wp-note strong{color:var(--ink);}

  
  
  
  

  /* Citatų tinklelis (1.79.4): grid, ne stulpeliai — kortelės vienodo
     minimalaus aukščio, o apatinė eilutė visada prigludusi prie kortelės
     apačios. Ankstesnis `columns` to neleido. */
  .quotes-grid{
    display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
    grid-auto-rows:minmax(200px, auto); gap:16px; align-items:start; margin:0;
  }
  .quote-card{
    margin:0; background:var(--bg-page);
    border:1px solid rgba(var(--rgb-deep),.1); border-radius:14px;
    padding:22px 20px 18px; min-height:200px; box-shadow:none;
    display:flex; flex-direction:column; gap:12px;
    transition:border-color var(--motion-hover), opacity .3s var(--ease);
  }
  .quote-card:hover{ border-color:rgba(var(--rgb-gold),.7); }
  .quote-card p{
    margin:0; font-family:var(--font-display); font-style:normal;
    font-size:clamp(20px, 2.2vw, 22px); line-height:1.34; /* 1.87.0: kaip makete `16` */ letter-spacing:-0.01em;
    color:var(--ink); text-wrap:pretty;
  }
  .quote-card .quote-author{ font-family:'Karla',sans-serif; font-size:15px; font-weight:400; color:var(--ink-body); }
  /* 1.87.0: ilgos citatos — 5 eilutės ir „Skaityti visą“ (maketas `16`). */
  .quote-card p{ overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; line-clamp:5; }
  .quote-card.is-open p{ -webkit-line-clamp:unset; line-clamp:none; display:block; }
  .quote-card .quote-more{
    align-self:flex-start; margin:-4px 0 0; padding:6px 0; background:none; border:0; cursor:pointer;
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
    color:var(--ink-meta); text-decoration:underline; text-underline-offset:3px;
  }
  .quote-card-foot{
    margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px;
    border-top:1px solid rgba(var(--rgb-deep),.1); padding-top:12px;
  }
  .quote-cat{
    font-family:'Karla',sans-serif; font-size:10px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .quote-card-actions{ display:flex; gap:6px; flex:none; }
  .copy-btn{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:var(--tap); min-height:var(--tap); padding:0;
    background:none; border:1px solid rgba(var(--rgb-deep),.2); border-radius:var(--radius-pill);
    color:var(--ink-body); cursor:pointer;
    transition:border-color var(--motion-hover), color var(--motion-hover);
  }
  .copy-btn:hover{ border-color:var(--ink); color:var(--ink); }
  .copy-btn svg{ width:17px; height:17px; }
  html[data-theme="evening"] .copy-btn{ border-color:var(--hairline-strong); }
  .quote-card.hide{display:none;}
  html[data-theme="evening"] .quote-card{ border-color:var(--hairline); }
  html[data-theme="evening"] .quote-card-foot{ border-top-color:var(--hairline); }


/* ===================================================
   DĖKINGUMO SIENA specific
   =================================================== */
/* ---------- dėkingumo siena page specific ---------- */
  /* #page-hero — vienas apibrėžimas, žr. „puslapio antraštė“ skiltį. */

  /* Wall intro (v1.70.0) — its own block between the centred hero and the
     form, so the reading text has a single, consistent left axis. */

  #form-section{padding:20px 0 90px; overflow:hidden;}

  #all-messages{padding:90px 0 110px; background: radial-gradient(ellipse 1100px 560px at 50% -6%, rgba(var(--rgb-gold),0.22) 0%, rgba(var(--rgb-gold),0.13) 30%, rgba(var(--rgb-gold),0.06) 52%, rgba(var(--rgb-gold),0) 78%); overflow:hidden;}
  .messages-head{max-width:640px; margin:0 auto 40px; text-align:center;}
  .messages-head p{color:var(--ink-body);}
  .wp-note{
    max-width:720px; margin:20px auto 40px; padding:16px 22px; border-radius:14px;
    background:var(--bg-card); border-left:4px solid var(--accent);
    font-size:0.85rem; color:var(--ink-muted); text-align:left; box-shadow:0 10px 22px -16px rgba(47,47,47,0.15);
  }
  .wp-note strong{color:var(--ink);}

  #articles{ background:var(--bg-page); padding:0; }
  #articles > .wrap{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(40px, 6vw, 76px) var(--gutter-wide) clamp(52px, 8vw, 92px);
    display:flex; flex-direction:column; gap:clamp(22px, 3vw, 32px);
  }

  /* Skiltis su savo rėmu ir tarpais — anksčiau žinutės prilipdavo prie filtrų,
     nes juosta neturėjo apatinio tarpo (1.80.6). */
  #all-messages{ background:var(--bg-page); padding:0; }
  #all-messages > .wrap{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(52px, 9vw, 96px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:clamp(28px, 4vw, 44px);
  }
  .messages-head{
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap:14px; max-width:none; margin:0;
  }

  /* ---------- filtrų juosta (1.80.5) ----------
     Pakelta dėžė, dvi eilutės: rikiavimo žetonai viršuje, laikotarpis, paieška
     ir skaitliukas apačioje. Išskleidžiamo rikiavimo sąrašo (1.76.0) nebėra —
     šio puslapio makete rikiavimas yra žetonai. */
  .wall-controls{
    background:var(--bg-alt); border:1px solid transparent; border-radius:16px;
    padding:16px clamp(14px, 2vw, 22px);
    display:flex; flex-direction:column; gap:14px; max-width:none; margin:0;
  }
  .wall-controls-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .wall-controls-row--split{
    border-top:1px solid rgba(var(--rgb-deep),.12); padding-top:14px; gap:12px 18px;
  }
  .wall-controls-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta); margin-right:4px;
  }
  .wall-control{ display:flex; align-items:center; gap:8px; }
  .wall-control select{
    cursor:pointer; background:var(--bg-card);
    border:1px solid rgba(var(--rgb-deep),.18); border-radius:8px;
    color:var(--ink); font-family:'Karla',sans-serif; font-size:15px;
    padding:11px 13px; min-height:var(--tap);
  }
  .wall-search{ flex:1 1 220px; min-width:0; }
  .wall-count{
    margin-left:auto; font-family:'Karla',sans-serif; font-size:12px;
    letter-spacing:.14em; color:var(--ink-meta);
  }
  html[data-theme="evening"] .wall-controls-row--split{ border-top-color:var(--hairline); }
  html[data-theme="evening"] .wall-control select{ border-color:var(--hairline-strong); }

  .filters{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .chip{
    flex:none; white-space:nowrap;
    display:inline-flex; align-items:center; gap:4px;
    min-height:var(--tap); padding:0 14px;
    background:none; border:1px solid var(--hairline-strong); border-radius:var(--radius-pill);
    font-family:'Karla',sans-serif; font-size:14px; color:var(--ink-body); cursor:pointer;
    transition:border-color var(--motion-hover), background var(--motion-hover), color var(--motion-hover);
  }
  .chip:hover{ border-color:var(--ink); }
  .chip[aria-pressed="true"]{ background:var(--fill-ink); border-color:var(--fill-ink); color:var(--on-fill-ink); }

  /* Tuščia siena — punktyrinė dėžė, ne viena pilka eilutė. */
  .wall-empty{
    border:1px dashed rgba(var(--rgb-deep),.22); border-radius:16px;
    padding:clamp(32px, 6vw, 48px) 24px;
    display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
  }
  .wall-empty-title{
    margin:0; font-family:var(--font-display); font-size:clamp(22px, 3.2vw, 27px);
    letter-spacing:-0.01em; color:var(--ink);
  }
  .wall-empty-text{ margin:0; max-width:44ch; font-size:16px; line-height:1.7; color:var(--ink-body); }
  html[data-theme="evening"] .wall-empty{ border-color:var(--hairline-strong); }

  .load-more-wrap{ text-align:center; margin-top:var(--space-10); }
  .load-more-done{
    margin:0; font:var(--type-meta); letter-spacing:var(--ls-meta);
    text-transform:uppercase; color:var(--ink-muted);
  }
  .load-more-done[hidden]{ display:none; }

  /* ---------- sienos viršus (1.80.0) ----------
     Tamsi juosta, fone — keturios lėtai slenkančios žinučių kolonos, virš jų
     tamsus šydas, o viršuje centruotas tekstas. Spalvos nekintamos, nes juosta
     tamsi abiejuose režimuose. */
  #page-hero.wall-hero{
    position:relative; overflow:hidden; padding:0; margin-top:64px;
    background:var(--c-deep-band); text-align:center;
  }
  .wall-hero-texture{
    position:absolute; inset:0; pointer-events:none; z-index:0;
    background-image:repeating-linear-gradient(160deg, rgba(var(--rgb-gold),.07) 0 3px, transparent 3px 16px);
  }
  .wall-drift{
    position:absolute; inset:0; z-index:1; overflow:hidden; pointer-events:none;
    padding:16px; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px; opacity:.5; align-items:end;
  }
  /* `min-height` + `justify-content:flex-end` — kolona prasideda žemiau juostos
     apačios, todėl pirmosios kortelės įplaukia iš apačios, o ne atsiranda
     viršuje (1.80.1). */
  .wall-drift-col{
    display:flex; flex-direction:column; justify-content:flex-end; gap:16px;
    will-change:transform;
  }
  /* Kiekviena kolona sukasi savo greičiu ir prasideda kitoje vietoje, todėl
     bendras vaizdas niekada nesikartoja. Turinys išvestas dukart, o animacija
     pastumia lygiai per pusę — kilpa nematoma. */
  .wall-drift-col-1{ animation:da-wall-scroll 58s linear infinite; }
  .wall-drift-col-2{ margin-top:-110px; animation:da-wall-scroll 44s linear infinite; }
  .wall-drift-col-3{ margin-top:-50px;  animation:da-wall-scroll 70s linear infinite; }
  .wall-drift-col-4{ margin-top:-170px; animation:da-wall-scroll 52s linear infinite; }
  @keyframes da-wall-scroll{
    from{ transform:translateY(0); }
    to{ transform:translateY(calc(-50% - 8px)); }
  }
  .wall-drift-note{
    background:rgba(var(--rgb-light),.08); border:1px solid rgba(var(--rgb-light),.14);
    border-radius:14px; padding:18px;
  }
  .wall-drift-note p{
    margin:0; font-family:var(--font-display);
    font-size:clamp(15px, 2.2vw, 19px); line-height:1.35;
    color:rgba(var(--rgb-light),.9); text-wrap:pretty;
  }
  .wall-hero-scrim{
    position:absolute; inset:0; z-index:2; pointer-events:none;
    background:radial-gradient(ellipse at 50% 50%, rgba(26,36,30,.97) 0%, rgba(26,36,30,.92) 40%, rgba(26,36,30,.62) 74%, rgba(26,36,30,.82) 100%);
  }
  .wall-hero-inner{
    position:relative; z-index:3; width:100%; max-width:1000px; margin:0 auto;
    box-sizing:border-box; padding:clamp(64px, 13vw, 132px) clamp(20px, 4.5vw, 60px);
    display:flex; flex-direction:column; align-items:center; text-align:center;
    gap:clamp(18px, 2.8vw, 28px);
  }
  .wall-hero-eyebrow{
    font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold);
  }
  .wall-hero h1{
    margin:0; max-width:20ch;
    font:400 clamp(34px, 7.7vw, 76px)/1.03 var(--font-display);
    letter-spacing:var(--ls-display-1); color:var(--onpanel-paper); text-wrap:balance;
  }
  .wall-hero h1 em{ font-style:italic; color:var(--gold); }
  .wall-hero-lead{
    margin:0; max-width:56ch; font-size:clamp(17px, 2vw, 19px); line-height:1.7;
    color:rgba(var(--rgb-light),.75); text-wrap:pretty;
  }
  .wall-hero-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:4px; }
  .wall-hero-actions .btn-primary{ background:var(--onpanel-paper); color:var(--onpanel-ink); }
  .wall-hero-actions .btn-primary:hover{ background:var(--gold); color:var(--onpanel-ink); opacity:1; }
  .wall-hero-actions .btn-ghost{ color:var(--onpanel-paper); border-color:rgba(var(--rgb-light),.35); }
  .wall-hero-actions .btn-ghost:hover{ border-color:var(--onpanel-paper); background:none; }
  .wall-hero-trio{
    display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; margin-top:6px;
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.45);
  }
  @media (max-width:899px){
    /* Siauriau keturios kolonos virstų ruoželiais — paliekamos dvi. */
    .wall-drift{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .wall-drift-col-3, .wall-drift-col-4{ display:none; }
  }
  @media (prefers-reduced-motion:reduce){
    .wall-drift-col{ animation:none; }
  }

  /* ---------- formos juosta (1.80.2) ----------
     Ta pati tamsi juosta kaip viršuje: tekstūra, dvi slenkančios kolonos ir
     šydas. Forma — „stiklinė“ kortelė ant jos. */
  #form-section.form-ink{
    position:relative; overflow:hidden; padding:0; background:var(--c-deep-band);
  }
  .wall-drift--two{ grid-template-columns:repeat(2, minmax(0, 1fr)); opacity:.4; }
  .form-ink-inner{
    position:relative; z-index:3; width:100%; max-width:860px; margin:0 auto;
    box-sizing:border-box; padding:clamp(52px, 9vw, 96px) clamp(20px, 4.5vw, 50px);
    display:flex; flex-direction:column; align-items:center; gap:clamp(26px, 4vw, 34px);
  }
  /* 1.85.2: puslapio tekstas tamsioje formos juostoje (buvo atskira šviesi
     juosta `#wall-intro`). Tamsi abiejose temose — tik `--onpanel-*`. */
  .form-ink .form-ink-intro{
    max-width:620px; text-align:center;
    font-size:17px; line-height:1.7; color:var(--onpanel-text);
  }
  .form-ink .form-ink-intro p{ margin:0 0 .8em; color:var(--onpanel-text); }
  .form-ink .form-ink-intro p:last-child{ margin-bottom:0; }
  .form-ink .form-ink-intro a{ color:var(--gold); }
  /* Šiandienos kvietimas tamsioje juostoje. */
  .form-ink .daily-prompt{
    max-width:none; margin:0; padding:0; background:none; border:0; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:12px;
  }
  .form-ink .daily-prompt-label{
    margin:0; font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold);
  }
  .form-ink .daily-prompt-text{
    max-width:34ch; font-family:var(--font-display);
    font-size:clamp(25px, 4.9vw, 40px); line-height:1.2; letter-spacing:-0.01em;
    color:var(--onpanel-paper);
  }

  .form-ink .wall-form-wrap{ width:100%; max-width:none; margin:0; }
  .form-ink .wall-form{
    background:rgba(var(--rgb-light),.07); border:1px solid rgba(var(--rgb-light),.2);
    border-radius:22px; padding:clamp(24px, 4.4vw, 46px);
    display:flex; flex-direction:column; gap:18px;
    backdrop-filter:blur(6px);
  }
  .form-ink .wall-form h3{
    margin:0; font:400 clamp(25px, 4.5vw, 34px)/1.14 var(--font-display);
    letter-spacing:-0.01em; color:var(--onpanel-paper);
  }
  .form-ink .field-hint{ font-size:15px; line-height:1.6; color:rgba(var(--rgb-light),.7); }
  .form-ink .field{ margin:0; }
  .form-ink .field textarea{
    background:rgba(var(--rgb-light),.05); border:1px solid rgba(var(--rgb-light),.22);
    border-radius:14px; padding:16px 18px; min-height:132px;
    color:var(--onpanel-paper); font-size:16px; line-height:1.6;
  }
  .form-ink .field textarea::placeholder{ color:rgba(var(--rgb-light),.4); }
  .form-ink .field textarea:focus{
    border-color:var(--gold); box-shadow:0 0 0 3px rgba(var(--rgb-gold),.22); outline:none;
  }
  .field-info{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
    gap:8px; font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.06em;
  }
  .field-error{ color:#E39189; }
  .field-error:empty{ display:none; }
  .form-ink .field-counter{ color:rgba(var(--rgb-light),.45); }
  .form-ink .field-row{ display:grid; grid-template-columns:minmax(0, 1fr); gap:12px; }
  .form-ink .name-col{ display:flex; flex-direction:column; gap:8px; }
  .form-ink .field-label{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:rgba(var(--rgb-light),.5);
  }
  /* 1.80.3: vardo laukas atrodo lygiai taip pat kaip pagrindiniame puslapyje —
     apvali piliulė, permatomas fonas, 46px aukščio. `flex:0 0 auto` būtinas:
     laukas yra stulpelinio flex konteinerio narys, todėl be jo galėtų
     susitraukti iki teksto eilutės aukščio. */
  .form-ink .field-row input{
    flex:0 0 auto; box-sizing:border-box;
    width:100%; height:46px; min-height:46px; line-height:1.2;
    padding:0 24px; border-radius:var(--radius-pill);
    background:none; border:1px solid rgba(var(--rgb-light),.2);
    color:var(--onpanel-paper); font-size:16px;
  }
  .form-ink .field-row input::placeholder{ color:rgba(var(--rgb-light),.4); }
  .form-ink .field-row input:focus{
    border-color:var(--gold); box-shadow:0 0 0 3px rgba(var(--rgb-gold),.22); outline:none;
  }
  .form-ink .wall-consent{ margin:0; padding:4px 0; color:rgba(var(--rgb-light),.64); font-size:14px; }
  .form-ink .wall-consent a{ color:var(--gold); }
  .form-ink .wall-consent input[type="checkbox"]{
    width:22px; height:22px; border-color:rgba(var(--rgb-light),.4); background:rgba(var(--rgb-light),.05);
  }
  .form-ink .wall-consent input[type="checkbox"]:checked{ background:var(--gold); border-color:var(--gold); }
  .form-ink .wall-consent input[type="checkbox"]::before{ background:var(--c-deep); }
  .wall-form-submit{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; margin-top:4px; }
  .form-ink .wall-form-submit .btn-primary{ background:var(--onpanel-paper); color:var(--onpanel-ink); }
  .form-ink .wall-form-submit .btn-primary:hover{ background:var(--gold); color:var(--onpanel-ink); opacity:1; }
  .form-ink .wall-form-note{ font-family:'Karla',sans-serif; font-size:12px; color:rgba(var(--rgb-light),.45); }

  /* ---------- padėkos skydas (1.76.10, pagal maketą) ----------
     Dvigubas rėmas: tamsi išorė + auksu patinkuotas vidus. Anksčiau vidus buvo
     be užpildo, todėl ant tamsios juostos matėsi tik vienspalvė žalsva dėžė —
     tiksliai tai, kas ir atrodė „žalias blokas su tekstu“.
     Spalvos nekintamos (ne --bg-panel), nes skydas turi atrodyti vienodai
     abiejuose režimuose. */
  .wall-thanks{
    background:var(--c-deep-2); border:1px solid var(--onpanel-line-strong);
    border-radius:20px; padding:4px;
  }
  .wall-thanks[hidden]{ display:none; }
  .wall-thanks-inner{
    position:relative;
    background:rgba(var(--rgb-gold),.14);
    border:1px solid var(--gold); border-radius:18px;
    padding:34px 26px; text-align:left; color:var(--onpanel-paper);
    display:flex; flex-direction:column; align-items:flex-start; gap:16px;
  }
  .wall-thanks-close{
    position:absolute; top:12px; right:12px;
    display:inline-flex; align-items:center; justify-content:center;
    width:var(--tap); height:var(--tap); padding:0;
    background:none; border:0; border-radius:50%; cursor:pointer;
    color:rgba(var(--rgb-light),.6);
    transition:color var(--motion-hover), background var(--motion-hover);
  }
  .wall-thanks-close:hover{ color:var(--onpanel-paper); background:rgba(var(--rgb-light),.08); }
  .wall-thanks-close svg{ width:18px; height:18px; }
  /* Kad ilgesnė antraštė neatsitrenktų į kryželį. */
  .wall-thanks-inner > .wall-thanks-eyebrow,
  .wall-thanks-inner > h3{ padding-right:44px; }
  .wall-thanks-eyebrow{
    font-family:'Karla',sans-serif; font-size:12.5px; font-weight:600;
    letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
  }
  .wall-thanks h3{
    font:400 34px/1.1 var(--font-display); color:var(--onpanel-paper); margin:0;
  }
  .wall-thanks h3:focus-visible{ outline:2px solid var(--gold); outline-offset:4px; }
  .wall-thanks p{ margin:0; max-width:60ch; font-size:16px; line-height:1.7; color:rgba(var(--rgb-light),.72); }
  /* Ką žmogus parašė — grąžinama atgal. */
  .wall-thanks-echo{
    margin:0; align-self:stretch;
    background:rgba(26,36,30,.4); border-left:2px solid var(--gold); border-radius:8px;
    padding:14px 16px; font-size:16px; line-height:1.6; color:var(--onpanel-paper);
  }
  .wall-thanks-echo[hidden]{ display:none; }
  .wall-thanks-actions{ display:flex; flex-wrap:wrap; gap:12px; padding-top:4px; }
  .wall-thanks .btn-primary{ background:var(--ink-on-panel); color:var(--onpanel-ink); }
  .wall-thanks .btn-primary:hover{ background:var(--gold); color:var(--onpanel-ink); opacity:1; }
  .wall-thanks .btn-ghost{ color:var(--onpanel-paper); border-color:var(--onpanel-line-strong); }
  .wall-thanks .btn-ghost:hover{ border-color:var(--gold); background:none; }
  
  
  
  
  
  
  
  .search-wrap{position:relative; flex:1 1 340px; min-width:280px; max-width:480px;}
  .search-wrap-large input{padding:15px 22px 15px 46px; font-size:1rem; border-radius:14px;}
  .search-wrap input{
    width:100%; border:1.5px solid var(--hairline-strong); background:var(--bg-card); border-radius:100px;
    padding:10px 18px 10px 38px; font-family:'Karla',sans-serif; font-size:0.88rem; color:var(--ink);
  }
  .search-wrap input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(var(--rgb-green),0.12);}
  .search-wrap svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--ink-meta); pointer-events:none;}
  .search-wrap-large svg{left:18px; width:18px; height:18px;}

  /* 1.87.0: kaip makete `17` — per visą turinio plotį, 1 → 2 → 3 → 4 stulpeliai
     (620 / 900 / 1200px). Anksčiau buvo 3 stulpeliai 1100px dėžėje. */
  .wall-masonry{columns:1; column-gap:24px; margin:0;}
  @media (min-width:620px){.wall-masonry{columns:2;}}
  @media (min-width:900px){.wall-masonry{columns:3;}}
  @media (min-width:1200px){.wall-masonry{columns:4;}}
  .wall-masonry .note{break-inside:avoid; margin:0 0 24px;}
  .no-results{text-align:center; color:var(--ink-muted); font-size:0.95rem; padding:30px 0; display:none;}
  .no-results.show{display:block;}
  /* The `hidden` attribute is toggled alongside .show (v1.67.0) so assistive
     tech doesn't read the empty-state line while results are on screen. */
  .no-results[hidden]{display:none;}


/* ===================================================
   SKAITYKLA specific
   =================================================== */
/* ---------- skaitykla page specific ---------- */
  /* #page-hero — vienas apibrėžimas, žr. „puslapio antraštė“ skiltį. */

  /* 1.87.0: senas `#articles{padding:20px 0 110px; overflow:hidden}` pašalintas —
     jis buvo žemiau naujojo ir pridėdavo ~110px tuščios vietos virš „Kas toliau“. */
  
  
  
  

  /* 1.81.7: trys kortelės eilėje, apie 411px pločio, kaip makete.

     `auto-fit` + `minmax(320px, 411px)` reiškia: stulpelis niekada neplatesnis
     nei 411px, bet siauresniame lange gali susitraukti iki 320px, o dar
     siauriau — stulpelių tiesiog mažėja. `justify-content:start` palieka
     kortelių eilę prie kairės, o ne ištempia per visą plotį. */
  .articles-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 411px));
    justify-content:start;
    gap:clamp(16px, 2.2vw, 24px); align-items:stretch; max-width:none; margin:0;
  }
  @media (max-width:520px){
    .articles-grid{ grid-template-columns:minmax(0, 1fr); }
  }
  .card.hide{display:none;}
  .no-results{text-align:center; color:var(--ink-muted); font-size:0.95rem; padding:30px 0; display:none; grid-column:1/-1;}
  .no-results.show{display:block;}
  /* The `hidden` attribute is toggled alongside .show (v1.67.0) so assistive
     tech doesn't read the empty-state line while results are on screen. */
  .no-results[hidden]{display:none;}


/* ===================================================
   SINGLE ARTICLE specific
   =================================================== */
/* ---------- single article page specific ---------- */
  /* ---------- straipsnio tekstas + turinio sąrašas (1.82.1) ---------- */
  /* 1.82.3: `overflow:hidden` čia buvo iš senojo dizaino (jis pridengdavo
     lapelius, kurių nebėra). Bet bet kuris protėvis su `overflow` paverčia save
     slinkties konteineriu, ir `position:sticky` viduje nustoja veikti — būtent
     todėl turinio sąrašas neslinko kartu su tekstu. */
  #article-body.article-body{ background:var(--bg-page); padding:0; }
  .article-body-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(32px, 5vw, 56px) var(--gutter-wide) clamp(48px, 7vw, 80px);
    display:grid; grid-template-columns:minmax(0, 1fr); gap:clamp(28px, 4vw, 44px);
    align-items:start;
  }
  /* 1.82.5: riba 1080px -> 900px.

     Ta pati priežastis kaip antgalvyje: 1366×768 ekranas su 125 % mastelio
     keitimu naršyklei yra 1092px, su 150 % — 910px. Ties 1080px daugelis
     nešiojamų kompiuterių šio bloko apskritai negaudavo, todėl sąrašas likdavo
     virš teksto ir neprilipdavo. */
  @media (min-width:900px){
    /* Stulpelių tvarka nurodoma per `grid-column`, o ne keičiant HTML —
       tekstas dokumente lieka pirmas, todėl klaviatūra ir ekrano skaitytuvas
       pasiekia jį prieš pagalbinį sąrašą, nors ekrane jis ir dešinėje. */
    /* 1.82.12: teksto stulpelis tampa tokio pločio, kokio yra pats tekstas
       (66ch, kaip makete), o ne „viskas, kas liko“. Anksčiau jis buvo `1fr`,
       todėl tarp 66ch teksto ir meniu žiojėdavo tuščia juosta. Visa grupė
       centruojama, kad plačiame ekrane ji nebūtų prilipusi prie kairės. */
    /* 1.87.0: kaip makete `13` — tekstas prie kairio juostos krašto, meniu
       dešiniame krašte (1fr + 250px). Teksto plotį vis tiek riboja
       `.entry-content{max-width:66ch}`. Anksčiau grupė buvo centruota, todėl
       tekstas atrodė įtrauktas nuo juostos krašto. */
    .article-body-inner.has-toc{
      grid-template-columns:minmax(0, 1fr) 250px;
      gap:clamp(28px, 4vw, 64px);
    }
    .article-body-inner.has-toc .article-main{ grid-column:1; grid-row:1; }
    .article-body-inner.has-toc .article-toc{
      grid-column:2; grid-row:1;
      /* 1.82.9: sąrašas lieka matomas, kol slenka tekstas.

         `align-self:start` būtinas — be jo narys išsitemptų per visą eilutės
         aukštį ir `sticky` neturėtų kur judėti. `top` atitraukia jį nuo
         perdengiančio antgalvio (64px + oras). Kad tai apskritai veiktų,
         <body> naudoja `overflow-x:clip`, o ne `hidden` (1.82.4): bet kuris
         protėvis su `overflow:hidden` išjungia `sticky` visame puslapyje. */
      align-self:start; position:sticky; top:96px;
    }
  }
  .article-toc{
    display:flex; flex-direction:column; gap:8px; min-width:0;
    border-top:1px solid rgba(var(--rgb-deep),.14); padding-top:14px; align-self:start;
  }
  .article-toc-label{
    font-family:'Karla',sans-serif; font-size:10px; letter-spacing:.18em;
    text-transform:uppercase; color:var(--ink-muted);
  }
  .article-toc a{
    display:flex; gap:10px; text-decoration:none;
    font-size:16px; line-height:1.45; color:var(--ink-body);
    padding:9px 0 9px 14px; border-left:2px solid rgba(var(--rgb-deep),.14);
    transition:color var(--motion-hover), border-color var(--motion-hover);
  }
  .article-toc a:hover{ color:var(--ink); border-left-color:var(--gold); }
  /* Skaitomas skyrius (1.82.8). */
  .article-toc a.is-current{ color:var(--ink); border-left-color:var(--gold); font-weight:600; }
  .article-toc a.is-current .article-toc-num{ color:var(--gold); }
  .article-toc-num{ font-family:'Karla',sans-serif; font-size:11px; color:var(--ink-muted); }
  .article-main{ min-width:0; display:flex; flex-direction:column; }
  /* Dalinimosi eilutė (1.87.0, maketas `13`). */
  .share-row{
    display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px;
    max-width:66ch; margin-top:clamp(28px, 4vw, 40px); padding-top:22px;
    border-top:1px solid var(--hairline-strong);
  }
  .share-row .share-row-label{
    font-family:'Karla',sans-serif; font-size:10px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-muted);
  }
  .share-row .share-chip{
    display:inline-flex; align-items:center; min-height:var(--tap); box-sizing:border-box;
    padding:0 22px; border-radius:var(--radius-pill); border:1px solid var(--hairline-strong);
    background:transparent; color:var(--ink-body); font-family:'Karla',sans-serif; font-size:15px;
    text-decoration:none; cursor:pointer; transition:border-color var(--motion-hover), color var(--motion-hover);
  }
  .share-row .share-chip:hover{ border-color:var(--accent); color:var(--ink); }
  .share-row .share-chip.is-done{ border-color:var(--accent); color:var(--accent); }
  .article-main .article-tags{ max-width:66ch; margin:28px 0 0; }
  html[data-theme="evening"] .article-toc,
  html[data-theme="evening"] .article-toc a{ border-color:var(--hairline); }

  /* ---------- straipsnio antraštės juosta (1.82.0) ----------
     Pakeltas fonas su apatiniu plaukeliu; tekstas kairėje, viršelis dešinėje.
     Anksčiau čia buvo 150px viršutinis tarpas (dėl perdengiančio antgalvio) ir
     centruotas tekstas — abu pakeisti. */
  #article-hero.article-hero{
    background:var(--bg-alt); border-bottom:1px solid rgba(var(--rgb-deep),.12);
    padding:0; margin-top:64px; overflow:hidden;
  }
  .article-hero-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(30px, 5vw, 56px) var(--gutter-wide) clamp(34px, 5vw, 48px);
    display:grid; grid-template-columns:minmax(0, 1fr); gap:clamp(24px, 3vw, 40px);
    align-items:center;
  }
  @media (min-width:900px){
    .article-hero-inner{ grid-template-columns:minmax(0, 1fr) minmax(0, 460px); }
  }
  .article-hero-head{ max-width:none; margin:0; text-align:left; display:flex; flex-direction:column; gap:16px; min-width:0; }
  .article-hero-head h1{
    margin:0; max-width:26ch;
    font:400 clamp(32px, 5.8vw, 52px)/1.05 var(--font-display);
    letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
  }
  .article-sub{
    margin:0; max-width:56ch; font-size:clamp(17px, 2vw, 20px); line-height:1.65;
    color:var(--ink-body); text-wrap:pretty;
  }
  .article-meta{
    display:flex; flex-wrap:wrap; align-items:center; gap:8px 22px; padding-top:4px;
    justify-content:flex-start;
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink-body);
  }
  .article-meta span{ display:inline-flex; align-items:center; gap:6px; }
  html[data-theme="evening"] #article-hero.article-hero{ border-bottom-color:var(--hairline); }
  
  

  /* Breadcrumb trail (v1.68.0). Deliberately quiet — it's an orientation aid,
     not navigation chrome. Inherits --muted-ink, so it follows day/dusk and
     already meets the AA contrast floor. */
  .crumbs{margin:0 0 14px;}
  .crumbs ol{
    list-style:none; margin:0; padding:0;
    display:flex; flex-wrap:wrap; align-items:center; gap:6px;
    font-family:'Karla',sans-serif; font-size:0.82rem; color:var(--ink-muted);
  }
  .page-hero-head .crumbs ol{justify-content:center;}
  .crumbs li{display:inline-flex; align-items:center; gap:6px;}
  .crumbs li + li::before{content:"›"; color:var(--ink-muted); opacity:0.75;}
  /* No border-bottom here: .crumbs is a <nav>, so these links already pick up
     the header's gold hover underline from the generic `nav a::after` rule.
     Adding one drew a second line under the first. (v1.70.2) */
  .crumbs a{color:var(--ink-muted); text-decoration:none;}
  .crumbs a:hover{color:var(--ink);}
  /* That rule sits the line 6px below the text, which suits 1rem menu items;
     at 0.82rem it floated. Pull it closer. */
  .crumbs a::after{bottom:-3px;}
  .crumbs [aria-current="page"]{color:var(--ink); font-weight:600;}
  @media print{ .crumbs{display:none;} }
  /* 1.87.0: telefone vietoj kelio — viena „← Tėvinis“ nuoroda (SPEC 4). */
  .crumbs .crumbs-back{ display:none; }
  @media (max-width:719px){
    .crumbs ol{ display:none; }
    .crumbs .crumbs-back{
      display:inline-flex; align-items:center; min-height:var(--tap);
      font-family:'Karla',sans-serif; font-size:15px; text-decoration:none;
    }
    .ink-hero-crumbs .crumbs .crumbs-back{ font-size:13px; letter-spacing:.08em; }
  }

  /* Viršelis: 4:3, be šešėlio ir be blizgesio; be nuotraukos — brūkšniuotas
     laukas su užrašu, kaip makete. */
  .article-cover{
    max-width:none; margin:0; border-radius:16px; overflow:hidden;
    aspect-ratio:4 / 3; position:relative;
    background-color:var(--bg-raised);
    background-image:repeating-linear-gradient(135deg, rgba(var(--rgb-deep),.09) 0 2px, transparent 2px 10px);
    box-shadow:none;
    display:flex; align-items:center; justify-content:center;
  }
  .article-cover-note{
    font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }

  /* 1.82.10: sena taisyklė. `overflow:hidden` čia buvo dėl lapelių, kurių
     nebėra — bet jis pavertė skiltį slinkties konteineriu ir išjungė
     `position:sticky` turinio sąraše. Naujoji taisyklė (žr. „straipsnio
     tekstas“) `overflow` visai neminėjo, todėl šis vis tiek galiojo.
     Tarpai dabar nustatomi vidiniame rėme. */
  
  
  
  
  

  .article-tags{display:flex; gap:10px; flex-wrap:wrap; margin-top:40px;}
  .article-tag{
    background:var(--bg-card); border-radius:100px; padding:8px 16px; font-size:0.82rem; font-weight:600;
    color:var(--ink); box-shadow:0 8px 18px -12px rgba(47,47,47,0.2);
  }

  /* Susiję tekstai po straipsniu (1.85.2) — maketas `13 Skaitykla irasas`.
     Senasis `#related` blokas su nuotraukų kortelėmis pašalintas. */
  .article-related{ background:var(--bg-alt); }
  .article-related-inner{
    width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
    padding:clamp(40px, 6vw, 68px) var(--gutter-wide);
    display:flex; flex-direction:column; gap:22px;
  }
  .article-related .article-related-eyebrow{ /* 2 klasės: nugali plačiąją vakaro `h2` taisyklę */
    margin:0; font-family:'Karla',sans-serif; font-weight:400; font-size:11px;
    letter-spacing:.2em; text-transform:uppercase; color:var(--ink-meta);
  }
  .article-related-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(16px, 2.2vw, 22px); }
  @media (min-width:620px){ .article-related-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
  @media (min-width:900px){ .article-related-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
  .article-related-card{
    display:flex; flex-direction:column; gap:12px; height:100%; box-sizing:border-box;
    padding:clamp(20px, 2.4vw, 26px); border-radius:16px;
    background:var(--bg-card); border:1px solid var(--hairline);
    text-decoration:none; transition:border-color var(--motion-hover);
  }
  .article-related-card:hover{ border-color:rgba(var(--rgb-gold),.75); }
  .article-related-meta{
    font-family:'Karla',sans-serif; font-size:10px; letter-spacing:.16em;
    text-transform:uppercase; color:var(--ink-meta);
  }
  .article-related-title{
    font-family:var(--font-display); font-size:clamp(21px, 2.2vw, 23px); line-height:1.2;
    color:var(--ink); text-wrap:pretty;
  }
  .article-related-arrow{ margin-top:auto; font-size:18px; line-height:1; color:var(--ink-meta); }


/* ===================================================
   MOBILE NAVIGATION (functional slide-down menu)
   =================================================== */
/* Meniu mygtukas — matomas iki 1080px (dizaino riba). */
.nav-toggle{
  display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center;
  position:relative; z-index:60; flex-shrink:0;
  background:none; border:1px solid var(--hairline-strong); border-radius:999px;
  padding:0; cursor:pointer; color:var(--ink); -webkit-tap-highlight-color:transparent;
  transition:border-color var(--motion-hover);
}
.nav-toggle:hover{ border-color:var(--accent); }
.nav-toggle svg{width:20px; height:20px;}
.nav-toggle .icon-close{display:none;}
.nav-toggle.open .icon-menu{display:none;}
.nav-toggle.open .icon-close{display:block;}
/* 1.74.3: atidarius skydą matėsi DU kryželiai — vienas skyde, kitas antgalvio
   mygtuke (jis lieka virš užsklandos). Atviro skydo metu mygtukas paslepiamas;
   uždaro tik skydo kryželis, Esc, užsklanda arba punktas. `visibility` (o ne
   `display`) — kad vieta neišsikraipytų ir fokusas galėtų grįžti atgal. */
body.nav-locked .nav-toggle{ visibility:hidden; }

/* ---------- WordPress admin juosta (1.77.7) ----------
   Prisijungus „WordPress“ prideda 32px juostą viršuje ir pastumia visą turinį
   (`html{margin-top:32px}`). Mūsų antgalvis yra `position:fixed; top:0`, todėl
   jo tai nepastumia: turinys nusileidžia 32px žemyn, antgalvis lieka vietoje —
   ir tarp jų atsiveria tuščia 32px juosta. Būtent ją ir matėte tik prisijungęs.

   Sprendimas: prisijungus antgalvis (ir meniu skydas) nuleidžiami tiek pat.
   Ties 782px „WordPress“ juosta paaukštėja iki 46px, o ties 600px ji tampa
   `absolute` ir nuslenka kartu su puslapiu — tada poslinkio nebereikia. */
body.admin-bar #site-header{ top:32px; }
body.admin-bar .nav-panel{ top:32px; }
@media screen and (max-width:782px){
  body.admin-bar #site-header{ top:46px; }
  body.admin-bar .nav-panel{ top:46px; }
}
@media screen and (max-width:619px){
  body.admin-bar #site-header{ top:0; }
  body.admin-bar .nav-panel{ top:0; }
}

/* Skydas iš dešinės. Tas pats blokas nuo 1080px tampa įprasta navigacija —
   turinys vienas, todėl meniu niekada neišsiderina tarp dviejų vietų. */
.nav-panel{
  position:fixed; top:0; right:0; bottom:0;
  width:min(340px, 100%);
  z-index:55;
  background:var(--bg-card);
  border-left:1px solid var(--hairline);
  box-shadow:var(--shadow-panel);
  padding:var(--space-6);
  display:flex; flex-direction:column; gap:var(--space-6);
  overflow-y:auto;
  /* 2.2.0: +48px — uždaryto skydo šešėlis nebesimato dešiniajame telefono krašte. */
  transform:translateX(calc(100% + 48px));
  transition:transform var(--motion-panel);
}
.nav-panel[data-open="true"]{ transform:translateX(0); }
.nav-panel[data-open="false"]{ transition-duration:180ms; }

.nav-panel-close{
  align-self:flex-end; flex-shrink:0;
  width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
  background:none; border:1px solid var(--hairline-strong); border-radius:999px;
  color:var(--ink); cursor:pointer;
}
.nav-panel-close svg{ width:20px; height:20px; }
/* Sąrašo išdėstymas skyde — TIK siaurame lange.

   1.74.3 klaida: šios keturios taisyklės buvo be jokio media užklausos rėmo, o
   jų svoris didelis (`.nav-panel #primary-nav ul#primary-menu` — du id). Todėl
   ir kompiuteryje meniu likdavo stulpeliu per visą plotį: mygtukas dingdavo,
   skydas tapdavo įprastu bloku, bet punktai vis tiek rikiuodavosi vertikaliai.
   Būtent tai ir atrodė kaip „telefono meniu kompiuteryje“. */
@media (max-width:899px){
  .nav-panel #primary-nav{ width:100%; }
  .nav-panel #primary-nav ul#primary-menu{
    flex-direction:column; align-items:stretch; gap:var(--space-2); width:100%; font-size:1.05rem;
  }
  .nav-panel #primary-nav ul#primary-menu > li{ width:100%; white-space:normal; }
  .nav-panel #primary-nav ul#primary-menu > li > a{ display:inline-flex; align-items:center; min-height:44px; }
}

.nav-panel-social{
  margin-top:auto; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:var(--space-2);
  border-top:1px solid var(--hairline); padding-top:var(--space-4);
}
.nav-panel-social a{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:9px 16px; white-space:nowrap;
  font-family:'Karla',sans-serif; font-size:0.72rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--ink-body); text-decoration:none;
  border:1px solid var(--hairline-strong); border-radius:999px;
  transition:border-color var(--motion-hover), color var(--motion-hover);
}
.nav-panel-social a:hover{ border-color:var(--accent); color:var(--ink); }

/* Antgalvio socialinės ikonos (v1.74.2): plikas ženkliukas, be rėmelio ir be
   užrašo — skiriasi nuo trijų apvalių mygtukų šalia sąmoningai, nes tai
   nuorodos į išorę, o ne svetainės valdikliai. */
.header-social{ display:none; align-items:center; gap:var(--space-2); flex-shrink:0; }
/* 3.1.0: ramesnės — įprastos raidės (ne 11px DIDŽIOSIOS), plonas kraštas,
   tas pats 44px paspaudimo plotas. Nebekonkuruoja su navigacija. */
.header-social a{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 16px; white-space:nowrap;
  font-family:'Karla',sans-serif; font-size:0.875rem; font-weight:500;
  letter-spacing:0; text-transform:none;
  color:var(--ink-muted); text-decoration:none;
  border:1px solid var(--hairline); border-radius:999px;
  transition:border-color var(--motion-hover), color var(--motion-hover);
}
.header-social a:hover{ border-color:var(--accent); color:var(--accent); }
@media (min-width:900px){
  .header-social{ display:flex; }
}

body.nav-locked{overflow:hidden;}
.nav-scrim{
  position:fixed; inset:0; z-index:54; background:var(--scrim);
  opacity:0; pointer-events:none; transition:opacity var(--motion-panel);
}
.nav-scrim[hidden]{ display:none; }
.nav-scrim[data-open="true"]{ opacity:1; pointer-events:auto; }

@media (max-width:899px){
  .header-inner{gap:var(--space-3);}
  .logo{font-size:1.05rem; gap:6px;}
  .logo svg{width:20px; height:20px;}
  .logo-img{ height:auto !important; max-height:32px; max-width:44vw; }
}

/* Nuo 900px: skydas tampa įprasta eilute antgalvyje, mygtukas dingsta.

   Dizaine nurodyta 1080px, bet praktikoje tai per aukšta riba: 1366×768 ekranas
   su 125 % „Windows“ mastelio keitimu naršyklei yra 1092 px, su 150 % — 910 px,
   todėl įprastas nešiojamas kompiuteris gaudavo telefono meniu. Sena tema
   perjungdavo ties 861 px. 900 px — arti senosios ribos, o punktams vietos
   pakanka (žr. suspaustą juostą žemiau). */
@media (min-width:900px){
  .nav-toggle{ display:none; }
  .nav-panel{
    position:static; width:auto; z-index:auto;
    background:none; border:0; box-shadow:none; padding:0;
    flex-direction:row; align-items:center; gap:0;
    overflow:visible; transform:none; transition:none;
  }
  .nav-panel-close, .nav-panel-social{ display:none; }
}

/* 900–1079 px: navigacija jau eilutėje, bet vietos mažiau — tarpai ir raidės
   suspaudžiami, kaip buvo iki 1.74.0. Nuo 1080px grįžta pilnas tarpas. */
@media (min-width:900px) and (max-width:1079px){
  .header-inner{ gap:var(--space-4); }
  nav ul#primary-menu{ gap:var(--space-4); font-size:0.88rem; }
  .logo{ font-size:1.15rem; }
  .header-social{ gap:var(--space-1); }
  .header-social a{ padding:0 12px; font-size:0.8125rem; }
}

/* ===================================================
   FORM SECURITY: honeypot field, invisible to humans,
   visible/fillable to most spam bots
   =================================================== */
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  top:-9999px !important;
  width:1px; height:1px; overflow:hidden;
  opacity:0; pointer-events:none;
}

/* ===================================================
   RESPONSIVE POLISH (small additions beyond what each
   page already had, for phone-width edge cases)
   =================================================== */
@media (max-width:619px){
  .wall-controls{flex-direction:column; align-items:stretch; gap:12px;}
  
  
  .search-wrap, .search-wrap-large{
    min-width:0; max-width:none; width:100%; flex:0 0 auto;
  }
  
  .article-meta{gap:6px 18px;}
  
  .field-row{flex-direction:column; align-items:stretch;}
  .field-row .btn{width:100%; justify-content:center;}
}

/* ===================================================
   ENTRY CONTENT — styles plain Gutenberg/Classic editor
   output (headings, paragraphs, lists, quotes, images) so
   any page/post content looks polished with zero extra
   markup or custom fields required from the editor.
   =================================================== */
/* 1.82.1: teksto tipografija pagal maketą. Skyrių numeriai (01, 02...) piešiami
   CSS skaitliuku — redaktoriuje jų rašyti nereikia, o ištrynus vieną antraštę
   likusios persinumeruoja pačios. */
.entry-content{
  /* Stulpelis jau yra 66ch pločio (žr. .article-body-inner), todėl čia riba
     nebereikalinga — ji lieka tik tiems puslapiams, kur tekstas ne stulpelyje. */
  max-width:66ch; margin:0; counter-reset:da-sec;
  color:var(--ink-body); font-size:clamp(17px, 1.9vw, 19px); line-height:1.75;
}
.entry-content p{margin:0 0 20px; text-wrap:pretty;}
/* Pirmoji pastraipa — įžanga, kiek stambesnė. */
.entry-content > p:first-of-type{
  font-size:clamp(19px, 2.1vw, 21px); line-height:1.72; color:var(--ink);
}
.entry-content h2{
  counter-increment:da-sec;
  border-top:1px solid rgba(var(--rgb-deep),.14); padding-top:clamp(20px, 3vw, 28px);
  margin:clamp(34px, 5vw, 48px) 0 16px; scroll-margin-top:110px;
  font:400 clamp(24px, 3.1vw, 30px)/1.14 var(--font-display);
  letter-spacing:-0.01em; color:var(--ink); text-wrap:balance;
}
.entry-content h2::before{
  content:counter(da-sec, decimal-leading-zero);
  display:block; margin-bottom:8px;
  font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.18em;
  color:var(--ink-muted);
}
.entry-content h3{
  margin:clamp(26px, 4vw, 36px) 0 12px;
  font:400 clamp(20px, 2.3vw, 23px)/1.2 var(--font-display);
  letter-spacing:-0.01em; color:var(--ink);
}
html[data-theme="evening"] .entry-content h2{ border-top-color:var(--hairline); }
.entry-content ul, .entry-content ol{margin:0 0 24px; padding-left:0; list-style:none;}
.entry-content ul li, .entry-content ol li{
  position:relative; padding-left:28px; margin-bottom:12px;
}
.entry-content ul li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px;
  border-radius:50%; background:var(--gold);
}
.entry-content blockquote{
  font-family:var(--font-display); font-style:italic;
  font-size:clamp(22px, 2.7vw, 27px); line-height:1.32; letter-spacing:-0.01em;
  color:var(--accent);
  border-left:2px solid rgba(var(--rgb-gold),.85); padding:4px 0 4px 26px; margin:28px 0;
}
.entry-content img{
  border-radius:16px; box-shadow:none; max-width:100%; height:auto; margin:10px 0;
}
.entry-content figure{margin:30px 0;}
/* Pirmasis turinio elementas neturi pridėti savo viršutinio tarpo — antraip
   prie sekcijų vidinių tarpų prisideda dar 30px (paveikslėlis) ar 22px
   (pastraipa), ir po antrašte atsiveria tuščia juosta. (v1.71.7) */
.entry-content > *:first-child{ margin-top:0; }
.entry-content > figure:first-child{ margin-top:0; }
.entry-content figcaption{font-size:0.85rem; color:var(--ink-muted); text-align:center; margin-top:8px;}
.entry-content a{color:var(--accent); text-decoration:underline; text-decoration-color:var(--hairline-strong);}
/* Mygtukai turinyje (v1.71.3). Taisyklė aukščiau yra specifiškesnė (0,1,1) už
   .btn-primary (0,1,0), todėl bet koks į puslapio turinį įdėtas mygtukas
   prarasdavo savo spalvą ir pabraukimą — tekstas tapdavo žalias ant žalio.
   Čia .btn atstatomas, kad mygtuką būtų galima dėti bet kur. */
.entry-content a.btn{ text-decoration:none; }
.entry-content a.btn-primary{ color:var(--bg-page); }
.entry-content a.btn-ghost{ color:var(--ink); }
html[data-theme="evening"] .entry-content a.btn-primary{ color:var(--bg-page); }
.entry-content .wp-block-columns{gap:40px;}

/* ===================================================
   MOBILE POLISH — tighter section spacing (ported from
   the same fix applied to the static prototype)
   =================================================== */
@media (max-width:899px){
  #hero{padding:150px 0 70px;}
  
  #wall{padding:50px 0 60px;}
  /* #blog nuo 1.77.3 turi savo vidinį rėmą (.reading-inner), todėl bendro
     skilties tarpo perrašyti nebereikia. */
  #about{padding:70px 0 50px;}
  
  #form-section{padding:20px 0 40px;}
  #all-messages{padding:50px 0 70px;}
  #page-hero{padding:calc(64px + var(--space-8)) 0 var(--space-8);}
  #project{padding:30px 0 60px;}
  #categories{padding:10px 0 60px;}
  #creator{padding:50px 0 70px;}
  /* #quotes tarpai dabar nustatomi jo paties vidiniame rėme. */
}


/* ===================================================
   ACCESSIBILITY + MEDIA  (added v1.30)
   =================================================== */

  /* Skip link — first thing a keyboard/screen-reader user hits, lets them
     jump past the header straight into the page content. */
  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:9999;
    background:var(--accent); color:#fff;
    padding:12px 20px; border-radius:0 0 12px 0;
    font-family:'Karla',sans-serif; font-weight:600; text-decoration:none;
  }
  .skip-link:focus{left:0;}

  /* Visible focus ring for everyone navigating by keyboard.
     v1.29 had `outline:none` on inputs/selects with only a border-colour
     change left behind, which is not a reliable focus indicator. */
  a:focus-visible,
  button:focus-visible,
  .plot:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  select:focus-visible{
    outline:3px solid var(--focus-ring);
    outline-offset:2px;
    box-shadow:0 0 0 2px var(--bg-page);
  }
  .field input:focus-visible, .field textarea:focus-visible, .field-row input:focus-visible, .search-wrap input:focus-visible {
    outline:3px solid var(--focus-ring);
    outline-offset:1px;
    box-shadow:0 0 0 1px var(--bg-page);
    border-color:var(--accent);
  }
  /* 1.75.6: pirminis mygtukas nebeturi žalio šešėlio ramybėje (jis buvo senojo
     stiliaus dalis), todėl fokuso taisyklėje jo kartoti nebereikia — lieka
     vien žiedas. */
  .btn-primary:focus-visible{
    box-shadow:0 0 0 2px var(--bg-page);
  }

  /* Cover images are real <img> elements now (alt text, lazy loading,
     srcset) instead of CSS background-images. These rules keep them
     looking identical to the old background-cover behaviour. */
  .card-photo{overflow:hidden;}
  .card-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .article-cover img {width:100%; height:100%; object-fit:cover; display:block;}
  .article-cover img{border-radius:16px;}

  /* Screen-reader-only utility */
  .screen-reader-text{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

/* ===================================================
   RICH-TEXT ADDITIONS (v1.31)
   - Gutenberg "Columns" block that actually breaks out
     of the narrow reading column when used.
   - Nested list styling for the "Apie mane" list.
   - A .da-columns utility for multi-column running text
     without needing the block editor.
   =================================================== */

/* When the owner drops a Columns block into a page's content, let it use the
   full section width instead of being squeezed into the 800px reading column.
   (Gutenberg adds .wp-block-columns to that block automatically.) */
.entry-content .wp-block-columns{
  max-width:1100px;
  margin-left:auto; margin-right:auto;
  gap:40px;
}
.entry-content .wp-block-column{min-width:0;}
.entry-content .wp-block-column > *:first-child{margin-top:0;}
@media (max-width:719px){
  .entry-content .wp-block-columns{gap:20px;}
}

/* Nested lists inside .entry-content and the About-me list.
   The theme hides the native bullet and draws a gold dot via ::before;
   sub-levels get a smaller, hollow dot and a lighter indent so the
   hierarchy reads clearly. */

/* Nested <ul> spacing (both in Gutenberg content and the About-me list).
   list-style:none is repeated here on purpose: the parent .creator-list only
   removes the native marker from ITSELF, not from the <ul> nested inside it —
   so without this the nested items showed the browser's default disc AND our
   custom dot = the "double bullet". */
.entry-content ul ul,
.creator-list ul{
  margin:10px 0 4px;
  padding-left:6px;
  list-style:none;
}
.creator-list ul li{
  position:relative; padding-left:26px; margin-bottom:10px; color:var(--ink-body);
}

/* Sub-level marker: smaller hollow olive dot, so it reads as a child of the
   solid gold top-level dot. We must OVERRIDE the top-level ::before here
   rather than add a second one — otherwise a nested <li> inherits the gold
   dot AND gets this one = the "double bullet" you saw. */
.entry-content ul ul li::before,
.creator-list ul li::before{
  width:6px; height:6px;
  background:transparent;
  border:1.5px solid var(--ink-meta);
  top:8px;
}

/* Bold sub-headers inside the list (e.g. "Saviugda ir praktika:"). */
.creator-list li strong{color:var(--ink);}

/* Multi-column running text utility.
   Wrap any block in <div class="da-columns da-columns-3"> … </div> to flow
   its text across columns. Great for the short intro paragraph under an H1
   where you specifically wanted 3 columns. Collapses to 1 column on phones. */







/* ===================================================
   THOUGHT SHARE / COPY  (v1.32)
   Buttons under the generator + the share-image modal.
   =================================================== */

/* Secondary, quiet actions under the generated thought. */
.thought-share{
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
  margin-top:18px;
}
.thought-share[hidden]{display:none;}
.thought-share-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; border:1px solid rgba(var(--rgb-green),0.45);
  color:var(--ink);
  font-family:'Karla',sans-serif; font-size:0.95rem;
  padding:9px 18px; border-radius:100px; cursor:pointer;
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.thought-share-btn svg{width:17px;height:17px;}
.thought-share-btn:hover{
  background:var(--bg-card); border-color:var(--ink-meta);
  transform:translateY(-1px);
}

/* ---- Modal ---- */
.share-modal{
  position:fixed; inset:0; z-index:1000;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.share-modal[hidden]{display:none;}
.share-modal-scrim{
  position:absolute; inset:0;
  background:rgba(var(--rgb-deep),0.55);
  backdrop-filter:blur(3px);
  opacity:0; transition:opacity .25s var(--ease);
}
.share-modal.open .share-modal-scrim{opacity:1;}
.share-modal-panel{
  position:relative; z-index:1;
  width:min(560px,100%);
  background:var(--bg-page);
  border-radius:24px;
  padding:34px 34px 30px;
  box-shadow:0 30px 70px -25px rgba(var(--rgb-deep),0.6);
  transform:translateY(16px) scale(0.98);
  opacity:0;
  transition:transform .28s var(--ease), opacity .28s var(--ease);
  max-height:calc(100vh - 48px);
  overflow-y:auto;
}
.share-modal.open .share-modal-panel{transform:translateY(0) scale(1); opacity:1;}
.share-modal-close{
  position:absolute; top:12px; right:14px;
  width:34px; height:34px; border:none; border-radius:50%;
  background:transparent; color:var(--ink-meta);
  font-size:26px; line-height:1; cursor:pointer;
  transition:background .25s var(--ease), color .25s var(--ease);
}
.share-modal-close:hover{background:var(--bg-card); color:var(--ink);}
.share-modal-title{
  font-family:'Fraunces LT','Fraunces',serif; font-size:1.3rem; font-weight:500;
  color:var(--ink); text-align:center; margin:0 0 18px;
}

.share-stage{
  display:flex; align-items:center; gap:14px;
  justify-content:center;
}
.share-stage-img{
  flex:0 1 360px; aspect-ratio:1/1; border-radius:16px; overflow:hidden;
  background:var(--bg-card); box-shadow:var(--shadow);
}
.share-stage-img img,
.share-stage-img canvas{width:100%; height:100%; object-fit:cover; display:block;}
.share-arrow{
  flex:0 0 auto; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(var(--rgb-green),0.4); background:var(--bg-page);
  color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.share-arrow svg{width:22px; height:22px;}
.share-arrow:hover{background:var(--bg-card); transform:scale(1.06);}

.share-counter{
  text-align:center; font-family:'Karla',sans-serif;
  font-size:0.85rem; color:var(--ink-meta); margin:12px 0 14px;
  letter-spacing:0.04em;
}

.share-thumbs{
  display:flex; gap:8px; justify-content:center; flex-wrap:wrap;
  margin-bottom:22px;
}
.share-thumb{
  width:52px; height:52px; padding:0; border-radius:10px; overflow:hidden;
  border:2px solid transparent; background:var(--bg-card); cursor:pointer;
  transition:border-color .2s var(--ease), transform .2s var(--ease);
}
.share-thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.share-thumb:hover{transform:translateY(-2px);}
.share-thumb.active{border-color:var(--gold);}

.share-modal-actions{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  margin-top:4px;
}
.share-action{
  font-size:0.95rem; padding:12px 22px;
  flex:0 1 auto; min-width:150px; justify-content:center;
  text-align:center;
}
@media (max-width:520px){
  .share-modal-actions{flex-direction:column; align-items:stretch;}
  .share-action{width:100%; min-width:0;}
}

/* Toast for copy/share feedback (bottom-center, distinct from the wall toast). */
.toast#share-toast{
  position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(12px);
  z-index:1100;
  background:var(--ink); color:var(--bg-page);
  font-family:'Karla',sans-serif; font-size:0.95rem;
  padding:12px 22px; border-radius:100px;
  box-shadow:0 16px 34px -14px rgba(var(--rgb-deep),0.7);
  opacity:0; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.toast#share-toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

@media (max-width:619px){
  .share-modal-panel{padding:24px 18px 22px;}
  .share-arrow{width:34px; height:34px;}
  .share-modal-title{font-size:1.15rem;}
}

@media (prefers-reduced-motion:reduce){
  .share-modal-scrim,.share-modal-panel,.toast#share-toast,
  .thought-share-btn,.share-arrow,.share-thumb{transition:none;}
}

/* ===================================================
   COMMUNITY COUNTER  (v1.34)
   Quiet line above the wall; hides itself under 10 messages (PHP side).
   =================================================== */
.community-counter{
  /* 1.85.2: `inline-block`, ne `inline-flex` — flex konteineryje kiekvienas
     teksto gabalas tapdavo atskiru stulpeliu, todėl telefone eilutė
     subyrėdavo į tris stulpelius. Dabar tekstas laužiamas įprastai. */
  display:inline-block; max-width:100%; box-sizing:border-box;
  margin:22px 0 0; padding:9px 20px;
  background:rgba(var(--rgb-gold),.12);
  border:1px solid rgba(var(--rgb-gold),.4);
  border-radius:var(--radius-pill);
  font-family:'Karla',sans-serif; font-size:15px; line-height:1.5;
  color:var(--ink-body); text-align:center;
}
.community-counter strong{
  font-family:var(--font-display); font-weight:600; font-size:17px;
  color:var(--ink);
}
.community-counter::before{
  content:""; display:inline-block; vertical-align:middle;
  width:7px; height:7px; margin:0 8px 2px 0; border-radius:50%;
  background:var(--gold);
}
/* Tamsi juosta pradiniame puslapyje — abiejose temose tamsi, todėl tik
   `--onpanel-*` spalvos. Anksčiau skaičius buvo tamsiai žalias ant tamsios. */
.wall-section .community-counter{ color:var(--onpanel-text); }
.wall-section .community-counter strong{ color:var(--onpanel-paper); }

/* ===================================================
   DUSK MODE  (v1.35)
   Twilight palette applied via html[data-theme="evening"]. Because the whole
   site paints from these CSS variables, overriding them here recolours
   everything — text, gradients, and the background leaves — at once.

   Specificity note: the Customizer prints the day colours as :root{…}. The
   html[data-theme="evening"] selector below is more specific than :root, so it
   wins when dusk is active. Dusk uses a fixed hand-tuned palette (it does not
   derive from custom day colours) — calm twilight, not high-contrast night.
   =================================================== */
html[data-theme="evening"]{
  --shadow: 0 20px 45px -20px rgba(0,0,0,0.5);
  /* A dedicated fixed-dark tone for surfaces that in day mode used
     var(--ink) as a BACKGROUND (e.g. the footer). Those must stay
     dark in dusk — they can't follow --forest-dark, which we flipped light
     for text. */
  --panel-dark:#1a241e;

  /* Accessibility tokens in dusk. The soft gold already reads at ~9:1 on the
     dark background, so the ring's dark edge only needs to stay dark; olive
     and the muted grey lift to light tones like the rest of the text. */
}

/* Base page colours so areas painted with literal cream/charcoal follow too. */
html[data-theme="evening"] body{
  background:var(--bg-page);
  color:var(--ink);
}

/* Several paragraphs use a hardcoded muted grey (#4a4a44 / #3f3f38 / #5a5a52 /
   #555) for body text. In dusk those would be dark-on-dark; lift them all to a
   soft light tone. Broad coverage so nothing gets missed. */
html[data-theme="evening"] .hero-body, html[data-theme="evening"] .wall-head p, html[data-theme="evening"] .creator-list li, html[data-theme="evening"] .creator-list ul li, html[data-theme="evening"] .cat-text-side p, html[data-theme="evening"] .quotes-head p, html[data-theme="evening"] .messages-head p, html[data-theme="evening"] .entry-content, html[data-theme="evening"] .entry-content p, html[data-theme="evening"] .entry-content li, html[data-theme="evening"] section p {
  color:var(--ink-body);
}
/* 1.85.2: išimtys aukščiau esančiai plačiai `section p` taisyklei. Šios
   kortelės šviesios ABIEJOSE temose (maketas `10 Pradinis`: var(--c-light) fonas,
   var(--c-deep) tekstas), todėl vakare tekstas turi likti tamsus — kitaip šviesus
   tekstas ant šviesios kortelės tiesiog dingdavo. Taisyklė turi būti ŽEMIAU
   plačiosios ir bent tokio pat svorio. */
html[data-theme="evening"] .ribbon-note p{
  color:var(--onpanel-ink);
}
/* Headings stay brighter for hierarchy. */
html[data-theme="evening"] h1,
html[data-theme="evening"] h2,
html[data-theme="evening"] h3,
html[data-theme="evening"] .about-headline,
html[data-theme="evening"] .entry-content h2,
html[data-theme="evening"] .entry-content h3{
  color:var(--ink);
}

/* v1.74.1: antgalvio spalvos dabar ateina iš žetonų (--bg-page / --hairline),
   kurie vakaro temoje persijungia patys, todėl atskiros taisyklės nebereikia. */

/* Cards / forms / pills / filters that used white (#fff) backgrounds become
   warm dark panels in dusk. Listed explicitly (rather than a blanket rule) so
   nothing unexpected gets recoloured. */
html[data-theme="evening"] .card, html[data-theme="evening"] .wall-form, html[data-theme="evening"] .thought-box, html[data-theme="evening"] .wp-note, html[data-theme="evening"] .plot, html[data-theme="evening"] .share-modal-panel, html[data-theme="evening"] .quote-card, html[data-theme="evening"] .note, html[data-theme="evening"] .cat-card, html[data-theme="evening"] .badge, html[data-theme="evening"] .article-tag, html[data-theme="evening"] .search-wrap input {
  background:var(--bg-card);
  color:var(--ink);
}
/* Cat badge circle + note cards keep a slightly lifted panel. */
html[data-theme="evening"] .cat-badge{
  background:var(--bg-card);
  color:var(--gold);
}
/* Quote/cat cards' accent border stays, just on a dark panel. */
html[data-theme="evening"] .quote-card,
html[data-theme="evening"] .wp-note{
  border-left-color:var(--accent);
}

/* Inputs in dusk. */
html[data-theme="evening"] input,
html[data-theme="evening"] textarea,
html[data-theme="evening"] select{
  background:var(--bg-card); color:var(--ink);
  border-color:rgba(255,255,255,0.14);
}
html[data-theme="evening"] input::placeholder,
html[data-theme="evening"] textarea::placeholder{ color:var(--ink-muted); }

/* Soften the big white gradient washes so they don't over-brighten dusk. */
html[data-theme="evening"] #creator,
html[data-theme="evening"] #all-messages,
html[data-theme="evening"] .wall-section{
  background: radial-gradient(ellipse 900px 400px at 50% 0%, rgba(143,180,140,0.10), transparent 60%);
}

/* ---- The toggle button + icon swap ---- */
/* v1.74.5: režimo mygtukas atrodo lygiai taip pat kaip socialinių tinklų
   mygtukai — užrašinė piliulė, be jokių ženkliukų, visuose pločiuose. Užrašas
   rodo TIKSLĄ („Vakaras“, kai dabar diena), jį keičia main.js.
   Saulės/mėnulio ikonos HTML'e paliktos dėl senų talpyklos versijų, bet
   paslėptos — jei kada prireiktų, pakanka atkurti šias tris eilutes. */
.theme-toggle{
  /* 2.1.0: tylus — tik ikona, be rėmelio; ryškėja užvedus. */
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:40px; height:40px; padding:0; margin:0;
  background:none; border:0; border-radius:50%;
  cursor:pointer; color:var(--ink-muted); opacity:.75;
  transition:opacity var(--motion-hover), color var(--motion-hover), background-color var(--motion-hover);
}
@media (hover:hover){ .theme-toggle:hover{ opacity:1; color:var(--ink); background:var(--hairline); } }
.theme-toggle svg{ display:block; width:19px; height:19px; }
@media (max-width:899px){ .theme-toggle{ width:44px; height:44px; } }
.theme-toggle:focus-visible{ opacity:1; }
.theme-toggle-label{ display:none; }
/* Rodo TIKSLĄ: dieną — mėnulis, vakare — saulė. */
.theme-toggle .icon-sun{ display:none; }
html[data-theme="evening"] .theme-toggle .icon-sun{ display:block; }
html[data-theme="evening"] .theme-toggle .icon-moon{ display:none; }

/* Smooth, EVEN transition when the visitor flips the toggle. Applied to every
   element (via *) but only while .theme-anim is on the <html> (added on click,
   never on first load), and only for the colour properties that actually change
   with the theme — never transform/all, so hovers and animations aren't
   disturbed. This is what stops the old "some fade, most snap" unevenness. */
html.theme-anim *,
html.theme-anim *::before,
html.theme-anim *::after{
  transition: background-color .45s var(--ease),
              color .45s var(--ease),
              border-color .45s var(--ease),
              fill .45s var(--ease),
              stroke .45s var(--ease),
              box-shadow .45s var(--ease) !important;
}

@media (prefers-reduced-motion:reduce){
  .theme-toggle:hover{ transform:none; }
  html.theme-anim *, html.theme-anim *::before, html.theme-anim *::after{ transition:none !important; }
}

/* ===================================================
   DUSK MODE — component fixes (v1.35.1)
   =================================================== */

/* Footer: in day it's dark green via var(--ink). We flipped that var
   light for text, which turned the footer pale. Pin it to the fixed dark tone
   so it stays dark and matches the theme. Footer text is already light. */
/* v1.74.1: poraštė naudoja --bg-panel / --ink-on-panel, o šie žetonai vakaro
   temoje persijungia patys (var(--c-deep) -> var(--c-deep-3)), todėl atskirų taisyklių
   nebereikia. Bangos skirtuko nebėra. */

/* Polaroid / Instagram frame + project collage frames: white in day. In dusk
   use a soft mid panel (not the darkest tone) so the frame reads as a frame,
   not a black hole. */

html[data-theme="evening"] .ph {
  box-shadow:0 20px 45px -20px rgba(0,0,0,0.6);
}

/* Card body text used a hardcoded mid-grey (#5a5a52) → unreadable on dark. */
html[data-theme="evening"] .card p, html[data-theme="evening"] .card h3, html[data-theme="evening"] .quote-card p, html[data-theme="evening"] .note p, html[data-theme="evening"] .wp-note p, html[data-theme="evening"] .cat-card p {
  color:var(--ink-body);
}
html[data-theme="evening"] .card h3, html[data-theme="evening"] .cat-card h3 {
  color:var(--ink);
}

/* Viršelio vieta be nuotraukos: tas pats brūkšniuotas laukas kaip dienos
   režimu, tik tamsesnis (1.82.13) — žalio gradiento nebėra. */
html[data-theme="evening"] .card-photo,
html[data-theme="evening"] .card-photo--empty{
  background-color:var(--bg-raised);
  background-image:repeating-linear-gradient(135deg, rgba(var(--rgb-light),.08) 0 2px, transparent 2px 10px);
}

/* Read-more / links stay legible. */
html[data-theme="evening"] .read-more{ color:var(--gold); }

/* Filter chips / active states: keep the active pill readable. */
html[data-theme="evening"] .plot.active{
  background:var(--accent); color:var(--on-fill-ink);
}
html[data-theme="evening"] .plot.active svg{ stroke:var(--on-fill-ink); }

/* ---- Smoother radial washes (fix the "junky"/banded gradients) ----
   Banding comes from a hard colour→transparent radial. Extend the stops and
   lower the peak alpha so the falloff is gradual on both day and dusk. */
  #creator, #all-messages,
  #hero, .hero, .wall-section{
    background-repeat:no-repeat;
  }
html[data-theme="evening"] #creator,
html[data-theme="evening"] #all-messages,
html[data-theme="evening"] .wall-section{
  background-image: radial-gradient(ellipse 1100px 520px at 50% -5%,
     rgba(147,185,143,0.10) 0%,
     rgba(147,185,143,0.05) 35%,
     rgba(147,185,143,0.0) 70%);
}

/* One-time hint bubble pointing at the theme toggle. */
.theme-hint{
  position:absolute; top:calc(100% + 10px); right:0;
  background:var(--ink); color:var(--bg-page);
  font-family:'Karla',sans-serif; font-size:0.8rem; white-space:nowrap;
  padding:7px 13px; border-radius:8px;
  box-shadow:0 10px 24px -12px rgba(0,0,0,0.5);
  opacity:0; transform:translateY(-4px); pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
  z-index:60;
}
.theme-hint.show{ opacity:1; transform:translateY(0); }
.theme-hint::before{
  content:""; position:absolute; bottom:100%; right:14px;
  border:6px solid transparent; border-bottom-color:var(--ink);
}
html[data-theme="evening"] .theme-hint{ background:var(--bg-card); color:var(--ink); }
html[data-theme="evening"] .theme-hint::before{ border-bottom-color:var(--bg-card); }

/* Smooth brightness ramp on toggle.
   CSS can't animate the body's gradient, so dark→light used to "blast" bright.
   This fixed overlay is dark and fades its OPACITY (which DOES animate): fully
   present in dusk, gone in day. On toggle it fades in/out over .5s, so the
   perceived brightness ramps gently in both directions and the gradient snap
   underneath is masked. z-index:-1 keeps it behind all content but above the
   body's own background. */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:-1;
  background:#1a241e;
  opacity:0;
  transition:opacity .5s var(--ease);
}
html[data-theme="evening"] body::before{ opacity:1; }

/* Faint noise dither over the whole viewport to smooth gradient banding. */
body::after{
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.02;
  mix-blend-mode:soft-light;
}
html[data-theme="evening"] body::after{ opacity:0.035; }

/* ===================================================
   GRADIENT BANDING FIX (v1.35.3)
   The single body::before dither above smooths the washes across the whole
   page. (An earlier per-section overlay was removed: it forced a stacking
   context on every section child, which disturbed top spacing — and it was
   redundant with the body-level layer anyway.)
   =================================================== */

/* Page subtitle under the H1 (was an inline color, now themeable). */
.page-subtitle{ color:var(--ink-body); }
html[data-theme="evening"] .page-subtitle{ color:var(--ink-body); }

/* Empty-state messages ("Kol kas žinučių nėra…") — themeable. */
.empty-state{ color:var(--ink-muted); }
html[data-theme="evening"] .empty-state{ color:var(--ink-muted); }

/* ===================================================
   SKAITYKLA SPLIT-HERO (v1.38)
   Featured newest article, image + text side by side, above the grid.
   Hidden by JS when filters/search are active; only rendered by PHP when
   the newest post has a featured image.
   =================================================== */
.reader-hero{
  display:grid; grid-template-columns:1.05fr 1fr; gap:0;
  background:var(--bg-card); border-radius:18px; overflow:hidden;
  box-shadow:0 22px 46px -26px rgba(47,47,47,0.35);
  margin:0 0 40px; text-decoration:none; position:relative;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), opacity .3s var(--ease);
}
.reader-hero-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.reader-hero-more::after{ content:""; position:absolute; inset:0; z-index:1; }
.reader-hero:hover{ transform:translateY(-3px); box-shadow:0 30px 56px -26px rgba(47,47,47,0.4); }
.reader-hero--hiding{ opacity:0; transform:translateY(-8px); }

.reader-hero-media{ position:relative; min-height:260px; overflow:hidden; background:var(--bg-card); }
.reader-hero-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.reader-hero-badge{
  position:absolute; top:16px; left:16px;
  background:var(--gold); color:#4a3c14;
  font-family:'Karla',sans-serif; font-size:0.68rem; letter-spacing:0.1em;
  text-transform:uppercase; padding:6px 14px; border-radius:100px;
}

.reader-hero-body{ padding:34px 38px; display:flex; flex-direction:column; justify-content:center; }
.reader-hero-cat{
  font-family:'Karla',sans-serif; font-size:0.72rem; letter-spacing:0.09em;
  text-transform:uppercase; color:var(--ink-meta); margin-bottom:10px;
}
.reader-hero-title{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  font-size:1.9rem; line-height:1.18; color:var(--ink); margin:0 0 12px;
}
.reader-hero-excerpt{
  font-family:'Fraunces LT','Fraunces',serif; font-size:1.02rem; line-height:1.6;
  color:var(--ink-body); margin:0 0 18px;
}
.reader-hero-more{
  font-family:'Karla',sans-serif; font-size:0.92rem; color:var(--accent);
  border-bottom:1.5px solid var(--gold); padding-bottom:2px; text-decoration:none;
  transition:color .3s var(--ease);
}
.reader-hero:hover .reader-hero-more{ color:var(--ink); }

@media (max-width:719px){
  .reader-hero{ grid-template-columns:1fr; margin-bottom:32px; }
  .reader-hero-media{ min-height:0; aspect-ratio:16/9; }
  .reader-hero-body{ padding:26px 24px; }
  .reader-hero-title{ font-size:1.55rem; }
}

/* Dusk */
html[data-theme="evening"] .reader-hero{ background:var(--bg-card); }
html[data-theme="evening"] .reader-hero-title{ color:var(--ink); }
html[data-theme="evening"] .reader-hero-excerpt{ color:var(--ink-body); }

/* ===================================================
   BREATHING EXERCISE CIRCLE  (v1.39)
   Shown only for "Maža praktika" thoughts the owner flagged. 4s inhale (grow)
   + 4s exhale (shrink) on an 8s loop; JS swaps the Įkvėpk / Iškvėpk cue.
   =================================================== */
.breathing{
  display:flex; justify-content:center; align-items:center;
  margin:22px auto 4px;
}
.breathing[hidden]{ display:none; }
.breathing-circle{
  width:120px; height:120px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 45%, var(--hairline-strong), var(--ink-meta));
  box-shadow:0 12px 30px -12px rgba(var(--rgb-green),0.5);
  color:#fff;
  transform:scale(0.72);
}
.breathing.is-running .breathing-circle{
  animation:da-breathe 8s ease-in-out infinite;
}
.breathing-cue{
  font-family:'Karla',sans-serif; font-size:1rem; letter-spacing:0.04em;
  color:#fff; user-select:none;
}
@keyframes da-breathe{
  0%   { transform:scale(0.72); }   /* start of inhale */
  50%  { transform:scale(1.12); }   /* fully inhaled (4s) */
  100% { transform:scale(0.72); }   /* fully exhaled (8s) */
}
/* Dusk: softer glow. */
html[data-theme="evening"] .breathing-circle{
  background:radial-gradient(circle at 50% 45%, #5f8168, #45604d);
  box-shadow:0 12px 30px -12px rgba(0,0,0,0.55);
}
/* Respect reduced-motion: JS won't start it, but hide the animation entirely
   as a belt-and-suspenders and just show a static calm circle if it appears. */
@media (prefers-reduced-motion:reduce){
  .breathing.is-running .breathing-circle{ animation:none; transform:scale(1); }
}

/* ===================================================
   FAVORITES ("Mėgstamiausios mintys")  (v1.40)
   Header heart + count, hearts on quotes/generator, slide-in panel.
   =================================================== */

/* Header open button */
.fav-open{
  /* v1.74.1: to paties dydžio ir formos kaip temos bei meniu mygtukai. */
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0; cursor:pointer;
  background:none; border:1px solid var(--hairline-strong);
  border-radius:999px; color:var(--ink);
  transition:border-color var(--motion-hover), color var(--motion-hover);
}
.fav-open[hidden]{ display:none; }
.fav-open:hover{ border-color:var(--gold); color:var(--ink); }
.fav-open svg{ width:20px; height:20px; fill:currentColor; }
.fav-count{
  position:absolute; top:-6px; right:-6px; min-width:17px; height:17px; padding:0 4px;
  background:var(--fill-ink); color:var(--on-fill-ink); border-radius:100px; /* 3.7.0: buvo ruda ant žalio */
  font-family:'Karla',sans-serif; font-size:0.66rem; font-weight:700;
  display:flex; align-items:center; justify-content:center; line-height:1;
}

/* Heart control (quotes + generator) */
.fav-heart{
  background:transparent; border:none; cursor:pointer; padding:4px;
  color:var(--ink-meta); transition:color .25s var(--ease), transform .2s var(--ease);
  line-height:0;
}
.fav-heart svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; transition:fill .25s var(--ease), stroke .25s var(--ease); }
.fav-heart:hover{ transform:scale(1.12); }
.fav-heart.is-fav{ color:#d98a8a; }
.fav-heart.is-fav svg{ fill:#e0a3a3; stroke:#d98a8a; }

/* Citatos kortelėje širdelė ir kopijavimas yra viena pora, todėl širdelė
   perima tą pačią formą kaip kopijavimo mygtukas: apvalus kraštelis, toks pat
   dydis, tas pats užvedimo elgesys. Be šito vienas mygtukas buvo plikas
   ženkliukas, kitas — apvadu apibrėžtas, ir eilutė atrodė sudurstyta iš dviejų
   skirtingų stilių (1.79.7). Kitur svetainėje širdelė lieka tokia, kokia buvo. */
.quote-card .fav-heart{
  position:static;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:var(--tap); min-height:var(--tap); padding:0;
  border:1px solid rgba(var(--rgb-deep),.2); border-radius:var(--radius-pill);
  color:var(--ink-body);
  transition:border-color var(--motion-hover), color var(--motion-hover);
}
.quote-card .fav-heart svg{ width:17px; height:17px; stroke-width:1.5; }
.quote-card .fav-heart:hover{ transform:none; border-color:var(--ink); color:var(--ink); }
.quote-card .fav-heart.is-fav{ color:#c96f6f; border-color:#e0a3a3; }
.quote-card .fav-heart.is-fav svg{ fill:#e0a3a3; stroke:#c96f6f; }
html[data-theme="evening"] .quote-card .fav-heart{ border-color:var(--hairline-strong); }

/* Inline heart in the generator action row: matches the share buttons */
.fav-heart-inline{
  display:inline-flex; align-items:center; gap:8px; padding:9px 18px;
  border:1px solid rgba(var(--rgb-green),0.45); border-radius:100px;
  font-family:'Karla',sans-serif; font-size:0.95rem; color:var(--ink);
  line-height:1;
}
.fav-heart-inline svg{ width:17px; height:17px; }
.fav-heart-inline:hover{ transform:translateY(-1px); background:var(--bg-card); }
.fav-heart-inline.is-fav{ color:#c96f6f; border-color:#e0a3a3; }

/* Slide-in panel */
.fav-panel{ position:fixed; inset:0; z-index:1200; }
.fav-panel[hidden]{ display:none; }
.fav-panel-scrim{
  position:absolute; inset:0; background:rgba(var(--rgb-deep),0.5);
  opacity:0; transition:opacity .25s var(--ease);
}
.fav-panel.open .fav-panel-scrim{ opacity:1; }
.fav-panel-body{
  position:absolute; top:0; right:0; height:100%;
  width:min(400px,100%); background:var(--bg-page);
  box-shadow:-20px 0 50px -20px rgba(var(--rgb-deep),0.5);
  transform:translateX(100%); transition:transform .3s var(--ease);
  display:flex; flex-direction:column; padding:26px 24px;
  overflow-y:auto;
}
.fav-panel.open .fav-panel-body{ transform:translateX(0); }
.fav-panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
.fav-panel-title{ font-family:'Fraunces LT','Fraunces',serif; font-weight:500; font-size:1.4rem; color:var(--ink); margin:0; }
.fav-panel-close{ width:34px; height:34px; border:none; background:transparent; color:var(--ink-meta); font-size:26px; line-height:1; cursor:pointer; border-radius:50%; }
.fav-panel-close:hover{ background:var(--bg-card); color:var(--ink); }
.fav-panel-empty{ font-family:'Karla',sans-serif; color:var(--ink-meta); font-size:0.95rem; line-height:1.6; }

.fav-item{ background:var(--bg-card); border-radius:14px; padding:16px 18px; margin-bottom:12px; box-shadow:0 10px 22px -18px rgba(47,47,47,0.25); }
.fav-item-text{ font-family:'Fraunces LT','Fraunces',serif; font-size:1.02rem; line-height:1.5; color:var(--ink); margin:0 0 10px; }
.fav-item-author{ display:block; font-family:'Karla',sans-serif; font-size:0.82rem; color:var(--ink-meta); margin-top:6px; font-style:normal; }

.fav-item-copy,.fav-item-remove{
  font-family:'Karla',sans-serif; font-size:0.82rem; padding:6px 14px; border-radius:100px; cursor:pointer;
  border:1px solid rgba(var(--rgb-green),0.4); background:transparent; color:var(--ink);
  transition:background .25s var(--ease);
}
.fav-item-copy:hover{ background:var(--bg-card); }
.fav-item-remove{ border-color:rgba(200,120,120,0.4); color:#b26b6b; }
.fav-item-remove:hover{ background:rgba(200,120,120,0.08); }

/* Dusk */
html[data-theme="evening"] .fav-panel-body{ background:var(--bg-page); }
html[data-theme="evening"] .fav-item{ background:var(--bg-card); }
html[data-theme="evening"] .fav-item-text{ color:var(--ink); }
html[data-theme="evening"] .fav-open:hover{ color:var(--gold); }

@media (max-width:619px){
  .fav-panel-body{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .fav-panel-scrim,.fav-panel-body,.fav-heart,.fav-open{ transition:none; }
}

/* ===================================================
   DAILY PROMPT — "Šiandienos kvietimas"  (v1.41)
   Sits above the wall message form. Quiet, warm, and clearly an invitation
   rather than a heading — it should feel like a nudge, not an instruction.
   =================================================== */
/* Šiandienos kvietimas (1.76.0): plokščias blokas ant pakelto paviršiaus,
   be auksinio užpildo; kvietimas rašomas Fraunces be kursyvo, kaip makete. */
.daily-prompt{
  max-width:680px; margin:0 auto var(--space-8); text-align:center;
  padding:24px 28px;
  background:var(--bg-raised);
  border:1px solid var(--hairline);
  border-radius:var(--radius-card);
}
.daily-prompt-label{
  display:inline-block;
  font:var(--type-meta); letter-spacing:var(--ls-meta); text-transform:uppercase;
  color:var(--ink-meta); margin-bottom:10px;
}
.daily-prompt-text{
  font-family:var(--font-display); font-style:normal; font-weight:400;
  font-size:22px; line-height:1.4; letter-spacing:-0.01em;
  color:var(--ink); margin:0; text-wrap:pretty;
}

@media (max-width:619px){
  .daily-prompt{ padding:18px 20px; margin-bottom:22px; }
  .daily-prompt-text{ font-size:1.05rem; }
}

/* Dusk */
html[data-theme="evening"] .daily-prompt{
  background:rgba(var(--rgb-gold),0.09);
  border-color:rgba(var(--rgb-gold),0.28);
}
html[data-theme="evening"] .daily-prompt-text{ color:var(--ink); }

/* ===================================================
   EMOTION WHEEL — "Emocijų ratas"  (v1.43)
   Intro above, wheel centred, explanation below. Desktop shows both rings so
   any shade is one click; mobile shows the core ring only.
   =================================================== */

.ew-idle-title{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  font-size:1.9rem; color:var(--ink); margin:0 0 12px;
}
.ew-idle-text{ font-family:'Karla',sans-serif; font-size:1rem; line-height:1.7; color:var(--ink-body); margin:0; }

.ew-wheel-wrap{ width:100%; margin:0 auto; }
.ew-svg{ width:100%; height:auto; display:block; margin:0 auto; }

/* Desktop: two rings by default, three when expanded. Mobile: core ring only. */
.ew-svg--full{ display:block; max-width:760px; }
.ew-svg--expanded{ display:none; max-width:820px; }
.ew-svg--core{ display:none; max-width:430px; }
.ew-wheel-wrap.is-expanded .ew-svg--full{ display:none; }
.ew-wheel-wrap.is-expanded .ew-svg--expanded{ display:block; }
@media (max-width:899px){
  .ew-svg--full, .ew-svg--expanded{ display:none !important; }
  .ew-svg--core{ display:block; }
}

/* Expand control — desktop only; on mobile the deeper levels are buttons. */
.ew-expand-row{ text-align:center; margin-top:14px; }
.ew-expand{
  font-family:'Karla',sans-serif; font-size:0.92rem; cursor:pointer;
  background:transparent; color:var(--accent);
  border:1px solid rgba(var(--rgb-green),0.45); border-radius:100px;
  padding:9px 20px;
  transition:background .25s var(--ease), border-color .25s var(--ease);
}
.ew-expand:hover{ background:var(--bg-card); border-color:var(--ink-meta); }
.ew-expand .ew-expand-less{ display:none; }
.ew-wheel-wrap.is-expanded ~ .ew-expand-row .ew-expand .ew-expand-more{ display:none; }
.ew-wheel-wrap.is-expanded ~ .ew-expand-row .ew-expand .ew-expand-less{ display:inline; }
@media (max-width:899px){ .ew-expand-row{ display:none; } }

/* Mobile-only explanation of the reduced wheel (v1.70.0). Hidden on desktop,
   where the full wheel is already on screen and the note would be untrue. */
.ew-mobile-note{ display:none; }
@media (max-width:899px){
  .ew-mobile-note{
    display:block; max-width:520px; margin:16px auto 0; text-align:center;
    font-family:'Karla',sans-serif; font-size:0.85rem; line-height:1.55;
    color:var(--ink-muted);
  }
}

.ew-seg, .ew-shade-seg, .ew-word-seg{ cursor:pointer; }
.ew-seg path, .ew-shade-seg path, .ew-word-seg path{ transition:opacity .3s var(--ease), filter .3s var(--ease); }
.ew-seg text, .ew-shade-seg text, .ew-word-seg text{
  fill:#fff; font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  pointer-events:none;
}
.ew-seg:hover path, .ew-shade-seg:hover path, .ew-word-seg:hover path{ filter:brightness(1.09); }
.ew-seg:focus, .ew-shade-seg:focus, .ew-word-seg:focus{ outline:none; }
.ew-seg:focus-visible path, .ew-shade-seg:focus-visible path, .ew-word-seg:focus-visible path{
  filter:brightness(1.12); stroke:var(--ink); stroke-width:3;
}
.ew-seg.is-dim path, .ew-shade-seg.is-dim path, .ew-word-seg.is-dim path{ opacity:0.28; }
.ew-seg.is-dim text, .ew-shade-seg.is-dim text, .ew-word-seg.is-dim text{ opacity:0.55; }
.ew-seg.is-active path, .ew-shade-seg.is-active path, .ew-word-seg.is-active path{ filter:brightness(1.12); }

.ew-hub{ fill:var(--bg-page); }
.ew-hub-text{
  fill:var(--ink); font-family:'Fraunces LT','Fraunces',serif;
  font-size:30px; font-weight:500;
}

/* Explanation, below the wheel */
.ew-panel{ max-width:720px; margin:34px auto 0; }
.ew-panel.is-empty{ margin:0; }

.ew-detail{
  position:relative;
  background:var(--bg-card); border-radius:20px; padding:30px 32px;
  border-left:5px solid var(--accent, var(--accent));
  box-shadow:0 20px 44px -28px rgba(47,47,47,0.35);
}
.ew-close{
  position:absolute; top:12px; right:14px;
  width:32px; height:32px; padding:0; line-height:1;
  border:none; border-radius:50%; background:transparent;
  color:var(--ink-meta); font-size:24px; cursor:pointer;
  transition:background .25s var(--ease), color .25s var(--ease);
}
.ew-close:hover{ background:var(--bg-card); color:var(--ink); }
html[data-theme="evening"] .ew-close:hover{ background:rgba(255,255,255,0.07); color:var(--ink); }

.ew-detail-eyebrow{
  font-family:'Karla',sans-serif; font-size:0.72rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--ink-meta);
}
.ew-detail-title{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  font-size:2rem; line-height:1.15; color:var(--accent, var(--ink));
  margin:6px 0 14px;
}
.ew-detail-desc{ font-family:'Karla',sans-serif; font-size:1rem; line-height:1.7; color:var(--ink-body); }
.ew-detail-desc p{ margin:0 0 12px; }

.ew-narrow{
  font-family:'Karla',sans-serif; font-size:0.86rem; letter-spacing:0.04em;
  color:var(--ink-meta); margin:18px 0 10px;
}
.ew-shades{ display:flex; flex-wrap:wrap; gap:9px; }
.ew-shade{
  font-family:'Karla',sans-serif; font-size:0.95rem; cursor:pointer;
  padding:9px 18px; border-radius:100px; color:#fff;
  background:var(--shade, var(--accent)); border:none;
  transition:transform .25s var(--ease), filter .25s var(--ease);
}
.ew-shade:hover{ transform:translateY(-2px); filter:brightness(1.08); }

.ew-invite{ margin-top:22px; padding-top:20px; border-top:1px dashed rgba(var(--rgb-green),0.35); }
.ew-invite p{
  font-family:'Fraunces LT','Fraunces',serif; font-style:italic;
  font-size:1.05rem; line-height:1.55; color:var(--ink); margin:0 0 14px;
}

/* "Parodyti rate" — reveals the word in the expanded wheel. Desktop only:
   on mobile there is no three-ring wheel to show it in. */
.ew-show-row{ margin:14px 0 0; }
.ew-show-in-wheel{
  font-family:'Karla',sans-serif; font-size:0.88rem; cursor:pointer;
  background:transparent; color:var(--accent);
  border:1px dashed rgba(var(--rgb-green),0.5); border-radius:100px;
  padding:7px 16px;
  transition:background .25s var(--ease), border-color .25s var(--ease);
}
.ew-show-in-wheel:hover{ background:var(--bg-card); border-color:var(--ink-meta); }
@media (max-width:899px){ .ew-show-row{ display:none; } }

.ew-back{
  margin-top:18px; background:transparent; border:none; cursor:pointer;
  font-family:'Karla',sans-serif; font-size:0.9rem; color:var(--ink-meta); padding:4px 0;
}
.ew-back:hover{ color:var(--ink); }

@media (max-width:899px){
  
  .ew-idle-title{ font-size:1.6rem; }
  .ew-detail{ padding:24px 22px; }
  .ew-detail-title{ font-size:1.7rem; }
  .ew-panel{ margin-top:26px; }
}

/* Dusk */
html[data-theme="evening"] .ew-hub{ fill:var(--bg-card); }
html[data-theme="evening"] .ew-hub-text{ fill:var(--ink); }
html[data-theme="evening"] .ew-detail{ background:var(--bg-card); }
html[data-theme="evening"] .ew-detail-desc,
html[data-theme="evening"] .ew-idle-text{ color:var(--ink-body); }
html[data-theme="evening"] .ew-idle-title,
html[data-theme="evening"] .ew-invite p{ color:var(--ink); }

@media (prefers-reduced-motion:reduce){
  .ew-seg path,.ew-shade-seg path,.ew-word-seg path,.ew-shade{ transition:none; }
}

/* ===================================================
   PRAKTIKOS hub
   =================================================== */
/* ---------- „Nuo ko pradėti“ (1.83.2) ----------
   Dvi skiltys: tekstas su mygtuku kairėje, sunumeruoti žingsniai kortelėje
   dešinėje. Žingsnius skiria plaukelis — kaip makete. */
#nuo-ko-pradeti.tools-end{ background:var(--bg-alt); padding:0; }
.tools-end-inner{
  width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
  padding:clamp(48px, 8vw, 88px) var(--gutter-wide);
  display:grid; grid-template-columns:minmax(0, 1fr); gap:clamp(28px, 5vw, 56px);
  align-items:start;
}
@media (min-width:900px){
  /* 1.83.3: žingsnių kortelė platesnė — stulpeliai lygūs. 460px riba darė ją
     siaurą šalia teksto; makete ji apskritai per visą plotį. Teksto stulpelis
     vis tiek nesiplečia be galo, nes jo turinys apribotas 52ch. */
  .tools-end-inner{ grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); }
}
.tools-end-copy{ display:flex; flex-direction:column; gap:18px; }
.tools-end-eyebrow{
  font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-meta);
}
.tools-end-copy h2{
  margin:0; max-width:20ch; font:400 clamp(29px, 4.9vw, 47px)/1.06 var(--font-display);
  letter-spacing:var(--ls-display-2); color:var(--ink); text-wrap:balance;
}
.tools-end-copy p{
  margin:0; max-width:52ch; font-size:clamp(16px, 1.9vw, 18px); line-height:1.72;
  color:var(--ink-body); text-wrap:pretty;
}
.tools-end-copy .btn{ align-self:flex-start; }
.tools-end-steps{
  margin:0; padding:clamp(24px, 3.6vw, 34px); list-style:none;
  background:var(--bg-card); border:1px solid rgba(var(--rgb-deep),.12); border-radius:18px;
  display:flex; flex-direction:column; gap:18px;
}
.tools-end-steps li{ display:flex; gap:16px; align-items:flex-start; }
.tools-end-steps li + li{ border-top:1px solid rgba(var(--rgb-deep),.1); padding-top:18px; }
.tools-end-num{
  flex:none; padding-top:4px;
  font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.16em; color:var(--ink-meta);
}
.tools-end-text{ font-size:16px; line-height:1.7; color:var(--ink-body); text-wrap:pretty; }
html[data-theme="evening"] .tools-end-steps{ border-color:var(--hairline); }
html[data-theme="evening"] .tools-end-steps li + li{ border-top-color:var(--hairline); }

/* ---------- Įrankių puslapis (1.83.1) ----------
   Skiltis su savo plačiu rėmu; kortelė plokščia, su plaukeliu ir aukštesne
   nuotrauka, o „Atidaryti →“ prilimpa prie kortelės apačios. Pakilimo ir
   šešėlio nebėra — užvedus tik patamsėja kraštas. */
#practices{ background:var(--bg-page); padding:0; }
#practices > .wrap{
  width:100%; max-width:var(--wrap-wide); margin:0 auto; box-sizing:border-box;
  padding:clamp(36px, 6vw, 56px) var(--gutter-wide) clamp(56px, 9vw, 96px);
  display:flex; flex-direction:column; gap:clamp(24px, 4vw, 34px);
}
.tools-hub-title{
  margin:0; max-width:22ch;
  font:400 clamp(27px, 4.5vw, 41px)/1.1 var(--font-display);
  letter-spacing:-0.01em; color:var(--ink); text-wrap:balance;
}
.tools-hub-bar{
  /* 1.87.0: viena eilutė — kairėje kas rodoma, dešinėje kiek (maketas `14`). */
  border-top:1px solid rgba(var(--rgb-deep),.14); padding-top:18px;
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 16px;
}
.tools-hub-hint, .tools-hub-count{
  font-family:'Karla',sans-serif; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-meta);
}
html[data-theme="evening"] .tools-hub-bar{ border-top-color:var(--hairline); }

.practice-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));
  gap:clamp(18px, 3vw, 28px); max-width:none; margin:0; align-items:stretch;
}
.practice-card{
  background:var(--bg-card); border:1px solid rgba(var(--rgb-deep),.12);
  border-radius:16px; overflow:hidden; text-decoration:none; box-shadow:none;
  transition:border-color var(--motion-hover);
  display:flex; flex-direction:column;
  position:relative; /* anchor for the stretched "Atidaryti" link */
}
.practice-card[hidden]{ display:none; }
.practice-card:hover{ transform:none; box-shadow:none; border-color:rgba(var(--rgb-deep),.3); cursor:pointer; }
.practice-card-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; }
.practice-card-more::after{ content:""; position:absolute; inset:0; z-index:1; }
.practice-card-photo{ aspect-ratio:auto; height:clamp(170px, 26vw, 200px); overflow:hidden; background:var(--bg-raised); }
.practice-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
/* Įrankio puslapis (1.87.0): viršelis su parašu virš teksto, maketas `15`. */
.tool-main{ min-width:0; display:flex; flex-direction:column; gap:clamp(28px, 4vw, 40px); }
.tool-cover{
  margin:0; border:1px solid var(--hairline); border-radius:16px; overflow:hidden; background:var(--bg-card);
}
.tool-cover img{ display:block; width:100%; height:auto; }
.tool-cover figcaption{
  padding:12px 16px; border-top:1px solid var(--hairline);
  font-family:'Karla',sans-serif; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-meta);
}
.practice-card-photo--empty{
  background-color:var(--bg-raised);
  background-image:repeating-linear-gradient(135deg, rgba(var(--rgb-deep),.09) 0 2px, transparent 2px 10px);
}
html[data-theme="evening"] .practice-card-photo--empty{ background-image:repeating-linear-gradient(135deg, rgba(var(--rgb-light),.06) 0 2px, transparent 2px 10px); }
.practice-card-body{
  padding:clamp(22px, 3.4vw, 28px) clamp(22px, 3.4vw, 28px) clamp(26px, 3.6vw, 30px);
  display:flex; flex-direction:column; gap:10px; flex:1;
}
.practice-card-body h2{
  margin:0; font:400 clamp(23px, 3.2vw, 29px)/1.12 var(--font-display);
  letter-spacing:-0.01em; color:var(--ink);
}
/* Pastanga („24 klausimai“, „~5 min“) — tyli eilutė virš pavadinimo. */
.practice-card-badge{
  order:-1; display:block; margin:0;
  font-family:'Karla',sans-serif; font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-meta);
}
.practice-card-badge::before{ content:none; }
.practice-card-body p{
  margin:0; max-width:42ch; font-family:'Karla',sans-serif;
  font-size:16px; line-height:1.65; color:var(--ink-body); text-wrap:pretty;
}
.practice-card-more{
  font-family:'Karla',sans-serif; font-size:16px; color:var(--accent);
  border-bottom:0; padding-bottom:0; text-decoration:none;
}
.practice-note{ max-width:60ch; margin:0; }
.practice-note p{ margin:0; font-size:15px; line-height:1.7; color:var(--ink-body); text-wrap:pretty; }
html[data-theme="evening"] .practice-card{ background:var(--bg-card); border-color:var(--hairline); }

/* Emotion wheel page: free text + photos from the page editor, above the wheel */
.ew-page-intro{ max-width:760px; margin:0 auto 38px; }
.ew-page-intro p{ margin:0 0 14px; line-height:1.75; }
.ew-page-intro p:last-child{ margin-bottom:0; }
.ew-page-intro img{ max-width:100%; height:auto; border-radius:18px; margin:6px 0 16px; }
.ew-page-intro .wp-block-image{ margin:6px 0 16px; }

/* 1.83.1: senieji vakaro perrašymai pašalinti — kortelė naudoja žetonus,
   kurie vakare persijungia patys. */

/* ===================================================
   NAV DROPDOWNS (v1.42.1)
   The theme had no .sub-menu styling, so nested menu items (e.g. Praktikos →
   Emocijų ratas) rendered flat. Desktop gets a hover/focus dropdown; the
   mobile slide-in panel shows children indented beneath the parent.
   =================================================== */
@media (min-width:900px){
  nav ul#primary-menu li{ position:relative; }

  nav ul#primary-menu .sub-menu{
    position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
    min-width:210px; margin:0; padding:10px 0; list-style:none;
    /* 1.74.4: kortelė ima tas pačias spalvas kaip antgalvis (--bg-page +
       plaukelis), todėl iškrentantis meniu nebeatrodo kitos spalvos nei juosta,
       iš kurios iškrenta. Vakaro režimu žetonai persijungia patys. */
    background:var(--bg-page); border-radius:14px;
    box-shadow:var(--shadow-panel);
    border:1px solid var(--hairline);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
    z-index:60;
  }
  /* small hover bridge so the pointer can travel into the dropdown */
  nav ul#primary-menu li.menu-item-has-children::after{
    content:""; position:absolute; left:0; right:0; top:100%; height:14px;
  }
  nav ul#primary-menu li:hover > .sub-menu,
  nav ul#primary-menu li:focus-within > .sub-menu{
    opacity:1; visibility:visible; pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
  nav ul#primary-menu .sub-menu li{ display:block; white-space:nowrap; }
  /* 1.74.5: ta pati spalva ir tas pats permatomumas kaip viršutinės eilutės
     punktų (--charcoal / .85). Anksčiau čia buvo --forest-dark, todėl
     iškrentantis sąrašas atrodė tamsesnis ir žalesnis už meniu virš jo. */
  nav ul#primary-menu .sub-menu a{
    display:block; padding:9px 22px; font-size:0.95rem; font-weight:400;
    color:var(--ink); text-decoration:none; opacity:.85;
    transition:color .25s var(--ease), opacity .25s var(--ease);
  }
  nav ul#primary-menu .sub-menu a:hover{ color:var(--ink); opacity:1; }
  /* Keep the theme's gold underline, but inset it to the text instead of
     letting it span the full dropdown width. */
  nav ul#primary-menu .sub-menu a::after{ left:22px; bottom:4px; }
  nav ul#primary-menu .sub-menu a:hover::after{ width:calc(100% - 44px); }
}

/* Mobile slide-in panel: children collapse behind a caret toggle. */
@media (max-width:899px){
  /* The panel centred a shrink-to-fit list, so expanding a submenu made the
     list wider and shoved every item sideways. Anchoring the list to the full
     panel width keeps everything still when a submenu opens or closes. */
  #primary-nav{ justify-content:flex-start; }
  #primary-nav ul#primary-menu{ width:100%; align-items:stretch; }
  #primary-nav ul#primary-menu > li{ width:100%; white-space:normal; }

  #primary-nav ul#primary-menu li.menu-item-has-children{
    display:flex; flex-wrap:wrap; align-items:center;
    justify-content:space-between; gap:6px;
  }
  #primary-nav ul#primary-menu .sub-menu{
    flex-basis:100%; width:100%;
    list-style:none; margin:12px 0 0; padding:0 0 0 16px;
    display:none; flex-direction:column; gap:14px;
    border-left:2px solid rgba(var(--rgb-green),0.3);
  }
  #primary-nav ul#primary-menu li.is-open > .sub-menu{ display:flex; }
  #primary-nav ul#primary-menu .sub-menu li{ width:100%; }
  #primary-nav ul#primary-menu .sub-menu a{
    font-size:0.95rem; opacity:.85;
  }
}

/* Caret / toggle button injected next to parent items.
   Desktop: decorative only — the dropdown opens on hover/focus.
   Mobile: a real button that expands and collapses the submenu.
   Deliberately a separate element rather than an ::after on the link, because
   the theme already uses nav a::after for the gold hover underline. */
.submenu-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:22px; padding:0; flex-shrink:0;
  background:transparent; border:none; color:inherit;
  cursor:pointer; opacity:.6; vertical-align:middle;
}
.submenu-toggle svg{ width:11px; height:11px; transition:transform .3s var(--ease); }
@media (min-width:900px){
  .submenu-toggle{ pointer-events:none; }
}
@media (max-width:899px){
  .submenu-toggle{ width:34px; height:34px; opacity:.75; }
  .submenu-toggle svg{ width:13px; height:13px; }
  #primary-nav ul#primary-menu li.is-open > .submenu-toggle svg{ transform:rotate(180deg); }
}

/* The dropdown "card" background belongs to the desktop popup only. On mobile
   the submenu sits inside the slide-in panel, where a panel background looks
   like a stray block. */
/* 1.74.4: atskiro vakaro rėžimo perrašymo nebereikia — kortelė naudoja
   --bg-page / --hairline, o šie žetonai vakare persijungia patys. */
html[data-theme="evening"] nav ul#primary-menu .sub-menu a{ color:var(--ink); }

/* Placeholder dropdown parents (Custom Link with "#") shouldn't look clickable
   as a destination — no pointer cursor change beyond the caret affordance. */
@media (min-width:900px){
  nav ul#primary-menu li.menu-item-has-children > a[href="#"]{ cursor:default; }
}

/* Third-level words sit inside a shade — slightly smaller than shade buttons
   so the hierarchy reads at a glance. */
.ew-word{ font-size:0.88rem; padding:7px 15px; }

/* ===================================================
   QUIZ ENGINE  (v1.47)
   =================================================== */
.quiz{ max-width:760px; margin:0 auto; }
.quiz-intro{ text-align:center; }
/* The editor content keeps whatever alignment it was written with, instead of
   inheriting the centring that the meta line and start button need. */
.quiz-intro-text{ text-align:left; }
.quiz-intro-text .has-text-align-center, .quiz-intro-text .aligncenter{ text-align:center; }
.quiz-intro-text .has-text-align-right, .quiz-intro-text .alignright{ text-align:right; }
.quiz-intro-text .has-text-align-left, .quiz-intro-text .alignleft{ text-align:left; }
.quiz-intro-text img{ max-width:100%; height:auto; border-radius:16px; }
.quiz-intro-text .wp-block-image{ margin:6px 0 16px; }
.quiz-intro-text .wp-block-image.aligncenter img,
.quiz-intro-text img.aligncenter{ display:block; margin-left:auto; margin-right:auto; }
.quiz-intro-text ul, .quiz-intro-text ol{ text-align:left; padding-left:22px; }
.quiz-intro-text{ font-family:'Karla',sans-serif; font-size:1.05rem; line-height:1.75; color:var(--ink-body); }
.quiz-meta{ font-family:'Karla',sans-serif; font-size:1rem; letter-spacing:0.07em; text-transform:uppercase; color:var(--ink-meta); margin:20px 0 26px; }
/* Intro is the first thing a visitor sees — give its start button a little more
   presence than the site-wide button, without changing buttons elsewhere. */
.quiz-intro .btn{ padding:17px 40px; font-size:1.08rem; }
.quiz-last{
  margin-top:22px; font-family:'Karla',sans-serif; font-size:0.9rem; color:var(--ink-meta);
}
/* Unfinished-run prompt (v1.70.0). Slightly warmer than .quiz-last because it
   is an invitation to act, not a record of something already done. */
.quiz-resume{
  margin-top:22px; padding:12px 16px; border-radius:16px;
  background:var(--bg-card); border:1px solid var(--hairline-strong);
  font-family:'Karla',sans-serif; font-size:0.9rem; color:var(--ink);
}
html[data-theme="evening"] .quiz-resume{
  background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.16);
}
.quiz-clear{
  background:transparent; border:none; cursor:pointer; text-decoration:underline;
  font:inherit; color:var(--ink-meta); padding:0 0 0 6px;
}

/* Progress */
.quiz-progress{ height:4px; border-radius:100px; background:rgba(var(--rgb-green),0.2); overflow:hidden; margin-bottom:26px; }
.quiz-progress-bar{ height:100%; width:0; background:var(--gold); transition:width .35s var(--ease); }
.quiz-step{ font-family:'Karla',sans-serif; font-size:0.82rem; letter-spacing:0.1em; color:var(--ink-meta); margin:0 0 10px; text-align:center; }
.quiz-question{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  font-size:1.7rem; line-height:1.25; color:var(--ink);
  margin:0 0 26px; text-align:center;
}

/* Answers */
.quiz-answers{ display:flex; flex-direction:column; gap:10px; }
.quiz-answer{
  font-family:'Karla',sans-serif; font-size:1rem; text-align:left; cursor:pointer;
  background:var(--bg-card); border:1px solid rgba(var(--rgb-green),0.35); border-radius:14px;
  padding:16px 20px; color:var(--ink);
  transition:border-color .25s var(--ease), transform .25s var(--ease), background .25s var(--ease);
}
.quiz-answer:hover{ border-color:var(--ink-meta); transform:translateY(-2px); }
.quiz-answer.is-picked{ border-color:var(--gold); background:rgba(var(--rgb-green),0.10); }
.quiz-back{
  margin-top:22px; background:transparent; border:none; cursor:pointer;
  font-family:'Karla',sans-serif; font-size:0.9rem; color:var(--ink-meta);
}
.quiz-back:hover{ color:var(--ink); }

/* Result */
.quiz-result-card{
  background:var(--bg-card); border-radius:20px; padding:32px 34px;
  border-left:5px solid var(--accent, var(--accent));
  box-shadow:0 20px 44px -28px rgba(47,47,47,0.35);
}
.quiz-result-eyebrow{
  font-family:'Karla',sans-serif; font-size:0.72rem; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--ink-meta);
}
.quiz-result-title{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
  font-size:2.1rem; line-height:1.15; color:var(--accent, var(--ink)); margin:6px 0 14px;
}
.quiz-result-desc{ font-family:'Karla',sans-serif; font-size:1rem; line-height:1.7; color:var(--ink-body); }
.quiz-result-desc p{ margin:0 0 12px; }

/* General text about the test/result, above the result cards (all modes) */
.quiz-res-intro{
  font-family:'Karla',sans-serif; font-size:1.02rem; line-height:1.7;
  color:var(--ink-body); margin:0 0 22px;
}
.quiz-res-intro p{ margin:0 0 12px; }
.quiz-res-intro p:last-child{ margin-bottom:0; }
.quiz-res-intro-img{
  display:block; width:100%; height:auto; border-radius:18px;
  margin:0 0 16px; box-shadow:0 18px 40px -26px rgba(47,47,47,0.4);
}
html[data-theme="evening"] .quiz-res-intro{ color:var(--ink-body); }

/* "Su rezultatais" mode: always-on category description, above the level result.
   The card itself reuses .quiz-level-card (prominent category name + level badge). */
.quiz-cat-result .quiz-level-head{ display:block; margin-bottom:10px; }
.quiz-cat-result .quiz-level-cat{ display:block; }
.quiz-cat-result .quiz-level-band{ display:inline-block; margin-top:9px; }
/* Points scored + the point range of the matched level */
.quiz-cat-result .quiz-cat-result-meta{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px;
  font-family:'Karla',sans-serif; font-size:0.92rem; line-height:1.5;
  color:var(--ink-muted); margin-top:12px;
}
.quiz-cat-result .quiz-cat-result-pts strong{ color:var(--ink); font-weight:600; }
.quiz-cat-result .quiz-cat-result-range{ opacity:0.82; }
.quiz-cat-result .quiz-cat-result-meta + .quiz-cat-result-cdesc{ margin-top:12px; }
html[data-theme="evening"] .quiz-cat-result .quiz-cat-result-meta{ color:var(--ink-body); }
.quiz-cat-result .quiz-cat-result-cdesc{
  font-family:'Karla',sans-serif; font-size:0.98rem; line-height:1.65;
  color:var(--ink-muted); margin-top:2px;
}
.quiz-cat-result .quiz-cat-result-cdesc p{ margin:0 0 8px; }
.quiz-cat-result .quiz-cat-result-cdesc + .quiz-level-desc{ margin-top:12px; }
html[data-theme="evening"] .quiz-cat-result .quiz-cat-result-cdesc{ color:var(--ink-body); }

/* Balance bars */
.quiz-balance-title{
  font-family:'Karla',sans-serif; font-size:0.8rem; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--ink-meta); margin:26px 0 12px;
}
.quiz-bars{ display:flex; flex-direction:column; gap:9px; }
.quiz-bar-row{ display:grid; grid-template-columns:130px 1fr 34px; gap:10px; align-items:center; font-family:'Karla',sans-serif; font-size:0.9rem; }
.quiz-bar-label{ color:var(--ink-body); }
.quiz-bar-row.is-top .quiz-bar-label{ color:var(--ink); font-weight:600; }
.quiz-bar{ height:9px; border-radius:100px; background:rgba(var(--rgb-green),0.15); overflow:hidden; }
.quiz-bar-fill{ display:block; height:100%; border-radius:100px; transition:width .5s var(--ease); }
.quiz-bar-val{ text-align:right; color:var(--ink-meta); font-size:0.85rem; }

.quiz-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:26px; }
.quiz-retry{
  background:transparent; border:none; cursor:pointer;
  font-family:'Karla',sans-serif; font-size:0.92rem; color:var(--ink-meta); padding:11px 8px;
}
.quiz-retry:hover{ color:var(--ink); }

@media (max-width:619px){
  .quiz-question{ font-size:1.35rem; }
  .quiz-result-card{ padding:24px 22px; }
  .quiz-result-title{ font-size:1.7rem; }
  .quiz-bar-row{ grid-template-columns:100px 1fr 30px; font-size:0.85rem; }
}

/* Dusk */
html[data-theme="evening"] .quiz-answer{ background:var(--bg-card); color:var(--ink); }
html[data-theme="evening"] .quiz-answer.is-picked{ background:rgba(var(--rgb-gold),0.14); }
html[data-theme="evening"] .quiz-result-card{ background:var(--bg-card); }
html[data-theme="evening"] .quiz-result-desc,
html[data-theme="evening"] .quiz-intro-text,
html[data-theme="evening"] .quiz-bar-label{ color:var(--ink-body); }
html[data-theme="evening"] .quiz-question,
html[data-theme="evening"] .quiz-bar-row.is-top .quiz-bar-label{ color:var(--ink); }

/* Quiz: category label + image above the question (v1.50) */
/* Question-to-question transition: a short fade + slight drift, so moving
   through a test feels continuous rather than a hard cut. Direction-aware —
   forward drifts up, "back" drifts down. The image and category chip are
   animated only when they actually change (see swapTo in main.js). */
.quiz-qbody, .quiz-image, .quiz-cat-label{ transition:opacity .19s ease, transform .19s ease; }
.quiz-qbody.is-out, .quiz-image.is-out, .quiz-cat-label.is-out{ opacity:0; transform:translateY(10px); }
.quiz-qbody.is-out-b, .quiz-image.is-out-b, .quiz-cat-label.is-out-b{ opacity:0; transform:translateY(-10px); }
@keyframes daQuizIn{ from{ opacity:0; transform:translateY(-10px); } to{ opacity:1; transform:none; } }
@keyframes daQuizInB{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.quiz-qbody.is-in, .quiz-image.is-in, .quiz-cat-label.is-in{ animation:daQuizIn .26s ease both; }
.quiz-qbody.is-in-b, .quiz-image.is-in-b, .quiz-cat-label.is-in-b{ animation:daQuizInB .26s ease both; }
@media (prefers-reduced-motion:reduce){
  .quiz-qbody, .quiz-image, .quiz-cat-label,
  .quiz-qbody.is-out, .quiz-image.is-out, .quiz-cat-label.is-out,
  .quiz-qbody.is-out-b, .quiz-image.is-out-b, .quiz-cat-label.is-out-b{ transition:none; opacity:1; transform:none; }
  .quiz-qbody.is-in, .quiz-qbody.is-in-b,
  .quiz-image.is-in, .quiz-image.is-in-b,
  .quiz-cat-label.is-in, .quiz-cat-label.is-in-b{ animation:none; }
}

.quiz-cat-label{ text-align:center; margin:0 0 12px; }
.quiz-cat-chip{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Karla',sans-serif; font-size:1rem; line-height:1.3;
  padding:6px 16px; border-radius:100px; color:var(--ink);
  background:rgba(var(--rgb-green),0.12);
  background:color-mix(in srgb, var(--cat, #758e67) var(--tint, 22%), transparent);
  border:1.5px solid var(--hairline-strong);
  border-color:color-mix(in srgb, var(--cat, #758e67) var(--tint-bd, 70%), transparent);
}
/* Dusk uses its own tint pair (computed for the dark panel), so it stays lighter
   where light mode needs to push. Both pairs are set per-colour by chipTints(). */
html[data-theme="evening"] .quiz-cat-chip{
  background:color-mix(in srgb, var(--cat, #758e67) var(--tint-d, 13%), transparent);
  border-color:color-mix(in srgb, var(--cat, #758e67) var(--tint-bd-d, 55%), transparent);
}
.quiz-cat-dot{
  width:9px; height:9px; border-radius:50%; background:var(--cat, #758e67); flex:none;
  box-shadow:0 0 0 1px rgba(47,47,47,0.14); /* faint ring: very light accents (e.g. #F2F2F2) still show */
}
/* --forest-dark already flips light<->dark between themes, so the chip label stays
   readable in both — no dusk colour override needed. The dot ring flips too. */
html[data-theme="evening"] .quiz-cat-dot{ box-shadow:0 0 0 1px rgba(255,255,255,0.20); }
.quiz-image{
  width:100%; max-width:420px; margin:0 auto 20px; aspect-ratio:16/10;
  background-size:cover; background-position:center; border-radius:16px;
  box-shadow:0 16px 34px -24px rgba(47,47,47,0.35);
}

/* Quiz: per-category level result cards (levels mode) */
.quiz-levels .quiz-result-eyebrow{ display:block; text-align:center; margin-bottom:18px; }
.quiz-level-card{
  background:var(--bg-card); border-radius:16px; padding:20px 22px; margin-bottom:14px;
  border-left:5px solid var(--accent, var(--accent));
  box-shadow:0 14px 30px -24px rgba(47,47,47,0.3);
}
.quiz-level-head{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.quiz-level-cat{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500; font-size:1.25rem;
  color:var(--ink);
}
.quiz-level-band{
  font-family:'Karla',sans-serif; font-size:0.78rem; letter-spacing:0.08em;
  text-transform:uppercase; color:#fff; background:var(--accent,var(--ink-meta));
  padding:3px 12px; border-radius:100px;
}
.quiz-level-score{ margin-left:auto; font-family:'Karla',sans-serif; font-size:0.85rem; color:var(--ink-meta); }
.quiz-level-desc{ font-family:'Karla',sans-serif; font-size:0.98rem; line-height:1.65; color:var(--ink-body); margin-top:10px; }
.quiz-level-card .quiz-bar{ height:9px; border-radius:100px; background:rgba(var(--rgb-green),0.15); overflow:hidden; display:block; }
.quiz-level-card .quiz-bar-fill{ display:block; height:100%; border-radius:100px; transition:width .5s var(--ease); }

html[data-theme="evening"] .quiz-level-card{ background:var(--bg-card); }
html[data-theme="evening"] .quiz-level-cat{ color:var(--ink); }
html[data-theme="evening"] .quiz-level-desc{ color:var(--ink-body); }

@media (max-width:619px){
  .quiz-level-cat{ font-size:1.1rem; }
  .quiz-level-score{ width:100%; margin-left:0; }
}

/* Quiz levels: category points breakdown on top (v1.51) */
.quiz-cat-breakdown{ margin-bottom:22px; }
.quiz-cat-breakdown .quiz-result-eyebrow{ display:block; text-align:center; margin-bottom:16px; }
.quiz-cat-row{ margin-bottom:12px; }
.quiz-cat-row-head{ display:flex; align-items:baseline; gap:10px; margin-bottom:6px; }
.quiz-cat-row-name{ font-family:'Karla',sans-serif; font-size:1rem; color:var(--ink); }
.quiz-cat-row-score{ margin-left:auto; font-family:'Karla',sans-serif; font-size:0.85rem; color:var(--ink-meta); }
.quiz-cat-row .quiz-bar{ height:9px; border-radius:100px; background:rgba(var(--rgb-green),0.15); overflow:hidden; display:block; }
.quiz-cat-row .quiz-bar-fill{ display:block; height:100%; border-radius:100px; transition:width .5s var(--ease); }
html[data-theme="evening"] .quiz-cat-row-name{ color:var(--ink); }

/* Quiz levels: category breakdown card + band reference legend (v1.51.1) */
.quiz-cat-breakdown{ padding:26px 28px; }
.quiz-cat-breakdown .quiz-result-eyebrow{ display:block; text-align:center; margin-bottom:16px; }
.quiz-cat-breakdown .quiz-cat-row:last-child{ margin-bottom:0; }

.quiz-bands-legend{ margin-top:22px; }
.quiz-band-ref{
  background:var(--bg-card); border-radius:14px; padding:16px 20px; margin-bottom:10px;
  border-left:5px solid var(--accent, var(--ink-meta));
  box-shadow:0 12px 26px -22px rgba(47,47,47,0.3);
}
.quiz-band-ref-head{ display:flex; align-items:baseline; gap:10px; margin-bottom:6px; }
.quiz-band-ref-name{
  font-family:'Fraunces LT','Fraunces',serif; font-weight:500; font-size:1.15rem;
  color:var(--accent, var(--ink));
}
.quiz-band-ref-range{
  margin-left:auto; font-family:'Karla',sans-serif; font-size:0.82rem;
  letter-spacing:0.04em; color:#fff; background:var(--accent,var(--ink-meta));
  padding:2px 11px; border-radius:100px;
}
.quiz-band-ref-desc{ font-family:'Karla',sans-serif; font-size:0.96rem; line-height:1.6; color:var(--ink-body); }
html[data-theme="evening"] .quiz-band-ref{ background:var(--bg-card); }
html[data-theme="evening"] .quiz-band-ref-desc{ color:var(--ink-body); }

/* ---------------------------------------------------------------
   Hero spacing on the wheel / test pages
   These pages have no subtitle, so the H1 was left with its bottom
   margin plus the hero's bottom padding and the gap read as empty.
--------------------------------------------------------------- */
.page-hero-head h1:last-child{ margin-bottom:0; }
.single-da_quiz #page-hero,
.page-template-page-emociju-ratas #page-hero{ padding-bottom:24px; }
@media (max-width:719px){
  .single-da_quiz #page-hero,
  .page-template-page-emociju-ratas #page-hero{ padding-bottom:14px; }
}

/* ---------------------------------------------------------------
   Result actions + print
--------------------------------------------------------------- */
.quiz-view-last{
  background:transparent; border:none; cursor:pointer; text-decoration:underline;
  font:inherit; color:var(--ink); padding:0 0 0 6px; font-weight:600;
}

/* Print sheet — hidden on screen, used for "Išsaugoti PDF".
   main.js switches the page to the day palette while printing, so no dusk
   colour overrides are needed here. */
.quiz-print-head, .quiz-print-foot{ display:none; }
.quiz-pdf-bg{ display:none; }

@media print{
  @page{ margin:14mm; }

  #site-header, footer, .leaf-parallax, .bg-leaf, .theme-toggle, .quiz-actions, .quiz-back, .quiz-progress, .quiz-step, #quiz-intro, #quiz-run, .quiz-last, #page-hero { display:none !important; }

  /* A background on the root element is painted on every printed page, which
     is how the PDF background repeats. --da-pdf-bg is set by main.js only when
     the test has one; otherwise this falls back to plain white. */
  html{
    background:#fff !important;
    background-image:var(--da-pdf-bg, none) !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
  body{ background:transparent !important; }
  #quiz-section, .quiz, main, #content{ background:transparent !important; }
  #quiz-section, .quiz{ padding:0 !important; margin:0 !important; max-width:none !important; }

  /* Real image behind the content — prints even when "Background graphics"
     is off, and repeats per page because it is fixed. */
  .quiz-pdf-bg{
    display:block !important;
    position:fixed !important; top:0; left:0; right:0; bottom:0;
    z-index:-1; margin:0; padding:0;
  }
  .quiz-pdf-bg img{
    width:100%; height:100%; object-fit:cover; display:block;
  }

  /* Cards stay opaque so text is readable over any background. */
  .quiz-result-card, .quiz-level-card{ background:#fff !important; }
  .quiz-print-title, .quiz-print-date{ background:transparent; }

  .quiz-print-head{ display:block; text-align:center; margin:0 0 10mm; }
  .quiz-print-title{
    font-family:'Fraunces LT','Fraunces',serif; font-weight:500;
    font-size:22pt; color:#2c4f36; margin:0 0 2mm;
  }
  .quiz-print-date{ font-family:'Karla',sans-serif; font-size:10pt; color:#6b6b63; margin:0; }

  .quiz-result-card, .quiz-level-card{
    box-shadow:none !important;
    border:1px solid #d8d8d0;
    break-inside:avoid; page-break-inside:avoid;
    margin-bottom:6mm;
  }
  .quiz-res-intro-img{ max-height:60mm; width:auto; }

  /* Keep category colours in the printout instead of flat grey. */
  *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  a[href]::after{ content:""; }
}

/* ---------------------------------------------------------------
   Wall consent, footer legal links, back-to-top  (1.61)
--------------------------------------------------------------- */
/* 1.76.1: sutikimo eilutė pereina prie žetonų (buvo įrašyta pilka #5d6455). */
.wall-consent{
  display:flex; gap:10px; align-items:flex-start; margin:16px 0 0;
  font-family:'Karla',sans-serif; font-size:14px; line-height:1.55; color:var(--ink-muted);
  cursor:pointer;
}
/* 1.76.6: sava varnelė. Naršyklės numatytoji ant tamsios plokštės būdavo
   plokščias baltas kvadratas — makete jos vietoje permatoma dėžutė su
   plaukeliu, o pažymėta ji užsipildo akcento spalva. `appearance:none` būtina,
   nes `accent-color` nudažo tik pažymėtą būseną, o nepažymėta lieka balta. */
.wall-consent input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  flex:none; width:18px; height:18px; margin:2px 0 0; padding:0;
  border:1px solid var(--hairline-strong); border-radius:5px;
  background:transparent; cursor:pointer;
  display:inline-grid; place-content:center;
  transition:background var(--motion-hover), border-color var(--motion-hover);
}
.wall-consent input[type="checkbox"]::before{
  content:""; width:10px; height:10px; transform:scale(0);
  transition:transform var(--motion-hover);
  background:var(--on-fill-ink);
  clip-path:polygon(14% 44%, 0 60%, 39% 100%, 100% 18%, 84% 2%, 39% 68%);
}
.wall-consent input[type="checkbox"]:checked{
  background:var(--accent); border-color:var(--accent);
}
.wall-consent input[type="checkbox"]:checked::before{ transform:scale(1); }
.wall-consent a{ color:var(--ink-body); text-decoration:underline; }
html[data-theme="evening"] .wall-consent{ color:rgba(237,234,224,0.75); }

/* Consistent keyboard focus ring on the new controls too */
.wall-consent input:focus-visible{ outline:3px solid var(--focus-ring); outline-offset:2px; box-shadow:0 0 0 2px var(--bg-page); }
#back-to-top:focus-visible{ outline:3px solid var(--focus-ring); outline-offset:2px; box-shadow:0 0 0 2px var(--bg-page), var(--shadow-card); }

/* Back to top */
/* 3.2.0: saugūs atstumai nuo kraštų visur (ir telefonuose su „ausele“),
   paslėptas virš formų (main.js), spalvos — iš žetonų. */
#back-to-top{
  position:fixed; z-index:40;
  right:calc(22px + env(safe-area-inset-right, 0px)); bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--fill-ink); color:var(--on-fill-ink); border:none; cursor:pointer;
  box-shadow:var(--shadow-card);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
}
#back-to-top.show{ opacity:1; visibility:visible; transform:none; }
#back-to-top svg{ width:22px; height:22px; }
#back-to-top:hover{ background:var(--fill-hover); }
/* Plonas šviesus žiedas — kad žalias mygtukas matytųsi ir virš miško žalios poraštės. */
html:not([data-theme="evening"]) #back-to-top{ box-shadow:0 0 0 2px rgba(251,252,250,.92), var(--shadow-card); }
html[data-theme="evening"] #back-to-top{ background:var(--bg-card); color:var(--ink); border:1px solid var(--hairline-strong); }
@media (max-width:619px){
  #back-to-top{ right:calc(16px + env(safe-area-inset-right, 0px)); bottom:calc(16px + env(safe-area-inset-bottom, 0px)); }
  /* Puslapio apačioje mygtukas nebeuždengia poraštės nuorodų. */
  footer .footer-bottom{ padding-bottom:64px; }
}
@media print{ #back-to-top{ display:none !important; } }

/* Load more citatų (Minčių sodas) */
.quotes-more-wrap{ text-align:center; margin:30px 0 0; }

/* "Pagal kategorijas" tie — two or more categories share the top score.
   The card keeps its single accent border (colour of the first winning
   category); each tied category is just stacked text, no inner bars. */
.quiz-result-tie .quiz-tie-block{ margin:0 0 18px; }
.quiz-result-tie .quiz-tie-block:last-of-type{ margin-bottom:22px; }
.quiz-result-tie .quiz-tie-block .quiz-result-title{ font-size:1.7rem; margin:0 0 8px; }

/* ---------------------------------------------------------------
   Share this page (blog posts, tests)
--------------------------------------------------------------- */
.da-share{ max-width:700px; margin:34px auto 0; text-align:center; }
.quiz-intro .da-share{ margin:22px auto 0; }
.da-share-btn{
  display:inline-flex; align-items:center; gap:9px;
  padding:11px 22px; border-radius:100px; cursor:pointer;
  font-family:'Karla',sans-serif; font-weight:600; font-size:0.92rem;
  color:var(--ink); background:transparent;
  border:1.5px solid color-mix(in srgb, var(--accent) 40%, transparent);
  border-color:rgba(63,111,77,0.4);
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.da-share-btn svg{ width:18px; height:18px; }
.da-share-btn:hover{ background:rgba(63,111,77,0.08); border-color:var(--accent); }
.da-share-btn.is-done{ color:var(--accent); border-color:var(--accent); background:rgba(63,111,77,0.1); }
html[data-theme="evening"] .da-share-btn{ color:var(--hairline-strong); border-color:rgba(175,199,163,0.4); }
html[data-theme="evening"] .da-share-btn:hover,
html[data-theme="evening"] .da-share-btn.is-done{ border-color:var(--hairline-strong); background:rgba(175,199,163,0.12); }
@media print{ .da-share{ display:none !important; } }

/* Article card footer: Read-more + a small share icon */
/* 1.82.13: ši taisyklė buvo ŽEMIAU naujosios ir tokio paties svorio, todėl
   nugalėdavo — o svarbiausia, `margin-top:14px` panaikindavo `margin-top:auto`,
   kuriuo apatinė eilutė prilimpa prie kortelės apačios. Dėl to kortelės
   atrodydavo nevienodo aukščio ir ne kaip makete. Išdėstymą nustato viena
   taisyklė „straipsnio kortelė“ skiltyje. */
/* Dalinimosi mygtukas kortelėje (1.82.13). Žalias apvadas buvo senojo dizaino
   likutis; dabar jis toks pat neutralus ženkliukų mygtukas kaip kopijavimas
   citatų ir sienos kortelėse. */
.card-share{
  display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:none;
  min-width:36px; min-height:36px; padding:0 8px;
  border-radius:var(--radius-pill); cursor:pointer;
  background:transparent; border:1px solid rgba(var(--rgb-deep),.2);
  color:var(--ink-body);
  /* Virš kortelės nuorodos sluoksnio (z-index:1) — kitaip paspaudus čia
     atsidarytų straipsnis, o ne dalinimosi langas. */
  position:relative; z-index:2;
  transition:border-color var(--motion-hover), color var(--motion-hover);
}
.card-share svg{ width:16px; height:16px; }
.card-share:hover{ color:var(--ink); border-color:var(--ink); background:transparent; }
.card-share.is-done{ color:var(--accent); border-color:var(--accent); background:transparent; }
.card-share .da-share-label{ font-family:'Karla',sans-serif; font-weight:600; font-size:0.8rem; }
html[data-theme="evening"] .card-share{ color:var(--ink-body); border-color:var(--hairline-strong); }
html[data-theme="evening"] .card-share:hover,
html[data-theme="evening"] .card-share.is-done{ color:var(--ink); border-color:var(--gold); background:transparent; }
@media print{ .card-share{ display:none !important; } }

