.blog-library {
  --ink:#14243a; --muted:#536477; --blue:#2449bd; --rule:#dce2e9;
  --paper:#fff; --soft:#f4f6fa; --accent:#b8341d;
  width:min(1280px,calc(100% - 64px)); margin:0 auto 58px;
  color:var(--ink); font-family:Manrope,system-ui,sans-serif;
}
.blog-library * { box-sizing:border-box }
.blog-library [hidden] { display:none!important }
.blog-library :is(h1,h2,h3,p,ol,ul) { margin:0 }
.blog-library :is(ol,ul) { padding:0; list-style:none }
.blog-library a { color:inherit; text-decoration:none }
.blog-library button { font:inherit; cursor:pointer }
.blog-library :is(a,button,select,summary):focus-visible { outline:2px solid #325adc; outline-offset:2px }
.blog-library :is(h1,h2,h3) { font-family:Montserrat,Manrope,system-ui,sans-serif; letter-spacing:-.035em; line-height:1.13; color:var(--ink) }
.blog-library h2 { font-size:clamp(23px,2.4vw,34px); font-weight:800 }
.mag-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0 }
.mag-search { position:relative; min-width:0 }
.mag-search-field { display:grid; grid-template-columns:19px minmax(0,1fr) auto; gap:9px; align-items:center; padding:2px 3px 2px 12px; border:1px solid #d6e0ef; border-radius:9px; background:#f5f7fa; color:var(--blue) }
.mag-search-field:focus-within { border-color:#4265c7; box-shadow:0 0 0 2px #4265c733; background:#fff }
.mag-search .mag-search-field input { appearance:none; border:0; border-radius:0; outline:none; box-shadow:none; background:transparent; color:var(--ink); font:inherit; font-size:16px; width:100%; min-width:0; padding:6px 0; min-height:38px }
.mag-search input::placeholder { color:#596c82; font-size:14px }
.mag-search button { min-height:34px; padding:0 10px; border:0; border-radius:6px; background:#e8eeff; color:#2043ad; font-size:13px; font-weight:850 }
.mag-search button:hover { color:#fff; background:#2449bd }
.blog-library .mag-primary,.mag-more button,.mag-empty button {
  display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:9px 15px; min-height:44px;
  color:#fff; background:var(--blue); border:1px solid var(--blue); border-radius:6px; font-size:14px; font-weight:800; white-space:nowrap;
}
.mag-primary:hover,.mag-more button:hover,.mag-empty button:hover { background:#17378f }
.mag-suggestions { position:absolute; z-index:6; inset:calc(100% + 6px) 0 auto; padding:9px; background:white; border:1px solid var(--rule); border-radius:9px; box-shadow:0 16px 36px #24375324 }
.mag-suggestions a { display:block; font-size:14px; line-height:1.35; padding:9px; border-radius:5px }
.mag-suggestions a:hover,.mag-suggestions a:focus-visible { background:#eef3ff }
.mag-suggestions small { display:block; color:var(--muted); margin-top:3px }
.mag-suggestions p { font-size:13px; color:var(--muted); padding:6px 9px }
.mag-intro {
  position:relative; z-index:4; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,350px);
  align-items:center; gap:22px; padding:29px 0 23px;
}
.mag-intro.mag-intro--journal {
  display:block; max-width:790px; padding:clamp(37px,4vw,57px) 0 clamp(24px,2.6vw,36px);
}
.blog-library .mag-intro--journal h1 { font-size:clamp(37px,4.2vw,57px); margin-bottom:12px; text-wrap:initial }
.mag-intro--journal .mag-keep { display:block }
.mag-intro-actions { display:grid; justify-items:start; gap:9px }
.mag-intro-actions > a { color:var(--blue); font-size:13px; font-weight:820; line-height:1.4; padding:3px 0 }
.mag-intro-actions > a:hover { text-decoration:underline; text-underline-offset:3px }
.mag-intro-actions .mag-search { width:100% }
.mag-kicker { color:var(--accent); font-size:11px; letter-spacing:.095em; text-transform:uppercase; font-weight:850; line-height:1.4 }
.blog-library h1 { font-size:clamp(32px,3.65vw,52px); font-weight:830; letter-spacing:-.05em; margin:0 0 8px; line-height:1.07; text-wrap:balance }
.mag-keep { white-space:nowrap }
.mag-intro > div:first-child p { color:var(--muted); font-size:clamp(15px,1.35vw,17px); line-height:1.5; max-width:65ch }
.mag-front {
  display:grid; grid-template-columns:minmax(0,1.94fr) minmax(275px,1fr);
  grid-template-areas:"feature search" "feature editors"; grid-template-rows:auto 1fr;
  gap:19px clamp(20px,2.4vw,34px); align-items:start;
}
.mag-front > .mag-intro-actions { grid-area:search; position:relative; z-index:4 }
.mag-editors { grid-area:editors; min-width:0 }
.mag-feature {
  grid-area:feature; display:block; background:#f6f8fc; border:1px solid var(--rule);
  border-radius:13px; overflow:hidden;
}
.mag-feature-image { aspect-ratio:2.58; background:#e5ecfa }
.mag-feature-image img,.mag-story-image img,.mag-card-image img { width:100%; height:100%; object-fit:cover; display:block }
.mag-feature-body { display:flex; justify-content:space-between; align-items:center; gap:13px; padding:clamp(16px,1.8vw,25px) }
.mag-feature h2 { font-size:clamp(24px,2.55vw,36px); margin:4px 0 7px }
.mag-feature p { font-size:clamp(14px,1.18vw,16px); color:var(--muted); line-height:1.5; max-width:61ch }
.mag-feature .mag-feature-label { color:var(--accent); text-transform:uppercase; letter-spacing:.09em; font-size:11px; font-weight:850 }
.mag-feature-arrow { font-size:21px; color:var(--blue); flex:none; width:38px; height:38px; border-radius:50%; border:1px solid #c5d2ea; display:grid; place-items:center }
.mag-feature:hover .mag-feature-arrow { background:#e8eeff }
.mag-feature:hover h2 { color:var(--blue) }
.mag-editors h2 { font-size:20px; padding:1px 0 9px; border-bottom:1px solid var(--rule) }
.mag-story { display:grid; grid-template-columns:minmax(100px,34%) minmax(0,1fr); gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid var(--rule) }
.mag-story-image { aspect-ratio:1.28; overflow:hidden; border-radius:7px; background:#edf2fa }
.mag-story h3 { font-size:clamp(15px,1.4vw,18px); margin:5px 0 7px; line-height:1.24 }
.mag-story-time { color:var(--muted); font-size:12px }
.mag-story-time span { color:var(--blue); margin-left:7px }
.mag-story:hover h3,.mag-direction:hover h3,.mag-card:hover h3 { color:var(--blue) }
.mag-directions { margin-top:32px }
.mag-directions h2,.mag-start h2 { font-size:clamp(21px,2.05vw,28px); margin-bottom:12px }
.mag-direction-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px }
.mag-direction { display:grid; grid-template-columns:minmax(0,1.75fr) minmax(90px,1fr); min-height:134px; overflow:hidden; border:1px solid var(--rule); border-radius:10px }
.mag-marketing { background:#fff2e9 }
.mag-ai { background:#eef1ff }
.mag-direction > div { padding:15px 16px }
.mag-direction h3 { font-size:clamp(17px,1.85vw,25px); margin:5px 0 6px }
.mag-direction p:not(.mag-kicker) { color:var(--muted); font-size:13px; line-height:1.4 }
.mag-direction img,.mag-section-image img { width:100%; height:100%; object-fit:cover; display:block }
.mag-direction img { min-height:0; aspect-ratio:1.68 }
.mag-textlink { display:inline-block; color:var(--blue); font-weight:800; font-size:13px; margin-top:12px }
.mag-start { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(15px,2.3vw,34px); align-items:start }
.mag-section-image { aspect-ratio:1.75; overflow:hidden; border-radius:13px; background:#edf2fa }
.mag-section-routes > .mag-kicker { margin-bottom:5px }
.mag-routes > li { min-width:0; padding:10px 0; border-top:1px solid var(--rule) }
.mag-route { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:4px 10px }
.mag-route strong { font-size:16px; color:var(--blue) }
.mag-route:hover strong,.mag-reading-links a:hover { text-decoration:underline; text-underline-offset:3px }
.mag-route > span { grid-row:2; color:var(--muted); font-size:14px; line-height:1.45 }
.mag-route b { grid-column:2; grid-row:1 / 3; color:var(--blue) }
.blog-library .mag-reading-links { display:flex; flex-wrap:wrap; gap:0 13px; padding-top:3px }
.mag-reading-links a { display:inline-flex; align-items:center; gap:4px; padding:5px 0; color:var(--muted); font-size:13px; font-weight:750 }
.mag-reading-links a span { color:var(--blue); font-size:11px }
.mag-course,.mag-telegram { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:19px 24px; border-radius:10px; margin-top:27px }
.mag-course { border:1px solid #c5d4f2; background:#eff4ff }
.mag-course h2,.mag-telegram h2 { font-size:clamp(20px,2vw,28px); margin:4px 0 5px }
.mag-course p:not(.mag-kicker),.mag-telegram p:not(.mag-kicker) { font-size:14px; line-height:1.5; color:var(--muted) }
.mag-telegram { color:#fff; background:#162b4c; margin-top:34px }
.mag-telegram h2,.mag-telegram p:not(.mag-kicker) { color:#f0f5ff }
.mag-telegram .mag-kicker { color:#b7cafa }
.mag-telegram .mag-primary { background:#eef3ff; color:#163471; border-color:#eef3ff }
.mag-telegram .mag-primary:hover { background:#d9e5ff }
.mag-anchor,#katalog { scroll-margin-top:83px }
.mag-anchor { display:block; height:0 }
.mag-archive { margin-top:36px }
.mag-archive-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:12px; border-bottom:1px solid var(--rule) }
.mag-archive-head h2 { font-size:clamp(24px,2.4vw,31px) }
#library-results-heading:focus { outline:none }
#library-result-count,#library-filter-context { font-size:13px; font-weight:720; color:var(--muted); overflow-wrap:anywhere }
#library-filter-context { margin-top:5px }
.mag-filters,.mag-topic-field { display:flex; align-items:center; gap:12px }
.mag-filters { flex:none }
.mag-topic-field label { color:var(--muted); font-size:13px; font-weight:750 }
.mag-topic-select { position:relative; color:var(--blue) }
.mag-topic-select select { appearance:none; width:202px; min-height:42px; border:1px solid #d6e0ef; border-radius:8px; padding:0 33px 0 12px; background:#f5f7fa; color:var(--ink); font:inherit; font-size:14px; font-weight:800; cursor:pointer }
.mag-topic-select select:hover { background:#edf2ff }
.mag-topic-select svg { position:absolute; right:12px; top:50%; transform:translateY(-50%); pointer-events:none }
#library-result-count { min-width:94px; text-align:right; font-variant-numeric:tabular-nums }
.blog-library .mag-reset { background:transparent; border:0; color:var(--blue); padding:5px 8px; min-height:36px; border-radius:5px; font-size:13px; font-weight:800 }
.mag-reset:hover { background:#edf2ff }
.mag-result-controls { display:flex; flex-wrap:wrap; align-items:center; gap:3px; margin-top:5px }
.mag-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:15px }
.mag-card { min-width:0; border:1px solid var(--rule); border-radius:10px; overflow:hidden }
.mag-card-link { display:flex; height:100%; flex-direction:column }
.mag-card-image { aspect-ratio:2.05; overflow:hidden; background:#edf1f8 }
.mag-card-body { flex:1; padding:13px 15px 14px; position:relative }
.mag-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:11px; font-weight:750 }
.mag-meta .library-tag { color:var(--blue) }
.mag-card h3 { font-size:clamp(16px,1.5vw,19px); line-height:1.24; margin:6px 0 }
.mag-card .library-description { color:var(--muted); font-size:13px; line-height:1.5; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; padding-right:19px }
.mag-card-arrow { position:absolute; bottom:13px; right:13px; color:var(--blue); font-size:17px }
.mag-card:hover { border-color:#92a9de; background:#fbfcff }
.mag-card:focus-within { outline:2px solid #325adc; outline-offset:2px }
.mag-more,.mag-empty { margin-top:18px; text-align:center; padding:17px; background:#f5f7fb; border-radius:8px }
.mag-more p,.mag-empty p { font-size:13px; color:var(--muted); margin:5px 0 9px }
.mag-empty a { display:inline-block; color:var(--blue); font-weight:800; margin-left:8px }
.mag-fallback summary { cursor:pointer; font-weight:800; color:var(--blue); padding:12px 0 }
@media (max-width:960px) {
  .mag-intro { gap:16px; grid-template-columns:minmax(0,1fr) minmax(220px,285px) }
  .mag-front { grid-template-columns:minmax(0,1.55fr) minmax(235px,1fr); gap:18px }
}
@media (max-width:900px) {
  .blog-library { width:calc(100% - 32px) }
}
@media (max-width:720px) {
  .mag-intro { grid-template-columns:1fr; gap:13px; padding:18px 0 15px }
  .mag-intro.mag-intro--journal { padding:27px 0 21px }
  .mag-intro-actions { gap:3px }
  .blog-library h1 { font-size:clamp(31px,8.4vw,47px); text-wrap:wrap; margin-bottom:6px }
  .blog-library .mag-intro--journal h1 { font-size:clamp(29px,7.8vw,40px); margin-bottom:10px }
  .mag-front { grid-template-columns:1fr; grid-template-areas:"search" "feature" "editors"; grid-template-rows:auto; gap:20px }
  .mag-feature-image { aspect-ratio:1.85 }
  .mag-feature-body { padding:15px }
  .mag-feature h2 { font-size:24px; text-wrap:wrap }
  .mag-feature-arrow { width:36px; height:36px; font-size:20px }
  .mag-editors h2 { font-size:19px }
  .mag-story { padding:10px 0; grid-template-columns:90px 1fr }
  .mag-story-image { aspect-ratio:1.52 }
  .mag-direction-grid,.mag-start { grid-template-columns:1fr }
  .mag-direction { min-height:120px; grid-template-columns:minmax(0,1.65fr) minmax(85px,1fr) }
  .mag-direction > div { padding:12px }
  .mag-directions { margin-top:24px }
  .mag-section-image { aspect-ratio:2.08 }
  .mag-route { min-height:45px }
  .mag-reading-links a { min-height:35px }
  .mag-course,.mag-telegram { align-items:flex-start; flex-direction:column; padding:15px; gap:12px }
  .mag-archive { margin-top:30px }
  .mag-archive-head { display:grid; gap:8px; padding-bottom:10px }
  .mag-filters { justify-content:space-between; gap:7px }
  .mag-topic-field label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap }
  .mag-topic-select select { width:clamp(185px,54vw,205px); font-size:13px; padding-left:9px; padding-right:25px }
  .mag-topic-select svg { right:8px }
  #library-result-count { min-width:0; font-size:12px }
  .mag-anchor,#katalog { scroll-margin-top:75px }
  .mag-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px }
  .mag-card-body { padding:9px }
  .mag-card h3 { font-size:15px }
  .mag-card .library-description { font-size:12px; padding-right:0; -webkit-line-clamp:3 }
  .mag-card-arrow { display:none }
  .mag-meta { font-size:10px; gap:4px 6px }
}
@media (max-width:365px) {
  .mag-grid { grid-template-columns:1fr }
  .mag-card-image { aspect-ratio:2.1 }
}

/* Find a topic or article directly from the journal front page. */
.mag-intro.mag-intro--journal {
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);max-width:none;
  align-items:end;gap:17px clamp(20px,4vw,55px);margin:28px 0 0;padding:clamp(18px,3vw,38px);
  border-top:3px solid var(--blue);border-radius:0 0 14px 14px;background:#f6f5f1;
}
.blog-library .mag-intro--journal h1 {font-size:clamp(32px,3.6vw,50px)}
.mag-intro--journal .mag-keep {color:var(--blue)}
.mag-intro--journal .mag-intro-actions {min-width:0;gap:5px}
.mag-intro--journal .mag-search-field {min-height:48px;background:#fff;border-color:#cbd9f1}
.mag-intro--journal .mag-search-field button {background:var(--blue);color:white;min-height:37px}
.mag-intro--journal .mag-search-field button:hover {background:#17378f}
.mag-intro--journal + .mag-directions {margin-top:22px}
.mag-directions + .mag-front {grid-template-areas:"feature editors";grid-template-rows:auto;margin-top:26px}
.mag-directions + .mag-front .mag-feature-image {aspect-ratio:2.75}
@media(max-width:720px) {
  .mag-intro.mag-intro--journal {grid-template-columns:minmax(0,1fr);margin-top:15px;gap:13px;padding:17px 14px 13px}
  .blog-library .mag-intro--journal h1 {font-size:clamp(28px,7.6vw,39px)}
  .mag-intro--journal + .mag-directions {margin-top:18px}
  .mag-directions + .mag-front {grid-template-areas:"feature" "editors";margin-top:19px}
  .mag-directions + .mag-front .mag-feature-image {aspect-ratio:1.95}
}
