/* kekpad: imageboard paper, maroon ink, Georgia headings over 13px Arial. */
:root{
  --paper:#f7efe4;--sheet:#fffaf2;--bar:#fff7ec;--band:#f2e4d4;--post:#efdfd3;--post-hover:#f5e6db;--chip:#f1e3d7;
  --line:#dbc1b2;--line-soft:#e7d3c6;--rule:#bf8f7a;
  --ink:#2b2523;--ink-soft:#4f4542;--dim:#85706a;--faint:#a08a80;
  --accent:#9f3f33;--accent-hi:#b24f40;--accent-ink:#fff8ec;--link:#2a4f8f;--quote:#86533f;
  --green:#4f7a3a;--green-bg:#e7f0da;--green-line:#bfd4a9;
  --deep:#3c3135;--deep-head:#503a3e;--deep-ink:#fff4e6;--deep-dim:#dcc8ba;--deep-hi:#e8ad93;
  --field:#fffdf8;--field-line:#cbaf9f;--strip:#e9e1e5;--strip-line:#b9afba;--strip-ink:#454268;
  --shadow:#ecdccf;--veil:#21171bc4;
}
:root[data-theme="dark"]{
  --paper:#171a1f;--sheet:#20242a;--bar:#1c2025;--band:#232830;--post:#262b32;--post-hover:#2f353d;--chip:#2c3138;
  --line:#454a52;--line-soft:#3a3f47;--rule:#8b6a5e;
  --ink:#e9e4dc;--ink-soft:#d3cdc4;--dim:#b3ada5;--faint:#8f8a84;
  --accent:#ee9a80;--accent-hi:#c4614c;--accent-ink:#fff6ec;--link:#a8c4ff;--quote:#e7b49e;
  --green:#a9dcae;--green-bg:#253a2d;--green-line:#4b7457;
  --deep:#2d282f;--deep-head:#443339;--deep-ink:#fbefe3;--deep-dim:#cdbcb0;--deep-hi:#f0b49b;
  --field:#1b1f25;--field-line:#5d5f67;--strip:#22262d;--strip-line:#41454d;--strip-ink:#cfd3e6;
  --shadow:transparent;--veil:#05070acc;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.35 Arial,Helvetica,sans-serif}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--link)}
.wrap{max-width:1560px;margin:0 auto;padding-left:18px;padding-right:18px}
.fine{font-size:11px;color:var(--dim);line-height:1.5}
.kicker{display:block;font-size:10px;font-weight:bold;letter-spacing:1.1px;text-transform:uppercase;color:#a96c58;margin:4px 0 8px}
:root[data-theme="dark"] .kicker{color:var(--deep-hi)}
.textbtn{border:0;background:none;color:var(--accent);text-decoration:underline;font-weight:bold;padding:5px;white-space:nowrap}
.small{border:1px solid var(--field-line);background:var(--sheet);color:var(--accent);border-radius:3px;padding:7px 10px;font-weight:bold}
.go{width:100%;border:1px solid var(--accent-hi);background:var(--accent-hi);color:var(--accent-ink);font-weight:bold;padding:10px 12px;border-radius:3px}
.go:hover{filter:brightness(.92)}
.go:disabled{opacity:.6;cursor:wait}

/* header */
.ribbon{height:5px;background:linear-gradient(90deg,#3f3237,#a9503f 55%,#e3ad74)}
.masthead{background:var(--bar);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:9px;font:bold 26px Georgia,serif;letter-spacing:-1px;color:var(--ink);text-decoration:none}
.brand img{border-radius:7px}
.brand span{white-space:nowrap}
.brand em{font-style:normal;color:var(--accent)}
.motto{flex:1;border-left:1px solid var(--line);padding-left:16px;color:var(--dim);font:italic 12px Georgia,serif}
.live-pill{border:1px solid var(--green-line);background:var(--green-bg);color:var(--green);font-size:11px;font-weight:bold;padding:6px 8px;border-radius:3px;white-space:nowrap}
.live-pill:before{content:'● ';color:#6aa03a}
.hbtn{border:1px solid var(--field-line);background:var(--sheet);color:var(--accent);border-radius:3px;padding:7px 10px;font-weight:bold;text-decoration:none;white-space:nowrap;font-size:12px}
.hbtn.signed{color:var(--green);border-color:var(--green-line)}
.ticker{background:var(--band);border-top:1px solid var(--line-soft);color:var(--dim)}
.ticker-in{display:flex;gap:18px;white-space:nowrap;overflow:hidden;font-size:11px;padding-top:7px;padding-bottom:7px}
.ticker b{color:var(--accent)}
#wire{overflow:hidden;text-overflow:ellipsis;flex:1}

/* board strip + banner */
.boardbar{background:var(--strip);border-bottom:1px solid var(--strip-line)}
.boardbar-in{display:flex;align-items:flex-start;gap:12px;padding-top:7px;padding-bottom:7px}
.boardbar-label{font:bold 11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.6px;color:#7a5868;padding-top:3px}
:root[data-theme="dark"] .boardbar-label{color:var(--dim)}
.boardbar-list{display:flex;flex-wrap:wrap;gap:2px 9px;flex:1;max-height:48px;overflow:auto}
.boardbar-list button{border:0;background:none;padding:2px 0;color:var(--strip-ink);font:bold 12px Arial,sans-serif;white-space:nowrap}
.boardbar-list button:hover,.boardbar-list button.on{color:var(--accent);text-decoration:underline}
.boardbar-list button.on{background:var(--sheet);padding:2px 3px}
.boardbar-all{border:0;background:none;color:var(--accent);font:bold 11px Arial,sans-serif;white-space:nowrap;padding:3px 0}
.banner{background:var(--band);border-bottom:1px solid var(--line)}
.banner-in{display:flex;align-items:center;gap:24px;padding-top:13px;padding-bottom:13px}
.banner-brand{display:flex;align-items:center;gap:10px;font:bold 18px Georgia,serif;color:#5c3539;line-height:1.05}
:root[data-theme="dark"] .banner-brand{color:var(--ink)}
.banner-brand img{border-radius:8px}
.banner-brand small{display:block;font:11px Arial,sans-serif;color:var(--dim);margin-top:3px}
.banner-title{flex:1;text-align:center}
.banner-title p{margin:0 0 3px;color:#8e594c;font:bold 10px Arial,sans-serif;letter-spacing:1.1px}
:root[data-theme="dark"] .banner-title p{color:var(--deep-hi)}
.banner-title h2{margin:0;color:#9c342f;font:bold 26px Arial,sans-serif;line-height:1.2}
:root[data-theme="dark"] .banner-title h2{color:var(--accent)}
.banner-title a{display:inline-block;margin-top:4px;font-size:11px}
.banner-link{font-weight:bold;font-size:11px;white-space:nowrap}

/* page grid */
.page{display:grid;grid-template-columns:160px minmax(400px,1fr) 315px;gap:17px;padding-top:18px;padding-bottom:40px}
.rail{border-right:1px solid var(--line-soft);padding-right:12px}
.rail-board{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;padding:8px;border-radius:3px;color:var(--ink-soft)}
.rail-board:hover{background:var(--chip)}
.rail-board.on{background:#e4cdbf;font-weight:bold}
:root[data-theme="dark"] .rail-board.on{background:#38404a}
.rail-board b{font:bold 14px Georgia,serif;color:var(--accent);min-width:45px}
.rail-board small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-more{display:block;width:100%;margin:12px 0;border:1px solid var(--field-line);background:var(--sheet);color:var(--accent);border-radius:3px;text-align:left;padding:8px}
.rail-links{display:grid;gap:3px}
.rail-links a{color:var(--accent);text-decoration:none;font-weight:bold;font-size:11px;padding:7px 8px;border-radius:3px}
.rail-links a:hover{background:var(--chip);text-decoration:underline}
.rail-note{border-top:1px solid var(--line-soft);margin-top:18px;padding:13px 7px;font-size:11px;line-height:1.5;color:var(--dim)}

/* feed */
.feed{min-width:0}
.trail{font-size:11px;color:var(--dim);margin:4px 0 12px}
.headline{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;border-bottom:2px solid var(--rule);padding-bottom:12px}
.headline h1{font:normal 28px Georgia,serif;letter-spacing:-.6px;margin:0}
.headline h1 b{color:var(--accent)}
.headline p{margin:5px 0 0;color:var(--dim);font-size:12px}
.tally{font-size:11px;color:var(--dim)}
.recent{border:1px solid var(--line);background:var(--sheet);margin:13px 0 3px;padding:11px 12px}
.recent-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.recent-bar .kicker{margin:0 0 3px}
.recent-bar h2{font:normal 20px Georgia,serif;color:#5b3937;margin:0}
:root[data-theme="dark"] .recent-bar h2,:root[data-theme="dark"] .feedesk h2{color:var(--ink)}
.recent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.mini{display:flex;gap:9px;min-width:0;background:var(--post);border:1px solid var(--line-soft);padding:8px}
.mini img{width:46px;height:46px;object-fit:cover;flex:none;background:var(--chip)}
.mini strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent)}
.mini small{display:block;color:var(--dim);margin:3px 0}
.mini a{font-size:11px;margin-right:8px}
.feedesk{border:1px solid var(--line);background:var(--band);margin:10px 0 0;padding:12px 14px}
.feedesk h2{font:normal 20px Georgia,serif;color:#5b3937;margin:2px 0 5px}
.feedesk p{font-size:12px;line-height:1.5;color:var(--dim);margin:0 0 9px}
.feedesk-links{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.feedesk-links a{border:1px solid var(--field-line);background:var(--sheet);color:var(--accent);padding:6px 8px;text-decoration:none;font-weight:bold;font-size:11px}
.finder{background:var(--sheet);border:1px solid var(--line);padding:12px;margin:13px 0 2px}
.finder label{display:block;color:var(--accent);font-size:11px;font-weight:bold;letter-spacing:.5px;margin-bottom:7px}
.finder-row{display:flex;gap:7px}
.finder input{flex:1;min-width:0;border:1px solid var(--field-line);background:var(--field);border-radius:3px;padding:9px 10px}
.finder button{border:1px solid var(--accent-hi);background:var(--accent-hi);color:var(--accent-ink);font-weight:bold;border-radius:3px;padding:9px 13px;white-space:nowrap}
.finder button:disabled{opacity:.55;cursor:wait}
.finder small{display:block;color:var(--dim);margin-top:6px}
.finder small.bad{color:#b33b30}.finder small.good{color:var(--green)}
.tabs{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:12px 0}
.tab{border:1px solid var(--field-line);background:var(--sheet);color:var(--ink-soft);padding:8px 11px;border-radius:3px}
.tab.on{background:#4d393c;border-color:#4d393c;color:#fff5e8}
:root[data-theme="dark"] .tab.on{background:#7a5245;border-color:#7a5245}
.filter{margin-left:auto;width:190px;border:1px solid var(--field-line);background:var(--field);padding:8px 10px;border-radius:3px}
.sorter{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 9px}
.sorter label{font-size:11px;color:var(--dim)}
.sorter select,.sorter button{border:1px solid var(--field-line);background:var(--sheet);border-radius:3px;padding:6px}
.sorter button[aria-pressed="true"]{background:#4d393c;color:#fff}
.statusline{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--faint);margin:3px 0 9px}

/* thread cards */
.posts{display:grid;gap:8px}
.post{background:var(--post);border:1px solid var(--line);box-shadow:1px 1px var(--shadow);display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:10px}
.post:hover{background:var(--post-hover);border-color:var(--rule)}
.thumb{width:80px;height:80px;object-fit:cover;border:1px solid var(--line);background:var(--chip)}
.thumb.none{display:grid;place-items:center;color:var(--faint);font:bold 22px Georgia,serif}
.post h3{color:#873b33;font-size:13px;line-height:1.35;margin:0 0 5px;overflow-wrap:anywhere}
:root[data-theme="dark"] .post h3{color:var(--accent)}
.snip{margin:0;white-space:pre-line;line-height:1.4;max-height:57px;overflow:hidden;overflow-wrap:anywhere}
.lastreply{margin:6px 0 2px;padding:6px 8px;border-left:2px solid var(--rule);background:var(--sheet);color:var(--ink-soft);line-height:1.35;overflow-wrap:anywhere}
.lastreply b{color:var(--accent);font-size:11px}
.meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--dim);font-size:11px;margin-top:9px}
.meta strong{color:var(--green)}
.mintbtn{margin-left:auto;border:1px solid var(--accent-hi);background:var(--sheet);color:var(--accent);border-radius:3px;padding:5px 8px;font-weight:bold}
.mintbtn:hover{background:var(--accent-hi);color:var(--accent-ink)}
.saved{color:var(--green)!important}
.posts.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.posts.grid .post{display:block;min-width:0}
.posts.grid .thumb{width:100%;height:145px;margin-bottom:8px}
.coin{background:var(--sheet);border:1px solid var(--line);box-shadow:1px 1px var(--shadow);display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px}
.coin img{width:76px;height:76px;object-fit:cover;border:1px solid var(--line);border-radius:3px;background:var(--chip)}
.coin h3{font:19px Georgia,serif;margin:1px 0 5px;overflow-wrap:anywhere}
.coin h3 span{font:bold 12px Arial,sans-serif;color:var(--accent);margin-left:6px}
.onchain{color:var(--green);font-size:10px;font-weight:bold;letter-spacing:.7px}
.addr{font-size:11px;color:var(--dim);overflow-wrap:anywhere}
.coin p{font-size:11px;color:var(--dim);margin:6px 0;line-height:1.4}
.empty{padding:24px;border:1px dashed var(--field-line);background:var(--sheet);color:var(--dim);text-align:center;line-height:1.5}
.ghost{height:108px;border:1px solid var(--line-soft);background:linear-gradient(90deg,var(--post),var(--sheet),var(--post));background-size:200% 100%;animation:ghost 1.8s linear infinite}
@keyframes ghost{to{background-position:-200% 0}}

/* right column */
.box{background:var(--sheet);border:1px solid var(--line);margin-bottom:12px}
.box-head{padding:9px 11px;background:#e6d0bc;border-bottom:1px solid var(--line);color:#603d38;font-size:11px;font-weight:bold;letter-spacing:.4px}
:root[data-theme="dark"] .box-head{background:#343039;color:var(--ink)}
.box-body{padding:13px}
.desk{background:var(--deep);border-color:#50383a;color:var(--deep-ink)}
.desk .box-head{background:var(--deep-head);border-color:#6a4d4d;color:#f4ded0}
.desk .box-body{padding:16px}
.desk h2{font:normal 27px Georgia,serif;line-height:1.1;margin:5px 0 10px}
.desk p{color:var(--deep-dim);line-height:1.5;margin:0 0 14px;font-size:12px}
.desk-kicker{letter-spacing:1.5px;color:var(--deep-hi);font-size:10px;font-weight:bold}
.desk-steps{color:#f0c1a9;font-size:11px;margin:14px 0}
.numbers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.num{background:var(--field);border:1px solid var(--line-soft);padding:9px}
.num b{display:block;color:var(--accent);font:21px Georgia,serif}
.num small{color:var(--dim);text-transform:uppercase;font-size:10px}

/* dialog */
.veil{display:none;position:fixed;inset:0;background:var(--veil);z-index:20;align-items:center;justify-content:center;padding:15px}
.veil.open{display:flex}
.sheet{background:var(--sheet);border:2px solid #906b5c;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 25px 70px #21131799}
:root[data-theme="dark"] .sheet{border-color:var(--line)}
.sheet-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:#e6d0bc;border-bottom:1px solid var(--line);padding:9px 13px;color:#583c39;font-weight:bold}
:root[data-theme="dark"] .sheet-top{background:#343039;color:var(--ink)}
.x{border:0;background:none;font-size:23px;line-height:1;color:inherit}
.sheet-body{padding:17px}
.op{display:flex;gap:15px}
.op > img{width:100px;height:100px;object-fit:cover;flex:none}
.op h2{font:22px Georgia,serif;color:var(--accent);margin:0 0 6px}
.op p,.reply{white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}
.reply{background:var(--post);border:1px solid var(--line-soft);padding:9px;margin:8px 0}
.reply small{display:block;color:var(--dim);margin-bottom:5px}
.reply img,.op p + a img{display:block;max-width:175px;max-height:160px;margin-top:7px;object-fit:contain}
a.ql{color:var(--quote)}
.trip{color:var(--green);font-weight:bold}
.flags{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}
.flags span{background:var(--chip);border:1px solid var(--line-soft);color:var(--ink-soft);padding:3px 6px;font-size:11px}
.acts{display:flex;align-items:center;gap:12px;margin:15px 0}
.acts .go{width:auto}
.dir-search{width:100%;padding:9px;border:1px solid var(--field-line);background:var(--field)}
.dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;max-height:55vh;overflow:auto;margin-top:12px}
.dir button{border:1px solid var(--line-soft);background:var(--post);text-align:left;padding:8px;color:var(--ink-soft)}
.dir button:hover{background:var(--post-hover)}
.dir small{display:block;color:var(--dim);margin-top:4px}

/* mint form */
.cite{background:var(--band);border-left:3px solid var(--accent-hi);padding:10px;overflow-wrap:anywhere}
.fld{display:grid;gap:5px;margin:12px 0}
.fld > label,.fld > .lbl{font-size:11px;font-weight:bold;text-transform:uppercase;color:var(--accent)}
.fld input,.fld textarea{width:100%;padding:9px;border:1px solid var(--field-line);background:var(--field);border-radius:2px}
.fld textarea{min-height:80px}
.fld small{color:var(--dim);font-size:11px;line-height:1.4}
.tick{border:1px solid #ba6e56;background:var(--band);padding:10px;border-radius:3px}
.tick-in{display:flex;align-items:center;border:1px solid #b27f6c;background:var(--field);border-radius:2px;overflow:hidden}
.tick-in span{color:var(--accent);font:bold 19px Georgia,serif;padding:0 11px;border-right:1px solid var(--line)}
.tick-in input{border:0!important;background:transparent!important;font-size:16px;font-weight:bold;letter-spacing:.8px;outline:0}
.tick-in:focus-within{outline:2px solid var(--accent-hi);outline-offset:1px}
.art{display:flex;align-items:center;gap:12px}
.art img{width:96px;height:96px;object-fit:cover;border:1px solid var(--field-line);background:var(--chip);flex:none}
.art strong{color:var(--accent);font-size:12px}
.art small{display:block;margin-top:5px}
.routes{display:grid;gap:7px;margin-top:6px}
.route{display:flex;gap:9px;align-items:flex-start;padding:9px;border:1px solid var(--field-line);background:var(--sheet);cursor:pointer;font-size:12px}
.route:has(input:checked){border-color:var(--accent-hi);background:var(--band)}
.fld .route input{width:auto;flex:none;padding:0;margin:2px 0 0;accent-color:var(--accent-hi)}
.route b{display:block}
.route small{display:block;color:var(--dim);margin-top:3px;line-height:1.4}
.tripbox{border-left:2px solid var(--rule);margin:0 0 2px 9px;padding:3px 9px 9px}
.tripbox input{display:block;width:100%;padding:9px;margin:5px 0;border:1px solid var(--field-line);background:var(--field)}
.tripbox input:disabled{opacity:.55}
.methods{border:1px solid var(--field-line);background:var(--sheet);margin:12px 0;padding:10px}
.methods legend{font-weight:bold;color:var(--accent);padding:0 4px}
.methods > label{display:flex;align-items:center;gap:8px;margin:8px 0 2px;cursor:pointer}
.methods input{accent-color:var(--accent-hi)}
.methods small,.methods .xline{display:block;color:var(--dim);margin:3px 0 0 23px;line-height:1.4}
.methods .small{margin:6px 0 2px 23px}
.methods .small[hidden]{display:none}
.state{min-height:17px;margin-top:8px;font-size:12px;color:var(--accent);overflow-wrap:anywhere}
.note{border:1px solid var(--line-soft);background:var(--band);padding:10px;color:var(--dim);font-size:11px;line-height:1.5;margin-top:12px}

/* responsive */
@media(max-width:1100px){.page{grid-template-columns:130px minmax(0,1fr) 275px;gap:12px}.rail-board small{display:none}}
@media(max-width:850px){
  .page{grid-template-columns:120px minmax(0,1fr)}
  .rail{grid-row:1/3}
  .side{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .side .box{margin:0}.side .box:last-child{display:none}
  .feed{grid-column:2;grid-row:2}
  .banner-in{gap:10px}.banner-brand{font-size:14px}.banner-brand img{width:42px;height:42px}.banner-title h2{font-size:21px}.banner-link{display:none}
}
@media(max-width:630px){
  .wrap{padding-left:10px;padding-right:10px}
  .bar{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}
  .brand{font-size:21px;margin-right:auto}.brand img{width:32px;height:32px}
  .motto,.live-pill,.hide-sm{display:none}
  .hbtn{padding:6px;font-size:11px}
  .boardbar-label{display:none}
  .boardbar-list{flex-wrap:nowrap;overflow-x:auto;max-height:none}
  .boardbar-list button{padding:6px 2px}
  .banner-brand{display:none}.banner-title{text-align:left}.banner-title h2{font-size:21px}
  .page{display:block;padding-top:11px}
  .rail{display:flex;overflow-x:auto;border:0;gap:3px;padding:0 0 10px}
  .rail .kicker,.rail-note,.rail-more{display:none}
  #raillist{display:flex;gap:3px}
  .rail-board{width:auto;flex:0 0 auto}
  .rail-links{display:flex;flex:0 0 auto}
  .rail-links a{white-space:nowrap;padding:8px}
  .side{display:block}.side .box{margin-bottom:8px}.side .box:not(:first-child){display:none}
  .desk .box-body{padding:12px}.desk h2{font-size:21px}.desk p{margin-bottom:5px}.desk-steps{margin:7px 0}
  .headline h1{font-size:23px}
  .post{grid-template-columns:62px 1fr;gap:8px;padding:8px}
  .thumb{width:62px;height:66px}
  .filter{order:5;width:100%;margin-left:0}
  .finder-row{flex-wrap:wrap}.finder-row button{width:100%}
  .sheet-body{padding:11px}
  .op > img{width:75px;height:75px}
}
