/* Hub styles — sit on top of pixelwrap-brand.css (colour tokens, header, footer). */
.hb{max-width:980px;margin:0 auto;padding:28px clamp(16px,4vw,28px) 10px;line-height:1.65}
.hb h1{font-family:var(--fd);font-weight:400;font-size:clamp(34px,6vw,52px);letter-spacing:1px;line-height:1.05;margin:8px 0 14px}
.hb h2{font-family:var(--fd);font-weight:400;font-size:28px;letter-spacing:.8px;margin:34px 0 10px}
.hb h3{font-size:16px;font-weight:700;margin:0 0 6px}
.hb p{margin:0 0 14px;color:var(--text)}
.hb .lead{font-size:17px;color:var(--muted);max-width:680px}
.hb .crumbs{font-size:12.5px;color:var(--muted);font-weight:600}
.hb .crumbs a{color:var(--muted);text-decoration:none}.hb .crumbs a:hover{color:var(--cyan)}
.hb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0}
.hb-card{display:block;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--text)}
a.hb-card:hover{border-color:var(--cyan)}
.hb-card p{color:var(--muted);font-size:14px;margin:0}
.hb-card.soon{opacity:.65}
.hb-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;padding:3px 10px;margin-bottom:10px;background:rgba(39,211,230,.15);color:var(--cyan)}
.hb-tag.soon{background:var(--line);color:var(--muted)}
.hb-tag.sample{background:rgba(245,154,75,.18);color:var(--orange)}
.hb-cta{display:inline-block;background:var(--pink);color:#2a0418;font-weight:800;text-decoration:none;border-radius:var(--radius-sm);padding:13px 20px;font-size:14.5px;margin:6px 0}
.hb-cta:hover{filter:brightness(1.07)}
.hb-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0}
.hb-bar .field{max-width:320px}
.hb-chk{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;cursor:pointer}
.hb-chk input{accent-color:var(--pink);width:17px;height:17px}
.hb-note{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;color:var(--muted);margin:14px 0}
.hb-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}
.hb table{width:100%;border-collapse:collapse;font-size:14px}
.hb th,.hb td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.hb th{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);white-space:nowrap;background:var(--panel)}
.hb th.sortable{cursor:pointer;user-select:none}
.hb th.sortable:hover{color:var(--cyan)}
.hb th[aria-sort=ascending]::after{content:" \25B2"}.hb th[aria-sort=descending]::after{content:" \25BC"}
.hb tr.sample td{opacity:.7;font-style:italic}
.hb td a{color:var(--cyan)}
.hb-empty{padding:22px;text-align:center;color:var(--muted)}
.hb-sw{display:inline-block;width:30px;height:20px;border-radius:5px;border:1px solid var(--line-2);vertical-align:middle}
.hb-post{display:block;padding:16px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text)}
.hb-post:hover h3{color:var(--cyan)}
.hb-post time{font-size:12.5px;color:var(--muted);font-weight:600}
.hb-post p{color:var(--muted);margin:4px 0 0;font-size:14.5px}
.hb textarea.field{min-height:160px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;resize:vertical}
.hb-btnrow{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.hb-btn{border:1px solid var(--line-2);background:var(--ink-2);color:var(--text);border-radius:var(--radius-sm);padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit}
.hb-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.hb-btn.primary{background:var(--pink);border-color:var(--pink);color:#2a0418}
.hb-article{max-width:700px}
.hb-article p,.hb-article li{font-size:16.5px}
.hb-article li{margin-bottom:6px}
/* Supply list sheet: always pale paper, so it prints clean in either theme */
.hb-sheet{background:#fff;color:#1d1a20;border:1px solid #d9d4dc;border-radius:12px;padding:22px;margin-top:16px}
.hb-sheet h2{color:#1d1a20;margin-top:0}
.hb-sheet table{color:#1d1a20}
.hb-sheet th{background:#f3f0f5;color:#5a5260;border-bottom:1px solid #d9d4dc}
.hb-sheet td{border-bottom:1px solid #e6e2e9}
.hb-sheet .hb-sw{border-color:#999}
.hb-sheet .box{display:inline-block;width:18px;height:18px;border:2px solid #555;border-radius:4px}
.hb-sheet .meta{color:#6b6370;font-size:13px}
@media(max-width:600px){.hb th,.hb td{padding:8px}}
@media print{
  html,body{background:#fff!important;color:#000!important}
  .pw-topbar,.pw-footer,.hb-noprint,.hb-crumbs-wrap,.toast{display:none!important}
  .hb{max-width:none;padding:0}
  .hb-sheet{border:0;padding:0;margin:0}
  .hb-sheet tr{page-break-inside:avoid}
}
