.catalog{position:relative}.catalog__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.5rem;padding:.75rem 1rem;border:2px solid var(--fu-ink);background:hsl(var(--fu-paper))}.catalog__counter{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:hsl(var(--fu-ink));margin:0}.catalog__counter-active{color:hsl(var(--fu-link))}.catalog__tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.catalog__search{position:relative;display:flex;align-items:center}.catalog__search-icon{position:absolute;left:.7rem;color:hsl(var(--fu-muted));pointer-events:none}.catalog__search-input{min-width:200px;padding:.5rem .75rem .5rem 2.1rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:hsl(var(--fu-ink));background:hsl(var(--fu-card));border:2px solid var(--fu-ink);outline:none;transition:border-color .15s ease}.catalog__search-input:focus{border-color:hsl(var(--fu-link))}.catalog__search-input::placeholder{color:hsl(var(--fu-muted))}.catalog__search-kbd{position:absolute;right:.55rem;padding:0 .3rem;font-family:var(--font-mono);font-size:.62rem;color:hsl(var(--fu-muted));border:1px solid hsl(var(--fu-line));background:hsl(var(--fu-paper))}.catalog__view-toggle{display:inline-flex;border:2px solid var(--fu-ink);background:hsl(var(--fu-card))}.catalog__view-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--fu-muted));background:transparent;border:none;cursor:pointer;transition:color .15s ease,background .15s ease}.catalog__view-btn+.catalog__view-btn{border-left:2px solid var(--fu-ink)}.catalog__view-btn:hover{color:hsl(var(--fu-ink))}.catalog__view-btn.is-active{color:hsl(var(--fu-paper));background:hsl(var(--fu-ink))}.catalog__view-label{display:inline}@media(max-width:480px){.catalog__view-label{display:none}}.catalog__filter-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .85rem;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--fu-ink));background:hsl(var(--fu-card));border:2px solid var(--fu-ink);cursor:pointer;transition:color .15s ease,background .15s ease}.catalog__filter-toggle:hover{background:hsl(var(--fu-paper))}.catalog__filter-count{min-width:1.1rem;padding:.05rem .3rem;font-size:.62rem;text-align:center;color:hsl(var(--fu-paper));background:hsl(var(--fu-link))}.catalog__filter-chevron{color:hsl(var(--fu-muted));transition:transform .2s ease}.catalog__filter-chevron.is-open{transform:rotate(180deg)}.catalog__filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem 1.25rem;margin-bottom:1.75rem;padding:1.25rem;border:2px solid var(--fu-ink);background:hsl(var(--fu-surface))}.catalog__filter-group{display:flex;flex-direction:column;gap:.5rem}.catalog__filter-group--wide{grid-column:span 6}.catalog__filter-label{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:hsl(var(--fu-muted))}.catalog__select{width:100%;padding:.45rem .6rem;font-family:var(--font-mono);font-size:.74rem;color:hsl(var(--fu-ink));background:hsl(var(--fu-card));border:2px solid var(--fu-ink);border-radius:0;outline:none;cursor:pointer}.catalog__select:focus{border-color:hsl(var(--fu-link))}.catalog__options{display:flex;flex-direction:column;gap:.35rem}.catalog__option{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:hsl(var(--fu-ink));cursor:pointer}.catalog__option input{width:.95rem;height:.95rem;accent-color:hsl(var(--fu-link));cursor:pointer}.catalog__chips{display:flex;flex-wrap:wrap;gap:.4rem}.catalog__chip{padding:.3rem .7rem;font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--fu-muted));background:hsl(var(--fu-card));border:1.5px solid var(--fu-ink);cursor:pointer;transition:color .15s ease,background .15s ease}.catalog__chip:hover{color:hsl(var(--fu-ink))}.catalog__chip.is-active{color:hsl(var(--fu-paper));background:hsl(var(--fu-ink))}.catalog__filter-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;padding-top:.75rem;border-top:1px solid hsl(var(--fu-line))}.catalog__clear{padding:.4rem .9rem;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--fu-ink));background:transparent;border:2px solid var(--fu-ink);cursor:pointer;transition:color .15s ease,background .15s ease}.catalog__clear:hover{color:hsl(var(--fu-paper));background:hsl(var(--fu-ink))}@media(max-width:1024px){.catalog__filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog__filter-group--wide{grid-column:span 3}}@media(max-width:640px){.catalog__filters{grid-template-columns:1fr 1fr}.catalog__filter-group--wide{grid-column:span 2}.catalog__filter-actions{grid-column:1 / -1}}@media(max-width:420px){.catalog__filters{grid-template-columns:1fr}.catalog__filter-group--wide{grid-column:1}.catalog__search-input{min-width:0;width:100%}.catalog__search{flex:1}}.catalog-fade{transition:opacity .18s ease,transform .18s ease}.catalog-fade-start{opacity:0;transform:translateY(-6px)}.catalog-fade-end{opacity:1;transform:translateY(0)}.catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.c-course{position:relative;display:flex;flex-direction:column;gap:0;padding:1.25rem;background:hsl(var(--fu-card));border:2px solid var(--fu-ink);text-decoration:none;transition:box-shadow .15s ease,transform .15s ease,background .15s ease}.c-course:hover{background:hsl(var(--fu-paper));box-shadow:5px 5px 0 0 var(--fu-ink);transform:translate(-2px,-2px)}.c-course.is-hidden{display:none}.c-course__head{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.c-course__index{font-family:var(--font-mono);font-size:.66rem;color:hsl(var(--fu-muted));letter-spacing:.08em;margin-right:auto}.c-course__featured{font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:hsl(var(--fu-link));border-bottom:1.5px solid hsl(var(--fu-link))}.c-course__body{flex:1}.c-course__title{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.15rem;font-weight:600;line-height:1.25;color:hsl(var(--fu-ink))}.c-course__desc{margin:0 0 .9rem;font-size:.85rem;line-height:1.55;color:hsl(var(--fu-muted))}.c-course__tags{display:flex;flex-wrap:wrap;gap:.35rem}.c-course__tag{padding:.18rem .5rem;font-family:var(--font-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--fu-muted));border:1px solid hsl(var(--fu-line))}.c-course__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .85rem;margin-top:1rem;padding-top:.85rem;border-top:2px solid var(--fu-ink);font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--fu-muted))}.c-course__meta-item{display:inline-flex;align-items:center;gap:.25rem}.c-course__meta-item--lang{padding:.12rem .4rem;color:hsl(var(--fu-ink));border:1.5px solid var(--fu-ink)}.c-course__meta-item--price{color:hsl(var(--fu-ink));font-weight:600}.c-course__meta-muted{color:hsl(var(--fu-muted))}.c-course__cta{margin-left:auto;color:hsl(var(--fu-link));font-weight:600}.catalog[data-view=list] .catalog__grid{grid-template-columns:1fr;gap:.9rem}.catalog[data-view=list] .c-course{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head" "body meta";gap:0 1.25rem;padding:1rem 1.25rem}.catalog[data-view=list] .c-course__head{grid-area:head}.catalog[data-view=list] .c-course__body{grid-area:body}.catalog[data-view=list] .c-course__meta{grid-area:meta;flex-direction:column;align-items:flex-end;gap:.4rem;margin-top:0;padding-top:0;padding-left:1.25rem;border-top:none;border-left:2px solid var(--fu-ink)}.catalog[data-view=list] .c-course__cta{margin-left:0}@media(max-width:640px){.catalog[data-view=list] .c-course{grid-template-columns:1fr;grid-template-areas:"head" "body" "meta"}.catalog[data-view=list] .c-course__meta{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem .85rem;margin-top:.85rem;padding-top:.85rem;padding-left:0;border-top:2px solid var(--fu-ink);border-left:none}.catalog[data-view=list] .c-course__cta{margin-left:auto}}.catalog__empty{padding:3rem 1.5rem;text-align:center;border:2px dashed var(--fu-ink);background:hsl(var(--fu-paper))}@media(max-width:1024px){.catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.catalog__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.c-course,.catalog__filter-chevron,.catalog__chip,.catalog__clear{transition:none}}
