/* Course artwork is drawn locally: no video embeds or third-party image requests. */
.resources-page{max-width:1200px;padding-top:48px}
.resources-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);align-items:center;gap:60px;padding-bottom:40px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.resources-intro h1{font-size:17px;font-weight:550;color:#a9b4ad;margin-bottom:15px;letter-spacing:.08em}
.resources-lead{font-size:clamp(30px,3.5vw,44px);font-weight:700;letter-spacing:-.045em;line-height:1.3;margin-bottom:20px}
.resources-lead>span{color:#e6cd85}.resources-description{color:#a3afaa;font-size:14px;line-height:1.9;margin:0}
.resources-rhythm{padding:4px 0;margin:0;list-style:none;display:grid;gap:0}
.resources-rhythm li{display:flex;align-items:center;gap:17px;padding:14px 0;border-bottom:1px solid #303735}.resources-rhythm li:last-child{border-bottom:0}
.rhythm-number{font:12px/1 monospace;color:#a9bbab;border:1px solid #445249;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex:none}
.resources-rhythm strong{display:block;font-size:13px;font-weight:550;color:#dce5dc}.resources-rhythm div>span{font-size:11px;color:#8e9d94}.resources-rhythm .icon,.rhythm-code{margin-left:auto;color:#819c87;width:17px;font-size:14px}
.resources-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:21px}.resources-section-kicker{display:block;font-size:11px;color:#9db29e;margin-bottom:6px}.resources-section-heading h2{font-size:23px}.resources-format{font-size:11px;color:#9ba8a0;white-space:nowrap;padding-bottom:3px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.resource-card{border:1px solid #39423e;border-radius:15px;overflow:hidden;background:#1b211f;display:flex;flex-direction:column;min-width:0}.resource-card-papaya{border-color:#45413a;background:#22211d}
.resource-art{position:relative;min-height:240px;padding:25px 27px 20px;background:radial-gradient(ellipse at 0 0,#477d5940,transparent 65%),linear-gradient(125deg,#283b31,#1d2b26);border-bottom:1px solid #3b5143;overflow:hidden}.resource-card-papaya .resource-art{background:radial-gradient(ellipse at 100% 0,#b6964530,transparent 65%),linear-gradient(125deg,#3d3828,#29271e);border-bottom-color:#514a35}
.resource-art-label{font:9px/1.5 monospace;letter-spacing:1.5px;color:#bdd0b9;display:block;margin-bottom:19px}.resource-card-papaya .resource-art-label{color:#d4cba9}
.resource-code-window{max-width:355px;background:#18221ee8;border:1px solid #68847170;box-shadow:0 10px 20px #0002;border-radius:8px;margin:auto;transform:rotate(-1deg)}.resource-card-papaya .resource-code-window{transform:rotate(1deg);background:#24231ce8;border-color:#9a8d5c60}
.resource-window-bar{display:flex;align-items:center;gap:13px;padding:10px 12px;border-bottom:1px solid #53634d50;color:#a1b39f;font:10px/1 monospace}.resource-card-papaya .resource-window-bar{border-bottom-color:#73684950;color:#bfb899}.resource-window-dots{display:flex;gap:4px}.resource-window-dots i{width:5px;height:5px;border-radius:50%;background:#788e72}.resource-card-papaya .resource-window-dots i{background:#a49667}
.resource-code-lines{padding:16px 14px 13px;font:11px/1.9 "SFMono-Regular",Consolas,monospace}.resource-code-lines>div{display:flex;gap:14px;white-space:pre}.resource-line-number{color:#63776b;font-size:10px;flex:none}.resource-code-lines code{color:#d4dfd2;font:inherit}.resource-code-variable{color:#aed8e9}.resource-code-string{color:#d8b78a}.resource-code-function{color:#e5d992}.resource-code-keyword{color:#c5abe1}.resource-code-number{color:#b7d7a6}.resource-code-lines .resource-code-result{margin-top:12px;padding-top:9px;border-top:1px solid #64755c30;color:#7ba685;font-size:10px}.resource-code-result code{color:#a1b99f}
.resource-art-stamp{display:flex;align-items:baseline;justify-content:space-between;margin-top:18px;color:#a6bba7;font-size:10px;letter-spacing:1px}.resource-card-papaya .resource-art-stamp{color:#c1b894}.resource-art-stamp>span{font:17px monospace;opacity:.6}
.resource-card-body{padding:24px 26px 22px;flex:1;display:flex;flex-direction:column}.resource-card-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:#a9b6ac;margin-bottom:12px}.resource-language{padding:2px 8px;border:1px solid #435a4c;background:#26382d;border-radius:5px;color:#b5d4b7;font-size:10px;line-height:1.8}.resource-card-papaya .resource-language{background:#393323;border-color:#5d5133;color:#dcca95}
.resource-card h3{font-size:20px;line-height:1.55;letter-spacing:-.025em;margin-bottom:12px;max-width:360px}.resource-card-body>p{font-size:13px;color:#a5b1a8;line-height:1.9;margin-bottom:25px}.resource-card-papaya .resource-card-body>p{color:#b7b1a0}
.resource-course-link{margin-top:auto;min-height:49px;border-top:1px solid #39493d;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#dce9d7;font-size:13px;font-weight:600}.resource-card-papaya .resource-course-link{border-top-color:#49432f;color:#e5d9b1}.resource-new-tab{margin-left:11px;color:#88998d;font-size:10px;font-weight:400}.resource-card-papaya .resource-new-tab{color:#a19982}.resource-course-link>.icon{width:18px;height:18px;transition:transform .15s}.resource-course-link:hover>.icon{transform:translate(2px,-2px)}.resource-course-link:hover>span{text-decoration:underline;text-underline-offset:4px}
.resources-attribution{font-size:11px;color:#87988c;line-height:1.8;margin:17px 0 0}
.resources-practice{display:flex;align-items:center;gap:19px;border:1px solid #3a4438;border-radius:12px;padding:25px 28px;margin-top:37px;background:#21281f}.resources-practice-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #4e6146;border-radius:10px;background:#2e3a28;color:#c4d6ac;flex:none}.resources-practice-icon .icon{width:20px;height:20px}.resources-practice h2{font-size:17px;margin-bottom:5px}.resources-practice p{font-size:12px;color:#a2b099;margin:0}.resources-practice>.button{margin-left:auto;white-space:nowrap;flex:none}
.resources-growing{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:#89968c;text-align:center;line-height:1.8;margin:25px 0 0}.resources-growing>span{font-size:18px;color:#b7c1aa}
@media(max-width:900px){.resources-intro{gap:35px}.resource-grid{gap:18px}.resource-art{padding:22px 20px 16px}.resource-card-body{padding:23px 22px 21px}.resource-card h3{font-size:18px}.resource-code-lines{font-size:10px;padding:14px 11px}.resource-code-lines>div{gap:10px}.resources-practice{padding:23px}.resources-practice-icon{display:none}}
@media(max-width:680px){.resources-page{padding-top:29px}.resources-intro{grid-template-columns:1fr;gap:23px;padding-bottom:25px;margin-bottom:25px}.resources-intro h1{font-size:15px;margin-bottom:12px}.resources-lead{font-size:33px;margin-bottom:15px}.resources-description{font-size:13px}.resources-rhythm{border:1px solid #39433c;border-radius:10px;padding:5px 16px;background:#1b221e}.resources-rhythm li{padding:10px 0}.resources-rhythm strong{font-size:12px}.resources-rhythm div>span{font-size:10px}.rhythm-number{width:27px;height:27px;font-size:10px}.resources-section-heading h2{font-size:20px}.resources-format{font-size:10px}.resource-grid{grid-template-columns:1fr;gap:22px}.resource-art{min-height:226px;padding:23px 24px 17px}.resource-code-lines{font-size:11px;padding:14px}.resource-card-body{padding:22px 24px}.resource-card h3{font-size:20px;max-width:none}.resources-practice{flex-wrap:wrap;gap:18px;margin-top:28px;padding:22px}.resources-practice h2{font-size:17px}.resources-practice>.button{width:100%;margin-left:0}.resources-attribution{font-size:10px}.resources-growing{font-size:10px}}
@media(max-width:380px){.resources-lead{font-size:29px}.resource-art{padding:20px 17px 16px}.resource-code-lines{font-size:10px;padding:13px 10px}.resource-card-body{padding:20px}.resource-new-tab{margin-left:8px}.resources-section-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.resource-course-link>.icon{transition:none}.resource-course-link:hover>.icon{transform:none}}
