/* ══ THE FIELD, RESTYLED - a preview only (18 Sep 2026) ═══════════════════════════════════════════
   The same page, the same map, the chrome around it in the landing page's language: heavy sans, floating pills, white
   rounded cards with soft shadows, gold accents, stickers. Loaded after the page's own styles and overriding them. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@112,900&family=Inter:wght@400;500;600;700&display=swap');

:root { --paper:#efe9db; --paper2:#e6dfcd; --ink:#1c1712; --ink2:#6a5f52; --red:#c8371f; --gold:#f7931e; --green:#ffd9b0; --lilac:#e9e4d6; --estate:#f4c542; --white:#fff; --shadow:0 12px 34px rgba(28,23,18,.14); --r:22px; }
html, body { font:400 15px/1.5 Inter, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; color:var(--ink); background:var(--paper); }

/* the display face everywhere the page shouts */
#cartouche h1, #welcome h1, #ledger .lt, h3, .deed-head b, #wz-title, #tour b, .tb-head h2, #desk h2, #desk h3, .tvl b, .stamp, #legendbox .lt { font-family:Archivo, Impact, "Arial Black", sans-serif !important; font-weight:900 !important; font-stretch:112%; letter-spacing:-.01em !important; text-transform:uppercase; }

/* no ruled plate around the page */
#plate { display:none; }

/* ── buttons: pills ── */
button { border:2px solid var(--ink); outline:0 !important; border-radius:999px; background:var(--white); color:var(--ink); font:600 13px Inter, sans-serif; letter-spacing:0; text-transform:none; height:38px; padding:0 16px; box-shadow:0 2px 0 rgba(28,23,18,.12); transition:transform .15s ease, background .2s ease, color .2s ease; }
button:hover { background:var(--gold); color:var(--ink); border-color:var(--ink); }
button:active { transform:scale(.96); }
button.small { height:34px; padding:0 14px; font-size:13px; }
button.gold { background:var(--ink); color:var(--white); border-color:var(--ink); }
button.gold:hover { background:var(--red); border-color:var(--red); color:#fff; }
button.trade { background:var(--gold); border-color:var(--ink); }
button.trade:hover { background:var(--ink); color:#fff; }
button.wallet { background:var(--ink); color:#fff; }
button.wallet.on { background:#e6f7c3; color:#2f5d10; border-color:#2f5d10; }
button.wallet.on::before { background:#3fb54a; border:0; }
button:disabled, button:disabled:hover { background:var(--paper2); color:var(--ink2); border-color:var(--paper2); box-shadow:none; }
select, input { border:2px solid var(--paper2); border-radius:12px; background:var(--white); font:500 14px Inter, sans-serif; height:38px; padding:0 12px; }
select:focus-visible, input:focus-visible { border-color:var(--ink); outline:0; }
.field > span:first-child, .sub { font:600 11px Inter, sans-serif !important; letter-spacing:.14em !important; text-transform:uppercase; color:var(--ink2); }
.sub { display:inline-block; background:rgba(28,23,18,.07); border-radius:999px; padding:5px 12px; margin:14px 0 6px; }

/* ── the cartouche, the legend: white floating cards ── */
#leftcol { top:20px; left:20px; width:330px; gap:14px; }
#cartouche, #legendbox { background:var(--white); border:0; outline:0 !important; border-radius:var(--r); box-shadow:var(--shadow); padding:18px 20px 14px; }
#cartouche::before { display:none; }
#cartouche h1 { font-size:24px !important; letter-spacing:.02em !important; display:flex; align-items:center; justify-content:center; gap:10px; }
#cartouche h1::before { content:""; width:30px; height:30px; background:url(/assets/omen-logo-180.png) center/contain no-repeat; flex:none; }
#welcome h1 { display:flex; align-items:center; justify-content:center; gap:14px; }
#welcome h1::before { content:""; width:48px; height:48px; background:url(/assets/omen-logo-180.png) center/contain no-repeat; flex:none; }
#ledger .lt::before { content:""; display:inline-block; width:16px; height:16px; margin-right:8px; vertical-align:-3px; background:url(/assets/omen-logo-180.png) center/contain no-repeat; }
#cartouche h1::after { content:"▾"; display:inline-grid; place-items:center; width:24px; height:24px; margin-left:auto; border:2px solid var(--ink); border-radius:50%; font:900 13px/1 Inter, sans-serif; color:var(--ink); background:var(--white); vertical-align:middle; }
#cartouche.folded h1::after { content:"▸"; }
#cartouche h2 { font:500 13px/1.35 Inter, sans-serif; color:var(--ink2); white-space:normal; margin:6px 0 10px; }
#surveyed { display:block; background:rgba(28,23,18,.07); border-radius:14px; padding:6px 12px; font:600 10.5px/1.35 Inter, sans-serif; letter-spacing:.1em; text-transform:uppercase; font-style:normal; color:var(--ink2); white-space:normal; text-align:center; }
#counts { font:500 14px Inter, sans-serif; margin-top:10px; }
#counts td { padding:5px 0; border-bottom:1px solid var(--paper2); }
#counts tr.you td { color:#b8620a; font-weight:700; }
#cart-x { border:0; box-shadow:none; height:auto; padding:2px 6px; }
#legendbox { padding:12px 16px 8px; }
#legendbox .lt { font-size:12px !important; letter-spacing:.14em !important; color:var(--ink2); }
#legendbox .lt::after { content:"▾"; display:inline-grid; place-items:center; width:22px; height:22px; margin-left:8px; border:2px solid var(--ink); border-radius:50%; font:900 12px/1 Inter, sans-serif; color:var(--ink); background:var(--white); vertical-align:middle; }
#legendbox.folded .lt::after { content:"▸"; }

/* ── the tools: a floating white pill bar ── */
#tools { top:20px; right:20px; gap:8px; background:var(--white); border-radius:999px; box-shadow:var(--shadow); padding:6px; }
#tools button.small { height:36px; box-shadow:none; }
#btn-art { border-color:var(--paper2); }

/* ── the Ledger: one white card, pill tabs ── */
#ledger { top:74px; left:372px; right:20px; background:var(--white); border:0; outline:0 !important; border-radius:var(--r); box-shadow:var(--shadow); padding:14px 20px 18px; box-sizing:border-box; max-height:calc(100vh - 74px - 28px); }   /* the ledger may run down to the bottom edge, so a tab is read without scrolling inside it (user, 18 Sep) */
#ledger .lt { font-size:13px !important; letter-spacing:.14em !important; color:var(--ink2); cursor:pointer; }
#ledger .lt::after { content:"▾"; display:inline-grid; place-items:center; width:22px; height:22px; margin-left:8px; border:2px solid var(--ink); border-radius:50%; font:900 12px/1 Inter, sans-serif; color:var(--ink); background:var(--white); vertical-align:middle; }
#ledger.folded .lt::after { content:"▸"; }
#ledger .head { flex-wrap:wrap; gap:10px 18px; }
#ledger .tabs { border:0; background:var(--paper); border-radius:999px; padding:4px; gap:2px; flex-wrap:wrap; }
#ledger .tabs button { border:0 !important; border-radius:999px !important; background:transparent; font:600 13px Inter, sans-serif; letter-spacing:0; text-transform:none; height:32px; padding:0 14px; box-shadow:none; color:var(--ink); }
#ledger .tabs button:hover { background:rgba(28,23,18,.08); }
#ledger .tabs button.on { background:var(--ink); color:#fff; }
#ledger-body { margin-top:12px; gap:22px; }
#ledger-body > .col { background:var(--paper); border-radius:18px; padding:14px 16px; min-width:0; overflow:hidden; }
h3 { font-size:15px !important; border:0 !important; padding:0; margin:14px 0 8px; letter-spacing:.02em !important; }
h3 .n { font:500 12px Inter, sans-serif; color:var(--ink2); text-transform:none; letter-spacing:0; }
.fine, .dim { color:var(--ink2); }
.entry { border:0; border-radius:12px; padding:6px 8px; margin:2px 0; min-width:0; flex-wrap:wrap; }
.entry > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
details.fold, #lot-list, #est-list, #pf-sols, #pf-btcs { min-width:0; max-width:100%; }
.entry.click:hover { background:var(--white); box-shadow:0 4px 14px rgba(28,23,18,.08); }
.sw { border:0 !important; border-radius:5px; width:16px !important; height:16px !important; }
.ledger-link { color:var(--ink); font-weight:600; text-decoration:none; border-bottom:2px solid var(--gold); }
details.fold > summary { border:0 !important; font:700 14px Inter, sans-serif !important; letter-spacing:0 !important; text-transform:none; padding:8px 0; }
details.fold > summary::before { content:"▸"; margin-right:6px; }
details[open].fold > summary::before { content:"▾"; }
details.fold > summary .n { font:500 12px Inter, sans-serif; color:var(--ink2); }
.seg { border:0; outline:0 !important; background:var(--white); border-radius:999px; padding:3px; }
.seg button { border-radius:999px !important; border:0 !important; min-height:30px; font:600 12px Inter, sans-serif; box-shadow:none; }
.seg button.on { background:var(--ink); color:#fff; }
.kvt td { border-bottom:1px solid var(--paper2); padding:5px 0; }
.tvl { border:0; outline:0 !important; background:var(--gold); color:var(--ink); border-radius:16px; padding:12px 14px 10px; }
.tvl b { font-size:26px; }
/* the fee pool over time: a stepped line on a hatched ground, drawn like the estate charts
   rather than like a dashboard. The svg carries no text, so it can scale to any column. */
.fpwrap { margin:10px 0 0; }
/* the height is fixed and matches the viewBox, so money is drawn at the same scale in a 183px
   column and a 660px one; only time stretches. Everything stroked is non-scaling in the markup. */
.fpchart { display:block; width:100%; height:132px; overflow:visible; }
.fpline { fill:none; stroke:var(--gold); stroke-width:2.6; stroke-linejoin:round; stroke-linecap:round; }
.fparea { fill:var(--gold); fill-opacity:.17; stroke:none; }
.fpbase { stroke:var(--ink); stroke-opacity:.18; stroke-width:1; }
.fptick { stroke:var(--ink); stroke-opacity:.55; stroke-width:2; }
.fptick:hover { stroke-opacity:1; stroke-width:3; }
.fpaxis { display:flex; justify-content:space-between; gap:8px; margin-top:2px; font:700 10.5px Inter, sans-serif; letter-spacing:.04em; color:var(--ink2); text-transform:uppercase; }
.fpnote { margin:6px 0 0; }
.stamp { background:var(--gold); color:var(--ink); border:3px solid var(--ink); border-radius:12px; font-size:12px !important; letter-spacing:.14em !important; padding:5px 12px; box-shadow:4px 4px 0 var(--ink); opacity:1; transform:rotate(-6deg); }
.warn { color:var(--red); }
.okbox, .warnbox { border-radius:14px; border:0; padding:10px 14px; }
.okbox { background:#e6f7c3; } .warnbox { background:#ffe1d8; }

/* deeds: white rounded cards that lift */
.deed-grid { gap:12px; grid-template-columns:repeat(auto-fill, minmax(124px, 1fr)); }
.deed-card { background:var(--white); border:0; border-radius:18px; box-shadow:0 6px 18px rgba(28,23,18,.08); padding:10px 8px 10px; height:auto; transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease; }
.deed-card img { border-radius:12px; }
.deed-card b { font:900 15px Archivo, sans-serif; }
.deed-card small { font:500 11px Inter, sans-serif; color:var(--ink2); }
/* what the staking pool owes this lot on the next payout: green is landing, grey is waiting,
   red is a share that rounds below a whole token and will be skipped. The full sentence is on
   the deed; this is only enough to scan forty cards and know which ones need looking at. */
/* The pill wraps rather than holding one line. A grid track of 1fr takes its minimum from the
   item content, so a nowrap "first paid Mon 5 Oct" widened every column and pushed the grid 71px
   past the Ledger sheet on a 375px phone. min-width:0 on the card lets the track shrink again;
   wrapping keeps the words readable where an ellipsis would have cut "market maker" in half. */
.deed-card { min-width:0; }
.deed-card .stk { display:inline-block; margin-top:5px; font:800 10.5px Inter, sans-serif; font-style:normal; letter-spacing:.02em; line-height:1.35; padding:2px 7px; border-radius:999px; white-space:normal; max-width:100%; }
.deed-card .stk.on { background:rgba(47,138,62,.13); color:#2f8a3e; }
.deed-card .stk.wait { background:rgba(28,23,18,.07); color:var(--ink2); font-weight:600; }
.deed-card .stk.dust { background:rgba(155,44,31,.11); color:#9b2c1f; }
/* market making is not a fault and not a reward: its own colour, the survey's gold */
.deed-card .stk.mm { background:rgba(176,141,59,.16); color:#8a6d22; font-weight:700; }
.stake-alt { color:var(--ink2); margin-top:2px; }
/* the staking band above the deeds: a label, the money, then the small print. It stacks so that
   a long line wraps on its own instead of pushing the deeds below the fold in the Ledger column. */
.stake-band { line-height:1.5; }
.stake-lab { font:800 10.5px Inter, sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#2f8a3e; }
.stake-due { font:800 16px Archivo, sans-serif; margin:3px 0 5px; }
.stake-now, .stake-but { margin-top:2px; }
.stake-but { color:#9b2c1f; }
.stake-more { display:inline-block; margin-top:7px; }
.deed-card:hover { transform:translateY(-6px) rotate(-1deg); box-shadow:0 16px 34px rgba(28,23,18,.16); background:var(--white); }
.deed-actions button { border-radius:999px; }
.deed-actions .danger { background:var(--white); color:var(--red); border-color:var(--red); }
.deed-actions .danger:hover { background:var(--red); color:#fff; }
.deed-head b { font-size:20px; }
.deed-art { border-radius:16px; }

/* the lot card under the pointer, the toast, the wizard, the tour */
#card { background:var(--white); border:0; outline:0 !important; border-radius:18px; box-shadow:var(--shadow); padding:12px 16px; font-size:14px; }
#card b { font:900 16px Archivo, sans-serif; }
#card img.art { border-radius:12px; }
#toast { background:var(--ink); color:#fff; border-radius:999px; padding:10px 20px; font:600 14px Inter, sans-serif; box-shadow:var(--shadow); }
#wizard, #tour { background:var(--white); border:0; outline:0 !important; border-radius:26px; box-shadow:0 24px 60px rgba(28,23,18,.22); padding:22px 26px; }
#wz-title { font-size:20px; }
#tour b { font-size:18px; }
#tour p { color:var(--ink2); }
.goal { border-radius:12px; }

/* the welcome: a big shout on a white sheet */
/* no backdrop-filter here: it sits over the live map, and a filter that re-reads everything behind it
   on every repaint of a canvas drawing ten times a second cost the survey 53 frames a second down to 19.
   The wash is a little deeper to make up for the softness that has gone. */
#welcome { background:rgba(28,23,18,.6); }
#welcome .note { background:var(--white); border:0; outline:0 !important; border-radius:32px; box-shadow:0 30px 80px rgba(28,23,18,.3); padding:36px 40px 30px; width:min(680px, 94vw); }
#welcome h1 { font-size:46px !important; line-height:.95; letter-spacing:-.01em !important; }
#welcome h2 { font:500 15px/1.45 Inter, sans-serif; color:var(--ink2); }
#welcome .note > p.dim { font:500 12px Inter, sans-serif; text-align:center; }
.path { border-radius:18px; background:var(--paper); border:2px solid transparent; box-shadow:none; height:auto; padding:14px 18px; text-align:left; }
.path b { font:900 15px Archivo, sans-serif; text-transform:uppercase; letter-spacing:.02em; }
.path span { font:400 13.5px Inter, sans-serif; color:var(--ink2); }
.path:hover { background:var(--gold); border-color:var(--ink); }
.path:hover span { color:var(--ink); }

/* menus and boards */
#wallet-menu, #more-menu { background:var(--white); border:0; outline:0 !important; border-radius:22px; box-shadow:var(--shadow); padding:12px 12px 8px; }
:is(#wallet-menu, #more-menu) .wm-item { border-radius:12px; border:0; box-shadow:none; height:auto; padding:10px 12px; text-align:left; background:transparent; font:600 14px Inter, sans-serif; }
:is(#wallet-menu, #more-menu) .wm-item:hover { background:var(--paper); }
:is(#wallet-menu, #more-menu) .wm-head b { font:900 14px Archivo, sans-serif; }
:is(#trade-board, #loan-board) .tb-sheet { background:var(--paper); border:0; outline:0 !important; border-radius:28px; box-shadow:0 30px 80px rgba(28,23,18,.3); }
.tb-head h2 { font-size:26px; }
.tb-card { background:var(--white); border:0; border-radius:20px; box-shadow:0 6px 18px rgba(28,23,18,.08); }
.tb-art { border-radius:14px; }
.trade-row { border-radius:14px; }
.trade-row:hover { background:var(--white); }
.wcard { border-radius:24px; border:0; outline:0 !important; box-shadow:var(--shadow); background:var(--white); }
.wcard.btc.on { background:#ffe7d0; }
.w-seal { border-radius:50%; }
.estate-form .unit em { font:500 13px Inter, sans-serif; }
.estate-save button { border-radius:999px; }

/* the ticker */
#ticker { border-radius:999px; background:var(--paper); padding:4px 12px; }
#tape b { font:900 12px Archivo, sans-serif; }

/* phones: the drawer keeps its round top */
@media (max-width:700px) {
  #tools { border-radius:22px; }
  #ledger { border-radius:22px 22px 0 0; left:0; right:0; top:auto; bottom:0; max-height:62vh; }
  #ledger .tabs { display:flex; flex-wrap:wrap; background:var(--paper); }
  #ledger .tabs button { height:30px; padding:0 10px; font-size:12px; }
  #cartouche { border-radius:18px; }
}

/* the notices the atlas builds inline (the re-sign notice, the Ledger sign-in help) */
#mm-resign-notice > div, #signin-help > div { background:var(--white) !important; border:0 !important; outline:0 !important; border-radius:26px !important; box-shadow:0 30px 80px rgba(28,23,18,.3) !important; font:400 15px/1.5 Inter, sans-serif; }
#mm-resign-notice > div > div:first-child, #signin-help > div > div:first-child { font:900 22px Archivo, Impact, sans-serif !important; text-transform:uppercase; border:0 !important; }

/* ── the second layer: every ruled, dashed or serif piece left inside the panels ── */
select { -webkit-appearance:none; appearance:none; padding-right:34px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231c1712' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; }
.field > span:first-child { white-space:normal; }
#ledger-body > .col + .col { border-left:0 !important; border-top:0 !important; padding-left:16px; }
.ledger-link { font:600 13px Inter, sans-serif; font-style:normal; color:var(--ink); border-bottom:2px solid var(--gold); margin-left:8px; }
.ledger-link:hover { color:var(--gold); }
#tape { font:600 12px Inter, sans-serif; letter-spacing:.06em; text-transform:none; }
#tape b { font-weight:700; } #tape b.omen { letter-spacing:0; }
#desk h2 { font:900 22px Archivo, Impact, sans-serif; text-transform:uppercase; letter-spacing:0; }
#desk h3 { margin-top:16px; }
.deed-head b { font-size:20px; }
.kv2 { border-radius:14px; background:var(--white); padding:10px 14px; }
.kv2 span:nth-child(odd) { font:600 11px Inter, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2); }
/* the allowlist: rounded white tiles, orange where the asset is sovereign, dashed nowhere */
#palette-grid { gap:8px; }
#palette-grid .cell { border:2px solid transparent !important; border-radius:14px; background:var(--white); padding:10px 8px 8px; font:700 14px Inter, sans-serif; line-height:1.15; box-shadow:0 3px 10px rgba(28,23,18,.06); transition:transform .2s ease, border-color .2s ease; }
#palette-grid .cell small { display:block; font:600 10px Inter, sans-serif; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2); font-style:normal; margin-top:3px; }
#palette-grid .cell:hover { transform:translateY(-3px); border-color:var(--ink) !important; background:var(--white); }
#palette-grid .cell.issuer { border-style:solid !important; }
#palette-grid .cell.own { border-color:var(--gold) !important; background:#fff3e4; }
#palette-grid .cell:not(.issuer) { background:#fff3e4; }
.okbox { background:#e6f7c3; border:0; border-radius:14px; }
.warnbox { border:0 !important; outline:0 !important; background:#ffe1d8; border-radius:14px; }
.tag { border:0; background:#ffe1d8; color:var(--red); border-radius:999px; padding:3px 10px; font:600 11px Inter, sans-serif; letter-spacing:.1em; }
.steps-bar span { border:0; height:8px; border-radius:999px; background:var(--paper2); }
.steps-bar span.done { background:var(--gold); }
.progress div { border-radius:999px; overflow:hidden; }
.goals { border:0; background:var(--white); border-radius:16px; padding:12px 14px 8px; }
.goal i { border:2px solid var(--ink); border-radius:6px; width:14px; height:14px; }
.goal.done i { background:var(--gold); border-color:var(--gold); }
#switch { font:600 12px Inter, sans-serif; letter-spacing:0; gap:4px; background:var(--white); border-radius:999px; padding:4px; box-shadow:var(--shadow); }
#switch a { border:0; border-radius:999px; padding:6px 14px; background:transparent; }
#switch a.on { background:var(--ink); color:#fff; }
.share { border:0; height:8px; border-radius:999px; background:var(--paper2); overflow:hidden; }
.share i { background:var(--gold); border-radius:999px; }
.asset-row { border-bottom:1px solid var(--paper2); padding:8px 0; }
.estate-links { border-top:0; border-bottom:0; background:var(--white); border-radius:14px; padding:8px 12px; }
.deed-card img, #card img.art, .trade-row img { border:0 !important; border-radius:14px; }
.deed-art { border:0 !important; outline:0 !important; border-radius:18px; }
#wz-title { border-bottom:0; }
#tour .step { font:600 11px Inter, sans-serif; letter-spacing:.14em; }
#btn-art.off { border-style:solid; }
#cart-x { font:700 13px/22px Inter, sans-serif; border-radius:50%; background:var(--paper); }
:is(#wallet-menu, #more-menu) .wm-head small { font:600 11px Inter, sans-serif; letter-spacing:.12em; }
:is(#wallet-menu, #more-menu) .wm-item small { font:500 12px Inter, sans-serif; color:var(--ink2); }
:is(#wallet-menu, #more-menu) .wm-item { border-bottom:0 !important; }
.wc-name { font:900 14px Archivo, sans-serif; letter-spacing:.02em; }
.tb-hold, .tb-holder, .tb-contact, .tb-row { font-family:Inter, sans-serif; }
.tb-actions button { border-radius:999px; }
/* the two things the atlas styles inline: its Ledger sign-in link button and the ruled title of the sign-in help */
a[style*="letter-spacing:.12em"][style*="outline:1px solid"] { border:0 !important; outline:0 !important; border-radius:999px !important; letter-spacing:0 !important; text-transform:none !important; font:600 14px Inter, sans-serif !important; padding:10px 18px !important; }
div[style*="border-bottom:1px solid var(--ink,#2b2118)"] { border-bottom:0 !important; font:900 22px Archivo, Impact, sans-serif !important; text-transform:uppercase; }

/* ── the vote ── */
h3 .n { background:rgba(28,23,18,.07); border-radius:999px; padding:3px 10px; margin-left:6px; white-space:nowrap; }
.share { border:0; height:10px; border-radius:999px; background:var(--paper2); overflow:hidden; margin:4px 0 10px; }
.share i { border-radius:999px; background:var(--gold); animation:fm-fill .9s var(--ease) both; }
#ledger-body .box { background:var(--white) !important; border:2px solid var(--ink) !important; border-radius:16px !important; padding:14px 16px !important; box-shadow:var(--shadow); animation:fm-pop .45s var(--ease) both; animation-delay:.25s; }
button.vote-cast { background:var(--white); }
button.vote-cast:hover { background:var(--gold); }
button.vote-cast:disabled, button.vote-cast:disabled:hover { background:var(--ink); color:#fff; border-color:var(--ink); }
#ledger-body .warn { border:0; border-radius:12px; background:#fbe9e4; color:var(--red); padding:8px 12px; }

/* ── motion: one language with the landing page (field-motion.css) ── */
#cartouche, #legendbox, #ledger, #tools { animation:fm-rise .5s var(--ease) both; }
#legendbox { animation-delay:.08s; } #ledger { animation-delay:.14s; } #tools { animation-delay:.04s; }
#ledger-body > .col { animation:fm-rise .45s var(--ease) both; }
#ledger-body > .col:nth-child(2) { animation-delay:.06s; } #ledger-body > .col:nth-child(3) { animation-delay:.12s; } #ledger-body > .col:nth-child(4) { animation-delay:.18s; } #ledger-body > .col:nth-child(5) { animation-delay:.24s; }
#ledger .tabs button { transition:background .25s ease, color .25s ease, transform .25s var(--ease); }
#ledger .tabs button.on { animation:fm-pop .35s var(--ease); }
button { transition:background .2s ease, color .2s ease, border-color .2s ease, transform .18s var(--ease), box-shadow .25s ease; }
button:hover { transform:translateY(-1px); box-shadow:0 8px 18px rgba(28,23,18,.12); }
button:active { transform:scale(.96); box-shadow:none; }
.entry { transition:background .2s ease, transform .2s var(--ease); }
.entry.click:hover { transform:translateX(3px); }
.deed-card { transition:transform .3s var(--ease), box-shadow .3s ease; }
.deed-card:hover { transform:translateY(-4px) rotate(-.5deg); box-shadow:0 16px 32px rgba(28,23,18,.14); }
#deed-grid .deed-card, .deed-grid .deed-card { animation:fm-rise .4s var(--ease) both; }
/* overlays fade in; they must not be given a transform, since several centre themselves with one (the wizard hung half off screen when fm-pop overwrote it, 18 Sep) */
#card, #wizard, #trade-board, #loan-board, #welcome, #tour, #desk { animation:fm-fade .3s ease both; }
#toast { animation:fm-rise .3s var(--ease) both; border-radius:999px; }
#wallet-menu, #more-menu { animation:fm-rise .22s var(--ease) both; }
#palette-grid .cell { transition:transform .2s var(--ease), border-color .2s ease; } #palette-grid .cell:hover { transform:translateY(-2px); }
#cartouche h1::after, #legendbox .lt::after, #ledger .lt::after { transition:transform .25s var(--ease), background .2s ease; }
#cartouche h1:hover::after, #legendbox .lt:hover::after, #ledger .lt:hover::after { background:var(--gold); transform:translateY(-1px); }
@media (prefers-reduced-motion: reduce) { #cartouche, #legendbox, #ledger, #tools, #ledger-body > .col, .share i, #ledger-body .box { animation:none; } }

/* ── the phone: a drawer that holds the whole ledger, tabs in two rows, the columns inside its width ──
   (the atlas's own phone rules are overridden by the rules above, so they are restated here, in this language) */
@media (max-width:700px) {
  #tools { left:10px; right:10px; top:10px; }
  #leftcol { top:132px; left:10px; width:calc(100% - 20px); gap:8px; }
  #cartouche, #legendbox { padding:10px 14px 8px; }
  #cartouche h1 { font-size:20px !important; }
  #ledger { left:0; right:0; top:auto; bottom:0; box-sizing:border-box; max-height:min(84vh, calc(100vh - 70px)); padding:8px 12px calc(12px + env(safe-area-inset-bottom, 0px)); border-radius:22px 22px 0 0; box-shadow:0 -12px 40px rgba(28,23,18,.18); overscroll-behavior:contain; }
  #ledger-body { overscroll-behavior:contain; touch-action:pan-y; }
  #ledger .head { gap:4px 8px; }
  #ledger .lt { font-size:11px !important; }
  #ledger .tabs { width:100%; order:3; display:grid; grid-template-columns:repeat(4, 1fr); gap:2px; padding:3px; border-radius:16px; background:var(--paper); margin-top:2px; }
  #ledger .tabs button { height:30px; padding:0 2px; font-size:12px; min-width:0; border-radius:12px !important; grid-column:auto !important; }
  #ledger-body { flex-direction:column; gap:10px; margin-top:8px; overflow:auto; min-height:0; -webkit-overflow-scrolling:touch; }
  #ledger-body { align-items:stretch; }
  #ledger-body > .col { flex:none; width:100%; min-width:0; box-sizing:border-box; padding:10px 12px; }
  #ledger-body > .col + .col { padding-left:12px; padding-top:10px; }
  #ledger-body .row { flex-wrap:wrap; gap:6px; }
  #deed-filter { width:120px !important; }
  #deeds-wide { display:none; }   /* the drawer already takes the screen; the expand door is for wide screens */
  .deed-grid { grid-template-columns:repeat(3, 1fr); gap:8px; }
  .deed-card { padding:8px 6px 8px; }
  .deed-card small { font-size:10px; }
  #ledger.wide { top:10px; left:10px; right:10px; bottom:10px; max-height:none; border-radius:22px; }
  #card { left:10px !important; right:10px; top:auto !important; bottom:70px; max-width:none; }
  #tour { bottom:70px; width:calc(100% - 20px); }
}

/* ── the Gazetteer: your lots as a grid of chips, not a column of rows ── */
.lotsum { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; margin:8px 0 10px; font:500 13px Inter, sans-serif; color:var(--ink2); }
.lotsum b { font:900 18px Archivo, Impact, sans-serif; color:var(--ink); margin-right:4px; }
.lotsum .ledger-link { margin-left:auto; }
#lot-list.lotgrid { display:grid; grid-template-columns:repeat(auto-fill, minmax(84px, 1fr)); gap:6px; }
#lot-list.lotgrid .entry.lot { display:flex; flex-direction:column; align-items:center; gap:2px; margin:0; padding:9px 6px 7px; border:0; border-radius:12px; background:var(--white); box-shadow:0 4px 12px rgba(28,23,18,.06); text-align:center; }
#lot-list.lotgrid .entry.lot > span:first-of-type { flex:none; font:700 13px Inter, sans-serif; }
#lot-list.lotgrid .entry.lot .dim { font:600 9px Inter, sans-serif; letter-spacing:.08em; text-transform:uppercase; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%; }
#lot-list.lotgrid .entry.lot.vault { background:var(--gold); }
#lot-list.lotgrid .entry.lot.vault .dim { color:var(--ink); }
#lot-list.lotgrid .entry.click:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(28,23,18,.12); }
@media (max-width:700px) { #lot-list.lotgrid { grid-template-columns:repeat(auto-fill, minmax(72px, 1fr)); gap:5px; } }

/* the estate column takes twice the room of its neighbours, so the chips sit six across */
#ledger-body > .col:has(#lot-list) { flex:2 1 420px; }

/* ── long lists use the width, not the height: the list's column drops to a full-width row under the others and lays
   its rows out three across on a desktop, one across on a phone; the tabs above stay as they were ── */
#ledger-body { flex-wrap:wrap; }
#ledger-body > .col:has(.trade-row), #ledger-body > .col:has(.vault-row), #ledger-body > .col#mm-log { flex:1 1 100%; order:3; }
#ledger-body :has(> .trade-row), #ledger-body > .col:has(.vault-row), #mm-log { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:6px 10px; align-content:start; }
#ledger-body > .col:has(.vault-row) > h3, #ledger-body > .col:has(.vault-row) > button, #ledger-body > .col:has(.vault-row) > p, #mm-log > h3, #mm-log > p, #ledger-body :has(> .trade-row) > h3, #ledger-body :has(> .trade-row) > .row, #ledger-body :has(> .trade-row) > p { grid-column:1 / -1; }
.trade-row, .vault-row, #mm-log .entry { background:var(--white); border-bottom:0 !important; border-radius:12px; padding:8px 10px; margin:0; }
.trade-row { padding:10px 12px; }
#est-list { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:4px 10px; }
@media (max-width:700px) { #ledger-body :has(> .trade-row), #ledger-body > .col:has(.vault-row), #mm-log, #est-list { grid-template-columns:1fr; } }
/* tighter still: four across for offers and vaults on a wide ledger, the asset shares two across, smaller art */
#ledger-body :has(> .trade-row), #ledger-body > .col:has(.vault-row), #mm-log { grid-template-columns:repeat(auto-fill, minmax(255px, 1fr)); }
.trade-row { padding:8px 10px; gap:8px; } .trade-row img { width:44px !important; height:44px !important; } .trade-row .tr-lot { font-size:15px; }
#ledger-body > .col:has(.asset-row) { display:grid; grid-template-columns:1fr 1fr; gap:2px 14px; align-content:start; }
#ledger-body > .col:has(.asset-row) > h3, #ledger-body > .col:has(.asset-row) > p { grid-column:1 / -1; }
.asset-row { padding:4px 0; }
@media (max-width:700px) { #ledger-body > .col:has(.asset-row) { grid-template-columns:1fr; } }
/* big cards after all: offers three or four across at most, with the art at full size */
#ledger-body :has(> .trade-row), .tr-rows { grid-template-columns:repeat(auto-fill, minmax(380px, 1fr)) !important; gap:10px !important; }
.tr-rows { display:grid; align-content:start; }
#ledger-body :has(> .tr-rows) > h3, #ledger-body :has(> .tr-rows) > .row, #ledger-body :has(> .tr-rows) > p, #ledger-body :has(> .tr-rows) > button { grid-column:1 / -1; }
.trade-row { padding:12px 14px; gap:12px; } .trade-row img { width:72px !important; height:72px !important; } .trade-row .tr-lot { font-size:17px; }
#ledger-body > .col:has(.vault-row), #mm-log { grid-template-columns:repeat(auto-fill, minmax(330px, 1fr)); }
/* the trade tab: a narrow intro column beside the board, not a row above it */
#ledger-body > .col:has(.trade-row), #ledger-body > .col:has(.tr-rows) { flex:1 1 auto; order:0; }
#ledger-body > .col:has(#tr-board) { flex:0 0 280px; }
@media (max-width:900px) { #ledger-body > .col:has(#tr-board) { flex:1 1 100%; } }
/* checkboxes are small ink ticks, not scaled form fields */
input[type="checkbox"] { width:18px !important; height:18px !important; min-height:0 !important; padding:0 !important; margin:0 8px 0 0; border:0 !important; box-shadow:none !important; accent-color:var(--ink); vertical-align:middle; border-radius:5px; }

/* the way to the floor, at the top of the Agents tab (19 Sep 2026) */
.floor-link { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); background:var(--ink); color:#fff; border-radius:16px; padding:12px 16px; transition:background .2s ease, transform .2s var(--ease); }
.floor-link b { font:900 15px Archivo, Impact, sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.floor-link span { font:500 13px Inter, sans-serif; opacity:.8; flex:1; }
.floor-link i { font-style:normal; font-weight:700; }
.floor-link:hover { background:var(--gold); color:var(--ink); transform:translateY(-1px); }

/* the floor as a tab in the Ledger row: a link, since it opens its own page (19 Sep 2026) */
#ledger .tabs a.floor-tab { display:inline-flex; align-items:center; gap:5px; height:32px; padding:0 14px; border-radius:999px; font:600 13px Inter, sans-serif; color:var(--ink); text-decoration:none; background:rgba(247,147,30,.22); box-shadow:inset 0 0 0 1.5px var(--gold); white-space:nowrap; transition:background .2s ease; }
#ledger .tabs a.floor-tab i { font-style:normal; font-size:11px; }
#ledger .tabs a.floor-tab:hover { background:var(--gold); }
@media (max-width:1100px) { #ledger .tabs a.floor-tab { height:30px; padding:0 10px; font-size:12px; } }

/* ── the Agents tab's plan editor (19 Sep 2026) ── */
.linkish { border:0 !important; background:none !important; height:auto; padding:0 2px; font:600 12px Inter, sans-serif; color:var(--ink); text-decoration:underline; text-underline-offset:2px; cursor:pointer; box-shadow:none; }
.linkish:hover { color:var(--red); }
.ag-editor { background:var(--white); border-radius:18px; padding:14px 16px 16px; margin:4px 0 12px; box-shadow:var(--shadow); }
.ag-editor .sub { margin-bottom:8px; }
.ag-kinds { display:flex; flex-wrap:wrap; gap:2px; background:var(--paper) !important; }
.ag-kinds button { padding:0 12px; height:32px; white-space:nowrap; flex:1 1 auto; }
.ag-slider input, .ag-slider select { min-width:0; }
.ag-presets { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.ag-presets button { height:30px; font-size:12px; }
.ag-sliders { display:grid; gap:10px; margin:0 0 12px; }
.ag-slider { display:grid; grid-template-columns:minmax(130px, 1fr) 2fr 64px; align-items:center; gap:10px; font:500 13px Inter, sans-serif; }
.ag-slider b { font:700 14px Inter, sans-serif; text-align:right; font-variant-numeric:tabular-nums; }
.ag-check { display:flex; gap:8px; align-items:center; font:500 13px Inter, sans-serif; }
.ag-check input { height:auto; width:auto; }
.ag-editor input[type=range] { -webkit-appearance:none; appearance:none; height:6px; padding:0; border:0; border-radius:999px; background:var(--paper2); width:100%; }
.ag-editor input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--ink); border:3px solid var(--gold); cursor:pointer; }
.ag-editor input[type=range]::-moz-range-thumb { width:16px; height:16px; border-radius:50%; background:var(--ink); border:3px solid var(--gold); cursor:pointer; }
.ag-sentence { background:var(--paper); border-radius:12px; padding:10px 12px; margin:0 0 8px; font:500 14px/1.45 Inter, sans-serif; }
.ag-topup { display:inline-flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:6px; }
.ag-topup button.small { height:30px; }
@media (max-width:560px) { .ag-kinds { border-radius:18px !important; } .ag-kinds button { flex:1 1 40%; } .ag-slider { grid-template-columns:minmax(0,1fr) 64px; } .ag-slider span { grid-column:1 / -1; } .ag-slider select { grid-column:1 / -1; } }

#ledger-body:has(> .ag-top) { flex-wrap:wrap; }
#ledger-body > .ag-top { animation:fm-rise .45s var(--ease) both; }

/* ── the Agents tab, laid out vertically (19 Sep 2026, user): a side column, one card per vault, the log on the right ── */
#ledger-body > #mm-box { flex:3 1 620px; min-width:0; }
#ledger-body > #mm-log { flex:1 1 280px; max-width:440px; min-width:0; }
.ag-grid { display:grid; grid-template-columns:minmax(220px, 300px) minmax(0, 1fr); gap:20px; align-items:start; }
.ag-side .kvt { margin:10px 0; }
.ag-kinds-list { list-style:none; margin:8px 0; padding:0; display:grid; gap:4px; font:500 13px Inter, sans-serif; }
.ag-kinds-list li { background:var(--white); border-radius:10px; padding:6px 10px; color:var(--ink2); }
.ag-kinds-list b { color:var(--ink); margin-right:4px; }
.ag-bulk { display:flex; flex-direction:column; gap:6px; margin:10px 0; }
.ag-bulk button { margin:0; width:100%; }
.ag-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px; align-items:start; }
.ag-card { background:var(--white); border-radius:16px; padding:12px 14px 14px; box-shadow:0 4px 14px rgba(28,23,18,.07); border:2px solid transparent; }
.ag-card.on { border-color:var(--ink); }
.ag-card.open { grid-column:1 / -1; }
.ag-head { display:flex; justify-content:space-between; align-items:baseline; font:500 13px Inter, sans-serif; color:var(--ink2); }
.ag-head b { font:900 18px Archivo, Impact, sans-serif; color:var(--ink); letter-spacing:.01em; }
.ag-switch { display:flex; margin:10px 0 !important; background:var(--paper) !important; }
.ag-switch button { flex:1 1 50%; margin:0; height:32px; padding:0 10px; font-size:13px; }
.ag-plan { background:var(--paper); border-radius:12px; padding:8px 10px; margin:0 0 8px; font:500 13px/1.4 Inter, sans-serif; }
.ag-kv { display:flex; justify-content:space-between; gap:10px; font:500 12.5px Inter, sans-serif; padding:4px 0; border-bottom:1px dashed var(--paper2); }
.ag-kv > span:first-child { color:var(--ink2); flex:none; }
.ag-kv > span:last-child { text-align:right; }
.ag-edit { margin:10px 0 0; width:100%; }
.ag-card .ag-editor { box-shadow:none; background:var(--paper); margin:10px 0 0; }
.ag-editor .ag-kinds { display:grid !important; grid-template-columns:repeat(auto-fit, minmax(110px, 1fr)); gap:4px; border-radius:16px !important; background:var(--white) !important; }
.ag-editor .ag-kinds button { width:100%; }
.ag-editor .ag-sliders { max-width:560px; }
.ag-editor .ag-slider { grid-template-columns:1fr auto; row-gap:4px; }
.ag-editor .ag-slider > span { grid-column:1; }
.ag-editor .ag-slider > b { grid-column:2; grid-row:1; }
.ag-editor .ag-slider > input, .ag-editor .ag-slider > select { grid-column:1 / -1; grid-row:2; }
@media (max-width:1100px) { .ag-grid { grid-template-columns:1fr; } }
/* the Ledger's own width decides, not the window's: a wide window can still leave it narrow (23 Sep 2026) */
#ledger-body > .col { container-type:inline-size; }
@container (max-width:640px) { .ag-grid { grid-template-columns:1fr !important; } }
/* the tab row wraps inside the Ledger instead of running past its edge (a flex item would keep its full width) */
#ledger .tabs { max-width:100%; min-width:0; box-sizing:border-box; }
.ag-facts { margin:10px 0; }
.ag-head b { font:800 17px Inter, sans-serif !important; letter-spacing:0 !important; }
@media (max-width:900px) { #ledger-body > #mm-box, #ledger-body > #mm-log { flex:none; max-width:none; } .ag-main { order:-1; } }
/* phones and wallet browsers: the ledger is one column, so the Agents tab's top row must not wrap it into side-by-side columns (19 Sep 2026) */
@media (max-width:900px) {
  #ledger-body:has(> .ag-top) { flex-wrap:nowrap !important; flex-direction:column !important; }
  #ledger-body > .ag-top { flex:none !important; width:100% !important; }
  #ledger-body > .ag-top > * { flex:1 1 100% !important; }
  #ledger-body > #mm-box, #ledger-body > #mm-log { width:100% !important; box-sizing:border-box; }
  .ag-grid { grid-template-columns:1fr !important; }
  .ag-cards { grid-template-columns:1fr !important; }
  .ag-switch button { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
/* a phone stacks the ledger in one column: wrapping there sends the cards into columns off the side of the screen,
   which hid every card after the first (the Votes tab, reported 20 Sep 2026) */
@media (max-width:900px) { #ledger-body { flex-wrap:nowrap !important; } }

/* ── toasts: stacked notes, each with its own clock (20 Sep 2026) ── */
#toast.stack { position:fixed; left:50%; bottom:26px; transform:translateX(-50%); background:none !important; border:0 !important; padding:0 !important; display:flex !important; flex-direction:column; gap:8px; align-items:center; z-index:80; pointer-events:none; max-width:min(560px, 92vw); }
#toast.stack .tst { pointer-events:auto; position:relative; overflow:hidden; background:var(--ink); color:#fff; border-radius:16px; padding:11px 16px 13px; font:500 14px/1.4 Inter, sans-serif; box-shadow:0 14px 34px rgba(28,23,18,.28); cursor:pointer; }
#toast.stack .tst.bad { background:var(--red); }
#toast.stack .tst i { position:absolute; left:0; bottom:0; height:3px; width:100%; background:rgba(255,255,255,.5); transform-origin:left; animation:tstclock 4s linear forwards; }
#toast.stack .tst.go { animation:tstin .42s cubic-bezier(.2,1.1,.3,1) both; }
#toast.stack .tst.out { animation:tstout .26s ease-in forwards; }
@keyframes tstin { from { transform:translateY(14px) scale(.96); opacity:0; } to { transform:none; opacity:1; } }
@keyframes tstout { to { transform:translateY(8px) scale(.98); opacity:0; } }
@keyframes tstclock { from { transform:scaleX(1); } to { transform:scaleX(0); } }
/* the main button carries one slow sweep of gold, so the eye finds it without a glow */
.sweep { position:relative; overflow:hidden; }
.sweep::after { content:""; position:absolute; top:0; bottom:0; width:38%; left:-45%; background:linear-gradient(100deg, transparent, rgba(247,147,30,.55), transparent); animation:sweep 5.5s ease-in-out infinite; pointer-events:none; }
@keyframes sweep { 0%, 62% { left:-45%; } 88%, 100% { left:115%; } }
@media (prefers-reduced-motion: reduce) { #toast.stack .tst.go, #toast.stack .tst.out, #toast.stack .tst i { animation:none; } .sweep::after { display:none; } }

/* ── numflow: a digit is a column of 0-9 that slides (20 Sep 2026) ── */
.nf { white-space:nowrap; }   /* no display change: the element keeps whatever it was, table cell included */
.nf .nf-col { display:inline-block; overflow:hidden; height:1.06em; line-height:1.06em; vertical-align:bottom; }
.nf .nf-roll { display:block; transition:transform .62s cubic-bezier(.2,.85,.25,1); will-change:transform; }
.nf .nf-roll > span { display:block; height:1.06em; line-height:1.06em; font-variant-numeric:tabular-nums; }
.nf .nf-fix { display:inline-block; height:1.06em; line-height:1.06em; vertical-align:bottom; }
@media (prefers-reduced-motion: reduce) { .nf .nf-roll { transition:none; } }

/* the X share button sat on top of the fold chevron in the cartouche title (reported 20 Sep 2026): it moves to its left */
#cart-x { top:12px !important; right:48px !important; }

/* ── micro-transitions: small, quick, and off for anyone who asks (20 Sep 2026) ── */
:root { --micro: 180ms cubic-bezier(.2,.8,.2,1); }
button, .btn, a.floor-link, .seg button, .ag-card, .entry, select, input, .tabs button { transition:transform var(--micro), background var(--micro), color var(--micro), border-color var(--micro), box-shadow var(--micro); }
button:hover, .btn:hover { transform:translateY(-1px); }
button:active, .btn:active { transform:translateY(0) scale(.975); }
.ag-card:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(28,23,18,.12); }
.entry:hover { background:rgba(28,23,18,.035); border-radius:10px; }
#ledger .tabs button { position:relative; }
#ledger .tabs button.on::after { content:""; position:absolute; left:14px; right:14px; bottom:3px; height:2px; border-radius:2px; background:currentColor; animation:tabin .24s var(--ease, cubic-bezier(.2,.8,.2,1)) both; }
@keyframes tabin { from { transform:scaleX(.2); opacity:0; } to { transform:none; opacity:.9; } }
.linkish, .ledger-link { background-image:linear-gradient(currentColor, currentColor); background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%; transition:background-size var(--micro); }
.linkish:hover, .ledger-link:hover { background-size:100% 1px; }
button:focus-visible, .btn:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible { outline:3px solid var(--gold); outline-offset:2px; border-radius:12px; }
@media (prefers-reduced-motion: reduce) { button:hover, .btn:hover, .ag-card:hover { transform:none; } #ledger .tabs button.on::after { animation:none; } }

/* ── collapsed, the Ledger is a bar that fits exactly between the cartouche and the tools, on their line and of their own
   thickness (20 Sep 2026, user). Opening it drops it back to its full box, unchanged. ── */
@media (min-width:901px) {
  /* open or closed it keeps the collapsed bar's own edges: between the cartouche and the tools, growing only downward */
  #ledger {
    top:20px;
    left:calc(var(--cart-right, 360px) + 12px);
    right:calc(var(--tools-w, 520px) + 32px);
    max-height:min(calc(100vh - 40px), 640px);
  }
  #ledger.folded {
    top:20px;
    left:calc(var(--cart-right, 360px) + 12px);
    right:calc(var(--tools-w, 520px) + 32px);
    height:var(--tools-h, 56px);
    min-height:0; max-height:none; padding:0 20px; box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:center; align-items:stretch;   /* a column box: the middle is justify-content, not align-items */
  }
  #ledger.folded .head { margin:0; width:100%; align-items:center; gap:12px; flex-wrap:nowrap; }
  #ledger.folded .lt { font-size:12px !important; margin:0; white-space:nowrap; }
  #ledger.folded #ticker { margin:0; flex:1 1 auto; min-width:0; }
  /* too little room between the cartouche and the tools (set in syncTicker): below the tools, out to the right edge */
  body.ledger-low #ledger, body.ledger-low #ledger.folded { top:calc(var(--tools-h, 56px) + 32px); right:20px; }
  body.ledger-low #ledger { max-height:min(calc(100vh - var(--tools-h, 56px) - 52px), 720px); }
}

/* an agent's own reason from its latest tick (23 Sep 2026): the first thing on its card */
.ag-why { margin:4px 0 8px; padding:7px 10px; border-radius:10px; background:rgba(176,141,59,.12); font:500 12.5px/1.45 Inter, sans-serif; color:var(--ink); }
.ag-why b { font-weight:800; color:#8a6d22; margin-right:4px; text-transform:uppercase; font-size:10.5px; letter-spacing:.08em; }

/* Buy now / Sell now beside Change plan on a running agent's card (23 Sep 2026) */
.ag-poke { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.ag-poke .ag-edit { margin-top:0; }

/* one plain sentence under each agent slider (23 Sep 2026) */
.ag-help { display:block; margin:-2px 0 10px; font:500 12px/1.4 Inter, sans-serif; color:var(--ink2); }

/* ── the Descent chest (26 Sep): on the profile and on a deed ── */
.chest-card{ border:2px solid var(--ink,#1f1a14); border-radius:14px; padding:10px 12px; margin:0 0 8px; background:rgba(247,147,30,.07); }
.chest-card.no-vault, .chest-card.no-piece, .chest-card.no-wallet{ background:transparent; border-style:dashed; }
.chest-card.on-deed{ margin:0 0 10px; }
.chest-head{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; flex-wrap:wrap; }
.chest-head b{ font-family:Archivo, Impact, sans-serif; font-weight:900; letter-spacing:.02em; }
.chest-line{ font-weight:700; margin:6px 0 2px; }
.chest-card.paid .chest-line, .chest-card.ready .chest-line{ color:#b8620a; }
.chest-more{ margin:0; }
