/* P288: the homepage tutorial card is the shared surface. Page containers only
   choose columns/layout; they must not recolor tools or resize card contents. */
.course-grid.content-cards272{--card-copy:#596578;--card-stat:#626f82;display:grid!important;grid-template-columns:repeat(var(--cards-columns272,4),minmax(0,1fr));gap:var(--cards-gap272,24px);align-items:start}
.course-grid.content-cards272 .course-card{min-width:0;height:auto;margin:0;overflow:hidden;border:1px solid var(--p118-line,#e5e9ef);border-radius:14px;background:var(--p118-surface,#fff);box-shadow:0 2px 6px #18324d03;font-family:"Segoe UI","Microsoft YaHei",sans-serif;transition:box-shadow .3s,border-color .3s}
.course-grid.content-cards272 .course-card:hover{transform:none;box-shadow:0 10px 22px #25334c0b;border-color:#d8dfeb}
.course-grid.content-cards272 .course-card .course-card-inner{display:block;height:auto;min-width:0;position:relative;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;transform:none}
.course-grid.content-cards272 .course-card .cover{display:block;position:relative;width:100%;height:auto;min-height:0;margin:0;border-radius:0;aspect-ratio:var(--cards-ratio272,3 / 2);overflow:hidden;background:#e4e9ed}
.course-grid.content-cards272 .course-card .cover img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.course-grid.content-cards272 .course-card .cover-open{display:none}
.course-grid.content-cards272[data-layout="masonry"]{grid-auto-rows:8px;grid-auto-flow:row;align-items:start}
.course-grid.content-cards272[data-layout="masonry"] .course-card .cover{aspect-ratio:auto;height:auto;min-height:0}
.course-grid.content-cards272[data-layout="masonry"] .course-card .cover img{height:auto;aspect-ratio:auto}
.course-grid.content-cards272 .course-card .course-info{display:block;flex:none;padding:18px 18px 0;min-width:0}
.course-grid.content-cards272 .course-card .course-summary138{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin:0;font-size:12px;font-weight:400;line-height:21px;letter-spacing:0;color:var(--card-copy);font-variant-numeric:tabular-nums}
.course-grid.content-cards272 .course-card .course-category138{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.course-grid.content-cards272 .course-card .course-timing139{display:inline-flex;align-items:baseline;gap:6px;margin-left:auto;white-space:nowrap;font-size:11px}
.course-grid.content-cards272 .course-card .course-timing139 span+span{padding-left:6px;border-left:1px solid var(--p118-line,#e5e9ef)}
.course-grid.content-cards272 .course-card h3{font-size:16px;line-height:1.6;font-weight:600;letter-spacing:0;min-height:0;margin:10px 0 12px;color:var(--p118-ink,#182333);overflow-wrap:anywhere}
.course-grid.content-cards272 .course-card h3>a{display:block;color:inherit;text-decoration:none}
.course-grid.content-cards272 .course-card h3>a:hover{color:var(--p118-accent)}
.course-grid.content-cards272 .course-card .course-tools138{display:flex;align-items:center;min-width:0;min-height:26px;margin:0}
.course-grid.content-cards272 .course-card .tool-stack{display:flex;align-items:center;gap:5px;min-height:26px;max-width:100%;margin:0;padding:0;border:0;background:transparent;box-shadow:none;font-family:inherit}
.course-grid.content-cards272 .course-card .tool-monogram{display:flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;padding:0;border:1px solid #ffffff24;border-radius:6px;letter-spacing:0;font:600 14px/1 "Segoe UI",sans-serif;box-shadow:inset 0 1px 0 #ffffff55,0 2px 3px #00000009}
.course-grid.content-cards272 .course-card .tool-monogram.tone-orange{background:#f6e2cf;color:#995213}
.course-grid.content-cards272 .course-card .tool-monogram.tone-blue{background:#d5e6fc;color:#205fa6}
.course-grid.content-cards272 .course-card .tool-monogram.tone-amber{background:#fae8bd;color:#855213}
.course-grid.content-cards272 .course-card .tool-monogram.tone-indigo{background:#e2e1fa;color:#4a52aa}
.course-grid.content-cards272 .course-card .tool-monogram.tone-violet{background:#e9dafa;color:#7643ad}
.course-grid.content-cards272 .course-card .tool-monogram.tone-ink{background:linear-gradient(135deg,#dfe5ef,#e9daee);color:#4d465c}
.course-grid.content-cards272 .course-card .tool-monogram.tone-green{background:#dcebc4;color:#4a6b1e}
.course-grid.content-cards272 .course-card .tool-monogram.tone-teal{background:#cfe9e6;color:#2d6f6a}
.course-grid.content-cards272 .course-card .tool-monogram.tone-rose{background:#f7dce6;color:#a03e6e}
.course-grid.content-cards272 .course-card .tool-overflow{color:var(--card-copy)}
.course-grid.content-cards272 .course-card .course-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;margin:13px 0 0;padding:11px 0 13px;border-top:1px solid var(--p118-line,#e5e9ef)}
.course-grid.content-cards272 .course-card .course-stats{display:flex;align-items:center;justify-content:flex-start;width:auto;flex:none;gap:5px;flex-wrap:wrap;color:var(--card-stat)}
.course-grid.content-cards272 .course-card .course-stat{display:inline-flex;align-items:center;justify-content:flex-start;gap:3px;font-size:11px;line-height:20px;font-weight:400;color:var(--card-stat);white-space:nowrap;font-variant-numeric:tabular-nums}
.course-grid.content-cards272 .course-card .course-stat .icon{width:12px;height:12px;flex-shrink:0;stroke-width:1.7}
.course-grid.content-cards272 .course-card .course-info:not(:has(.course-bottom,.library-card-access182)){padding-bottom:18px}
.course-grid.content-cards272 .course-card .cg-card-corners{inset:0;height:auto;border-radius:inherit;pointer-events:none}
.course-grid.content-cards272 .course-card :is(.cg-vip-seal,.crowd-seal,.free-seal140){padding:5px 8px;gap:5px;border-radius:6px;font-size:11px;line-height:16px;font-weight:600}
.course-grid.content-cards272 .course-card .cg-vip-seal{box-shadow:0 3px 8px #33200624}
.course-grid.content-cards272 .course-card .cg-vip-seal .gem-icon{font-size:13px;width:15px;height:15px;flex-shrink:0}
.course-grid.content-cards272 .course-card :is(.crowd-seal,.free-seal140) .icon{width:14px;height:14px;flex-shrink:0}
.course-grid.content-cards272 .course-card .cg-sale-ribbon{font-size:11px}
.course-grid.content-cards272 .course-card .resource-updated138{display:inline-flex;align-items:center;flex:none;gap:3px;margin-left:auto;color:#315f9c;background:#eef4fe;border:1px solid #d6e4f6;padding:2px 4px;border-radius:5px;font-size:10.5px;line-height:17px;font-weight:500;white-space:nowrap}
.course-grid.content-cards272 .course-card .resource-updated138 .icon{width:12px;height:12px;flex:none;stroke-linecap:round;stroke-linejoin:round;transform-origin:center;animation:resource-turn139 3.6s linear infinite}
.course-grid.content-cards272 .card-excerpt272{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.7;margin:0 0 12px;color:var(--card-copy)}
.course-grid.content-cards272 .card-extra272{font-size:12px;line-height:1.6;margin:12px 0;color:var(--card-copy)}
.course-grid.content-cards272[data-card-style272="horizontal"]{grid-template-columns:repeat(min(var(--cards-columns272,4),2),minmax(0,1fr))}
.course-grid.content-cards272[data-card-style272="horizontal"] .course-card .course-card-inner{display:grid;grid-template-columns:38% minmax(0,1fr);align-items:start}
.course-grid.content-cards272[data-card-style272="text"]{grid-template-columns:1fr}
.course-grid.content-cards272[data-card-style272="text"] .course-card :is(.cover,.course-corner,.cg-card-corners){display:none}
.course-grid.content-cards272[data-card-style272="overlay"] .course-card .course-info{position:absolute;inset:auto 0 0;z-index:2;padding:56px 18px 0;background:linear-gradient(transparent,#101a2cf0);color:#fff;--card-copy:#fff;--card-stat:#fff}
.course-grid.content-cards272[data-card-style272="overlay"] .course-card .cover{min-height:320px}
.course-grid.content-cards272[data-card-style272="overlay"] .course-card :is(h3,.course-summary138,.course-stats,.card-excerpt272,.card-extra272){color:#fff}
.course-grid.content-cards272[data-card-style272="overlay"] .course-card .course-bottom{border-color:#ffffff40}
.catalog-page272{padding-top:36px;padding-bottom:48px}
.catalog-heading272{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.catalog-heading272 h1{font-size:28px;line-height:1.4;margin:0 0 10px;font-weight:650;color:var(--p118-ink,#182333)}
.catalog-heading272 p{font-size:14px;line-height:1.7;color:var(--p118-muted,#657287);margin:0}
.catalog-page272:not([data-catalog272="search"]) .catalog-heading272{display:block;text-align:center}
.catalog-filters272+.course-grid.content-cards272{margin-top:24px}
.catalog-count272.catalog-reset274{justify-content:flex-end}
.catalog-path275{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin:0 0 16px;font-size:13px;line-height:24px;color:var(--p118-muted,#657287);flex-wrap:wrap}
.catalog-path275>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;overflow-wrap:anywhere}
.catalog-path275 a{color:#0879df}.catalog-path275 [aria-current]{color:var(--p118-ink,#182333);font-weight:500}
.catalog-parent275{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.catalog-filter272 a{overflow-wrap:anywhere;max-width:100%}
.catalog-search272{display:flex;align-items:center;gap:10px;width:370px;max-width:100%;min-width:220px;padding:7px 8px 7px 14px;border:1px solid var(--p118-line,#e5e9ef);border-radius:12px;background:var(--p118-surface,#fff)}
.catalog-search272 input{width:100%;min-width:0;border:0;background:transparent;padding:5px 0;outline:none;box-shadow:none;font:inherit;font-size:13px}
.catalog-search272:focus-within{border-color:#8cc4ff;box-shadow:0 0 0 3px #e7f3ff}
.catalog-search272 button{flex-shrink:0;padding:9px 16px;border:1px solid #b8dcff;border-radius:8px;background:#eaf4ff;color:#0879df;font-size:13px;cursor:pointer}
.catalog-filters272{padding:2px 20px;border:1px solid var(--p118-line,#e5e9ef);border-radius:14px;background:var(--p118-surface,#fff)}
.catalog-filter272{display:flex;align-items:flex-start;gap:18px;padding:14px 0}
.catalog-filter272+.catalog-filter272{border-top:1px solid var(--p118-line,#e5e9ef)}
.catalog-filter272>strong{flex:0 0 64px;font-size:13px;line-height:32px;color:var(--p118-muted,#657287);font-weight:500}
.catalog-filter272>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;min-width:0}
.catalog-filter272 a,.catalog-filter272 .unavailable272{padding:6px 12px;border-radius:8px;font-size:13px;line-height:20px;color:var(--p118-muted,#536379)}
.catalog-filter272 a:hover{color:#0879df;background:#f0f7ff}.catalog-filter272 a.active{color:#0879df;background:#eaf4ff;font-weight:600}
.catalog-filter272 .unavailable272{opacity:.5}
.catalog-count272{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 16px;font-size:13px;color:var(--p118-muted,#657287)}
.catalog-count272 a{color:#0879df}.catalog-pagination272{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px;margin-top:32px;font-size:13px;color:var(--p118-muted,#657287)}
.catalog-pagination272 [aria-disabled="true"]{opacity:.45}.catalog-empty272{text-align:center;padding:56px 20px;color:var(--p118-muted,#657287)}
.dark .course-grid.content-cards272{--card-copy:#b1bbca;--card-stat:#a3b0c2}
.dark .course-grid.content-cards272 .course-card:hover{border-color:var(--p118-line)}
.dark .course-grid.content-cards272 .course-card .resource-updated138{color:#b6d3fc;background:#27374e;border-color:#3d5473}
@media(max-width:1100px){.course-grid.content-cards272{grid-template-columns:repeat(min(var(--cards-columns272,4),3),minmax(0,1fr))}.catalog-heading272{align-items:flex-start}}
@media(max-width:800px){.course-grid.content-cards272{grid-template-columns:repeat(min(var(--cards-columns272,4),2),minmax(0,1fr));gap:min(var(--cards-gap272,24px),18px)}.catalog-heading272{display:block}.catalog-search272{width:100%;margin-top:20px}.catalog-filter272{gap:8px}.catalog-filters272{padding:0 14px}.catalog-filter272>strong{flex-basis:56px}.course-grid.content-cards272[data-card-style272="horizontal"]{grid-template-columns:1fr}}
@media(max-width:680px){.course-grid.content-cards272 .course-card{border-radius:12px}.course-grid.content-cards272 .course-card .course-info{padding:14px 12px 0}.course-grid.content-cards272 .course-card h3{font-size:14px;margin:9px 0 10px}.course-grid.content-cards272 .course-card :is(.tool-stack,.course-tools138){min-height:24px;gap:4px}.course-grid.content-cards272 .course-card .tool-monogram{width:24px;height:24px;font-size:14px}.course-grid.content-cards272 .course-card :is(.cg-vip-seal,.crowd-seal,.free-seal140){font-size:10px;padding:4px 6px;gap:4px}.course-grid.content-cards272 .course-card .cg-vip-seal{min-height:21px}.course-grid.content-cards272 .course-card .cg-vip-seal .gem-icon{font-size:12px;width:14px;height:14px}.course-grid.content-cards272 .course-card .cg-sale-ribbon{top:0;right:0}.course-grid.content-cards272 .course-card .cg-sale-ribbon span{font-size:9px}.course-grid.content-cards272[data-card-style272="overlay"] .course-card .course-info{padding-top:56px}}
@media(max-width:620px){.course-grid.content-cards272 .course-card .course-info{padding:17px 17px 0}.course-grid.content-cards272 .course-card h3{font-size:16px}.course-grid.content-cards272[data-card-style272="overlay"] .course-card .course-info{padding-top:56px}}
@media(max-width:520px){.course-grid.content-cards272{grid-template-columns:1fr}.catalog-page272{padding-top:24px}.catalog-heading272 h1{font-size:24px}.catalog-filter272 a{padding:6px 9px}.course-grid.content-cards272[data-card-style272="overlay"] .course-card .cover{min-height:360px}}
/* P290: keep the personal library's established rows, while sharing card styling. */
.learning280 .course-grid.library-grid.content-cards272{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-items:stretch;gap:22px}
.learning280 .course-grid.library-grid.content-cards272 .course-card{height:100%;grid-row:auto}
.learning280 .course-grid.library-grid.content-cards272 .course-card .course-card-inner{display:flex;flex-direction:column;height:100%}
.learning280 .course-grid.library-grid.content-cards272 .course-card .cover{aspect-ratio:4/3;flex:none}
.learning280 .course-grid.library-grid.content-cards272 .course-card .cover img{height:100%;object-fit:cover}
.learning280 .course-grid.library-grid.content-cards272 .course-card .course-info{display:flex;flex-direction:column;flex:1}
.learning280 .course-grid.library-grid.content-cards272 .course-card .course-tools138{margin-top:auto}
@media(max-width:1100px){.learning280 .course-grid.library-grid.content-cards272{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.learning280 .course-grid.library-grid.content-cards272{grid-template-columns:minmax(0,1fr);gap:18px}}
@media(prefers-reduced-motion:reduce){.course-grid.content-cards272 .course-card,.course-grid.content-cards272 .course-card .resource-updated138 .icon{animation:none;transition:none}}
