#s-activities-library {
  --activities-ink: #34304d;
  --activities-muted: #746e8d;
  --activities-violet: #7556c4;
  --activities-teal: #159d91;
  --activities-cream: #fff8eb;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0 0 calc(32px + env(safe-area-inset-bottom));
  margin: 0;
  overflow-x: clip;
  color: var(--activities-ink);
  background: linear-gradient(180deg,#fffaf1,#f7fbff 58%,#fff8e9);
  font-family: var(--font-b, "Nunito", system-ui, sans-serif);
}
#s-activities-library *, #s-activities-library *::before, #s-activities-library *::after { box-sizing: border-box; }
#s-activities-library [hidden] { display: none !important; }
.activities-shell { width: 100%; }
.activities-topbar {
  min-height: 72px;
  padding: 10px clamp(16px, 4vw, 52px);
  display: grid;
  grid-template-columns: minmax(92px, 1fr) auto minmax(92px, 1fr);
  align-items: center;
  gap: 12px;
  background: #fff;
  border-bottom: 2px solid #efe6d5;
}
.activities-back {
  justify-self: start;
  min-width: 92px;
  min-height: 48px;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 2px solid #ddd1f5;
  border-radius: 16px;
  color: var(--activities-violet);
  background: #f5f0ff;
  box-shadow: 0 4px 0 #ddd1f5;
  font: 900 .95rem/1 var(--font-b, "Nunito", system-ui, sans-serif);
}
.activities-back:active { transform: translateY(3px); box-shadow: 0 1px 0 #ddd1f5; }
.activities-brand { text-align: center; line-height: 1; }
.activities-brand span { display: block; color: var(--activities-teal); font-size: .66rem; font-weight: 900; letter-spacing: .15em; }
.activities-brand strong { font: 800 1.25rem/1.1 var(--font-d, "Baloo 2", system-ui, sans-serif); }
.activities-print-note { justify-self: end; padding: 6px 11px 6px 7px; display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; color: #80600b; background: #fff2bd; font-size: .8rem; font-weight: 900; }
.activities-print-note b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#ffd93d;color:#654900;font-size:.82rem}.activities-print-note span{white-space:nowrap}
.activities-hero {
  min-height: 250px;
  padding: 34px max(20px, calc((100vw - 1120px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  background: radial-gradient(circle at 12% 20%, rgba(255,255,255,.72) 0 5px, transparent 6px), linear-gradient(135deg, #e8defe, #dff8f3 58%, #fff2bd);
}
.activities-hero > div { max-width: 680px; }
.activities-hero p:first-child { margin: 0 0 5px; color: var(--activities-violet); font-size: .83rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.activities-hero h1 { margin: 0; color: #43356d; font: 800 clamp(2.35rem, 6vw, 4.5rem)/.98 var(--font-d, "Baloo 2", system-ui, sans-serif); }
.activities-hero div > p:last-child { max-width: 620px; margin: 12px 0 0; color: #5f5975; font-size: clamp(1rem, 2vw, 1.2rem); font-weight: 800; line-height: 1.5; }
.activities-hero-sheet{flex:0 0 190px;height:150px;padding:18px;display:grid;place-items:center;border:5px solid #fff;border-radius:22px;background:repeating-linear-gradient(#fff 0 28px,#dfeaf2 29px 30px);box-shadow:0 9px 0 #c9b9e8;transform:rotate(3deg);color:#6750b5}.activities-hero-sheet b{font:900 3rem var(--font-d,"Baloo 2",sans-serif)}.activities-hero-sheet i{font-style:normal;font-size:2rem}
.activities-main { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 30px 0 18px; }
.activities-filters { padding: 22px; display: grid; grid-template-columns: 1fr; gap: 14px; border: 2px solid #eee4d2; border-radius: 24px; background: #fff; box-shadow: 0 9px 0 #f2e9da; }
.activities-filters > div { min-width: 0; }
.activities-filters h2 { margin: 0 0 10px; color: #625b78; font: 800 .83rem/1 var(--font-b, "Nunito", system-ui, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.activities-filter-row { width: 100%; max-width: 100%; display: flex; flex-wrap: wrap; gap: 9px; }
.activities-filter-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.activities-filter-row button { width: 100%; }
.activities-filter-row button {
  min-height: 46px;
  min-width: 46px;
  padding: 9px 14px;
  border: 2px solid #e5ddec;
  border-radius: 14px;
  color: #5f5872;
  background: #fbf9fe;
  font: 900 .86rem/1.2 var(--font-b, "Nunito", system-ui, sans-serif);
  touch-action: manipulation;
}
.activities-filter-mark{min-width:28px;height:28px;padding:0 4px;display:inline-grid;place-items:center;border-radius:9px;background:#e9e1fb;color:#6246a9;font-weight:1000}
.activities-filter-row button span { vertical-align: middle; }
.activities-filter-row button:hover, .activities-filter-row button:focus-visible { border-color: #9b80df; outline: 3px solid rgba(117, 86, 196, .17); outline-offset: 2px; }
.activities-filter-row button.is-selected { border-color: var(--activities-violet); color: #fff; background: var(--activities-violet); box-shadow: 0 4px 0 #54389d; }

.activities-results-head { margin: 34px 2px 15px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.activities-results-head p { margin: 0; color: var(--activities-muted); font-size: .88rem; font-weight: 800; }
.activities-results-head .activities-result-count { color: #433e57; font: 800 1.35rem/1.1 var(--font-d, "Baloo 2", system-ui, sans-serif); }
.activities-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.activities-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 2px solid #eadfcd; border-radius: 24px; background: #fff; box-shadow: 0 8px 0 #eee4d3; }
.activities-card-art { position: relative; padding: 14px 14px 0; }
.activities-card-art img { display: block; width: 100%; height: 220px; object-fit: contain; border: 2px solid #eee4d2; border-radius: 17px; background: #f7f1e5; }
.activities-card-art > span { position: absolute; top: 25px; right: 25px; padding: 7px 10px; border-radius: 999px; color: #4d4563; background: rgba(255,255,255,.92); box-shadow: 0 2px 8px rgba(46,41,65,.1); font-size: .72rem; font-weight: 900; }
.activities-card-body { flex: 1; padding: 16px 18px 18px; display: flex; flex-direction: column; }
.activities-card-kicker { min-height: 1.2em; margin: 0 0 4px; color: var(--activities-teal); font-size: .7rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.activities-card h2 { margin: 0; color: #39344e; font: 800 1.34rem/1.08 var(--font-d, "Baloo 2", system-ui, sans-serif); }
.activities-card-summary { margin: 8px 0 12px; color: var(--activities-muted); font-size: .88rem; font-weight: 750; line-height: 1.45; }
.activities-card-meta { margin: 0 0 11px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.activities-card-meta li { padding: 6px 8px; border-radius: 9px; color: #5f5872; background: #f5f1fa; font-size: .7rem; font-weight: 900; }
.activities-card-skills { margin: 0 0 15px; color: #676078; font-size: .76rem; font-weight: 800; line-height: 1.4; }
.activities-card-actions { margin-top: auto; display: grid; grid-template-columns: minmax(92px, .72fr) minmax(0, 1.28fr); gap: 9px; }
.activities-preview,
.activities-download {
  min-height: 48px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 14px;
  font-size: .8rem;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
  touch-action: manipulation;
}
.activities-preview { border: 2px solid #d8cceb; color: var(--activities-violet); background: #f6f1ff; box-shadow: 0 5px 0 #ded3ee; }
.activities-download {
  border: 2px solid #11887f;
  color: #fff;
  background: var(--activities-teal);
  box-shadow: 0 5px 0 #0b6e67;
}
.activities-preview>span,.activities-download>span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#fff8;font-size:1.05rem}.activities-preview b,.activities-download b{font:inherit}
.activities-download:hover, .activities-download:focus-visible { background: #10877f; outline: 3px solid rgba(21,157,145,.2); outline-offset: 2px; }
.activities-download:active { transform: translateY(3px); box-shadow: 0 2px 0 #0b6e67; }
.activities-empty { padding: 48px 20px; border: 2px dashed #d9ccea; border-radius: 24px; text-align: center; }
.activities-empty strong { font: 800 1.4rem var(--font-d, "Baloo 2", system-ui, sans-serif); }
.activities-empty p { margin: 6px 0 0; color: var(--activities-muted); font-weight: 800; }
.activities-footer { width: min(1120px, calc(100% - 32px)); margin: 24px auto 0; padding: 18px 20px; border-radius: 17px; color: #625b73; background: #f5eddd; font-size: .85rem; font-weight: 800; line-height: 1.45; text-align: center; }
@media (max-width: 900px) {
  .activities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activities-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.activities-filter-row button:last-child{grid-column:auto}
}
@media (max-width: 620px) {
  .activities-topbar { min-height: 66px; grid-template-columns: 54px 1fr 54px; padding: 8px 12px; }
  .activities-back { min-width: 48px; width: 48px; min-height: 48px; padding: 0; }
  .activities-back span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .activities-brand strong { font-size: 1.03rem; }
  .activities-brand span { font-size: .56rem; }
  .activities-print-note { justify-self: end; width: 48px; height: 48px; padding: 5px; display: grid; place-items: center; font-size: 0; line-height: 1; text-align: center; }
  .activities-print-note b{width:36px;height:36px;font-size:.72rem}.activities-print-note span{display:none}
  .activities-hero { min-height: 230px; padding: 27px 18px; }
  .activities-hero h1 { font-size: clamp(2.35rem, 13vw, 3.3rem); }
  .activities-hero-sheet{flex-basis:112px;height:116px;padding:10px}.activities-hero-sheet b{font-size:2.15rem}.activities-hero-sheet i{font-size:1.35rem}
  .activities-main { width: calc(100% - 24px); padding-top: 20px; }
  .activities-filters { padding: 17px; gap: 19px; border-radius: 20px; }
  .activities-filter-row { flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
  .activities-filter-row button { flex: 1 1 calc(50% - 5px); min-height: 48px; }
  .activities-filter-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activities-filter-row button:last-child { grid-column: 1 / -1; }
  .activities-results-head { margin-top: 28px; }
  .activities-results-head > p:last-child { display: none; }
  .activities-grid { grid-template-columns: 1fr; gap: 19px; }
  .activities-card { border-radius: 21px; }
  .activities-card-art img { height: 230px; }
}
@media (max-width: 360px) {
  .activities-hero { min-height: 218px; }
  .activities-hero-sheet { display: none; }
  .activities-card-body { padding-inline: 15px; }
}
@media (prefers-reduced-motion: no-preference) {
  .activities-card { transition: transform .18s ease, box-shadow .18s ease; }
  .activities-card:hover { transform: translateY(-3px); box-shadow: 0 11px 0 #eee4d3; }
}
@media print {
  #s-activities-library { background: #fff; }
  .activities-topbar, .activities-hero-sheet, .activities-filters, .activities-card-actions, .activities-footer { display: none !important; }
  .activities-hero { min-height: 0; padding: 10mm 0; background: #fff; }
  .activities-main { width: 100%; padding: 0; }
  .activities-grid { grid-template-columns: repeat(2, 1fr); }
  .activities-card { break-inside: avoid; box-shadow: none; }
}
