/* abilities.css — WHAT A FINISHED WORLD LEAVES BEHIND. Wave 35, Phase 2.
   Applied by js/abilities.js from the LATCHED vault award, never from a theme.

   ── WHY THIS IS ITS OWN STYLESHEET, LOADED LAST ───────────────────────────
   An ability is permanent and belongs to the base OS: it must read the same in
   Karan OS, in Aldermoor and in Verdance. That is a claim about the CASCADE, so
   it is made in the cascade — index.html loads this file AFTER css/arcana.css
   and css/wilds.css, and therefore after every world's restyling.

   It is not a preference, it is a fix. The first version of these rules lived at
   the end of css/extras.css, where `body.ab-keystone #menubar .mb-logo` and
   `body.arcanum #menubar .mb-logo` (css/arcana.css:69) have IDENTICAL
   specificity — so the Arcanum won on source order and the Keystone was
   invisible in the one world most likely to have earned it. Measured, not
   guessed: the ⌘K read rgb(12,8,16) with the class applied.

   ── AND WHY THESE USE outline / ::after RATHER THAN color ──────────────────
   Each world already dresses these elements its own way — the Arcanum turns the
   ⌘K into a gold coin with inset shadows. An ability that overwrote `color` or
   `box-shadow` would fight that and lose, or win and flatten it. `outline` and a
   pseudo-element are untouched by every other rule in the OS, so an ability
   COMPOSES with whatever world you are standing in instead of overriding it.
   A new ability should follow the same rule. */

/* ── The Keystone — Karan OS's own core set, complete ───────────────────────
   A gold ring around the ⌘K that stays for good. Deliberately NOT gold text:
   inside Aldermoor the logo is already a gold coin, and gold on gold is
   nothing. A ring reads in all three worlds. */
body.ab-keystone #menubar .mb-logo {
  outline: 1.5px solid rgba(255, 215, 94, .85);
  outline-offset: 2px;
  filter: drop-shadow(0 0 5px rgba(255, 215, 94, .5));
}

/* ── The Grass Remembers — Verdance, complete ───────────────────────────────
   A green under-glow along the dock, in every world you enter. pointer-events
   none so it can never swallow a dock click, and the dock only gains
   position:relative — nothing about its layout moves. */
body.ab-grass #dock { position: relative; }
body.ab-grass #dock::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: -6px; height: 14px;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(ellipse at 50% 0%, rgba(120, 200, 90, .42), transparent 72%);
}

/* Phoenix Tears (Aldermoor) is behaviour, not decoration, and has no rule here.
   It lives entirely in js/abilities.js, listening for karan:trash-empty. */

/* ── DRAGONSIGHT (Highfell) ──────────────────────────────────────────────────
   "Files you have touched recently run warm in Finder; the ones you have
   forgotten go cold." js/abilities.js stamps `data-warmth` on Finder's own item
   nodes; this only paints them.

   Deliberately a WASH and a dimming, not a badge or a coloured dot: the ability
   is meant to be read at a glance across a whole folder, and a per-item badge
   would have to be looked at one at a time. Cold is the half that matters —
   the point is noticing what you abandoned — so the cold band loses saturation
   and opacity rather than gaining a colour.

   Scoped under .ab-dragonsight so Finder is untouched for anyone who has not
   finished Highfell, and it lives in THIS file because an ability outlives the
   world that granted it (see the header). */
body.ab-dragonsight .finder .fitem[data-warmth="hot"] {
  background: linear-gradient(180deg, rgba(255,138,74,.16), rgba(255,138,74,.05));
  box-shadow: inset 0 0 0 1px rgba(255,138,74,.22);
}
body.ab-dragonsight .finder .fitem[data-warmth="warm"] {
  background: linear-gradient(180deg, rgba(255,176,102,.10), rgba(255,176,102,.03));
}
body.ab-dragonsight .finder .fitem[data-warmth="cool"] { opacity: .82; }
body.ab-dragonsight .finder .fitem[data-warmth="cold"] {
  opacity: .55;
  filter: saturate(.45);
}
/* hovering must still read normally — the ability informs, it never obstructs */
body.ab-dragonsight .finder .fitem[data-warmth]:hover { opacity: 1; filter: none; }

/* ── THE NOD — the Secret Society's ability (W39) ──────────────────────────
   "Members recognise members: a Society mark glows quietly beside their
   words across the OS." (js/worlds/society.js, reward.ability.blurb.)
   `.soc-mark` nodes are rendered by the Society's marks machinery (39b)
   wherever a member's words appear; this paints them — but only for someone
   who HOLDS the ability, so to everyone else a mark is just a mark. Lives
   here because an ability outlives the world that granted it. */
body.ab-soc-nod .soc-mark {
  color: #d6a44a;
  text-shadow: 0 0 8px rgba(214, 164, 74, .55);
}
