/* Jump.AFRICA Forum v1 (sits on top of ja-net.css so threads look like the Network feed) */
.jf{font-family:var(--j-sans,'IBM Plex Sans',system-ui,sans-serif)}
.jf h1,.jf h2{color:var(--j-ink);font-family:var(--j-sans,'IBM Plex Sans',sans-serif);letter-spacing:-.01em}
.jf header,.jf footer.jn-acts,.jf nav,.jf aside,.jf section,.jf main{box-shadow:none!important;height:auto!important;width:auto;top:auto!important;border-top-width:0;z-index:auto!important;min-height:0!important}
.jf header.jn-post-h{background:transparent!important;position:static!important;padding:0!important;color:inherit!important}
.jf aside.jn-left,.jf aside.jn-right{background:transparent!important}
.jf section.ja-panel,.jf article.ja-panel,.jf .ja-panel{background:var(--j-panel)!important}
.jf nav.jn-nav,.jf nav.jf-crumbs,.jf nav.jf-pager,.jf nav.jn-filter{background:transparent!important;position:static!important}
.jf nav.jn-nav.ja-panel{background:var(--j-panel)!important}
.jf a:focus-visible,.jf button:focus-visible,.jf input:focus-visible,.jf textarea:focus-visible,.jf select:focus-visible{outline:2px solid var(--j-yellow);outline-offset:2px}
.jf [hidden]{display:none!important}
.jf-kicker{font:600 11px var(--j-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--j-yellow);margin:0 0 6px}
.jf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 16px;font:700 14px var(--j-sans);border:1px solid transparent;cursor:pointer;text-decoration:none!important;white-space:nowrap}
.jf-btn--pri{background:var(--j-blue);border-color:var(--j-blue);color:#fff!important}.jf-btn--pri:hover{filter:brightness(1.1)}.jf-btn--pri:disabled{opacity:.6;cursor:wait}
.jf-btn--ghost{background:transparent;color:var(--j-ink)!important;border-color:var(--j-line2)}.jf-btn--ghost:hover{border-color:var(--j-mute)}
.jf-btn--sm{min-height:34px;padding:5px 12px;font-size:13px}.jf-btn--block{display:flex;width:100%;margin-top:8px}
.jf-startbtn{margin-top:0}
.jf-me{display:flex;gap:10px;align-items:center;padding:12px;text-decoration:none!important}.jf-me b{display:block;color:var(--j-ink);font-size:14px}.jf-me small{color:var(--j-mute);font-size:12px}
.jf-join b{color:var(--j-ink)}.jf-join p{margin:6px 0 4px;font-size:13px}
.jf-flash{padding:10px 14px;border:1px solid var(--j-yellow);background:rgba(253,236,49,.08);color:var(--j-ink);font-size:14px}
.jf-flash--ok{border-color:var(--j-ok,#3DD68C);background:rgba(61,214,140,.08)}
.jf-crumbs{font-size:13px;color:var(--j-mute);padding:2px 2px 0}.jf-crumbs a{color:var(--j-link)}
.jf-h{margin:0!important;padding:12px 14px;font:600 12px var(--j-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--j-hl,var(--j-yellow));border-bottom:1px solid var(--j-row,var(--j-line))}
.jf-h--flat{padding:0 0 8px;border:0}
.jf-pt0{padding-top:0!important;margin:0}
/* boards directory */
.jf-hero{padding:22px}
.jf-hero h1{font-size:clamp(22px,2.6vw,30px)!important;margin:0 0 8px!important;line-height:1.15}
.jf-hero p{margin:0 0 14px}
.jf-search{display:flex;margin:0 0 12px}.jf-search input{flex:1;min-width:0;height:44px;padding:0 12px;background:var(--j-input);border:1px solid var(--j-line2);border-right:0;color:var(--j-ink);font:15px var(--j-sans)}
.jf-search button{height:44px;padding:0 18px;background:var(--j-blue);color:#fff;border:0;font:700 14px var(--j-sans);cursor:pointer}
.jf-stats{list-style:none;display:flex;gap:18px;margin:0;padding:0;font-size:13px;color:var(--j-mute)}.jf-stats b{color:var(--j-ink);font:700 16px var(--j-mono)}
.jf-boards{list-style:none;margin:0;padding:0}
.jf-board{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--j-row,var(--j-line))}
.jf-board:last-child{border-bottom:0}.jf-board.is-quiet{opacity:.6}
.jf-board__ic{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--j-panel2);border:1px solid var(--j-line);color:var(--j-yellow);font:700 14px var(--j-mono);overflow:hidden;text-decoration:none!important}
.jf-board__ic img{width:100%;height:100%;object-fit:cover}
.jf-board__n{font-weight:700;color:var(--j-ink)!important;font-size:15px}
.jf-board__b p{margin:2px 0 0;font-size:13px}.jf-board__l{color:var(--j-body)}.jf-board__l a{color:var(--j-link)}
.jf-board__c{display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:baseline;text-align:right;font-size:12px;color:var(--j-mute)}.jf-board__c b{font:700 14px var(--j-mono);color:var(--j-ink)}
/* topic lists */
.jf-tlist{list-style:none;margin:0;padding:0}
.jf-trow{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--j-row,var(--j-line))}
.jf-trow:last-child{border-bottom:0}.jf-trow.is-sticky{background:rgba(253,236,49,.04)}
.jf-trow__b{flex:1;min-width:0}
.jf-trow__t{display:block;font-weight:600;color:var(--j-ink)!important;line-height:1.35;font-size:15px}
.jf-trow__x{margin:4px 0;font-size:14px;color:var(--j-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jf-trow__img{width:72px;height:54px;object-fit:cover;flex:none;border:1px solid var(--j-line)}
.jf-trow__n{flex:none;display:flex;flex-direction:column;align-items:center;min-width:52px;text-decoration:none!important}.jf-trow__n b{font:700 16px var(--j-mono);color:var(--j-ink)}.jf-trow__n span{font-size:11px;color:var(--j-mute)}
.jf-tlist--sm .jf-trow{padding:10px 12px}.jf-tlist--sm .jf-trow__t{font-size:14px}.jf-tlist--sm .jn-av{display:none}.jf-tlist--sm .jf-trow__n{min-width:36px}.jf-tlist--sm .jf-trow__img{display:none}
.jf-pin{font:700 10px var(--j-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--j-keyink,#000);background:var(--j-yellow);padding:1px 5px;vertical-align:middle}
.jf-blist{list-style:none;margin:0;padding:6px 0}.jf-blist li{display:flex;justify-content:space-between;padding:6px 14px;font-size:14px}
/* board page */
.jf-bhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px}
.jf-bhead h1{font-size:26px!important;margin:0 0 6px!important}.jf-bhead p{margin:0 0 4px}
.jf-quickstart{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--j-mute)!important;text-decoration:none!important;font-size:15px}
.jf-quickstart:hover{border-color:var(--j-line2)}.jf-quickstart span:nth-child(2){flex:1;background:var(--j-input);border:1px solid var(--j-line2);padding:10px 12px}
.jf-quickstart__ic{font-size:18px;letter-spacing:4px}
.jf-empty{text-align:center}.jf-empty b{display:block;color:var(--j-ink);font-size:17px;margin-bottom:4px}
.jf-pager{display:flex;justify-content:center;align-items:center;gap:16px;padding:8px 0;font-size:14px;flex-wrap:wrap}
.jf-pager--top{justify-content:flex-start;gap:6px}.jf-pager--top a{padding:4px 10px;border:1px solid var(--j-line2);color:var(--j-body)!important}.jf-pager--top a.on{border-color:var(--j-blue);color:var(--j-ink)!important}
/* thread */
.jf-thead{padding:18px}
.jf-thead h1{font-size:clamp(21px,2.4vw,28px)!important;line-height:1.2;margin:0 0 6px!important;overflow-wrap:anywhere}
.jf-thead p{margin:0 0 12px}.jf-thead__acts{display:flex;gap:8px;flex-wrap:wrap}
.jf-post{scroll-margin-top:80px}
.jf-post--op{border-color:var(--j-line2)!important}
.jf-post--op .jf-body{font-size:16px}
.jf-post.is-target{box-shadow:0 0 0 2px var(--j-blue)!important}
.jf-op{margin-left:8px;font:600 10px var(--j-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--j-yellow)}
.jf-body{overflow-wrap:anywhere;position:relative}
.jf-body img{max-width:100%;height:auto;display:block;margin:8px 0}
.jf-body figure{margin:10px 0}.jf-body figure img{max-height:620px;width:auto;border:1px solid var(--j-line)}
.jf-body video{width:100%;max-height:560px;background:#000;display:block}
.jf-body a{color:var(--j-link)}
.jf-body blockquote{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--j-blue);background:var(--j-panel2);color:var(--j-body);font-size:14px}
.jf-body blockquote p{margin:0 0 4px}
.jf-body table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.jf-body td,.jf-body th{border:1px solid var(--j-line);padding:4px 8px}
.jf-body.is-long{max-height:520px;overflow:hidden}
.jf-body.is-long:after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(0,0,0,0),var(--j-panel))}
.jf-body.is-long.is-open{max-height:none}.jf-body.is-long.is-open:after{display:none}
.jf-more{display:block;background:none;border:0;padding:4px 0 8px;color:var(--j-link);font:700 14px var(--j-sans);cursor:pointer}
.jf-yt,.jf-embed{position:relative;aspect-ratio:16/9;background:#000;margin:10px 0;cursor:pointer;overflow:hidden}
.jf-yt img{width:100%;height:100%;object-fit:cover;margin:0;opacity:.85}
.jf-yt button{position:absolute;inset:0;margin:auto;width:72px;height:50px;border:0;border-radius:12px;background:rgba(255,0,0,.9);color:#fff;font-size:22px;cursor:pointer}
.jf-yt iframe,.jf-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.jf-like[aria-pressed="true"]{color:#FF5D7A!important}
.jf-del.is-confirm{color:var(--j-down,#FF8A5B)!important}
.jf-signin b{color:var(--j-ink);font-size:16px}
.jf-bcard__n{display:block;font-weight:700;font-size:17px;color:var(--j-ink)!important;margin-bottom:4px}
.jf-howto ol,.jf-howto ul{margin:0 0 10px;padding-left:18px;font-size:14px;color:var(--j-body)}.jf-howto li{margin-bottom:6px}.jf-howto b{color:var(--j-ink)}
/* composer */
.jf-comp{padding:14px}
.jf-comp__row{display:flex;gap:10px;align-items:flex-start}
.jf-comp textarea{flex:1;min-width:0;min-height:76px;padding:10px 12px;background:var(--j-input);border:1px solid var(--j-line2);color:var(--j-ink);font:15px/1.5 var(--j-sans);resize:vertical}
.jf-field{display:block;margin:0 0 12px}.jf-field>span{display:block;font:600 11px var(--j-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--j-mute);margin-bottom:6px}
.jf-field input,.jf-field select{width:100%;height:44px;padding:0 12px;background:var(--j-input);border:1px solid var(--j-line2);color:var(--j-ink);font:15px var(--j-sans)}
.jf-replying{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;padding:6px 10px;background:var(--j-panel2);border-left:3px solid var(--j-blue);font-size:13px}
.jf-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0 50px}
.jf-thumbs:empty{display:none}
.jf-thumb{position:relative;width:96px;height:96px;background:var(--j-panel2);border:1px solid var(--j-line2);overflow:hidden}
.jf-thumb img{width:100%;height:100%;object-fit:cover}
.jf-thumb__vid{display:flex;align-items:center;justify-content:center;height:100%;padding:6px;font-size:11px;text-align:center;color:var(--j-body);word-break:break-all}
.jf-thumb__x{position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.7);color:#fff;font-size:16px;line-height:24px;padding:0;cursor:pointer}
.jf-thumb__bar{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--j-blue);transition:width .2s;z-index:1}
.jf-thumb:not(.is-up) .jf-thumb__bar{display:none}.jf-thumb.is-up img{opacity:.55}.jf-thumb.is-err{border-color:var(--j-down,#FF8A5B)}
.jf-vlink{display:flex;gap:8px;margin:10px 0 0 50px}.jf-vlink input{flex:1;height:38px;padding:0 10px;background:var(--j-input);border:1px solid var(--j-line2);color:var(--j-ink)}
.jf-comp__bar{display:flex;align-items:center;gap:10px;margin:10px 0 0 50px;flex-wrap:wrap}
.jf-tools{display:flex;gap:4px;flex-wrap:wrap}
.jf-tool{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--j-line2);background:transparent;color:var(--j-body);font:600 13px var(--j-sans);cursor:pointer;margin:0}
.jf-tool:hover{border-color:var(--j-link);color:var(--j-ink)}
.jf-status{flex:1;font-size:13px;color:var(--j-mute)}
.jf-help{margin:8px 0 0 50px;font-size:12px;color:var(--j-mute)}
.jf-help kbd{font:11px var(--j-mono);border:1px solid var(--j-line2);padding:0 4px}
.jf-comp .jf-comp__bar .jf-btn--pri{margin-left:auto}
@media (max-width:820px){.jf-thumbs,.jf-comp__bar,.jf-help,.jf-vlink{margin-left:0}.jf-board{grid-template-columns:36px minmax(0,1fr)}.jf-board__c{grid-column:2;text-align:left;display:flex;gap:6px}.jf-bhead{flex-direction:column}.jf-trow__img{width:56px;height:42px}}

.jf-tool svg,.jf-quickstart__ic svg{vertical-align:-3px}.jf-quickstart__ic{display:inline-flex;gap:6px;color:var(--j-mute)}
