[data-course-shell=redis]{--paper:#f4f0e7;--paper-strong:#fffdf8;--ink:#171715;--ink-soft:#57554f;--line:#c9c3b6;--line-dark:#3d3b37;--redis:#b6251e;--redis-dark:#86140f;--redis-on-dark:#ff746b;--acid:#d8ff5e;--blue:#9dccff;--violet:#cbbcff;--orange:#ffb36b;--green:#9cdb97;--content:1440px}[data-course-shell=redis] *{box-sizing:border-box}[data-course-shell=redis]{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--ink);margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans),"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}[data-course-shell=redis] button,[data-course-shell=redis] input{font:inherit}[data-course-shell=redis] a,[data-course-shell=redis] button{-webkit-tap-highlight-color:transparent}[data-course-shell=redis] a{color:inherit}[data-course-shell=redis] ::-moz-selection{background:var(--acid);color:var(--ink)}[data-course-shell=redis] ::selection{background:var(--acid);color:var(--ink)}[data-course-shell=redis] :focus-visible{outline:3px solid #1565c0;outline-offset:3px}[data-course-shell=redis] .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-course-shell=redis] .skip-link{position:fixed;z-index:999;top:8px;left:8px;transform:translateY(-140%);padding:10px 16px;background:var(--acid);color:var(--ink);font-weight:800;text-decoration:none}[data-course-shell=redis] .skip-link:focus{transform:translateY(0)}[data-course-shell=redis] .site-header{position:sticky;z-index:100;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px;padding:0 28px;border-bottom:1px solid var(--line-dark);background:rgba(23,23,21,.96);color:#fff;backdrop-filter:blur(12px)}[data-course-shell=redis] .wordmark{display:inline-flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;font-size:14px;font-weight:760;letter-spacing:-.02em;text-decoration:none}[data-course-shell=redis] .wordmark__mark{display:grid;width:29px;height:29px;place-items:center;background:var(--redis);color:#fff;font-family:var(--font-geist-mono),monospace;font-size:11px;letter-spacing:-.08em}[data-course-shell=redis] .header-nav{display:flex;gap:28px;font-family:var(--font-geist-mono),monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=redis] .header-nav a{color:#c9c7c2;text-decoration:none}[data-course-shell=redis] .header-nav a:hover{color:#fff}[data-course-shell=redis] .language-switch{display:flex;justify-self:end;border:1px solid #55534f}[data-course-shell=redis] .language-switch button{min-width:44px;min-height:34px;border:0;background:transparent;color:#a7a49d;cursor:pointer;font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:750}[data-course-shell=redis] .language-switch button+button{border-left:1px solid #55534f}[data-course-shell=redis] .language-switch button.is-active{background:#fff;color:var(--ink)}[data-course-shell=redis] .hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:calc(100vh - 64px);border-bottom:1px solid var(--line-dark);background:var(--ink);color:#fff}[data-course-shell=redis] .hero__copy{display:flex;flex-direction:column;justify-content:center;min-height:620px;padding:8vw max(44px,calc((100vw - var(--content)) / 2 + 28px)) 7vw;border-right:1px solid var(--line-dark)}[data-course-shell=redis] .eyebrow{margin:0 0 24px;color:var(--redis);font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:800;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}[data-course-shell=redis] .hero h1{max-width:880px;margin:0;font-size:clamp(58px,8vw,126px);font-weight:770;letter-spacing:-.075em;line-height:.86}[data-course-shell=redis] .hero .eyebrow,[data-course-shell=redis] .hero h1 span{color:var(--redis-on-dark)}[data-course-shell=redis] .hero__lead{max-width:680px;margin:42px 0 0;color:#c5c2bb;font-size:clamp(17px,1.5vw,22px);letter-spacing:-.025em;line-height:1.65;text-wrap:balance}[data-course-shell=redis] .hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}[data-course-shell=redis] .button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:0 18px;border:1px solid;font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none;text-transform:uppercase}[data-course-shell=redis] .button--primary{border-color:var(--redis);background:var(--redis);color:#fff}[data-course-shell=redis] .button--primary:hover{border-color:#86140f;background:#86140f}[data-course-shell=redis] .button--secondary{border-color:#67645e;background:transparent;color:inherit}[data-course-shell=redis] .button--secondary:hover{border-color:currentColor}[data-course-shell=redis] .hero__panel{align-self:center;margin:8vw max(32px,calc((100vw - var(--content)) / 2 + 28px)) 8vw 4vw;border:1px solid #4a4843;background:#20201e;box-shadow:18px 18px 0 var(--redis)}[data-course-shell=redis] .terminal-bar{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 16px;border-bottom:1px solid #4a4843;color:#aaa79f;font-family:var(--font-geist-mono),monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=redis] .live-dot{display:inline-flex;align-items:center;gap:7px;color:var(--acid)}[data-course-shell=redis] .live-dot:before{width:6px;height:6px;background:currentColor;content:""}[data-course-shell=redis] .command-trace{margin:0;padding:0;list-style:none}[data-course-shell=redis] .command-trace li{display:grid;grid-template-columns:34px 1fr 64px;align-items:center;min-height:68px;padding:0 16px;border-bottom:1px solid #383735}[data-course-shell=redis] .command-trace li>span{color:#77746e;font-family:var(--font-geist-mono),monospace;font-size:10px}[data-course-shell=redis] .command-trace strong{font-size:14px;font-weight:600}[data-course-shell=redis] .command-trace i{position:relative;height:6px;overflow:hidden;background:#343330}[data-course-shell=redis] .command-trace i:after{position:absolute;inset:0;width:calc(22% + var(--trace-offset, 0%));background:var(--acid);content:""}[data-course-shell=redis] .command-trace li:nth-child(2) i:after{width:46%}[data-course-shell=redis] .command-trace li:nth-child(3) i:after{width:70%}[data-course-shell=redis] .command-trace li:nth-child(4) i:after{width:88%;background:var(--redis)}[data-course-shell=redis] .command-trace li:nth-child(5) i:after{width:100%}[data-course-shell=redis] .trace-output{padding:20px;background:var(--acid);color:var(--ink)}[data-course-shell=redis] .trace-output span{font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:900;letter-spacing:.08em}[data-course-shell=redis] .trace-output p{margin:8px 0 0;font-size:13px;font-weight:650;line-height:1.5}[data-course-shell=redis] .hero__stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 2fr 1.5fr;margin:0;border-top:1px solid var(--line-dark)}[data-course-shell=redis] .hero__stats div{min-height:110px;padding:22px 28px;border-right:1px solid var(--line-dark)}[data-course-shell=redis] .hero__stats div:last-child{border-right:0}[data-course-shell=redis] .hero__stats dt{margin-bottom:18px;color:#84817b;font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=redis] .hero__stats dd{margin:0;color:#fff;font-size:clamp(16px,2vw,30px);font-weight:700;letter-spacing:-.04em}[data-course-shell=redis] .section-shell{width:min(100%,var(--content));margin:0 auto;padding:120px 28px}[data-course-shell=redis] .section-heading{max-width:780px;margin-bottom:50px}[data-course-shell=redis] .section-heading--split{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;max-width:none}[data-course-shell=redis] .capstone__intro h2,[data-course-shell=redis] .section-heading h2{margin:0;font-size:clamp(38px,5vw,72px);font-weight:730;letter-spacing:-.06em;line-height:.98}[data-course-shell=redis] .capstone__intro>p:last-child,[data-course-shell=redis] .section-heading>div>p:last-child,[data-course-shell=redis] .section-heading>p:last-child{max-width:720px;margin:22px 0 0;color:var(--ink-soft);font-size:17px;line-height:1.65}[data-course-shell=redis] .evidence-legend{border-bottom:1px solid var(--line)}[data-course-shell=redis] .evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}[data-course-shell=redis] .evidence-grid article{min-height:220px;padding:24px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}[data-course-shell=redis] .evidence-grid article:first-child{background:var(--paper-strong)}[data-course-shell=redis] .evidence-grid article:nth-child(2){background:var(--blue)}[data-course-shell=redis] .evidence-grid article:nth-child(3){background:var(--green)}[data-course-shell=redis] .evidence-grid article:nth-child(4){background:var(--acid)}[data-course-shell=redis] .evidence-badge{display:inline-block;padding:5px 7px;border:1px solid;font-family:var(--font-geist-mono),monospace;font-size:8px;font-weight:900;letter-spacing:.06em;line-height:1;text-transform:uppercase}[data-course-shell=redis] .evidence-grid h3{margin:58px 0 10px;font-size:19px;letter-spacing:-.03em}[data-course-shell=redis] .evidence-grid p{margin:0;color:#353430;font-size:13px;line-height:1.55}[data-course-shell=redis] .lab-map{border-bottom:1px solid var(--line)}[data-course-shell=redis] .progress-meter{width:min(100%,260px);padding:18px;border:1px solid var(--ink);background:var(--paper-strong)}[data-course-shell=redis] .progress-meter span{display:block;margin-bottom:8px;color:var(--ink-soft);font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=redis] .progress-meter strong{display:block;margin-bottom:14px;font-family:var(--font-geist-mono),monospace;font-size:18px}[data-course-shell=redis] .progress-meter i{display:block;height:5px;background:linear-gradient(90deg,var(--redis) var(--progress),#ded9ce var(--progress))}[data-course-shell=redis] .module-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}[data-course-shell=redis] .module-map a{position:relative;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:start;min-height:132px;padding:20px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;text-decoration:none}[data-course-shell=redis] .module-map a:focus-visible,[data-course-shell=redis] .module-map a:hover{background:var(--redis);color:#fff}[data-course-shell=redis] .module-map a.is-complete{background:var(--acid)}[data-course-shell=redis] .module-map a.is-complete:focus-visible,[data-course-shell=redis] .module-map a.is-complete:hover{color:var(--ink)}[data-course-shell=redis] .module-map span{font-family:var(--font-geist-mono),monospace;font-size:11px;font-weight:800}[data-course-shell=redis] .module-map strong{font-size:15px;line-height:1.35}[data-course-shell=redis] .module-map i{font-style:normal}[data-course-shell=redis] .curriculum{display:grid;grid-template-columns:256px minmax(0,1fr);gap:48px;align-items:start;max-width:var(--content);padding-top:80px}[data-course-shell=redis] .curriculum-nav{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:thin}[data-course-shell=redis] .search-box{padding-bottom:22px;border-bottom:1px solid var(--line)}[data-course-shell=redis] .search-box label{display:block;margin-bottom:9px;font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}[data-course-shell=redis] .search-box>div{display:grid;grid-template-columns:24px 1fr 28px;align-items:center;min-height:44px;padding:0 8px;border:1px solid var(--ink);background:var(--paper-strong)}[data-course-shell=redis] .search-box input{min-width:0;height:42px;border:0;background:transparent;color:var(--ink);font-size:12px}[data-course-shell=redis] .search-box input::-moz-placeholder{color:#8c8981}[data-course-shell=redis] .search-box input::placeholder{color:#8c8981}[data-course-shell=redis] .search-box button{width:28px;height:28px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:20px}[data-course-shell=redis] .curriculum-nav nav{display:grid;padding-top:12px}[data-course-shell=redis] .curriculum-nav nav a{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:10px 8px;border-left:2px solid transparent;color:#6f6c65;font-size:11px;line-height:1.35;text-decoration:none}[data-course-shell=redis] .curriculum-nav nav a span{font-family:var(--font-geist-mono),monospace;font-weight:750}[data-course-shell=redis] .curriculum-nav nav a.is-active,[data-course-shell=redis] .curriculum-nav nav a:hover{border-left-color:var(--redis);background:#e8e3d8;color:var(--ink)}[data-course-shell=redis] .module-list{display:grid;gap:72px;min-width:0}[data-course-shell=redis] .module{scroll-margin-top:90px;border-top:6px solid var(--ink)}[data-course-shell=redis] .module__header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px 0 22px;border-bottom:1px solid var(--ink)}[data-course-shell=redis] .module__identity{display:grid;grid-template-columns:74px 1fr;align-items:start;min-width:0}[data-course-shell=redis] .module__id{color:var(--redis);font-family:var(--font-geist-mono),monospace;font-size:20px;font-weight:850;letter-spacing:-.04em}[data-course-shell=redis] .module__version{margin:0 0 6px;color:var(--ink-soft);font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}[data-course-shell=redis] .module h2{margin:0;font-size:clamp(30px,4vw,58px);font-weight:730;letter-spacing:-.055em;line-height:1}[data-course-shell=redis] .module__actions{display:flex;flex-shrink:0;gap:6px}[data-course-shell=redis] .completion-button,[data-course-shell=redis] .icon-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:780;letter-spacing:.03em;text-transform:uppercase}[data-course-shell=redis] .completion-button:hover,[data-course-shell=redis] .icon-button:hover{background:var(--ink);color:#fff}[data-course-shell=redis] .completion-button.is-complete{border-color:var(--ink);background:var(--acid);color:var(--ink)}[data-course-shell=redis] .module__summary{max-width:850px;margin:30px 0;font-size:19px;letter-spacing:-.02em;line-height:1.65}[data-course-shell=redis] .module__meta-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;margin-bottom:22px;border-top:1px solid var(--line);border-left:1px solid var(--line)}[data-course-shell=redis] .module__meta-grid>section{min-width:0;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}[data-course-shell=redis] .module__meta-grid h3{margin:0 0 14px;color:var(--ink-soft);font-family:var(--font-geist-mono),monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=redis] .chip-list{display:flex;flex-wrap:wrap;gap:6px}[data-course-shell=redis] .chip{padding:5px 7px;border:1px solid #a8a297;background:var(--paper-strong);font-family:var(--font-geist-mono),monospace;font-size:9px;line-height:1.25}[data-course-shell=redis] .failure-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}[data-course-shell=redis] .failure-list li{display:grid;grid-template-columns:8px 1fr;gap:7px;font-size:11px;line-height:1.45}[data-course-shell=redis] .failure-list li:before{width:6px;height:6px;margin-top:5px;background:var(--redis);content:""}[data-course-shell=redis] .verification{display:grid;gap:8px;margin:0}[data-course-shell=redis] .capstone__verification>span,[data-course-shell=redis] .verification strong{width:-moz-fit-content;width:fit-content;padding:4px 6px;background:var(--orange);font-family:var(--font-geist-mono),monospace;font-size:8px;letter-spacing:.04em}[data-course-shell=redis] .verification--verified strong{background:var(--green)}[data-course-shell=redis] .verification--unverified strong{background:var(--violet)}[data-course-shell=redis] .verification span{color:var(--ink-soft);font-size:11px;line-height:1.45}[data-course-shell=redis] .capstone-focus{display:grid;grid-template-columns:104px 1fr;gap:14px;margin:0 0 22px;padding:16px;border-left:5px solid var(--redis);background:#e9e3d8}[data-course-shell=redis] .capstone-focus span{color:var(--redis-dark);font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:900;letter-spacing:.08em}[data-course-shell=redis] .capstone-focus p{margin:0;font-size:13px;line-height:1.55}[data-course-shell=redis] .section-stack{border-top:1px solid var(--ink)}[data-course-shell=redis] .learning-section{border-bottom:1px solid var(--ink)}[data-course-shell=redis] .learning-section summary{display:grid;grid-template-columns:48px 1fr auto;align-items:center;min-height:58px;padding:0 14px 0 0;cursor:pointer;font-size:13px;font-weight:660;list-style:none}[data-course-shell=redis] .learning-section summary::-webkit-details-marker{display:none}[data-course-shell=redis] .learning-section summary:after{margin-left:12px;content:"+";font-family:var(--font-geist-mono),monospace;font-size:18px;font-weight:400}[data-course-shell=redis] .learning-section[open] summary:after{content:"−"}[data-course-shell=redis] .learning-section summary:hover{background:var(--paper-strong)}[data-course-shell=redis] .section-number{color:#88847b;font-family:var(--font-geist-mono),monospace;font-size:9px}[data-course-shell=redis] .summary-hint{color:#8b877f;font-family:var(--font-geist-mono),monospace;font-size:8px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}[data-course-shell=redis] .section-content{display:grid;gap:10px;padding:2px 14px 22px 48px}[data-course-shell=redis] .evidence-block{position:relative;display:grid;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:20px;padding:18px;border:1px solid var(--line);background:var(--paper-strong)}[data-course-shell=redis] .evidence-block[data-evidence=SPEC]{border-left:5px solid var(--blue)}[data-course-shell=redis] .evidence-block[data-evidence="VERIFIED BEHAVIOR"]{border-left:5px solid var(--violet)}[data-course-shell=redis] .evidence-block[data-evidence="RECOMMENDED PRACTICE"]{border-left:5px solid var(--green)}[data-course-shell=redis] .evidence-block[data-evidence="PROJECT POLICY"]{border-left:5px solid var(--acid)}[data-course-shell=redis] .evidence-block p{margin:0;font-size:13px;line-height:1.68}[data-course-shell=redis] .evidence-block pre{grid-column:1/-1;max-width:100%;margin:4px 0 0;overflow-x:auto;padding:18px;border:1px solid #32312f;background:var(--ink);color:#f4f0e7;font-family:var(--font-geist-mono),monospace;font-size:11px;line-height:1.65;white-space:pre}[data-course-shell=redis] .source-refs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0 0;color:var(--ink-soft);font-family:var(--font-geist-mono),monospace;font-size:9px}[data-course-shell=redis] .source-refs code{padding:4px 6px;background:#e1dcd1}[data-course-shell=redis] .source-refs a{padding:4px 6px;background:#e1dcd1;text-decoration-thickness:1px;text-underline-offset:2px}[data-course-shell=redis] .muted{color:var(--ink-soft)}[data-course-shell=redis] .empty-state{display:grid;place-items:center;min-height:420px;padding:60px;border:1px solid var(--ink);text-align:center}[data-course-shell=redis] .empty-state>span{color:var(--redis);font-family:var(--font-geist-mono),monospace;font-size:60px}[data-course-shell=redis] .empty-state button{padding:10px 14px;border:1px solid var(--ink);background:transparent;cursor:pointer}[data-course-shell=redis] .capstone{width:100%;max-width:none;padding-right:max(28px,calc((100vw - var(--content)) / 2 + 28px));padding-left:max(28px,calc((100vw - var(--content)) / 2 + 28px));background:var(--redis);color:#fff}[data-course-shell=redis] .capstone__intro{max-width:940px}[data-course-shell=redis] .capstone .eyebrow{color:var(--acid)}[data-course-shell=redis] .capstone__intro>p:last-child{color:#ffe0dc}[data-course-shell=redis] .capstone__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px;border-top:1px solid rgba(255,255,255,.75);border-left:1px solid rgba(255,255,255,.75)}[data-course-shell=redis] .capstone__grid section{min-height:360px;padding:24px;border-right:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.75)}[data-course-shell=redis] .capstone__grid section>span{font-family:var(--font-geist-mono),monospace;font-size:10px;font-weight:800}[data-course-shell=redis] .capstone__grid h3{margin:84px 0 22px;font-size:21px;letter-spacing:-.03em}[data-course-shell=redis] .capstone__grid ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}[data-course-shell=redis] .capstone__grid li{padding-left:14px;border-left:2px solid var(--acid);color:#ffe6e3;font-size:12px;line-height:1.5}[data-course-shell=redis] .capstone__truth{margin:0;padding-left:14px;border-left:2px solid var(--acid);color:#ffe6e3;font-size:12px;line-height:1.65}[data-course-shell=redis] .capstone__verification{display:flex;align-items:center;gap:14px;padding:22px 0 0}[data-course-shell=redis] .capstone__verification>span{flex-shrink:0;background:var(--acid);color:var(--ink)}[data-course-shell=redis] .capstone__verification p{margin:0;color:#ffe6e3;font-size:12px}[data-course-shell=redis] .sources{background:var(--paper)}[data-course-shell=redis] .sources .button--secondary{color:var(--ink)}[data-course-shell=redis] .source-list{border-top:1px solid var(--ink)}[data-course-shell=redis] .source-list a{display:grid;grid-template-columns:54px 1fr auto;align-items:center;min-height:64px;padding:0 14px;border-bottom:1px solid var(--ink);text-decoration:none}[data-course-shell=redis] .source-list a:hover{background:var(--acid)}[data-course-shell=redis] .source-list i,[data-course-shell=redis] .source-list span{font-family:var(--font-geist-mono),monospace;font-size:10px;font-style:normal}[data-course-shell=redis] .source-list strong{font-size:14px}[data-course-shell=redis] .runbook-card{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-top:70px;padding:36px;background:var(--ink);color:#fff}[data-course-shell=redis] .runbook-card>div>span{color:var(--acid);font-family:var(--font-geist-mono),monospace;font-size:9px;font-weight:800;letter-spacing:.08em}[data-course-shell=redis] .runbook-card h3{margin:18px 0 10px;font-family:var(--font-geist-mono),monospace;font-size:clamp(20px,3vw,36px);letter-spacing:-.04em}[data-course-shell=redis] .runbook-card p{max-width:700px;margin:0;color:#aaa79f;font-size:13px;line-height:1.6}[data-course-shell=redis] .runbook-card>a{flex-shrink:0;padding:13px 16px;border:1px solid #65625c;font-family:var(--font-geist-mono),monospace;font-size:10px;font-weight:800;text-decoration:none;text-transform:uppercase}[data-course-shell=redis] .runbook-card>a:hover{border-color:var(--acid);color:var(--acid)}[data-course-shell=redis] .site-footer{display:grid;grid-template-columns:1fr 2fr auto;gap:28px;align-items:start;padding:34px max(28px,calc((100vw - var(--content)) / 2 + 28px));border-top:1px solid #494743;background:var(--ink);color:#a3a098;font-family:var(--font-geist-mono),monospace;font-size:9px;line-height:1.6;letter-spacing:.03em;text-transform:uppercase}[data-course-shell=redis] .site-footer p{max-width:760px;margin:0}[data-course-shell=redis] .site-footer a{color:#fff;text-decoration:none}@media (max-width:1120px){[data-course-shell=redis] .site-header{grid-template-columns:1fr auto}[data-course-shell=redis] .header-nav{display:none}[data-course-shell=redis] .hero{grid-template-columns:1fr .9fr}[data-course-shell=redis] .hero__copy{padding-left:32px}[data-course-shell=redis] .hero__panel{margin-right:42px}[data-course-shell=redis] .hero__stats{grid-template-columns:repeat(3,1fr)}[data-course-shell=redis] .hero__stats div:nth-child(3){border-right:0}[data-course-shell=redis] .hero__stats div:nth-child(n+4){border-top:1px solid var(--line-dark)}[data-course-shell=redis] .hero__stats div:nth-child(4){grid-column:span 2}[data-course-shell=redis] .capstone__grid,[data-course-shell=redis] .evidence-grid,[data-course-shell=redis] .module-map{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=redis] .module__header{display:grid}[data-course-shell=redis] .module__actions{justify-self:start}[data-course-shell=redis] .module__meta-grid{grid-template-columns:1fr 1fr}[data-course-shell=redis] .module__meta-grid>section:first-child{grid-column:1/-1}}@media (max-width:840px){[data-course-shell=redis]{scroll-padding-top:72px}[data-course-shell=redis] .site-header{min-height:58px;padding:0 18px}[data-course-shell=redis] .wordmark>span:last-child{display:none}[data-course-shell=redis] .hero{display:block}[data-course-shell=redis] .hero__copy{min-height:auto;padding:92px 24px 70px;border-right:0;border-bottom:1px solid var(--line-dark)}[data-course-shell=redis] .hero__panel{margin:52px 42px 70px 24px}[data-course-shell=redis] .hero__stats{grid-template-columns:repeat(2,1fr)}[data-course-shell=redis] .hero__stats div:nth-child(n){grid-column:auto;border-top:1px solid var(--line-dark);border-right:1px solid var(--line-dark)}[data-course-shell=redis] .hero__stats div:nth-child(2n){border-right:0}[data-course-shell=redis] .hero__stats div:last-child{grid-column:1/-1}[data-course-shell=redis] .section-shell{padding:88px 20px}[data-course-shell=redis] .section-heading--split{display:grid;align-items:start}[data-course-shell=redis] .curriculum{display:block;padding-top:48px}[data-course-shell=redis] .curriculum-nav{position:static;max-height:none;margin-bottom:54px}[data-course-shell=redis] .curriculum-nav nav{grid-template-columns:repeat(2,1fr)}[data-course-shell=redis] .module__identity{grid-template-columns:62px 1fr}[data-course-shell=redis] .capstone{padding-right:20px;padding-left:20px}}@media (max-width:600px){[data-course-shell=redis] .hero h1{font-size:clamp(50px,18vw,80px)}[data-course-shell=redis] .hero__lead{margin-top:32px;font-size:16px}[data-course-shell=redis] .hero__actions,[data-course-shell=redis] .hero__actions .button{width:100%}[data-course-shell=redis] .hero__panel{margin-right:28px;box-shadow:8px 8px 0 var(--redis)}[data-course-shell=redis] .command-trace li{grid-template-columns:30px 1fr 42px}[data-course-shell=redis] .hero__stats div{min-height:92px;padding:18px}[data-course-shell=redis] .hero__stats dd{font-size:17px;line-height:1.3}[data-course-shell=redis] .capstone__grid,[data-course-shell=redis] .evidence-grid,[data-course-shell=redis] .module-map{grid-template-columns:1fr}[data-course-shell=redis] .evidence-grid article{min-height:180px}[data-course-shell=redis] .evidence-grid h3{margin-top:34px}[data-course-shell=redis] .module-map a{min-height:90px}[data-course-shell=redis] .curriculum-nav nav{grid-template-columns:1fr}[data-course-shell=redis] .module__header{padding-top:22px}[data-course-shell=redis] .module__identity{grid-template-columns:1fr;gap:12px}[data-course-shell=redis] .module__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}[data-course-shell=redis] .completion-button,[data-course-shell=redis] .icon-button{justify-content:center}[data-course-shell=redis] .module__summary{font-size:16px}[data-course-shell=redis] .module__meta-grid{grid-template-columns:1fr}[data-course-shell=redis] .module__meta-grid>section:first-child{grid-column:auto}[data-course-shell=redis] .capstone-focus{grid-template-columns:1fr}[data-course-shell=redis] .learning-section summary{grid-template-columns:36px 1fr auto}[data-course-shell=redis] .summary-hint{display:none}[data-course-shell=redis] .section-content{padding-left:0;padding-right:0}[data-course-shell=redis] .evidence-block{grid-template-columns:1fr;gap:12px;padding:14px}[data-course-shell=redis] .evidence-block pre{font-size:10px}[data-course-shell=redis] .capstone__grid section{min-height:auto}[data-course-shell=redis] .capstone__grid h3{margin-top:42px}[data-course-shell=redis] .capstone__verification,[data-course-shell=redis] .runbook-card,[data-course-shell=redis] .site-footer{display:grid}[data-course-shell=redis] .runbook-card{padding:24px}[data-course-shell=redis] .runbook-card>a{width:-moz-fit-content;width:fit-content}[data-course-shell=redis] .site-footer{grid-template-columns:1fr;padding:28px 20px}}@media (prefers-reduced-motion:reduce){[data-course-shell=redis]{scroll-behavior:auto}[data-course-shell=redis] *,[data-course-shell=redis] :after,[data-course-shell=redis] :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{[data-course-shell=redis] .curriculum-nav,[data-course-shell=redis] .hero__actions,[data-course-shell=redis] .module__actions,[data-course-shell=redis] .site-header{display:none!important}[data-course-shell=redis] .hero{min-height:auto}[data-course-shell=redis] .hero__copy,[data-course-shell=redis] .hero__panel,[data-course-shell=redis] .section-shell{-moz-column-break-inside:avoid;break-inside:avoid}[data-course-shell=redis] .curriculum,[data-course-shell=redis] .learning-section>*{display:block}}[data-course-shell=rust]{--paper:#f1f0e8;--paper-deep:#e2e0d5;--ink:#151713;--ink-soft:#54584f;--night:#10120f;--night-soft:#1a1d18;--line:#c5c4ba;--signal:#c9ff3f;--rust:#e96838;--cyan:#60d3e8;--violet:#b29cff;--font-body:var(--font-geist-sans),"Apple SD Gothic Neo","Noto Sans KR",sans-serif;--font-code:var(--font-geist-mono),"SFMono-Regular",Consolas,monospace}[data-course-shell=rust] *{box-sizing:border-box}[data-course-shell=rust]{scroll-behavior:smooth;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);line-height:1.6;text-rendering:optimizeLegibility}[data-course-shell=rust] button,[data-course-shell=rust] input{font:inherit}[data-course-shell=rust] a,[data-course-shell=rust] button{-webkit-tap-highlight-color:transparent}[data-course-shell=rust] a{color:inherit}[data-course-shell=rust] :focus-visible{outline:3px solid var(--cyan);outline-offset:4px}[data-course-shell=rust] ::-moz-selection{background:var(--signal);color:var(--night)}[data-course-shell=rust] ::selection{background:var(--signal);color:var(--night)}[data-course-shell=rust] .skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);background:var(--signal);color:var(--night);padding:.7rem 1rem;font-weight:800}[data-course-shell=rust] .skip-link:focus{transform:translateY(0)}[data-course-shell=rust] .site-header{position:sticky;z-index:50;top:0;display:flex;min-height:64px;align-items:stretch;justify-content:space-between;border-bottom:1px solid #343831;background:rgb(16 18 15/94%);color:#f8f8f1;backdrop-filter:blur(14px)}[data-course-shell=rust] .wordmark{display:flex;align-items:center;gap:.75rem;padding:0 1.5rem;text-decoration:none;font-family:var(--font-code);font-size:.75rem;font-weight:800;letter-spacing:.14em}[data-course-shell=rust] .wordmark>span:first-child{color:var(--signal);font-size:1.2rem;letter-spacing:-.08em}[data-course-shell=rust] .language-switch{display:flex;align-items:center;padding:.45rem;border-left:1px solid #343831}[data-course-shell=rust] .language-switch button{min-width:54px;min-height:44px;border:0;border-radius:2px;background:transparent;color:#8e9588;cursor:pointer;font-family:var(--font-code);font-size:.75rem;font-weight:800}[data-course-shell=rust] .language-switch button[aria-pressed=true]{background:var(--signal);color:var(--night)}[data-course-shell=rust] .hero{position:relative;display:grid;min-height:min(760px,calc(100svh - 64px));grid-template-columns:minmax(0,1fr) minmax(260px,28vw);overflow:hidden;background:var(--night);color:#f4f4ed}[data-course-shell=rust] .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255/5%) 1px,transparent 0),linear-gradient(90deg,rgb(255 255 255/5%) 1px,transparent 0);background-size:72px 72px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 88%);mask-image:linear-gradient(90deg,#000,transparent 88%)}[data-course-shell=rust] .hero:after{position:absolute;right:23%;bottom:-25vw;width:46vw;height:46vw;border:1px solid rgb(201 255 63/38%);border-radius:50%;box-shadow:0 0 0 7vw rgb(201 255 63/3%),0 0 0 14vw rgb(201 255 63/2%);content:"";pointer-events:none}[data-course-shell=rust] .hero-copy{position:relative;z-index:1;display:flex;max-width:980px;flex-direction:column;justify-content:center;padding:clamp(4rem,9vw,9rem) clamp(1.25rem,6vw,7.5rem)}[data-course-shell=rust] .content-label,[data-course-shell=rust] .eyebrow,[data-course-shell=rust] .section-number{margin:0;color:var(--ink-soft);font-family:var(--font-code);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}[data-course-shell=rust] .eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--signal)}[data-course-shell=rust] .eyebrow:before{width:32px;height:2px;background:currentColor;content:""}[data-course-shell=rust] .hero h1{max-width:9ch;margin:1.25rem 0 1.5rem;font-size:clamp(3.4rem,8.6vw,9.2rem);font-weight:780;letter-spacing:-.075em;line-height:.9;word-break:keep-all}[data-course-shell=rust] .hero-deck{max-width:720px;margin:0;color:#b5baae;font-size:clamp(1.05rem,1.75vw,1.45rem);line-height:1.65;word-break:keep-all}[data-course-shell=rust] .hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.75rem}[data-course-shell=rust] .primary-action,[data-course-shell=rust] .secondary-action{display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:2rem;border:1px solid #454b41;padding:.8rem 1rem;text-decoration:none;font-family:var(--font-code);font-size:.78rem;font-weight:800}[data-course-shell=rust] .primary-action{min-width:min(100%,260px);border-color:var(--signal);background:var(--signal);color:var(--night)}[data-course-shell=rust] .primary-action span{font-size:1.1rem}[data-course-shell=rust] .secondary-action{color:#d6d9d0}[data-course-shell=rust] .primary-action:hover,[data-course-shell=rust] .secondary-action:hover{transform:translateY(-2px)}[data-course-shell=rust] .hero-readout{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;border-left:1px solid #343831;background:rgb(20 23 19/78%);padding:2rem}[data-course-shell=rust] .hero-readout>p{margin:0 0 1.5rem;color:#777f72;font-family:var(--font-code);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}[data-course-shell=rust] .hero-readout dl{margin:0}[data-course-shell=rust] .hero-readout dl>div{display:grid;grid-template-columns:4.5rem 1fr;align-items:baseline;border-top:1px solid #343831;padding:1rem 0}[data-course-shell=rust] .hero-readout dt{color:var(--signal);font-family:var(--font-code);font-size:1.65rem;font-weight:500}[data-course-shell=rust] .hero-readout dd{margin:0;color:#a6aca0;font-size:.76rem}[data-course-shell=rust] .readout-line{display:flex;align-items:center;gap:.7rem;margin-top:2rem;color:#777f72;font-family:var(--font-code);font-size:.62rem}[data-course-shell=rust] .readout-line i{position:relative;flex:1;height:1px;background:#4d5349}[data-course-shell=rust] .readout-line i:after{position:absolute;top:-3px;right:0;width:7px;height:7px;border-radius:50%;background:var(--rust);box-shadow:0 0 12px var(--rust);content:""}[data-course-shell=rust] .boundary-section,[data-course-shell=rust] .glossary-section,[data-course-shell=rust] .pipeline-section,[data-course-shell=rust] .sources-section{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,6rem)}[data-course-shell=rust] .pipeline-section{border-bottom:1px solid var(--line);background:var(--paper-deep)}[data-course-shell=rust] .section-heading{display:grid;max-width:1440px;grid-template-columns:minmax(160px,.32fr) minmax(0,1fr);gap:2rem;margin:0 auto 3rem}[data-course-shell=rust] .section-heading h2{max-width:900px;margin:0;font-size:clamp(2rem,4vw,4.2rem);letter-spacing:-.055em;line-height:1.03;word-break:keep-all}[data-course-shell=rust] .section-heading>div>p{max-width:740px;margin:1rem 0 0;color:var(--ink-soft);font-size:1rem}[data-course-shell=rust] .pipeline{display:grid;max-width:1440px;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 auto;padding:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink);list-style:none}[data-course-shell=rust] .pipeline li{position:relative;min-height:260px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1rem}[data-course-shell=rust] .pipeline li:after{position:absolute;z-index:1;top:50%;right:-8px;width:14px;height:14px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);background:var(--paper-deep);content:"";transform:rotate(45deg)}[data-course-shell=rust] .pipeline li:last-child:after{display:none}[data-course-shell=rust] .pipeline-index{display:block;margin-bottom:2.8rem;color:var(--rust);font-family:var(--font-code);font-size:.65rem}[data-course-shell=rust] .pipeline strong{display:block;min-height:3.1rem;font-size:.95rem;line-height:1.25}[data-course-shell=rust] .pipeline p{color:var(--ink-soft);font-size:.78rem;line-height:1.45}[data-course-shell=rust] .pipeline small{position:absolute;right:1rem;bottom:1rem;left:1rem;color:#6a6e65;font-family:var(--font-code);font-size:.61rem;line-height:1.35}[data-course-shell=rust] .pipeline small span{color:var(--rust)}[data-course-shell=rust] .guide-shell{display:grid;grid-template-columns:minmax(250px,24vw) minmax(0,1fr);border-bottom:1px solid var(--line)}[data-course-shell=rust] .toc{position:relative;border-right:1px solid var(--line);background:#e9e8df}[data-course-shell=rust] .toc-sticky{position:sticky;top:64px;max-height:calc(100svh - 64px);overflow-y:auto;padding:2rem clamp(1rem,2.5vw,2.5rem)}[data-course-shell=rust] .toc h2{margin:.5rem 0;font-size:1.7rem;letter-spacing:-.04em}[data-course-shell=rust] .toc-hint{margin:0 0 1.5rem;color:var(--ink-soft);font-size:.76rem}[data-course-shell=rust] .toc ol{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}[data-course-shell=rust] .toc li{border-bottom:1px solid var(--line)}[data-course-shell=rust] .toc a{display:grid;min-height:50px;grid-template-columns:3rem 1fr;align-items:center;gap:.5rem;text-decoration:none;font-size:.78rem;line-height:1.3}[data-course-shell=rust] .toc a span:first-child{color:var(--rust);font-family:var(--font-code);font-size:.68rem;font-weight:800}[data-course-shell=rust] .toc a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}[data-course-shell=rust] .score-readout{display:flex;align-items:baseline;justify-content:space-between;margin-top:2rem;border:1px solid var(--ink);padding:.8rem;font-family:var(--font-code);font-size:.68rem}[data-course-shell=rust] .score-readout strong{color:var(--rust);font-size:1.1rem}[data-course-shell=rust] .modules{min-width:0;padding:clamp(2rem,5vw,5rem)}[data-course-shell=rust] .module-card{position:relative;scroll-margin-top:82px;border:1px solid var(--line);background:#f8f7f0}[data-course-shell=rust] .module-card+.module-card{margin-top:1rem}[data-course-shell=rust] .module-card:target{border-color:var(--ink);box-shadow:6px 6px 0 var(--signal)}[data-course-shell=rust] .module-accent{position:absolute;top:-1px;left:-1px;width:6px;height:calc(100% + 2px);background:transparent}[data-course-shell=rust] .module-card.is-open .module-accent{background:var(--rust)}[data-course-shell=rust] .module-header{display:grid;min-height:164px;grid-template-columns:minmax(100px,.22fr) minmax(0,1fr) auto;align-items:center;gap:2rem;padding:1.75rem 2rem}[data-course-shell=rust] .module-code{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}[data-course-shell=rust] .module-code>span{color:var(--rust);font-family:var(--font-code);font-size:1.35rem;font-weight:800}[data-course-shell=rust] .module-code small{padding-right:1rem;color:var(--ink-soft);font-family:var(--font-code);font-size:.6rem;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}[data-course-shell=rust] .module-heading-copy h2{margin:0 0 .55rem;font-size:clamp(1.45rem,2.5vw,2.5rem);letter-spacing:-.045em;line-height:1.08}[data-course-shell=rust] .module-heading-copy p{max-width:760px;margin:0;color:var(--ink-soft);font-size:.88rem;line-height:1.5}[data-course-shell=rust] .module-toggle{display:flex;min-width:126px;min-height:48px;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--ink);background:transparent;padding:.55rem .75rem;color:var(--ink);cursor:pointer;font-family:var(--font-code);font-size:.65rem;font-weight:800}[data-course-shell=rust] .module-toggle:hover,[data-course-shell=rust] .module-toggle[aria-expanded=true]{background:var(--ink);color:var(--paper)}[data-course-shell=rust] .module-toggle b{font-size:1.2rem;font-weight:400}[data-course-shell=rust] .module-content{border-top:1px solid var(--ink);padding:clamp(1.25rem,4vw,3.5rem)}[data-course-shell=rust] .module-intro{display:grid;grid-template-columns:minmax(130px,.24fr) minmax(0,1fr);gap:1.5rem;border-bottom:1px solid var(--line);padding-bottom:2.5rem}[data-course-shell=rust] .module-intro h3{max-width:900px;margin:0;font-size:clamp(1.35rem,2.6vw,2.45rem);font-weight:570;letter-spacing:-.04em;line-height:1.25}[data-course-shell=rust] .stage-section{margin:2.5rem 0 3.5rem}[data-course-shell=rust] .stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:.8rem 0 0;padding:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink);list-style:none}[data-course-shell=rust] .stage-grid li{min-height:170px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:.9rem}[data-course-shell=rust] .stage-grid li>span{display:block;color:var(--rust);font-family:var(--font-code);font-size:.65rem}[data-course-shell=rust] .stage-grid strong{display:block;margin-top:1.8rem;font-family:var(--font-code);font-size:.7rem;letter-spacing:.08em}[data-course-shell=rust] .stage-grid p{margin:.6rem 0 0;color:var(--ink-soft);font-size:.72rem;line-height:1.45}[data-course-shell=rust] .section-stack{border-top:1px solid var(--line)}[data-course-shell=rust] .deep-section{padding:2.25rem 0;border-bottom:1px solid var(--line)}[data-course-shell=rust] .deep-section>header{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:start;gap:1rem}[data-course-shell=rust] .section-count{color:var(--rust);font-family:var(--font-code);font-size:.65rem;padding-top:.3rem}[data-course-shell=rust] .deep-section h3{margin:0;font-size:1.18rem;letter-spacing:-.025em}[data-course-shell=rust] .evidence-tag{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;min-height:23px;border:1px solid;border-radius:99px;padding:.15rem .5rem;font-family:var(--font-code);font-size:.55rem;font-weight:800;letter-spacing:.045em;white-space:nowrap}[data-course-shell=rust] .evidence-tag.spec{color:#35699a}[data-course-shell=rust] .evidence-tag.verified{color:#39734f}[data-course-shell=rust] .evidence-tag.practice{color:#86611e}[data-course-shell=rust] .evidence-tag.policy{color:#7b5497}[data-course-shell=rust] .section-body{max-width:870px;margin:1rem 0 0 3.5rem;color:#373b34;font-size:.96rem;line-height:1.78;white-space:pre-line}[data-course-shell=rust] .code-block{max-width:1000px;margin:1.5rem 0 0 3.5rem;overflow:hidden;border:1px solid #2a2e28;background:var(--night);color:#e9ece4}[data-course-shell=rust] .code-block>div{display:flex;justify-content:space-between;border-bottom:1px solid #343831;padding:.55rem .8rem;color:#7d8678;font-family:var(--font-code);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=rust] .code-block>div span:last-child{color:var(--signal)}[data-course-shell=rust] pre{max-width:100%;overflow-x:auto;-moz-tab-size:2;-o-tab-size:2;tab-size:2}[data-course-shell=rust] .code-block pre{margin:0;padding:1.1rem;font-family:var(--font-code);font-size:.75rem;line-height:1.65}[data-course-shell=rust] .trace-block{display:grid;max-width:1000px;grid-template-columns:minmax(90px,.18fr) 1fr;gap:1rem;margin:1.5rem 0 0 3.5rem;border:1px dashed #999b92;padding:1rem}[data-course-shell=rust] .trace-block>strong{font-family:var(--font-code);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=rust] .trace-block ol{margin:0;padding:0;list-style:none}[data-course-shell=rust] .trace-block li{display:grid;grid-template-columns:1.8rem 1fr;gap:.5rem;padding:.32rem 0;color:var(--ink-soft);font-family:var(--font-code);font-size:.67rem}[data-course-shell=rust] .trace-block li span{color:var(--rust)}[data-course-shell=rust] .quiz-section{margin-top:3rem;border:1px solid var(--ink);background:var(--paper-deep);padding:clamp(1.25rem,3vw,2.5rem)}[data-course-shell=rust] .quiz-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ink);padding-bottom:1rem}[data-course-shell=rust] .quiz-heading h3{margin:0;font-size:1.5rem}[data-course-shell=rust] .quiz-section fieldset{margin:1.5rem 0 0;border:0;padding:0}[data-course-shell=rust] .quiz-section legend{max-width:900px;padding:0;font-weight:700}[data-course-shell=rust] .quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem}[data-course-shell=rust] .quiz-options label{position:relative;display:flex;min-height:48px;align-items:center;border:1px solid var(--line);background:#f8f7f0;cursor:pointer}[data-course-shell=rust] .quiz-options input{width:1px;height:1px;opacity:0}[data-course-shell=rust] .quiz-options label>span{display:flex;width:100%;min-height:48px;align-items:center;padding:.65rem .8rem;font-size:.78rem}[data-course-shell=rust] .quiz-options input:focus-visible+span{outline:3px solid var(--cyan);outline-offset:2px}[data-course-shell=rust] .quiz-options input:checked+span{background:var(--ink);color:var(--paper)}[data-course-shell=rust] .quiz-correct,[data-course-shell=rust] .quiz-wrong{margin:.8rem 0 0;border-left:4px solid #347e4d;padding:.7rem .9rem;background:#dcebdd;font-size:.8rem}[data-course-shell=rust] .quiz-wrong{border-color:var(--rust);background:#f3dfd5}[data-course-shell=rust] .evidence-section{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,6rem);background:var(--night);color:#eff0e8}[data-course-shell=rust] .section-heading.light .section-number,[data-course-shell=rust] .section-heading.light>div>p{color:#899083}[data-course-shell=rust] .evidence-grid{display:grid;max-width:1440px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;border-top:1px solid #3f443c;border-left:1px solid #3f443c}[data-course-shell=rust] .evidence-grid article{min-height:220px;border-right:1px solid #3f443c;border-bottom:1px solid #3f443c;padding:1.2rem}[data-course-shell=rust] .evidence-grid .evidence-tag.spec{color:#75b8f0}[data-course-shell=rust] .evidence-grid .evidence-tag.verified{color:#79d49b}[data-course-shell=rust] .evidence-grid .evidence-tag.practice{color:#e5bd66}[data-course-shell=rust] .evidence-grid .evidence-tag.policy{color:#c6aaf1}[data-course-shell=rust] .evidence-grid p{margin:3.5rem 0 0;color:#b5baae;font-size:.85rem}[data-course-shell=rust] .boundary-section{border-bottom:1px solid var(--line)}[data-course-shell=rust] .table-scroll{max-width:1440px;margin:0 auto;overflow-x:auto}[data-course-shell=rust] table{width:100%;min-width:820px;border-collapse:collapse;border-top:2px solid var(--ink);font-size:.8rem}[data-course-shell=rust] td,[data-course-shell=rust] th{border-bottom:1px solid var(--line);padding:1.15rem;text-align:left;vertical-align:top}[data-course-shell=rust] thead th{background:var(--paper-deep);font-family:var(--font-code);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}[data-course-shell=rust] tbody th{width:18%;font-size:.9rem}[data-course-shell=rust] tbody td{color:var(--ink-soft);line-height:1.55}[data-course-shell=rust] .glossary-section{background:#e9e8df}[data-course-shell=rust] .glossary-grid{display:grid;max-width:1440px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 auto;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}[data-course-shell=rust] .glossary-grid>div{min-height:170px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1rem}[data-course-shell=rust] .glossary-grid dt{color:var(--rust);font-family:var(--font-code);font-size:.76rem;font-weight:800}[data-course-shell=rust] .glossary-grid dd{margin:2rem 0 0;color:var(--ink-soft);font-size:.8rem}[data-course-shell=rust] .commands-section{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:4rem;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,10rem);background:var(--rust);color:var(--night);scroll-margin-top:64px}[data-course-shell=rust] .commands-section .section-number{color:#542716}[data-course-shell=rust] .commands-section h2{margin:.7rem 0;font-size:clamp(2.3rem,5vw,5rem);letter-spacing:-.06em;line-height:1}[data-course-shell=rust] .commands-section>div>p:last-child{max-width:500px}[data-course-shell=rust] .commands-section pre{margin:0;border:1px solid var(--night);background:var(--night);padding:1.5rem;color:var(--signal);font-family:var(--font-code);font-size:clamp(.62rem,1.1vw,.8rem);line-height:1.8}[data-course-shell=rust] .sources-section{background:var(--paper)}[data-course-shell=rust] .source-list{max-width:1440px;margin:0 auto;padding:0;border-top:2px solid var(--ink);list-style:none}[data-course-shell=rust] .source-list li{display:grid;grid-template-columns:3rem minmax(200px,.7fr) minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--line);padding:1.1rem 0}[data-course-shell=rust] .source-list>li>span{color:var(--rust);font-family:var(--font-code);font-size:.65rem}[data-course-shell=rust] .source-list a{font-weight:750;text-underline-offset:3px}[data-course-shell=rust] .source-list small{display:block;margin-top:.25rem;color:var(--ink-soft);font-family:var(--font-code);font-size:.6rem}[data-course-shell=rust] .source-list p{margin:0;color:var(--ink-soft);font-size:.76rem}[data-course-shell=rust] footer{display:flex;min-height:130px;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #383d35;background:var(--night);padding:2rem clamp(1.25rem,5vw,6rem);color:#adb3a7;font-size:.8rem}[data-course-shell=rust] footer a{color:var(--signal);font-family:var(--font-code);font-size:.7rem;font-weight:800}@media (max-width:1120px){[data-course-shell=rust] .pipeline{grid-template-columns:repeat(4,minmax(0,1fr))}[data-course-shell=rust] .pipeline li:after{display:none}[data-course-shell=rust] .guide-shell{grid-template-columns:220px minmax(0,1fr)}[data-course-shell=rust] .module-header{grid-template-columns:82px minmax(0,1fr)}[data-course-shell=rust] .module-toggle{grid-column:2;width:-moz-fit-content;width:fit-content}[data-course-shell=rust] .stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){[data-course-shell=rust] .site-header{min-height:58px}[data-course-shell=rust] .wordmark{padding:0 .85rem}[data-course-shell=rust] .hero{min-height:auto;grid-template-columns:1fr}[data-course-shell=rust] .hero-copy{min-height:calc(100svh - 58px);padding:4.5rem 1.25rem 3rem}[data-course-shell=rust] .hero h1{font-size:clamp(3.5rem,17vw,6rem)}[data-course-shell=rust] .hero-readout{border-top:1px solid #343831;border-left:0}[data-course-shell=rust] .hero-readout dl{display:grid;grid-template-columns:repeat(3,1fr)}[data-course-shell=rust] .hero-readout dl>div{display:block;border-right:1px solid #343831;padding:1rem}[data-course-shell=rust] .hero-readout dl>div:last-child{border-right:0}[data-course-shell=rust] .hero-readout dd{margin-top:.3rem}[data-course-shell=rust] .section-heading{grid-template-columns:1fr;gap:.7rem}[data-course-shell=rust] .pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=rust] .pipeline li{min-height:230px}[data-course-shell=rust] .guide-shell{display:block}[data-course-shell=rust] .toc{border-right:0;border-bottom:1px solid var(--line)}[data-course-shell=rust] .toc-sticky{position:static;max-height:none}[data-course-shell=rust] .toc nav ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--line)}[data-course-shell=rust] .toc li{border-right:1px solid var(--line);padding:0 .6rem}[data-course-shell=rust] .modules{padding:2rem 1rem 4rem}[data-course-shell=rust] .module-header{display:block;padding:1.4rem 1.2rem}[data-course-shell=rust] .module-code{min-height:auto;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding-bottom:.8rem}[data-course-shell=rust] .module-code small{max-width:62%;padding:0;text-align:right}[data-course-shell=rust] .module-heading-copy{margin:1.4rem 0}[data-course-shell=rust] .module-toggle{width:100%}[data-course-shell=rust] .module-intro{grid-template-columns:1fr}[data-course-shell=rust] .deep-section>header{grid-template-columns:2rem minmax(0,1fr)}[data-course-shell=rust] .deep-section>header .evidence-tag{grid-column:2}[data-course-shell=rust] .code-block,[data-course-shell=rust] .section-body,[data-course-shell=rust] .trace-block{margin-left:0}[data-course-shell=rust] .trace-block{grid-template-columns:1fr}[data-course-shell=rust] .evidence-grid,[data-course-shell=rust] .glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-course-shell=rust] .commands-section{grid-template-columns:1fr;gap:2rem}[data-course-shell=rust] .source-list li{grid-template-columns:2rem 1fr}[data-course-shell=rust] .source-list p{grid-column:2}}@media (max-width:430px){[data-course-shell=rust] .wordmark>span:last-child{display:none}[data-course-shell=rust] .hero-copy{padding-right:1rem;padding-left:1rem}[data-course-shell=rust] .hero h1{font-size:clamp(3.2rem,18vw,4.6rem)}[data-course-shell=rust] .hero-actions,[data-course-shell=rust] .primary-action,[data-course-shell=rust] .secondary-action{width:100%}[data-course-shell=rust] .hero-readout{padding:1rem}[data-course-shell=rust] .hero-readout dl>div{padding:.65rem}[data-course-shell=rust] .hero-readout dt{font-size:1.3rem}[data-course-shell=rust] .pipeline{grid-template-columns:1fr}[data-course-shell=rust] .pipeline li{min-height:190px}[data-course-shell=rust] .pipeline-index{margin-bottom:1.4rem}[data-course-shell=rust] .evidence-grid,[data-course-shell=rust] .glossary-grid,[data-course-shell=rust] .quiz-options,[data-course-shell=rust] .stage-grid,[data-course-shell=rust] .toc nav ol{grid-template-columns:1fr}[data-course-shell=rust] .module-content{padding:1rem}[data-course-shell=rust] .stage-grid li{min-height:145px}[data-course-shell=rust] .deep-section>header{gap:.5rem}[data-course-shell=rust] .code-block pre{font-size:.67rem}[data-course-shell=rust] footer{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){[data-course-shell=rust]{scroll-behavior:auto}[data-course-shell=rust] *,[data-course-shell=rust] :after,[data-course-shell=rust] :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{[data-course-shell=rust] .hero-actions,[data-course-shell=rust] .module-toggle,[data-course-shell=rust] .site-header,[data-course-shell=rust] .toc,[data-course-shell=rust] footer{display:none!important}[data-course-shell=rust] .hero{min-height:auto}[data-course-shell=rust] .guide-shell{display:block}[data-course-shell=rust] .module-content{display:block!important}}