/* Nick's Advanced Search — front-end only; all selectors scoped to .nas. */
.nas{--nas-ink:#24262b;--nas-muted:#666b74;--nas-border:#e2e4e8;--nas-paper:#fff;--nas-accent:#bf3e2d;max-width:1280px;margin:30px auto;color:var(--nas-ink);font-size:15px;line-height:1.55}
.nas *, .nas *::before, .nas *::after{box-sizing:border-box}
.nas__shell{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);align-items:start;gap:30px;margin:0}
.nas__sidebar{padding:20px;background:#f6f7f8;border:1px solid var(--nas-border);border-radius:12px}
.nas__searchbox label,.nas__facet legend{display:block;font-weight:700;margin-bottom:10px;font-size:15px;color:var(--nas-ink)}
.nas__searchbox input{display:block;width:100%;min-height:42px;border:1px solid #c6c8ce;border-radius:7px;background:#fff;padding:10px;color:#222;font-size:14px}
.nas__facet{border:0;padding:0;margin:21px 0 0;min-width:0}
.nas__facet legend{padding:0}
.nas__facet-scroll{max-height:230px;overflow-y:auto;padding:1px 4px 1px 0;scrollbar-width:thin}
.nas__option{display:flex;align-items:start;gap:9px;margin:8px 0;font-size:13px;cursor:pointer;overflow-wrap:anywhere}
.nas__option input{flex:none;margin-top:4px;width:15px;height:15px;accent-color:var(--nas-accent)}
.nas__actions{display:flex;flex-direction:column;gap:10px;margin-top:25px}
.nas__apply{appearance:none;border:1px solid var(--nas-accent);border-radius:6px;background:var(--nas-accent);color:#fff;font-weight:700;font-size:14px;padding:11px 15px;cursor:pointer}
.nas__reset{display:block;border:1px solid var(--nas-border);border-radius:6px;padding:9px 14px;text-align:center;color:var(--nas-ink);background:#fff;text-decoration:none!important;font-size:13px}
.nas__apply:hover,.nas__apply:focus{background:#9b2f21;color:#fff}
.nas__reset:hover{background:#eceef0}
.nas__main{min-width:0}
.nas__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.nas__count{font-size:14px;color:var(--nas-muted);margin:0}
.nas__sort{font-size:13px;color:var(--nas-muted);display:flex;align-items:center;gap:8px}
.nas__sort select{width:auto;max-width:180px;border:1px solid var(--nas-border);border-radius:6px;padding:8px 10px;background:#fff;color:var(--nas-ink);font-size:13px}
.nas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nas__card{margin:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--nas-border);background:var(--nas-paper);border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.03)}
.nas__card-image{display:flex;align-items:center;justify-content:center;padding:12px;background:#f4f5f6;min-height:220px;overflow:hidden;text-decoration:none}
.nas--magazine .nas__card-image{height:295px}
.nas--magazine .nas__card-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 3px 8px rgba(0,0,0,.14)}
.nas--article .nas__card-image{height:185px;padding:0}
.nas--article .nas__card-image img{width:100%;height:100%;object-fit:cover}
.nas__image-fallback{color:#777;font-size:22px;font-weight:700}
.nas__card-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px}
.nas__meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--nas-muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.nas__card-title{font-size:16px!important;line-height:1.35!important;margin:0!important;font-weight:700!important}
.nas__card-title a{color:var(--nas-ink)!important;text-decoration:none!important}
.nas__card-title a:hover{color:var(--nas-accent)!important}
.nas__topic{font-size:11px;align-self:flex-start;border:1px solid #e5e0dc;background:#f8f3ee;border-radius:4px;padding:3px 7px}
.nas__excerpt{color:var(--nas-muted);font-size:13px;margin:0}
.nas__read-more{display:inline-flex;align-items:center;gap:5px;margin-top:auto;text-decoration:none!important;font-weight:700;font-size:12px;color:var(--nas-accent)!important}
.nas__pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:27px;font-size:13px}
.nas__pagination a{padding:8px 12px;border:1px solid var(--nas-border);border-radius:6px;text-decoration:none}
.nas__pagination span{color:var(--nas-muted)}
.nas__empty{border:1px dashed var(--nas-border);background:#f8f9fa;padding:25px;border-radius:8px}
.nas a:focus-visible,.nas button:focus-visible,.nas input:focus-visible,.nas select:focus-visible{outline:3px solid #1c72c0;outline-offset:2px}
@media(max-width:1050px){.nas__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nas__shell{gap:20px}}
@media(max-width:720px){.nas__shell{grid-template-columns:1fr}.nas__sidebar{padding:16px}.nas__facet-scroll{max-height:130px}.nas__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nas--magazine .nas__card-image{height:220px}.nas__card-body{padding:12px}.nas__card-title{font-size:14px!important}}
@media(max-width:420px){.nas__grid{grid-template-columns:1fr}.nas--magazine .nas__card-image{height:310px}}

/* v0.1.1: preserve a clean wrapper if the active theme adds decorative pseudo-elements. */
.nas::before,.nas::after,.nas__shell::before,.nas__shell::after{content:none!important;display:none!important}
/* Compact, high-contrast category badges. The palette is stable per category slug. */
.nas__meta{align-items:center}
.nas__meta .nas__category{display:inline-flex;align-items:center;border-radius:4px;padding:3px 7px;font-size:11px;font-weight:700;line-height:1.45;letter-spacing:0;text-transform:none;color:#fff;background:#374151;overflow-wrap:anywhere}
.nas__meta .nas__category--0{background:#1e40af}
.nas__meta .nas__category--1{background:#166534}
.nas__meta .nas__category--2{background:#9a3412}
.nas__meta .nas__category--3{background:#6d28d9}
.nas__meta .nas__category--4{background:#9f1239}
.nas__meta .nas__category--5{background:#0f766e}
.nas__meta .nas__category--6{background:#374151}
.nas__meta .nas__category--7{background:#854d0e}
.nas__meta .nas__category--8{background:#1d4ed8}
.nas__meta .nas__category--9{background:#7c2d12}
.nas__meta .nas__category--10{background:#065f46}
.nas__meta .nas__category--11{background:#4338ca}

/* v0.1.2: category badges share their line with the date; long labels are clipped. */
.nas__meta{width:100%;min-width:0;flex-wrap:nowrap;gap:8px}
.nas__meta > span:not(.nas__category){flex:0 0 auto;white-space:nowrap}
.nas__meta .nas__category{flex:0 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;overflow-wrap:normal}
.nas__category-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Asynchronous updates; form controls stay in place. */
.nas__main{transition:opacity .15s ease}
.nas--loading .nas__main{opacity:.5}
.nas__main:focus{outline:none}
.nas__sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(prefers-reduced-motion:reduce){.nas__main{transition:none}}
