.team-grid[data-astro-cid-hqkebao3]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.team-card[data-astro-cid-hqkebao3]{min-width:0;overflow:hidden;border:1px solid var(--vsp-card-border);border-radius:var(--vsp-radius-md);background:var(--vsp-card-bg);box-shadow:var(--vsp-card-shadow)}.team-card[data-astro-cid-hqkebao3].lead{border-top:3px solid var(--vsp-primary)}.portrait[data-astro-cid-hqkebao3]{aspect-ratio:1;background:#fff;padding:12px}.portrait[data-astro-cid-hqkebao3] img[data-astro-cid-hqkebao3]{display:block;width:100%;height:100%;object-fit:contain}.person-info[data-astro-cid-hqkebao3]{padding:18px 18px 22px;border-top:1px solid var(--vsp-line)}.role[data-astro-cid-hqkebao3]{display:inline-block;padding:3px 9px;border-radius:var(--vsp-radius-sm);background:#e6f2f5;color:var(--vsp-primary-deep);font-size:.72rem;font-weight:800}h3[data-astro-cid-hqkebao3]{margin:10px 0 3px;color:var(--vsp-text);font-size:1.2rem}.english[data-astro-cid-hqkebao3]{margin:0 0 12px;color:var(--vsp-text-muted);font-size:.86rem}.email[data-astro-cid-hqkebao3]{display:block;overflow-wrap:anywhere;font-size:.76rem;line-height:1.6;color:var(--vsp-primary-deep);text-decoration:none}.homepage[data-astro-cid-hqkebao3]{display:inline-block;margin-top:10px;color:var(--vsp-primary-deep);font-size:.8rem;font-weight:700;text-decoration:none}a[data-astro-cid-hqkebao3]:hover{text-decoration:underline;text-underline-offset:3px}a[data-astro-cid-hqkebao3]:focus-visible{outline:2px solid var(--vsp-primary);outline-offset:4px}@media(max-width:1050px){.team-grid[data-astro-cid-hqkebao3]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.team-grid[data-astro-cid-hqkebao3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person-info[data-astro-cid-hqkebao3]{padding:14px}.portrait[data-astro-cid-hqkebao3]{padding:8px}}@media(max-width:380px){.team-grid[data-astro-cid-hqkebao3]{grid-template-columns:1fr}}.course-detail-page .unit-grid.recitation-compact{grid-auto-rows:1fr}.course-detail-page .recitation-compact>.unit-card{align-items:start}.course-detail-page .recitation-compact .unit-body{align-content:start}.course-detail-page .recitation-compact .unit-body>:is(h3,h4){min-block-size:2.8em}.course-detail-page .recitation-compact .recitation-meta{display:grid;gap:6px;margin:0;font-size:.8rem;line-height:1.6}.course-detail-page .recitation-compact .recitation-meta>div{display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:8px}.course-detail-page .recitation-compact .recitation-meta dt{color:var(--vsp-text-soft);font-weight:700}.course-detail-page .recitation-compact .recitation-meta dd{margin:0;color:var(--vsp-text-muted)}.course-detail-page .recitation-compact .recitation-summary{min-block-size:8.4em;font-size:.84rem;line-height:1.6}.course-detail-page .recitation-compact .recitation-summary>p:last-child{color:var(--vsp-text-muted)}.course-detail-page .recitation-compact .recitation-summary .resource-group-title{margin-bottom:4px}.course-detail-page .recitation-compact .asset-columns{grid-template-rows:minmax(156px,auto) minmax(90px,auto) auto;border-bottom:0}.course-detail-page .recitation-compact .asset-column .resource-button{min-height:44px}@media(max-width:539px){.course-detail-page .unit-grid.recitation-compact{grid-auto-rows:auto}.course-detail-page .recitation-compact .unit-body>:is(h3,h4),.course-detail-page .recitation-compact .recitation-summary{min-block-size:0}.course-detail-page .recitation-compact .asset-columns{grid-template-rows:auto}}.course-detail-page .recitation-compact>.asset-grid-card .asset-column .extras-grid{grid-template-columns:minmax(0,1fr)}.course-detail-page .recitation-compact>.asset-grid-card .asset-columns{grid-template-columns:minmax(0,1fr)}.course-detail-page .recitation-compact>.asset-grid-card .asset-column{padding:12px 0;gap:8px}.course-detail-page .recitation-compact>.asset-grid-card .asset-column+.asset-column{padding:12px 0;border-left:0;border-top:1px solid var(--vsp-line)}.course-detail-page .unit-grid.recitation-compact>.unit-card{grid-column:auto}.course-detail-page .unit-grid.recitation-compact>.unit-card :is(h3,h4){font-size:1rem}.course-detail-page.has-bg-media:before{position:fixed;inset:0;z-index:0;background:url(/images/generated/cs100-code-bg.png) center top / 1600px repeat;content:"";opacity:.9;pointer-events:none}.course-detail-page.has-bg-media>*{position:relative;z-index:1}.course-detail-page .detail-hero{position:relative;overflow:hidden;padding:36px 0 40px;border-bottom:1px solid var(--vsp-line);background:#041b24}.course-detail-page .detail-hero>.container{position:relative;z-index:1}.course-detail-page .detail-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:64px;align-items:end}.course-detail-page .detail-copy{min-width:0}.course-detail-page .detail-aside{display:grid;gap:22px}.course-detail-page .detail-copy h1{max-width:820px;margin:0;color:#f4fbfb;font-size:3.25rem;line-height:1.12;letter-spacing:0}.course-detail-page .detail-copy>p:last-of-type{max-width:780px;margin:18px 0 0;color:#e6f6f8e0;font-size:1.02rem;line-height:1.75}.course-detail-page .detail-hero .eyebrow{color:#9fd8de}.course-detail-page .course-summary{display:flex;flex-wrap:wrap;gap:12px 34px;margin:24px 0 0}.course-detail-page .course-summary div{display:grid;gap:2px}.course-detail-page .course-summary dt{color:#9fd8debf;font-size:.74rem;font-weight:800}.course-detail-page .course-summary dd{margin:0;color:#f4fbfb;font-weight:800}.course-detail-page .instructor-link{color:#9fd8de;text-decoration:none}.course-detail-page .instructor-link:hover{text-decoration:underline;text-underline-offset:4px}.course-detail-page .term-control{display:grid;gap:9px;min-width:0;align-content:start;padding:18px 20px;border:1px solid var(--vsp-card-border);border-radius:var(--vsp-radius-lg);background:var(--vsp-card-bg);box-shadow:var(--vsp-card-shadow)}.course-detail-page .term-control label{color:var(--vsp-text-soft);font-size:.78rem;font-weight:800}.course-detail-page .term-select-wrap{position:relative}.course-detail-page .term-control select{width:100%;min-height:44px;padding:9px 38px 9px 12px;border:1px solid var(--vsp-line-strong);border-radius:var(--vsp-radius-sm);color:var(--vsp-text);background:#fff;font-weight:800}.course-detail-page .term-control p{margin:0;color:var(--vsp-text-muted);font-size:.84rem;line-height:1.55}.course-detail-page .resource-section{padding:42px 0 78px;background:var(--vsp-bg)}.course-detail-page .term-panel[hidden]{display:none}.course-detail-page .course-sections{display:grid;gap:66px}.course-detail-page .course-section-block{display:grid;gap:24px;min-width:0}.course-detail-page .course-section-header{padding-bottom:18px;border-bottom:1px solid var(--vsp-line)}.course-detail-page .course-section-header .eyebrow{margin-bottom:7px}.course-detail-page .compact-title{margin:0;color:var(--vsp-text);font-size:2.25rem;line-height:1.18;letter-spacing:0}.course-detail-page .course-section-header .section-copy{max-width:760px;margin:10px 0 0;color:var(--vsp-text-muted)}.course-detail-page .section-groups{display:grid;gap:44px}.course-detail-page .course-subsection-block{display:grid;gap:18px;min-width:0}.course-detail-page .subsection-header{display:grid;gap:6px;padding-left:15px;border-left:3px solid var(--vsp-primary)}.course-detail-page .course-subsection-block.notice .subsection-header{border-left-color:var(--vsp-line-strong)}.course-detail-page .subsection-header h3,.course-detail-page .subsection-header p{margin:0}.course-detail-page .subsection-header h3{color:var(--vsp-text);font-size:1.45rem;line-height:1.25}.course-detail-page .subsection-header p{max-width:760px;color:var(--vsp-text-muted)}.course-detail-page .unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;min-width:0}.course-detail-page .unit-card{position:relative;display:grid;min-width:0;align-content:start;gap:12px;padding:16px 18px;overflow:hidden;border:1px solid var(--vsp-card-border);border-radius:var(--vsp-radius-md);background:var(--vsp-card-bg);box-shadow:inset 0 0 0 400px #07546d00,var(--vsp-card-shadow);transition:border-color .17s ease,box-shadow .3s ease,transform .17s ease}.course-detail-page .unit-card:has(.card-link-overlay):hover{border-color:var(--vsp-card-border-hover);box-shadow:var(--vsp-card-shadow-hover);transform:translateY(-2px)}.course-detail-page .unit-card .card-hover-tint{position:absolute;z-index:0;border-radius:inherit;background:linear-gradient(140deg,#126e8aed,#085670e6 52%,#074664f0);content:"";inset:0;opacity:0;pointer-events:none;transition:opacity .3s ease}.course-detail-page .unit-card:has(.card-link-overlay)>*:not(.card-hover-tint):not(.card-link-overlay){position:relative;z-index:1}.course-detail-page .unit-card:has(.card-link-overlay):hover .card-hover-tint{opacity:1}.course-detail-page .unit-card :is(h3,h4,p,.unit-id,.resource-button,.resource-group-title){transition:color .3s ease,background-color .3s ease,border-color .3s ease}.course-detail-page .unit-card:has(.card-link-overlay):hover :is(h3,h4){color:#fff}.course-detail-page .unit-card:has(.card-link-overlay):hover p{color:#e2f2f7e0}.course-detail-page .unit-card:has(.card-link-overlay):hover .unit-id{border-color:#ffffff59;color:#d9f2f7;background:#ffffff1f}.course-detail-page .unit-card:has(.card-link-overlay):hover .resource-group-title{color:#c8e6eed9}.course-detail-page .unit-card:has(.card-link-overlay):hover .resource-button{border-color:#fff6;color:#eaf7fb;background:#ffffff1a}.course-detail-page .unit-card:has(.card-link-overlay):hover a.resource-button:hover{border-color:#ffffffb3;color:#fff;background:#fff3}.course-detail-page .unit-card:has(.card-link-overlay):hover .resource-button.primary{border-color:#fff;color:var(--vsp-primary-deep);background:#fff}.course-detail-page .unit-card .card-link-overlay{position:absolute;z-index:5;border-radius:inherit;inset:0}.course-detail-page .unit-card:has(.card-link-overlay){cursor:pointer}.course-detail-page .unit-card.wide,.course-detail-page .unit-card.coming-soon{grid-column:1 / -1}.course-detail-page .unit-card.wide{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);align-items:center}.course-detail-page .unit-card.asset-grid-card{grid-template-columns:1fr}.course-detail-page .unit-card.notice{border-color:#b423183d;background:linear-gradient(160deg,#fdf5f1,#fbe9e4)}.course-detail-page .unit-card.notice :is(h3,h4){color:#8c2a20}.course-detail-page .unit-card.exam{border-color:#b07c182e;background:#fffcf4}.course-detail-page .unit-card.coming-soon{min-height:150px;place-items:center;text-align:center}.course-detail-page .unit-body{display:grid;min-width:0;gap:8px}.course-detail-page .unit-id{display:inline-flex;width:fit-content;min-height:22px;align-items:center;margin:0;padding:2px 7px;border:1px solid rgba(0,127,149,.2);border-radius:var(--vsp-radius-sm);color:var(--vsp-primary-deep);background:linear-gradient(135deg,#007f9517,#8b7cf614);font-family:var(--vsp-font-mono);font-size:.66rem;font-weight:800;line-height:1;overflow-wrap:anywhere}.course-detail-page .unit-card h3,.course-detail-page .unit-card h4,.course-detail-page .unit-card p{margin:0}.course-detail-page .unit-card h3,.course-detail-page .unit-card h4{color:var(--vsp-text);font-size:1rem;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}.course-detail-page .unit-card.wide h3,.course-detail-page .unit-card.wide h4,.course-detail-page .unit-card.coming-soon h3,.course-detail-page .unit-card.coming-soon h4,.course-detail-page .term-empty-state h2{font-size:1.35rem}.course-detail-page .unit-body>p:last-child{color:var(--vsp-text-muted);font-size:.84rem;line-height:1.6}.course-detail-page .unit-resources{display:grid;min-width:0;gap:16px}.course-detail-page .resource-group-title{margin:0 0 8px;color:var(--vsp-text-soft);font-size:.72rem;font-weight:800}.course-detail-page .slides-actions,.course-detail-page .video-actions,.course-detail-page .extras-grid{display:grid;gap:9px}.course-detail-page .slides-actions,.course-detail-page .extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-page .video-actions,.course-detail-page .extras-grid.single{grid-template-columns:1fr}.course-detail-page .resource-button.span-full{grid-column:1 / -1}.course-detail-page .resource-button{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:1px solid var(--vsp-line-strong);border-radius:var(--vsp-radius-sm);color:var(--vsp-text);background:#f2f8fa;font-size:.84rem;font-weight:800;line-height:1.25;text-align:center;text-decoration:none;overflow-wrap:anywhere;transition:border-color .16s ease,color .16s ease,background .16s ease}.course-detail-page a.resource-button{cursor:pointer}.course-detail-page a.resource-button:hover{border-color:var(--vsp-primary-deep);color:var(--vsp-primary-deep);background:#e3f2f5}.course-detail-page .resource-button.primary{border-color:var(--vsp-primary-deep);color:var(--vsp-on-primary);background:var(--vsp-primary-deep)}.course-detail-page a.resource-button.primary:hover{border-color:var(--vsp-primary-hover);color:var(--vsp-on-primary);background:var(--vsp-primary-hover)}.course-detail-page .resource-button.muted{border-color:var(--vsp-line);color:var(--vsp-text-soft);background:var(--vsp-bg-elevated);cursor:not-allowed;opacity:.68}.course-detail-page .asset-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--vsp-line);border-bottom:1px solid var(--vsp-line)}.course-detail-page .asset-column{display:grid;min-width:0;align-content:start;gap:16px;padding:20px 20px 20px 0}.course-detail-page .asset-column+.asset-column{padding-right:0;padding-left:20px;border-left:1px solid var(--vsp-line)}.course-detail-page .asset-column-copy{display:grid;gap:6px}.course-detail-page .asset-column-copy p{margin:0;color:var(--vsp-text-muted);font-size:.88rem}.course-detail-page .term-empty-state{display:grid;min-height:240px;place-items:center;padding:34px;border:1px solid var(--vsp-card-border);border-radius:var(--vsp-radius-lg);background:var(--vsp-card-bg);box-shadow:var(--vsp-card-shadow);text-align:center}.course-detail-page .term-empty-state>div{display:grid;max-width:620px;gap:10px}.course-detail-page .term-empty-state h2,.course-detail-page .term-empty-state p{margin:0}.course-detail-page .term-empty-state p:last-child{color:var(--vsp-text-muted)}.course-detail-page .breadcrumb{display:flex;min-height:44px;align-items:center;gap:10px;margin-bottom:24px;color:#e6f6f899;font-size:.84rem}.course-detail-page .breadcrumb a{display:inline-flex;min-height:44px;align-items:center;gap:7px;color:#9fd8de;font-weight:800;text-decoration:none}.course-detail-page .breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.course-detail-page .single-term{display:grid;gap:9px;min-width:0;align-content:start;padding:18px 20px;border:1px solid var(--vsp-card-border);border-radius:var(--vsp-radius-lg);background:var(--vsp-card-bg);box-shadow:var(--vsp-card-shadow)}.course-detail-page .single-term>span{color:var(--vsp-text-soft);font-size:.78rem;font-weight:800}.course-detail-page .single-term p{margin:0;color:var(--vsp-text-muted);font-size:.84rem;line-height:1.55}.course-detail-page .single-term strong{color:var(--vsp-text);font-size:1.2rem}@media(min-width:721px){@supports (grid-template-rows: subgrid){.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide){grid-row:span 6;grid-template-rows:subgrid;row-gap:22px}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide)>.unit-body{grid-row:span 3;grid-template-rows:subgrid;row-gap:8px}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide)>.unit-resources{grid-row:span 3;grid-template-rows:subgrid;row-gap:16px}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .unit-id{grid-row:1}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .unit-body>:is(h3,h4){grid-row:2;min-block-size:2lh}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .unit-body>p:last-child{grid-row:3;min-block-size:2lh}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .slides-panel{grid-row:1}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .videos-panel{grid-row:2}.course-detail-page .course-subsection-block.project .unit-grid>.unit-card:not(.wide) .extras-panel{grid-row:3}}}@media(max-width:900px){.course-detail-page .detail-hero-layout{grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:34px}.course-detail-page .unit-card.wide{grid-template-columns:1fr}}@media(max-width:720px){.course-detail-page .detail-hero{padding:22px 0 30px}.course-detail-page .detail-hero-layout{grid-template-columns:1fr;gap:26px}.course-detail-page .detail-copy h1{font-size:2.35rem}.course-detail-page .detail-copy>p:last-of-type{margin-top:13px;font-size:.96rem}.course-detail-page .course-summary{margin-top:18px}.course-detail-page .term-control{padding:16px}.course-detail-page .resource-section{padding:34px 0 60px}.course-detail-page .course-sections{gap:50px}.course-detail-page .compact-title{font-size:1.8rem}.course-detail-page .unit-grid,.course-detail-page .asset-columns{grid-template-columns:1fr}.course-detail-page .asset-column,.course-detail-page .asset-column+.asset-column{padding:18px 0;border-left:0}.course-detail-page .asset-column+.asset-column{border-top:1px solid var(--vsp-line)}}@media(max-width:380px){.course-detail-page .slides-actions,.course-detail-page .extras-grid{grid-template-columns:1fr}.course-detail-page .resource-button.span-full{grid-column:1}}
