.jb{--jb-p:var(--color-brand-primary,#005ac9);--jb-bd:#e2e8f0;--jb-mut:#64748b;--jb-ink:#0f172a;min-height:100vh;background:#f8fafc;padding:2rem 1rem 4rem;color:var(--jb-ink)}
.jb *{box-sizing:border-box}
.jb-wrap{max-width:60rem;margin:0 auto}
.jb-hero{text-align:center;margin-bottom:2rem}
.jb-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;color:var(--jb-p);margin:0 0 .5rem}
.jb-hero p{color:var(--jb-mut);max-width:38rem;margin:0 auto;line-height:1.8}
.jb-search{display:block;width:100%;max-width:30rem;margin:1.25rem auto 0;padding:.8rem 1.1rem;border:1px solid var(--jb-bd);border-radius:999px;font:inherit;background:#fff}
.jb-search:focus{outline:2px solid var(--jb-p);outline-offset:1px}
.jb-grid{display:grid;gap:1rem}
.jb-card{display:block;background:#fff;border:1px solid var(--jb-bd);border-radius:1.25rem;padding:1.25rem 1.4rem;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.jb-card:hover{box-shadow:0 12px 30px -12px rgba(0,90,201,.25);transform:translateY(-2px)}
.jb-card h2{margin:0 0 .25rem;font-size:1.1rem;font-weight:900;color:var(--jb-ink)}
.jb-co{color:var(--jb-p);font-weight:700;font-size:.9rem}
.jb-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.jb-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:800;padding:.25rem .65rem;border-radius:999px;background:#eff6ff;color:var(--jb-p)}
.jb-tag.gray{background:#f1f5f9;color:#475569}
.jb-snip{color:var(--jb-mut);font-size:.88rem;line-height:1.7;margin:.75rem 0 0}
.jb-panel{background:#fff;border:1px solid var(--jb-bd);border-radius:1.5rem;padding:1.5rem;margin-bottom:1.25rem}
.jb-panel h1{margin:.5rem 0 .25rem;font-size:clamp(1.5rem,3.6vw,2.1rem);font-weight:900;line-height:1.3}
.jb-panel h2{font-size:1.1rem;font-weight:900;margin:0 0 .75rem}
.jb-text{white-space:pre-line;line-height:1.95;color:#334155;font-size:.97rem}
.jb-share{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--jb-bd)}
.jb-link{flex:1 1 14rem;direction:ltr;text-align:left;font-family:ui-monospace,monospace;font-size:.82rem;background:#f1f5f9;border-radius:.75rem;padding:.55rem .8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:900;font-size:.92rem;padding:.85rem 1.25rem;border-radius:.9rem;border:2px solid var(--jb-p);background:#fff;color:var(--jb-p);cursor:pointer;text-decoration:none;transition:all .15s}
.jb-btn:hover{background:#eff6ff}
.jb-btn.solid{background:var(--jb-p);color:#fff}
.jb-btn.solid:hover{filter:brightness(.92);background:var(--jb-p)}
.jb-btn.sm{padding:.5rem .85rem;font-size:.8rem;border-radius:.65rem}
.jb-actions{display:grid;gap:.75rem;grid-template-columns:1fr}
@media(min-width:44rem){.jb-actions{grid-template-columns:repeat(3,1fr)}}
.jb-ats{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:1.5rem;padding:1.5rem;margin-top:1.25rem}
.jb-ats h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:900;color:var(--jb-p)}
.jb-ats p{margin:.4rem 0;line-height:1.9;color:#334155;font-size:.93rem}
.jb-ats ul{margin:.6rem 0 0;padding-inline-start:1.2rem;color:#334155;font-size:.9rem;line-height:1.9}
.jb-empty{text-align:center;color:var(--jb-mut);padding:3rem 1rem}
.jb-crumb{font-size:.8rem;color:var(--jb-mut);margin-bottom:1rem}
.jb-crumb a{color:var(--jb-p);text-decoration:none;font-weight:700}
/* admin */
.jba{display:grid;gap:1.5rem}
@media(min-width:64rem){.jba{grid-template-columns:5fr 7fr;align-items:start}}
.jba-box{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;padding:1.5rem;box-shadow:0 4px 14px -6px rgba(15,23,42,.08)}
.jba-box h3{margin:0 0 1rem;font-weight:900;font-size:1rem}
.jba label{display:block;font-size:.72rem;font-weight:800;color:#475569;margin:.8rem 0 .3rem}
.jba input,.jba select,.jba textarea{width:100%;font:inherit;font-size:.88rem;padding:.6rem .8rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}
.jba textarea{min-height:7rem;resize:vertical;line-height:1.7}
.jba input:focus,.jba select:focus,.jba textarea:focus{outline:2px solid #005ac9;outline-offset:1px}
.jba .row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.jba .seo{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:1rem;padding:.9rem;margin-top:1rem;font-size:.8rem}
.jba .seo b{display:block;color:#005ac9;margin-bottom:.35rem}
.jba .item{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-start;border:1px solid #e2e8f0;border-radius:1rem;padding:.9rem 1rem;margin-bottom:.75rem}
.jba .item h4{margin:0;font-size:.92rem;font-weight:900}
.jba .item small{color:#64748b;display:block;margin-top:.15rem}
.jba .item code{direction:ltr;display:inline-block;font-size:.75rem;background:#f1f5f9;border-radius:.5rem;padding:.1rem .45rem;margin-top:.35rem}
.jba .item .ops{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;flex-shrink:0}
