:root{--blue:#1769aa;--ink:#172b45;--muted:#61748a;--line:#dbe5ef;--bg:#f3f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.head{background:#fff;border-bottom:1px solid var(--line);padding:15px max(20px,calc((100vw - 1450px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center;color:var(--ink)}.brand>b{display:grid;place-items:center;width:48px;height:46px;border-radius:11px;background:linear-gradient(140deg,#155c99,#238bcb);color:#fff;font-size:19px}.brand>b span{color:#8ff0c5}.brand strong,.brand small{display:block}.brand strong{font-size:21px}.brand small{font-size:12px;color:var(--muted)}nav{display:flex;gap:8px}nav a,.btn{border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-weight:700;background:#fff}nav .primary,.btn{background:var(--blue);color:#fff;border-color:var(--blue)}.banner{background:linear-gradient(100deg,#102f4e,#1769aa);color:#eaf5ff;padding:10px max(20px,calc((100vw - 1450px)/2));font-size:13px}.banner span{float:right}.layout{max-width:1450px;margin:22px auto;padding:0 20px;display:grid;grid-template-columns:205px minmax(0,1fr) 220px;gap:20px;align-items:start}.box,.panel,.hero,.item,.stat{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 20px #1d436610;padding:15px;margin-bottom:14px;min-width:0}.box h3{margin:0 0 9px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#647b91}.box>a{display:block;padding:7px 8px;border-radius:7px;font-size:13px;color:#294761}.box>a:hover{background:#eaf4fc;text-decoration:none}.categories>a{border-bottom:1px solid #edf1f5;padding:10px 8px}.categories>a:last-child{border:0}.categories small{display:block;color:var(--muted);font-size:11px}.categories b{display:block}h1{font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 12px}h2{margin:0 0 12px}h3{line-height:1.3}.hero{padding:clamp(22px,4vw,40px);background:linear-gradient(135deg,#fff,#eaf5fd)}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--blue)}.hero p,.muted{color:var(--muted)}.search{display:flex;gap:8px;margin:20px 0}.search input,.field{flex:1;min-width:0;padding:12px;border:1px solid #c9d9e8;border-radius:8px;font:inherit}.btn{display:inline-block;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{display:block;background:#fff;border:1px solid var(--line);border-radius:11px;padding:17px;color:var(--ink)}.tile strong{display:block}.tile p,.item p{font-size:13px;color:var(--muted);margin:5px 0}.item{padding:14px}.item h3{margin:0}.tag{display:inline-block;background:#eef5fa;border-radius:20px;padding:3px 8px;font-size:11px;margin:3px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat small{display:block;color:var(--muted)}.stat strong{font-size:24px}.notice{padding:13px;border:1px solid #f0dfb3;background:#fff8e8;border-radius:8px;color:#725a20;font-size:13px}.empty{padding:24px;text-align:center;border:1px dashed #cbd9e6;border-radius:10px;color:var(--muted)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:13px}.tablewrap{overflow:auto}.code{background:#102b43;color:#d9f0ff;padding:14px;border-radius:8px;overflow:auto}footer{max-width:1450px;margin:auto;padding:18px 20px 30px;color:var(--muted);font-size:12px}@media(max-width:1100px){.layout{grid-template-columns:190px minmax(0,1fr)}.layout>aside:last-child{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.layout>aside:last-child .box{margin:0}}@media(max-width:720px){.head{align-items:flex-start;flex-direction:column}.layout{display:flex;flex-direction:column;margin-top:14px;gap:12px}.layout>aside,.layout>main{width:100%}.layout>main{order:0}.layout>aside:first-child{order:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.layout>aside:last-child{order:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.layout>aside .box{margin:0}.grid{grid-template-columns:1fr}.search{flex-direction:column}.banner span{float:none;display:block;margin-left:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.layout>aside:first-child,.layout>aside:last-child{grid-template-columns:1fr}nav{width:100%}nav a{flex:1;text-align:center}}

/* WebChat embed + connect form */
.webchat-connect-panel {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.webchat-connect-panel h1 {
  text-align: center;
}
.webchat-connect-panel > .muted {
  text-align: center;
}
.webchat-connect .btn-connect {
  display: block;
}
.webchat-connect label {
  display: block;
  margin: 0.85rem 0 0.35rem;
  font-size: 0.9rem;
  opacity: 0.9;
}
.webchat-connect .field {
  width: 100%;
  box-sizing: border-box;
  padding: 0.65rem 0.75rem;
  font-size: 1rem;
}
.webchat-connect .btn-connect {
  margin-top: 1.15rem;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1.05rem;
  font-weight: 600;
}
.webchat-hint { margin-top: 1rem; font-size: 0.85rem; }
.webchat-hint code { font-size: 0.8rem; }

.webchat-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-bottom: 0.65rem;
}
.webchat-toolbar-meta { font-size: 0.9rem; opacity: 0.9; }
.webchat-toolbar-actions { display: flex; gap: 0.4rem; }
.btn-small {
  padding: 0.35rem 0.65rem;
  font-size: 0.8rem;
}

.webchat-frame-wrap {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  overflow: hidden;
  background: #0b0f14;
}
.webchat-frame-wrap-live {
  /* Fill remaining viewport under toolbar, site header + sidebar stay */
  height: calc(100vh - 160px);
  min-height: 520px;
}
.webchat-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
  border: 0;
  background: #0b0f14;
}

/* When chatting: let main column use full height */
body.webchat-active .layout {
  align-items: stretch;
}
body.webchat-active main#main {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 120px);
}
body.webchat-active .webchat-live-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
body.webchat-active .webchat-frame-wrap-live {
  flex: 1;
  height: auto;
  min-height: 520px;
}

/* MOTD terminal block */
.motd-terminal {
  display: block;
  overflow-x: auto;
  padding: 1rem 1.1rem;
  margin: 1rem 0 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.35;
  white-space: pre;
  color: #b8f0c8;
  background: #0a0e12;
  border: 1px solid rgba(120, 220, 160, 0.18);
  border-radius: 10px;
}


/* Users online — role cards */
.user-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.75rem 0 1.25rem;
}
.pill {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--ink);
}
.pill-staff { background: #fff4e5; border-color: #ffcc80; color: #e65100; }
.pill-vip   { background: #e8f5e9; border-color: #a5d6a7; color: #2e7d32; }
.pill-user  { background: #e3f2fd; border-color: #90caf9; color: #1565c0; }
.pill-bot   { background: #eceff1; border-color: #cfd8dc; color: #546e7a; }

.user-section-title {
  margin: 1.35rem 0 0.65rem;
  font-size: 1.05rem;
}
.user-section-title small {
  font-weight: 500;
  color: var(--muted);
  font-size: 0.85rem;
}

.user-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.5rem;
}

.user-card {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 0.85rem 0.9rem;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 3px 12px #1d436608;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.user-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px #1d436612;
}
.user-card-icon {
  font-size: 1.45rem;
  line-height: 1;
  width: 1.6rem;
  text-align: center;
  flex-shrink: 0;
}
.user-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}
.user-card-nick {
  font-size: 0.95rem;
  word-break: break-all;
}
.user-card-role {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--muted);
}
.user-card-chan {
  font-size: 0.78rem;
  margin-top: 0.15rem;
}

.user-card.role-admin {
  border-color: #ffb74d;
  background: linear-gradient(165deg, #fff8f0, #fff);
}
.user-card.role-admin .user-card-role { color: #e65100; }
.user-card.role-ircop {
  border-color: #9fa8da;
  background: linear-gradient(165deg, #f3f5ff, #fff);
}
.user-card.role-ircop .user-card-role { color: #3949ab; }
.user-card.role-vip {
  border-color: #81c784;
  background: linear-gradient(165deg, #f1faf2, #fff);
}
.user-card.role-vip .user-card-role { color: #2e7d32; }
.user-card.role-bot {
  border-color: #cfd8dc;
  background: linear-gradient(165deg, #f7f9fa, #fff);
}
.user-card.role-bot .user-card-role { color: #607d8b; }
.user-card.role-user {
  border-color: #90caf9;
  background: linear-gradient(165deg, #f5faff, #fff);
}
.user-card.role-user .user-card-role { color: #1565c0; }

@media (max-width: 600px) {
  .user-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}


/* Config makers (Eggdrop / UnrealIRCd) */
.maker-panel h1 { margin-bottom: 0.35rem; }
.maker-sub {
  margin: 1.15rem 0 0.55rem;
  font-size: 0.92rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.maker-form label {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  font-size: 0.8rem;
  color: var(--muted);
  font-weight: 600;
}
.maker-form label span { line-height: 1.2; }
.maker-form input {
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ink);
  background: #fff;
}
.maker-form input:focus {
  outline: 2px solid #1769aa55;
  border-color: var(--blue);
}
.maker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 0.75rem 0.85rem;
}
.maker-span-2 { grid-column: span 2; }
@media (max-width: 600px) {
  .maker-span-2 { grid-column: span 1; }
}
.maker-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}
.maker-preview-head h2 { margin: 0; font-size: 1.05rem; }
.maker-preview {
  display: block;
  width: 100%;
  min-height: 420px;
  height: min(55vh, 560px);
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #0b1220;
  color: #d7e6ff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  line-height: 1.4;
  resize: vertical;
  box-sizing: border-box;
}
.maker-hint { margin-top: 0.65rem; font-size: 0.85rem; }
.maker-hint code {
  background: #eef3f8;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  font-size: 0.8rem;
}

/* Downloads page */
.dl-search { margin: 1rem 0; }
.dl-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}
.dl-toc a {
  display: inline-block;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #f4f7fb;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
}
.dl-toc a:hover { border-color: var(--blue); color: var(--blue); }
.dl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.dl-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.dl-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.dl-name {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.3;
  word-break: break-word;
}
.dl-desc {
  margin: 0;
  font-size: 0.84rem;
  color: var(--muted);
  flex: 1;
}
.dl-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.25rem;
}
.dl-section { scroll-margin-top: 1rem; }

/* Downloads page */
.dl-search { margin: 1rem 0; }
.dl-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.75rem;
}
.dl-toc a {
  display: inline-block;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #f4f7fb;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
}
.dl-toc a:hover { border-color: var(--blue); color: var(--blue); }
.dl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.dl-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.dl-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
}
.dl-name {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.3;
  word-break: break-word;
}
.dl-desc {
  margin: 0;
  font-size: 0.84rem;
  color: var(--muted);
  flex: 1;
}
.dl-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.25rem;
}
.dl-section { scroll-margin-top: 1rem; }


/* Free ZNC bouncer landing page */
.bouncer-hero{position:relative;overflow:hidden;padding:clamp(26px,5vw,54px);margin-bottom:20px;border:1px solid #cfe0ef;border-radius:16px;background:radial-gradient(circle at 90% 15%,#c9eaff 0,transparent 31%),linear-gradient(130deg,#fff 0%,#eaf5ff 58%,#f7fbff 100%);box-shadow:0 8px 28px #1d436610}
.bouncer-hero h1{max-width:720px;font-size:clamp(32px,4.5vw,52px);letter-spacing:-.04em}.bouncer-hero h1 span{color:var(--blue)}.bouncer-hero>p{max-width:660px;color:#526a80;font-size:1.04rem}.bouncer-orbit{position:absolute;right:5%;top:12%;width:150px;height:150px;display:grid;place-items:center;border-radius:50%;border:1px solid #1769aa35;color:#1769aa;font-weight:900;font-size:35px;background:#ffffff70;box-shadow:0 0 0 18px #1769aa08,0 0 0 36px #1769aa05;transform:rotate(-8deg)}.bouncer-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 14px}.bouncer-btn{padding:11px 17px}.bouncer-btn-secondary{background:#fff;color:var(--blue);border-color:#b8d2e8}.bouncer-quickfacts{display:flex;flex-wrap:wrap;gap:8px 18px;color:#38627f;font-size:.83rem;font-weight:700}.bouncer-section{margin:22px 0}.bouncer-section>h2{font-size:clamp(22px,2.5vw,29px);margin:3px 0 12px}.bouncer-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bouncer-feature,.bouncer-client{padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}.bouncer-feature h3,.bouncer-client h3{margin:8px 0 5px;font-size:1rem}.bouncer-feature p,.bouncer-client p,.bouncer-client li{font-size:.87rem;color:#52677b}.bouncer-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e8f4ff;color:#1769aa;font-size:23px}.bouncer-connection{padding:20px;background:#f9fcff;border:1px solid var(--line);border-radius:13px}.bouncer-table th{width:34%;color:#52677b;font-weight:700}.bouncer-table td code,.bouncer-section code,.bouncer-bottom-cta code{overflow-wrap:anywhere}.bouncer-chip{display:inline-block;margin-left:5px;padding:2px 8px;border-radius:999px;background:#e5f6ec;color:#1b6b42;font-size:11px;font-weight:800}.bouncer-notice{margin-top:14px}.bouncer-steps{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.bouncer-steps li{display:flex;gap:14px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.bouncer-steps li>span{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#eaf4fd;color:var(--blue);font-weight:900}.bouncer-steps h3{margin:0 0 4px;font-size:1rem}.bouncer-steps p{margin:0;color:#52677b;font-size:.88rem}.bouncer-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bouncer-client ol{padding-left:1.25rem}.bouncer-client li{padding-left:2px;margin:.25rem 0}.bouncer-code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.6}.bouncer-small{font-size:.8rem!important;color:var(--muted)!important}.bouncer-rules{padding-left:1.25rem}.bouncer-rules li{padding:6px 0;color:#52677b}.bouncer-rules strong{color:var(--ink)}.bouncer-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0;padding:22px;border-radius:14px;background:linear-gradient(120deg,#102f4e,#1769aa);color:#fff}.bouncer-bottom-cta h2{margin:4px 0;font-size:1.35rem}.bouncer-bottom-cta p{margin:4px 0 0;color:#e0effc;font-size:.9rem}.bouncer-bottom-cta .eyebrow{color:#a9d8ff}.bouncer-bottom-cta .btn{flex-shrink:0;background:#fff;color:#145b91;border-color:#fff}
@media(max-width:800px){.bouncer-orbit{width:100px;height:100px;font-size:25px;right:4%;top:7%}.bouncer-feature-grid{grid-template-columns:1fr}.bouncer-client-grid{grid-template-columns:1fr}.bouncer-bottom-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.bouncer-hero{padding:23px}.bouncer-orbit{position:relative;top:auto;right:auto;width:66px;height:66px;font-size:18px;margin:0 0 18px auto}.bouncer-table th{width:40%}.bouncer-table td,.bouncer-table th{padding:8px 6px;font-size:12px}.bouncer-actions .btn{width:100%;text-align:center}}


/* Download category filters and clickable labels */
.dl-categories { margin: 1rem 0 .5rem; }
.dl-categories a.is-active { background: var(--blue); color: #fff; border-color: var(--blue); }
.dl-result-count { margin: .8rem 0 .3rem; font-size: .9rem; }
.dl-source-note { margin-bottom: 0; font-size: .82rem; }
.dl-card-labels { display:flex; flex-wrap:wrap; gap:4px; margin-top:-.15rem; }
.dl-card-labels .tag { margin:0; text-decoration:none; }
.dl-card-labels .tag:hover { text-decoration:none; outline:1px solid #9fc4e4; }
.tag-category { background:#e5f1fb; color:#155b92; }
.tag-secondary { background:#f0f4f8; color:#53687d; }
.dl-clear { background:#fff; color:var(--blue); }

/* Services login portal */
.services-intro h1 { margin-top: .2rem; }
.services-actions { display:flex; flex-wrap:wrap; gap:9px; margin:1rem 0; }
.services-secondary { background:#fff; color:var(--blue); border-color:#b8d2e8; }
.services-notice { margin-top:1rem; }
.services-portal-panel { padding:0; overflow:hidden; }
.services-portal-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:16px 18px; border-bottom:1px solid var(--line); }
.services-portal-heading h2 { margin:0; font-size:1.1rem; }
.services-portal-heading p { margin:2px 0 0; font-size:.82rem; }
.services-portal-wrap { background:#fff; }
.services-portal-frame { display:block; width:100%; height:calc(100vh - 300px); min-height:650px; border:0; background:#fff; }
@media(max-width:720px) { .services-portal-frame { height:75vh; min-height:580px; } .services-portal-heading { align-items:flex-start; } }


/* Latest forum posts on homepage */
.forum-recent .forum-post {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}
.forum-recent .forum-post:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.forum-recent .forum-post strong a {
  color: var(--blue);
  font-size: 15px;
}


/* Resource library – list style (same light theme as rest of site) */
.resource-grid{display:block;margin-top:12px}
.resource-card{display:none}
.resource-list-wrap{overflow-x:auto;margin-top:10px}
.resource-list{width:100%;border-collapse:collapse;font-size:14px}
.resource-list th,.resource-list td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.resource-list th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;background:#f8fafc}
.resource-list tr:hover td{background:#f4f9fd}
.resource-list-name{font-weight:600;min-width:140px}
.resource-list-name a{color:var(--ink)}
.resource-list-name a:hover{color:var(--blue)}
.resource-list-desc{color:var(--muted);font-size:13px;max-width:420px}
.resource-meta{display:none}
.resource-notice{line-height:1.65}
.resource-hero .dl-categories{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.resource-hero .dl-categories a{display:inline-block;padding:7px 11px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff;color:var(--ink);font-weight:600;font-size:13px}
.resource-hero .dl-categories a:hover{border-color:var(--blue);color:var(--blue)}
.resource-hero .dl-categories a.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Compact downloads list */
.dl-list-wrap{overflow-x:auto;margin-top:8px}
.dl-list{width:100%;border-collapse:collapse;font-size:14px}
.dl-list th,.dl-list td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.dl-list th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;background:#f8fafc;white-space:nowrap}
.dl-list tr:hover td{background:#f4f9fd}
.dl-list-name{font-weight:600;white-space:nowrap}
.dl-list-name a{color:var(--ink)}
.dl-list-name a:hover{color:var(--blue)}
.dl-list-desc{color:var(--muted);font-size:13px;max-width:380px}
.dl-list .nowrap{white-space:nowrap}
.dl-list .btn-small{padding:4px 10px;font-size:12px}
@media(max-width:800px){
  .dl-list th:nth-child(4),.dl-list td:nth-child(4),
  .dl-list th:nth-child(3),.dl-list td:nth-child(3){display:none}
  .resource-list th:nth-child(3),.resource-list td:nth-child(3),
  .resource-list th:nth-child(4),.resource-list td:nth-child(4){display:none}
}

/* Resource catalog pagination */
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:22px 0 4px}
.pagination .is-active{font-weight:700;pointer-events:none;opacity:.85}
