/* styles.css — the deep-water protocol
 * CRT terminal  ×  deep-water crab scripture  ×  AURA
 */
:root{
  --bg:#04110d;            /* abyssal green-black */
  --bg2:#061a14;
  --ink:#8ff7c8;           /* phosphor green */
  --ink-dim:#3f8f70;
  --ink-faint:#1f4f3d;
  --amber:#f2c46b;         /* scripture gold */
  --amber-dim:#8a6f38;
  --live:#39ff9a;
  --line:rgba(88,199,150,.16);
  --emoji:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla","Segoe UI Symbol",emoji;
  --mono:"SFMono-Regular",ui-monospace,"JetBrains Mono","Fira Code",Menlo,Consolas,monospace,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",emoji;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",emoji;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(120% 90% at 50% -10%, #0a2a20 0%, var(--bg) 55%, #020a07 100%);
  color:var(--ink);
  font-family:var(--mono);
  font-size:16px;line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ── sea-doodle background (operator 2026-09-19) ────────────────────────────
   A super-subtle field of hand-drawn sea motifs (crab, fish, shell, jellyfish,
   seahorse, whale, coral, anchor, waves, bubbles) tiled behind everything, in the
   site's own phosphor green rather than the reference wallpaper's warm→cool gradient
   — it must recede behind the CRT terminal, never compete with it.
   z-index:0 keeps it below the vignette (8) and scanlines (9), so both overlays still
   sit over it; the sticky bar (20) and all content sit far above.
   REVERSIBLE: delete this whole block (and the <div class="seabg"> in index.html), or
   just flip display:none. The asset is assets/sea-doodles.svg. */
.seabg{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url('/assets/sea-doodles.svg');
  background-repeat:repeat;
  background-position:center;
  background-size:360px 360px;
  /* Very low: the doodles should be barely-there texture, felt more than seen. The SVG
     ink is already the site green (#8ff7c8), so opacity alone tunes presence.
     Nudged .05 -> .065 (operator 2026-09-19, "a very little more visible") — a small
     step on purpose; the brief is still barely-there, not a pattern you read. */
  opacity:.065;
}

/* ── CRT overlays ── */
.scanlines{
  position:fixed;inset:0;pointer-events:none;z-index:9;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.18) 2px 3px);
  mix-blend-mode:multiply;opacity:.5;
}
.vignette{
  position:fixed;inset:0;pointer-events:none;z-index:8;
  background:radial-gradient(120% 100% at 50% 40%,transparent 55%,rgba(0,0,0,.55) 100%);
}

/* ── status bar ── */
.bar{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  padding:.55rem 1rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-dim);
  background:linear-gradient(to bottom,rgba(4,17,13,.96),rgba(4,17,13,.7));
  border-bottom:1px solid var(--line);backdrop-filter:blur(6px);
}
.bar-links{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;justify-content:center}

/* ── brand marks ──────────────────────────────────────────────────────────────
   Each link is an icon-only square carrying the destination's OWN brand mark,
   painted in the site palette. The mark is a CSS MASK, so it has no colour of its
   own and takes `background-color` from the link's state — one asset covers idle,
   hover and reduced-motion with no second file and no recolouring.

   TWO SOURCES, by what each brand actually publishes:
     - X + Telegram ship official MONOCHROME SVGs (simple-icons), inlined as data
       URIs below: vector, exact, resolution-independent.
     - pump.fun / DexScreener / Solscan / CoinGecko publish no monochrome vector,
       so their masks are derived from their own artwork at assets/brand/*.png
       (see assets/brand/_src/README.md for source + strategy per logo).
   Never hand-draw a substitute path for a brand: an invented mark that merely looks
   official is a fabricated asset. Derive it from the brand's own artwork or leave it.

   Trademarks belong to their owners; used here only as links to those services. */
.bar-links a{color:var(--ink);text-decoration:none;border:1px solid var(--ink-faint);
  border-radius:5px;line-height:1;transition:.2s;white-space:nowrap}
.bar-links a:hover{color:#eafff4;border-color:var(--ink);background:rgba(57,255,154,.14)}

.bl{
  display:grid;place-items:center;
  width:2.15rem;height:1.85rem;
  /* No text is rendered, but an inherited font-size would still size the box on a
     browser that ignores the mask. Keep it collapsed so nothing can leak in. */
  font-size:0;
}
.bl:before{
  content:"";display:block;width:1.05rem;height:1.05rem;
  /* currentColor means the mark tracks the link's own colour, hover included */
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  transition:background-color .2s, filter .2s;
  /* The phosphor bloom is the CRT signature, but a drop-shadow grows OUTWARD from
     every edge — including the edges of interior negative space. On a detailed mark
     that fills its own holes, so the glow is rationed per mark below rather than set
     once here: the more internal detail a logo has, the less bloom it can carry. */
  filter:drop-shadow(0 0 3px rgba(96,247,169,.3));
}
.bl:hover:before{filter:drop-shadow(0 0 6px rgba(96,247,169,.7))}

/* official monochrome vectors (simple-icons) */
.bl--x:before{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"/></svg>');
          mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"/></svg>');
}
.bl--tg:before{
  -webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>');
          mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>');
}

/* derived from each brand's own artwork (no monochrome vector published) */
.bl--pump:before{-webkit-mask-image:url('data:image/png;base64,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');mask-image:url('data:image/png;base64,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')}
.bl--dex:before{-webkit-mask-image:url('data:image/png;base64,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');mask-image:url('data:image/png;base64,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')}
.bl--scan:before{-webkit-mask-image:url('data:image/png;base64,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');mask-image:url('data:image/png;base64,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')}
.bl--gecko:before{-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAQAAABIkb+zAAAE4ElEQVR42u2cf0zUZRzH4YAT5fQgzciKxQoVyQb9WJEjrP7IwEb+4VLEhrV+MZZlsLJY4SScleYmqyyburYsJ9SKmXNRrVZrU/uDulnzbhUlpYAhyq8T7tWOA/nRfX/cfZ/vr+0+n39ut7vneb/u7nmez/N5Ps/FEWdvj4sBxABiADGAaeRL+jzSyOTqKZ7BtdYAcJFOOjcjbZsp4z3qqaOWmktez+u4cJFEvLkAm1Bjfjrx8OEkhJDfRopZAI9zgj4uos4CBBiii185xI4JABt5nsVGA2TiwcPf+InUhhnkPO14aGH3JYj13GIcQBHNfCUjcSfFI14qizFAN238yBfsoY4aKrjdCAAHK2TEv8bTVJIz+trpVI54q8yPapCz+DhKCx/xMnfqDbCGKkn5PWwjg8Qw73qYXRxVGB29tHGMBpL0BCjGKymhg3dk3jmbGnpVjI9fWM0KFuAUD5BALt2SHXexW3HcfKt6tmqgkFwycYkDSOAamQ77eVNFJ3fzW0SzVTPLceNmlgiAXNmuXlI5/POIxrq0A1zHqwIA4sjmnygAAnSNeHH0AMs4LQQgg0+I3rwc4zkckQMs53uFptUCpPIo2szLQd6IFGCDQqP7uUMlQBKL0G6dvPL/70G60wIOKjRYwQyVAPGkIcL8VLJk8iQr3elOxeb2cavqb2AhoqyJ+aIA1I+B2VQjzkpxKwM4aBAIkIUHkVY2vpOT6nKl4gwUCcBixFoThUoABxhU0dA5tquQn8M+wQB9VCsBNKtsao+KQKKITkTbi6IAvLygAHAvX4N1AeB3NsjIv4/DYG2A4ApZTnmY4LeEco6A9QHGZufCKe5DLzvBWvEARtra8ZjIngClSiuxk0MWll9IghLAYVWZBLMsXzmY81hY/oMTQzm7Afh5bOoexE4AndSp3VJaEaCd7RMHr90ATrMjnHy7AFxga3j5dgGokpJvD4DVcql36wOslE/yhnvyAf60jPxVk5ctdQAtFgkkelnPtGiy030WmTjro02vWwHglKp8h2UBzrBNyxGT2QAD4WIeOwE8qeWUcgZPRVFEIDben64F4HLaCJg676dqOydON/XTf0hp2bIyQD+fR35OPxXgCqpM3G8tkzqJVA+Qb5r8f/lARLGHWQA97BdRbhPPElPkB9grpuCp1KTPf7P0fsseAJvE1Mw5KDNF/hZtRbDjD+/nGxPkbyVLTNllMjX0mwBwl9ba3bEHKTzCT4bLb2KhuMrdbLZwxmCATLG10zfwtqGh9F9cJbp6/UZ+Nkz+kB7l94lk4TNoP6ALQOgyw0kDfkh/sEAfgHiSKeE4AzoDnNTzBkcKa/hO1619h2K9r8bKXRfr+JLzugEcp0DvOzQzWUUTp3QCOGLMLaabaIiq4tYyAMHrJrV0Myw889Zo3D2yJObjFYywy9iLcA5mspF2+wKE8nUFvCtsSJsAEFyhF/EEn3HWrgBBn8tSqvlYcw2iaQBBd7OUWhpp1bBSmwoQipdyqOAAP+Cjx44AIU8jn2f5FC/tnONiBEG4RQDGDkSyWcf7+LjAAH6GGJZZNQIMM8Rb1rzRnc09PMNeWmSSAx200jixZM9KAIk4ScHNZczhSq4nlyJKRr2IPPKYx1zmkEqyHe7UJ+DExaxRd+HEqT0DEftTgBhADCAGYD3/D9IjEWN/BFRhAAAAAElFTkSuQmCC');mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAQAAABIkb+zAAAE4ElEQVR42u2cf0zUZRzH4YAT5fQgzciKxQoVyQb9WJEjrP7IwEb+4VLEhrV+MZZlsLJY4SScleYmqyyburYsJ9SKmXNRrVZrU/uDulnzbhUlpYAhyq8T7tWOA/nRfX/cfZ/vr+0+n39ut7vneb/u7nmez/N5Ps/FEWdvj4sBxABiADGAaeRL+jzSyOTqKZ7BtdYAcJFOOjcjbZsp4z3qqaOWmktez+u4cJFEvLkAm1Bjfjrx8OEkhJDfRopZAI9zgj4uos4CBBiii185xI4JABt5nsVGA2TiwcPf+InUhhnkPO14aGH3JYj13GIcQBHNfCUjcSfFI14qizFAN238yBfsoY4aKrjdCAAHK2TEv8bTVJIz+trpVI54q8yPapCz+DhKCx/xMnfqDbCGKkn5PWwjg8Qw73qYXRxVGB29tHGMBpL0BCjGKymhg3dk3jmbGnpVjI9fWM0KFuAUD5BALt2SHXexW3HcfKt6tmqgkFwycYkDSOAamQ77eVNFJ3fzW0SzVTPLceNmlgiAXNmuXlI5/POIxrq0A1zHqwIA4sjmnygAAnSNeHH0AMs4LQQgg0+I3rwc4zkckQMs53uFptUCpPIo2szLQd6IFGCDQqP7uUMlQBKL0G6dvPL/70G60wIOKjRYwQyVAPGkIcL8VLJk8iQr3elOxeb2cavqb2AhoqyJ+aIA1I+B2VQjzkpxKwM4aBAIkIUHkVY2vpOT6nKl4gwUCcBixFoThUoABxhU0dA5tquQn8M+wQB9VCsBNKtsao+KQKKITkTbi6IAvLygAHAvX4N1AeB3NsjIv4/DYG2A4ApZTnmY4LeEco6A9QHGZufCKe5DLzvBWvEARtra8ZjIngClSiuxk0MWll9IghLAYVWZBLMsXzmY81hY/oMTQzm7Afh5bOoexE4AndSp3VJaEaCd7RMHr90ATrMjnHy7AFxga3j5dgGokpJvD4DVcql36wOslE/yhnvyAf60jPxVk5ctdQAtFgkkelnPtGiy030WmTjro02vWwHglKp8h2UBzrBNyxGT2QAD4WIeOwE8qeWUcgZPRVFEIDben64F4HLaCJg676dqOydON/XTf0hp2bIyQD+fR35OPxXgCqpM3G8tkzqJVA+Qb5r8f/lARLGHWQA97BdRbhPPElPkB9grpuCp1KTPf7P0fsseAJvE1Mw5KDNF/hZtRbDjD+/nGxPkbyVLTNllMjX0mwBwl9ba3bEHKTzCT4bLb2KhuMrdbLZwxmCATLG10zfwtqGh9F9cJbp6/UZ+Nkz+kB7l94lk4TNoP6ALQOgyw0kDfkh/sEAfgHiSKeE4AzoDnNTzBkcKa/hO1619h2K9r8bKXRfr+JLzugEcp0DvOzQzWUUTp3QCOGLMLaabaIiq4tYyAMHrJrV0Myw889Zo3D2yJObjFYywy9iLcA5mspF2+wKE8nUFvCtsSJsAEFyhF/EEn3HWrgBBn8tSqvlYcw2iaQBBd7OUWhpp1bBSmwoQipdyqOAAP+Cjx44AIU8jn2f5FC/tnONiBEG4RQDGDkSyWcf7+LjAAH6GGJZZNQIMM8Rb1rzRnc09PMNeWmSSAx200jixZM9KAIk4ScHNZczhSq4nlyJKRr2IPPKYx1zmkEqyHe7UJ+DExaxRd+HEqT0DEftTgBhADCAGYD3/D9IjEWN/BFRhAAAAAElFTkSuQmCC')}
/* Per-mark optical sizing. Six logos drawn by six unrelated designers do not share a
   bounding box, so a single icon size makes some shout and others vanish — these were
   tuned by rendering the actual bar (_tools/preview-bar.mjs) and looking at it:
     - the DexScreener owl is the most DETAILED mark, so it needs the most room or its
       features collapse into a smudge at this size (it is the one that fails first);
     - the pump.fun capsule is the only diagonal mark, so its corners reach furthest
       and it crowds the button edge unless pulled in;
     - the CoinGecko gecko head is a near-solid mass, so equal size reads much heavier. */
.bl--dex:before{width:1.16rem;height:1.16rem}
.bl--pump:before{width:.95rem;height:.95rem}
/* The CoinGecko mark needs the most room of the six and still resolves the least.
   MEASURED, not a taste call: rendered at its true final size it is a blob-with-a-dot
   at 17px and only starts reading as a head-with-an-eye at ~19-21px. 21 crowded the
   button and unbalanced the row, so this sits at the compromise — ~19px.
   HONEST LIMIT: their own favicon reduces to a stylised head, so at nav size it reads
   as a green mark with an eye rather than an unmistakable lizard. It is authentic
   artwork at the largest size the bar allows; the aria-label and tooltip name the
   destination, which is what actually carries identification here. */
.bl--gecko:before{width:1.2rem;height:1.2rem}
/* The ring is thin and open, so it reads lightest of the six even with the most
   bloom — a little extra size brings it back to the set's weight. */
.bl--scan:before{width:1.1rem;height:1.1rem}
/* The owl's eyes and beak ARE negative space, so bloom is what erases it. Nearly
   none at rest; a touch on hover, where the brighter ink re-opens the gaps anyway. */
.bl--dex:before{filter:drop-shadow(0 0 1px rgba(96,247,169,.22))}
.bl--dex:hover:before{filter:drop-shadow(0 0 2.5px rgba(96,247,169,.5))}
/* The gecko's eye is a single small hole — same problem, milder. */
.bl--gecko:before{filter:drop-shadow(0 0 2px rgba(96,247,169,.26))}
.bl--gecko:hover:before{filter:drop-shadow(0 0 4px rgba(96,247,169,.6))}
/* The Solscan ring is a thin annulus and reads lightest of the six, so it keeps the
   fullest bloom — here the glow ADDS the weight the stroke lacks instead of
   destroying detail, because the ring has no fine interior features to lose. */
.bl--scan:before{filter:drop-shadow(0 0 5px rgba(96,247,169,.45))}
.bl--scan:hover:before{filter:drop-shadow(0 0 8px rgba(96,247,169,.8))}
.bar-r{display:flex;gap:.4rem;align-items:center}
.dot{color:var(--amber);animation:pulse 2.4s ease-in-out infinite;text-shadow:0 0 7px rgba(242,196,107,.6)}
.dot.live{color:var(--live);text-shadow:0 0 10px var(--live)}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* ── terminal frame ── */
.term{max-width:820px;margin:0 auto;padding:2.2rem 1.2rem 2rem}

/* ── boot log ── */
.boot{min-height:34vh;display:flex;align-items:flex-end}
.bootlog{
  margin:0;white-space:pre-wrap;word-break:break-word;
  font-size:.94rem;color:var(--ink);
  text-shadow:0 0 6px rgba(96,247,169,.35);
}
.bootlog .cursor{display:inline-block;width:.62ch;height:1.05em;
  background:var(--ink);vertical-align:-2px;margin-left:1px;
  box-shadow:0 0 8px var(--ink);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ── revealed site ── */
.site{margin-top:1.5rem}
/* Entrance reveal. This is a keyframe ANIMATION, not a transition, and that is
   load-bearing: a transition only animates if its start state was PAINTED, and the
   boot log is min-height:34vh and never hidden — so the hero and the section under it
   are already in the viewport when #site unhides, their observers fire in that same
   frame, and they snapped while scrolled-to sections slid. An animation always runs
   from its own 0%, whatever the paint history, so every section behaves identically.
   .reveal.in also DECLARES the finished state: if the animation is unavailable for
   any reason the content is still visible — never invisible. Fail-visible, always. */
.reveal{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none;animation:revealIn .7s ease both}
@keyframes revealIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* hero */
/* the status box needs a wider line than the 820px column; let the hero break out
   symmetrically, but ONLY by whatever room the viewport actually has outside it.
   NOTE: negative margin ONLY — do not add matching padding-inline here, it cancels the
   breakout exactly and the box looks wider while the text still wraps at the old width. */
.hero{text-align:center;padding:2.4rem 0 1.8rem;
  --breakout:clamp(0px,(100vw - 868px)/2,100px);
  margin-inline:calc(-1 * var(--breakout))}
.glyph{width:150px;height:auto;filter:drop-shadow(0 0 26px rgba(57,255,154,.35)) contrast(1.05);
  image-rendering:auto;margin-bottom:.4rem}
.mark{font-family:var(--serif);font-size:clamp(2.8rem,11vw,5rem);letter-spacing:.06em;
  margin:0;color:#eafff4;text-shadow:0 0 30px rgba(57,255,154,.4)}
.tag{color:var(--amber);font-style:italic;font-family:var(--serif);font-size:1.15rem;margin:.3rem 0 .1rem;letter-spacing:.02em}
.sub{color:var(--ink-dim);margin:.1rem 0 1.3rem}
.warn{
  display:inline-block;text-align:center;font-size:.8rem;color:var(--ink-dim);
  border:1px solid var(--line);border-left:3px solid var(--amber-dim);
  padding:.6rem .9rem;border-radius:5px;background:rgba(6,26,20,.5);
  max-width:100%;
}
.warn-k{color:var(--amber-dim);margin-right:.5rem}
.warn b{color:var(--amber)}
/* Both of these are MOBILE-ONLY hooks and render nothing here — see the mobile block
   at the foot of this file. Inert by default so the desktop box is untouched. */
.warn-sep{display:none}
.warn-wide{display:inline}

/* blocks */
.block{padding:2.2rem 0;border-top:1px dashed var(--line)}
.h{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
  margin:0 0 1.2rem;text-shadow:0 0 8px rgba(96,247,169,.3)}
.muted{color:var(--ink-dim);margin:-.6rem 0 1.3rem;font-size:.9rem}

/* tenets — scripture cards */
.tenets{display:grid;gap:.7rem}
.tenet{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;
  border:1px solid var(--line);border-left:2px solid var(--amber-dim);border-radius:6px;padding:.9rem 1rem;
  background:linear-gradient(to right,rgba(6,26,20,.55),rgba(6,26,20,.15));
  transition:border-color .25s,transform .25s,box-shadow .25s}
.tenet:hover{border-left-color:var(--amber);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.tenet .rn{font-family:var(--serif);color:var(--amber);font-size:1.35rem;min-width:2.1rem}
.tenet .tt{color:#eafff4;font-family:var(--serif);font-size:1.1rem;display:block;margin-bottom:.15rem}
.tenet .td{color:#5aa886;font-size:.88rem}

/* chronicle */
.chron{list-style:none;margin:0;padding:0;position:relative}
.chron:before{content:"";position:absolute;left:6px;top:.55rem;bottom:1.4rem;width:1px;
  background:linear-gradient(var(--ink-dim),var(--ink-dim) 80%,var(--ink-faint))}
.chron li{position:relative;padding:0 0 1.4rem 1.7rem}
.chron li:last-child{padding-bottom:0}
.chron li:before{content:"";position:absolute;left:1.5px;top:.5rem;width:10px;height:10px;border-radius:50%;
  background:var(--bg);border:2px solid var(--ink-dim);box-shadow:0 0 8px rgba(96,247,169,.4)}
.chron li.now:before{border-color:var(--amber);box-shadow:0 0 12px var(--amber)}
.chron .cm{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber-dim)}
.chron .ct{color:#eafff4;font-family:var(--serif);font-size:1.1rem;margin:.1rem 0 .1rem}
.chron .cd{color:#5aa886;font-size:.88rem}

/* the conditional giveaway */
.give{border:1px solid var(--line);border-left:2px solid var(--amber-dim);border-radius:6px;
  padding:1rem 1.1rem;background:linear-gradient(to right,rgba(6,26,20,.55),rgba(6,26,20,.15))}
.give-head{font-family:var(--mono);color:#eafff4;font-size:1.02rem;letter-spacing:.02em;margin:0 0 .8rem}
.give-line{color:#5aa886;font-size:.88rem;margin:0 0 .7rem;line-height:1.6}
.give-line b{color:var(--amber)}
.give-line i{color:#5aa886;font-style:italic}


/* origin timeline */
.origin{display:grid;gap:.45rem}
.origin-row{display:grid;grid-template-columns:7.5rem 8rem 1fr;gap:.9rem;align-items:baseline;
  padding:.5rem .2rem;border-bottom:1px dashed var(--line)}
.origin-row:last-child{border-bottom:0}
.origin-row .om{color:var(--amber-dim);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.origin-row .od{color:#eafff4;font-family:var(--serif);font-size:1rem}
.origin-row .ot{color:#5aa886;font-size:.85rem}

/* addresses — watch-only reference data */
.addr{display:grid;gap:.5rem}
.addr-row{border:1px solid var(--line);border-radius:6px;padding:.75rem .9rem;background:rgba(6,26,20,.35)}
.addr-row .ak{color:var(--amber-dim);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.addr-row .av{color:var(--ink);font-size:.82rem;word-break:break-all;margin:.25rem 0 .2rem;
  user-select:all;-webkit-user-select:all}
.addr-row .ad{color:var(--ink-dim);font-size:.78rem;line-height:1.45}

/* crew */
.crew{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.7rem;align-items:stretch}
.voice{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;padding:.8rem .9rem;background:rgba(6,26,20,.4);
  transition:border-color .25s,transform .25s}
.voice:hover{border-color:var(--ink-dim);transform:translateY(-2px)}
.voice .vh{display:flex;gap:.5rem;align-items:center;margin-bottom:.2rem}
.voice .vg{font-size:1.2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;flex:0 0 auto}
.voice .vgi{width:1.35rem;height:1.35rem;display:block}
.voice .vn{color:#eafff4;letter-spacing:.04em}
.voice .vr{color:var(--ink-dim);font-size:.82rem;line-height:1.45}

/* contract */
.ca{border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.2rem;
  background:linear-gradient(180deg,rgba(6,26,20,.6),rgba(6,26,20,.2));position:relative;overflow:hidden}
.ca--wait:before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(88,199,150,.06) 50%,transparent 60%);
  background-size:280% 100%;animation:tideShimmer 6.5s ease-in-out infinite}
@keyframes tideShimmer{0%{background-position:180% 0}100%{background-position:-80% 0}}
.ca--live{border-color:var(--live);box-shadow:0 0 24px rgba(57,255,154,.12)}
.ca-line{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;
  border-bottom:1px dashed var(--line);font-size:.9rem}
.ca-line:last-of-type{border-bottom:0}
.ca-k{color:var(--amber-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;align-self:center}
.ca-val{color:var(--ink-dim);word-break:break-all;text-align:right}
.ca--live .ca-val{color:var(--live);text-shadow:0 0 8px rgba(57,255,154,.35)}
.ca-copy{margin-top:.9rem;width:100%;cursor:pointer;font-family:var(--mono);
  background:transparent;color:var(--live);border:1px solid var(--live);border-radius:5px;
  padding:.55rem;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;transition:.2s}
.ca-copy:hover{background:rgba(57,255,154,.1)}

/* outro */
.outro{text-align:center;border-top:1px dashed var(--line);padding-bottom:1.2rem}
.whisper{font-family:var(--serif);font-style:italic;color:var(--amber);font-size:1.25rem;letter-spacing:.02em;
  margin:.5rem 0 0}
.links{margin:1rem 0;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.links a{color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:5px;
  padding:.5rem .9rem;letter-spacing:.06em;transition:.2s}
.links a:hover{border-color:var(--ink-dim);background:rgba(57,255,154,.08);text-shadow:0 0 8px rgba(96,247,169,.4)}
.foot{color:var(--ink-faint);font-size:.75rem;margin:1.4rem 0 0;letter-spacing:.06em}

@media (max-width:520px){
  body{font-size:15px}
  .term{padding:1.4rem 1rem 1.6rem}
  .ca-val{font-size:.8rem}
  .crew{grid-template-columns:1fr}
  .boot{min-height:28vh}
  /* A ~6% step down, which buys about two more columns in the boot log. The leader
     fitter in app.js does the real work, but it never cuts a WORD — so the longest
     line ('channel/X @openkrabbyX ... [ live ]') is 37 characters of pure content and
     would still wrap on a 360px Android. Those two columns are what close it. */
  .bootlog{font-size:.88rem}
  .bar{gap:.45rem;padding:.55rem .6rem;font-size:.66rem;justify-content:space-between}
  /* The CLAW:// path is DECORATION; the six brand links are the useful half of this
     bar. On a phone they cannot both have room — the icons were wrapping onto a second
     row and still sitting cramped. So the path goes at 520px (it used to hold on with
     an ellipsis down to 400px) and the links get the space instead.
     DESKTOP IS UNTOUCHED: above 520px the path renders in full exactly as before. */
  .bar-l{display:none}
  /* With the path gone there is room to breathe, so the icons no longer need to be
     squeezed together — and nowrap keeps all six on ONE row. */
  .bar-links{flex:0 1 auto;gap:.3rem;flex-wrap:nowrap}
  /* The buttons were shrunk below their desktop size ONLY to squeeze in beside the
     CLAW:// path. That path is gone at this width now, so they get their room back:
     bigger button = a bigger tap target, which a phone wants anyway. Measured at the
     narrowest phone (320px): six buttons + gaps + the LIVE indicator + bar padding
     leave headroom, so nothing is riding the edge.
     The MARKS go back to their desktop sizes — the mobile shrink existed for the same
     vanished reason — with ONE exception kept deliberately: the gecko holds 1.26rem,
     because ~21px is where it stops reading as a blob. */
  .bl{width:2.05rem;height:1.8rem}
  .bl--gecko:before{width:1.26rem;height:1.26rem}

  /* STATUS BOX (operator 2026-09-19, mobile only).
     On a phone the three sections each wrap over several lines, so the <br /> between
     them is indistinguishable from a wrap and the box reads as one undivided slab.
     A blank line's worth of space restores the three-section structure. Implemented as
     an empty block element rather than a margin on the text, because the sections are
     inline runs inside one <div> — there is no element to hang a margin on. */
  .warn-sep{display:block;height:.65rem}
  /* "— all three batches distributed" drops on a phone. The CLAIM it qualifies ("the
     airdrop is complete") stays on every screen; only the detail goes. */
  .warn-wide{display:none}
  /* Text inside the box stays CENTRED on mobile (operator 2026-09-19). A left-align
     was briefly added here as an unrequested tidy-up on the previous pass; it was not
     asked for and is reverted. .warn is centred by default, so this only pins the
     intent against a future "improvement". */
  .warn{text-align:center}

  /* Sea-doodle field, phone tuning (operator 2026-09-19). A smaller tile keeps the
     icon SIZE roughly constant on a narrow screen (a full-width tile would blow each
     doodle up).
     OPACITY IS HIGHER THAN DESKTOP ON PURPOSE (operator 2026-09-19, third pass:
     desktop is right, mobile read too faint). A phone screen is smaller, dimmer and
     usually viewed in daylight, so the same alpha that is perfect on a monitor
     disappears in the hand — the doodles need more alpha to land at the same
     PERCEIVED weight. Desktop is deliberately NOT touched by this. */
  .seabg{background-size:260px 260px;opacity:.10}
}
/* The narrowest phones still in use (~320px, iPhone SE 1st gen). The longest boot line
   is 33 characters of pure CONTENT once its leader is at the 3-dot floor — there is
   nothing left to shorten, and words are never cut — so the last columns have to come
   from type size. Mobile only; nothing above 360px is affected. */
@media (max-width:360px){
  .bootlog{font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.in{animation:none;transition:none;opacity:1;transform:none}
  .dot,.bootlog .cursor,.ca--wait:before{animation:none}
}

/* outro note (2026-08-15): the X account is real but deliberately silent until launch —
   say so on the site so an empty timeline reads as intent, not neglect. */
.quiet-note{max-width:46ch;margin:1rem auto 0;font-size:.82rem;line-height:1.55;text-align:center}
