.pbe{--pbe-ink:#17231f;--pbe-muted:#5d6b66;--pbe-line:#dbe1dc;--pbe-surface:#fff;--pbe-accent:#1f5c4a;--pbe-accent-soft:#e3eee9;--pbe-saffron:#b9761d;
  --pbe-display:"Young Serif",Georgia,"Times New Roman",serif;--pbe-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--pbe-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  font-family:var(--pbe-body);color:var(--pbe-ink);line-height:1.55;max-width:1080px;margin:0 auto}
.pbe *{box-sizing:border-box}
.pbe h1,.pbe h2,.pbe h3{font-family:var(--pbe-display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0;color:var(--pbe-ink)}
.pbe a{color:var(--pbe-accent)}
.pbe-hero{display:grid;gap:14px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--pbe-line)}
.pbe-eyebrow{font-family:var(--pbe-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pbe-saffron)}
.pbe-hero h1{font-size:clamp(2rem,5vw,3rem);max-width:18ch}
.pbe-hero p{margin:0;max-width:60ch;color:var(--pbe-muted);font-size:1.05rem}
.pbe-levelgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.pbe-level{background:var(--pbe-surface);border:1px solid var(--pbe-line);border-radius:10px;overflow:hidden}
.pbe-level-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:20px 20px 12px}
.pbe-level-head h2{font-size:1.6rem}
.pbe-level-head h2 a{color:inherit;text-decoration:none}
.pbe-level-head span{font-family:var(--pbe-mono);font-size:.78rem;color:var(--pbe-muted);white-space:nowrap}
.pbe-subjects{list-style:none;margin:0;padding:0}
.pbe-subjects li{border-top:1px solid var(--pbe-line);margin:0}
.pbe-subj{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px 20px;text-decoration:none;color:var(--pbe-ink)!important}
.pbe-subj:hover{background:var(--pbe-accent-soft)}
.pbe-code{font-family:var(--pbe-mono);font-size:.75rem;font-weight:500;color:var(--pbe-accent);border:1px solid var(--pbe-accent);border-radius:4px;padding:2px 6px;text-align:center}
.pbe-subj-name{font-weight:600;min-width:0}
.pbe-subj-count{font-family:var(--pbe-mono);font-size:.78rem;color:var(--pbe-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.pbe-crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.88rem;color:var(--pbe-muted);margin-bottom:12px}
.pbe-crumbs a{font-weight:600;text-decoration:none}
.pbe-subj-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.pbe-subj-title h1{font-size:clamp(1.7rem,4vw,2.4rem)}
.pbe-tabs{display:flex;border-bottom:1px solid var(--pbe-line);margin-bottom:24px}
.pbe-tab{border-bottom:3px solid transparent;padding:10px 18px;font-weight:600;color:var(--pbe-muted)!important;text-decoration:none;margin-bottom:-1px}
.pbe-tab[aria-current]{color:var(--pbe-ink)!important;border-color:var(--pbe-accent)}
.pbe-n{font-family:var(--pbe-mono);font-size:.75rem;font-weight:400;margin-left:6px}
.pbe-ledger{background:var(--pbe-surface);border:1px solid var(--pbe-line);border-radius:10px;overflow:hidden}
.pbe-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 18px;border-top:1px solid var(--pbe-line)}
.pbe-row:first-child{border-top:0}
.pbe-num{font-family:var(--pbe-mono);font-size:.8rem;color:var(--pbe-muted);font-variant-numeric:tabular-nums}
.pbe-num strong{display:block;font-size:1.3rem;font-weight:500;color:var(--pbe-ink)}
.pbe-row.is-empty .pbe-num strong{color:var(--pbe-line)}
.pbe-info{min-width:0}
.pbe-info h3{font-family:var(--pbe-body);font-weight:600;font-size:1rem;overflow-wrap:anywhere}
.pbe-info p{margin:2px 0 0;color:var(--pbe-muted);font-size:.9rem}
.pbe-meta{font-family:var(--pbe-mono);font-size:.72rem;color:var(--pbe-muted);margin-top:4px}
.pbe-soon{color:var(--pbe-muted);font-style:italic;font-size:.92rem}
.pbe-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pbe-btn{display:inline-flex;align-items:center;border-radius:6px;padding:7px 14px;font-weight:600;font-size:.88rem;text-decoration:none;border:1px solid var(--pbe-accent);background:var(--pbe-accent);color:#fff!important;white-space:nowrap}
.pbe-btn.is-ghost{background:transparent;color:var(--pbe-accent)!important}
@media (max-width:560px){.pbe-row{grid-template-columns:56px minmax(0,1fr)}.pbe-actions{grid-column:1/-1;justify-content:flex-start}.pbe-subj{grid-template-columns:44px 1fr}.pbe-subj-count{grid-column:2}}
