/* SUBJECT — styles.css · black. geist sans for words, geist mono for numbers and the terminal. */
@font-face { font-family: "Geist Sans"; font-weight: 400; font-display: swap; src: url(fonts/geist-sans-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Sans"; font-weight: 500; font-display: swap; src: url(fonts/geist-sans-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Sans"; font-weight: 600; font-display: swap; src: url(fonts/geist-sans-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Sans"; font-weight: 700; font-display: swap; src: url(fonts/geist-sans-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 400; font-display: swap; src: url(fonts/geist-mono-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 500; font-display: swap; src: url(fonts/geist-mono-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 600; font-display: swap; src: url(fonts/geist-mono-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 700; font-display: swap; src: url(fonts/geist-mono-latin-700-normal.woff2) format("woff2"); }
:root {
  --bg: #000; --scr: #050506; --pane: #09090b; --line: #17171b; --line2: #26262b;
  --ink: #ebebe6; --ink2: #a6a6a1; --dim: #67676c; --faint: #3a3a3f;
  --up: #5fdc8a; --dn: #ff5c5c; --amber: #e8c468;
  --sans: "Geist Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Geist Mono", ui-monospace, Menlo, Consolas, monospace;
  --wrap: 1160px; --ease: cubic-bezier(.2, .8, .2, 1);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html, body { background: transparent; color: var(--ink); font: 14px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
html { background: var(--bg); color-scheme: dark; }
body.operator-page { background: var(--bg); min-height: 100vh; }
.wallet-monitor { margin: 28px 0 36px; }
.market-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:12px 14px; border-bottom:1px solid var(--line2); font:11px var(--mono); }
.market-toolbar label { display:flex; align-items:center; gap:8px; }
.market-toolbar #pump-feed-status { font-size:10px; }
.wallet-monitor-head, .wallet-card header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.wallet-monitor-head { padding-bottom: 12px; border-bottom: 1px solid var(--line2); margin-bottom: 12px; }
.wallet-card { background: var(--pane); border: 1px solid var(--line2); padding: 20px; margin-top: 18px; }
.wallet-card header { margin-bottom: 12px; }
.wallet-card header b { font: 18px var(--mono); white-space: nowrap; }
@media (max-width: 640px) {
  .wallet-card header { flex-wrap: wrap; gap: 12px; }
  .wallet-card header > :first-child { min-width: 0; overflow-wrap: anywhere; }
}
.wallet-card p { margin-bottom: 10px; font-size: 12px; }
.wallet-table-wrap { overflow: auto; max-height: 360px; border-top: 1px solid var(--line2); }
.wallet-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
.wallet-table caption { text-align: left; padding: 12px 0; }
.wallet-table th { color: var(--ink2); font-weight: 500; }
.wallet-table th, .wallet-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
a { color: var(--ink2); text-decoration: none; } a:hover { color: var(--ink); }
.dim { color: var(--dim); } .mono { font-family: var(--mono); } .grow { flex: 1; } .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-thumb { background: #1f1f24; border-radius: 8px; }
::selection { background: #fff; color: #000; }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } html { scroll-behavior: auto; } .rv, .rv-scale { opacity: 1 !important; transform: none !important; } }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }
.eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--dim); margin-bottom: 18px; }
h2 { font-size: clamp(30px, 3.8vw, 46px); font-weight: 600; letter-spacing: -.02em; line-height: 1.05; margin-bottom: 14px; }
.sub { color: var(--ink2); max-width: 62ch; font-size: 15px; }
body > section { padding: 130px 0; border-top: 1px solid var(--line); position: relative; }
body > section.hero { border-top: 0; }

/* ── scroll reveals ── */
.rv { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.rv.in { opacity: 1; transform: none; }
.rv-scale { opacity: 0; transform: translateY(30px) scale(.975); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.rv-scale.in { opacity: 1; transform: none; }
.steps .step.rv { transition-delay: calc(var(--i, 0) * 80ms); }
.word span { display: inline-block; opacity: 0; transform: translateY(.3em); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.word.in span { opacity: 1; transform: none; }
.word.in span:nth-child(1) { transition-delay: .05s; } .word.in span:nth-child(2) { transition-delay: .1s; } .word.in span:nth-child(3) { transition-delay: .15s; } .word.in span:nth-child(4) { transition-delay: .2s; } .word.in span:nth-child(5) { transition-delay: .25s; } .word.in span:nth-child(6) { transition-delay: .3s; } .word.in span:nth-child(7) { transition-delay: .35s; }

/* ── top ── */
.top { position: fixed; top: 0; left: 0; right: 0; z-index: 40; display: flex; align-items: center; gap: 24px; padding: 0 28px; height: 50px; background: rgba(0,0,0,.72); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); font-size: 13px; }
.top .brand { font-family: var(--mono); font-weight: 700; letter-spacing: .2em; color: var(--ink); }
.top .links { display: flex; gap: 18px; } .top .links a { color: var(--dim); } .top .links a:hover, .top .links a.on { color: var(--ink); }
.pill { padding: 1px 9px; border: 1px solid var(--line2); border-radius: 999px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); transition: color .3s, border-color .3s; }
.pill.on { color: var(--ink); border-color: #3a3a42; } .pill.send { color: var(--amber); border-color: rgba(232,196,104,.4); }

/* ── hero ── */
.hero { min-height: 100vh; display: grid; align-items: center; padding-top: 50px; }
.word { font-family: var(--mono); font-size: clamp(64px, 13.5vw, 196px); font-weight: 700; letter-spacing: .06em; line-height: .95; margin: 8px 0 30px; color: var(--ink); }
.lede { max-width: 56ch; font-size: 17px; color: var(--ink2); line-height: 1.65; }
.hero-row { display: flex; flex-wrap: wrap; margin-top: 44px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hs { padding: 14px 26px 14px 0; margin-right: 26px; display: grid; gap: 3px; border-right: 1px solid var(--line); transition: background .25s; }
.hs:last-child { border-right: 0; }
.hs b { font-family: var(--mono); font-weight: 600; font-size: 15px; font-variant-numeric: tabular-nums; }
.now { margin-top: 26px; display: flex; gap: 16px; align-items: baseline; color: var(--ink2); font-size: 13px; } .now .mono { color: var(--ink); }
.cue { margin-top: 40px; font-family: var(--mono); font-size: 11.5px; letter-spacing: .08em; }

/* ── the room ── */
.room .wrap { margin-bottom: 28px; }
.screen { max-width: 1360px; margin: 0 auto; background: var(--scr); border: 1px solid var(--line2); border-radius: 10px; display: grid; grid-template-rows: 30px 1fr 24px; height: min(80vh, 780px); overflow: hidden; box-shadow: 0 50px 140px rgba(0,0,0,.85); font-family: var(--mono); font-size: 12.5px; }
.bar { display: flex; align-items: center; gap: 10px; padding: 0 12px; border-bottom: 1px solid var(--line); color: var(--ink2); font-size: 11.5px; white-space: nowrap; overflow: hidden; }
.bar .host { color: var(--ink); font-weight: 600; } .bar .sep { color: var(--faint); }
.state { padding: 0 7px; border-radius: 3px; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--line2); color: var(--dim); transition: color .3s, border-color .3s; }
.state.live { color: var(--ink); border-color: #3a3a42; } .state.sending { color: var(--amber); border-color: rgba(232,196,104,.4); }
.foot { display: flex; align-items: center; gap: 12px; padding: 0 12px; border-top: 1px solid var(--line); color: var(--dim); font-size: 11px; white-space: nowrap; overflow: hidden; }
.grid { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 1px; background: var(--line); min-height: 0; }
.pane { background: var(--scr); display: grid; grid-template-rows: 26px 1fr; min-height: 0; }
.pane.notes { grid-row: span 2; }
.pane header { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 0 12px; font-size: 11px; color: var(--dim); letter-spacing: .06em; border-bottom: 1px solid var(--line); }
.pane header span:first-child { color: var(--ink2); }
.sorts { display: flex; gap: 2px; margin-left: auto; } .sorts button { padding: 0 6px; color: var(--faint); font-size: 10.5px; letter-spacing: .04em; } .sorts button.on, .sorts button:hover { color: var(--ink); }
.notes-body { overflow: auto; padding: 12px 14px 24px; min-height: 0; }
.ln { display: grid; grid-template-columns: 56px 1fr; gap: 10px; padding: 2px 0; color: var(--ink); white-space: pre-wrap; word-break: break-word; }
.ln .t { color: var(--faint); font-variant-numeric: tabular-nums; font-size: 11px; padding-top: 1px; }
.ln.sys { color: var(--dim); } .ln.sess { color: var(--ink2); margin-top: 10px; } .ln.mood { color: var(--dim); font-style: italic; } .ln.watch { color: var(--amber); } .ln.glitch { color: var(--dn); }
.ln .cur { display: inline-block; width: .6em; height: 1.1em; background: var(--ink); vertical-align: -0.2em; margin-left: 1px; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.drafts { overflow: auto; padding: 10px 12px; min-height: 0; display: grid; gap: 8px; align-content: start; }
.draft { border: 1px solid var(--line2); border-radius: 6px; padding: 8px 10px; display: grid; gap: 4px; background: var(--pane); animation: draft-in .25s var(--ease); transition: opacity .6s, transform .6s, max-height .6s, border-color .3s; overflow: hidden; }
@keyframes draft-in { from { opacity: 0; transform: translateY(6px); } }
.draft .cmd { color: var(--ink); font-weight: 600; white-space: pre-wrap; } .draft .cmd::before { content: "$ "; color: var(--dim); }
.draft .meta { display: flex; gap: 10px; align-items: center; font-size: 11px; color: var(--dim); }
.draft .meta .side { padding: 0 6px; border-radius: 3px; border: 1px solid var(--line2); letter-spacing: .08em; text-transform: uppercase; font-size: 10px; }
.draft .meta .side.buy { color: var(--up); border-color: rgba(95,220,138,.35); } .draft .meta .side.sell { color: var(--dn); border-color: rgba(255,92,92,.35); }
.draft .why { color: var(--ink2); font-size: 11.5px; white-space: pre-wrap; }
.draft.pending .cmd::after { content: ""; display: inline-block; width: .6em; height: 1em; background: var(--ink); vertical-align: -0.15em; margin-left: 2px; animation: blink 1s steps(1) infinite; }
.draft.deleted .cmd { text-decoration: line-through; color: var(--dim); }
.draft.deleted.gone { opacity: 0; transform: translateX(14px); max-height: 0; padding-top: 0; padding-bottom: 0; margin-top: -8px; border-width: 0; }
.draft.sent { border-color: rgba(95,220,138,.45); box-shadow: 0 0 0 1px rgba(95,220,138,.15), 0 0 24px rgba(95,220,138,.08); } .draft.sent .cmd { color: var(--up); }
.draft.failed { border-color: rgba(255,92,92,.4); } .draft.failed .cmd { color: var(--dn); }
.draft .sig { font-size: 11px; color: var(--dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .draft .sig a { color: var(--ink2); }
.empty { color: var(--faint); padding: 8px 2px; }
.tape { overflow: auto; min-height: 0; padding: 4px 0; }
.row { display: grid; grid-template-columns: 74px 1fr 58px 58px 52px; gap: 8px; padding: 3px 12px; font-size: 11.5px; color: var(--ink2); transition: background .25s; white-space: nowrap; cursor: pointer; }
.row.head { color: var(--faint); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; cursor: default; }
.row b { color: var(--ink); font-weight: 600; } .row .n { text-align: right; font-variant-numeric: tabular-nums; }
.row .up { color: var(--up); } .row .dn { color: var(--dn); }
.row.glance { background: rgba(232,196,104,.07); } .row.glance b { color: var(--amber); }
.row.held { box-shadow: inset 2px 0 0 var(--up); }
.row .stage { color: var(--faint); font-size: 10px; margin-left: 6px; letter-spacing: .04em; }
.row:not(.head):hover { background: rgba(255,255,255,.04); }
.controls { display: flex; gap: 10px; align-items: center; margin-top: 14px; font-family: var(--mono); font-size: 11.5px; }
.ctl { padding: 4px 10px; border: 1px solid var(--line2); border-radius: 6px; color: var(--ink2); font-family: var(--mono); font-size: 11px; letter-spacing: .04em; transition: all .15s; }
.ctl:hover { color: var(--ink); border-color: #44444c; } .ctl.sm { padding: 1px 7px; font-size: 10px; margin-left: 6px; }

/* ── loop ── */
.steps { list-style: none; margin-top: 48px; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.step { background: var(--bg); display: grid; grid-template-columns: 64px 180px 1fr 1fr; gap: 24px; padding: 30px 30px; align-items: start; transition: background .5s, opacity .9s var(--ease), transform .9s var(--ease); }
.step.on { background: #070709; }
.step .n { font-family: var(--mono); color: var(--faint); font-size: 11px; letter-spacing: .14em; padding-top: 4px; }
.step h3 { font-size: 20px; font-weight: 600; letter-spacing: -.01em; }
.step p { color: var(--ink2); max-width: 44ch; font-size: 14px; }
.step .live { border-left: 1px solid var(--line2); padding-left: 20px; color: var(--ink2); font-family: var(--mono); font-size: 12px; min-height: 2em; white-space: pre-wrap; word-break: break-word; transition: border-color .4s; }
.step .live .k { color: var(--dim); } .step .live b { color: var(--ink); font-weight: 600; } .step .live .up { color: var(--up); } .step .live .dn { color: var(--dn); } .step .live .x { text-decoration: line-through; color: var(--dim); }
.step.on .live { border-left-color: var(--ink2); }
.moods { margin-top: 28px; background: var(--scr); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; display: grid; gap: 10px; } .moods div { display: flex; gap: 6px; flex-wrap: wrap; }
.mood { font-family: var(--mono); font-size: 11px; padding: 2px 9px; border: 1px solid var(--line2); border-radius: 999px; color: var(--ink2); }

/* ── book ── */
.book-grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bk-stats { grid-column: span 2; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.stat { background: var(--bg); padding: 18px 20px; display: grid; gap: 4px; transition: background .25s; }
.stat b { font-family: var(--mono); font-weight: 600; font-variant-numeric: tabular-nums; font-size: 24px; color: var(--ink); transition: color .3s, text-shadow .3s; }
.stat b.up { color: var(--up); } .stat b.dn { color: var(--dn); }
.bk-chart { grid-column: span 2; background: var(--scr); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px 10px; position: relative; }
.chart-head { display: flex; align-items: center; gap: 18px; margin-bottom: 8px; font-family: var(--mono); font-size: 11px; }
.ranges { display: flex; gap: 2px; } .ranges button { padding: 1px 8px; border-radius: 4px; color: var(--faint); font-family: var(--mono); font-size: 11px; } .ranges button.on, .ranges button:hover { color: var(--ink); background: rgba(255,255,255,.06); }
.legend { margin-left: auto; color: var(--dim); display: flex; gap: 10px; align-items: center; } .legend i { display: inline-block; width: 10px; height: 2px; margin-right: 4px; vertical-align: middle; }
.l-eq { background: #ebebe6; } .l-sol { background: #67676c; } .l-pos { background: #9fb0ff; } .l-dd { background: rgba(255,92,92,.5); height: 6px !important; } .l-buy { background: var(--up); width: 6px !important; height: 6px !important; border-radius: 50%; } .l-sell { background: var(--dn); width: 6px !important; height: 6px !important; border-radius: 50%; }
#eq { width: 100%; height: 300px; display: block; cursor: crosshair; }
#eq { touch-action: pan-y; }
.tip { position: absolute; pointer-events: none; background: rgba(5,5,6,.95); border: 1px solid var(--line2); border-radius: 6px; padding: 8px 10px; font-family: var(--mono); font-size: 11px; color: var(--ink2); white-space: nowrap; z-index: 5; } .tip b { color: var(--ink); } .tip[hidden] { display: none; }
.label { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); margin-bottom: 10px; display: flex; align-items: center; }
.bk-meter { grid-column: span 2; background: var(--scr); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; }
.meter { height: 8px; border-radius: 999px; background: var(--pane); border: 1px solid var(--line2); overflow: hidden; } .meter i { display: block; height: 100%; width: 0; background: var(--ink2); transition: width 1s var(--ease), background .4s; } .meter i.warn { background: var(--amber); } .meter i.bad { background: var(--dn); }
.meter-l { display: flex; justify-content: space-between; margin-top: 8px; font-family: var(--mono); font-size: 11.5px; color: var(--ink2); }
.bk-pos, .bk-fills { background: var(--scr); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; min-height: 180px; }
.pos { display: grid; grid-template-columns: 80px 1fr 90px 90px 70px; gap: 8px; padding: 7px 0; font-family: var(--mono); font-size: 12px; color: var(--ink2); border-bottom: 1px solid var(--line); transition: background .25s; }
.pos:last-child { border-bottom: 0; } .pos b { color: var(--ink); font-weight: 600; } .pos .n { text-align: right; font-variant-numeric: tabular-nums; }
.fills { max-height: 340px; overflow: auto; }
.fill { display: grid; grid-template-columns: 48px 40px 80px 1fr auto; gap: 10px; padding: 7px 0; font-family: var(--mono); font-size: 12px; color: var(--ink2); border-bottom: 1px solid var(--line); white-space: nowrap; animation: draft-in .3s; transition: background .25s; }
.fill:last-child { border-bottom: 0; } .fill .t { color: var(--faint); font-variant-numeric: tabular-nums; } .fill .side.buy { color: var(--up); } .fill .side.sell { color: var(--dn); } .fill b { color: var(--ink); font-weight: 600; } .fill .n { font-variant-numeric: tabular-nums; } .fill a { color: var(--dim); font-size: 11px; }
.up { color: var(--up); } .dn { color: var(--dn); }

/* ── graveyard ── */
.stones { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.stone { background: var(--scr); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; display: grid; gap: 6px; font-family: var(--mono); transition: border-color .3s; }
.stone:hover { border-color: var(--line2); }
.stone .cmd { color: var(--dim); text-decoration: line-through; font-weight: 600; font-size: 13px; } .stone .cmd::before { content: "$ "; }
.stone .why { color: var(--ink2); font-size: 12px; font-family: var(--sans); }
.stone .when { color: var(--faint); font-size: 10.5px; letter-spacing: .08em; }

/* ── rules ── */
.rule-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.rule { background: var(--bg); padding: 22px 22px; display: grid; gap: 6px; transition: background .25s; }
.rule b { font-family: var(--mono); font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.rule p { color: var(--ink2); font-size: 13px; }
.verify { margin-top: 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.verify > div { background: var(--bg); padding: 16px 20px; display: grid; gap: 4px; font-family: var(--mono); font-size: 12.5px; } .verify b { font-weight: 600; color: var(--ink); word-break: break-all; } .verify a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.fine { margin-top: 28px; color: var(--dim); font-size: 13px; max-width: 70ch; }

/* ── tapes ── */
.day-strip { margin-top: 36px; display: grid; gap: 10px; } .day-strip > div { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 3px; }
.cell { height: 28px; border-radius: 3px; background: var(--pane); border: 1px solid var(--line); position: relative; } .cell.s1 { background: #17171b; } .cell.s2 { background: #26262b; } .cell.s3 { background: #3a3a40; } .cell.sent { box-shadow: inset 0 -3px 0 var(--up); } .cell::after { content: attr(data-h); position: absolute; left: 4px; bottom: 2px; font-family: var(--mono); font-size: 9px; color: var(--faint); }
.tapes-list { margin-top: 24px; display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.tape-item { background: var(--bg); padding: 16px 22px; cursor: pointer; display: grid; gap: 4px; transition: background .2s; }
.tape-item:hover { background: #070709; }
.tape-item .h { display: flex; gap: 14px; font-family: var(--mono); font-size: 11.5px; color: var(--dim); flex-wrap: wrap; align-items: center; } .tape-item .h b { color: var(--ink2); font-weight: 500; } .tape-item .h .ctl { margin-left: auto; }
.tape-item .p { color: var(--ink2); font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tape-item .full { display: none; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--ink2); font-family: var(--mono); font-size: 12px; white-space: pre-wrap; line-height: 1.7; }
.tape-item.open .full { display: block; } .tape-item.open .p { display: none; }
.tape-item .full .d { color: var(--dim); } .tape-item .full .d.sent { color: var(--up); } .tape-item .full .d.deleted { text-decoration: line-through; }

/* ── footer ── */
.foot-s { border-top: 1px solid var(--line); padding: 36px 0 48px; font-family: var(--mono); font-size: 12px; } .foot-s .wrap { display: flex; gap: 24px; flex-wrap: wrap; }
.foot-s .footer-ca { margin-top: 18px; gap: 10px; align-items: baseline; }
.footer-ca a { overflow-wrap: anywhere; min-width: 0; }

/* ── being read by the agent ── */
.read { background: rgba(255,255,255,.055) !important; }
.row.read b, .pos.read b, .fill.read b { color: #fff; }
.stat.read b, .stat b.changing, .rule.read b, .hs.read b { color: #fff; text-shadow: 0 0 12px rgba(255,255,255,.35); }
.ln.read .b, .step.read h3 { color: #fff; } .draft.read { border-color: #4a4a52; } .stone.read { border-color: #4a4a52; }
.row, .pos, .fill, .ln, .stat, .rule, .hs, .step, .tape-item, .stone { transition: background .25s; }
#bg { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; image-rendering: pixelated; image-rendering: crisp-edges; }
#agent { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 35; image-rendering: pixelated; image-rendering: crisp-edges; }

/* SUBJECT / field notes — quiet editorial surface, technical color only where it carries meaning. */
:root {
  --bg:#090a0a; --scr:#101111; --pane:#141515; --line:#292b2b; --line2:#414444;
  --ink:#f1f0eb; --ink2:#c0c1bd; --dim:#929691; --faint:#696e69;
  --up:#a5d7bd; --dn:#e4a6a0; --amber:#ddc58b; --signal:#a9c2c0;
  --wrap:1240px; --ease:cubic-bezier(.2,.75,.25,1);
}
html,body { background:transparent; color:var(--ink); font-size:15px; }
body { background:transparent; }
body > section:not(.hero) { background:linear-gradient(180deg,rgba(9,10,10,.86),rgba(9,10,10,.93)); }
body > section { padding:clamp(92px,10vw,156px) 0; }
.wrap { max-width:var(--wrap); }
.top { height:58px; padding:0 max(28px,calc((100vw - 1240px)/2)); background:rgba(9,10,10,.88); border-color:#303232; }
.top .brand { letter-spacing:.24em; font-size:12px; }
.top .links { gap:21px; }
.top .links a { font-family:var(--mono); font-size:11px; letter-spacing:.03em; }
.hero { min-height:92vh; padding-top:90px; background:linear-gradient(90deg,rgba(9,10,10,.94),rgba(9,10,10,.78) 66%,rgba(9,10,10,.60)); }
.l-sol { background:#929c99; }
.l-pos { background:#a9c2c0; }
.hero .wrap { position:relative; }
.eyebrow { color:#a5aaa5; letter-spacing:.2em; margin-bottom:22px; }
.word { font-size:clamp(72px,12.4vw,174px); letter-spacing:.09em; margin:20px 0 26px; }
.lede { max-width:62ch; color:#c8c9c4; font-size:18px; line-height:1.8; }
.hero-row { margin-top:52px; border-color:#373a39; }
.hs { padding:16px 30px 16px 0; margin-right:30px; }
.hs b { font-size:14px; }
.now { border-left:2px solid #858b86; padding-left:14px; margin-top:30px; }
.cue { color:#9b9f9b; }
.screen { height:min(78vh,820px); min-height:610px; margin-inline: max(28px,calc((100vw - 1360px)/2)); background:rgba(15,16,16,.96); border-color:#414443; border-radius:3px; box-shadow:0 34px 100px rgba(0,0,0,.5); }
.bar { height:38px; padding:0 16px; border-color:#303333; }
.grid { background:#303232; gap:1px; }
.pane { background:rgba(16,17,17,.97); }
.pane header { height:34px; padding:0 16px; color:#a5aaa5; }
.notes-body { padding:18px 20px 28px; }
.ln { grid-template-columns:66px 1fr; gap:16px; padding:4px 0; line-height:1.7; }
.ln .t { color:#858a85; }
.pane.orders,.pane.market { grid-template-rows:34px 1fr; }
.row { padding:6px 16px; font-size:11.5px; }
.row.head { padding-top:9px; padding-bottom:8px; color:#929791; }
.controls { margin-top:18px; }
.ctl { padding:7px 12px; border-radius:2px; color:#c6c8c3; border-color:#494c4a; }
.ctl:hover { background:#202222; border-color:#858a85; }
h2 { font-size:clamp(34px,4.1vw,54px); font-weight:500; letter-spacing:-.045em; }
.sub { color:#c0c2bd; max-width:66ch; line-height:1.8; }
.steps { border-radius:2px; background:#2d3030; border-color:#2d3030; }
.step { background:rgba(10,11,11,.95); grid-template-columns:54px 150px 1fr 1.1fr; padding:32px 34px; }
.step.on { background:#141616; }
.step p { color:#bfc1bc; line-height:1.75; }
.step .live { color:#d0d2cd; line-height:1.8; }
.book-grid { gap:18px; }
.bk-stats,.bk-chart,.bk-meter,.bk-pos,.bk-fills,.moods { border-radius:2px; background:rgba(15,16,16,.96); border-color:#363938; }
.bk-stats { background:#303232; }
.stat { background:#111212; padding:20px 22px; }
.stat b { font-size:22px; }
.bk-chart { padding:18px 20px 14px; }
.legend { flex-wrap:wrap; gap:8px; }
.bk-pos,.bk-fills { padding:18px 20px; }
.stone { border-radius:2px; background:rgba(16,17,17,.96); border-color:#363938; padding:19px 20px; }
.stone .why { color:#c5c7c2; line-height:1.65; }
.rule-grid,.verify,.tapes-list { border-radius:2px; background:#303232; border-color:#303232; }
.rule,.verify>div,.tape-item { background:rgba(12,13,13,.97); }
.rule { padding:25px 25px; }
.rule p { color:#c0c2bd; line-height:1.7; }
.verify>div { padding:19px 22px; }
.day-strip { margin-top:38px; }
.cell { border-radius:1px; }
.tape-item { padding:20px 24px; }
.tape-item .p { color:#b8bbb6; }
.foot-s { border-color:#363938; color:#c4c6c1; }
.read { background:rgba(237,239,232,.09)!important; }
#bg { opacity:.56; }
#agent { z-index:36; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible { outline:2px solid #d8d9d3; outline-offset:3px; }
.top-state-observe { color:var(--signal); border-color:#657977; }
.top-state-paper { color:var(--amber); border-color:#766c52; }
.top-state-live { color:var(--up); border-color:#577365; }
.top-state-paused,.top-state-stale { color:var(--dn); border-color:#805b58; }
.readiness-list { display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px 18px; }
.ready-item { border-top:1px solid #303332;padding-top:10px; }
.ready-item b { display:block;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px; }
.ready-item span { color:#b8bbb6;font-size:12px; }
.ready-item[data-status="ready"] b { color:var(--up); }
.ready-item[data-status="missing"] b,.ready-item[data-status="blocked"] b { color:var(--dn); }
.ready-item[data-status="warning"] b { color:var(--amber); }
.hero-actions { display:flex; gap:22px; margin-top:24px; font:11px var(--mono); }
.hero-actions a { color:#e1e2dd; border-bottom:1px solid #737773; padding-bottom:4px; }
.terminal-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:18px; }
.terminal-tools .ctl[aria-pressed="true"] { color:var(--ink); background:#272a29; }
.connection { color:#aeb2ad; font:11px var(--mono); margin-left:auto; }
.archive-tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:28px; padding:15px 0; border-top:1px solid var(--line2); border-bottom:1px solid var(--line2); }
.archive-tools input,.archive-tools select,.op-input,.op-select { color:var(--ink); background:#151717; border:1px solid #555a56; padding:9px 11px; font:12px var(--mono); }
.archive-tools input { min-width:240px; }
.archive-tools label { color:#b9bcb6;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;display:flex;gap:8px;align-items:center; }
.archive-status { color:#aeb2ad;font:11px var(--mono); }
.token-dialog { position:fixed; z-index:80; inset:0; display:grid; place-items:center; padding:24px; background:rgba(0,0,0,.78); backdrop-filter:blur(8px); }
.token-dialog[hidden] { display:none; }
.token-card { width:min(640px,100%); max-height:85vh; overflow:auto; border:1px solid #5a5f5a; background:#111313; padding:28px; box-shadow:0 20px 90px #000; }
.token-head { display:flex;align-items:flex-start;gap:18px; }
.token-head h2 { font:500 34px var(--sans);margin:0; }
.token-close { margin-left:auto;font:11px var(--mono);border:1px solid #5a5f5a;padding:7px 10px; }
.token-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#383b39;margin:24px 0; }
.token-detail-grid>div { background:#151717;padding:14px; }
.token-detail-grid b { display:block;font:16px var(--mono);margin-top:5px; }
.token-links { display:flex;gap:18px;flex-wrap:wrap; }

/* Book values: current quote-led USD readouts; history remains SOL-denominated. */
.stat.primary-equity { grid-column: 1 / -1; background: #171918; position: relative; }
.bk-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat.primary-equity::after { content: "CURRENT · QUOTE-VALUED"; position: absolute; top: 14px; right: 18px; color: #818780; font: 9px var(--mono); letter-spacing: .12em; }
.stat.primary-equity .k { color: #c2c5be; }
.stat.primary-equity b { display: grid; gap: 2px; font-size: clamp(27px, 3.2vw, 38px); line-height: 1.1; letter-spacing: -.04em; }
.amount-main { font-variant-numeric: tabular-nums; }
.amount-support { display: block; color: #9da29b; font: 11px/1.6 var(--mono); letter-spacing: .015em; }
.hero-row .hs b#h-eq { display: grid; gap: 2px; }
.hero-row #h-eq .amount-main { font-size: 15px; }
.hero-row #h-eq .amount-support { font-size: 10px; }
.book-grid .stat:not(.primary-equity) b { font-size: 19px; }
.bk-chart { overflow: hidden; }
.chart-head { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 11px 20px; align-items: center; margin: -2px 0 8px; }
.chart-title { display: grid; gap: 3px; }
.chart-title strong { color: var(--ink); font: 500 16px/1.2 var(--sans); letter-spacing: -.02em; }
.chart-title span { color: #929791; font: 9px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.chart-readouts { display: flex; justify-content: flex-end; gap: 20px; grid-column: 1 / -1; padding: 10px 0 11px; border-top: 1px solid #303332; border-bottom: 1px solid #303332; }
.chart-readout { display: grid; gap: 2px; min-width: 120px; }
.chart-readout span { color: var(--dim); font: 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.chart-readout b { color: var(--ink); font: 500 14px var(--mono); font-variant-numeric: tabular-nums; }
.chart-readout b small { display: block; color: #929791; font: 10px var(--mono); margin-top: 2px; }
.ranges { justify-self: end; }
.legend { grid-column: 1 / -1; justify-content: flex-start; margin: 0; font-size: 10px; }
#eq { height: 330px; }
.chart-table { margin-top: 10px; }
.chart-table th { color: #afb3ac; font: 10px var(--mono); text-align: left; }
.chart-table td { font-variant-numeric: tabular-nums; }
.chart-table th, .chart-table td { padding: 8px 12px; border-bottom: 1px solid #292b2b; }
.bk-stats .stat:not(.primary-equity) { min-width: 0; }
.pane.market { grid-template-rows: 34px auto minmax(0, 1fr); }
.pane.market .market-toolbar { min-height: 42px; }
.pane.market .tape { min-height: 0; }
@media (max-width: 760px) {
  .stat.primary-equity { grid-column: 1 / -1; }
  .stat.primary-equity::after { position: static; order: 3; margin-top: 4px; }
  .chart-head { grid-template-columns: 1fr; }
  .ranges { justify-self: start; }
  .chart-readouts { justify-content: flex-start; gap: 14px; flex-wrap: wrap; }
  .chart-readout { min-width: 105px; }
  .legend { gap: 7px; }
  #eq { height: 290px; }
  .pane.market { grid-template-rows: 34px auto minmax(0, 1fr); }
}
.token-warning { color:#dfc98e;font:12px var(--mono);margin:16px 0; }
.chart-table { width:100%;border-collapse:collapse;font:12px var(--mono);margin-top:14px; }
.chart-table caption { text-align:left;color:#bfc1bc;padding:8px 0; }
.chart-table th,.chart-table td { text-align:left;padding:8px;border-bottom:1px solid #343736; }
.chart-table th { color:#969b95;font-weight:400; }
.archive-load { padding:18px 22px;color:#bfc1bc;font:12px var(--mono); }
.archive-load[hidden] { display:none; }
.empty-state,.error-state { padding:26px;border:1px solid #393d3b;background:#111313;color:#bdc0ba; }
.error-state { border-color:#785956;color:#e3b5ad; }
@media(max-width:900px) {
 .readiness-list { grid-template-columns:repeat(2,1fr); }
 .screen { margin:0 10px;min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
 .ln .cur,.draft.pending .cmd::after { animation:none; }
}
.operator-page { min-height:100dvh; }
.operator-wrap { max-width:1120px;margin:0 auto;padding:120px 28px 70px; }
.op-header { padding:26px 0 38px;border-bottom:1px solid #3a3d3b; }
.op-header h1 { font-size:clamp(42px,7vw,76px);font-weight:500;letter-spacing:-.055em;line-height:1.02;margin:0 0 18px; }
.op-header>p:last-child { color:#c3c5bf;max-width:66ch; }
.op-auth { margin:24px 0;padding:18px 20px;border:1px solid #474b48;background:#111313;color:#c2c5bf; }
.op-auth #operator-auth:not(:empty) { margin-bottom:14px; }
.operator-page .error-state,.operator-page .op-success { margin:18px 0;padding:15px 18px;font:12px/1.7 var(--mono); }
.op-success { color:#c5dfd0;border:1px solid #597365;background:#17201b; }
#operator-console { display:grid;gap:18px;margin-top:24px; }
#operator-console[hidden] { display:none; }
.panel { padding:24px;background:rgba(15,16,16,.97);border:1px solid #383c39; }
.panel-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px; }
.panel-heading .eyebrow { margin:0 0 8px; }
.panel-heading h2 { font-size:27px;margin:0; }
.panel-heading .mono { font:11px var(--mono); }
.op-state-grid { display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #373a38; }
.op-state-grid>div { display:grid;gap:7px;padding:15px 14px;border-right:1px solid #373a38; }
.op-state-grid>div:first-child { padding-left:0; }
.op-state-grid>div:last-child { border:0; }
.op-state-grid b { font:13px var(--mono); }
.op-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:20px; }
.op-button { border:1px solid #565b57;padding:9px 12px;background:#191b1a;font:11px var(--mono);color:#e0e2dc; }
.op-button:hover { background:#292d2b;border-color:#8c928b; }
.op-button.danger { border-color:#795b55;color:#e6b7ac; }
.op-note { margin-top:14px;color:#9ea39d;font-size:12px; }
.limits-grid { display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px; }
.limits-grid label { display:grid;gap:7px;color:#bec1bb;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase; }
.op-input { width:100%; }
.op-list { display:grid; }
.op-list-item { display:grid;grid-template-columns:minmax(150px,.8fr) 1fr 1.5fr;gap:15px;padding:13px 0;border-top:1px solid #323634;font-size:12px;color:#bbc0b9;overflow-wrap:anywhere; }
.op-list-item b { color:#eceee7;font-family:var(--mono);font-weight:500; }
.op-empty { border-top:1px solid #323634;padding:18px 0;color:#a6aba4;font:12px var(--mono); }
.op-footer { display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #383b39;margin-top:42px;padding-top:20px;color:#999f98;font:11px var(--mono); }
.op-footer a { color:#d5d8d1;text-decoration:underline;text-underline-offset:4px; }
@media(max-width:760px) {
 .operator-wrap { padding:96px 18px 50px; }
 .op-state-grid { grid-template-columns:1fr 1fr; }
 .op-state-grid>div:nth-child(2) { border-right:0; }
 .op-state-grid>div:nth-child(n+3) { border-top:1px solid #373a38; }
 .limits-grid { grid-template-columns:1fr 1fr; }
 .op-list-item { grid-template-columns:1fr;gap:5px; }
}

/* ── phone ── */
@media (max-width: 900px) {
  body > section { padding: 80px 0; } .wrap { padding: 0 18px; }
  .top .links { display: none; }
  .screen { height: auto; grid-template-rows: 30px auto 24px; margin: 0 10px; }
  .grid { grid-template-columns: 1fr; grid-template-rows: 380px 260px 280px; } .pane.notes { grid-row: auto; }
  .step { grid-template-columns: 1fr; gap: 10px; } .step .live { border-left: 0; padding-left: 0; border-top: 1px solid var(--line); padding-top: 10px; }
  .book-grid { grid-template-columns: 1fr; } .bk-stats { grid-column: auto; grid-template-columns: 1fr 1fr; } .bk-chart, .bk-meter { grid-column: auto; }
  .rule-grid, .stones, .verify { grid-template-columns: 1fr; }
  .word { letter-spacing: .02em; }
  .row { grid-template-columns: 64px 1fr 54px 54px; } .row .n:last-child { display: none; }
  .legend { display: none; }
}
