@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700 800;font-display:swap}
:root{color-scheme:dark;--bg:#111217;--panel:#1b1c23;--line:#303139;--muted:#a6a7b3;--ink:#f4f4f7;--accent:#c4f879}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.container{width:min(1240px,calc(100% - 96px));margin-inline:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:13px;align-items:center;font-size:24px;font-weight:800;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--accent);color:#171b13;border-radius:11px;font-size:20px;letter-spacing:-2px}.brand-linp{font-weight:400;color:var(--muted);font-size:21px;letter-spacing:-.5px}.header-link{font-size:14px;color:#d1d1d9;display:flex;align-items:center;gap:30px}.header-link span{font-size:24px;color:var(--accent)}.header-link:hover{color:var(--accent)}.intro{display:flex;align-items:center;justify-content:space-between;padding:58px 0 52px;gap:40px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:1.9px;margin:0 0 24px;color:#c5c5ce}.small-cross{font-size:23px;line-height:1;color:var(--accent)}h1{font-size:clamp(44px,5.4vw,76px);line-height:1.06;letter-spacing:-3.8px;margin:0;font-weight:800}h1>span{color:var(--accent)}.intro-description{color:var(--muted);line-height:1.8;margin:22px 0 0}.intro-note{transform:rotate(5deg);width:240px;border:1px solid #414338;border-radius:5px;padding:22px 25px;background:#1a1e17;margin-right:28px;box-shadow:8px 8px 0 #0c0d10}.note-top{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#c5d0b9}.big-number{display:block;font-size:100px;font-weight:800;letter-spacing:-8px;line-height:1.25;color:var(--accent)}.big-number>span{font-size:60px;vertical-align:top;display:inline-block;padding-top:8px;margin-left:16px;letter-spacing:0;font-weight:400}.note-bottom{display:block;font-size:14px;border-top:1px solid #424a36;padding-top:15px;color:#d5dccd}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;padding-top:27px;border-top:1px solid var(--line);gap:12px}h2{display:flex;align-items:center;gap:12px;font-size:23px;letter-spacing:-.6px;margin:0}.count{font-size:12px;background:#282932;border:1px solid #3a3b43;min-width:29px;height:24px;display:grid;place-items:center;border-radius:7px;letter-spacing:0;font-weight:400;color:#c8c9d0}.section-note{font-size:13px;color:var(--muted)}.section-note>span{color:#e6e6ed;margin-left:9px;font-size:18px}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.topic{display:block;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s;--tag:#bce2cf;--tag-bg:#253a30}.topic:hover,.topic:focus-visible{transform:translateY(-5px);border-color:#737b64;box-shadow:0 12px 28px #0003}.topic-image{position:relative;aspect-ratio:858/483;background:#f0f1f4;overflow:hidden;border-bottom:1px solid var(--line)}.topic-image img{width:100%;height:100%;display:block;object-fit:contain;transition:filter .25s}.image-action{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);opacity:0;display:flex;align-items:center;gap:12px;white-space:nowrap;background:var(--accent);color:#14190e;padding:12px 18px;border-radius:9px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s;box-shadow:0 6px 30px #0004}.image-action svg{height:18px;width:18px}.topic:hover .image-action,.topic:focus-visible .image-action{opacity:1;transform:translate(-50%,-50%)}.topic:hover img,.topic:focus-visible img{filter:brightness(.55)}.topic-body{padding:22px 23px 15px}.topic-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.category{font-size:11px;letter-spacing:.25px;color:var(--tag);background:var(--tag-bg);border-radius:5px;padding:5px 9px;font-weight:700}.number{color:#91939f;font-size:12px;font-variant-numeric:tabular-nums}.purple{--tag:#d2c2ff;--tag-bg:#362c4c}.blue{--tag:#aecfff;--tag-bg:#25364b}.pink{--tag:#f1bfde;--tag-bg:#432d3d}.topic h3{font-size:22px;letter-spacing:-.7px;line-height:1.35;margin:15px 0 7px}.topic-body>p{font-size:14px;line-height:1.65;color:var(--muted);margin:0;min-height:47px}.topic-bottom{border-top:1px solid var(--line);margin-top:20px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;color:#b8b9c5;font-size:12px}.topic-bottom>span:first-child{display:flex;align-items:center;gap:7px}.prezi-icon{font-size:22px;color:#b4b6c3;line-height:1}.open-arrow{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#2d2e36;transition:background .2s,color .2s}.open-arrow svg{width:16px;height:16px}.topic:hover .open-arrow{background:var(--accent);color:#151912}.closing{display:flex;align-items:center;gap:18px;border-block:1px solid var(--line);margin-top:52px;padding:32px 0}.closing>span{font-size:34px;color:var(--accent)}.closing p{margin:0;font-size:18px;color:var(--muted);letter-spacing:-.3px}.closing strong{color:#e9e9ef;font-weight:700}.closing a{margin-left:auto;color:#d4d4dd;font-size:13px}.closing a:hover{color:var(--accent)}.footer{display:flex;align-items:center;justify-content:space-between;padding-block:27px 35px;font-size:12px;color:#9799a7;gap:20px}.footer-brand{font-size:17px;font-weight:800;color:#e0e0e8}.footer-brand>span{font-weight:400;color:#9698a5}.skip-link{position:fixed;left:20px;top:-100px;background:var(--accent);color:#111;padding:15px;z-index:10;border-radius:6px}.skip-link:focus{top:15px}
/* Generated microcontroller artwork, softly revealed behind the content. */
body{position:relative;isolation:isolate;background:#121411}
.tech-backdrop{position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:1120px;overflow:hidden;background-image:linear-gradient(90deg,#121411 3%,transparent 60%),linear-gradient(0deg,#121411 0%,transparent 55%),url('assets/tech-background.png');background-size:cover;background-position:center,center,center 38%;opacity:.38;mask-image:linear-gradient(to bottom,transparent 1%,#000 13%,#000 55%,transparent 100%)}
.site-header{background:#11130fe8}
.intro-note{background:#1a1e17eb}
.note-top{line-height:1.65;letter-spacing:1.1px}
@media(min-width:1550px){.intro{padding-block:68px}.topic-grid{gap:28px}}
@media(max-width:1050px){.container{width:calc(100% - 56px)}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-note{margin-right:8px;width:215px}.topic h3{font-size:22px}h1{font-size:64px}}
@media(max-width:680px){.container{width:calc(100% - 36px)}.header-inner{height:76px}.brand{font-size:22px}.brand-linp{font-size:19px}.brand-icon{width:37px;height:37px}.header-link{gap:12px;font-size:12px}.intro{padding:38px 0 32px}.eyebrow{font-size:10px;letter-spacing:1.1px;gap:8px;margin-bottom:21px}.small-cross{font-size:21px}h1{font-size:clamp(43px,10vw,65px);letter-spacing:-2.5px}.intro-description{font-size:14px;margin-top:18px;line-height:1.75}.intro-note{display:none}.section-heading{padding-top:22px;margin-bottom:20px;align-items:flex-start}.section-note{max-width:120px;text-align:right;font-size:11px;line-height:1.5}.section-note>span{font-size:12px;margin-left:0}h2{font-size:21px;gap:9px}.topic-grid{grid-template-columns:1fr;gap:22px}.topic-body{padding:21px 23px 15px}.topic-body>p{min-height:0}.topic-bottom{margin-top:21px}.topic h3{font-size:23px}.closing{flex-wrap:wrap;gap:12px;margin-top:35px;padding:26px 0}.closing p{font-size:15px}.closing a{margin-left:0;width:100%;padding-top:10px}.footer{flex-wrap:wrap;gap:15px;padding-block:25px;font-size:11px}.footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.topic:hover,.topic:focus-visible{transform:none}}
.course-cover{background:#29223c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#d5c2ff}.course-cover svg{width:80px;height:80px}.course-cover-label{font-size:11px;font-weight:700;letter-spacing:1.7px}.course-cover-caption{font-size:12px;color:#c3b8da}.topic-grid>.topic{display:flex;flex-direction:column}.topic-body{display:flex;flex-direction:column;flex:1}.topic-body>.topic-bottom{margin-top:auto}.topic-body>p{margin-bottom:20px}.topic-image{flex-shrink:0}.course-pending{font-weight:700;color:#c5b0f2;font-size:16px;line-height:29px}article.course-card:hover{transform:none;box-shadow:none;border-color:var(--line)}
