:root{--r-ink:#0e0a14;--r-ink2:#3b2e4a;--r-muted:#6b5e74;--r-rule:#e7e1da;--r-paper:#fbfaf8;--r-warm:#f4efe9;--r-blue:#1f3fcf;--r-violet:#6b1fb8;--r-pink:#c7197a;--r-green:#147a58;--r-grad:linear-gradient(100deg,var(--r-blue),var(--r-violet) 55%,var(--r-pink));--r-shadow:0 18px 54px rgba(26,15,33,.1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.resource-page{margin:0;background:var(--r-paper);color:var(--r-ink);font-family:"Inter Tight",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.r-wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.r-serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic}
.r-grad{background:var(--r-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.r-kicker,.r-eyebrow{font-family:"JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:600;color:var(--r-violet)}
.r-btn{min-height:46px;padding:12px 20px;border-radius:10px;border:1px solid var(--r-rule);display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fff;color:var(--r-ink);font:700 14px/1 "Inter Tight",sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}
.r-btn:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(24,14,31,.12)}
.r-btn-primary{border:0;background:var(--r-grad);color:#fff}
.r-btn-dark{border-color:var(--r-ink);background:var(--r-ink);color:#fff}
.r-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.r-btn[aria-disabled="true"]{opacity:.58;cursor:not-allowed;transform:none;box-shadow:none}

.r-site-header{position:sticky;top:0;z-index:60;background:rgba(251,250,248,.96);border-bottom:1px solid var(--r-rule);backdrop-filter:blur(16px)}
.r-nav{min-height:76px;display:flex;align-items:center;gap:30px}
.r-brand{display:flex;align-items:center;gap:10px;color:var(--r-ink);font-weight:800;text-decoration:none;white-space:nowrap}
.r-brand img{width:40px;height:40px;object-fit:contain}
.r-links{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}
.r-links>a,.r-resource-menu>button{padding:27px 0;border:0;background:none;color:var(--r-ink2);font:600 13px/1 "Inter Tight",sans-serif;text-decoration:none;text-transform:uppercase;cursor:pointer}
.r-resource-menu{position:relative}
.r-resource-menu>button{color:var(--r-violet)}
.r-resource-menu>button::after{content:" ▾";font-size:10px}
.r-resource-dropdown{position:absolute;top:60px;left:50%;width:220px;padding:10px;display:grid;gap:2px;transform:translate(-50%,-8px);background:#fff;border:1px solid var(--r-rule);border-radius:14px;box-shadow:var(--r-shadow);opacity:0;visibility:hidden;transition:.18s}
.r-resource-menu:hover .r-resource-dropdown,.r-resource-menu:focus-within .r-resource-dropdown,.r-resource-menu.open .r-resource-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.r-resource-dropdown a{padding:10px 12px;border-radius:8px;color:var(--r-ink);text-decoration:none;font-size:14px}
.r-resource-dropdown a:hover,.r-resource-dropdown a[aria-current="page"]{background:var(--r-warm);color:var(--r-violet)}
.r-nav-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}
.r-signin{color:var(--r-ink);font-size:13px;text-decoration:none}
.r-menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent;font-size:25px;cursor:pointer}

.r-hero{position:relative;overflow:hidden;padding:92px 0 84px;background:radial-gradient(circle at 79% 30%,rgba(107,31,184,.13),transparent 33%),linear-gradient(180deg,#f8f3ed 0%,var(--r-paper) 100%)}
.r-crumb{margin-bottom:22px;font:600 11px/1.4 "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--r-muted)}
.r-crumb a{color:inherit;text-decoration:none}
.r-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.9fr);gap:72px;align-items:center}
.r-hero h1{max-width:760px;margin:15px 0 22px;font-size:clamp(48px,6vw,78px);line-height:.99;letter-spacing:-.045em}
.r-hero-copy{max-width:650px;margin:0;color:var(--r-ink2);font-size:17px;line-height:1.65}
.r-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.r-feature{min-width:0;padding:27px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#0e0a14 15%,#261027 70%,#51113a);box-shadow:var(--r-shadow);overflow:hidden}
.r-feature .r-eyebrow{color:#ffb9dc}.r-feature h2{margin:14px 0 10px;font-size:27px;line-height:1.12}.r-feature p{margin:0 0 23px;color:rgba(255,255,255,.75);font-size:14px;line-height:1.55}

.r-section{padding:82px 0}
.r-section-soft{background:var(--r-warm)}
.r-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;margin-bottom:34px}
.r-section h2{margin:12px 0 0;font-size:clamp(34px,4vw,48px);line-height:1.04;letter-spacing:-.035em}
.r-section-intro{justify-self:end;max-width:420px;margin:0;color:var(--r-ink2);font-size:15px;line-height:1.6}
.r-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}
.r-filter{padding:9px 15px;border:1px solid var(--r-rule);border-radius:99px;background:#fff;color:var(--r-ink2);font:600 12px "JetBrains Mono",monospace;cursor:pointer}
.r-filter.is-active{background:var(--r-ink);color:#fff;border-color:var(--r-ink)}
.r-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.r-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--r-rule);border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 7px 26px rgba(20,12,26,.04)}
.r-card-visual{aspect-ratio:16/9;padding:18px;display:flex;align-items:flex-end;background:linear-gradient(135deg,var(--r-blue),var(--r-violet) 58%,var(--r-pink));color:#fff}
.r-card-visual.alt{background:linear-gradient(135deg,#0f766e,var(--r-blue) 56%,var(--r-violet))}.r-card-visual.warm{background:linear-gradient(135deg,var(--r-violet),var(--r-pink) 56%,#f97316)}
.r-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.r-card h3{margin:10px 0 11px;font-size:23px;line-height:1.15;letter-spacing:-.02em}
.r-card p{margin:0 0 22px;color:var(--r-ink2);font-size:14px;line-height:1.58}
.r-card-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.r-card-link{color:var(--r-violet);font-weight:700;font-size:13px;text-decoration:none}
.r-card-link:hover{text-decoration:underline;text-underline-offset:4px}
.r-pill{display:inline-flex;width:max-content;padding:5px 10px;border-radius:99px;background:rgba(107,31,184,.09);color:var(--r-violet);font:600 10px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em}
.r-skill-list{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 22px;padding:0;list-style:none}.r-skill-list li{padding:5px 9px;border-radius:99px;background:var(--r-warm);font-size:11px;color:var(--r-ink2)}

.r-callout{padding:0 0 82px}.r-callout-inner{padding:48px;border-radius:23px;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;color:#fff;background:var(--r-grad);overflow:hidden}.r-callout h2{margin:0;font-size:clamp(34px,4vw,48px);line-height:1.03;letter-spacing:-.035em}.r-callout p{margin:0 0 20px;color:rgba(255,255,255,.85);line-height:1.6}

.r-detail-hero{padding:80px 0 64px;background:linear-gradient(180deg,#f7f1eb,var(--r-paper))}.r-detail-hero h1{max-width:850px;margin:15px 0 20px;font-size:clamp(44px,6vw,70px);line-height:1;letter-spacing:-.04em}.r-detail-lede{max-width:760px;color:var(--r-ink2);font-size:18px;line-height:1.65}.r-detail-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.r-detail-meta span{padding:8px 13px;border:1px solid var(--r-rule);border-radius:99px;background:#fff;color:var(--r-muted);font:600 11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.r-prose{width:min(780px,calc(100% - 80px));margin:0 auto;padding:72px 0}.r-prose h2{margin:50px 0 16px;font-size:32px;line-height:1.15}.r-prose h2:first-child{margin-top:0}.r-prose h3{margin:32px 0 12px;font-size:23px}.r-prose p,.r-prose li{color:var(--r-ink2);font-size:17px;line-height:1.8}.r-prose blockquote{margin:36px 0;padding:25px 28px;border-left:4px solid var(--r-violet);background:var(--r-warm);font:400 26px/1.35 "Instrument Serif",serif}.r-prose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.r-info{padding:22px;border:1px solid var(--r-rule);border-radius:14px;background:#fff}.r-info b{display:block;margin-bottom:7px}.r-info p{margin:0;font-size:14px;line-height:1.55}
.r-prose-wide{width:min(1040px,calc(100% - 80px))}.r-learn-box,.r-status-box{margin:28px 0;padding:24px 26px;border:1px solid var(--r-rule);border-radius:16px;background:#fff}.r-learn-box{border-left:4px solid var(--r-violet)}.r-status-box{background:var(--r-warm)}.r-learn-box h2,.r-status-box h2{margin:0 0 10px;font-size:21px}.r-learn-box ul,.r-status-box p{margin:0}.r-toc{margin:30px 0;padding:24px;border:1px solid var(--r-rule);border-radius:16px;background:#fff}.r-toc strong{display:block;margin-bottom:12px}.r-toc ol{margin:0;padding-left:22px;columns:2;column-gap:35px}.r-toc li{break-inside:avoid;margin:5px 0;font-size:14px;line-height:1.5}.r-toc a{color:var(--r-violet);text-decoration:none}.r-toc a:hover{text-decoration:underline}.r-media{position:relative;overflow:hidden;margin:28px 0;border-radius:18px;background:#0e0a14;aspect-ratio:16/9;box-shadow:var(--r-shadow)}.r-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.r-media-placeholder{height:100%;display:grid;place-items:center;padding:28px;text-align:center;color:#fff}.r-media-placeholder strong{display:block;font-size:24px}.r-media-placeholder p{max-width:520px;margin:10px auto 0;color:rgba(255,255,255,.72);font-size:15px}.r-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:26px 0}.r-flow span{position:relative;padding:18px 12px;border:1px solid var(--r-rule);border-radius:12px;background:#fff;text-align:center;font-size:13px;font-weight:700}.r-flow span:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:50%;z-index:2;transform:translateY(-50%);color:var(--r-violet)}.r-checklist{list-style:none;padding:0}.r-checklist li{position:relative;padding-left:31px;margin:12px 0}.r-checklist li::before{content:"✓";position:absolute;left:0;top:4px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:rgba(20,122,88,.11);color:var(--r-green);font-size:12px;font-weight:800}.r-rubric{width:100%;border-collapse:separate;border-spacing:0;margin:25px 0;border:1px solid var(--r-rule);border-radius:14px;overflow:hidden;background:#fff}.r-rubric th,.r-rubric td{padding:14px 16px;border-right:1px solid var(--r-rule);border-bottom:1px solid var(--r-rule);text-align:left;vertical-align:top;color:var(--r-ink2);font-size:14px;line-height:1.5}.r-rubric th{background:var(--r-warm);color:var(--r-ink);font-weight:800}.r-rubric tr:last-child td{border-bottom:0}.r-rubric th:last-child,.r-rubric td:last-child{border-right:0}.r-question{margin:16px 0;padding:20px 22px;border:1px solid var(--r-rule);border-radius:14px;background:#fff}.r-question h3{margin:0 0 8px;font-size:18px}.r-question p{margin:0;font-size:15px}.r-source-list{padding-top:18px;border-top:1px solid var(--r-rule)}.r-source-list li{font-size:14px}.r-source-list a{color:var(--r-violet)}.r-related{margin-top:52px;padding-top:30px;border-top:1px solid var(--r-rule)}.r-related h2{margin-top:0}.r-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.r-related-card{padding:19px;border:1px solid var(--r-rule);border-radius:13px;background:#fff;color:var(--r-ink);text-decoration:none}.r-related-card span{display:block;margin-bottom:7px;color:var(--r-violet);font:600 10px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.r-related-card strong{font-size:16px;line-height:1.3}.r-update-note{margin-top:40px;padding:16px 18px;border-radius:10px;background:var(--r-warm);color:var(--r-muted);font-size:13px;line-height:1.55}

.r-site-footer{padding:62px 0 28px;background:#0e0a14;color:#fff}.r-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:48px}.r-footer-brand p{max-width:310px;color:rgba(255,255,255,.6);font-size:14px;line-height:1.65}.r-footer-col h3{margin:0 0 16px;font:600 11px "JetBrains Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:#ffb9dc}.r-footer-col a{display:block;margin:10px 0;color:rgba(255,255,255,.74);font-size:14px;text-decoration:none}.r-footer-col a:hover{color:#fff}.r-footer-bottom{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.48);font-size:12px}

@media(max-width:980px){.r-wrap{width:min(100% - 40px,760px)}.r-nav{min-height:68px}.r-links,.r-nav-actions .r-signin{display:none}.r-nav-actions{margin-left:auto}.r-nav-actions .r-btn{display:none}.r-menu-toggle{display:block}.r-links.is-open{position:absolute;top:68px;left:0;right:0;padding:18px 20px 26px;display:grid;justify-content:stretch;gap:0;background:#fff;border-bottom:1px solid var(--r-rule);box-shadow:var(--r-shadow)}.r-links.is-open>a,.r-links.is-open .r-resource-menu>button{display:block;width:100%;padding:13px 0;text-align:left}.r-links.is-open .r-resource-dropdown{position:static;width:100%;padding:4px 0 5px;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none}.r-hero{padding:66px 0}.r-hero-grid{grid-template-columns:1fr;gap:34px}.r-feature{width:100%}.r-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.r-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.r-footer-col:last-child{display:none}}
@media(max-width:640px){.r-wrap,.r-prose,.r-prose-wide{width:calc(100% - 40px)}.r-hero{padding:48px 0 58px}.r-hero h1{font-size:46px}.r-hero-copy{font-size:16px}.r-feature{padding:23px}.r-section{padding:60px 0}.r-section-head{grid-template-columns:1fr;gap:16px;margin-bottom:27px}.r-section-intro{justify-self:start}.r-grid{grid-template-columns:1fr}.r-card-visual{aspect-ratio:2/1}.r-callout{padding-bottom:60px}.r-callout-inner{padding:30px 24px;grid-template-columns:1fr;gap:24px}.r-detail-hero{padding:52px 0}.r-detail-hero h1{font-size:44px}.r-detail-lede{font-size:16px}.r-prose{padding:52px 0}.r-prose p,.r-prose li{font-size:16px}.r-prose-grid,.r-related-grid{grid-template-columns:1fr}.r-flow{grid-template-columns:1fr}.r-flow span:not(:last-child)::after{content:"↓";right:50%;top:auto;bottom:-14px;transform:translateX(50%)}.r-toc ol{columns:1}.r-rubric{display:block;overflow-x:auto}.r-footer-grid{grid-template-columns:1fr 1fr;gap:34px}.r-footer-brand{grid-column:1/-1}.r-footer-bottom{flex-direction:column}.r-actions .r-btn{flex:1 1 150px}}

body.is-course-page main>section,body.is-course-page>section:nth-of-type(n+3){content-visibility:auto;contain-intrinsic-size:1px 900px}
