.cc-main .cc-intro{margin:10px 0 34px}
.cc-main .cc-deck{font-size:22px;line-height:1.5;max-width:720px}
.cc-main .cc-checked{font:var(--fs-label)/1.6 'IBM Plex Mono',monospace!important;color:#626c75;max-width:720px}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0 0 50px}
.cc-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:24px;border:1px solid #d9dbd5;border-radius:4px;background:#fff;color:#20343e;cursor:pointer;font:inherit;min-height:190px}
.cc-card:nth-child(1){background:#e8ece5}.cc-card:nth-child(2){background:#eee6d7}.cc-card:nth-child(3){background:#e2ebed}.cc-card:nth-child(4){background:#eee0d8}.cc-card:nth-child(5){background:#e9e3ee}
.cc-card:hover,.cc-card:focus-visible{border-color:#24466e;outline:none;box-shadow:0 0 0 2px #24466e33}
.cc-card strong{font:700 var(--fs-title)/1.15 'Newsreader',Georgia,serif;letter-spacing:-.02em}
.cc-card-tagline{font:var(--fs-compact)/1.4 'Newsreader',Georgia,serif}
.cc-card-open{margin-top:auto;font:var(--fs-label) 'IBM Plex Mono',monospace;text-decoration:underline}
.cc-drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(620px,100vw);max-width:100vw;padding:0;border:0;border-left:1px solid #d9dbd5;background:#f7f6f1;color:#20343e}
.cc-drawer::backdrop{background:#16222e66}
.cc-drawer[open]{animation:cc-in .18s ease-out}
@keyframes cc-in{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
.cc-drawer-inner{height:100%;overflow-y:auto;padding:28px 30px 60px;box-sizing:border-box}
.cc-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.cc-drawer-head h2{margin:6px 0 6px!important;font-size:40px!important}
.cc-drawer-tagline{font-size:19px!important;margin:0 0 18px}
.cc-close{font:13px 'IBM Plex Mono',monospace;border:1px solid #20343e;background:transparent;color:#20343e;padding:8px 12px;border-radius:3px;cursor:pointer}
.cc-search{display:flex;flex-direction:column;gap:6px;font:12px 'IBM Plex Mono',monospace;margin:0 0 10px}
.cc-search input{font:17px 'Newsreader',Georgia,serif;padding:10px 12px;border:1px solid #c9ccc5;border-radius:3px;background:#fff;color:#20343e}
.cc-group h3{font-size:24px!important;margin:30px 0 8px;color:#24466e}
.cc-group ul{list-style:none;margin:0;padding:0}
.cc-code{border-top:1px solid #d9dbd5;padding:16px 0}
.cc-code-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cc-code code{font:500 15px/1.45 'IBM Plex Mono',monospace;background:#16222e;color:#f7f6f1;padding:4px 8px;border-radius:3px;overflow-wrap:anywhere}
.cc-copy{flex:none;font:12px 'IBM Plex Mono',monospace;border:1px solid #c9ccc5;background:#fff;color:#20343e;padding:5px 9px;border-radius:3px;cursor:pointer}
.cc-copy:hover{border-color:#20343e}
.cc-main .cc-does,.cc-main .cc-hack{font-size:18px!important;line-height:1.45!important;margin:8px 0 0}
.cc-hack span{font:12px 'IBM Plex Mono',monospace;color:#bf3b2b;margin-right:6px;letter-spacing:.04em;text-transform:uppercase}
.cc-source{display:inline-block;margin-top:6px;font:12px 'IBM Plex Mono',monospace}
.cc-warning{margin-top:28px;padding:14px 16px;border-left:3px solid #bf3b2b;background:#fff;font-size:17px!important}
.cc-empty{font-size:18px}
.course-page .cc-main footer{margin-top:40px}
@media(max-width:650px){.cc-drawer{width:100vw;border-left:0}.cc-drawer-inner{padding:20px 16px 50px}.cc-drawer-head h2{font-size:32px!important}.cc-main .cc-deck{font-size:19px}.cc-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.cc-drawer[open]{animation:none}}
.cc-inline{font:14px 'IBM Plex Mono',monospace;background:#e8e6dd;padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}
.cc-main .cc-versions{font:13px/1.5 'IBM Plex Mono',monospace!important;color:#5d676a;margin-top:18px}
