/* KaspaForge Boards — the looser, social corner of the Forge.
   Shared tokens/type still come from safe.css; everything here is page-scoped. */
.boards-page{
  --board-violet:#9d8cff;--board-amber:#ffbf69;--board-pink:#ff7f9f;--board-blue:#63bff5;
  --ib-name:#7dc46a;--ib-green:#9ab24d;--ib-blue:#8fb0ff;--ib-quote:#7aa2f7;--ib-gold:#e8b93c;--ib-trip:#c0392b;
  background:radial-gradient(circle at 11% 23%,rgba(0,193,175,.09),transparent 27rem),
    radial-gradient(circle at 92% 16%,rgba(157,140,255,.07),transparent 24rem),var(--iron)}
.boards-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.36;
  background-image:radial-gradient(rgba(154,167,188,.22) .7px,transparent .7px);background-size:22px 22px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.boards-page .wrap{max-width:1120px}

/* Hero: a public signal forge, not another financial-product panel. */
#intro{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:42px;align-items:center;
  margin:24px 0 0;padding:40px 40px 38px;overflow:hidden;border:1px solid rgba(0,193,175,.24);border-radius:24px;
  background:linear-gradient(135deg,rgba(27,34,44,.97),rgba(14,17,22,.88));box-shadow:0 28px 90px rgba(0,0,0,.24)}
#intro::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(105deg,transparent 0 58%,rgba(0,193,175,.025) 58% 100%),
  repeating-linear-gradient(135deg,transparent 0 39px,rgba(255,255,255,.018) 40px)}
#intro::after{content:"KBRD / SIGNAL / KBRD / SIGNAL / KBRD";position:absolute;left:-14px;bottom:9px;
  color:rgba(154,167,188,.07);font:700 10px/1 var(--mono);letter-spacing:.34em;white-space:nowrap}
.board-hero-copy{position:relative;z-index:1}
.board-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;padding:6px 10px;
  border:1px solid rgba(0,193,175,.28);border-radius:999px;background:rgba(0,193,175,.07);
  color:var(--kaspa-soft);font:600 10.5px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--kaspa);
  box-shadow:0 0 0 4px rgba(0,193,175,.11),0 0 14px rgba(0,193,175,.8);animation:board-pulse 2s ease-in-out infinite}
@keyframes board-pulse{50%{opacity:.5;box-shadow:0 0 0 7px rgba(0,193,175,0),0 0 8px rgba(0,193,175,.4)}}
#intro h1{font-size:clamp(42px,5.5vw,67px);margin:0 0 17px;line-height:.94;letter-spacing:-.015em}
#intro h1 span{display:block;max-width:9ch;color:var(--kaspa);text-shadow:3px 3px 0 rgba(157,140,255,.24)}
#intro .lead{font-size:16px;max-width:61ch;margin:0;color:var(--silver);line-height:1.65}
#intro .lead strong{color:var(--ingot);font-weight:600}
.board-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:23px}
.board-hero-actions .btn{min-height:44px;padding:0 18px}
.board-text-link{color:var(--kaspa-soft);font:600 12px/1.4 var(--mono);letter-spacing:.03em;text-decoration:none}
.board-text-link:hover{text-decoration:underline}
.board-signals{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.board-signals span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--bd);
  color:var(--ash);font:10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.dag-stage{position:relative;z-index:1;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:17px;
  background:linear-gradient(160deg,rgba(4,10,13,.88),rgba(13,17,24,.96));box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 55px rgba(0,0,0,.22)}
.dag-stage::before{content:"";position:absolute;inset:35px 0 41px;pointer-events:none;background:
  linear-gradient(rgba(0,193,175,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,193,175,.035) 1px,transparent 1px);
  background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 84%,transparent)}
.dag-stage-head,.dag-stage-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 13px;color:var(--ash);font:9.5px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.dag-stage-head{border-bottom:1px solid rgba(255,255,255,.065)}
.dag-stage-head::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kaspa);box-shadow:0 0 10px rgba(0,193,175,.7)}
.dag-stage-head span{margin-right:auto}.dag-stage-head b{color:var(--ingot);font-weight:600}
#dag-canvas{position:relative;z-index:1;display:block;width:100%;height:292px}
.dag-stage-foot{justify-content:flex-start;border-top:1px solid rgba(255,255,255,.065);letter-spacing:.04em;text-transform:none}
.dag-stage-foot>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.dag-stage-foot small{margin-left:auto;color:var(--ash2);font-size:8.5px;text-align:right}
.dag-key{display:inline-block;width:7px;height:7px}.dag-key-post{background:var(--board-amber);transform:rotate(45deg);box-shadow:0 0 7px rgba(255,191,105,.45)}
.dag-key-block{border-radius:50%;background:var(--kaspa)}

/* One useful promise and its receipt — the economics are the marketing. */
.board-promise{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);gap:42px;align-items:center;margin:22px 0 18px;
  padding:33px 38px;border:1px solid rgba(255,191,105,.22);border-radius:18px;background:
  radial-gradient(circle at 8% 50%,rgba(255,191,105,.08),transparent 18rem),rgba(18,24,32,.76)}
.promise-label{margin:0 0 7px;color:var(--board-amber);font:600 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.promise-copy h2{max-width:12ch;margin:0 0 12px;font-size:clamp(30px,4.4vw,49px);line-height:1.02}
.promise-copy h2 span{color:var(--board-amber)}
.promise-copy>p:not(.promise-label){max-width:55ch;margin:0 0 13px;color:var(--silver);line-height:1.6}
.promise-copy strong{color:var(--ingot)}.promise-copy>a{font:600 12px/1.5 var(--mono);color:var(--kaspa-soft);text-decoration:none}.promise-copy>a:hover{text-decoration:underline}
.fee-receipt{position:relative;padding:18px 19px 17px;border:1px dashed rgba(255,191,105,.38);border-radius:7px;
  background:#10151b;box-shadow:8px 8px 0 rgba(0,0,0,.16);transform:rotate(.35deg)}
.fee-receipt::after{content:"";position:absolute;left:12px;right:12px;bottom:-5px;height:9px;background:
  linear-gradient(135deg,transparent 5px,#10151b 0) 0 0/10px 10px repeat-x;pointer-events:none}
.fee-receipt-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--bd);
  color:var(--ash2);font:9px/1 var(--mono);letter-spacing:.08em}
.fee-receipt dl{margin:10px 0 0}.fee-receipt dl>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;color:var(--ash);font:11px/1.3 var(--mono)}
.fee-receipt dt,.fee-receipt dd{margin:0}.fee-receipt dd{color:var(--ingot);text-align:right}.fee-receipt dl>div:first-child dd{color:var(--kaspa)}
.fee-receipt .receipt-total{margin-top:5px;padding-top:12px;border-top:1px dashed var(--bd);font-weight:700}.fee-receipt .receipt-total dd{color:var(--board-amber);text-transform:uppercase}
.fee-receipt>p{margin:9px 0 0;color:#7f8a9b;font:9px/1.55 var(--mono)}

.board-proof{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 23px;border:1px solid var(--bd);border-radius:15px;overflow:hidden;background:rgba(14,17,22,.64)}
.board-proof article{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:20px 19px}.board-proof article+article{border-left:1px solid var(--bd)}
.board-proof article>span{color:var(--kaspa);font:700 11px/1.4 var(--mono)}.board-proof article:nth-child(2)>span{color:var(--board-violet)}.board-proof article:nth-child(3)>span{color:var(--board-amber)}
.board-proof h2{margin:0 0 7px;font:600 18px/1.15 var(--disp);letter-spacing:.02em}.board-proof p{margin:0;color:var(--ash);font-size:12.5px;line-height:1.55}

/* Channels: a row of small coloured doors rather than generic nav pills. */
#board-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0 28px}
#board-tabs a{--tab:var(--kaspa);--tab-wash:rgba(0,193,175,.12);position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;
  padding:13px 15px 12px;overflow:hidden;color:var(--ash);border:1px solid var(--bd);border-radius:12px;
  background:linear-gradient(145deg,var(--steel),rgba(18,24,32,.86));text-decoration:none;
  transition:transform .18s,border-color .18s,box-shadow .18s,color .18s}
#board-tabs a:nth-child(2){--tab:#63bff5;--tab-wash:rgba(99,191,245,.11)}
#board-tabs a:nth-child(3){--tab:#9d8cff;--tab-wash:rgba(157,140,255,.11)}
#board-tabs a:nth-child(4){--tab:#e4728f;--tab-wash:rgba(228,114,143,.1)}
#board-tabs a:nth-child(5){--tab:#d8a657;--tab-wash:rgba(216,166,87,.11)}
#board-tabs a:nth-child(6){--tab:#36cdbd;--tab-wash:rgba(54,205,189,.1)}
#board-tabs a:nth-child(7){--tab:#78b985;--tab-wash:rgba(120,185,133,.1)}
#board-tabs a:nth-child(8){--tab:#4faeb3;--tab-wash:rgba(79,174,179,.1)}
#board-tabs a:nth-child(9){--tab:#668fbd;--tab-wash:rgba(102,143,189,.11)}
#board-tabs a:nth-child(10){--tab:#b99658;--tab-wash:rgba(185,150,88,.11)}
#board-tabs a:nth-child(11){--tab:#8278b4;--tab-wash:rgba(130,120,180,.11)}
#board-tabs a:nth-child(12){--tab:#71d2b8;--tab-wash:rgba(113,210,184,.1)}
#board-tabs a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tab);opacity:.6}
#board-tabs a:hover,#board-tabs a.is-active{transform:translateY(-3px);color:var(--ingot);border-color:var(--tab);
  box-shadow:0 12px 30px rgba(0,0,0,.2),0 0 0 1px var(--tab-wash)}
#board-tabs a.is-active{background:linear-gradient(145deg,var(--tab-wash),var(--steel))}
.tab-slug{color:var(--tab);font:700 18px/1 var(--mono);letter-spacing:-.04em}
.tab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:10px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.feed-bar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:0 0 14px}
.feed-bar h2{margin:3px 0 0;font-size:clamp(22px,3vw,30px)}
.feed-note{display:flex;align-items:center;gap:8px;color:var(--ash2);font:10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.feed-note::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kaspa)}

/* The live catalog is the product surface, not another loose landing section. Its split shell
   keeps the existing head/catalog visibility mechanics while reading as one BlockDAG index. */
#catalog-head{position:relative;isolation:isolate;margin:0;padding:22px 24px 17px 31px;overflow:hidden;
  border:1px solid rgba(0,193,175,.27);border-bottom:0;border-radius:18px 18px 0 0;background:
  radial-gradient(circle at 4% 30%,rgba(0,193,175,.12),transparent 18rem),
  linear-gradient(115deg,rgba(27,35,45,.98),rgba(16,21,29,.96));
  box-shadow:0 18px 52px rgba(0,0,0,.2)}
#catalog-head::before{content:"";position:absolute;z-index:-1;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--kaspa),var(--board-blue));box-shadow:0 0 18px rgba(0,193,175,.38)}
#catalog-head::after{content:"";position:absolute;left:31px;right:24px;bottom:0;height:1px;
  background:linear-gradient(90deg,rgba(0,193,175,.35),rgba(99,191,245,.08),transparent)}
#catalog-head .feed-note{padding:6px 9px;border:1px solid rgba(99,191,245,.18);border-radius:999px;
  background:rgba(7,12,17,.38);color:#8492a5}
#catalog-head .feed-note::before{box-shadow:0 0 10px rgba(0,193,175,.7)}
#catalog{position:relative;isolation:isolate;min-height:190px;margin-top:0;padding:12px 24px 26px 31px;overflow:hidden;
  border:1px solid rgba(0,193,175,.27);border-top:0;border-radius:0 0 18px 18px;background:
  linear-gradient(rgba(99,191,245,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(99,191,245,.035) 1px,transparent 1px),
  radial-gradient(circle at 88% 110%,rgba(157,140,255,.1),transparent 25rem),
  linear-gradient(145deg,rgba(17,23,31,.97),rgba(11,15,21,.95));
  background-size:28px 28px,28px 28px,auto,auto;
  box-shadow:0 24px 64px rgba(0,0,0,.28),inset 0 -1px rgba(255,255,255,.025)}
#catalog::before{content:"PUBLIC BLOCKDAG INDEX";position:absolute;z-index:-1;right:20px;bottom:12px;
  color:rgba(154,167,188,.055);font:700 clamp(20px,3vw,38px)/1 var(--mono);letter-spacing:.13em;white-space:nowrap}
#catalog>*{position:relative;z-index:1}

/* Thread cards: pinned notes, with just enough irregularity to feel social. */
#list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px}
.mk-card{position:relative;display:flex;flex-direction:column;min-height:112px;
  background:linear-gradient(145deg,var(--plate),var(--steel));border:1px solid var(--bd);border-radius:14px;
  padding:18px 18px 16px;color:var(--ash);text-decoration:none;box-shadow:0 9px 26px rgba(0,0,0,.12);
  transition:border-color .18s,transform .18s,box-shadow .18s}
#list .mk-card::before{content:"";position:absolute;top:10px;right:11px;width:7px;height:7px;border-radius:50%;
  background:var(--kaspa);box-shadow:0 0 0 4px rgba(0,193,175,.09)}
#list .mk-card:nth-child(5n+2)::before{background:var(--board-blue)}#list .mk-card:nth-child(5n+3)::before{background:var(--board-violet)}
#list .mk-card:nth-child(5n+4)::before{background:var(--board-pink)}#list .mk-card:nth-child(5n)::before{background:var(--board-amber)}
#list .mk-card.mk-feed-card{padding-top:37px}
#list .mk-card.mk-feed-card::before{display:none}
#list .mk-card:nth-child(3n+1){transform:rotate(-.25deg)}#list .mk-card:nth-child(3n+2){transform:rotate(.25deg)}
.mk-card:hover{border-color:rgba(0,193,175,.52);transform:translateY(-4px) rotate(0);box-shadow:0 18px 40px rgba(0,0,0,.22);color:var(--ash)}
.mk-card-board{--badge:#00c1af;position:absolute;z-index:2;top:9px;right:9px;padding:4px 7px;
  border:1px solid rgba(0,193,175,.5);border-color:color-mix(in srgb,var(--badge) 55%,transparent);border-radius:999px;
  background:rgba(16,23,32,.92);background:color-mix(in srgb,#101720 82%,var(--badge) 18%);box-shadow:0 5px 16px rgba(0,0,0,.3);
  color:var(--badge);font:700 10px/1 var(--mono);letter-spacing:.03em;backdrop-filter:blur(8px)}
.mk-card-board-crypto{--badge:#63bff5}.mk-card-board-g{--badge:#9d8cff}.mk-card-board-v{--badge:#e4728f}
.mk-card-board-a{--badge:#d8a657}.mk-card-board-mu{--badge:#36cdbd}.mk-card-board-fit{--badge:#78b985}
.mk-card-board-int{--badge:#4faeb3}.mk-card-board-sp{--badge:#668fbd}.mk-card-board-biz{--badge:#b99658}
.mk-card-board-pol{--badge:#8d82c0}.mk-card-board-ai{--badge:#71d2b8}
/* Catalog OP thumbnail: a card without one is unaffected — .mk-card is flex-column and the img
   is simply absent from the DOM, no reserved space, no layout shift (element-qualified like
   img.mk-img above, same specificity-landmine note). */
img.mk-card-thumb{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:9px;
  margin-bottom:9px;background:var(--iron);border:1px solid var(--bd-soft)}
.mk-body{display:flex;flex:1;flex-direction:column;gap:9px}
.mk-title{color:var(--ingot);font-weight:600;line-height:1.45;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.mk-teaser{color:var(--ash);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#list a.mk-card .hint{margin-top:auto;width:max-content;padding:4px 8px;border:1px solid var(--bd);border-radius:999px;
  color:var(--ash);font:10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.mk-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px dashed var(--bd-soft)}
.mk-id{font:700 11px/1 var(--mono);color:var(--kaspa)}.mk-trip{font:700 10.5px/1 var(--mono);color:#c0392b}
.mk-name{font:700 11px/1 var(--mono);color:#7dc46a}
.mk-quote{color:var(--board-blue,#8fb0ff);text-decoration:none;font:12px/1.5 var(--mono)}.mk-quote:hover{text-decoration:underline}
.mk-line{display:block;white-space:pre-wrap;overflow-wrap:anywhere;min-height:1.45em}.mk-line.mk-green{color:#9ab24d}
/* Hidden-thread tombstone card — stays in the catalog (sunk to the end by the server) as the
   visible proof nothing is deleted. No status dot, no tilt-jitter, no hover-lift: it reads as an
   archived headstone, not a live thread. The "on-chain proof" pill is its one live affordance. */
.mk-card.mk-tomb{opacity:1;border-style:dashed;border-color:var(--bd);background:transparent;
  cursor:default;justify-content:center}
#list .mk-card.mk-tomb{transform:none}
#list .mk-card.mk-tomb::before{display:none}
.mk-card.mk-tomb:hover{transform:none;border-color:var(--bd);box-shadow:none}
.mk-tomb .mk-title{color:var(--ash);-webkit-line-clamp:2}
.mk-tomb .mk-tomb-note{color:#6b7480;font-size:11.5px;line-height:1.45;overflow-wrap:anywhere}
#list .mk-tomb .hint{margin-top:4px;width:max-content;padding:4px 8px;border:1px solid var(--bd);
  border-radius:999px;color:var(--ash);font:10.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.mk-tomb .hint a{color:var(--kaspa);text-decoration:none}
.mk-tomb .hint a:hover{text-decoration:underline}

/* Thread reading view: the public, profile-free counterpart of Desk Boards. Keep the marketing
   chrome above it, but let the actual board use the same 960px task surface and row hierarchy. */
#thread{position:relative;max-width:960px;margin:0 auto;padding:0;background:transparent;border-radius:0;backdrop-filter:none;
  --mk-accent:var(--kaspa);--mk-wash:rgba(0,193,175,.1)}
#thread[data-board="crypto"]{--mk-accent:#63bff5;--mk-wash:rgba(99,191,245,.1)}
#thread[data-board="g"]{--mk-accent:#9d8cff;--mk-wash:rgba(157,140,255,.1)}
#thread[data-board="v"]{--mk-accent:#e4728f;--mk-wash:rgba(228,114,143,.09)}
#thread[data-board="a"]{--mk-accent:#d8a657;--mk-wash:rgba(216,166,87,.1)}
#thread[data-board="mu"]{--mk-accent:#36cdbd;--mk-wash:rgba(54,205,189,.09)}
#thread[data-board="fit"]{--mk-accent:#78b985;--mk-wash:rgba(120,185,133,.09)}
#thread[data-board="int"]{--mk-accent:#4faeb3;--mk-wash:rgba(79,174,179,.09)}
#thread[data-board="sp"]{--mk-accent:#668fbd;--mk-wash:rgba(102,143,189,.1)}
#thread[data-board="biz"]{--mk-accent:#b99658;--mk-wash:rgba(185,150,88,.1)}
#thread[data-board="pol"]{--mk-accent:#8d82c0;--mk-wash:rgba(141,130,192,.1)}
#thread[data-board="ai"]{--mk-accent:#71d2b8;--mk-wash:rgba(113,210,184,.09)}
.thread-view #intro{display:none}
.thread-view #board-promise,.thread-view .board-proof{display:none}
.thread-view #board-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;overflow:visible;margin:12px 0 20px;padding-bottom:0}
.thread-view #board-tabs::-webkit-scrollbar{display:none}
.thread-view #board-tabs a{min-width:0;padding:9px 11px;flex-direction:row;align-items:baseline;gap:7px}
.thread-view #board-tabs .tab-slug{font-size:14px}
.thread-view #board-tabs .tab-name{display:block;font-size:9px;letter-spacing:.04em}
.thread-view #about{margin-top:48px}

.mk-boardhead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;margin-bottom:14px;padding:18px 19px;
  border:1px solid var(--bd);border-radius:10px;background:linear-gradient(120deg,var(--mk-wash),var(--steel) 55%)}
.mk-board-title{min-width:0}.mk-boardhead h1{margin:0;font-family:var(--mono);font-size:24px;font-weight:700;color:var(--ingot);text-transform:none;letter-spacing:-.01em;line-height:1.15}
.mk-slash{color:var(--mk-accent)}
.mk-board-title>p{margin:5px 0 0;color:var(--ash);font-size:13.5px}
.mk-boardfacts{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.mk-boardfacts span{padding:5px 7px;border:1px solid var(--bd);border-radius:4px;background:rgba(14,17,22,.46);
  color:var(--ash);font:600 9.5px/1.2 var(--mono);white-space:nowrap}
.mk-boardfacts span:first-child{color:var(--kaspa)}
.mk-boardhead .mk-disclaimer{grid-column:1/-1;margin:0;padding-top:11px;border-top:1px solid var(--bd-soft);font-size:11.5px;color:#7c8590}
.mk-disclaimer a{color:var(--ib-quote)}
.mk-thread-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:14px}
.mk-back{justify-self:start;text-decoration:none}
.mk-postbtn{display:inline-flex;align-items:center;justify-content:center;appearance:none;cursor:pointer;padding:7px 14px;border-radius:8px;
  border:1px solid var(--kaspa);background:rgba(0,193,175,.1);color:var(--kaspa);min-height:34px;font-weight:600;font-size:12.5px}
.mk-thread-bar .mk-postbtn{justify-self:end}.mk-thread-bar .mk-back{justify-self:start}.mk-postbtn:hover{background:rgba(0,193,175,.18);color:var(--kaspa-soft)}
.mk-bump{font-family:var(--mono);font-size:11.5px;color:var(--ash);white-space:nowrap}.mk-bump.near{color:var(--ib-gold)}
.mk-bump.at{color:#cf5b5b;font-weight:600}

/* Read-only post parity with the Desk: same microformat, quotes, backlinks and poster highlight. */
.mk-post{position:relative;padding:11px 13px 12px;margin-bottom:8px;scroll-margin-top:110px;background:var(--plate);
  border:1px solid var(--bd);border-radius:8px;transition:border-color .16s ease-out,background-color .16s ease-out}
.mk-post:hover{border-color:rgba(255,255,255,.15)}
.mk-post.mk-op{border-color:var(--mk-accent);background:linear-gradient(120deg,var(--mk-wash),var(--plate) 34%)}
.mk-post.mk-tombstone{opacity:.7;border-style:dashed}
.mk-post.mk-hl{border-color:var(--ib-gold);box-shadow:0 0 0 1px var(--ib-gold) inset}
.mk-post.mk-flash{animation:mk-flash 1.5s ease-out}
@keyframes mk-flash{0%{background:rgba(0,193,175,.22)}100%{background:var(--plate)}}
.mk-post-headrow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px}
.mk-hdr{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0;flex-wrap:wrap;font-size:12.5px;line-height:1.5}
.mk-subj{color:var(--ib-blue);font-weight:700}.mk-name{color:var(--ib-name);font-weight:600}
.mk-date{color:var(--ash);font:11px/1 var(--mono)}
.mk-no,.mk-trip,.mk-act{appearance:none;background:none;border:0;padding:0;font-family:var(--mono);font-size:11.5px;cursor:pointer;text-decoration:none}
.mk-no{color:var(--kaspa)}.mk-trip{color:var(--ib-trip);font-size:11px}.mk-trip.is-on{color:var(--ib-gold)}.mk-act{color:var(--ash)}
.mk-no:hover,.mk-act:hover,.mk-trip:hover{text-decoration:underline;color:var(--ingot)}.mk-act:hover{color:var(--kaspa)}
.mk-tippill{display:inline-flex;align-items:center;align-self:flex-start;flex:none;gap:4px;padding:3px 9px;border-radius:999px;
  border:1px solid rgba(232,185,60,.42);background:rgba(232,185,60,.11);color:var(--ib-gold);
  font:700 11.5px/1.3 var(--mono);text-decoration:none;white-space:nowrap}
.mk-tippill small{padding-left:5px;border-left:1px solid rgba(232,185,60,.35);font:600 9px/1.2 var(--mono);letter-spacing:.02em;opacity:.82}
.mk-tippill:hover{background:rgba(232,185,60,.2);border-color:var(--ib-gold);color:var(--ib-gold)}
.mk-tippill:focus-visible{outline:2px solid var(--ib-gold);outline-offset:1px}
.mk-backlinks{display:inline-flex;gap:6px;flex-wrap:wrap}
/* Post thumbnail + in-page viewer. Public reading keeps the user in the thread, matching Desk. */
.mk-imgbtn{appearance:none;padding:0;border:0;background:none;cursor:zoom-in;display:block;margin-bottom:6px}
.mk-imgbtn:focus-visible{outline:2px solid var(--kaspa);outline-offset:3px}
img.mk-img{display:block;max-width:320px;max-height:320px;border-radius:8px;border:1px solid var(--bd);object-fit:contain;background:var(--iron)}
.mk-lightbox{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  padding:clamp(12px,3vw,34px);background:rgba(6,8,11,.94);backdrop-filter:blur(8px)}
.mk-lightbox-image{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;
  box-shadow:0 22px 80px rgba(0,0,0,.6)}
.mk-lightbox-close{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;appearance:none;width:40px;height:40px;
  border:1px solid var(--bd);border-radius:8px;background:rgba(14,17,22,.88);color:var(--ash);cursor:pointer;font-size:17px}
.mk-lightbox-close:hover,.mk-lightbox-close:focus-visible{border-color:var(--kaspa);color:var(--kaspa);outline:none}
.mk-lightbox-hint{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);
  padding:6px 10px;border-radius:999px;background:rgba(14,17,22,.82);color:var(--ash);font:10px/1.2 var(--mono);white-space:nowrap}
#thread .mk-body,.mk-preview .mk-body{display:block;font-size:14px;line-height:1.5}
.mk-quote{color:var(--ib-quote);text-decoration:none;font:12px/1.5 var(--mono)}.mk-quote:hover{text-decoration:underline}
.mk-line{display:block;overflow-wrap:anywhere;white-space:pre-wrap;min-height:1.5em}.mk-line.mk-green{color:var(--ib-green)}
.mk-bold{font-weight:750}.mk-italic{font-style:italic}.mk-strike{text-decoration-thickness:1px;opacity:.72}
.mk-inline-code{padding:.08em .3em;border:1px solid var(--bd-soft);border-radius:4px;background:rgba(5,8,12,.62);
  color:var(--ingot);font:500 .92em/1.35 var(--mono);white-space:pre-wrap}
button.mk-spoiler{appearance:none;display:inline;padding:0 .18em;border:0;border-radius:3px;background:#59616d;color:transparent;
  font:inherit;line-height:inherit;vertical-align:baseline;cursor:pointer;transition:color .12s,background-color .12s}
button.mk-spoiler:hover,button.mk-spoiler:focus,button.mk-spoiler:active{background:rgba(89,97,109,.32);color:inherit;outline:none}
.mk-reader-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:14px 16px;
  border:1px dashed rgba(0,193,175,.35);border-radius:10px;color:var(--ash);font-size:13px}
.mk-preview{position:fixed;z-index:70;width:min(360px,calc(100vw - 24px));pointer-events:auto;background:var(--iron);
  border:1px solid var(--kaspa);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.55);padding:8px 10px}
.mk-preview .mk-hdr{margin-bottom:4px}.mk-preview .mk-body{font-size:13px;max-height:42vh;overflow:auto}
.mk-err{text-align:center;padding:22px}.mk-err .btn{margin-top:10px}
/* Specificity note: button.mk-report (0,1,1) outranks .mk-no,.mk-trip,.mk-act (0,1,0) — the same
   landmine as .mk-compose-imginput in the Desk. Restate the shared typography/color here so
   Report matches its sibling actions instead of falling back to inherited page defaults. */
button.mk-report { background: none; border: none; padding: 0; cursor: pointer; font-family: var(--mono); font-size: 11.5px; color: var(--ash); }
button.mk-report:disabled { opacity: 0.6; cursor: default; }

/* Mechanics inherit the Forge cards, but get a friendlier numbered rhythm. */
#about{position:relative}
#about>.grid .path{padding:25px 22px 23px;border-radius:18px;background:linear-gradient(155deg,var(--steel),rgba(22,27,34,.74));overflow:hidden}
#about>.grid .path::after{content:"";position:absolute;width:70px;height:70px;right:-28px;top:-30px;border-radius:50%;background:rgba(0,193,175,.07)}
#about>.grid .path:nth-child(2)::after{background:rgba(157,140,255,.09)}#about>.grid .path:nth-child(3)::after{background:rgba(255,191,105,.08)}
#about>.grid .path .glyph{font-size:14px;line-height:1.4}

@media(max-width:920px){#intro{grid-template-columns:1fr;padding:34px 30px 32px}.dag-stage{max-width:680px;width:100%}
  .board-promise{grid-template-columns:1fr;gap:25px}.fee-receipt{max-width:580px}.board-proof{grid-template-columns:1fr}
  .board-proof article+article{border-left:0;border-top:1px solid var(--bd)}
  #board-tabs{grid-template-columns:repeat(5,minmax(126px,1fr));overflow-x:auto;padding:3px 1px 10px;scrollbar-width:none}
  .thread-view #board-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:3px 1px 9px;scroll-snap-type:x proximity}
  .thread-view #board-tabs a{flex:0 0 126px}
  .thread-view #board-tabs a{scroll-snap-align:start}
  .mk-boardhead{grid-template-columns:1fr}.mk-boardfacts{justify-content:flex-start}
  #board-tabs::-webkit-scrollbar{display:none}}
@media(max-width:520px){#intro{margin-top:16px;padding:25px 20px 21px;border-radius:18px;gap:26px}#intro h1{font-size:39px}
  #intro h1 span{max-width:10ch}#intro .lead{font-size:15px}.board-signals span:nth-child(4){display:none}
  .board-hero-actions{align-items:stretch;flex-direction:column;gap:12px}.board-hero-actions .btn{width:100%}.board-text-link{text-align:center}
  #dag-canvas{height:218px}.dag-stage-head,.dag-stage-foot{padding:10px}.dag-stage-foot{flex-wrap:wrap}.dag-stage-foot small{width:100%;margin:2px 0 0;text-align:left}
  .board-promise{margin-top:14px;padding:25px 20px;gap:20px}.promise-copy h2{font-size:35px}.fee-receipt{padding:16px 14px;box-shadow:5px 5px 0 rgba(0,0,0,.16)}
  .fee-receipt dl>div{gap:10px;font-size:10.5px}.board-proof article{padding:18px 16px}.board-proof h2{font-size:17px}
  #board-tabs{margin-bottom:22px;scroll-snap-type:x mandatory}#board-tabs a{scroll-snap-align:start}
  .feed-bar{align-items:flex-start;flex-direction:column;gap:7px}#catalog-head{padding:18px 16px 14px 20px;border-radius:14px 14px 0 0}
  #catalog-head::after{left:20px;right:16px}#catalog{min-height:150px;padding:9px 10px 16px;border-radius:0 0 14px 14px}
  #catalog::before{right:10px;bottom:8px;font-size:18px}#list{grid-template-columns:1fr;gap:11px}
  .mk-card{min-height:100px}.thread-view #board-tabs a{flex-basis:118px;scroll-snap-align:center}
  #thread{width:100%;margin-top:0}.mk-boardhead{gap:10px;margin-bottom:14px;padding:13px}.mk-boardhead h1{font-size:22px}
  .mk-boardfacts{justify-content:flex-start;gap:5px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.mk-boardfacts::-webkit-scrollbar{display:none}
  .mk-boardfacts span{font-size:9px}.mk-boardhead .mk-disclaimer{line-height:1.45}
  .mk-thread-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .mk-thread-actions .mk-postbtn{grid-column:auto;grid-row:1;width:100%;min-width:0;padding:8px 9px;justify-self:stretch}
  .mk-thread-actions .mk-back{grid-column:1;grid-row:1;justify-self:stretch}
  .mk-thread-actions .mk-bump{grid-column:1/-1;grid-row:2;text-align:center;padding:5px 8px;border:1px solid var(--bd-soft);border-radius:5px;background:var(--steel)}
  .mk-post{padding:10px 11px 12px;scroll-margin-top:96px}
  .mk-post-headrow{flex-direction:column;gap:5px;margin-bottom:7px}
  .mk-hdr{width:100%;gap:4px 8px;line-height:1.3}.mk-subj{flex-basis:100%;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
  .mk-post-headrow>.mk-tippill{position:static;align-self:flex-start;max-width:100%;min-height:36px;padding:6px 9px;white-space:normal}
  .mk-no,.mk-trip,.mk-act,.mk-quote,button.mk-report{display:inline-flex;align-items:center;min-height:36px}
  .mk-backlinks{width:100%;gap:4px 8px}.mk-imgbtn{max-width:100%}img.mk-img{width:min(100%,360px);max-width:100%;max-height:min(62dvh,420px)}
  .mk-reader-cta{align-items:stretch;flex-direction:column}.mk-reader-cta .mk-postbtn{width:100%}
  .mk-lightbox-hint{display:none}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}.mk-card,#board-tabs a{transition:none}.fee-receipt{transform:none}}
