/* =============================================================================
   ANNEX — the finished wings beneath Rooms 01 (Story), 02 (Reserve), 03 (Roadmap) and 04
   (Community). Loaded only by those four pages. Everything here draws from the
   site's own tokens (site.css :root): the marble surfaces, the three golds, the
   one architectural line, Playfair / Plex Mono / Inter, square corners.
   ============================================================================= */
.annex{background:var(--marble-2);border-top:1px solid var(--line);color:var(--ink)}
.ax-wrap{max-width:1180px;margin:0 auto;padding:clamp(64px,10vh,120px) var(--gutter) clamp(72px,11vh,132px);display:grid;gap:clamp(52px,8vh,92px)}
.ax-wrap>*{min-width:0}
.ax-head .roomname{position:static;margin-bottom:20px}
.ax-head .engrave{font-size:clamp(34px,4.2vw,60px)}

.ax-block{display:grid;gap:clamp(22px,3.2vh,34px);padding-top:clamp(30px,4.5vh,48px);border-top:1px solid var(--line-strong);min-width:0}
.ax-block>*{min-width:0}
.ax-eyebrow{display:block;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;line-height:1.4;color:var(--gold-interface)}
.ax-title{margin:12px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(27px,2.8vw,40px);line-height:1.08;letter-spacing:-.022em;color:var(--ink);text-wrap:balance}
.ax-title i{font-style:italic}
.ax-title-caps{font-family:var(--mono);font-size:clamp(15px,1.5vw,19px);letter-spacing:.3em;text-transform:uppercase;line-height:1.3}
.ax-lead{margin:18px 0 0;font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(17px,1.45vw,20px);line-height:1.5;color:var(--ink);max-width:34ch;text-wrap:pretty}
.ax-note{margin:20px 0 0;padding-left:14px;border-left:1px solid var(--gold-structural);font-family:var(--sans);font-weight:300;font-size:13px;line-height:1.7;color:var(--umber);max-width:44ch}
.ax-block-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 28px;flex-wrap:wrap}
.ax-src{display:block;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;color:var(--mute)}
.ax-link{display:inline-flex;align-items:center;gap:8px;padding:6px 0 5px;background:none;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;line-height:1.4;color:var(--gold-interface);cursor:pointer;transition:color .32s ease,border-color .32s ease}
.ax-link:hover{color:var(--gold-interface-deep);border-color:var(--gold-interface-deep)}
.annex :focus-visible{outline:1px solid var(--gold-interface-deep);outline-offset:3px}

/* one status line per module: a leading dot + words. Gold and pulsing only while a reading is live. */
.ax-status{display:inline-block;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;color:var(--umber)}
.ax-status::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:8px;vertical-align:middle;position:relative;top:-1px}
.ax-status.is-live,.ax-status.is-ok,.ax-stat .m.ax-status.is-ok{color:var(--gold-interface)}
.ax-status.is-live::before{animation:pulse 2.4s ease-in-out infinite}
.ax-status.is-off{color:var(--mute)}
.ax-status.is-off::before{background:transparent;box-shadow:inset 0 0 0 1px currentColor}
.ax-status.is-plain::before{display:none}

/* ---------- two-column editorial blocks (Story annex) ---------- */
.ax-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,5.5vw,92px);align-items:start}
.ax-split .ax-block-head{position:sticky;top:104px}

/* ---------- expandable rows: open in place, one at a time per group ---------- */
.ax-rows{border-top:1px solid var(--line)}
.ax-row{border-bottom:1px solid var(--line);transition:background .5s var(--ease)}
.ax-row.open{background:linear-gradient(180deg,rgba(251,250,247,.72),rgba(251,250,247,.28))}
.ax-row-h{margin:0;font:inherit}
.ax-row-head{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:clamp(14px,1.8vw,24px);padding:22px 6px 22px 4px;margin:0;background:none;border:0;border-radius:0;text-align:left;color:inherit;cursor:pointer;font:inherit}
.ax-rows-plain .ax-row-head{grid-template-columns:minmax(0,1fr) auto}
.ax-row-n{align-self:start;padding-top:7px;min-width:26px;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;color:var(--gold-interface)}
.ax-row-mark{min-width:clamp(58px,6.4vw,86px);font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.1vw,30px);line-height:1;letter-spacing:-.01em;font-variant-numeric:lining-nums;
  background:linear-gradient(100deg,#A8894F 0%,#C8A767 38%,#D8C48E 52%,#C2A263 66%,#A8894F 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@supports not (background-clip:text){.ax-row-mark{color:var(--gold-interface)}}
.ax-row-mark.is-img{background:none;-webkit-text-fill-color:initial}
.ax-row-mark.is-img img{display:block;width:40px;height:40px;object-fit:contain}
.ax-row-tt{display:grid;gap:5px;min-width:0}
.ax-row-t{font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.75vw,25px);line-height:1.15;letter-spacing:-.015em;color:var(--ink);transition:color .32s ease}
.ax-row-s{font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:1.5;color:var(--umber)}
.ax-row-head:hover .ax-row-t,.ax-row.open .ax-row-t{color:var(--gold-interface-deep)}
.ax-row-cue{position:relative;width:13px;height:13px;flex:none}
.ax-row-cue::before,.ax-row-cue::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--gold-interface);transition:transform .5s var(--ease),opacity .4s ease}
.ax-row-cue::after{transform:rotate(90deg)}
.ax-row.open .ax-row-cue::after{transform:rotate(0deg);opacity:0}
.ax-row-head:hover .ax-row-cue::before,.ax-row-head:hover .ax-row-cue::after{background:var(--gold-interface-deep)}
.ax-review{justify-self:start;grid-column:2;margin-top:6px;padding:3px 8px;border:1px dashed var(--line-strong);font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber)}
.ax-row-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.ax-row.open .ax-row-panel{grid-template-rows:1fr}
.ax-row-inner{min-height:0;overflow:hidden;padding:0 6px 0 calc(26px + clamp(14px,1.8vw,24px) + 4px);opacity:0;transition:opacity .4s ease}
.has-marks .ax-row-inner{padding-left:calc(clamp(58px,6.4vw,86px) + clamp(14px,1.8vw,24px) + 4px)}
.ax-rows-plain .ax-row-inner{padding-left:4px}
.ax-row.open .ax-row-inner{opacity:1;transition-delay:.12s}
.ax-row-inner>*{max-width:62ch}
.ax-row-inner p{margin:0 0 14px;font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.75;color:var(--ink)}
.ax-row-inner p strong{font-weight:500}
.ax-row-inner p i{font-family:var(--serif);font-style:italic;font-size:1.08em}
.ax-row-inner>:first-child{margin-top:2px}
.ax-row-inner>:last-child{margin-bottom:28px}
.ax-fig{display:grid;gap:6px;margin:4px 0 18px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ax-fig b{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,42px);line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:lining-nums}
.ax-fig span{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--umber)}
.ax-excl{margin:0 0 14px;padding:12px 0 0;list-style:none;border-top:1px solid var(--line);display:grid;gap:8px}
.ax-excl li{display:grid;gap:2px;font-family:var(--sans);font-weight:300;font-size:13px;line-height:1.5;color:var(--ink)}
.ax-excl code{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--umber);overflow-wrap:anywhere}

/* ---------- Next Archive Journal ---------- */
.ax-journal{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(26px,4vw,64px);align-items:end;padding:clamp(30px,4.6vw,64px);
  background:linear-gradient(160deg,#FBFAF7 0%,#F5F1E9 60%,#F1EBDF 100%);border:1px solid var(--line-strong);box-shadow:0 30px 60px -44px rgba(23,19,15,.4)}
.ax-journal::before{content:"";position:absolute;inset:7px;border:1px solid var(--line);pointer-events:none}
.ax-journal>*{position:relative;min-width:0}
.ax-journal-h{margin:16px 0 0;font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.4vw,62px);line-height:1;letter-spacing:-.028em;color:var(--ink);text-wrap:balance}
.ax-journal-copy{margin:20px 0 0;font-family:var(--sans);font-weight:300;font-size:15.5px;line-height:1.75;color:var(--umber);max-width:46ch}
.ax-journal-main .btn{margin-top:24px}
.ax-journal-meta{margin:0;display:grid;border-top:1px solid var(--line-strong)}
.ax-journal-meta>div{display:grid;gap:7px;padding:16px 0;border-bottom:1px solid var(--line)}
.ax-journal-meta dt{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--umber)}
.ax-journal-meta dd{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(19px,1.8vw,24px);line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.ax-pending{display:inline-flex;align-items:center;gap:10px}
.ax-pending::before{content:"";width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--gold-interface);flex:none}   /* hollow: pending, not live */
.ax-pending.is-done::before{background:var(--gold-interface)}
.ax-journal-now{grid-column:1/-1;display:flex;align-items:baseline;gap:8px 22px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line)}
.ax-journal-now .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--umber)}
.ax-journal-now .t{font-family:var(--serif);font-weight:500;font-style:italic;font-size:17px;color:var(--ink);margin-right:auto}

/* ---------- Holder Growth ---------- */
.ax-ranges{display:inline-flex;border:1px solid var(--line-strong);background:rgba(250,247,241,.55)}
.ax-ranges button{min-width:52px;padding:11px 14px;margin:0;background:none;border:0;border-left:1px solid var(--line);border-radius:0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;line-height:1;color:var(--umber);cursor:pointer;transition:background .32s ease,color .32s ease}
.ax-ranges button:first-child{border-left:0}
.ax-ranges button:hover{color:var(--gold-interface-deep);background:rgba(243,235,220,.6)}
.ax-ranges button[aria-pressed="true"]{background:var(--gold-pale);color:var(--gold-interface-deep);box-shadow:inset 0 -1px 0 var(--gold-interface)}
.ax-stats{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ax-stat{display:grid;align-content:start;gap:9px;padding:20px clamp(14px,2vw,28px) 20px 0;min-width:0}
.ax-stat+.ax-stat{padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--line)}
.ax-stat .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--umber)}
.ax-stat b{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.5vw,34px);line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:lining-nums;overflow-wrap:anywhere}
.ax-stat-main b{font-size:clamp(38px,4.6vw,62px)}
.ax-stat b.is-nil,.ax-remaining.is-empty .ax-rem-main b,.ax-remaining.is-empty .ax-rem-pct b{font-family:var(--mono);font-weight:500;font-size:22px;line-height:1.6;letter-spacing:0;color:var(--mute)}
.ax-stat b.is-small{font-size:clamp(17px,1.6vw,22px);line-height:1.25;letter-spacing:-.01em}
.ax-stat .m{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;color:var(--mute)}
.ax-chart{position:relative;margin:0;display:grid;gap:12px}
.ax-chart-plot{position:relative;height:clamp(240px,32vw,380px);touch-action:pan-y;transition:opacity .3s ease}
.ax-chart.is-loading .ax-chart-plot{opacity:.45}
.ax-chart-plot svg{display:block;width:100%;height:100%;overflow:visible}
.ax-chart-plot .g-grid{stroke:rgba(111,102,94,.16);stroke-width:1;shape-rendering:crispEdges}
.ax-chart-plot .g-base{stroke:rgba(111,102,94,.34);stroke-width:1;shape-rendering:crispEdges}
.ax-chart-plot text{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.06em;fill:var(--mute);font-variant-numeric:tabular-nums}
.ax-chart-plot .g-line{fill:none;stroke:var(--gold-interface);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ax-chart-plot .g-area{fill:var(--gold-interface);opacity:.1}
.ax-chart-plot .g-dot{fill:var(--gold-interface);stroke:var(--marble-2);stroke-width:2}
.ax-chart-plot .g-end-label{font-family:var(--serif);font-weight:500;font-size:15px;letter-spacing:-.01em;fill:var(--ink)}
.ax-chart-plot .g-cross{stroke:rgba(23,19,15,.38);stroke-width:1;shape-rendering:crispEdges}
.ax-chart-plot .g-gap{fill:rgba(111,102,94,.07)}
.ax-chart-plot .g-gap-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.ax-tip{position:absolute;top:0;left:0;z-index:2;display:grid;gap:3px;min-width:120px;padding:9px 12px 8px;background:rgba(251,250,247,.97);border:1px solid var(--line-strong);box-shadow:0 14px 26px -18px rgba(23,19,15,.5);pointer-events:none;white-space:nowrap}
.ax-tip[hidden]{display:none}
.ax-tip b{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.1;color:var(--ink);font-variant-numeric:lining-nums}
.ax-tip span{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--umber)}
.ax-chart-state{position:absolute;left:0;right:0;top:0;height:clamp(240px,32vw,380px);display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;border:1px solid var(--line);background:linear-gradient(160deg,rgba(251,250,247,.85),rgba(241,238,232,.6))}
.ax-chart-state[hidden]{display:none}
.ax-chart-state .t{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2vw,27px);letter-spacing:-.015em;color:var(--ink)}
.ax-chart-state .s{max-width:46ch;font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:1.65;color:var(--umber)}
.ax-chart-cap{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;color:var(--mute);min-height:1.7em}
.ax-table summary{display:inline-block;padding:6px 0 5px;border-bottom:1px solid var(--line-strong);font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-interface);cursor:pointer;list-style:none}
.ax-table summary::-webkit-details-marker{display:none}
.ax-table summary:hover{color:var(--gold-interface-deep)}
.ax-table-scroll{max-height:300px;overflow:auto;margin-top:14px;border:1px solid var(--line);background:rgba(251,250,247,.6)}
.ax-table table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.ax-table th,.ax-table td{padding:9px 14px;text-align:left;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500}
.ax-table th{position:sticky;top:0;background:#F7F4EE;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--umber)}
.ax-table td:last-child,.ax-table th:last-child{text-align:right}

/* ---------- GOLDINU Remaining (annex meter) ---------- */
.ax-rem-figs{display:flex;align-items:flex-end;justify-content:space-between;gap:14px 40px;flex-wrap:wrap}
.ax-rem-main{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;min-width:0}
.ax-rem-main b{font-family:var(--serif);font-weight:500;font-size:clamp(40px,7.4vw,96px);line-height:.95;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.ax-rem-main span{font-family:var(--mono);font-weight:500;font-size:clamp(10.5px,1vw,12.5px);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-interface-deep)}
.ax-rem-pct{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding-bottom:.5em}
.ax-rem-pct b{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.4vw,32px);line-height:1;letter-spacing:-.015em;color:var(--gold-interface-deep);font-variant-numeric:lining-nums tabular-nums}
.ax-rem-pct span{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--umber)}
.ax-bar{display:flex;align-items:center;gap:clamp(8px,1vw,14px)}
.ax-bar-end{flex:none;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.1em;color:var(--mute)}
.ax-bar-track{position:relative;flex:1 1 auto;height:clamp(20px,2.2vw,28px);background:linear-gradient(180deg,#E6E0D4 0%,#EFEAE1 45%,#F4F0E9 100%);box-shadow:inset 0 1px 3px rgba(23,19,15,.16),inset 0 0 0 1px rgba(185,155,98,.3)}
/* the fill IS the share remaining: its width is the percentage, with no minimum */
.ax-bar-fill{position:absolute;left:0;top:0;bottom:0;width:0;overflow:hidden;
  background:linear-gradient(180deg,#F4E4B0 0%,#E3C473 22%,#C9A24A 52%,#A77B32 78%,#C3A05A 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(110,76,16,.4),0 0 14px rgba(217,180,92,.35)}
.ax-bar-fill::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,250,235,.55) 50%,transparent);animation:ax-sheen 5.5s ease-in-out infinite}
@keyframes ax-sheen{0%,35%{transform:translateX(0)}100%{transform:translateX(900%)}}
.ax-bar-tick{position:absolute;top:0;bottom:0;width:1px;background:rgba(111,102,94,.22)}
.ax-bar-marker{position:absolute;top:-6px;bottom:-6px;left:0;width:2px;margin-left:-1px;background:var(--gold-interface-deep)}
.ax-bar-marker::before{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;transform:translateX(-50%);background:var(--gold-artifact);box-shadow:0 0 0 2px var(--marble-2),0 0 10px rgba(217,180,92,.7)}
.ax-remaining.is-empty .ax-bar-fill,.ax-remaining.is-empty .ax-bar-marker{display:none}
.ax-remaining.no-pct .ax-bar,.ax-remaining.no-pct .ax-rem-pct{display:none}
.ax-rem-notes{display:grid;gap:10px;max-width:74ch}
.ax-rem-notes p{margin:0;font-family:var(--sans);font-weight:300;font-size:14px;line-height:1.7;color:var(--umber)}
.ax-rem-notes p.ax-src{margin-top:4px;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;line-height:1.7;color:var(--mute)}
/* the Reserve wall meter follows the same "no percentage without a baseline" rule */
#tokenomics .wallmeter.no-pct .wm-stat-pct,#tokenomics .wallmeter.no-pct .wm-scale{display:none}

/* ---------- Latest from GOLDINU (X) ---------- */
.ax-feed-meta{display:grid;justify-items:end;gap:8px}
.ax-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);align-items:start}
.ax-posts:empty{display:none}
.ax-post{display:grid;gap:14px;align-content:start;padding:20px 20px 16px;background:rgba(251,250,247,.82);border:1px solid var(--line);transition:border-color .4s ease,box-shadow .5s var(--ease),translate .5s var(--ease);min-width:0}
.ax-post:hover{border-color:var(--line-strong);box-shadow:0 22px 36px -28px rgba(23,19,15,.42);translate:0 -3px}
.ax-post-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}
.ax-post-author{display:contents;color:inherit}
.ax-post-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--gold-pale);box-shadow:0 0 0 1px var(--line-strong)}
.ax-post-avatar.is-blank{display:grid;place-items:center;font-family:var(--serif);font-size:17px;color:var(--gold-interface-deep)}
.ax-post-id{display:grid;gap:2px;min-width:0}
.ax-post-name{font-family:var(--serif);font-weight:500;font-size:16.5px;line-height:1.15;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-post-handle{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.08em;color:var(--umber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ax-post-x{display:grid;place-items:center;width:32px;height:32px;margin:-6px -8px -6px 0;color:var(--ink);transition:color .3s ease}
.ax-post-x:hover{color:var(--gold-interface-deep)}
.ax-post-x svg{width:17px;height:17px}
.ax-post-text{margin:0;font-family:var(--sans);font-weight:400;font-size:14.5px;line-height:1.62;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ax-post-text a{color:var(--gold-interface-deep);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.ax-post-text a:hover{text-decoration-color:currentColor}
.ax-post-media{display:grid;gap:4px;grid-template-columns:1fr}
.ax-post-media.n2,.ax-post-media.n3,.ax-post-media.n4{grid-template-columns:1fr 1fr}
.ax-post-media a{position:relative;display:block;overflow:hidden;background:var(--gold-pale);box-shadow:0 0 0 1px var(--line)}
.ax-post-media img{display:block;width:100%;height:auto;max-height:340px;object-fit:cover}
.ax-post-media.n2 img,.ax-post-media.n3 img,.ax-post-media.n4 img{aspect-ratio:1;height:100%}
.ax-post-media .tag{position:absolute;left:8px;bottom:8px;padding:3px 7px;background:rgba(247,245,241,.92);font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.ax-post-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.ax-post-when{display:grid;gap:3px}
.ax-post-time,.ax-post-edited{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--umber)}
.ax-post-time:hover,.ax-post-edited:hover{color:var(--gold-interface-deep)}
.ax-post-acts{display:flex;align-items:center;gap:2px;margin-right:-8px}
.ax-post-acts a{display:grid;place-items:center;width:34px;height:34px;color:var(--umber);transition:color .3s ease}
.ax-post-acts a:hover{color:var(--gold-interface-deep)}
.ax-post-acts svg{width:16px;height:16px}
.ax-empty{display:grid;justify-items:center;gap:12px;padding:clamp(36px,6vh,64px) 24px;text-align:center;border:1px solid var(--line);background:linear-gradient(160deg,rgba(251,250,247,.85),rgba(241,238,232,.6))}
.ax-empty[hidden]{display:none}
.ax-empty .t{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2vw,27px);letter-spacing:-.015em;color:var(--ink)}
.ax-empty .s{max-width:50ch;font-family:var(--sans);font-weight:300;font-size:13.5px;line-height:1.65;color:var(--umber)}
.ax-empty .btn{margin-top:8px}

/* ---------- Meme Catalogue ---------- */
.ax-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1.1vw,14px)}
.ax-tile{min-width:0}
.ax-tile-link{position:relative;display:grid;place-items:center;aspect-ratio:1;padding:9%;background:linear-gradient(160deg,#FBFAF7,#F2EEE6);border:1px solid var(--line);overflow:hidden;transition:border-color .4s ease,box-shadow .5s var(--ease)}
/* the image fills the mat area and is scaled to fit inside it (contain): whole image, any shape, never cropped */
.ax-tile-link img{position:absolute;left:9%;top:9%;width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(23,19,15,.26));transition:scale .6s var(--ease)}
.ax-tile-link:hover,.ax-tile-link:focus-visible{border-color:var(--gold-interface);box-shadow:0 20px 34px -26px rgba(23,19,15,.45)}
.ax-tile-link:hover img,.ax-tile-link:focus-visible img{scale:1.035}
.ax-tile-badge{position:absolute;left:8px;top:8px;padding:3px 7px;background:rgba(247,245,241,.92);border:1px solid var(--line);font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.ax-cat-more{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.ax-cat-more[hidden]{display:none}

/* lightbox: a native <dialog> — the browser supplies the focus trap, Esc and the inert page behind */
.ax-lb{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:hidden}
.ax-lb::backdrop{background:#F5F2EC}
.ax-lb-stage{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;touch-action:pan-y pinch-zoom}
.ax-lb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 10px}
.ax-lb-count{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--umber)}
.ax-lb-fig{margin:0;min-height:0;min-width:0;display:grid;place-items:center;padding:0 clamp(12px,6vw,96px);overflow:hidden}
/* sized against the viewport (bar above, caption below) so a tall image can never run off-screen */
.ax-lb-img{display:block;max-width:min(100%,calc(100vw - 2 * clamp(12px,6vw,96px)));max-height:calc(100vh - 176px);max-height:calc(100dvh - 176px);width:auto;height:auto;object-fit:contain;background-size:contain;background-position:center;background-repeat:no-repeat;box-shadow:0 40px 70px -46px rgba(23,19,15,.6),0 0 0 1px rgba(23,19,15,.08)}
.ax-lb-cap{display:grid;justify-items:center;gap:6px;padding:14px var(--gutter) calc(18px + env(safe-area-inset-bottom,0px));min-height:56px;text-align:center}
.ax-lb-cap .c{font-family:var(--serif);font-weight:500;font-style:italic;font-size:16px;color:var(--ink)}
.ax-lb-cap .a{max-width:70ch;font-family:var(--sans);font-weight:300;font-size:12.5px;line-height:1.5;color:var(--umber)}
.ax-lb-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin-top:-24px;padding:0;background:rgba(250,247,241,.82);border:1px solid var(--line-strong);border-radius:0;font-family:var(--mono);font-size:16px;color:var(--gold-interface);cursor:pointer;transition:background .3s ease,border-color .3s ease,color .3s ease}
.ax-lb-nav:hover{background:var(--gold-pale);border-color:var(--gold-interface);color:var(--gold-interface-deep)}
.ax-lb-nav[disabled]{opacity:.28;cursor:default}
.ax-lb-prev{left:clamp(8px,2vw,28px)}
.ax-lb-next{right:clamp(8px,2vw,28px)}

/* =============================================================================
   ROOM 03 ANNEX — Season 1 (statuses, initiatives, treasury update, cards, log)
   ============================================================================= */
.ax-body{margin:18px 0 0;font-family:var(--sans);font-weight:300;font-size:15px;line-height:1.75;color:var(--umber);max-width:46ch}

/* three statuses, three different marks — a plan never looks like something done:
   Planned = hollow ring · In progress = half-filled ring · Completed = solid gold seal with a tick */
.ax-st{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;line-height:1.4;white-space:nowrap;color:var(--umber)}
.ax-st::before{content:"";flex:none;box-sizing:border-box;width:11px;height:11px;border-radius:50%;border:1px solid currentColor}
.ax-st.is-planned{color:var(--umber)}
.ax-st.is-planned::before{border-style:dashed;background:transparent}
.ax-st.is-in-progress{color:var(--gold-interface-deep)}
.ax-st.is-in-progress::before{border-color:var(--gold-interface);background:linear-gradient(90deg,var(--gold-interface) 50%,transparent 50%)}
.ax-st.is-completed{color:var(--ink)}
.ax-st.is-completed::before{width:13px;height:13px;border:0;background:var(--gold-interface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Cpath d='M3.4 6.8l2.1 2.1 4.1-4.6' fill='none' stroke='%23F7F5F1' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px 13px no-repeat;box-shadow:0 0 0 2px rgba(217,180,92,.28)}
.ax-st.is-large{font-family:var(--serif);font-size:clamp(19px,1.8vw,24px);letter-spacing:-.01em;text-transform:none;gap:12px}
.ax-st.is-large::before{width:12px;height:12px}
.ax-st.is-large.is-completed::before{width:15px;height:15px;background-size:15px 15px}
.ax-tag{display:inline-block;padding:3px 8px 2px;border:1px solid var(--line-strong);font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;color:var(--umber)}
.ax-legend{display:inline-flex;gap:18px;flex-wrap:wrap}

/* initiative rows */
.ax-row-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ax-row-inner p.ax-row-lead{font-size:15.5px;color:var(--ink)}
.ax-row-inner p.ax-row-note{padding-left:14px;border-left:1px solid var(--gold-structural);font-size:13.5px;line-height:1.7;color:var(--umber)}
.ax-row-links{display:flex;gap:6px 24px;flex-wrap:wrap}
.ax-row-inner p.ax-row-links{margin-top:4px}
.ax-live{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ax-live[hidden]{display:none}
.ax-row-inner p.ax-live .k,.ax-row-inner p.ax-live .m{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;line-height:1.6;color:var(--umber)}
.ax-row-inner p.ax-live .m{color:var(--mute)}
.ax-live b{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1;letter-spacing:-.015em;color:var(--ink);font-variant-numeric:lining-nums}
.ax-miles{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:12px}
.ax-miles li{display:grid;gap:6px;padding-top:12px;border-top:1px solid var(--line);font-family:var(--sans);font-weight:300;font-size:14px;line-height:1.6;color:var(--ink)}
.ax-date{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;color:var(--umber)}

/* treasury update — the journal panel's frame, with its own status edge */
.ax-treasury.is-planned{border-style:solid}
.ax-treasury.is-planned::before{border-style:dashed}
.ax-treasury.is-completed{border-color:var(--gold-interface)}
.ax-treasury.is-completed::before{border-color:var(--line-strong)}
.ax-treasury .ax-journal-h{font-variant-numeric:lining-nums}
.ax-dd-date{font:inherit;color:inherit}
.ax-fine{font-family:var(--sans);font-weight:300;font-size:13px;line-height:1.65;color:var(--umber);max-width:70ch}
.ax-tx{display:flex;gap:6px 24px;flex-wrap:wrap}

/* business cards — front and back, each shown whole on an ivory mat */
.ax-split-wide{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.ax-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2.2vw,30px);align-items:start}
.ax-card{margin:0;display:grid;gap:12px;min-width:0}
.ax-card-frame{position:relative;display:grid;place-items:center;aspect-ratio:7/5;padding:8%;background:linear-gradient(160deg,#FBFAF7,#F1EDE5);border:1px solid var(--line);overflow:hidden;transition:border-color .4s ease,box-shadow .5s var(--ease)}
.ax-zoom{cursor:zoom-in}
.ax-card-frame .ax-zoom{position:absolute;left:8%;top:8%;width:84%;height:84%}
/* the whole card is always visible: scaled to fit, never cropped or stretched */
.ax-card-frame .ax-zoom img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(23,19,15,.3));transition:scale .6s var(--ease)}
.ax-card:not(.is-empty) .ax-card-frame:hover,.ax-card-frame:focus-within{border-color:var(--gold-interface);box-shadow:0 22px 36px -28px rgba(23,19,15,.45)}
.ax-card-frame:hover .ax-zoom img{scale:1.025}
.ax-card.is-empty .ax-card-frame{border-style:dashed;border-color:var(--line-strong);background:rgba(251,250,247,.5)}
.ax-card-slot{display:grid;justify-items:center;gap:8px;text-align:center}
.ax-card-slot b{font-family:var(--serif);font-weight:500;font-style:italic;font-size:clamp(20px,2vw,27px);letter-spacing:-.01em;color:var(--umber)}
.ax-card-slot span{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.ax-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ax-card figcaption .k{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink)}
.ax-card figcaption .m{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ax-cards-col{display:grid;gap:clamp(18px,2.4vw,28px);min-width:0}
.ax-progs{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(14px,2.2vw,30px);border-top:1px solid var(--line)}
.ax-prog{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}
.ax-prog .t{font-family:var(--serif);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--ink)}
.ax-prog .n{flex-basis:100%;font-family:var(--sans);font-weight:300;font-size:13px;line-height:1.6;color:var(--umber)}

/* ---------- the flip card: ONE business card, two faces ----------
   perspective on the stage (outer container) · preserve-3d on the rotating inner element · both faces
   in the same footprint · backface hidden (with the -webkit- forms Safari needs) · back face
   pre-rotated 180° so it reads normally, never mirrored · the inner element turns between 0 and 180°.
   The <button> is a clear layer over the card: it takes every press but plays no part in the 3D. */
.ax-flip{display:grid;justify-items:center;gap:14px;min-width:0}
.ax-flip-stage{position:relative;width:min(100%,600px);aspect-ratio:var(--card-ratio);-webkit-perspective:1400px;perspective:1400px}
/* a soft shadow on the "table" under the card; it stays put while the card turns above it */
.ax-flip-stage::before{content:"";position:absolute;left:7%;right:7%;bottom:-5%;height:16%;border-radius:50%;background:radial-gradient(closest-side,rgba(23,19,15,.34),rgba(23,19,15,0));filter:blur(8px);transition:transform .65s cubic-bezier(.45,.05,.2,1),opacity .65s ease;pointer-events:none}
.ax-flip.is-turning .ax-flip-stage::before{transform:scaleX(.82);opacity:.7}
.ax-flip-btn{position:absolute;left:0;top:0;z-index:2;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:none;color:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;appearance:none}
.ax-flip-btn,.ax-flip-btn:hover{transition:none}          /* the site gives hovered buttons a transition; the focus ring here should appear at once */
.ax-flip-btn[disabled]{cursor:default}
.ax-flip-btn:focus{outline:none}
.ax-flip-btn:focus-visible{outline:2px solid var(--gold-interface);outline-offset:8px}
.ax-flip-inner{position:absolute;left:0;top:0;display:block;width:100%;height:100%;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;
  transition:transform .65s cubic-bezier(.45,.05,.2,1);-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}
.ax-flip[data-face="back"] .ax-flip-inner{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}
.ax-flip-face{position:absolute;left:0;top:0;width:100%;height:100%;display:block;-webkit-backface-visibility:hidden;backface-visibility:hidden;
  -webkit-transform:rotateY(0deg) translateZ(.1px);transform:rotateY(0deg) translateZ(.1px)}   /* an explicit transform on the front face keeps Safari honouring backface-visibility */
.ax-flip-face.is-back{-webkit-transform:rotateY(180deg) translateZ(.1px);transform:rotateY(180deg) translateZ(.1px)}
.ax-flip-face img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}
.ax-flip:not(.is-ready) .ax-flip-hint{visibility:hidden}
.ax-flip-hint{margin:6px 0 0;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;line-height:1.5;color:var(--gold-interface)}
.ax-flip .when-back,.ax-flip[data-face="back"] .when-front{display:none}
.ax-flip[data-face="back"] .when-back{display:inline}
.ax-flip .is-tap{display:none}
@media (hover:none) and (pointer:coarse){ .ax-flip .is-click{display:none} .ax-flip .is-tap{display:inline} }
.ax-flip-links{margin:2px 0 0;display:flex;justify-content:center;gap:4px 26px;flex-wrap:wrap}
.ax-flip-cap{margin:0;font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.ax-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* reduced motion: the faces simply swap — no rotation, no 3D */
@media (prefers-reduced-motion:reduce){
  .ax-flip-inner,.ax-flip[data-face="back"] .ax-flip-inner{transition:none;-webkit-transform:none;transform:none;-webkit-transform-style:flat;transform-style:flat}
  .ax-flip-face,.ax-flip-face.is-back{-webkit-transform:none;transform:none;-webkit-backface-visibility:visible;backface-visibility:visible}
  .ax-flip-face.is-back,.ax-flip[data-face="back"] .ax-flip-face.is-front{visibility:hidden}
  .ax-flip[data-face="back"] .ax-flip-face.is-back{visibility:visible}
  .ax-flip-stage::before{transition:none}
  .ax-flip.is-turning .ax-flip-stage::before{transform:none;opacity:1}
}

/* update log */
.ax-updates{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.ax-update{display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr);gap:8px clamp(18px,3vw,44px);padding:22px 0 22px 18px;border-bottom:1px solid var(--line);border-left:2px dashed var(--line-strong)}
.ax-update.is-in-progress{border-left:2px solid var(--line-strong)}
.ax-update.is-completed{border-left:2px solid var(--gold-interface);background:linear-gradient(90deg,rgba(243,235,220,.5),rgba(243,235,220,0) 46%)}
.ax-update-side{display:grid;align-content:start;gap:8px}
.ax-update-main{display:grid;gap:8px;justify-items:start;min-width:0}
.ax-update-t{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.6vw,22px);line-height:1.2;letter-spacing:-.012em;color:var(--ink)}
.ax-update.is-planned .ax-update-t{color:var(--umber)}
.ax-update-main p{margin:0;font-family:var(--sans);font-weight:300;font-size:14.5px;line-height:1.7;color:var(--umber);max-width:66ch}
.ax-update.is-completed .ax-update-main p{color:var(--ink)}
.ax-zoom.is-thumb{display:inline-block;width:auto;height:auto;padding:5px;background:#FBFAF7;border:1px solid var(--line)}
.ax-zoom.is-thumb img{display:block;width:auto;height:auto;max-width:min(240px,100%);max-height:160px;object-fit:contain}
.ax-zoom.is-thumb:hover{border-color:var(--gold-interface)}
.ax-lb.is-single .ax-lb-nav{display:none}

/* ---------- tablet ---------- */
@media (max-width:1080px){
  .ax-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* ---------- phone: one column, the site's mobile type scale ---------- */
@media (max-width:860px){
  .ax-wrap{max-width:none;padding:var(--m-section) var(--m-inline) calc(var(--m-section) + 8px);gap:var(--m-s6)}
  .ax-head .engrave{font-size:var(--m-fs-h1)}
  .ax-head .roomname{margin-bottom:var(--m-s3)}
  .ax-block{gap:var(--m-s4);padding-top:var(--m-s5)}
  .ax-split{grid-template-columns:minmax(0,1fr)}
  .ax-split .ax-block-head{position:static}
  .ax-title{font-size:var(--m-fs-h2)}
  .ax-title-caps{font-size:15px;letter-spacing:.26em}
  .ax-lead{max-width:none;font-size:var(--m-fs-lead)}
  .ax-note{max-width:none;font-size:var(--m-fs-small)}
  .ax-eyebrow,.ax-link{font-size:var(--m-fs-label)}
  .ax-link{position:relative;padding:10px 0 6px}
  .ax-link::after{content:"";position:absolute;left:-6px;right:-6px;top:-8px;bottom:-10px}   /* 44px tap area without moving the underline */
  .ax-row-head{padding:18px 2px;min-height:64px;column-gap:14px}
  .ax-row-t{font-size:20px}
  .ax-row-s{font-size:var(--m-fs-small)}
  .ax-row-mark{min-width:54px;font-size:22px}
  .ax-row-mark.is-img img{width:34px;height:34px}
  .ax-row-inner,.has-marks .ax-row-inner,.ax-rows-plain .ax-row-inner{padding-left:2px;padding-right:2px}
  .ax-row-inner p{font-size:var(--m-fs-read);line-height:1.7}
  .ax-journal{grid-template-columns:minmax(0,1fr);gap:var(--m-s4);padding:30px 22px 26px}
  .ax-journal-h{font-size:var(--m-fs-h1)}
  .ax-journal-copy{font-size:var(--m-fs-body)}
  .ax-journal-now{padding-top:var(--m-s3);border-top:0}
  .ax-journal-now .t{flex-basis:100%;margin-right:0}
  .ax-ranges{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
  .ax-ranges button{min-height:44px;padding:0 6px}
  .ax-stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ax-stat{padding:var(--m-s3) var(--m-s3) var(--m-s3) 0}
  .ax-stat-main{grid-column:1/-1;border-bottom:1px solid var(--line)}
  .ax-stat-main+.ax-stat{padding-left:0;border-left:0}
  .ax-stat-main b{font-size:clamp(44px,13vw,60px)}
  .ax-chart-plot,.ax-chart-state{height:clamp(220px,62vw,300px)}
  .ax-rem-figs{display:grid;justify-items:start;gap:var(--m-s2)}
  .ax-rem-main{display:grid;gap:6px}
  .ax-rem-main b{font-size:clamp(38px,11.6vw,58px)}
  .ax-rem-pct{padding-bottom:0}
  .ax-bar-track{height:22px}
  .ax-rem-notes p{font-size:var(--m-fs-small)}
  .ax-rem-notes p.ax-src{font-size:var(--m-fs-meta)}
  .ax-feed-meta{justify-items:start}
  .ax-posts{grid-template-columns:minmax(0,1fr);gap:var(--m-s3)}
  .ax-post{padding:18px 16px 12px}
  .ax-post-text{font-size:var(--m-fs-body)}
  .ax-post-acts a{width:44px;height:44px}
  .ax-post-x{width:44px;height:44px;margin:-8px -12px -8px 0}
  .ax-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ax-tile-link img{left:7%;top:7%;width:86%;height:86%}
  .ax-lb-fig{padding:0 10px}
  .ax-lb-img{max-width:calc(100vw - 20px);max-height:calc(100vh - 210px);max-height:calc(100dvh - 210px)}
  .ax-lb-nav{top:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));margin-top:0;width:52px;height:44px}
  .ax-lb-cap{padding-left:76px;padding-right:76px}
}
@media (min-width:641px) and (max-width:860px){
  .ax-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ax-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .ax-row-panel,.ax-row-inner,.ax-row-cue::before,.ax-row-cue::after,.ax-post,.ax-tile-link img,.ax-chart-plot{transition:none}
  .ax-bar-fill::after,.ax-status.is-live::before{animation:none}
}
@media (max-width:1080px){
  .ax-split-wide{grid-template-columns:minmax(0,1fr)}
  .ax-split-wide .ax-block-head{position:static}
}
@media (max-width:860px){
  .ax-body{max-width:none;font-size:var(--m-fs-body)}
  .ax-st{font-size:var(--m-fs-meta)}
  .ax-st.is-large{font-size:20px}
  .ax-row-inner p.ax-row-lead{font-size:var(--m-fs-read)}
  .ax-cards{grid-template-columns:minmax(0,1fr);gap:var(--m-s4)}       /* front above back, each full width */
  .ax-card-frame .ax-zoom{left:6%;top:6%;width:88%;height:88%}
  .ax-progs{grid-template-columns:minmax(0,1fr)}
  .ax-update{grid-template-columns:minmax(0,1fr);padding:18px 0 18px 14px}
  .ax-update-side{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
  .ax-update-main p{font-size:var(--m-fs-body)}
  .ax-legend{gap:12px}
  .ax-prog{padding:12px 0}
}

/* =============================================================================
   REFINEMENT LAYER — gold emphasis, precision rules, numbered markers and the connected
   update timeline. Shared by every annex; nothing here changes content or data.
   ============================================================================= */
/* headline accents: the italic phrase carries the metallic gold (solid colour as fallback) */
.ax-head .engrave i,.ax-title i,.ax-journal-h i,.ax-journal-h strong{font-weight:500;color:var(--gold-interface-deep)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .ax-head .engrave i,.ax-title i,.ax-journal-h i,.ax-journal-h strong{background:var(--gold-metal);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
    padding-right:.06em;margin-right:-.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
}
.ax-journal-h strong{display:block}

/* each block opens on a short gold segment of its rule, with a small square at its head */
.ax-block{position:relative}
.ax-block::before{content:"";position:absolute;left:0;top:-1px;width:clamp(64px,8vw,112px);height:1px;background:linear-gradient(90deg,var(--gold-interface),rgba(167,123,50,0));pointer-events:none}
.ax-block::after{content:"";position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--gold-interface);transform:rotate(45deg);transform-origin:center;pointer-events:none}

/* expandable rows: a gold line draws along the top edge on hover and stays while open */
.ax-row{position:relative}
.ax-row::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--gold-interface),rgba(167,123,50,.35) 70%,rgba(167,123,50,0));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);pointer-events:none}
.ax-row:hover::before,.ax-row.open::before,.ax-row:focus-within::before{transform:scaleX(1)}
/* numbered markers: a small framed index rather than a loose number */
.ax-row-n{align-self:center;padding:6px 0 5px;min-width:34px;text-align:center;border:1px solid var(--line-strong);background:rgba(251,250,247,.6);letter-spacing:.12em;line-height:1;transition:border-color .4s ease,background .4s ease,color .4s ease}
.ax-row-head:hover .ax-row-n{border-color:var(--gold-interface)}
.ax-row.open .ax-row-n{border-color:var(--gold-interface);background:var(--gold-pale);color:var(--gold-interface-deep)}
.ax-row-inner{padding-left:calc(34px + clamp(14px,1.8vw,24px) + 4px)}
.has-marks .ax-row-inner{padding-left:calc(clamp(58px,6.4vw,86px) + clamp(14px,1.8vw,24px) + 4px)}
.ax-rows-plain .ax-row-inner{padding-left:4px}

/* key figures in gold */
.ax-stat-main b:not(.is-nil),.ax-rem-main b,.ax-live b{color:var(--gold-interface-deep)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .ax-stat-main b:not(.is-nil),.ax-remaining:not(.is-empty) .ax-rem-main b{background:var(--gold-metal);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.ax-remaining.is-empty .ax-rem-main b{background:none;-webkit-text-fill-color:currentColor;color:var(--mute)}
.ax-stat .k,.ax-journal-meta dt{color:var(--gold-interface)}
.ax-journal-meta dd{font-variant-numeric:lining-nums}

/* panels: corner registration marks inside the inner frame — precise, not ornamental */
.ax-journal::after{content:"";position:absolute;inset:7px;pointer-events:none;
  background:
    linear-gradient(var(--gold-interface),var(--gold-interface)) left top/14px 1px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) left top/1px 14px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) right top/14px 1px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) right top/1px 14px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) left bottom/14px 1px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) left bottom/1px 14px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) right bottom/14px 1px no-repeat,
    linear-gradient(var(--gold-interface),var(--gold-interface)) right bottom/1px 14px no-repeat}
.ax-journal{box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 40px 70px -48px rgba(23,19,15,.45),0 10px 24px -20px rgba(140,100,32,.25)}
.ax-journal-h{text-wrap:balance}

/* season 1 update log: one connected timeline — a gold rail, a numbered node per entry */
.ax-updates{position:relative;counter-reset:axu;border-top:0}
.ax-updates::before{content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--gold-interface) 0%,var(--line-strong) 40%,var(--line) 100%);pointer-events:none}
.ax-update{position:relative;counter-increment:axu;padding:24px 0 24px 64px;border-left:0;border-bottom:1px solid var(--line);transition:background .5s var(--ease)}
.ax-update.is-in-progress,.ax-update.is-completed{border-left:0}
.ax-update:first-child{border-top:1px solid var(--line)}
.ax-update::before{content:counter(axu,decimal-leading-zero);position:absolute;left:0;top:22px;box-sizing:border-box;width:35px;height:35px;display:grid;place-items:center;
  font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.08em;line-height:1;color:var(--umber);background:var(--marble-2);border:1px dashed var(--line-strong)}
.ax-update.is-in-progress::before{color:var(--gold-interface-deep);border:1px solid var(--gold-interface);background:linear-gradient(90deg,var(--gold-pale) 50%,var(--marble-2) 50%)}
.ax-update.is-completed::before{color:#FBF6EA;border:1px solid var(--gold-interface-deep);background:linear-gradient(160deg,#B8913F,#8C6420)}
.ax-update:hover{background:linear-gradient(90deg,rgba(243,235,220,.55),rgba(243,235,220,0) 60%)}
.ax-update.is-completed{background:linear-gradient(90deg,rgba(243,235,220,.5),rgba(243,235,220,0) 46%)}
.ax-update-t{transition:color .35s ease}
.ax-update:hover .ax-update-t{color:var(--gold-interface-deep)}

/* the business card's progress pair reads as two framed instruments */
.ax-progs{border-top:0;row-gap:10px}
.ax-prog{position:relative;padding:14px 16px;border:1px solid var(--line);background:rgba(251,250,247,.55)}
.ax-prog::before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:1px;background:var(--gold-interface)}

@media (max-width:860px){
  .ax-row-n{min-width:30px}
  .ax-row-inner,.has-marks .ax-row-inner,.ax-rows-plain .ax-row-inner{padding-left:2px;padding-right:2px}
  .ax-updates::before{left:14px}
  .ax-update{padding:18px 0 18px 46px}
  .ax-update::before{top:16px;width:29px;height:29px;font-size:9.5px}
  .ax-prog{padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){
  .ax-row::before,.ax-update,.ax-update-t,.ax-row-n{transition:none}
}

/* ---------- Featured posts (X embeds) ---------- */
.ax-fposts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);align-items:start}
.ax-fpost{min-width:0;position:relative}
/* X draws its own card; we only frame the space and keep it from ever exceeding the column */
.ax-fpost .twitter-tweet,.ax-fpost iframe{max-width:100%!important;width:100%!important;margin:0!important}
.ax-fpost .twitter-tweet{display:block}
/* the plain card shown until X's script has drawn the post (or if it is blocked) */
.ax-fpost-fallback{position:relative;display:grid;gap:8px;align-content:start;min-height:168px;padding:22px 22px 20px;background:rgba(251,250,247,.82);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .4s ease,box-shadow .5s var(--ease)}
.ax-fpost-fallback::before{content:"";position:absolute;left:-1px;top:-1px;width:28px;height:1px;background:var(--gold-interface)}
.ax-fpost-fallback:hover{border-color:var(--gold-interface);box-shadow:0 22px 36px -28px rgba(23,19,15,.42)}
.ax-fpost-fallback .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-interface)}
.ax-fpost-fallback .t{font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:-.01em}
.ax-fpost-fallback .go{margin-top:auto;padding-top:14px;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-interface-deep)}
.ax-feed-foot{display:flex;justify-content:center}
@media (max-width:1080px){ .ax-fposts{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .ax-fposts{grid-template-columns:minmax(0,1fr)} .ax-fpost-fallback{min-height:120px} }
.ax-fpost.is-embedded .ax-fpost-fallback{display:none}
.ax-fpost-embed:empty{display:none}
.ax-fpost-embed .twitter-tweet,.ax-fpost-embed iframe{max-width:100%!important;width:100%!important;margin:0!important}
.ax-fpost:not(.is-embedded) .ax-fpost-embed{position:absolute;left:0;top:0;width:100%;visibility:hidden;pointer-events:none}
.ax-fposts[hidden],.ax-feed-foot[hidden],.ax-posts[hidden]{display:none}
/* featured posts, readable in the site's own style until (or unless) X's full embed takes over */
.ax-fpost.is-embedded .ax-fpost-read{display:none}
.ax-fpost-read{height:100%}
.ax-fpost-read .ax-post-text{font-size:15px;line-height:1.65}
.ax-fpost-media{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed var(--line-strong);background:rgba(243,235,220,.4);color:var(--ink);text-decoration:none;transition:border-color .3s ease}
.ax-fpost-media:hover{border-color:var(--gold-interface)}
.ax-fpost-media .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--umber)}
.ax-fpost-media .go,.ax-fpost-open{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-interface-deep);text-decoration:none}
.ax-fpost-open{display:inline-flex;align-items:center;min-height:34px}
.ax-fpost-open:hover,.ax-fpost-media:hover .go{color:var(--ink)}
@media (max-width:860px){ .ax-fpost-read .ax-post-text{font-size:var(--m-fs-body)} .ax-fpost-open{min-height:44px} }

/* ---------------------------------------------------------------------------
   Live Market — our own price chart (replaces the DexScreener frame). The niche is always shown:
   the chart is drawn from /api/market, so it no longer waits on a third-party widget to load.
   --------------------------------------------------------------------------- */
#chart .niche{display:block}
#chart .frame .glass.mkt{aspect-ratio:auto;display:grid;gap:clamp(14px,1.6vw,22px);padding:clamp(16px,2vw,30px);overflow:visible}
.mkt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.mkt-price{display:grid;gap:6px}
.mkt-price .k,.mkt-figs .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.mkt-price b{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.6vw,50px);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;
  background:linear-gradient(180deg,#B8934A 0%,#8C6A2B 55%,#6E5120 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.mkt-price b.is-nil{color:var(--mute);background:none;-webkit-text-fill-color:currentColor}
.mkt-price .ch{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber);min-height:1em}
.mkt-price .ch.up{color:#3F7A4A}
.mkt-price .ch.down{color:#9A3B2E}
.mkt-body{position:relative}
.mkt .mkt-plot{height:clamp(220px,30vw,380px)}
.mkt.is-loading .mkt-plot{opacity:.45}
.mkt-state{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:20px;pointer-events:none}
.mkt-state[hidden]{display:none}
.mkt-state .t{font-family:var(--serif);font-weight:500;font-size:clamp(17px,1.6vw,22px);letter-spacing:-.01em;color:var(--ink)}
.mkt-state .s{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber)}
.mkt-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:clamp(12px,1.4vw,18px);border-top:1px solid var(--line)}
.mkt-figs div{display:grid;gap:5px;min-width:0}
.mkt-figs .v{font-family:var(--serif);font-weight:500;font-size:clamp(16px,1.5vw,21px);color:var(--ink);font-variant-numeric:lining-nums tabular-nums;overflow-wrap:anywhere}
@media (max-width:640px){
  .mkt-head{align-items:flex-start;flex-direction:column}
  .mkt-head .ax-ranges{width:100%}
  .mkt-head .ax-ranges button{flex:1;min-width:0}
  .mkt-figs{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
}

/* ---------------------------------------------------------------------------
   Featured posts — the post's own pictures, video and Space, drawn by the site
   --------------------------------------------------------------------------- */
.ax-fpost-more{justify-self:start;margin-top:-6px;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-interface-deep);text-decoration:none;border-bottom:1px solid var(--line-strong);padding-bottom:2px}
.ax-fpost-more:hover{color:var(--ink);border-color:currentColor}
.ax-fmedia{display:grid;gap:4px;grid-template-columns:1fr;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.ax-fmedia.n2,.ax-fmedia.n3,.ax-fmedia.n4{grid-template-columns:1fr 1fr}
.ax-fmedia.n3>:first-child{grid-row:span 2}
.ax-fmedia-photo{position:relative;display:block;overflow:hidden;background:var(--gold-pale)}
.ax-fmedia.n2 .ax-fmedia-photo,.ax-fmedia.n4 .ax-fmedia-photo{aspect-ratio:1}
.ax-fmedia.n3 .ax-fmedia-photo{aspect-ratio:1}
.ax-fmedia.n3 .ax-fmedia-photo:first-child{aspect-ratio:auto}
.ax-fmedia-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ax-fmedia-photo:hover img{transform:scale(1.025)}
.ax-fmedia-video{position:relative;background:#17130F;overflow:hidden}
.ax-fmedia-video video{display:block;width:100%;height:100%;object-fit:contain;background:#17130F}
.ax-fmedia-play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:#17130F;cursor:pointer}
.ax-fmedia-play img{display:block;width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .4s ease,transform 1.2s var(--ease)}
.ax-fmedia-play:hover img{opacity:1;transform:scale(1.02)}
.ax-fmedia-play .ic{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#F1DFA8,#C9A24A 55%,#8C6A2B);box-shadow:0 10px 30px -8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .4s var(--ease)}
.ax-fmedia-play .ic::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #FBFAF7}
.ax-fmedia-play:hover .ic{transform:scale(1.07)}
.ax-fmedia-play:focus-visible{outline:2px solid var(--gold-interface);outline-offset:-4px}
.ax-fmedia .tag{position:absolute;left:8px;bottom:8px;padding:3px 7px;background:rgba(247,245,241,.92);font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);pointer-events:none}
/* a Space: a gold "on air" plaque */
.ax-fspace{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:18px 18px;text-decoration:none;color:#FBFAF7;
  background:linear-gradient(150deg,#2A221A 0%,#17130F 70%);box-shadow:inset 0 0 0 1px rgba(201,162,74,.45);transition:box-shadow .4s ease}
.ax-fspace:hover{box-shadow:inset 0 0 0 1px #C9A24A,0 18px 30px -22px rgba(23,19,15,.6)}
.ax-fspace .wave{display:flex;align-items:center;gap:3px;height:38px}
.ax-fspace .wave i{display:block;width:3px;height:40%;border-radius:2px;background:linear-gradient(180deg,#F1DFA8,#C9A24A);animation:axWave 1.4s ease-in-out infinite}
.ax-fspace .wave i:nth-child(2){animation-delay:-.2s}.ax-fspace .wave i:nth-child(3){animation-delay:-.5s}.ax-fspace .wave i:nth-child(4){animation-delay:-.8s}
.ax-fspace .wave i:nth-child(5){animation-delay:-.35s}.ax-fspace .wave i:nth-child(6){animation-delay:-.65s}.ax-fspace .wave i:nth-child(7){animation-delay:-1s}
@keyframes axWave{0%,100%{height:30%}50%{height:100%}}
.ax-fspace .txt{display:grid;gap:5px;min-width:0}
.ax-fspace .k{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:#C9A24A}
.ax-fspace .t{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.2;letter-spacing:-.01em;color:#FBFAF7}
.ax-fspace .go{font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#E6D3A0}
.ax-flink{display:grid;text-decoration:none;color:var(--ink);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.ax-flink img{display:block;width:100%;aspect-ratio:1.91;object-fit:cover}
.ax-flink .txt{display:grid;gap:4px;padding:10px 12px}
.ax-flink .k{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber)}
.ax-flink .t{font-family:var(--serif);font-weight:500;font-size:15px;line-height:1.3}
@media (prefers-reduced-motion:reduce){.ax-fspace .wave i{animation:none;height:60%}.ax-fmedia-photo img,.ax-fmedia-play img{transition:none}}
