@layer components{.catalog-filters{gap:1rem;display:grid}@media (min-width:1024px){.catalog-filters{grid-template-columns:minmax(18rem,24rem) auto;justify-content:space-between;align-items:center}.catalog-groups{grid-column:1/-1}}.catalog-search{position:relative}.catalog-search__icon{width:1.1rem;height:1.1rem;color:var(--muted-foreground);pointer-events:none;position:absolute;top:50%;left:1rem;translate:0 -50%}.catalog-search__pending{background:var(--caret);border-radius:50%;width:.5rem;height:.5rem;animation:1s ease-in-out infinite pulse-dot;position:absolute;top:50%;right:1rem;translate:0 -50%}@keyframes pulse-dot{50%{opacity:.25;scale:.7}}.catalog-sort{display:inline-flex}.catalog-sort__select{border:1px solid var(--border);background-color:var(--card);appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:right 1.15rem center,right .85rem center;background-repeat:no-repeat;background-size:.3rem .3rem,.3rem .3rem;border-radius:999px;height:2.75rem;padding:0 2.25rem 0 1rem;font-size:.9rem}.catalog-reset{color:var(--muted-foreground);border-radius:999px;align-items:center;gap:.35rem;padding:.6rem .9rem;font-size:.85rem;transition:background-color .2s,color .2s;display:inline-flex}.catalog-reset:hover{background:var(--accent);color:var(--foreground)}.catalog-groups{gap:1.25rem;padding-top:.5rem;display:none}.catalog-groups.is-open{display:grid}@media (min-width:1024px){.catalog-groups{grid-template-columns:1fr auto;align-items:start;gap:2rem;display:grid}}.catalog-group{gap:.6rem;display:grid}.catalog-group__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);font-size:.72rem}.catalog-chip{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .95rem;font-size:.875rem;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.catalog-chip:hover{border-color:color-mix(in oklab, var(--foreground) 25%, transparent)}.catalog-chip.is-active{background:var(--foreground);color:var(--background);border-color:#0000}.catalog-chip__count{font-family:var(--font-mono);opacity:.6;font-size:.7rem}.catalog-empty{border:1px dashed var(--border);text-align:center;color:var(--muted-foreground);border-radius:1.5rem;justify-items:center;gap:1rem;padding:4rem 1.5rem;display:grid}.catalog-pagination{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:3rem;display:flex}.catalog-page{border:1px solid var(--border);min-width:2.5rem;height:2.5rem;font-family:var(--font-mono);border-radius:999px;place-items:center;padding:0 .6rem;font-size:.875rem;transition:border-color .2s,background-color .2s,color .2s;display:grid}.catalog-page:hover{border-color:color-mix(in oklab, var(--foreground) 25%, transparent)}.catalog-page.is-active{background:var(--foreground);color:var(--background);border-color:#0000}.catalog-page.is-disabled{opacity:.4;pointer-events:none}.course-hero{background:radial-gradient(80% 60% at 20% 0%, color-mix(in oklab, var(--track) 14%, transparent), transparent 70%);padding:7.5rem 0 3rem;position:relative}.course-hero--app{border-radius:0 0 1.5rem 1.5rem;margin:-1rem -1rem 0;padding:1.5rem 1rem 2.5rem}@media (min-width:64rem){.course-hero--app{margin:-1.5rem -2rem 0;padding:2rem 2rem 3rem}}.course-buy__owned{margin-top:1.25rem;font-weight:600}.course-breadcrumb{color:var(--muted-foreground);flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.course-breadcrumb a:hover{color:var(--foreground);text-underline-offset:4px;text-decoration:underline}.course-title{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2rem,4.4vw,3.25rem);font-weight:700;line-height:1.06}.course-facts{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.course-facts>li{border:1px solid var(--border);background:var(--card);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;display:inline-flex}.course-buy__card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-lift);border-radius:1.75rem;padding:1.5rem}@media (min-width:1024px){.course-buy{align-self:start;position:sticky;top:5.5rem}}.course-buy__cover{aspect-ratio:16/9;object-fit:cover;border-radius:1rem;width:100%;margin-bottom:1.25rem}.course-buy__icon{aspect-ratio:16/9;background:radial-gradient(120% 130% at 20% 0%, color-mix(in oklab, var(--track) 30%, var(--secondary)), var(--secondary) 70%);width:100%;color:var(--track);border-radius:1rem;place-items:center;margin-bottom:1.25rem;display:grid}.course-buy__price{font-family:var(--font-mono);gap:.25rem;font-size:1.75rem;font-weight:600;line-height:1.15;display:grid}.course-buy__price>p:nth-child(2){color:var(--muted-foreground);font-size:1.25rem}.course-buy__unit{font-family:var(--font-sans);color:var(--muted-foreground);margin-left:.4rem;font-size:.8125rem;font-weight:400}.course-buy__note{color:var(--muted-foreground);margin-top:.35rem;font-size:.85rem}.course-buy__perks{color:var(--muted-foreground);gap:.6rem;margin-top:1.5rem;font-size:.875rem;display:grid}.course-buy__perks>li{gap:.6rem;display:flex}.course-buy__perks>li:before{content:"";background:var(--track);border-radius:50%;flex:none;width:.45rem;height:.45rem;margin-top:.45rem}.course-block+.course-block{margin-top:3.5rem}.course-section-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700}.course-mentor{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;gap:1rem;padding:1.25rem;display:flex}.course-mentor__initials{background:var(--secondary);width:3.5rem;height:3.5rem;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.course-side__card{border:1px solid var(--border);background:var(--card);border-radius:1.5rem;padding:1.5rem}@media (min-width:1024px){.course-side{align-self:start;position:sticky;top:5.5rem}}.program{gap:.75rem;display:grid}.program__item{border:1px solid var(--border);background:var(--card);border-radius:1.25rem;padding:0 1.25rem;transition:border-color .3s}.program__item[data-state=open]{border-color:color-mix(in oklab, var(--track) 40%, var(--border))}.program__trigger{gap:1rem;padding:1.15rem 0;text-decoration:none}.program__index{font-family:var(--font-mono);color:var(--track);font-size:.8rem}.program__meta{color:var(--muted-foreground);margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.program__content{padding-bottom:1rem}.program__lesson{border-top:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 0;font-size:.9rem;display:flex}.program__icon{background:var(--secondary);width:1.6rem;height:1.6rem;color:var(--muted-foreground);border-radius:50%;flex:none;place-items:center;display:grid}.program__lesson:has(.program__free) .program__icon{background:color-mix(in oklab, var(--caret) 14%, transparent);color:var(--caret)}.program__free{background:color-mix(in oklab, var(--caret) 14%, transparent);font-family:var(--font-mono);text-transform:uppercase;color:var(--caret-text);border-radius:999px;margin-left:.5rem;padding:.1rem .45rem;font-size:.65rem}.program__duration{font-family:var(--font-mono);color:var(--muted-foreground);flex:none;font-size:.75rem}.buy-formats{gap:.5rem;margin-top:1.25rem;display:grid}.buy-format{border:1px solid var(--border);cursor:pointer;border-radius:.875rem;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;transition:border-color .18s,background-color .18s;display:flex}.buy-format:hover{background:var(--accent)}.buy-format:has(input:checked){border-color:var(--caret);background:color-mix(in oklab, var(--caret) 8%, transparent)}.buy-format:has(input:focus-visible){outline:2px solid var(--caret);outline-offset:2px}.buy-format input{accent-color:var(--caret);margin-top:.2rem}.buy-format span{gap:.125rem;display:grid}.buy-format strong{font-size:.9375rem;font-weight:600}.buy-format em{color:var(--muted-foreground);font-size:.8125rem;font-style:normal}.buy-months{justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.9375rem;display:flex}.buy-months__control{border:1px solid var(--border);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem;display:flex}.buy-months__control button{width:1.875rem;height:1.875rem;color:var(--muted-foreground);border-radius:999px;place-items:center;display:grid}.buy-months__control button:hover:not(:disabled){background:var(--accent);color:var(--foreground)}.buy-months__control button:disabled{opacity:.35;cursor:not-allowed}.buy-months__control output{text-align:center;font-variant-numeric:tabular-nums;min-width:2rem;font-weight:600}.buy-total{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1.25rem;padding-top:1rem;font-size:.9375rem;display:flex}.buy-total strong{font-family:var(--font-mono);color:var(--foreground);font-size:1.375rem}.buy-total strong:has(.buy-total__old){text-align:right;justify-items:end;display:grid}.buy-total__old{color:var(--muted-foreground);font-size:.875rem;font-weight:400}.buy-discount{background:color-mix(in oklab, var(--track-backend) 14%, var(--card));border-radius:.8rem;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem .8rem;font-size:.875rem;font-weight:600;display:flex}.payment-state{color:var(--muted-foreground);justify-content:center;align-items:center;gap:.625rem;padding:4rem 1rem;display:flex}.payment-card{border:1px solid var(--border);background:var(--card);max-width:34rem;box-shadow:var(--shadow-soft);border-radius:1.5rem;justify-items:start;gap:1rem;margin:2rem auto;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.payment-card__icon{border-radius:1rem;place-items:center;width:3.25rem;height:3.25rem;display:grid}.payment-card[data-tone=ok] .payment-card__icon{color:#35c26d;color:lab(69.68% -52.7395 31.6677);background:#35c26d2e;background:lab(69.68% -52.7395 31.6677/.18)}.payment-card[data-tone=wait] .payment-card__icon{color:#ebb432;color:lab(76.9614% 12.1746 68.8032);background:#ebb4322e;background:lab(76.9614% 12.1746 68.8032/.18)}.payment-card[data-tone=bad] .payment-card__icon{background:color-mix(in oklab, var(--caret) 14%, transparent);color:var(--caret)}}
