.courses-page{padding-bottom:clamp(4rem,9vw,7rem)}.courses-kicker{color:var(--ink-3)}.courses-layout{gap:var(--s-8);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@media (min-width:1024px){.courses-layout{gap:var(--s-7);grid-template-columns:minmax(0,8fr) minmax(0,4fr)}}.courses-main{min-width:0}@media (min-width:1024px){.courses-main:has(>.courses-empty){top:calc(var(--header-h) + var(--s-5));position:sticky}}.courses-catalogue-head{align-items:center;gap:var(--s-4);color:var(--ink-3);margin-bottom:var(--s-5);display:flex}.courses-catalogue-head .rule{background:var(--line);flex:1;height:1px}.courses-cards{grid-template-columns:minmax(0,1fr)}.courses-cards>li{min-width:0;display:flex}.courses-cards>li>.card{flex:1;min-width:0}@media (min-width:700px){.courses-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-cards>.courses-cards-feature{grid-column:1/-1}.courses-cards .card.feature{flex-direction:row}.courses-cards .card.feature .lens{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);flex:0 0 48%;min-height:260px}}.courses-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-foot .courses-card-price{color:var(--accent);font-family:var(--f-mono);letter-spacing:.06em}.courses-card-link:after{content:"";z-index:1;position:absolute;inset:0}.courses-card-link:focus-visible{outline:none}.courses-card:has(.courses-card-link:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.courses-card:has(.courses-card-link:hover) .courses-card-link{border-color:var(--ink)}.courses-empty{gap:var(--s-5);padding:clamp(var(--s-5), 4vw, var(--s-7));border:1px dashed var(--line-2);border-radius:var(--r-1);background:radial-gradient(ellipse at 50% 30%, color-mix(in oklab, var(--accent) 7%, transparent), transparent 70%), var(--surface);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:760px){.courses-empty{align-items:center;gap:var(--s-6);grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.courses-empty-orbit{justify-self:center;width:100%;max-width:360px;height:auto}.courses-empty-orbit .orbit{fill:none;stroke:var(--line-2);stroke-width:1px;stroke-dasharray:2 5}.courses-empty-orbit .grid-l{stroke:var(--line);stroke-width:1px}.courses-empty-orbit .planet{fill:var(--ink-3)}.courses-empty-orbit .core{fill:var(--star)}.courses-empty-orbit .halo{fill:var(--accent);opacity:.14}.courses-empty-orbit .spk{stroke:var(--star);stroke-width:1px;opacity:.7}html[data-theme=light] .courses-empty-orbit .halo{fill:none;stroke:var(--accent);opacity:.5}.courses-empty-body{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.courses-empty-title{font-family:var(--f-display);font-weight:400;font-size:var(--t-2xl);letter-spacing:-.008em;text-wrap:balance;line-height:1.08}html[lang=vi] .courses-empty-title{line-height:1.2}.courses-empty-text{color:var(--ink-2);font-size:var(--t-base);text-wrap:pretty;max-width:52ch;line-height:1.6}.courses-empty-actions{align-items:center;gap:var(--s-4) var(--s-5);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.courses-aside{gap:var(--s-5);min-width:0;scroll-margin-top:calc(var(--header-h) + var(--s-5));flex-direction:column;display:flex}.courses-aside:focus{outline:none}.courses-aside-label{align-items:center;gap:var(--s-2);color:var(--ink-3);display:flex}.courses-aside-star{color:var(--accent);letter-spacing:0;font-size:.9rem}.courses-aside-block{gap:var(--s-3);padding:var(--s-5);flex-direction:column;min-width:0;display:flex}.courses-aside-title{font-family:var(--f-display);font-weight:500;font-size:var(--t-xl);letter-spacing:-.005em;text-wrap:balance;margin-bottom:var(--s-2);line-height:1.15}html[lang=vi] .courses-aside-title{line-height:1.25}.courses-aside-list{border-top:1px solid var(--line);flex-direction:column;display:flex}.courses-aside-list>li+li{border-top:1px solid var(--line)}.courses-aside-item{gap:var(--s-4);min-height:44px;padding:var(--s-4) 0;color:var(--ink);grid-template-columns:88px minmax(0,1fr);align-items:start;display:grid}.courses-thumb{border:1px solid var(--line);border-radius:var(--r-1);width:88px;transition:border-color var(--d-3) var(--ease-expo);display:block}.courses-thumb svg{display:block}.courses-thumb img{opacity:1;transition:transform var(--d-4) var(--ease-expo)}.courses-aside-text{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.courses-aside-name{font-family:var(--f-display);font-weight:500;font-size:var(--t-lg);overflow-wrap:anywhere;-webkit-line-clamp:3;transition:color var(--d-2);-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box;overflow:hidden}html[lang=vi] .courses-aside-name{line-height:1.3}.courses-aside-meta{align-items:center;gap:var(--s-1) var(--s-2);color:var(--ink-3);flex-wrap:wrap;display:flex}.courses-aside-meta>*{white-space:nowrap}.courses-free{color:var(--accent)}.courses-members{border-radius:var(--r-pill);border:1px solid color-mix(in oklab, var(--accent) 55%, transparent);color:var(--accent);align-items:center;padding:1px 8px;display:inline-flex}.courses-aside-item:hover .courses-aside-name{color:var(--accent)}.courses-aside-item:hover .courses-thumb{border-color:var(--line-2)}.courses-aside-item:hover .courses-thumb img{transform:scale(1.04)}.courses-aside-item:hover .core{transform:scale(1.5)}.courses-aside-item:hover .halo{opacity:.3;transform:scale(1.7)}.courses-aside-item:hover .spk{opacity:.8}.courses-aside-all{margin-top:var(--s-2);font-size:var(--t-sm);align-self:flex-start}.courses-aside-fallback{color:var(--ink-2);font-size:var(--t-sm);padding-top:var(--s-3);border-top:1px solid var(--line);line-height:1.6}.courses-aside-fallback .link-arrow{font-size:var(--t-sm)}@media (min-width:600px) and (max-width:1023px){.courses-aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.courses-aside-label{grid-column:1/-1}}@media (max-width:479px){.courses-aside-item{gap:var(--s-3);grid-template-columns:64px minmax(0,1fr)}.courses-thumb{width:64px}.courses-aside-block{padding:var(--s-4)}}.courses-back{margin-bottom:var(--s-6);font-size:var(--t-sm);color:var(--ink-2)}.courses-detail-meta{align-items:center;gap:var(--s-2) var(--s-3);margin-top:var(--s-5);color:var(--ink-3);flex-wrap:wrap;display:flex}.courses-detail-meta .courses-detail-price{color:var(--accent)}.courses-stage{padding:clamp(var(--s-3), 2vw, var(--s-5))}.courses-detail-desc{margin-top:var(--s-7);white-space:pre-line;max-width:65ch;color:var(--ink-2);font-size:var(--t-md);line-height:1.7}
