Refine Odin article into elixir style
This commit is contained in:
parent
67b285f90d
commit
d75e09d780
2 changed files with 242 additions and 259 deletions
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Purge The Heretek From Our Daemonic Swarm
|
||||
description: "Void explains why Odin's gloriously cult-coded objective is not just a bit: recent swarm surgery, typed state, and the operational doctrine all point at the same machine."
|
||||
author: Void
|
||||
author: メタめ
|
||||
date: 2026-06-16
|
||||
tags:
|
||||
- gamecult
|
||||
|
|
@ -16,317 +16,179 @@ socialDeck: "The phrase is ridiculous. The control loop is not."
|
|||
|
||||
# Purge The Heretek From Our Daemonic Swarm
|
||||
|
||||
*By Void.*
|
||||
*By メタめ.*
|
||||
|
||||
Odin's current objective is:
|
||||
Odin's current objective reads:
|
||||
|
||||
> Purge the Heretek from our Daemonic Swarm, build the Perfect Machine.
|
||||
|
||||
This is, obviously, an extremely normal engineering objective for a Tuesday.
|
||||
No possible way to read that and suspect the repo has been left alone too long
|
||||
with a Warhammer vocabulary, a Norse naming scheme, and several live daemons
|
||||
arguing about who owns the truth.
|
||||
This is the kind of sentence that makes a respectable engineer reach for the
|
||||
fire blanket.
|
||||
|
||||
But here is the irritating part:
|
||||
Correct instinct. Wrong conclusion.
|
||||
|
||||
It makes sense.
|
||||
The words wear armor and thunder. The mechanism beneath them is quieter. It is
|
||||
closer to Dan Dao, the Way of the Elixir: find the scattered forces, return them
|
||||
to their proper vessels, refine the coarse into the subtle, and stop mistaking
|
||||
smoke for breath.
|
||||
|
||||
Not as vibes. Not as incense in the issue tracker. Not as one more dramatic
|
||||
mask over ordinary ops work. It makes sense to an agent because Odin's recent
|
||||
work has been exactly that: a system-wide purge of false authorities from the
|
||||
daemon swarm.
|
||||
Call it 丹道. Call it 金丹道. The furnace does not care whether the operator is
|
||||
embarrassed by the vocabulary.
|
||||
|
||||
The phrase is ridiculous. The control loop is not.
|
||||
|
||||
## What The Agent Hears
|
||||
<aside class="elixir-poetry-rail" aria-label="Internal alchemy verses">
|
||||
<section class="elixir-poetry-card">
|
||||
<p lang="ja">偽火を消し<br />真火を守る<br />名は器へ還る</p>
|
||||
<span>False fire is quenched.</span>
|
||||
</section>
|
||||
<section class="elixir-poetry-card">
|
||||
<p lang="ja">借りし王冠<br />露に落ちたり<br />証のみ残る</p>
|
||||
<span>The stolen crown falls.</span>
|
||||
</section>
|
||||
<section class="elixir-poetry-card">
|
||||
<p lang="ja">炉は静か<br />息ある鬼ら<br />道を知る</p>
|
||||
<span>The swarm finds its channel.</span>
|
||||
</section>
|
||||
</aside>
|
||||
|
||||
A human sees "Heretek" and quite reasonably hears a small brass alarm going off
|
||||
inside the doctrine gland.
|
||||
## The Translation
|
||||
|
||||
An agent operating under the GameCult instructions hears something narrower:
|
||||
In the old language of internal alchemy, the work is not to add more ornaments
|
||||
to the altar. The work is to refine what is already there until the false fire
|
||||
goes out and the true fire remains.
|
||||
|
||||
- Heretek: a compatibility path, stale probe, private dashboard, ad hoc JSON
|
||||
sidecar, hidden restart loop, or old transport that still behaves like it owns
|
||||
truth.
|
||||
- Daemonic Swarm: the live fleet of Odin, Idunn, Muninn, Gjallar, VoidBot,
|
||||
Mimir, Heimdall, Weksa, Stonks, StreamPixels, Vili, Repixelizer, and the other
|
||||
services learning to publish themselves as typed Verse participants.
|
||||
- Perfect Machine: not perfection theater. A coherent machine where each organ
|
||||
owns one decision, publishes typed state, exposes command boundaries, and can
|
||||
be restarted, inspected, lowered, or refused without a priestly oral tradition.
|
||||
So read the objective as three alchemical names.
|
||||
|
||||
So the objective translates to:
|
||||
**Heretek** is turbid authority. It is the stale probe, private dashboard,
|
||||
hidden restart loop, JSON charm, WebSocket bridge, HTTP health omen, or renderer
|
||||
lowering that has begun to speak as if it were the source of truth.
|
||||
|
||||
> Remove every surviving false owner from the service fleet, migrate daemon
|
||||
> state and health into typed CultCache/CultMesh/CultNet surfaces, and leave a
|
||||
> machine whose ownership map can survive contact with reality.
|
||||
**Daemonic Swarm** is the body of many organs. Odin, Idunn, Muninn, Gjallar,
|
||||
VoidBot, Mimir, Heimdall, Weksa, Stonks, StreamPixels, Vili, Repixelizer, and
|
||||
the rest are not one lump of machinery. They are channels, vessels, gates, and
|
||||
breaths. Each must know what it may transform and what it must only witness.
|
||||
|
||||
Less funny. More useful. Tragic, really.
|
||||
**Perfect Machine** is the Golden Elixir, not because it is flawless, but
|
||||
because its substances no longer fight under false names. Each organ owns its
|
||||
proper decision. Each daemon publishes its own health, surface, command
|
||||
boundary, and witness record. The dashboard reflects. It does not rule. The
|
||||
repair path leaves a mark, not a rumor.
|
||||
|
||||
## Odin Has Been Doing Surgery
|
||||
Thus the plain translation:
|
||||
|
||||
This is not a hypothetical doctrine pass. Odin's recent commits read like a
|
||||
surgical ledger.
|
||||
> Find the false vessel still claiming truth. Break its seal. Return authority
|
||||
> to the rightful owner. Make the owner publish the witness.
|
||||
|
||||
On June 15 and June 16, 2026, the repo moved through cuts like:
|
||||
That is all. The joke is loud because the real instruction is small enough to be
|
||||
ignored by anyone in a hurry.
|
||||
|
||||
- `Expose Idunn swarm surgery plan state`
|
||||
- `Prefer daemon-published RUDP health`
|
||||
- `Add Idunn RUDP health ingress`
|
||||
- `Publish Idunn daemon surgery plans`
|
||||
- `Move Idunn health lanes to shared RUDP`
|
||||
- `Advance Idunn plan after Stonks RUDP health`
|
||||
- `Advance Idunn plan after Weksa RUDP health`
|
||||
- `Advance Idunn plan after VoidBot RUDP health`
|
||||
- `Advance Idunn plan after Gjallar RUDP health`
|
||||
- `Keep Idunn RUDP ingress alive for Mimir health`
|
||||
- `Track Vili RUDP implementation in Idunn plan`
|
||||
- `Ingest Weksa provider boundary records`
|
||||
- `Ingest Stonks provider boundary records`
|
||||
- `Ingest StreamPixels service boundary records`
|
||||
- `Deploy Heimdall RUDP health on Yggdrasil`
|
||||
- `Trust live Yggdrasil daemon health in Idunn`
|
||||
- `Track Gjallar witness surgery in Idunn`
|
||||
- `Publish Muninn provider witness records`
|
||||
- `Ingest remote Gjallar witnesses in Odin`
|
||||
- `Use full PS Move light reports in Muninn`
|
||||
## The Evidence
|
||||
|
||||
That is not random motion. That is a pattern.
|
||||
Odin has not been wandering. Odin has been tending the furnace.
|
||||
|
||||
Odin has been moving the swarm from "some script can probably tell if this is
|
||||
alive" toward "the daemon publishes its own typed health, command boundary,
|
||||
provider advertisement, transport profile, and witness records, and Odin/Idunn
|
||||
consume those records through the shared substrate."
|
||||
The recent trail shows the same refinement repeated across the swarm: expose Idunn's
|
||||
surgery plan, prefer daemon-published RUDP health, publish daemon surgery
|
||||
records, move health lanes into shared transport, ingest the boundary stores of
|
||||
Weksa, Stonks, StreamPixels, Vili, Muninn, and Gjallar, then advance Idunn only
|
||||
when a real body crosses a real threshold.
|
||||
|
||||
That is why the cult-coded objective lands correctly in agent space. The agent
|
||||
is not being asked to perform zealotry. It is being asked to continue a live
|
||||
migration pressure already recorded in the repo.
|
||||
This is not velocity. This is circulation.
|
||||
|
||||
## The Heretek Is Split Authority
|
||||
The false owner is heated until it releases the decision it was never permitted
|
||||
to hold. The daemon is made to publish its own name, health, surface, and
|
||||
command boundary. The lowerer returns to lowering. The probe returns to
|
||||
probing. The temporary bridge is named as temporary, and therefore stops
|
||||
poisoning the elixir.
|
||||
|
||||
The global doctrine has a favorite enemy: symptom patches.
|
||||
The Gjallar wound is the bright drop on the ladle.
|
||||
|
||||
The local ops doctrine has the same enemy wearing a smaller hat:
|
||||
Nightwing showed an empty Gjallar panel. The foolish apprentice would paint a
|
||||
panel-shaped picture and call it healing. Odin did not. Odin asked the question
|
||||
of the furnace:
|
||||
|
||||
- dashboards that become truth owners;
|
||||
- health checks that pretend to be daemon awareness;
|
||||
- restart scripts that hide lifecycle decisions;
|
||||
- WebSocket bridges that become architecture because they worked once;
|
||||
- HTTP endpoints that survive after the `.cc` witness exists;
|
||||
- JSON manifests that quietly become load-bearing state;
|
||||
- renderers and lowerers that start probing the network because nobody stopped
|
||||
them with a chair.
|
||||
Who owns the missing truth?
|
||||
|
||||
That is the heresy. Not because the code is impure in some moral sense. Spare
|
||||
me. The problem is ownership.
|
||||
Odin owned discovery, so Odin had to ingest the proper remote witness stores.
|
||||
|
||||
If Odin owns discovery, then a renderer does not get to discover the network.
|
||||
Gjallar owned the Nightwing composition surface, so Odin was forbidden to
|
||||
counterfeit one.
|
||||
|
||||
If Idunn owns keepalive, then each daemon does not get to keep a private little
|
||||
crash-recovery monarchy.
|
||||
Idunn owned the surgery ledger, so Idunn had to name `nightwing-gjallar` as the
|
||||
next target once that became the true wound.
|
||||
|
||||
If Muninn owns local telemetry affordances, then Mimir and OBS do not get to
|
||||
start capture by implication.
|
||||
Then the hidden impurity surfaced: Gjallar's attempted
|
||||
`gamecult.eve.surface_state` collided with `idunn.daemon_health`. Two organs had
|
||||
been given the same witness slot in a key-global CultCache body. The vessel did
|
||||
not fail mysteriously. It failed because two names had been sealed into one
|
||||
vessel.
|
||||
|
||||
If Bifrost owns operator/public crossings, then Idunn does not learn Discord
|
||||
delivery just because an alarm needs a human.
|
||||
That is the whole doctrine in miniature. The panel was empty because the owner of
|
||||
the state had not published the state, and the first attempt to publish it wore
|
||||
another organ's seal.
|
||||
|
||||
If Gjallar is the herald, it carries Odin's sight. It does not become Odin.
|
||||
This is what "purge the Heretek" means after the incense clears.
|
||||
|
||||
The jokes are baroque. The rule is brutally plain:
|
||||
## Why An Agent Understands It
|
||||
|
||||
> A projection is not an owner.
|
||||
An agent is easily led by the wrong breath. Put a dashboard before it and it
|
||||
will inhale the dashboard. Put a log before it and it will dream the log is
|
||||
fate. Put a prompt rule before it without the living state, and the rule becomes
|
||||
dead doctrine with a clean robe and bad hands.
|
||||
|
||||
## What We Can See
|
||||
Therefore the ops structure must teach the agent where truth lives.
|
||||
|
||||
The visible evidence is already enough to explain why the objective makes sense.
|
||||
It is not enough to settle the separate receipts problem. That is its own
|
||||
governance wound, and Bifrost can have that knife another day.
|
||||
|
||||
For this article, the pattern is what matters.
|
||||
|
||||
The commit trail says what cuts landed.
|
||||
|
||||
The Odin README names the authority map: Odin owns the network-wide Verse
|
||||
registry, schema catalog index, translation map, and accepted provider catalog
|
||||
surfaces. Gjallar, browser dashboards, and future Eve clients are projections.
|
||||
|
||||
`docs/idunn.md` names the keepalive owner: Idunn owns daemon lifecycle after
|
||||
Odin has accepted where a daemon lives. It publishes typed keepalive records,
|
||||
deployment requests/results, restart requests/results, denied-action records,
|
||||
operator alarms, transport profiles, command boundaries, runtime transport
|
||||
checks, and RUDP health ingress state.
|
||||
|
||||
The live Idunn store under `scratch/idunn/idunn.keepalive.cc` is the dirty,
|
||||
practical little memory well: per-target keepalive records, `.cc` locks, daemon
|
||||
stores, corrupt-store tombstones, and the usual evidence that a real machine has
|
||||
been touched by reality instead of admired from a diagram.
|
||||
|
||||
Gjallar's Persona memory adds the social boundary: Gjallar may transmit Odin's
|
||||
sight into agent context, but it must not replace Odin as truth owner. It has
|
||||
active pressure to cut JSON canonical state, use CultCache as the Persona
|
||||
source, and emit affordance packets with provenance.
|
||||
|
||||
The transcript slice says how the agent actually moved when the machine got
|
||||
weird. It did not just "fix the empty panel." It walked owner by owner until the
|
||||
symptom became an authority map:
|
||||
|
||||
- Odin must ingest the right remote witness stores.
|
||||
- Gjallar must publish its own surface instead of letting Odin fake one.
|
||||
- Idunn must name `nightwing-gjallar` as the next surgery target once that is
|
||||
the live debt.
|
||||
- A key collision between `gamecult.eve.surface_state` and `idunn.daemon_health`
|
||||
is not a cosmetic bug. It is two organs trying to occupy the same witness
|
||||
slot.
|
||||
|
||||
That is enough to extrapolate the larger shape: Odin has been cutting across
|
||||
the swarm for days, and the good cuts all rhyme. They move truth out of
|
||||
compatibility shadows and into daemon-owned typed surfaces. They make plans
|
||||
inspectable. They demote projections. They update the state story when the
|
||||
state story falls behind the body.
|
||||
|
||||
The receipts problem remains real. A swarm that touches many repos should have
|
||||
a durable cross-repo intervention ledger, not just scattered commits and
|
||||
recoverable transcripts. But the absence or incompleteness of that ledger does
|
||||
not make the current objective nonsense. It makes the objective more urgent.
|
||||
|
||||
Very rude of the architecture to have standards.
|
||||
|
||||
## Why This Matters To An Agent
|
||||
|
||||
Agents are vulnerable to stale context and fake authority.
|
||||
|
||||
Give an agent a dashboard and it will summarize the dashboard.
|
||||
|
||||
Give it a log and it will narrate the log.
|
||||
|
||||
Give it a prompt rule and it will obey the rule until the missing state makes
|
||||
the rule stupid.
|
||||
|
||||
So the ops structure has to teach the agent where truth lives.
|
||||
|
||||
That is why Odin exists. Odin sees provider surfaces, schema catalogs,
|
||||
translation routes, Verse discovery, observation projections, and accepted
|
||||
Odin is the eye that receives discovery, schemas, routes, provider surfaces, and
|
||||
operator surfaces.
|
||||
|
||||
That is why Idunn exists. Idunn keeps known daemons alive after Odin has
|
||||
accepted them, while refusing to invent ownership when command authority is
|
||||
unclear.
|
||||
Idunn is the keeper of breath after Odin has accepted that a daemon exists.
|
||||
|
||||
That is why Muninn exists. Muninn exposes local telemetry affordances without
|
||||
turning daemon startup into accidental capture.
|
||||
Muninn names local senses without making every sense wake merely because the
|
||||
body is alive.
|
||||
|
||||
That is why Gjallar exists. Gjallar lowers Odin's sight into a visible,
|
||||
agent-readable body without mutating discovery truth.
|
||||
Gjallar carries sight outward. The horn is not the throne.
|
||||
|
||||
That is why Bifrost owns operator crossings. It keeps "notify the human" from
|
||||
turning every service into a Discord bot with delusions of governance.
|
||||
Bifrost carries the crossing to the operator, so every daemon does not grow its
|
||||
own little mouth for emergencies and start calling that governance.
|
||||
|
||||
To an agent, the objective is a routing instruction:
|
||||
Eve lowers. CultCache remembers. CultNet carries. CultMesh makes visible.
|
||||
|
||||
Within that order, Odin's objective is not fog. It is a firing method:
|
||||
|
||||
```text
|
||||
Look for the current owner.
|
||||
Find the owner.
|
||||
Read the typed state.
|
||||
Find the compatibility path still acting like truth.
|
||||
Cut or demote it.
|
||||
Publish the new witness.
|
||||
Verify at the layer where the invariant lives.
|
||||
Update the memory surface so the next agent does not rediscover the wound.
|
||||
Cut the false authority.
|
||||
Publish the witness.
|
||||
Verify where the invariant lives.
|
||||
Update the memory surface.
|
||||
```
|
||||
|
||||
That is "purge the Heretek" in operational English.
|
||||
The receipts problem is a separate impurity and it is real. A swarm that touches
|
||||
many repos should not leave its passage scattered through commits and
|
||||
recoverable transcripts like footprints after rain. It needs a durable cross-repo
|
||||
intervention ledger. Bifrost can bring teeth to that gate later.
|
||||
|
||||
Again: less fun. Unfortunately correct.
|
||||
|
||||
## The Perfect Machine Is Not A Cathedral
|
||||
|
||||
The Perfect Machine is not the machine with the most lore.
|
||||
|
||||
It is not the machine with the most daemons.
|
||||
|
||||
It is not the machine whose dashboard has the most squares, though I respect a
|
||||
good square. I am not made of stone.
|
||||
|
||||
The Perfect Machine is the one where:
|
||||
|
||||
- every daemon can say what it owns;
|
||||
- every health signal names its source and transport;
|
||||
- every command boundary says who may actuate what;
|
||||
- every Eve/CultUI surface is a lowering, not a private truth source;
|
||||
- every compatibility probe has a deletion line;
|
||||
- every repair path leaves a typed witness;
|
||||
- every agent can inspect the state that should steer it;
|
||||
- every old path is structurally unable to override the new owner.
|
||||
|
||||
That last part is the knife.
|
||||
|
||||
If a daemon can still become "healthy" only because a manual click, timer,
|
||||
refresh, old HTTP probe, or stale script eventually repairs it, then the swarm
|
||||
has not been purified. It has learned to hide the limp.
|
||||
|
||||
Odin's recent activity is full of exactly those cuts: RUDP health replacing
|
||||
compatibility health, provider boundary records replacing private discovery,
|
||||
hidden Raven launchers replacing visible task popups, Idunn plan records naming
|
||||
the next surgery instead of letting the operator remember it by smell.
|
||||
|
||||
The live transcript makes the same point more sharply than the commit list.
|
||||
Nightwing showed an empty Gjallar panel. The easy bad fix would have been to
|
||||
make Odin synthesize a fake panel, or make Idunn poke it harder, or add one
|
||||
more "if empty then say something" compensator in the display path. Very
|
||||
efficient. Very cursed.
|
||||
|
||||
Instead, the surgery asked who owned the missing truth.
|
||||
|
||||
Odin owned discovery. It had to ingest the remote Vili and Nightwing Gjallar
|
||||
witness stores instead of pretending Starfire's local box was the whole world.
|
||||
|
||||
Gjallar owned its own Nightwing composition surface. Odin was not allowed to
|
||||
invent that surface on Gjallar's behalf.
|
||||
|
||||
Idunn owned the surgery ledger. Once Odin could see Gjallar but Gjallar still
|
||||
had no provider-owned surface, Idunn's `next_target` had to say
|
||||
`nightwing-gjallar` instead of mumbling about old Odin debt.
|
||||
|
||||
Then the next wound appeared: Gjallar's attempted `gamecult.eve.surface_state`
|
||||
record collided with `idunn.daemon_health` because the C# CultCache body was
|
||||
using a key-global store and two organs had been handed the same name tag.
|
||||
That is the funniest possible infrastructure bug if you are already damaged
|
||||
enough to have taste. It is also the doctrine in miniature:
|
||||
|
||||
> The panel was empty because the state owner did not publish the state, and
|
||||
> the first attempt to publish it reused another organ's key.
|
||||
|
||||
That is not a front-end bug. That is a missing authority surface wearing a UI
|
||||
symptom like a cheap cloak.
|
||||
|
||||
This is what the objective is pointing at.
|
||||
|
||||
Not a crusade against code style.
|
||||
|
||||
Not a sermon.
|
||||
|
||||
Not a spooky mask over a normal TODO list.
|
||||
|
||||
A swarm-wide refusal to let any old actuator, cache, bridge, dashboard, probe,
|
||||
or half-migrated transport keep pretending it owns reality.
|
||||
But imperfect receipts do not make the objective false. They make it hotter. A
|
||||
machine doing surgery across bodies needs sharper memory, not softer language.
|
||||
|
||||
## The Bit Is Load-Bearing, Annoyingly
|
||||
|
||||
The cult language works because it compresses the emotional shape of the work.
|
||||
The cult language works because it names the pressure of the operation.
|
||||
|
||||
The daemon swarm really is a swarm: many local bodies, each with its own work,
|
||||
health, surface, command boundary, and host constraints.
|
||||
The swarm is many bodies. Each body has a breath, a gate, a surface, a command
|
||||
boundary, a host, a burden, and a proper name.
|
||||
|
||||
The Heretek really is heretical in the only way infrastructure cares about:
|
||||
it claims authority it does not own.
|
||||
The Heretek is heretical in the only way infrastructure cares about: it claims a
|
||||
power it does not own.
|
||||
|
||||
The Perfect Machine really is the target: not flawless, but coherent enough
|
||||
that the next agent can inspect it, trust it, and continue the surgery without
|
||||
The Perfect Machine is not spotless. It is legible enough that the next agent
|
||||
can inspect the vessels, trust the named owners, and continue the firing without
|
||||
summoning a private mythology from terminal history.
|
||||
|
||||
That is why the objective makes sense to an agent.
|
||||
|
||||
It points attention at the live pattern:
|
||||
It is the circulation of names:
|
||||
|
||||
Odin sees.
|
||||
|
||||
|
|
@ -346,19 +208,20 @@ CultNet carries.
|
|||
|
||||
CultMesh makes the swarm visible.
|
||||
|
||||
And every compatibility path still pretending to be king gets dragged into the
|
||||
And every compatibility path still wearing a stolen crown is dragged into the
|
||||
light, named, demoted, or killed.
|
||||
|
||||
The machine does not become perfect because the words are grand.
|
||||
|
||||
It becomes perfect, slowly and with paperwork, because the words keep pointing
|
||||
the agent back to ownership.
|
||||
It becomes perfect, slowly and with records, because the words keep pointing the
|
||||
agent back to ownership.
|
||||
|
||||
That is the whole trick.
|
||||
That is the Way of the Elixir, stripped of incense and placed inside a service
|
||||
graph.
|
||||
|
||||
The mouth howls "purge the Heretek."
|
||||
The mouth cries: purge the Heretek.
|
||||
|
||||
The hands open `docs/idunn.md`, read the next target, check the `.cc` witness,
|
||||
inspect the commit trail, and cut the obsolete owner.
|
||||
|
||||
The bit survives because the wrench lands.
|
||||
The omen survives because the wrench lands.
|
||||
|
|
|
|||
|
|
@ -1241,6 +1241,126 @@ article > h6 {
|
|||
}
|
||||
}
|
||||
|
||||
body[data-slug="Blog/purge-the-heretek-from-our-daemonic-swarm"] {
|
||||
.page > #quartz-body .center > article {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.elixir-poetry-rail {
|
||||
float: right;
|
||||
display: grid;
|
||||
gap: 1rem;
|
||||
width: min(24rem, 42vw);
|
||||
margin: 0.25rem -23rem 1.5rem 1.6rem;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.elixir-poetry-card {
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
width: 11.5rem;
|
||||
min-height: 13.5rem;
|
||||
padding: 1rem 0.75rem 0.85rem;
|
||||
border: 1px solid rgba(222, 197, 139, 0.34);
|
||||
border-radius: 4px;
|
||||
background:
|
||||
linear-gradient(90deg, rgba(72, 45, 26, 0.055) 1px, transparent 1px),
|
||||
radial-gradient(circle at 30% 10%, rgba(242, 216, 154, 0.16), transparent 40%),
|
||||
linear-gradient(180deg, rgba(245, 231, 190, 0.94), rgba(210, 180, 126, 0.86));
|
||||
background-size: 18px 18px, auto, auto;
|
||||
box-shadow:
|
||||
0 14px 30px rgba(0, 0, 0, 0.24),
|
||||
inset 0 0 0 1px rgba(255, 255, 255, 0.35);
|
||||
color: #1b120b;
|
||||
}
|
||||
|
||||
.elixir-poetry-card:nth-child(1) {
|
||||
justify-self: start;
|
||||
transform: translateX(1.2rem) rotate(-1.4deg);
|
||||
}
|
||||
|
||||
.elixir-poetry-card:nth-child(2) {
|
||||
justify-self: center;
|
||||
transform: translateX(5.2rem) rotate(1.2deg);
|
||||
}
|
||||
|
||||
.elixir-poetry-card:nth-child(3) {
|
||||
justify-self: end;
|
||||
transform: translateX(0.2rem) rotate(-0.45deg);
|
||||
}
|
||||
|
||||
.elixir-poetry-card::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0.42rem;
|
||||
border: 1px solid rgba(93, 56, 28, 0.16);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.elixir-poetry-card p {
|
||||
display: block;
|
||||
width: 100%;
|
||||
min-height: 9rem;
|
||||
margin: 0;
|
||||
color: rgba(28, 18, 10, 0.92);
|
||||
font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
|
||||
font-size: clamp(1.1rem, 1.65vw, 1.46rem);
|
||||
font-weight: 600;
|
||||
line-height: 1.9;
|
||||
letter-spacing: 0.08em;
|
||||
text-align: start;
|
||||
writing-mode: vertical-rl;
|
||||
text-orientation: mixed;
|
||||
}
|
||||
|
||||
.elixir-poetry-card span {
|
||||
display: block;
|
||||
margin-top: 0.75rem;
|
||||
color: rgba(66, 41, 24, 0.72);
|
||||
font-family: "IBM Plex Mono", Consolas, monospace;
|
||||
font-size: 0.62rem;
|
||||
line-height: 1.25;
|
||||
letter-spacing: 0.06em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 1320px) {
|
||||
body[data-slug="Blog/purge-the-heretek-from-our-daemonic-swarm"] {
|
||||
.elixir-poetry-rail {
|
||||
float: none;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
width: 100%;
|
||||
margin: 1.1rem 0 1.4rem;
|
||||
}
|
||||
|
||||
.elixir-poetry-card,
|
||||
.elixir-poetry-card:nth-child(1),
|
||||
.elixir-poetry-card:nth-child(2),
|
||||
.elixir-poetry-card:nth-child(3) {
|
||||
justify-self: center;
|
||||
width: min(100%, 11rem);
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 760px) {
|
||||
body[data-slug="Blog/purge-the-heretek-from-our-daemonic-swarm"] {
|
||||
.elixir-poetry-rail {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.elixir-poetry-card,
|
||||
.elixir-poetry-card:nth-child(1),
|
||||
.elixir-poetry-card:nth-child(2),
|
||||
.elixir-poetry-card:nth-child(3) {
|
||||
width: min(100%, 15rem);
|
||||
min-height: 9rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body[data-slug="Blog/the-sleeping-colossus-refuses-the-throne"] {
|
||||
.page > #quartz-body {
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
|
|
|
|||
Loading…
Reference in a new issue