.resource-main{padding-block:36px 90px}.resource-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.85rem;margin-bottom:40px}.resource-main a:not(.btn){text-decoration:underline;text-underline-offset:3px}.resource-footer a:focus-visible,.resource-main a:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.resource-intro{max-width:850px;margin-bottom:40px}.resource-intro h1{font-size:clamp(2.1rem,4.5vw,3.6rem);line-height:1.13;margin-block:16px 22px}.resource-intro .lead{max-width:760px}.resource-byline{margin-top:18px;font-size:.85rem}.resource-next,.resource-start,.resource-toc{padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--tint);margin-block:28px}.resource-category>p,.resource-start p{max-width:80ch;margin-block:16px}.resource-start nav{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px}.resource-category{margin-top:55px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px;margin-top:24px}.resource-card{min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:28px;background:#fff;box-shadow:var(--sh-sm)}.resource-card h3{margin-block:14px;font-size:1.4rem;line-height:1.3}.resource-card p{margin-bottom:20px}.resource-article{max-width:850px;margin-inline:auto}.resource-article>section{margin-top:42px}.resource-article h2,.resource-category h2,.resource-start h2{font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.25}.resource-article p{margin-block:18px}.resource-article ol,.resource-article ul{padding-left:24px}.resource-article li{margin-block:10px}.resource-article code{overflow-wrap:anywhere;font-size:.9em}.resource-article pre{max-width:100%;overflow-x:auto;padding:22px;border-radius:16px;background:var(--navy);color:#f5f7ff;line-height:1.6}.resource-article pre code{overflow-wrap:normal}.resource-article table{width:100%;border-collapse:collapse;margin-block:24px;table-layout:fixed;font-size:.95rem}.resource-article td,.resource-article th{border:1px solid var(--line);padding:12px;vertical-align:top;overflow-wrap:anywhere}.resource-article th{background:var(--tint);text-align:left;color:var(--navy)}.resource-article caption{text-align:left;margin-bottom:10px}.resource-article details{padding:20px;border:1px solid var(--line);border-radius:14px}.resource-article summary{cursor:pointer;font-weight:700;color:var(--purple)}.resource-article summary:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.resource-footer{padding-block:35px;border-top:1px solid var(--line)}.resource-footer>div{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}.resource-footer nav{display:flex;flex-wrap:wrap;gap:20px}@media (max-width:640px){.resource-grid{grid-template-columns:minmax(0,1fr)}.resource-card,.resource-next,.resource-start,.resource-toc{padding:20px}.resource-article td,.resource-article th{padding:8px;font-size:.82rem}}.resource-library{padding-bottom:80px}.resource-library .resource-breadcrumbs{margin-bottom:26px;color:var(--muted)}.resource-library .resource-card h3 a,.resource-library .resource-read-link,.resource-library a.btn{text-decoration:none}.resource-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;grid-gap:28px;gap:28px;padding:42px 38px;border:1px solid #e3e5ee;border-radius:30px;background:radial-gradient(ellipse at 100% 0,#e9e2fa,transparent 65%),linear-gradient(135deg,#f3fbf7,#f7f8fe);animation:resource-enter .6s ease both}.resource-hero>*{min-width:0}.resource-hero .resource-intro{margin:0}.resource-hero h1{font-size:clamp(2.4rem,4.2vw,3.7rem);letter-spacing:-.04em}.resource-hero .lead{font-size:1rem;line-height:1.8}.resource-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.resource-hero-actions .btn{padding:13px 18px;font-size:.86rem}.resource-button-art{display:block;flex-shrink:0}.resource-code-button{color:var(--purple);background:#fff;border-color:#dcd3ee}.resource-code-button:hover{background:var(--purple-soft)}.resource-free-note{display:flex;align-items:center;gap:7px;margin-top:20px;color:#4a655d;font-size:.76rem}.resource-hero-art{position:relative;min-height:330px}.resource-desk{position:absolute;inset:0 0 20px;animation:resource-float 7s ease-in-out infinite}.resource-floating{display:inline-flex;align-items:center;gap:10px;position:absolute;border:1px solid #e1dbef;border-radius:14px;padding:12px 16px;background:#fff;color:var(--navy);box-shadow:0 12px 30px -18px #5b3f9e66;font-size:.78rem;font-weight:700;animation:resource-float 6s ease-in-out infinite}.resource-floating svg{color:var(--purple);flex-shrink:0}.resource-floating-maths{top:6px;left:8px;transform:rotate(-4deg)}.resource-floating-code{right:0;bottom:48px;animation-delay:-3s}.resource-floating-code svg{color:var(--mint-2)}.resource-art-caption{position:absolute;bottom:0;inset-inline:0;text-align:center;font-family:var(--font-serif),Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--purple)}.resource-path{margin-block:64px 24px}.resource-path-heading{text-align:center;margin-bottom:28px}.resource-path-heading h2{font-size:clamp(1.7rem,3vw,2.3rem);letter-spacing:-.03em;margin-block:10px}.resource-path-heading p{font-size:.9rem}.resource-path ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;gap:18px;list-style:none}.resource-path li{display:flex;gap:14px;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:#fff}.resource-card-icon,.resource-step-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;color:var(--purple);background:var(--purple-soft);border-radius:12px}.resource-path li:nth-child(2) .resource-step-icon{color:#227559;background:var(--mint-soft)}.resource-path li:nth-child(3) .resource-step-icon{color:#80601c;background:var(--sun-soft)}.resource-step-number{color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.resource-path h3{margin-block:8px;font-size:.95rem}.resource-path li p{font-size:.8rem;line-height:1.7}.resource-library .resource-category{scroll-margin-top:calc(var(--header-height) + 20px);margin-top:52px}.resource-category-header{display:grid;grid-template-columns:1fr 180px;grid-gap:30px;gap:30px;align-items:center;padding:26px 30px;border-radius:22px;background:linear-gradient(120deg,#eeebfa,#f6f8ff)}.resource-category-header h2{margin-block:12px;font-size:clamp(1.8rem,3vw,2.3rem)}.resource-category-header p{max-width:76ch;font-size:.9rem;line-height:1.8}.resource-category-art{position:relative;height:170px;border-radius:18px;overflow:hidden;transform:rotate(3deg)}.resource-category-photo{border:3px solid #fff;box-shadow:var(--sh-sm)}.resource-category-photo>img{object-fit:cover}.resource-subject-mark{display:grid;place-items:center;position:absolute;right:9px;bottom:9px;width:44px;height:44px;border-radius:12px;background:#fff;color:var(--purple);box-shadow:var(--sh-sm)}.resource-category-python .resource-category-header{background:linear-gradient(120deg,#e6f6ef,#f4faf6)}.resource-library .resource-card{display:flex;flex-direction:column;position:relative;overflow:hidden;padding:28px;transition:transform .25s,box-shadow .25s,border-color .25s}.resource-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.resource-kind{color:var(--purple);background:#f4f0fc;padding:7px 10px;font-size:.66rem;font-weight:700;border-radius:7px}.resource-library .resource-card h3{margin-block:22px 14px;font-size:1.3rem;line-height:1.45}.resource-library .resource-card h3 a{color:var(--ink)}.resource-library .resource-card h3 a:hover{color:var(--purple);text-decoration:underline}.resource-library .resource-card p{font-size:.9rem;line-height:1.85}.resource-read-link{justify-content:space-between;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:.83rem;min-height:44px}.resource-read-link svg{transition:transform .2s}.resource-read-link:hover svg{transform:translateX(4px)}.resource-category-python .resource-card-icon{color:#227559;background:var(--mint-soft)}.resource-category-python .resource-python-game,.resource-category-python .resource-python-guide{position:relative;flex-basis:52px;height:52px;border-radius:15px;border:1px solid #e2d6f6;background:linear-gradient(135deg,#f6f0ff,#e9ddfa);box-shadow:inset 0 1px 0 #fff,0 5px 12px -8px #7650be66}.resource-category-python .resource-python-game{color:#7650be;border-color:#e2d6f6;background:linear-gradient(135deg,#f6f0ff,#e9ddfa);box-shadow:inset 0 1px 0 #fff,0 5px 12px -8px #7650be66}.resource-python-game>svg{transform:rotate(-8deg)}.resource-category-python .resource-kind{color:#227559;background:#edf8f3}.resource-support{display:flex;align-items:center;gap:26px;margin-top:64px;padding:36px;border-radius:24px;background:linear-gradient(120deg,#f0ebfa,#edf8f4);border:1px solid #e1dced}.resource-support-icon{display:grid;place-items:center;flex:0 0 72px;height:72px;border-radius:22px;color:var(--purple);background:#fff;transform:rotate(-6deg)}.resource-support>div{flex:1 1;min-width:0}.resource-support h2{margin-block:10px;font-size:1.5rem;line-height:1.4}.resource-support p{font-size:.86rem;line-height:1.8}.resource-support .btn{flex-shrink:0}@keyframes resource-float{0%,to{translate:0 0}50%{translate:0 -7px}}@keyframes resource-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.resource-library .resource-card:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:#cabde3}}@media (max-width:1024px){.resource-hero{padding:30px 24px;gap:14px}.resource-hero h1{font-size:2.7rem}.resource-hero-art{min-height:290px}.resource-floating{padding:10px;font-size:.7rem}.resource-path ol{grid-template-columns:1fr;gap:12px}.resource-path li{padding:18px 22px}.resource-support{flex-wrap:wrap}.resource-support>div{flex-basis:calc(100% - 110px)}}@media (max-width:640px){.resource-library{padding-top:24px;padding-bottom:48px}.resource-library .resource-breadcrumbs{font-size:.75rem;margin-bottom:20px}.resource-hero{grid-template-columns:1fr;padding:28px 20px 20px;border-radius:22px}.resource-hero h1{font-size:clamp(2rem,8vw,2.8rem)}.resource-hero .eyebrow{font-size:.62rem;letter-spacing:.06em}.resource-hero .lead{font-size:.9rem}.resource-hero-actions{gap:10px}.resource-hero-actions .btn{flex:1 1 170px;min-height:46px}.resource-free-note{font-size:.7rem}.resource-hero-art{min-height:260px;margin-top:20px}.resource-floating{gap:6px;font-size:.64rem}.resource-floating-maths{left:-4px}.resource-floating-code{right:-4px;bottom:42px}.resource-art-caption{font-size:1.1rem}.resource-path{margin-top:40px}.resource-path-heading p{font-size:.8rem}.resource-path li{padding:18px}.resource-category-header{grid-template-columns:1fr 84px;gap:10px;padding:22px 18px}.resource-category-header>div:first-child{min-width:0}.resource-category-header p{grid-column:1/-1;font-size:.82rem}.resource-category-header>div:first-child{display:contents}.resource-category-header .eyebrow{grid-column:1;font-size:.6rem}.resource-category-header h2{grid-column:1;margin:0;font-size:1.65rem}.resource-category-art{grid-column:2;grid-row:1/3;height:90px}.resource-subject-mark{right:4px;bottom:4px;width:30px;height:30px;border-radius:8px}.resource-subject-mark>img,.resource-subject-mark>svg{width:20px;height:20px}.resource-library .resource-grid{gap:16px;margin-top:16px}.resource-library .resource-card{padding:22px}.resource-library .resource-card h3{font-size:1.15rem}.resource-library .resource-card p{font-size:.85rem}.resource-support{margin-top:40px;padding:24px;gap:18px}.resource-support>div{flex-basis:100%}.resource-support-icon{flex-basis:56px;height:56px;border-radius:16px}.resource-support h2{font-size:1.4rem}.resource-support .btn{width:100%;min-height:46px}.resource-footer nav{gap:16px;font-size:.82rem}.resource-footer a{min-height:44px;display:inline-flex;align-items:center}}@media (prefers-reduced-motion:reduce){.resource-desk,.resource-floating,.resource-hero{animation:none}.resource-library .resource-card,.resource-read-link svg{transition:none}}