@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2"),url(/assets/caveat-latin-500-normal-Do9veZfZ.woff) format("woff")}:root{color-scheme:light;font-family:IBM Plex Sans,Arial,sans-serif;color:#2b2b2b;background-color:#f3efe3;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-size-adjust:.52;font-size:18px;line-height:1.6;font-weight:400;--paper: #f3efe3;--graphite: #2b2b2b;--pencil: #6b6b6b;--blue: #1d3fb8;--red: #c62828;--line: #8fb0c4;--minor: #bfd3de;--mono: "IBM Plex Mono", Consolas, monospace;--hand: "Caveat", "Comic Sans MS", cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;min-width:320px;color:var(--graphite);background-color:var(--paper);background-image:linear-gradient(to right,rgba(191,211,222,.55) 1px,transparent 1px),linear-gradient(to bottom,rgba(191,211,222,.55) 1px,transparent 1px),linear-gradient(to right,rgba(143,176,196,.5) 1px,transparent 1px),linear-gradient(to bottom,rgba(143,176,196,.5) 1px,transparent 1px),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");background-size:24px 24px,24px 24px,120px 120px,120px 120px,180px 180px;background-attachment:local}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.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}.handwriting{font-family:var(--hand);font-size:24px;font-weight:500;line-height:1.15}.plain-skip{position:fixed;z-index:20;top:12px;left:max(16px,calc(50% - 520px));padding:4px 9px;border:1px solid rgba(43,43,43,.55);background:var(--paper);font:12px/1.4 var(--mono);text-decoration:none}.notebook{position:relative;width:min(820px,calc(100% - 240px));margin:0 auto 0 max(8.5vw,calc((100vw - 1060px)/2));padding:68px 56px 90px 68px;min-height:100vh}.notebook:before{position:absolute;content:"";top:0;bottom:0;left:72px;width:1px;background:#c6282873;pointer-events:none}.notebook:after{position:absolute;content:"";top:90px;left:17px;width:22px;height:200px;background:radial-gradient(circle at 50% 12px,#d8d1c1 0 8px,rgba(43,43,43,.16) 8.5px 9px,transparent 10px),radial-gradient(circle at 50% 100px,#d8d1c1 0 8px,rgba(43,43,43,.16) 8.5px 9px,transparent 10px),radial-gradient(circle at 50% 188px,#d8d1c1 0 8px,rgba(43,43,43,.16) 8.5px 9px,transparent 10px);pointer-events:none}.page-section{position:relative;scroll-margin-top:42px}.cover{min-height:585px;padding:38px 34px 66px 84px}.cover-label{position:relative;padding:22px 24px 20px;border:1px solid rgba(43,43,43,.45);background:#f3efe3e0;box-shadow:0 1px 1px #0000002e}.cover-label:before,.cover-label:after{position:absolute;content:"";width:58px;height:17px;background:#f0e6b8cc;clip-path:polygon(0 0,100% 0,96% 100%,3% 91%)}.cover-label:before{top:-8px;left:25%;transform:rotate(var(--tape-a, -1deg))}.cover-label:after{bottom:-7px;right:13%;transform:rotate(var(--tape-b, 2deg))}.cover-fields{display:grid;gap:8px}.cover-field{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:12px}.cover-field-label{color:#555;font:12px/1.5 var(--mono);letter-spacing:.1em}.cover-value{position:relative;display:block;min-width:0;min-height:30px;overflow:hidden}.cover-value-print{position:relative;z-index:1;color:var(--blue);font:500 18px/1.5 IBM Plex Sans,Arial,sans-serif;overflow-wrap:anywhere}.hero-intro{max-width:665px;margin:23px 0 17px;font-size:22px;line-height:1.45}.role-strips{display:flex;flex-wrap:wrap;gap:10px}.label-tape{display:inline-block;position:relative;padding:5px 10px 6px;color:#fff;background:#1b1b1b;border-radius:2px 2px 0;font:600 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff7a,0 1px 1px #0000002e;clip-path:polygon(0 0,100% 0,100% 84%,94% 100%,0 100%)}.margin-note-wrap{display:flex;align-items:center;gap:3px;margin:13px 0 3px 6px}.margin-arrow{width:58px;height:20px;overflow:visible}.margin-arrow path{fill:none;stroke:var(--blue);stroke-width:1.5}.margin-note{color:var(--blue);font-size:22px;transform:rotate(var(--note-rotation, -1deg))}.open-to{margin:8px 0;font:13px/1.5 var(--mono)}.open-to span{font-weight:600}.uart-egg{position:absolute;right:-138px;top:300px;display:grid;justify-items:center;width:132px;padding:0;border:0;color:var(--graphite);background:transparent;cursor:pointer}.uart-egg svg{width:110px;height:82px;fill:none;stroke:#2b2b2b;stroke-width:1.5}.uart-label{margin-top:-4px;font:10px/1.5 var(--mono)}.uart-note{margin-top:3px;color:var(--blue);font-size:22px;transform:rotate(var(--note-rotation, -2deg))}.index-tabs{position:fixed;z-index:10;top:27%;right:0;display:flex;flex-direction:column;gap:5px;align-items:flex-end}.index-tab{display:flex;align-items:center;justify-content:flex-start;width:112px;min-height:42px;padding:7px 7px 7px 13px;border:1px solid rgba(43,43,43,.38);border-right:0;border-radius:4px 0 0 4px;box-shadow:0 1px 1px #0000002e;font:500 12px/1.3 var(--mono);text-transform:uppercase;text-decoration:none;transition:width .16s ease}.index-tab:hover,.index-tab.is-active{width:124px}.index-tab.is-active{font-weight:600}.tab-kraft{background:#e6d9b8}.tab-clay{background:#d8b4a0}.tab-sage{background:#a9c1b4}.tab-slate{background:#b7bfd6}.tab-mustard{background:#e3c46b}.page-section:not(.cover){padding:33px 20px 42px 84px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:100px;margin-bottom:12px}.section-number{position:relative;isolation:isolate;color:var(--pencil);font:12px/1.5 var(--mono);letter-spacing:.12em}.section-number:after{position:absolute;z-index:-1;right:-4px;bottom:2px;left:-3px;height:7px;content:"";background:#ffe45c;opacity:.6;mix-blend-mode:multiply;transform:rotate(var(--highlight-angle, 0deg))}.section-heading h2{margin:1px 0 0;font-size:40px;line-height:1.15;font-weight:600}.sticker-wrap{--sticker-rotation: 0deg;position:relative;display:inline-flex;flex:0 0 auto;width:84px;height:72px;align-items:center;justify-content:center;transform:rotate(var(--sticker-rotation));transition:transform .2s ease}.component-sticker{width:76px;height:60px;padding:4px;overflow:visible;border:6px solid white;border-radius:12px;background:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}.component-sticker>path,.component-sticker>circle{stroke:#2b2b2b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.component-sticker .sticker-back{fill:#f7f7f2;stroke:#2b2b2b;stroke-width:1.5}.component-sticker .sticker-back+path{fill:none}.component-sticker .sticker-gloss{fill:none;stroke:#ffffff8c;stroke-width:3}.component-sticker--esp32 .sticker-back{fill:#c7d9c6}.component-sticker--timer .sticker-back,.component-sticker--adapter .sticker-back{fill:#e5e0d5}.component-sticker--analyzer .sticker-back{fill:#e9d9ae}.component-sticker--timer .timer-chip{fill:#596b80;stroke:#2b2b2b;stroke-width:1.8}.sticker-note{position:absolute;z-index:2;top:-28px;left:10px;display:none;color:var(--blue);font-size:22px;white-space:nowrap}.sticker-wrap:hover,.sticker-wrap:focus-within{transform:rotate(0) translateY(-3px)}.sticker-wrap:hover .sticker-note,.sticker-wrap:focus-within .sticker-note{display:block}.sticker-peel{position:absolute;right:4px;bottom:7px;width:14px;height:14px;background:linear-gradient(135deg,transparent 48%,#d4d0c8 49%);transition:transform .2s ease}.sticker-wrap:hover .sticker-peel{transform:translate(6px,-6px)}.about-copy{position:relative;min-height:150px;padding-right:220px}.about-copy p{margin:0}.education-note{position:absolute;top:-12px;right:-2px;width:195px;min-height:112px;padding:15px 13px 12px;background:#ffe98a;transform:rotate(var(--note-rotation, 2deg));box-shadow:0 1px 1px #0000002e,0 3px 6px #0000001a}.education-note:before{position:absolute;content:"";top:-9px;left:50%;width:56px;height:17px;background:#f0e6b8cc;transform:translate(-50%) rotate(var(--tape-rotation, -1deg));clip-path:polygon(0 0,100% 0,96% 100%,3% 91%)}.education-note>span{font:11px/1.4 var(--mono);text-transform:uppercase}.education-note p{margin:5px 0;font-size:14px;line-height:1.4}.section-intro{margin:-3px 0 15px;font:13px/1.5 var(--mono)}.experiment-list{margin:0}.experiment{position:relative;padding:17px 0 30px;margin-bottom:3px;border-bottom:0}.experiment:after{position:absolute;right:-3px;bottom:0;left:-4px;height:8px;content:"";background:linear-gradient(135deg,transparent 0 12%,var(--line) 13% 14%,transparent 15% 26%,var(--line) 27% 28%,transparent 29% 41%,var(--line) 42% 43%,transparent 44% 57%,var(--line) 58% 59%,transparent 60% 74%,var(--line) 75% 76%,transparent 77%);opacity:.7}.experiment-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.experiment-header h3{margin:0 0 8px;font:500 15px/1.5 var(--mono)}.completed-stamp{border:2px solid var(--red);color:var(--red);padding:1px 5px;font:600 11px/1.35 var(--mono);transform:rotate(-4deg)}.experiment-lines{margin:0}.experiment-line{display:grid;grid-template-columns:112px minmax(0,1fr);gap:9px;margin:2px 0;font-size:18px;line-height:1.45}.experiment-line dt{color:var(--pencil);font-weight:500}.experiment-line dd{margin:0}.experiment-note{display:block;margin:12px 5px 0 0;color:var(--blue);font-size:22px;text-align:right;transform:rotate(var(--note-rotation, -1deg))}.subheading{margin:18px 0 3px;font:500 14px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}.rough-scene{width:100%;margin:7px 0}.rough-scene svg{display:block;width:100%;height:auto;overflow:visible}.rough-scene--topology{max-width:690px}.rough-scene--tallies{max-width:480px}.rough-scene path{transition:stroke-dashoffset .9s ease-out}.rough-scene path.drawn{stroke-dashoffset:0!important}.diagram-label{fill:var(--graphite);font:12px var(--mono);text-anchor:middle}.diagram-agent{fill:var(--pencil);font:10px var(--mono)}.tally-label{fill:var(--blue);font:22px var(--hand)}.diagram-caption{margin:0;color:var(--pencil);font:12px/1.5 var(--mono)}.parts-bin{margin-top:27px}.parts-bin>h3{margin:0 0 13px;font-size:28px;line-height:1.25;font-weight:500}.parts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(43,43,43,.35);border-left:1px solid rgba(43,43,43,.35)}.part-compartment{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-right:1px solid rgba(43,43,43,.35);border-bottom:1px solid rgba(43,43,43,.35)}.part-compartment .sticker-wrap{width:64px;height:56px}.part-compartment .component-sticker{width:62px;height:50px;border-width:5px}.part-compartment .label-tape{max-width:calc(100% - 66px);text-align:center;font-size:10px}.field-log{min-height:160px}.sample-banner{padding:8px 10px;border-left:3px solid var(--red);color:var(--red);font:500 13px/1.5 var(--mono)}.log-error{padding:8px 10px;border-left:3px solid var(--red);color:#8f1e1e;font-size:14px}.log-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:12px 0}.log-summary .handwriting{color:var(--blue)}.log-summary>span:last-child{color:var(--pencil);font:11px/1.5 var(--mono);text-align:right}.contact-slip{position:relative;padding:18px 17px 25px;background:#f3efe3c2;box-shadow:0 1px 1px #0000002e}.contact-slip:after{position:absolute;right:0;bottom:-6px;left:0;height:7px;content:"";background:radial-gradient(circle at 6px 0,transparent 5px,var(--paper) 5.5px) 0 0 / 12px 12px repeat-x}.tear-line{position:relative;margin:-9px 0 15px;border-top:1px dashed rgba(43,43,43,.65);text-align:center}.tear-line span{position:relative;top:-12px;padding:0 8px;background:var(--paper);font:11px/1.5 var(--mono);text-transform:uppercase}.contact-email-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.email-label{color:var(--pencil);font:12px/1.4 var(--mono)}.contact-email{font:22px/1.4 var(--mono);overflow-wrap:anywhere}.copy-button,.text-button{padding:6px 9px;border:1px solid rgba(43,43,43,.65);border-radius:0;color:var(--graphite);background:transparent;font:12px/1.4 var(--mono);cursor:pointer}.copy-button:hover,.text-button:hover{background:#1d3fb814}.copy-message{min-height:1.3em;margin:4px 0 7px;color:var(--pencil);font-size:13px}.contact-links{display:flex;flex-wrap:wrap;gap:12px 20px}.contact-link{font:13px/1.6 var(--mono);color:var(--blue)}.notebook-footer{padding:25px 18px 10px 84px;color:var(--pencil);font:12px/1.5 var(--mono)}.serial-dialog{position:fixed;top:50%;left:50%;width:min(660px,calc(100vw - 30px));max-width:660px;max-height:min(80vh,560px);margin:0;padding:0;border:1px solid rgba(43,43,43,.3);background:transparent;box-shadow:0 3px 6px #0000001a;transform:translate(-50%,-50%)}.serial-dialog::backdrop{background:#2b2b2b59}.serial-paper{position:relative;padding:20px 24px 28px;color:#202020;background-color:#f6f6ef;background-image:radial-gradient(circle,rgba(43,43,43,.17) 1.35px,transparent 1.9px);background-size:12px 12px;background-position:-6px 0}.serial-paper:before,.serial-paper:after{position:absolute;content:"";top:0;bottom:0;width:12px;background:#edede6}.serial-paper:before{left:0}.serial-paper:after{right:0}.serial-topline,.serial-form{position:relative;z-index:1;display:flex;align-items:center;gap:8px}.serial-topline{justify-content:space-between;border-bottom:1px dashed rgba(43,43,43,.45)}.serial-topline h2{margin:0 0 8px;font:600 16px/1.4 var(--mono);letter-spacing:.035em;text-transform:uppercase}.serial-output{position:relative;z-index:1;max-height:min(55vh,420px);overflow-y:auto;padding:12px 8px;font:15px/1.75 var(--mono);overflow-wrap:anywhere}.serial-line{margin:0 0 10px;white-space:pre-wrap}.serial-form input{min-width:0;flex:1;border:0;outline:0;padding:0;color:inherit;background:transparent;font:inherit}.serial-cursor{animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.print-summary{display:none}@media(max-width:1100px){.notebook{width:min(820px,calc(100% - 165px));margin-left:5vw;padding-right:38px}.uart-egg{right:-93px}}@media(max-width:900px){.notebook{width:min(820px,100%);margin:0 auto;padding:58px 24px 90px 36px}.notebook:before{left:23px}.notebook:after{display:none}.cover{padding:38px 14px 55px 42px}.page-section:not(.cover){padding:30px 10px 37px 42px}.uart-egg{top:auto;right:4px;bottom:1px;width:115px}.uart-egg svg{width:90px;height:64px}.uart-label{font-size:9px}.uart-note{font-size:22px}.index-tabs{top:auto;right:0;bottom:0;left:0;flex-direction:row;align-items:stretch;gap:0;overflow-x:auto;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:#f3efe3f5;border-top:1px solid rgba(43,43,43,.25)}.index-tabs{scrollbar-width:none}.index-tabs::-webkit-scrollbar{display:none}.index-tab,.index-tab:hover,.index-tab.is-active{flex:0 0 auto;justify-content:center;width:auto;min-width:76px;min-height:48px;border:1px solid rgba(43,43,43,.35);border-radius:0;padding:7px 10px}.index-tab.is-active{transform:translateY(-3px)}.notebook-footer{padding-left:42px}}@media(max-width:600px){:root{font-size:18px}.plain-skip{top:7px;left:10px}.notebook{padding:50px 15px 95px 20px}.notebook:before{left:12px}.cover{min-height:0;padding:48px 3px 102px 21px}.cover-label{padding:17px 14px 15px}.cover-field{grid-template-columns:63px minmax(0,1fr);gap:8px}.cover-field>span{font-size:10px}.cover-value-print{font-size:16px}.hero-intro{margin:18px 0 15px;font-size:20px;line-height:1.45}.role-strips{gap:7px}.label-tape{padding:4px 7px;font-size:10px;letter-spacing:.1em}.margin-note-wrap{margin-left:0}.margin-arrow{width:35px}.margin-note{font-size:22px}.open-to{max-width:310px;font-size:11px}.uart-egg{right:0;bottom:0;width:110px}.page-section:not(.cover){padding:26px 3px 33px 21px}.section-heading{min-height:79px}.section-heading h2{font-size:34px}.section-number{font-size:11px}.section-heading>.sticker-wrap{width:68px;height:60px}.section-heading .component-sticker{width:62px;height:52px;border-width:5px}.about-copy{padding:0}.education-note{position:relative;top:auto;right:auto;width:min(100%,260px);margin:20px 0 12px auto}.experiment-line{grid-template-columns:94px minmax(0,1fr);gap:5px;font-size:17px}.experiment-header h3{font-size:13px}.experiment-note{right:3px;font-size:22px}.parts-grid{grid-template-columns:1fr}.part-compartment{min-height:88px}.log-summary{align-items:flex-start;flex-direction:column}.log-summary>span:last-child{text-align:left}.contact-slip{padding-right:10px;padding-left:10px}.contact-email{font-size:20px}.notebook-footer{padding:18px 6px 8px 21px;font-size:11px}}@media(max-width:390px){.cover-field{grid-template-columns:54px minmax(0,1fr);gap:6px}.cover-value-print{font-size:15px}.hero-intro{font-size:18px}.role-strips{max-width:290px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rough-scene path{stroke-dashoffset:0!important}}@media print{@page{margin:14mm}body{color:#111;background:#fff!important;background-image:none!important;font:11pt/1.45 Arial,Helvetica,sans-serif}.plain-skip,.index-tabs,.notebook,.serial-dialog{display:none!important}.print-summary{display:block!important;max-width:none}.print-summary h1{font-size:24pt}.print-summary h2{margin:1rem 0 .35rem;font-size:15pt}.print-summary p,.print-summary li{font-size:10pt}.print-summary a:after{content:" (" attr(href) ")"}}.cover{display:grid;place-items:center;min-height:min(690px,88vh);padding:74px 24px 48px}.cover-paper{position:relative;width:min(760px,100%);padding:clamp(24px,5vw,54px);border:1px solid rgba(43,43,43,.45);background:#f3efe3f0;box-shadow:0 2px 4px #00000024;transform:rotate(-.4deg)}.cover-paper:before,.cover-paper:after{position:absolute;width:72px;height:18px;content:"";background:#f0e6b8cc;clip-path:polygon(0 0,100% 0,96% 100%,3% 91%)}.cover-paper:before{top:-8px;left:20%;transform:rotate(-2deg)}.cover-paper:after{right:14%;bottom:-7px;transform:rotate(2deg)}.cover-kicker,.section-number,.experiment-number{font:12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.cover-kicker{margin:0 0 7px;color:var(--pencil)}.cover-paper h1{margin:0;font-size:clamp(42px,8vw,72px);line-height:1.08;overflow-wrap:anywhere}.cover-subject{margin:10px 0 14px;color:var(--blue);font:500 clamp(20px,3vw,27px)/1.3 var(--hand)}.cover-intro{max-width:650px;margin:0 0 14px;font-size:19px;line-height:1.55}.cover-roles{margin:0 0 15px;font:600 13px/1.7 var(--mono)}.cover-meta{display:flex;flex-wrap:wrap;gap:5px 18px;font:12px/1.7 var(--mono)}.cover-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:18px}.plain-link,.serial-open,.copy-button{color:var(--blue);font:500 12px/1.5 var(--mono)}.serial-open{padding:5px 9px;border:1px solid rgba(43,43,43,.55);background:transparent;cursor:pointer}.index-tabs{top:24%}.index-tab--kraft{background:#e6d9b8}.index-tab--clay{background:#d8b4a0}.index-tab--sage{background:#a9c1b4}.index-tab--slate{background:#b7bfd6}.index-tab--mustard{background:#e3c46b}.tab-number{margin-right:7px;font-size:10px;opacity:.7}.notebook{width:min(920px,calc(100% - 150px));margin:0 auto;padding:38px clamp(20px,6vw,72px) 65px}.notebook:before{left:25px}.notebook:after{left:-30px}.notebook-section{position:relative;scroll-margin-top:24px;padding:28px 0 46px;border-bottom:1px dashed rgba(43,43,43,.38)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{margin:0;font-size:clamp(32px,5vw,42px);line-height:1.15}.section-heading .sticker-wrap{width:84px;height:72px}.section-number{margin:0 0 7px;color:var(--pencil)}.section-intro{margin:0 0 18px;color:var(--pencil);font:13px/1.5 var(--mono)}.about-grid,.credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.paper-card,.experiment-card,.contact-card{min-width:0;padding:16px;border:1px solid rgba(43,43,43,.32);background:#f3efe3cc;box-shadow:0 1px 1px #00000014}.paper-card h3,.experiment-card h3{margin:0 0 10px;font-size:20px;line-height:1.3}.paper-card p,.experiment-card p{margin:5px 0;overflow-wrap:anywhere}.fact-row{display:grid;gap:3px;margin:12px 0}.fact-row span,.cert-list span{color:var(--pencil)}.experiment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.experiment-card{min-height:145px}.experiment-number{margin:0 0 5px;color:var(--pencil);font-size:10px}.experiment-card--complete{border-left:4px solid var(--red)}.lab-heading{display:grid;grid-template-columns:1fr minmax(220px,1fr);align-items:start;gap:22px}.lab-heading h3{margin:0 0 5px;font-size:23px;line-height:1.25}.lab-heading p{margin:6px 0}.lab-status{padding:10px;border-left:3px solid var(--blue);font-size:14px}.rough-scene{width:100%;margin:18px 0 8px}.rough-scene--topology{max-width:900px}.rough-scene--tallies{max-width:510px}.rough-scene svg{width:100%;height:auto}.diagram-zone{fill:var(--graphite);font:12px var(--mono);text-anchor:start}.diagram-domain{fill:var(--pencil);font:10px var(--mono);text-anchor:start}.diagram-node,.diagram-host{fill:var(--graphite);font:12px var(--mono);text-anchor:middle}.diagram-host{font-weight:600}.diagram-host-detail{fill:var(--pencil);font:8px var(--mono);text-anchor:middle}.diagram-note{fill:var(--blue);font:10px var(--hand);text-anchor:middle}.tally-label{fill:var(--blue);font:20px var(--hand)}.scene-caption{margin:0 0 18px;color:var(--pencil);font:12px/1.55 var(--mono)}.topology-mobile{display:none}.lab-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;padding-left:20px}.credentials-grid{margin-top:25px}.parts-list,.cert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:0;padding-left:19px}.cert-list li{padding-left:2px}.cert-list span{display:block;font-size:13px}.log-warning,.log-error{padding:9px 12px;border-left:3px solid var(--red);color:#8f1e1e;font:500 13px/1.5 var(--mono)}.log-description{font:13px/1.5 var(--mono)}.log-updated{color:var(--pencil);font:11px/1.5 var(--mono)}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-card{display:grid;align-content:start;gap:5px;text-decoration:none}.contact-card span{color:var(--pencil);font:11px/1.5 var(--mono);text-transform:uppercase}.contact-card strong,.contact-card a{color:var(--blue);font:13px/1.55 var(--mono);overflow-wrap:anywhere}.copy-button{justify-self:start;padding:4px 8px;border:1px solid rgba(43,43,43,.5);background:transparent;cursor:pointer}.notebook-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 0 4px}.notebook-footer p{margin:0}@media(max-width:700px){.cover{min-height:auto;padding:82px 18px 36px}.cover-paper{padding:25px 20px}.cover-intro{font-size:17px}.index-tabs{position:sticky;top:0;z-index:10;flex-direction:row;align-items:stretch;gap:0;width:100%;overflow-x:auto;border-bottom:1px solid rgba(43,43,43,.3)}.index-tab,.index-tab:hover,.index-tab.is-active{flex:1 0 auto;justify-content:center;width:auto;min-height:43px;border:0;border-radius:0;box-shadow:none;font-size:10px}.tab-number{margin-right:4px}.notebook{width:100%;margin:0;padding:16px 22px 45px 46px}.notebook:before{left:29px}.notebook:after{display:none}.notebook-section{padding:27px 0 36px}.about-grid,.experiment-list,.credentials-grid,.contact-grid,.lab-heading,.lab-facts{grid-template-columns:1fr}.rough-scene--topology svg{display:none}.topology-mobile{display:block;padding:13px;border:1px solid rgba(43,43,43,.3);background:#f3efe3db}.topology-mobile h3{margin:0 0 7px;font:600 12px/1.5 var(--mono);overflow-wrap:anywhere}.topology-mobile ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.topology-mobile li{display:grid;grid-template-columns:minmax(85px,.65fr) minmax(0,1fr);gap:2px 10px;padding:7px 0;border-top:1px dashed rgba(43,43,43,.28)}.topology-mobile li strong{grid-row:span 2;font:600 12px/1.45 var(--mono);overflow-wrap:anywhere}.topology-mobile li span{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.parts-list,.cert-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.rough-scene path{stroke-dashoffset:0!important;transition:none!important}}
