.al-root{--al-card-bg:#fff;--al-soft:#f7fafc;--al-heading:#0f1c1e;--al-body:#2d3436;--al-subtle:#6b8a8e;--al-border:#dbeceb;--al-accent:#1a7f8a;--al-accent-soft:#e6f6f5;color:var(--al-body);min-height:100vh;padding:120px 24px 80px}.al-shell{max-width:1200px;margin:0 auto}.al-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--al-border);padding-bottom:24px;margin-bottom:32px}.al-hero-l h1{font-size:clamp(32px,4.5vw,48px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:var(--al-heading);line-height:1.1}.al-hero-l p{font-size:15px;margin:0;color:var(--al-subtle);max-width:540px;line-height:1.6}.al-search{position:relative;flex:1;min-width:240px;max-width:420px}.al-search input{width:100%;padding:12px 40px 12px 14px;border:1px solid var(--al-border);border-radius:10px;background:var(--al-card-bg);color:var(--al-heading);font:inherit;font-size:14px;outline:none;transition:border-color .15s ease}.al-search input:focus{border-color:var(--al-accent)}.al-search input::-moz-placeholder{color:var(--al-subtle)}.al-search input::placeholder{color:var(--al-subtle)}.al-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--al-subtle);cursor:pointer;padding:4px;font-size:16px;line-height:1}.al-search-clear:hover{color:var(--al-heading)}.al-meta{font-size:13px;color:var(--al-subtle);margin-bottom:20px}.al-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media (max-width:900px){.al-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.al-grid{grid-template-columns:1fr}}.al-card{display:flex;flex-direction:column;background:var(--al-card-bg);border:1px solid var(--al-border);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.al-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,28,30,.08);border-color:var(--al-accent)}.al-thumb{aspect-ratio:16/10;background:var(--al-soft);position:relative;overflow:hidden}.al-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.al-thumb-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#0f766e,#134e4a 60%,#0b1220);color:hsla(0,0%,100%,.92);text-align:center;padding:12px}.al-thumb-initial{font-size:44px;font-weight:700;line-height:1;letter-spacing:-.02em;color:#13ecc8;text-shadow:0 2px 12px rgba(0,0,0,.4)}.al-thumb-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:hsla(0,0%,100%,.78);max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.al-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}.al-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--al-accent);font-weight:600}.al-card-title{font-size:18px;line-height:1.3;font-weight:600;color:var(--al-heading);letter-spacing:-.01em;margin:0}.al-card-sub{font-size:14px;line-height:1.55;color:var(--al-subtle);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.al-card-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--al-subtle)}.al-tags-row{display:flex;flex-wrap:wrap;gap:6px}.al-tag{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--al-accent-soft);color:var(--al-accent);font-weight:500}.al-empty{border:1px dashed var(--al-border);background:var(--al-soft);border-radius:14px;padding:64px 24px;text-align:center;color:var(--al-subtle)}.al-empty h3{color:var(--al-heading);font-size:20px;font-weight:600;margin:0 0 6px}.al-empty p{margin:0;font-size:14px}.al-pager{display:flex;justify-content:center;gap:8px;margin-top:40px}.al-pager a,.al-pager span{font-size:14px;padding:10px 16px;border:1px solid var(--al-border);border-radius:8px;text-decoration:none;color:var(--al-heading);background:var(--al-card-bg)}.al-pager a:hover{border-color:var(--al-accent);color:var(--al-accent)}.al-pager span.al-disabled{color:var(--al-subtle);border-color:var(--al-border);opacity:.5}.al-pager .al-current{color:var(--al-accent);border-color:var(--al-accent)}